-
1 # 工控界最靚的仔
-
2 # 新能源BMS
串列埠、UART、RS232、RS485之間的關係可用下圖表示:
串列埠,也稱序列通訊介面或序列通訊介面(通常指COM介面),是採用序列通訊方式的擴充套件介面。序列介面(Serial Interface) 是指資料一位一位地順序傳送,其特點是通訊線路簡單,只要一對傳輸線就可以實現雙向通訊(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用於遠距離通訊,但傳送速度較慢。
UART,是通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter),既然是“器”,顯然,它就是個裝置而已,要完成一個特定的功能的硬體,它本身並不是協議。那麼它要完成什麼功能呢?它的最基本功能,是序列資料和並行資料之間的轉換。我們知道,計算機中的資料以Byte為基本單位,對一個Byte的存取是並行的,即,同時取得/寫入8個bit。而序列通訊,需要把這個Byte“打碎”,按照時間順序來收發以實現序列。
RS232/RS485,是兩種不同的電氣協議,也就是說,是對電氣特性以及物理特性的規定,作用於資料的傳輸通路上,它並不內含對資料的處理方式。比如,最顯著的特徵是:RS232使用3-15v有效電平,而UART,因為對電氣特性並沒有規定,所以直接使用CPU使用的電平,就是所謂的TTL電平(可能在0~3.3V之間)。更具體的,電氣的特性也決定了線路的連線方式,比如RS232,規定用電平表示資料,因此線路就是單線路的,用兩根線才能達到全雙工的目的;而RS485, 使用差分電平表示資料,因此,必須用兩根線才能達到傳輸資料的基本要求,要實現全雙工,必需用4根線。但是,無論使用RS232還是RS485,它們與UART是相對獨立的,但是由於電氣特性的差別,必須要有專用的器件和UART接駁,才能完成資料線上路和UART之間的正常流動。
回覆列表
串列埠是序列介面(serial port)的簡稱,也稱為序列通訊介面或COM介面,串列埠通訊是指採用序列通訊協議(serial communication)在一條訊號線上將資料一個位元一個位元地逐位進行傳輸的通訊模式。
串列埠按電氣標準及協議來劃分,包括RS-232-C、RS-422、RS485等
1、串列埠通訊
在序列通訊中,資料在1位寬的單條線路上進行傳輸,一個位元組的資料要分為8次,由低位到高位按順序一位一位的進行傳送。
序列通訊的資料是逐位傳輸的,傳送方傳送的每一位都具有固定的時間間隔,這就要求接收方也要按照發送方同樣的時間間隔來接收每一位。不僅如此,接收方還必須能夠確定一個資訊組的開始和結束。
常用的兩種基本序列通訊方式包括同步通訊和非同步通訊。
1.1 串行同步通訊
同步通訊(SYNC:synchronous data communication)是指在約定的通訊速率下,傳送端和接收端的時鐘訊號頻率和相位始終保持一致(同步),這樣就保證了通訊雙方在傳送和接收資料時具有完全一致的定時關係。
同步通訊把許多字元組成一個資訊組(資訊幀),每幀的開始用同步字元來指示,一次通訊只傳送一幀資訊。在傳輸資料的同時還需要傳輸時鐘訊號,以便接收方可以用時鐘訊號來確定每個資訊位。
同步通訊的優點是傳送資訊的位數幾乎不受限制,一次通訊傳輸的資料有幾十到幾千個位元組,通訊效率較高。同步通訊的缺點是要求在通訊中始終保持精確的同步時鐘,即傳送時鐘和接收時鐘要嚴格的同步(常用的做法是兩個裝置使用同一個時鐘源)。
1.2 序列非同步通訊
非同步通訊(ASYNC:asynchronous data communication),又稱為起止式非同步通訊,是以字元為單位進行傳輸的,字元之間沒有固定的時間間隔要求,而每個字元中的各位則以固定的時間傳送。
在非同步通訊中,收發雙方取得同步是透過在字元格式中設定起始位和停止位的方法來實現的。具體來說就是,在一個有效字元正式傳送之前,傳送器先發送一個起始位,然後傳送有效字元位,在字元結束時再發送一個停止位,起始位至停止位構成一幀。停止位至下一個起始位之間是不定長的空閒位,並且規定起始位為低電平(邏輯值為0),停止位和空閒位都是高電平(邏輯值為1),這樣就保證了起始位開始處一定會有一個下跳沿,由此就可以標誌一個字元傳輸的起始。而根據起始位和停止位也就很容易的實現了字元的界定和同步