《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM9的1553B與CAN總線轉(zhuǎn)換卡的設(shè)計與實現(xiàn)
基于ARM9的1553B與CAN總線轉(zhuǎn)換卡的設(shè)計與實現(xiàn)
EEworld
摘要: 而要實現(xiàn)轉(zhuǎn)換就需要在CAN和1553B總線端點之間需要搭建一個能夠運行并合理調(diào)度多個應(yīng)用程序的平臺,。綜合整個轉(zhuǎn)換板的考慮,,采用帶操作系統(tǒng)的ARM9處理器來實現(xiàn)這個平臺是比較合適的。cAN總線部分,,可以設(shè)計成一般的主節(jié)點,,而對于1553B總線部分,,由于1553B有3種不同的端點,,為了擴展轉(zhuǎn)換板的功能,,可以把轉(zhuǎn)換板的這個端點設(shè)計成為可以通過不同的配置來實現(xiàn)不同功能,,因此這需要1553B端點的協(xié)議和上層應(yīng)用程序可配置,為此可以采用FPGA和ARM共同工作的方式來實現(xiàn)這個端點,。而為了實現(xiàn)實時監(jiān)控,,可以通過從ARM9上擴展串口和LCD接口來實現(xiàn),。
關(guān)鍵詞: 51單片機 ARM9 1553B CAN總線
Abstract:
Key words :

1 引 言

  20世紀70年代誕生的1553B總線是一種主從式多冗余度總線對總線硬件有嚴格的規(guī)定,,可靠性和實時性好,,傳輸速率達到1 Mb/s,對于大多數(shù)的應(yīng)用都能滿足,,通過幾十年的發(fā)展,,已經(jīng)成為當(dāng)今軍用電子總線的首選,。而由德國BOSCH公司開發(fā)的CAN總線,采用多主方式,,最高速率為1 Mb/s,由于其在汽車電子系統(tǒng)中的卓越表現(xiàn),,現(xiàn)在受到了越來越多的用戶的關(guān)注和認可,。這兩種總線都是傳輸速率高,、可靠性高、實時性能好的總線,,但是他們都存在一定的不足,。1553B總線的任一次數(shù)據(jù)傳輸都是由主節(jié)點發(fā)出命令開始,從節(jié)點接到命令后解析并執(zhí)行,,同時把相應(yīng)狀態(tài)反饋給主節(jié)點,,這使得網(wǎng)絡(luò)上的數(shù)據(jù)傳輸率大大降低,,并使主節(jié)點控制器非常繁忙,而且在下端出現(xiàn)異常時,,數(shù)據(jù)不能立即上傳,必須等待主節(jié)點的傳輸命令,,靈活性較差。而CAN總線為多主競發(fā)總線,,能較好解決這個問題。但是CAN總線也存在很多不足,,例如他無法和1553B總線一樣給出一個比較確定的響應(yīng)時間,而且沒有雙冗余或多冗余結(jié)構(gòu)設(shè)計,,這使得他的可靠性和實時性不如1553B,,而在軍用電子中,,可靠性和實時性是最重要的。因此軍用電子系統(tǒng)中,,1553B總線得到了廣泛的應(yīng)用,,但同時1553B總線硬件成本非常高,相同條件下是CAN總線的幾百倍,,對于測試系統(tǒng)來說是很難承受的,,所以在現(xiàn)在的測控系統(tǒng)中對于控制仍舊采用1553B總線,對于測試采用CAN總線,,而這兩者之間的信息交互就成了整個系統(tǒng)的關(guān)鍵,促使了對1553B和CAN總線轉(zhuǎn)換卡的設(shè)計與實現(xiàn),。

  2 設(shè)計思想

  1553B總線的幀結(jié)構(gòu)有2種,其實命令字和狀態(tài)字共用一種幀結(jié)構(gòu),。而這兩種幀僅僅是同步頭不同,,如圖1所示,。

1553B的幀中,,開始3位為同步位,,數(shù)據(jù)字是上跳沿,,而命令字和狀態(tài)字為下降沿,,4~19位為數(shù)據(jù)位,,數(shù)

據(jù)字中為傳輸?shù)臄?shù)據(jù),,而命令字和狀態(tài)字中為命令或狀態(tài)位,,最后一位為奇偶校驗位,。而在CAN總線中,,

只有一種幀結(jié)構(gòu),僅僅是是否采用擴展幀而已,,其幀結(jié)構(gòu)如圖2所示,。

其中幀起始由單個顯位組成,,仲裁場由標(biāo)識符和RTR位組成,一共12位,,控制場由2個保留位和4個DLC位組成,,數(shù)據(jù)場由0到8個字組成,每個字8位,,CRC場由15位的CRC序列和1位標(biāo)識位組成,ACK場由1位ACK間隙和一位ACK界定符組成,,最后的幀結(jié)束由連續(xù)的7個隱性位組成,。

  由此可見,1553B和CAN總線不但幀結(jié)構(gòu)不同,,命令體系不一樣,,而且不同的1553B與CAN總線之間的轉(zhuǎn)換方法也是不一樣的,,因此1553B與CAN總線之間的轉(zhuǎn)換不僅僅是幀結(jié)構(gòu)的轉(zhuǎn)換,,還涉及到兩個系統(tǒng)之間命令的解析,所以采用軟件的方式可以更加靈活的實現(xiàn)這兩種總線的轉(zhuǎn)換,。

  而要實現(xiàn)轉(zhuǎn)換就需要在CAN和1553B總線端點之間需要搭建一個能夠運行并合理調(diào)度多個應(yīng)用程序的平臺,。綜合整個轉(zhuǎn)換板的考慮,,采用帶操作系統(tǒng)的ARM9處理器來實現(xiàn)這個平臺是比較合適的,。cAN總線部分,,可以設(shè)計成一般的主節(jié)點,,而對于1553B總線部分,,由于1553B有3種不同的端點,,為了擴展轉(zhuǎn)換板的功能,,可以把轉(zhuǎn)換板的這個端點設(shè)計成為可以通過不同的配置來實現(xiàn)不同功能,因此這需要1553B端點的協(xié)議和上層應(yīng)用程序可配置,,為此可以采用FPGA和ARM共同工作的方式來實現(xiàn)這個端點。而為了實現(xiàn)實時監(jiān)控,,可以通過從ARM9上擴展串口和LCD接口來實現(xiàn)。

  3 轉(zhuǎn)換卡的設(shè)計實現(xiàn)

  3.1 轉(zhuǎn)化卡硬件的選擇

  轉(zhuǎn)換卡的硬件是整個轉(zhuǎn)換卡功能的基礎(chǔ),,其實現(xiàn)框圖如圖3所示,。而在轉(zhuǎn)換卡的硬件設(shè)計中,,器件的選擇決定了設(shè)計的實際方案和電路,。對于CAN節(jié)點,,采用了PHILIPS公司的SJA1000T CAN總線控制器和TJA1050CAN總線收發(fā)器來共同實現(xiàn)。對于1553B節(jié)點,,實現(xiàn)協(xié)議部分功能的FPGA采用ALTERA的EP1C3T144,,收發(fā)器和變壓器采用了HOLT公司的HI-1567和PD2725,他們與ARM9共同完成了1553B端點協(xié)議,。最后的核心處理器ARM9則采用ATMEL的AT91RM9200T,,他擁有180 MHz的頻率,4個PIO接口,,不但能夠與FPGA共同完成1553B端點功能,,滿足1553B對實時性的要求,而且還能運行需要的操作系統(tǒng)和應(yīng)用程序,,完成整個轉(zhuǎn)化工作,。而對于用于實時監(jiān)控,LCD芯片采用了EPSON的S1D13506擴展芯片,,而串口則采用了傳統(tǒng)的MAX3232,。以上的這些芯片構(gòu)成了整個轉(zhuǎn)換卡的框架,通過他們就構(gòu)成了轉(zhuǎn)換卡的硬件,。

  在這種方案中,,RAM采用了雙口RAM,1553B和ARM9共用一個口,,這樣CAN總線出來的數(shù)據(jù)和1553B總線過來的數(shù)據(jù)不用轉(zhuǎn)存就可以直接通過另外一段輸出或者緩沖等待發(fā)送,。S1D13506芯片是一個多功能擴展芯片,他還有多種功能擴展,,可以擴展出音頻和視頻接口。

3.2 轉(zhuǎn)換卡軟件實現(xiàn)方式

  在整個的轉(zhuǎn)換卡實現(xiàn)中面臨的最大問題就是轉(zhuǎn)換的實時性和緩沖數(shù)據(jù)管理,,為此轉(zhuǎn)換卡通過使用實時性非常好的搶占式多任務(wù)操作系統(tǒng)RTLinux來解決,。他不但能滿足系統(tǒng)對實時性的要求,完成總線兩邊緩沖數(shù)據(jù)管理,,還能為應(yīng)用程序和轉(zhuǎn)換程序提供一個良好的運行環(huán)境,。轉(zhuǎn)換程序主要完成兩個功能:把1553B總線來的數(shù)據(jù)轉(zhuǎn)換成CAN總線的幀結(jié)構(gòu),,或者相反,;把1553B總線來的命令解析,轉(zhuǎn)換成CAN總線系統(tǒng)的命令并組成CAN的幀結(jié)構(gòu)發(fā)送,。轉(zhuǎn)換卡采用MiniGUI來為用戶提供實現(xiàn)實時監(jiān)控的圖形界面,,這個圖形界面可以通過轉(zhuǎn)換卡擴展的LCD很好地完成信息交換過程實時監(jiān)視的任務(wù),。最后通過ARM9的JTAG口可以對ARM9中運行的應(yīng)用程序和轉(zhuǎn)換程序進行修改與調(diào)試,。

  3.3 轉(zhuǎn)換卡轉(zhuǎn)換機制

  設(shè)計中采用中斷源優(yōu)先級控制機制,不同的中斷源設(shè)置不同的中斷等級,,以滿足系統(tǒng)對實時性的要求,。這種機制主要是基于下列考慮:

  (1)來自1553B,CAN以及串口的硬中斷請求信號及來自應(yīng)用程序的軟中斷信號都是隨機的,。中斷機制可以使ARM9能夠?qū)崟r地響應(yīng)各個中斷,,并做出相應(yīng)的動作。實時性要求相對比較高的1553B端點中斷被賦予高優(yōu)先級,,可以剝奪CAN,,串口等相對低優(yōu)先級的中斷的服務(wù)。而CAN被賦予次高優(yōu)先級,,應(yīng)用程序以及串口被賦予最低優(yōu)先級,。

  (2)1553B和CAN的數(shù)據(jù)傳輸速率是不同的。CAN總線的不同配置,,1553B總線控制器的不同調(diào)度都會引起1553B和CAN總線的數(shù)據(jù)傳輸速率的變化,,可能1553B比CAN快,也可能CAN比1553B快,。采用中斷方式可以大大降低慢速對較高速設(shè)備的處理延時,。

  同時在硬件的設(shè)計中考慮到軟件編程的靈活性,因此所有的中斷信號都設(shè)計成可以通過查詢得到,。

  3.4 硬件測試

  在硬件完成后,,對整個硬件進行了測試。首先把1553B端點聯(lián)入1553B總線系統(tǒng)中,,他能正確地響應(yīng)總線,,通過示波器觀測由變壓器和收發(fā)器變換后的信號和序列,得到的信號電平和序列都符合既定的要求,。然后把1553B端點協(xié)議寫入FPGA和ARM,,測試端點的反應(yīng)時間,即接收命令字到發(fā)出狀態(tài)字之間的間隔,,這個時間為1.5~2.5μs之間,,完全滿足1553B總線的協(xié)議要求。最后把CAN總線、串口,、LCD接口都連接上,,整個硬件工作良好。

  4 轉(zhuǎn)換卡功能及特點

  4.1 轉(zhuǎn)換卡的主要功能

  (1)轉(zhuǎn)換卡在一個既定的協(xié)議下能夠?qū)崿F(xiàn)CAN總線系統(tǒng)與1553B總線系統(tǒng)的信息交互,,同時滿足兩總線系統(tǒng)對實時性的要求,。

  (2)轉(zhuǎn)換卡可以單獨作為一個CAN總線的節(jié)點或者1553B總線端點連入總線系統(tǒng),完成相應(yīng)的節(jié)點功能,。

  (3)實現(xiàn)現(xiàn)場調(diào)試和監(jiān)控,。應(yīng)用轉(zhuǎn)換卡的LCD擴展口和串口,用戶可以通過LCD顯示屏或者外部計算機實時監(jiān)視和控制兩總線之間的信息轉(zhuǎn)換,。

  4.2 硬件主要特點

  (1)1553B端點協(xié)議采用FPGA與ARM芯片共同實現(xiàn),,這種設(shè)計不但可以通過更改協(xié)議實現(xiàn)程序把端點配置成遠程端點、控制器,、監(jiān)視器等3種不同功能的端點,,而且因為是通過ARM9與FPGA共同實現(xiàn)的總線協(xié)議,所以當(dāng)接收完1553B總線數(shù)據(jù)后可以直接觸發(fā)總線轉(zhuǎn)換程序,,從而減少單獨采用1553B協(xié)議芯片時對ARM9的數(shù)據(jù)中斷請求時間,,更好地滿足了控制系統(tǒng)的實時性要求。最后這種設(shè)計與直接購買1553B端點協(xié)議芯片相比明顯地減少了硬件成本,,有利于1553B總線的推廣和應(yīng)用,。

  (2)可以兼容不同速率的CAN總線,通過改變初始化配置,,可以實現(xiàn)不同速率的CAN總線與1553B總線系統(tǒng)通信,。轉(zhuǎn)換卡對ARM9實現(xiàn)了存儲擴展,外擴了16 MB FLASH和32 MB RAM,,因此當(dāng)總線兩邊數(shù)據(jù)傳輸速率不匹配時,,就可以把等待發(fā)送的數(shù)據(jù)放到專門開辟的緩沖區(qū)中存放,等待總線空閑時再發(fā)送,,雖然CAN總線的最快傳輸速率與1553B相同,,但是由于1553B是主從式總線,每個節(jié)點在一個周期內(nèi)只能傳輸一定的數(shù)據(jù)量,,所以他的數(shù)據(jù)傳輸速率有可能還比CAN總線慢,因此數(shù)據(jù)的緩沖是兩方面的,。

  (3)擴展了LCD接口和串口,。在現(xiàn)場可以通過40針接口的LCD或者上層的計算機監(jiān)控兩總線之間的信息交互,還可以通過串口和ARM9的JTAG口實時地調(diào)試ARM9中的程序,。

  (4)良好的實時性,。在接口中,通過對CAN和1553B總線中斷應(yīng)答優(yōu)先級的設(shè)置,可以非常好地滿足整個系統(tǒng)對實時性的要求,。

  5 結(jié) 語

  通過實際應(yīng)用證明,,基于ARM9的1553B和CAN總線轉(zhuǎn)換卡無論硬件還是軟件都能夠很好地滿足1553B和CAN總線對實時性、可靠性以及速率的要求,,在一定的命令體系中能夠很好地完成CAN與1553B總線之間的信息轉(zhuǎn)換,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。