Modbus協(xié)議和CAN總線
Modbus和CAN做為兩種工業(yè)上常用的總線協(xié)議在儀器儀表,汽車,軌道交通設備上獲得了廣泛的使用.
CAN總線由德國BOSCH公司開發(fā),設計初衷是為汽車上電子設備提供互聯(lián),經(jīng)過多年的發(fā)展,現(xiàn)在幾乎所有的汽車級MCU都包含有CAN控制器(已然是各種MCU的標配外設)
CAN總線是一種對等的總線或者是多主總線,總線上的每一個設備都可以是主設備.CAN總線根據(jù)ID的大小來競爭獲取總線控制權.
現(xiàn)在一般使用的CAN2.0B標準,有標準楨和擴展楨的2種格式,擴展楨支持29位ID,數(shù)據(jù)長度最大是8個字節(jié),最大線速率是1M bps,接收端可以設置濾波器過濾總線上的數(shù)據(jù)包
CAN總線只是一種數(shù)據(jù)鏈路層的標準(ISO 7層協(xié)議中的第二層)所以對數(shù)據(jù)幀中payload的含義并沒有規(guī)定,應用程序需要自己定義payload數(shù)據(jù)的具體含義.
Modbus最初由莫迪康(后被施奈德電氣收購)公司開發(fā)的一種應用層的協(xié)議,Modbus協(xié)議定義了應用層的楨的格式,數(shù)據(jù)長度.寄存器地址,讀寫控制,楨間隔時間等信息.在物理層可以使用RS232/485/422 和Ethernet等傳輸介質(zhì).
Modbus是一種主從式協(xié)議或者Client/Server模式協(xié)議.Master發(fā)送讀寫等請求,Slave端做出響應.
modbus協(xié)議在工業(yè)自動化設備,儀器儀表行業(yè)應用非常廣泛,比如PLC設備上, Modbus poll是一個非常好用的modbus 解析軟件,常作為Master來使用,在調(diào)試slave端軟件時很有幫助.