PC104總線系統(tǒng)是一種新型的計算機測控平臺,作為嵌入式PC的一種,在軟件與硬件上與標準的臺式PC(PC/AT)體系結構完全兼容,它具有如下優(yōu)點:體積小、十分緊湊,并采用模塊化結構,功耗低,總線易于擴充,緊固堆疊方式安裝,適合于制作高密度、小體積、便攜式測試設備,因此在軍用航空設備上有著廣泛的應用,但也正是PC104板的這種小尺寸結構、板上可用空間少給設計帶來了一定的困難,所以本設計采用了復雜可編程器件CPLD,用CPLD完成了PC104總線與429總線通訊的主要電路,大大節(jié)省了硬件資源,本文著重介紹了CPLD部分的設計。
1 系統(tǒng)總體設計
CPLD是一種復雜的用戶可編程邏輯器件,由于采用連續(xù)連接結構,易于預測延時,從而使電路仿真更加準確。再加上使用方便的開發(fā)工具,如MAX+PLUSII、Quartus等,使用CPLD器件可以極大地縮短產品開發(fā)周期,給設計修改帶來很大方便。本論文描述了利用開發(fā)工具MAX+PLUS II實現(xiàn)CPLD處理ARINC429數(shù)據(jù)通信。系統(tǒng)設計方案如圖1所示。
ARINC429收發(fā)電路部分,由兩組3282和3l82芯片構成,其中每組芯片實現(xiàn)二路接收、一路發(fā)送,其中的控制信號均有CPLD編程產生:在CPLD部分,D[0...15]為16位雙向數(shù)據(jù)總線,實現(xiàn)AR1NC429收發(fā)電路與PC104總線接口之間的數(shù)據(jù)通信,IO16為16位芯片選擇信號;在PC104總線接口部分,XD[0...15]為16位雙向數(shù)據(jù)總線,XA[1...9]為地址總線,連接CPLD,進行選片操作,XIOR和XIOW 為IO讀寫信號,XAEN 是允許DMA控制地址總線、數(shù)據(jù)總線和讀寫命令線進行DMA傳輸以及對存儲器和I/O設備的讀寫。
2 系統(tǒng)硬件組成
429的PC104總線接口板的硬件組成框圖如圖2所示,主要包括AR1NC429收發(fā)電路(HS3282和HS3l82芯片組)、CPLD、429板與PC 機的接口總線PC104總線、與外部的429接口IDC16插座、中斷控制開關等,其關系如圖2所示。
本接口板元器件布局如圖3所示。
3 CPLD內部功能及實現(xiàn)
3.1 開發(fā)流程描述
本系統(tǒng)中的CPLD使用Altera公司的MAX7000S系列可編程邏輯器件中的EPM7128SQC100-6型號,從最初的電路設計思想到MAX+PLUSII的波形仿真,再到CPLD芯片編程結束要經過的一般開發(fā)流程如圖4所示。
3.2 CPLD中的模塊設計
本設計中CPLD 的功能是實現(xiàn)ARINC429收發(fā)電路與接口板的接口總線PC104總線的數(shù)據(jù)通信。其功能模塊可以分為6部分,以下逐一介紹各模塊的功能及其實現(xiàn)的方法。
(1)產生AR1NC429控制器HS3282所需的TTCLK時鐘信號模塊
TTCLK即發(fā)射器時鐘信號,本設計中該信號有480 KHZ和1 MHZ兩種可選頻率,是由一個48 MHZ的晶振提供信號給CPLD,然后由CPLD編程產生480KHZ和1MHZ兩種信號以備選擇。該模塊用圖形編輯的方式實現(xiàn)。要產生3282所需要的480KHZ信號需要對輸入48MHZ信號進行兩次10分頻,要產生1 MHZ信號需要對輸入信號進行6分頻再8分頻。6分頻電路采用3個JK觸發(fā)器實現(xiàn),8分頻電路采用74393實現(xiàn),10分頻電路采用7490實現(xiàn)。
(2)產生復位信號/MR和控制發(fā)射器使能信號ENTX的信號ENT模塊
/MR是對3282的主復位信號,/MR將直接送到HS3282,而ENT將送到另一模塊中,用于控制發(fā)射器使能信號ENTX的產生,ENTX=ENT*/TXR,其中TXR為發(fā)送緩沖區(qū)空標志。該模塊也采用電路設計輸入方式。其電路主要由4個D型觸發(fā)器74LS74芯片來完成。輸入為總線驅動器的前4個輸出,即D0~D3,時鐘脈沖為產生HS3282讀寫信號模塊的一個輸出信號/WR3,輸出為兩個HS3282的復位信號/MR1和/MR2以及ENT1和ENT2。本模塊具體實現(xiàn)電路如圖5所示。
(3)產生片選信號/MCS的模塊
本模塊產生的/MCS信號用于驅動雙向總線驅動器,進行數(shù)據(jù)傳輸,并用于選片對HS3282進行讀寫。此模塊用一片8位判決電路74LS688來實現(xiàn)其功能。其中P5-P1接一組基址選擇開關,Q5~Q1分別接PC104總線的地址總線的XA7、XA9、XA8、XA6和XA5,G接PC104總線的地址使能信號端XAEN。只有當XAEN輸入為低時,并且P5~Pl與Q5-Q1的對應端相等時,輸出為低,才有效。
(4)雙向總線驅動器模塊
該模塊實現(xiàn)AR1NC429收發(fā)電路與接口板的接口總線PC104總線的16位數(shù)據(jù)傳輸。該模塊設計過程為,先用VHDL設計輸入方式設計兩個單向三態(tài)數(shù)據(jù)收發(fā)器,然后用電路設計輸入方式,將兩個單向數(shù)據(jù)收發(fā)器合成為一個雙向數(shù)據(jù)收發(fā)器。雙向總線驅動器模塊的功能表如表1所示。
表1 雙向總線驅動器模塊的功能表 使能信號E 方向DIR 操作
雙向總線驅動器模塊產生其一個單向三態(tài)數(shù)據(jù)收發(fā)器(TRI_GATE1)的VHDL語言設計如下
產生另一個單向三態(tài)數(shù)據(jù)收發(fā)器(TRI_GATE)的VHDL語言與此類似,只是少了D0~D3的輸出部分。兩個單向三態(tài)數(shù)據(jù)收發(fā)器構成雙向總線驅動器的電路設計如圖6所示(D0_out~D3_out作為圖5中的D0-D3輸入)
點擊看原圖[!--empirenews.page--]
(5)產生HS3282讀信號與寫信號和ENTX使能信號模塊
本模塊要實現(xiàn)的功能是產生HS3282的讀寫信號和發(fā)送使能信號及一個送入PC104總線的輸入輸出16位芯片選擇信號/IO16。該模塊用VHDL語言輸入,其相應的VHDL語言如下
(6)中斷控制模塊
本模塊用于實現(xiàn)中斷控制操作,有一個接收器滿便產生中斷,產生中斷時亦能判斷出中斷源。該模塊是用VHDL輸入方式產生的,其相應的VHDL程序如下
3.3 CPLD程序的下載
各輸入模塊經過編譯處理,根據(jù)其相互關系連結,再通過功能仿真和時序仿真確認無誤后,對各輸入輸出端口進行管腳分配。當整個設計完成時,MAX+PLUSII將生成一個文件(.pof),該文件通過下載電纜從JTAG口傳送到PC104板上的CPLD芯片內部。這樣就可將CPLD構造成自己的專用芯片,由此便可以對設計的PC104板卡進行調試。調試過程中CPLD的設計部分還可根據(jù)需要進行修改,只是修改后要重新產生.pof文件,重新將文件加載到芯片中。
4 結束語
針對PC104接口板的尺寸小的特點,本論文介紹了用CPLD實現(xiàn)基于PC104總線的429接口板,CPLD大大節(jié)省了硬件資源,同時也節(jié)省了板卡上的可利用空間,徹底解決了PC104 板卡的小尺寸給設計帶來的困難。且CPLD修改簡單,給調試工作帶來了方便。該板卡經過調試后實驗,可穩(wěn)定工作。實驗結果表明:應用CPLD簡化了系統(tǒng)結構,縮短了設計周期,提高了系統(tǒng)的可靠性。