新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 串行通信總結

        串行通信總結

        作者: 時間:2016-12-15 來源:網絡 收藏
        我們都知道在現實應用中,各種控制器之間需要進行數據交換,而大部分的數據交換都是通過串行通信實現的。如今,串行通信已經發展的比較成熟,如RS232,RS485,CAN,SPI,IIC,USB等都是常見的串行通信技術。

        RS232的通信協議與微控制器uart串口通信協議(我們常說的“數據鏈路層”)一致,只是電平在‘0’,‘1’的定義上(我們常說的“物理層”)有所差別。uart中端口對GND低電平代表‘0’,端口對GND高電平(+5V)代表‘1’,而RS232中用-15V~-3V代表邏輯1,3V~15V代表邏輯0。物理層對邏輯0,1電壓的限制比較高,同時是單線電平信號,抗干擾能力表弱,不適用與長距離通信。雖然uart支持多機通信,但是RS232一般用在短距離點對點通信的應用場合(可能是通信距離短組建不了多機通信網絡吧)。

        本文引用地址:http://www.104case.com/article/201612/330101.htm

        RS485是應用在多機通信應用比較多的通信方式。在工業控制中,RS485的“數據鏈路層”也是基于Uart上的,只不過在“物理層”的邏輯‘0’,‘1’定義上是采用差分信號的。RS485一般有AB兩根線,當A-B=2V~6V為邏輯1,A-B=-2V~-6V為邏輯0。由于RS485采用差分信號傳輸數據,抗干擾能力強,傳輸距離遠。由RS485協議組建的多機通信網絡中,一般有一個主機,N(N<31)個從機構成。由于只有兩個差分信號線為通信線,所以RS485通信是半雙工的,從機不能主動提出發送請求,需要主機輪詢到該從機的時候,該從機才能進行數據發送。

        Can總線技術是另一類多機串行通信技術。CAN通信技術可以組建多達110多個點的多點通信網絡。這里插入一份開放系統互連模型的分層定義表。

        Can總線的在物理層與RS485類似,也是采用兩根數據線CANH,CANL傳輸差分信號,CANH-CANL=0代表隱性(相當于邏輯1),CANH-CANL有一個比較大的差值時代表顯性(相當于邏輯0)。具體數據鏈路層的定義與RS485有著比較大的差別,CAN總線是采用發送報文的形式進行數據傳輸的,每一報文里都包含有11位或者29位的標識碼作為發送起始幀。can總線采用的是位仲裁機制,當一個點發送占用總線發送標識碼后改點會檢測總線的狀態,如果發送的為隱性位,而檢測到總線為顯性位,說明有其他點發送更高優先級標識碼,這個點會自動退出發送狀態,將總線讓給發送高優先級標識碼的點。從這里我們可以發現,標識碼越小優先級越高的特點。Can總線技術相對RS485技術具有很多優點:1。CAN總線上所有點都可以是主機,只要總線空閑可在任意時刻向總線發送數據(內部具有總線沖突仲裁機制),增加數據通信的實時性。2.通信距離遠,組件網絡比較大,通信速度快。目前用專用的CAN通信控制器實現CAN通信,有些高檔的MCU也具備CAN通信模塊。



        關鍵詞: 串行通信Can總

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宜阳县| 白河县| 黑龙江省| 曲靖市| 晋宁县| 汤阴县| 永福县| 定襄县| 安达市| 苍南县| 永兴县| 金沙县| 巫溪县| 衡山县| 获嘉县| 全南县| 茂名市| 平南县| 县级市| 江西省| 桦川县| 永年县| 清涧县| 九寨沟县| 鄂州市| 太保市| 宜章县| 连云港市| 文安县| 黄龙县| 铅山县| 杭锦后旗| 云南省| 天水市| 周口市| 怀集县| 宜川县| 甘泉县| 边坝县| 精河县| 天镇县|