1 改裝系統(tǒng)簡介
飛機航空電子系統(tǒng)的改裝,就是把功能相對獨立的子系統(tǒng)逐步走向綜合,例如將雷達、慣導、GPS和機載計算機聯(lián)合,組成新型航空圖導航系統(tǒng)。通俗點講,就是將那些“傻、大、粗、笨”的儀器儀表,集成為“少而精”的智能儀表,減輕飛行員的操作難度。
系列多機型改裝時的多功能顯示器,它將原來分散顯示的信息和數(shù)據(jù)集中在一臺多功能顯示器上。替換掉原來“老死不相往來”的各種導航儀表,不再需要領航員大量記憶枯燥的數(shù)據(jù),減少了儀表種類,節(jié)省了寶貴的空間,極大減輕了領航員工作強度。圖1中除了地圖視頻采用LVDS外,其它儀表通信都采用ARINC429總線。顯然,解決多通道的ARINC429通信成為本次改裝的瓶頸。
傳統(tǒng)的ARINC429通信設計中,大多采用HARRIS公司的HS3282或Device Engineering公司的DEI1016。但在此則極不經(jīng)濟,完成多通道429通信,需要多個芯片和更多的布板空間,功耗也線性增加。
特別地,傳統(tǒng)的多通道的429需要更加多的CPU中斷請求線,需要外部復雜的邏輯設計。TS68C429A則是目前解決多通道429通信最為有效的途徑。和傳統(tǒng)的“兩收一發(fā)”的芯片相比較,它是“八收三發(fā)”,“一片頂四片”。
2 TS68C429A的主要特征
ATMEL公司的TS68C429A是高性能、多通道、低功耗的CMOS型429接口,亦能滿足類似的時分多路串行數(shù)據(jù)通信。
整個芯片只需單5V工作電源。它具有8路接收、3路發(fā)送。所有的接收通道和發(fā)送通道都是彼此互獨立,可同時并行工作。8個接收通道之間也是獨立的并行接收,可以直接連接到ARINC429總線,而不需電平轉換。數(shù)據(jù)字長是標準的32-bit,25-bit的并不支持。
主要特征有如下幾點:
8個獨立的接收通道;3個獨立的發(fā)送通道;和所有的TS68K系列的微處理器接口兼容;16-bit數(shù)據(jù)總線;符合ARINC2429接口,歸零制編碼(Return Zero Code);支持所有的ARINC429數(shù)據(jù)傳輸率,最高可達2.5Mbit/s,傳統(tǒng)的ARINC429芯片的速率只有2種可選;多標號能力,傳統(tǒng)的芯片要么不檢查標號,要么就接收一個指定的標號;校驗控制(奇校驗、偶校驗、無校驗,中斷能力);RX、TX的數(shù)據(jù)率可獨立編程;每個發(fā)送通道有8個信息單元的FIFO;向量式中斷;可組成菊花鏈中斷;所有的寄存器都是可直接尋址的;具有自測試能力;工作頻率為20MHz;低功耗:400mW。
3 硬件設計
TS68C429A接收和發(fā)送通道都成倍增加,但畢竟不是通道的簡單疊加,不是傳統(tǒng)接口的線性擴展,在相關器件選型和設計中需要仔細推敲。
3.1 基本硬件接口
基本硬件接口就是和嵌入式CPU的接口電路。根據(jù)ARINC429數(shù)據(jù)特點,至少要選16-bk數(shù)據(jù)總線以上的CPU。TS68C429A和所有的TS68K系列的CPU接口兼容,像TS68000、TS68020都可以只需要增加非常簡單的接口邏輯。特別是TS68302完傘可以“無縫連接”。無縫連接就是兩個復雜芯片不需要“粘合邏輯”,對應信號直接相連。
在設計基本電路時需要注意以下幾點:
3.1.1 嵌入式CPU選型。
CPU的數(shù)據(jù)總線至少應該是16bit的,否則在硬件上要增加字節(jié)轉發(fā)電路,設計復雜度上升。如果在中斷響應時想迅速判斷中斷源,CPU存中斷響應時應該能夠發(fā)出中斷響應(IACK)信號,由TS68C429輸出中斷向量,由CPU回讀后硬件判斷,直接進入對應中斷服務例程,節(jié)省軟件響應時間。除TS68K系列外,符合這個要求的還有最廣泛使用在PC機上的X86系列,如Inte180486等。顯然,TS68C429的中斷響應機制,完全類似X86系列中的8259 中斷控制器時序,可以直接無縫連接。值得指出的是,X86系列的中斷請求是高有效,中斷請求信號需要反相。
3.1.2 時鐘
傳統(tǒng)的ARINC429芯片只有一個時鐘,人多數(shù)是1MHz,用以控制收發(fā)速率。速率有2種選擇,即速率是時鐘的十分之一或八十分之一,亦即100K或12.5K。在這里,TS68C429需要2種時鐘,系統(tǒng)時鐘和ARINC429收發(fā)時鐘。系統(tǒng)時鐘CLKSYS用來控制CPU接口時序,應該和CPU時鐘相同,在這里直接使用TS68302的輸出時鐘CLK0。在使用其它型號的CPU時,CLKSYS可以直接和CPU時鐘連接在一起。CLK429使用了定時器輸出TOUT1,用來決定429串行數(shù)據(jù)傳輸速率。存使用其它型號的CPU時,也可以設計一個獨立的時鐘做CLK429。
3.1.3 高、低字節(jié)訪問
處理器對TS68C429每次訪問都應該是16Bit的,除了這里和TS68302的無縫連接,還可以把高字節(jié)選通信號(/UDS)和低字節(jié)選通信號(/LDS)一起直接接地。CPU一般足字節(jié)編址的,所以應該足A9…A1對應TS68C429的A8…A0。
3.1.4 存儲器周期
無論是讀周期還是寫周期,TS68C429都要用/DTACK應答CPU。TS68K系列中的/DTACK,即數(shù)據(jù)傳輸周期應答(Data Transfer Acknowledge),本質上就是許多CPU的READY信號。如果使用別的型號CPU,READY屬于高有效,需要對/DTACK進行反相。
3.2 中斷菊花鏈電路
對于大多數(shù)應用來講,一片TS68C429基本可以滿足多通道429通信要求。當要求更多通道時,TS68C429A可以采用菊花鏈的彤式設計。
菊花鏈(Daisy Chain)是一種阻塞式級聯(lián)結構,排在前面的優(yōu)先級高于其后的所有單元。在任一時刻,高優(yōu)先級若果發(fā)出中斷,就禁止了比它自身優(yōu)先級低的中斷。共有U1、U2…Un個單元,其中U1具有最高優(yōu)先級,Un優(yōu)先級最低。當某一單元需要發(fā)出中斷時,首先要判斷前面是否有高優(yōu)先級的中斷,即判斷傳遞下來的中斷使能信號/IEIxx,當其為低電平時,可以發(fā)出,當其為高電平時禁止發(fā)出。禁止中斷發(fā)出時,要一直等待到前面中斷響應完成后再發(fā)出。最極端的情況就是,某些低優(yōu)先級的中斷單元永遠沒有機會發(fā)出中斷,設計菊花鏈電路時,要綜合平衡各通道的數(shù)據(jù)流量。
4 軟件設計
上電復位后,軟件應在正式工作前初始化TS68C429。傳統(tǒng)的芯片只需要要寫一次控制寄存器,但多通道的初始化要復雜一些。
4.1 寄存器映像
在傳統(tǒng)的ARINC429只有一個控制寄存器,由于通道少,每個通道分配專用的選通信號,硬件簡單譯碼即可。在多通道的芯片中,不可能繼續(xù)采用這種辦法。整個芯片只有一個總的片選(/CS),然后由地址A8..A0來尋址片內(nèi)寄存器。系統(tǒng)的初始化,本質就是正確配置這些寄存器。
8個接收通道,每個都有自己的4類專用寄存器區(qū)。
4.1.1 接收控制寄存器(receive control register)
這是一個可讀可寫的寄存器,它控制本通道的中斷優(yōu)先級、校驗、標號、測試模式以及通道使能等配置。如果有2個通道的中斷優(yōu)先級相同,就有一個永遠發(fā)不出中斷。如果設置本通道處于測試模式,則第三發(fā)送通道的數(shù)據(jù)在內(nèi)部回環(huán)到本通道。這個特征是用來做通道自檢的。
4.1.2 間隙寄存器(gap register)
間隙寄存器是一個只寫寄存器。寫入值是以CLK429時鐘周期為單位的計數(shù)值,實際是定義了相鄰兩個429數(shù)據(jù)的最小間隙。在傳統(tǒng)的芯片中,最小間隙是固定的。在這里,必須顯式地設置這個寄存器,決不能隱含使用復位缺省值。
4.1.3 數(shù)據(jù)緩沖區(qū)(message buffer)
數(shù)據(jù)緩沖區(qū)是2個16bit的只讀寄存器,存放接收到的ARINCA29數(shù)據(jù)。采用中斷接收時,主要就是讀這2個寄存器。高16bit(most significant word,MSW)存放在低地址,低16bit(least significant word,LSW)存放在高地址。讀數(shù)據(jù)時先讀MSW,再讀LSW。
4.1.4 標號控制矩陣(label Control matrix)
這是一個256×1bit的存儲器區(qū)。許多人不理解這個區(qū)的含義,不會配置,以致系統(tǒng)不能正確運行。眾所周知,ARINC429規(guī)范的低8bit屬于標號區(qū)(label),標號代表了數(shù)據(jù)類型,例如72H代表高度數(shù)據(jù),73H代表角速度等。這樣總計有256個標號。標號控制矩陣的某地址設置為“1”,就允許該通道接收對應標號的數(shù)據(jù),清除為“0”,就禁止該標號的數(shù)據(jù)。硬件復位之后全部清“0”,也就是禁止接收一切數(shù)據(jù),這就是系統(tǒng)不運行的原因。
3個發(fā)送通道,每個都有自己的3個專用寄存器。
4.1.5 頻率寄存器(Frequency Register)
這是一個只寫的寄存器,寫入值是發(fā)送速率的除數(shù)因子。
發(fā)送速率=CLK429/FR除數(shù)因子
根據(jù)這個公式,用戶可設定選擇的速率。傳統(tǒng)的ARINC429沒有這個功能,只有2種固定的速率。
4.1.6 發(fā)送控制寄存器(Transmitter Control Register)
和接收控制寄存器類似,這是一個可讀可寫的寄存器,它控制本通道的中斷優(yōu)先級、校驗、是否作為測試模式的發(fā)送、以及通道使能等配置。其中的發(fā)送間隙是控制連續(xù)發(fā)送的兩個32bit的AKINC429信息之間最小間隙,防止接收方覆蓋溢出。
4.1.7 發(fā)送FIFO
FIFO,即“先進先出”(First In First Out),基本元素可以認為是2個16bit的寄存器。軟件必須先寫入MSW,再寫入LSW,這和接收通道順序是一致的。FIFO深度為8個ARINC429信息。存寫入之前,必須驗證FIFO未滿,否則寫入數(shù)據(jù)被丟棄。在FIFO只要滿隊列的FIFO發(fā)送了一個元素,此時FIFO雖然未空,但也未滿,就可以寫入后一個數(shù)據(jù)。
除了接收通道和發(fā)送通道的專用寄存器,還有兒個通用的寄存器,如通道狀態(tài)寄存器、中斷屏蔽寄存器,中斷向量基址寄存器等,不再贅述。
4.2 復位初始化
上電復位之后,所有寄存器清“0”,各通道處于禁止狀態(tài),需要軟件顯式初始化。下面給出接收通道和發(fā)送通道的初始化流程。
4.3 ARINC429數(shù)據(jù)的接收與發(fā)送
系統(tǒng)工作后,初始化的通道就可以接收發(fā)送了。一般的,因為不可預測接收數(shù)據(jù)何時到達,正式工作后接收采用中斷驅動,發(fā)送采用查詢,這樣既可以不丟失數(shù)據(jù),又可以掌控發(fā)送節(jié)奏。查詢接收的辦法,一股使崩在系統(tǒng)初期硬件調(diào)試階段。在上篇文章中,介紹了中斷采用環(huán)形接收隊列,這個方法非常有效。在此不再贅述環(huán)形隊列訪問算法。下而給出查詢/中斷收發(fā)流程。
TS68C429集成度高,是改裝原來分散的ARINC429設備的一種合理有效的選擇。我們已將上述設計應用在多個不同種類的航空電子系統(tǒng)中,證明是十分有效的。隨著航空電子系統(tǒng)的更新?lián)Q代,TS68C429的應用將更加廣泛。
責任編輯:gt
-
CMOS
+關注
關注
58文章
5652瀏覽量
235005 -
顯示器
+關注
關注
21文章
4929瀏覽量
139740 -
接口
+關注
關注
33文章
8448瀏覽量
150725
發(fā)布評論請先 登錄
相關推薦
評論