CAN總線(xiàn)的工作原理
CAN總線(xiàn)是一種多主方式的串行通訊總線(xiàn),基本設計規范要求有高的位速率,高抗電子干擾性,并且能夠檢測出產(chǎn)生的任何錯誤。CAN總線(xiàn)可以應用于汽車(chē)電控制系統、電梯控制系統、安全監測系統、醫療儀器、紡織機械、船舶運輸等領(lǐng)域。
CAN總線(xiàn)的特點(diǎn)
1、具有實(shí)時(shí)性強、傳輸距離較遠、抗電磁干擾能力強、成本低等優(yōu)點(diǎn);
2、采用雙線(xiàn)串行通信方式,檢錯能力強,可在高噪聲干擾環(huán)境中工作;
3、具有優(yōu)先權和仲裁功能,多個(gè)控制模塊通過(guò)CAN 控制器掛到CAN-bus 上,形成多主機局部網(wǎng)絡(luò );
4、可根據報文的ID決定接收或屏蔽該報文;
5、可靠的錯誤處理和檢錯機制;
6、發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā);
7、節點(diǎn)在錯誤嚴重的情況下具有自動(dòng)退出總線(xiàn)的功能;
8、報文不包含源地址或目標地址,僅用標志符來(lái)指示功能信息、優(yōu)先級信息。
CAN總線(xiàn)的工作原理
CAN總線(xiàn)使用串行數據傳輸方式,可以1Mb/s的速率在40m的雙絞線(xiàn)上運行,也可以使用光纜連接,而且在這種總線(xiàn)上總線(xiàn)協(xié)議支持多主控制器。CAN與I2C總線(xiàn)的許多細節很類(lèi)似,但也有一些明顯的區別。
當CAN總線(xiàn)上的一個(gè)節點(diǎn)(站)發(fā)送數據時(shí),它以報文形式廣播給網(wǎng)絡(luò )中所有節點(diǎn)。對每個(gè)節點(diǎn)來(lái)說(shuō),無(wú)論數據是否是發(fā)給自己的,都對其進(jìn)行接收。每組報文開(kāi)頭的11位字符為標識符,定義了報文的優(yōu)先級,這種報文格式稱(chēng)為面向內容的編址方案。在同一系統中標識符是唯一的,不可能有兩個(gè)站發(fā)送具有相同標識符的報文。當幾個(gè)站同時(shí)競爭總線(xiàn)讀取時(shí),這種配置十分重要。
當一個(gè)站要向其它站發(fā)送數據時(shí),該站的CPU將要發(fā)送的數據和自己的標識符傳送給本站的CAN芯片,并處于準備狀態(tài);當它收到總線(xiàn)分配時(shí),轉為發(fā)送報文狀態(tài)。CAN芯片將數據根據協(xié)議組織成一定的報文格式發(fā)出,這時(shí)網(wǎng)上的其它站處于接收狀態(tài)。每個(gè)處于接收狀態(tài)的站對接收到的報文進(jìn)行檢測,判斷這些報文是否是發(fā)給自己的,以確定是否接收它。
由于CAN總線(xiàn)是一種面向內容的編址方案,因此很容易建立高水準的控制系統并靈活地進(jìn)行配置。我們可以很容易地在CAN總線(xiàn)中加進(jìn)一些新站而無(wú)需在硬件或軟件上進(jìn)行修改。當所提供的新站是純數據接收設備時(shí),數據傳輸協(xié)議不要求獨立的部分有物理目的地址。它允許分布過(guò)程同步化,即總線(xiàn)上控制器需要測量數據時(shí),可由網(wǎng)上獲得,而無(wú)須每個(gè)控制器都有自己獨立的傳感器。
評論