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