基于A(yíng)RM9的1553B與CAN總線(xiàn)轉換卡的設計與實(shí)現
1 引 言
本文引用地址:http://dyxdggzs.com/article/87444.htm20世紀70年代誕生的1553B總線(xiàn)是一種主從式多冗余度總線(xiàn)對總線(xiàn)硬件有嚴格的規定,可靠性和實(shí)時(shí)性好,傳輸速率達到1 Mb/s,對于大多數的應用都能滿(mǎn)足,通過(guò)幾十年的發(fā)展,已經(jīng)成為當今軍用電子總線(xiàn)的首選。而由德國B(niǎo)OSCH公司開(kāi)發(fā)的CAN總線(xiàn),采用多主方式,最高速率為1 Mb/s,由于其在汽車(chē)電子系統中的卓越表現,現在受到了越來(lái)越多的用戶(hù)的關(guān)注和認可。這兩種總線(xiàn)都是傳輸速率高、可靠性高、實(shí)時(shí)性能好的總線(xiàn),但是他們都存在一定的不足。1553B總線(xiàn)的任一次數據傳輸都是由主節點(diǎn)發(fā)出命令開(kāi)始,從節點(diǎn)接到命令后解析并執行,同時(shí)把相應狀態(tài)反饋給主節點(diǎn),這使得網(wǎng)絡(luò )上的數據傳輸率大大降低,并使主節點(diǎn)控制器非常繁忙,而且在下端出現異常時(shí),數據不能立即上傳,必須等待主節點(diǎn)的傳輸命令,靈活性較差。而CAN總線(xiàn)為多主競發(fā)總線(xiàn),能較好解決這個(gè)問(wèn)題。但是CAN總線(xiàn)也存在很多不足,例如他無(wú)法和1553B總線(xiàn)一樣給出一個(gè)比較確定的響應時(shí)間,而且沒(méi)有雙冗余或多冗余結構設計,這使得他的可靠性和實(shí)時(shí)性不如1553B,而在軍用電子中,可靠性和實(shí)時(shí)性是最重要的。因此軍用電子系統中,1553B總線(xiàn)得到了廣泛的應用,但同時(shí)1553B總線(xiàn)硬件成本非常高,相同條件下是CAN總線(xiàn)的幾百倍,對于測試系統來(lái)說(shuō)是很難承受的,所以在現在的測控系統中對于控制仍舊采用1553B總線(xiàn),對于測試采用CAN總線(xiàn),而這兩者之間的信息交互就成了整個(gè)系統的關(guān)鍵,促使了對1553B和CAN總線(xiàn)轉換卡的設計與實(shí)現。
2 設計思想
1553B總線(xiàn)的幀結構有2種,其實(shí)命令字和狀態(tài)字共用一種幀結構。而這兩種幀僅僅是同步頭不同,如圖1所示。
1553B的幀中,開(kāi)始3位為同步位,數據字是上跳沿,而命令字和狀態(tài)字為下降沿,4~19位為數據位,數據字中為傳輸的數據,而命令字和狀態(tài)字中為命令或狀態(tài)位,最后一位為奇偶校驗位。而在CAN總線(xiàn)中,只有一種幀結構,僅僅是是否采用擴展幀而已,其幀結構如圖2所示。
其中幀起始由單個(gè)顯位組成,仲裁場(chǎng)由標識符和RTR位組成,一共12位,控制場(chǎng)由2個(gè)保留位和4個(gè)DLC位組成,數據場(chǎng)由0到8個(gè)字組成,每個(gè)字8位,CRC場(chǎng)由15位的CRC序列和1位標識位組成,ACK場(chǎng)由1位ACK間隙和一位ACK界定符組成,最后的幀結束由連續的7個(gè)隱性位組成。
由此可見(jiàn),1553B和CAN總線(xiàn)不但幀結構不同,命令體系不一樣,而且不同的1553B與CAN總線(xiàn)之間的轉換方法也是不一樣的,因此1553B與CAN總線(xiàn)之間的轉換不僅僅是幀結構的轉換,還涉及到兩個(gè)系統之間命令的解析,所以采用軟件的方式可以更加靈活的實(shí)現這兩種總線(xiàn)的轉換。
而要實(shí)現轉換就需要在CAN和1553B總線(xiàn)端點(diǎn)之間需要搭建一個(gè)能夠運行并合理調度多個(gè)應用程序的平臺。綜合整個(gè)轉換板的考慮,采用帶操作系統的ARM9處理器來(lái)實(shí)現這個(gè)平臺是比較合適的。cAN總線(xiàn)部分,可以設計成一般的主節點(diǎn),而對于1553B總線(xiàn)部分,由于1553B有3種不同的端點(diǎn),為了擴展轉換板的功能,可以把轉換板的這個(gè)端點(diǎn)設計成為可以通過(guò)不同的配置來(lái)實(shí)現不同功能,因此這需要1553B端點(diǎn)的協(xié)議和上層應用程序可配置,為此可以采用FPGA和ARM共同工作的方式來(lái)實(shí)現這個(gè)端點(diǎn)。而為了實(shí)現實(shí)時(shí)監控,可以通過(guò)從ARM9上擴展串口和LCD接口來(lái)實(shí)現。
3 轉換卡的設計實(shí)現
3.1 轉化卡硬件的選擇
轉換卡的硬件是整個(gè)轉換卡功能的基礎,其實(shí)現框圖如圖3所示。而在轉換卡的硬件設計中,器件的選擇決定了設計的實(shí)際方案和電路。對于CAN節點(diǎn),采用了PHILIPS公司的SJA1000T CAN總線(xiàn)控制器和TJA1050CAN總線(xiàn)收發(fā)器來(lái)共同實(shí)現。對于1553B節點(diǎn),實(shí)現協(xié)議部分功能的FPGA采用ALTERA的EP1C3T144,收發(fā)器和變壓器采用了HOLT公司的HI-1567和PD2725,他們與ARM9共同完成了1553B端點(diǎn)協(xié)議。最后的核心處理器ARM9則采用ATMEL的AT91RM9200T,他擁有180 MHz的頻率,4個(gè)PIO接口,不但能夠與FPGA共同完成1553B端點(diǎn)功能,滿(mǎn)足1553B對實(shí)時(shí)性的要求,而且還能運行需要的操作系統和應用程序,完成整個(gè)轉化工作。而對于用于實(shí)時(shí)監控,LCD芯片采用了EPSON的S1D13506擴展芯片,而串口則采用了傳統的MAX3232。以上的這些芯片構成了整個(gè)轉換卡的框架,通過(guò)他們就構成了轉換卡的硬件。
在這種方案中,RAM采用了雙口RAM,1553B和ARM9共用一個(gè)口,這樣CAN總線(xiàn)出來(lái)的數據和1553B總線(xiàn)過(guò)來(lái)的數據不用轉存就可以直接通過(guò)另外一段輸出或者緩沖等待發(fā)送。S1D13506芯片是一個(gè)多功能擴展芯片,他還有多種功能擴展,可以擴展出音頻和視頻接口。
評論