新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM9的1553B與CAN總線轉(zhuǎn)換卡的設(shè)計(jì)與實(shí)現(xiàn)

基于ARM9的1553B與CAN總線轉(zhuǎn)換卡的設(shè)計(jì)與實(shí)現(xiàn)

作者:唐太崗,曾超 時間:2008-08-27 來源:中電網(wǎng) 收藏

  3.2 軟件實(shí)現(xiàn)方式

本文引用地址:http://m.butianyuan.cn/article/87444.htm

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

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

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

  (1)來自1553B,CAN以及串口的硬中斷請求信號及來自應(yīng)用程序的軟中斷信號都是隨機(jī)的。中斷機(jī)制可以使能夠?qū)崟r地響應(yīng)各個中斷,并做出相應(yīng)的動作。實(shí)時性要求相對比較高的1553B端點(diǎn)中斷被賦予高優(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è)計(jì)中考慮到軟件編程的靈活性,因此所有的中斷信號都設(shè)計(jì)成可以通過查詢得到。

  3.4 硬件測試

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

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

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

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

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

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

  4.2 硬件主要特點(diǎn)

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

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

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

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

  5 結(jié) 語

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


上一頁 1 2 下一頁

關(guān)鍵詞: 總線 CAN ARM9 轉(zhuǎn)換卡

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉