PC104總線(xiàn)系統是一種新型的計算機測控平臺,作為嵌入式PC的一種,在軟件與硬件上與標準的臺式PC(PC/AT)體系結構完全兼容,它具有如下優(yōu)點(diǎn):體積小、十分緊湊,并采用模塊化結構,功耗低,總線(xiàn)易于擴充,緊固堆疊方式安裝,適合于制作高密度、小體積、便攜式測試設備,因此在軍用航空設備上有著(zhù)廣泛的應用,但也正是PC104板的這種小尺寸結構、板上可用空間少給設計帶來(lái)了一定的困難,所以本設計采用了復雜可編程器件CPLD,用CPLD完成了PC104總線(xiàn)與429總線(xiàn)通訊的主要電路,大大節省了硬件資源,本文著(zhù)重介紹了CPLD部分的設計。 1 系統總體設計 CPLD是一種復雜的用戶(hù)可編程邏輯器件,由于采用連續連接結構,易于預測延時(shí),從而使電路仿真更加準確。再加上使用方便的開(kāi)發(fā)工具,如MAX+PLUSII、Quartus等,使用CPLD器件可以極大地縮短產(chǎn)品開(kāi)發(fā)周期,給設計修改帶來(lái)很大方便。本論文描述了利用開(kāi)發(fā)工具M(jìn)AX+PLUS II實(shí)現CPLD處理ARINC429數據通信。系統設計方案如圖1所示。 ARINC429收發(fā)電路部分,由兩組3282和3l82芯片構成,其中每組芯片實(shí)現二路接收、一路發(fā)送,其中的控制信號均有CPLD編程產(chǎn)生:在CPLD部分,D[0...15]為16位雙向數據總線(xiàn),實(shí)現AR1NC429收發(fā)電路與PC104總線(xiàn)接口之間的數據通信,IO16為16位芯片選擇信號;在PC104總線(xiàn)接口部分,XD[0...15]為16位雙向數據總線(xiàn),XA[1...9]為地址總線(xiàn),連接CPLD,進(jìn)行選片操作,XIOR和XIOW 為IO讀寫(xiě)信號,XAEN 是允許DMA控制地址總線(xiàn)、數據總線(xiàn)和讀寫(xiě)命令線(xiàn)進(jìn)行DMA傳輸以及對存儲器和I/O設備的讀寫(xiě)。 2 系統硬件組成 429的PC104總線(xiàn)接口板的硬件組成框圖如圖2所示,主要包括AR1NC429收發(fā)電路(HS3282和HS3l82芯片組)、CPLD、429板與PC 機的接口總線(xiàn)PC104總線(xiàn)、與外部的429接口IDC16插座、中斷控制開(kāi)關(guān)等,其關(guān)系如圖2所示。 本接口板元器件布局如圖3所示。 3 CPLD內部功能及實(shí)現 3.1 開(kāi)發(fā)流程描述 本系統中的CPLD使用Altera公司的MAX7000S系列可編程邏輯器件中的EPM7128SQC100-6型號,從最初的電路設計思想到MAX+PLUSII的波形仿真,再到CPLD芯片編程結束要經(jīng)過(guò)的一般開(kāi)發(fā)流程如圖4所示。 3.2 CPLD中的模塊設計 本設計中CPLD 的功能是實(shí)現ARINC429收發(fā)電路與接口板的接口總線(xiàn)PC104總線(xiàn)的數據通信。其功能模塊可以分為6部分,以下逐一介紹各模塊的功能及其實(shí)現的方法。 (1)產(chǎn)生AR1NC429控制器HS3282所需的TTCLK時(shí)鐘信號模塊 TTCLK即發(fā)射器時(shí)鐘信號,本設計中該信號有480 KHZ和1 MHZ兩種可選頻率,是由一個(gè)48 MHZ的晶振提供信號給CPLD,然后由CPLD編程產(chǎn)生480KHZ和1MHZ兩種信號以備選擇。該模塊用圖形編輯的方式實(shí)現。要產(chǎn)生3282所需要的480KHZ信號需要對輸入48MHZ信號進(jìn)行兩次10分頻,要產(chǎn)生1 MHZ信號需要對輸入信號進(jìn)行6分頻再8分頻。6分頻電路采用3個(gè)JK觸發(fā)器實(shí)現,8分頻電路采用74393實(shí)現,10分頻電路采用7490實(shí)現。 (2)產(chǎn)生復位信號/MR和控制發(fā)射器使能信號ENTX的信號ENT模塊/MR是對3282的主復位信號,/MR將直接送到HS3282,而ENT將送到另一模塊中,用于控制發(fā)射器使能信號ENTX的產(chǎn)生,ENTX=ENT*/TXR,其中TXR為發(fā)送緩沖區空標志。該模塊也采用電路設計輸入方式。其電路主要由4個(gè)D型觸發(fā)器74LS74芯片來(lái)完成。輸入為總線(xiàn)驅動(dòng)器的前4個(gè)輸出,即D0~D3,時(shí)鐘脈沖為產(chǎn)生HS3282讀寫(xiě)信號模塊的一個(gè)輸出信號/WR3,輸出為兩個(gè)HS3282的復位信號/MR1和/MR2以及ENT1和ENT2。本模塊具體實(shí)現電路如圖5所示。 (3)產(chǎn)生片選信號/MCS的模塊 本模塊產(chǎn)生的/MCS信號用于驅動(dòng)雙向總線(xiàn)驅動(dòng)器,進(jìn)行數據傳輸,并用于選片對HS3282進(jìn)行讀寫(xiě)。此模塊用一片8位判決電路74LS688來(lái)實(shí)現其功能。其中P5-P1接一組基址選擇開(kāi)關(guān),Q5"Q1分別接PC104總線(xiàn)的地址總線(xiàn)的XA7、XA9、XA8、XA6和XA5,G接PC104總線(xiàn)的地址使能信號端XAEN。只有當XAEN輸入為低時(shí),并且P5~Pl與Q5-Q1的對應端相等時(shí),輸出為低,才有效。 (4)雙向總線(xiàn)驅動(dòng)器模塊 該模塊實(shí)現AR1NC429收發(fā)電路與接口板的接口總線(xiàn)PC104總線(xiàn)的16位數據傳輸。該模塊設計過(guò)程為,先用VHDL設計輸入方式設計兩個(gè)單向三態(tài)數據收發(fā)器,然后用電路設計輸入方式,將兩個(gè)單向數據收發(fā)器合成為一個(gè)雙向數據收發(fā)器。 雙向總線(xiàn)驅動(dòng)器模塊產(chǎn)生其一個(gè)單向三態(tài)數據收發(fā)器(TRI_GATE1)的VHDL語(yǔ)言設計如下 library ieee; use ieee.std_logic_1164.all; entity tri_gate1 is port(a0,al,a2,a3:in std_ logic; a:in std_logic_vector(15 downto 4); en:in std_logic; b0,b1,b2,b3:out std_logic; b:out std_logic_vector(15 downto 4): D0,D1,D2,D3:out std_logic); --向模塊2中送數據的4個(gè)輸出端 end tri_gatel; architecture behav of tri_gate1 is begin process begin if en='1' then --EN為高電平時(shí)收發(fā)器有效 b0(5)產(chǎn)生HS3282讀信號與寫(xiě)信號和ENTX使能信號模塊 本模塊要實(shí)現的功能是產(chǎn)生HS3282的讀寫(xiě)信號和發(fā)送使能信號及一個(gè)送入PC104總線(xiàn)的輸入輸出16位芯片選擇信號/IO16。該模塊用VHDL語(yǔ)言輸入,其相應的VHDL語(yǔ)言如下 library ieee; use ieee.std logic_1164.all; entity gal4243 is port(MCS,XIOW,XIOR,A1,A2,A3,A4,ENT1, ENT2,TXR1,TXR2: in std_logic; WR0,W Rl,WR2,W R3,WR4,W R5,W R6: out std_logic; RD0,RD1,RD2,RD3,RD4:out std_logic; IO16,ENTX1,ENTX2:out std_logic); end gal4243; architecture behav of gal4243 is begin process begin WR6本模塊用于實(shí)現中斷控制操作,有一個(gè)接收器滿(mǎn)便產(chǎn)生中斷,產(chǎn)生中斷時(shí)亦能判斷出中斷源。該模塊是用VHDL輸入方式產(chǎn)生的,其相應的VHDL程序如下 library ieee; use ieee.std logic_1164.all; entity U32 is port(TXR1,DR11,DR12,TXR2,DR21,DR22,RD4:in std_logic; D0,D1,D2,D3,D4,D5,INT:out std_logic); end U32; architecture behav of U32 is begin process begin if RD4='0' then D0 4 結束語(yǔ) 針對PC104接口板的尺寸小的特點(diǎn),本論文介紹了用CPLD實(shí)現基于PC104總線(xiàn)的429接口板,CPLD大大節省了硬件資源,同時(shí)也節省了板卡上的可利用空間,徹底解決了PC104 板卡的小尺寸給設計帶來(lái)的困難。且CPLD修改簡(jiǎn)單,給調試工作帶來(lái)了方便。該板卡經(jīng)過(guò)調試后實(shí)驗,可穩定工作。實(shí)驗結果表明:應用CPLD簡(jiǎn)化了系統結構,縮短了設計周期,提高了系統的可靠性。 |