采用CAN總線的工業(yè)自動化平臺
輔助進行演示與評估的特性
---我們向演示平臺添加了某些特性,以輔助對CAN總線功能進行評估。這些特性介紹如下。F2810包括一個SCI接口,可通過電平轉(zhuǎn)換器(如SN75LV4737A)方便地連接到PC的UART。我們開發(fā)了命令接口,允許從主機PC上的程序?qū)偩€操作進行監(jiān)視與控制。我們可使用該程序向其他節(jié)點發(fā)送控制消息,并監(jiān)視CAN總線的狀態(tài)。在板上放置了幾個LED以顯示CAN總線何時工作、何時從PC接收命令等。
總線負載與訛誤(Corruption)
---這部分將描述用于給總線加載流量的電路系統(tǒng)及用于向總線注入錯誤條件的電路系統(tǒng)。
---總線負載
---現(xiàn)有兩種機制可給CAN總線加載流量。第一種機制為傳感器節(jié)點上的“滿溢數(shù)據(jù)包(flood packet)”發(fā)生器。數(shù)據(jù)包充滿總線的速率通過膝上型電腦或PC的GUI接口的下拉菜單項控制。合適的滿溢速率取決于總線的數(shù)據(jù)速率(1Mbps、500kbps、250kbps、125kbps)。表2顯示了就每種數(shù)據(jù)速率而言總線上的理論最大數(shù)據(jù)包負載,以及總線負載接近最大時GUI上可用的推薦速率。消息的位長由以下方程式得出:
---L=SOF+MSGID+RTR+CTRL+(8·MSGLENGTH)+CRC+ACK+EOF+IFS+STUFF
---其中:
---* SOF是幀長度的起點,1b。
---* MSGID是消息標識符長度,11b
---* RTR是遠程傳輸請求的位長,1b
---* CTRL是控制字段長度,6b,其包括IDE(標志符擴展位)、r0(保留位)以及DLC(數(shù)據(jù)長度)字段。
---* MSGLENGTH是消息所占字節(jié)的長度。大多數(shù)消息為6B長,其中一條消息為8字節(jié)長。計算時假定為6B。
---* CRT是循環(huán)冗余碼的長度,16bit。
---* ACK是確認比特(acknowledge bit)的長度(此為2)。
---* EOF是幀結(jié)尾標志符長度,7b
---* IFS是消息間的最小總線幀間間隔時間,7b。
---* STUFF是因填充位(stuff bit)造成的消息額外時間。長串零之后總線將強制進行轉(zhuǎn)移,我們假定消息與消息標志符的填充位最大數(shù)為(11+48)/5b。
---第二種機制可用來使總線負載超出其容量。馬達旋轉(zhuǎn)的速率決定著馬達速度數(shù)據(jù)包載入總線的速率。馬達速度從零開始上升時,總線的負載也逐漸加大。在某一點上,傳感器節(jié)點上“滿溢數(shù)據(jù)包”發(fā)生器的低優(yōu)先級數(shù)據(jù)包及馬達節(jié)點的馬達數(shù)據(jù)包將被延遲,從而使得更高優(yōu)先級的流量可進入總線。系統(tǒng)監(jiān)控節(jié)點檢測延遲的消息,通過使揚聲器發(fā)出卡嗒聲表明發(fā)生了消息延遲。因此,揚聲器卡嗒聲表明總線仲裁正在工作,使得低優(yōu)先級的數(shù)據(jù)滿溢及馬達位置數(shù)據(jù)包延遲,以支持高優(yōu)先級數(shù)據(jù)包的傳輸。
總線訛誤
---系統(tǒng)監(jiān)控節(jié)點還包括在GUI接口控制下向總線注入錯誤條件的功能??偩€訛誤器能夠?qū)偩€進行以下工作:
---* 打開系統(tǒng)監(jiān)控板上總線連接器與CAN收發(fā)器之間的CAN_high line
---* 打開系統(tǒng)監(jiān)控板上總線連接器與CAN收發(fā)器之間的CAN_low line
---* 短路CAN_high line為5V
---* 短路CAN_low line為5V
---* 短路CAN_high line為接地
---* 短路CAN_low line為接地
---* 同時短路CAN_high line與CAN_high line
---* 去除CAN線路之間的終端
---* 在CAN線路間安裝更多的終端
---還可以產(chǎn)生另一種錯誤:
---* 使CAN節(jié)點斷電(將一塊板從電源上拔下)
---就上述大多數(shù)錯誤而言,總線將停止工作。上述某些錯誤條件將導致總線出錯率下降。我們可通過GUI接口提供的統(tǒng)計數(shù)據(jù)查看錯誤條件的影響。我們要求CAN收發(fā)器能夠承受上述錯誤條件并在故障去除后恢復相同的出錯率性能。
評論