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