1553B總線控制器設(shè)計(jì)與調(diào)試
本文引用地址:http://www.ex-cimer.com/article/158027.htm
圖1 簡(jiǎn)單的1553B系統(tǒng)連接圖
系統(tǒng)連接完成之后就要對(duì)系統(tǒng)進(jìn)行通訊調(diào)試,系統(tǒng)調(diào)試是一項(xiàng)至關(guān)重要的工作,程序設(shè)計(jì)和系統(tǒng)連接中的問題都會(huì)在這個(gè)時(shí)候一一的暴露出來(lái),這時(shí)對(duì)設(shè)計(jì)人員的實(shí)際處理問題能力和經(jīng)驗(yàn)提出了要求,結(jié)合自己的經(jīng)驗(yàn)對(duì)系統(tǒng)調(diào)試提出以下幾點(diǎn)建議:
(1)系統(tǒng)連接完成之后不要急于加電,斷開連接,用導(dǎo)線引出BC端的正負(fù)兩個(gè)管腳,接在示波器上,讓BC發(fā)送一些簡(jiǎn)單的數(shù)據(jù),然后用示波器監(jiān)視讀取這些數(shù)據(jù)看是否正確,1553B總線上面的信息是以消息的形式調(diào)制成曼徹斯特碼進(jìn)行傳輸?shù)模壿?是編碼的1/0,邏輯0是編碼的0/1。命令字和狀態(tài)字的開頭是前1.5位時(shí)為正后1.5位時(shí)為負(fù)的同步頭,數(shù)據(jù)字是前1.5位時(shí)為負(fù)后1.5位時(shí)為正的同步頭,同步頭后面就是數(shù)據(jù)。據(jù)此可以分析波形確定數(shù)據(jù)。圖2為實(shí)驗(yàn)中抓下的一條全0的命令字,前面先高后低的3個(gè)字位為同步頭,代表了命令字(狀態(tài)字的同步頭也是這樣),后面16位為指令字的數(shù)據(jù),最后一位奇偶校驗(yàn)位為0表示為奇校驗(yàn)。
這樣做的目的是保證BC發(fā)出的數(shù)據(jù)是基本正確的(包括時(shí)序和電平高低),設(shè)計(jì)人員構(gòu)建系統(tǒng)的1553B芯片或板卡可能來(lái)自不同的廠家,甚至有自己?jiǎn)挝谎兄频?,這樣可以避免出現(xiàn)一些例如正負(fù)管腳接反等低級(jí)錯(cuò)誤。
(2)系統(tǒng)調(diào)試要先易后難,1553B通訊的消息類型多種多樣,有非周期發(fā)送數(shù)據(jù),也有非周期性發(fā)送命令字讀取數(shù)據(jù),有周期性發(fā)送的數(shù)據(jù),也有周期性發(fā)送命令讀取數(shù)據(jù),也有這幾種方式的組合。我們?cè)谡{(diào)試時(shí)候應(yīng)當(dāng)先調(diào)試簡(jiǎn)單的單獨(dú)通訊模式,BC發(fā)送一個(gè)數(shù)據(jù)字測(cè)試RT是否能收到,RT返回的數(shù)據(jù)BC是否能收到,收到的數(shù)據(jù)是否正確等。簡(jiǎn)單的調(diào)通后進(jìn)而調(diào)試組合的等比較麻煩的通訊。另外調(diào)試時(shí)應(yīng)多用芯片自帶的例子程序來(lái)幫助調(diào)試,這樣能起到意想不到的效果。
(3)調(diào)試時(shí)還應(yīng)當(dāng)注意一些關(guān)鍵性的細(xì)節(jié)。例如系統(tǒng)單獨(dú)運(yùn)行正常,但是連接起來(lái)通訊就不正常了,考慮是否是沒有進(jìn)行地址校驗(yàn)導(dǎo)致的,或者是中斷服務(wù)程序中內(nèi)容過(guò)多導(dǎo)致中斷處理時(shí)間過(guò)長(zhǎng)而耽誤了通訊。
圖2 命令字波形圖
5 結(jié)束語(yǔ)
1553B通訊比較復(fù)雜,設(shè)計(jì)和調(diào)試都存在不小的困難,本文結(jié)合自己調(diào)試1553B系統(tǒng)的一些經(jīng)驗(yàn)和教訓(xùn)和大家進(jìn)行了分享,希望能夠?yàn)橄嚓P(guān)的設(shè)計(jì)人員提供一點(diǎn)幫助。
評(píng)論