Ⅰ.什么是串行通信?
一次只能傳輸一行數據,使用串行通信一次只能傳輸一位。一個字節必須傳輸八次才能被接收。串行通信是指通過單根導線傳輸數據字符串,這就是它被稱為串行端口的原因。
在速率要求不高的情況下,通過單線發送數據是極其方便實用的。
異步串行通信需要以下所示的格式,以便以正常方式發送和接收正確的數據。
圖1
串口的通信參數中有多種參數,包括波特率、起始位、 數據位、奇偶校驗位和停止位。
二.232485422通訊有什么區別?
串口通訊主要分為232、485、422三種通訊方式,這三種有什么區別呢?
01232 通訊
圖2
RX、TX、 GND 是構成232通信的三根線。TX 連接到 RX,RX 連接到 TX, GND 連接到 GND,在這種情況下,發送和接收由單獨的線路處理,允許同時傳輸和接收數據,這種技術稱為全雙工通信。
詳細來說,全功能串行通信也稱為標準串口,是串行通信的另一個功能。由于兩個設備之間的數據流,某些設備處理數據的速度比其他設備更快。在RX和TX的基礎上增加了幾個控制引腳,以保證數據的正常傳輸,最后增加了9個引腳,即常見的DB9,如下圖所示。
圖3
現在很多控制器、人機界面、PLC等設備都不再使用傳統的串口進行串行通信,而是使用RX、TX、 GND三根線。
02485 通訊
圖4
485是為了解決232通訊距離短的問題而誕生的。
+和 - 兩條線,通常稱為 A 和 B 線,是 485 通信所需的全部。作為數據信號,傳送兩條線路A和B的差分電平信號。由于這兩根線同時用于發送和接收,因此它們一次只能用于其中一種功能。因此,485 是一種半雙工通信模式。
這就是232全雙工如何犧牲效率來實現其遠傳輸距離的代價。
03422 通訊
422的出現是為了實現232的全雙工通信方式,同時也將傳輸距離增加到485。422也稱為485-4,而485則稱為485-2。下圖是422的示意圖,因為485-2是兩線,485-4是四線。
圖5
422是把232的RX分成兩根線, RX+ 和RX-,TX分成TX+和TX-的結果 。這允許您同時發送和接收數據,并且具有長達 485 的更長傳輸距離。但是,這種有益的通信策略很少使用。232 和 485 是最常用的。
三.有關串行通信的常見問題
1、電腦使用USB轉串口可以與設備通訊,但換成屏幕就無法與設備通訊?
1)有可能電腦的 USB 轉串口是使用常規串口功能鏈接到設備的,也就是說除了RX、TX、GDN之外還使用了其他引腳。例如,歐姆龍 和 三菱PLC上的某些引腳 必須短路才能與屏幕通信。
2)計算機與控制器或PLC通訊時掃描波特率參數,自適應屏通訊可能參數比設備少。在 Mitsubishi 和Keyence等 PLC 中,有一個更改通信交互波特率的程序 。
3)另一種可能是使用的接線方法不當。因為某些 DB9 需要公頭和母頭。不注意的話會有TX與TX相連、RX與RX相連的位置,所以要注意。
4)需要注意的是,有時可能會利用一些串行助手向控制器發送測試數據。請提醒我,因為某些串行助手的奇偶校驗不起作用。
2、A家的屏幕可以與設備通信,B家的屏幕卻無法通信?
1)檢查接線是否正確,RX 和 TX 是否兼容。
2)檢查地線是否連接。
3)除了RX、TX、 GND之外,還有其他引腳需要短接嗎 ?
4)通訊協議是否齊全或不一致,以及波特率。
3、以前不需要地線就可以通訊。為什么需要更換另一臺設備的地線?
由于某些設備采用隔離電源,因此該問題與上一問題類似。以前不用接地也可以通訊,但有可能已經接了地線,可以通訊了。可以更換為隔離電源,并且由于兩個設備的地是隔離的,所以串口上的地線必須連接。
4、一個設備是232,另一個是422,沒有轉換設備,怎么辦?
因為這兩個是全雙工的,接收和發送是分開的,而422只是作為差分信號來傳輸,所以剛才也提到了422和232的接線。
將422的RX+連接 到232的TX,將422的RX-連接到232的 GND,
將422的TX+連接到232的RX,將422的TX-連接到232的GDN。
如果 422 設備想要傳送數據,可以通過將其發送到 232 的 RX 來實現。由于TX和 GND 對422產生差分信號,232的TX發送數據后422即可接收數據。
5、232通訊沒問題,485通訊沒問題,用232轉485后,通訊不穩定?
232和485在通信概念上最大的區別就是全雙工和半雙工的區別。另一方面,應用層以全雙工或半雙工模式發送和接收數據。
但是,485必須處理。由于它是半雙工的,因此必須確保只有發送或接收的數據才能通過該路徑。如果同時啟用發送和接收,數據將會發生沖突。因此,主站設備或者主動指揮方必須嚴格管理數據命令的發送頻率。當然,某些232到485的設備比較好,這個可以改進,但是主站還是要控制,改變通訊速率比較遲緩。
6.實現兩屏或兩個主站通過485訪問Modbus設備的最佳方式是什么?
485通信本質上是一個主站和多個從站。另一方面,一些客戶在實踐中更喜歡使用兩個屏幕來訪問 Modbus 設備。目前沒有可行的選擇。
7.串行通訊的缺點?
1)處理信號干擾時,最好使用絕緣電纜并遵守嚴格的接線準則,例如接地。在某些 485 通信中還考慮連接終端電阻以進行匹配。如果號碼是 232,請保持簡短。通信協議中盡量避免大消息的數據交換。
2)波特率匹配問題 由于使用的不同晶振會導致某些設備(尤其是控制器)計算的波特率不準確。因此,在某些波特率下,例如 9600 波特,會出現錯誤。錯誤的存在會產生什么影響?因為接收方是進行逐位計算的。如果消息太長,就會出現錯誤累積,計算就會出現偏差。因此,有些地方串行通信不可靠,應注意防止傳輸數據很長的數據包。
3)在某些可能存在干擾的情況下,您可能需要考慮使用奇校驗或偶校驗,因為雖然出錯的可能性較低,但如果添加奇偶校驗,至少可以過濾掉錯誤的數據包。失去。就好像沒有驗證,然后通訊數據不正確,我就不知道該怎么辦了。為了避免數據錯誤,請嘗試使用帶有校驗和的協議。
4)串行通信本來就很慢;因此,請限制數據響應要求,因為串行傳輸比 以太網慢。另外,與CPU不同,串行傳輸不是多線程的。即使應用到軟件上,如何利用多線程來處理數據,最底層也只有一個端口,由于數據是從一個端口發出來的,一次只能傳一位和一個字節。和一行。因為有的客戶采用9600波特率通信,多少毫秒可以處理多少數據?
然而,串行通信必須是現實的,因此透徹理解該協議有利于應用程序的開發、測試和通信。
8.為什么不使用同步通信?
如前所述,同步通信取決于時鐘信號。誰發起這個時鐘信號是一個問題。在同步通信中,主設備經常需要發起時鐘信號,以便讀取從模塊的數據。實際中有讀屏PLC和讀屏數據。異步串口通信沒有主從關系;雙方角色平等,可以互相傳輸和接收數據。CPU使用同步通信來讀取一些模塊,CPU開始時鐘信號,比如讀取SD卡模塊(可以通過 SPI完成 )和一些傳感器模塊。
-
控制器
+關注
關注
112文章
16206瀏覽量
177427 -
串行通信
+關注
關注
4文章
566瀏覽量
35293 -
波特率
+關注
關注
2文章
303瀏覽量
34068 -
GND
+關注
關注
2文章
529瀏覽量
38657 -
USB轉串口
+關注
關注
0文章
38瀏覽量
11634
發布評論請先 登錄
相關推薦
評論