新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 工業(yè)現(xiàn)場CAN總線技術(shù)在航天領(lǐng)域的應(yīng)用

工業(yè)現(xiàn)場CAN總線技術(shù)在航天領(lǐng)域的應(yīng)用

作者: 時(shí)間:2010-01-12 來源:網(wǎng)絡(luò) 收藏


圖5 SJA1000寫時(shí)序(Intel模式)

按照SJA1000的數(shù)據(jù)手冊(cè),確保SJA1000的讀寫正確,如下的時(shí)序參數(shù)必須滿足:

l tW(AL):必須保證ALE的時(shí)間,最小不能小于8ns;
l tLLRL/tLLWL:讀寫時(shí)ALE無效到讀寫信號(hào)有效的時(shí)間,最小不能小于10ns;
l tLCRL/tLCWL:片選信號(hào)有效后讀寫信號(hào)有效的時(shí)間,最小不能小于0,即片選有效必須出現(xiàn)在讀寫信號(hào)有效前;
l tW(R):讀信號(hào)有效寬度,最小不能小于40ns;
l tW(R):寫信號(hào)有效寬度,最小不能小于20ns;
l tWHLH:寫信號(hào)無效到下一次ALE有效的時(shí)間,最小不能小于15ns;
l th(AL-A):在ALE為低電平后地址應(yīng)該保持時(shí)間,最小不能小于2ns。

CPU和接口采用地址直接映射。接口時(shí)序設(shè)計(jì)重點(diǎn)是接口控制邏輯必須產(chǎn)生符合上述關(guān)鍵參數(shù)的讀寫時(shí)序。如果簡單的按照ALE=not nADS方法處理,不滿足要求時(shí)序關(guān)系,這在調(diào)試過程中已經(jīng)得到驗(yàn)證。為此,在設(shè)計(jì)中采用了FPGA,以求很好地解決與CPU的接口問題。圖6描述了通過VHDL編寫實(shí)現(xiàn)接口電路的狀態(tài)轉(zhuǎn)移圖和FPGA設(shè)計(jì)產(chǎn)生的讀寫時(shí)序,其中時(shí)鐘周期不低于67ns,該時(shí)序滿足SJA1000要求。


圖6 CAN總線接口時(shí)序設(shè)計(jì)的狀態(tài)轉(zhuǎn)移和時(shí)序

6 CAN總線通訊軟件的設(shè)計(jì)

雙冗余總線結(jié)構(gòu)的通訊軟件主要由初始化、接收和發(fā)送三個(gè)模塊組成,控制流圖見圖7。在程序設(shè)計(jì)時(shí)采用了SJA1000的Basic模式,初始化中需要對(duì)BUS0和BUS1分別進(jìn)行初始化,包括SJA1000的控制寄存器、接收代碼寄存器、接收屏蔽寄存器、總線時(shí)序寄存器等。


圖 7 CAN總線通訊軟件的控制流圖

發(fā)送模塊采用主動(dòng)發(fā)送方式,BUS0為優(yōu)先通訊通道,若BUS0通道狀態(tài)不正常,則啟動(dòng)BUS1通道進(jìn)行通訊,并對(duì)BUS0通道進(jìn)行初始化以備下次通訊時(shí)使用。
接收模塊采用中斷接收方式,為了保證接收到的數(shù)據(jù)被實(shí)時(shí)處理,CAN總線的接收中斷被設(shè)置為高優(yōu)先級(jí)中斷。在接收中斷中首先判斷接收通道是BUS0還是BUS1,然后從接收通道按數(shù)據(jù)長度進(jìn)行數(shù)據(jù)接收。

7 結(jié)束語

CAN總線的諸多優(yōu)點(diǎn)如實(shí)時(shí)性好,通信速率高,抗干擾能力強(qiáng),低廉的價(jià)格等使它不僅廣泛控制,而且開始向進(jìn)軍。其COTS級(jí)器件SJA1000經(jīng)過飛行也得到了驗(yàn)證,CAN總線適宜的特點(diǎn)得到了充分的展示和飛行驗(yàn)證。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉