《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于PC104總線的429接口板
基于PC104總線的429接口板
EEworld
EEworld
摘要: 1系統(tǒng)總體設(shè)計(jì)CPLD是一種復(fù)雜的用戶可編程邏輯器件,由于采用連續(xù)連接結(jié)構(gòu),,易于預(yù)測延時(shí),,從而使電路...
關(guān)鍵詞: PC104總線 429接口板
Abstract:
Key words :

關(guān)鍵字:PC104總線 429接口板

    1 系統(tǒng)總體設(shè)計(jì)
  

    CPLD是一種復(fù)雜的用戶可編程邏輯器件,,由于采用連續(xù)連接結(jié)構(gòu),,易于預(yù)測延時(shí),,從而使電路仿真更加準(zhǔn)確,。再加上使用方便的開發(fā)工具,,如MAX+PLUSII,、Quartus等,,使用CPLD器件可以極大地縮短產(chǎn)品開發(fā)周期,給設(shè)計(jì)修改帶來很大方便,。本論文描述了利用開發(fā)工具M(jìn)AX+PLUS II實(shí)現(xiàn)CPLD處理ARINC429數(shù)據(jù)通信,。系統(tǒng)設(shè)計(jì)方案如圖1所示。

 

        ARINC429收發(fā)電路部分,,由兩組3282和3l82芯片構(gòu)成,,其中每組芯片實(shí)現(xiàn)二路接收、一路發(fā)送,其中的控制信號均有CPLD編程產(chǎn)生:在CPLD部分,,D[0...15]為16位雙向數(shù)據(jù)總線,,實(shí)現(xiàn)AR1NC429收發(fā)電路與PC104總線接口之間的數(shù)據(jù)通信,IO16為16位芯片選擇信號,;在PC104總線接口部分,,XD[0...15]為16位雙向數(shù)據(jù)總線,XA[1...9]為地址總線,,連接CPLD,,進(jìn)行選片操作,XIOR和XIOW 為IO讀寫信號,,XAEN 是允許DMA控制地址總線,、數(shù)據(jù)總線和讀寫命令線進(jìn)行DMA傳輸以及對存儲(chǔ)器和I/O設(shè)備的讀寫。

       2 系統(tǒng)硬件組成
  

        429的PC104總線接口板的硬件組成框圖如圖2所示,,主要包括AR1NC429收發(fā)電路(HS3282和HS3l82芯片組),、CPLD、429板與PC 機(jī)的接口總線PC104總線,、與外部的429接口IDC16插座,、中斷控制開關(guān)等,其關(guān)系如圖2所示,。


 本接口板元器件布局如圖3所示,。
   

   3 CPLD內(nèi)部功能及實(shí)現(xiàn)


      3.1 開發(fā)流程描述
  

        本系統(tǒng)中的CPLD使用Altera公司的MAX7000S系列可編程邏輯器件中的EPM7128SQC100-6型號,從最初的電路設(shè)計(jì)思想到MAX+PLUSII的波形仿真,,再到CPLD芯片編程結(jié)束要經(jīng)過的一般開發(fā)流程如圖4所示,。


        3.2 CPLD中的模塊設(shè)計(jì)
  

        本設(shè)計(jì)中CPLD 的功能是實(shí)現(xiàn)ARINC429收發(fā)電路與接口板的接口總線PC104總線的數(shù)據(jù)通信。其功能模塊可以分為6部分,,以下逐一介紹各模塊的功能及其實(shí)現(xiàn)的方法,。
  

        (1)產(chǎn)生AR1NC429控制器HS3282所需的TTCLK時(shí)鐘信號模塊
  

         TTCLK即發(fā)射器時(shí)鐘信號,本設(shè)計(jì)中該信號有480 KHZ和1 MHZ兩種可選頻率,,是由一個(gè)48 MHZ的晶振提供信號給CPLD,,然后由CPLD編程產(chǎn)生480KHZ和1MHZ兩種信號以備選擇。該模塊用圖形編輯的方式實(shí)現(xiàn),。要產(chǎn)生3282所需要的480KHZ信號需要對輸入48MHZ信號進(jìn)行兩次10分頻,,要產(chǎn)生1 MHZ信號需要對輸入信號進(jìn)行6分頻再8分頻。6分頻電路采用3個(gè)JK觸發(fā)器實(shí)現(xiàn),,8分頻電路采用74393實(shí)現(xiàn),,10分頻電路采用7490實(shí)現(xiàn)。
  

        (2)產(chǎn)生復(fù)位信號/MR和控制發(fā)射器使能信號ENTX的信號ENT模塊
/MR是對3282的主復(fù)位信號,,/MR將直接送到HS3282,,而ENT將送到另一模塊中,,用于控制發(fā)射器使能信號ENTX的產(chǎn)生,ENTX=ENT*/TXR,,其中TXR為發(fā)送緩沖區(qū)空標(biāo)志,。該模塊也采用電路設(shè)計(jì)輸入方式。其電路主要由4個(gè)D型觸發(fā)器74LS74芯片來完成,。輸入為總線驅(qū)動(dòng)器的前4個(gè)輸出,,即D0~D3,時(shí)鐘脈沖為產(chǎn)生HS3282讀寫信號模塊的一個(gè)輸出信號/WR3,,輸出為兩個(gè)HS3282的復(fù)位信號/MR1和/MR2以及ENT1和ENT2,。本模塊具體實(shí)現(xiàn)電路如圖5所示。

 

      (3)產(chǎn)生片選信號/MCS的模塊
  

        本模塊產(chǎn)生的/MCS信號用于驅(qū)動(dòng)雙向總線驅(qū)動(dòng)器,,進(jìn)行數(shù)據(jù)傳輸,,并用于選片對HS3282進(jìn)行讀寫。此模塊用一片8位判決電路74LS688來實(shí)現(xiàn)其功能,。其中P5-P1接一組基址選擇開關(guān),,Q5~Q1分別接PC104總線的地址總線的XA7、XA9,、XA8,、XA6和XA5,G接PC104總線的地址使能信號端XAEN,。只有當(dāng)XAEN輸入為低時(shí),,并且P5~Pl與Q5-Q1的對應(yīng)端相等時(shí),輸出為低,,才有效,。
        (4)雙向總線驅(qū)動(dòng)器模塊
  

        該模塊實(shí)現(xiàn)AR1NC429收發(fā)電路與接口板的接口總線PC104總線的16位數(shù)據(jù)傳輸。該模塊設(shè)計(jì)過程為,,先用VHDL設(shè)計(jì)輸入方式設(shè)計(jì)兩個(gè)單向三態(tài)數(shù)據(jù)收發(fā)器,,然后用電路設(shè)計(jì)輸入方式,,將兩個(gè)單向數(shù)據(jù)收發(fā)器合成為一個(gè)雙向數(shù)據(jù)收發(fā)器,。雙向總線驅(qū)動(dòng)器模塊的功能表如表1所示。

   表1 雙向總線驅(qū)動(dòng)器模塊的功能表 使能信號E 方向DIR 操作


  雙向總線驅(qū)動(dòng)器模塊產(chǎn)生其一個(gè)單向三態(tài)數(shù)據(jù)收發(fā)器(TRI_GATE1)的VHDL語言設(shè)計(jì)如下
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中送數(shù)據(jù)的4個(gè)輸出端
end tri_gatel,;
architecture behav of tri_gate1 is
begin
process
begin
if en='1' then --EN為高電平時(shí)收發(fā)器有效
b0<=a0,;b1<=a1;b2<=a2,;b3<=a3,;b<=a;
D0<=a0,;D1<=a1,;D2<=a2;D3<=a3,;
else --EN為低時(shí)高阻狀態(tài)
b0<=一Z,;b1<=-Z;b2<=-Z ,;b3<='Z',;b<="ZZZZZZZZZZZZ";
end if
end process,;
end behav,;


       產(chǎn)生另一個(gè)單向三態(tài)數(shù)據(jù)收發(fā)器(TRI_GATE)的VHDL語言與此類似,只是少了D0~D3的輸出部分,。兩個(gè)單向三態(tài)數(shù)據(jù)收發(fā)器構(gòu)成雙向總線驅(qū)動(dòng)器的電路設(shè)計(jì)如圖6所示(D0_out~D3_out作為圖5中的D0-D3輸入)

  (5)產(chǎn)生HS3282讀信號與寫信號和ENTX使能信號模塊
本模塊要實(shí)現(xiàn)的功能是產(chǎn)生HS3282的讀寫信號和發(fā)送使能信號及一個(gè)送入PC104總線的輸入輸出16位芯片選擇信號/IO16,。該模塊用VHDL語言輸入,其相應(yīng)的VHDL語言如下
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<=XIOW or MCS or A4 or(not A3) or(not A2)or A1,;
WR5<=XIOW or MCS or A4 or(not A3) or A2 or(not A1),;
WR4<=XIOW or MCS or A4 or(not A3) or A2 or A1;
WR3<=XIOW or MCS or A4 or A3 or(not A2)or(not A1),;
WR2<=XIOW or MCS or A4 or A3 or(not A2)or A1,;
WR1<=XIOW or MCS or A4 or A3 or A2 or(not A1);
WR0<=XIOW or MCS or A4 orA3 or A2 or A1,; --產(chǎn)生寫信號
if MCS='0' then
IO16<=MCS,;
else
IO16<='Z';
endif;
RD4<=XIOR or MCS or(notA4)orA3 or A2,;
RD3<=XIOR or MCS or A4 or(not A3)or(not A2),;
RD2<=XIOR or MCS or A4 or(not A3)or A2;
RDI<=XIOR or MCS or A4 or A3 or(not A2)
RD0<=XIOR or MCS or A4 or A3 orA2,;--產(chǎn)生讀信號
ENTX1<=ENT1 and(not TXR1),;
ENTX2<=ENT2 and(not TXR2);--產(chǎn)生發(fā)送使能信號
end process,;
end behav,;


       (6)中斷控制模塊


        本模塊用于實(shí)現(xiàn)中斷控制操作,,有一個(gè)接收器滿便產(chǎn)生中斷,,產(chǎn)生中斷時(shí)亦能判斷出中斷源。該模塊是用VHDL輸入方式產(chǎn)生的,,其相應(yīng)的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<=not DR11:
D1<=not DR12,;
D2<=not DR21,;
D3<=not DR22;
--產(chǎn)生中斷時(shí)用來判斷哪個(gè)接收器滿
D4<=TXR1,;
D5<=TXR2,;
--用來判斷哪一個(gè)發(fā)送緩沖區(qū)空
else
D0<='Z';D1<'Z',;D2<='Z',;D3<='Z';D4<='Z',;D5<='Z',;
endif;
INT<=not(DR11 and DR12 and DR21 and DR22),; --有一個(gè)接收器滿便產(chǎn)生中斷
end process,;
end behav;


       3.3 CPLD程序的下載
  

        各輸入模塊經(jīng)過編譯處理,,根據(jù)其相互關(guān)系連結(jié),,再通過功能仿真和時(shí)序仿真確認(rèn)無誤后,對各輸入輸出端口進(jìn)行管腳分配,。當(dāng)整個(gè)設(shè)計(jì)完成時(shí),,MAX+PLUSII將生成一個(gè)文件(.pof),該文件通過下載電纜從JTAG口傳送到PC104板上的CPLD芯片內(nèi)部,。這樣就可將CPLD構(gòu)造成自己的專用芯片,,由此便可以對設(shè)計(jì)的PC104板卡進(jìn)行調(diào)試。調(diào)試過程中CPLD的設(shè)計(jì)部分還可根據(jù)需要進(jìn)行修改,,只是修改后要重新產(chǎn)生.pof文件,,重新將文件加載到芯片中,。

       4 結(jié)束語
  

        針對PC104接口板的尺寸小的特點(diǎn),本論文介紹了用CPLD實(shí)現(xiàn)基于PC104總線的429接口板,,CPLD大大節(jié)省了硬件資源,,同時(shí)也節(jié)省了板卡上的可利用空間,徹底解決了PC104 板卡的小尺寸給設(shè)計(jì)帶來的困難,。且CPLD修改簡單,,給調(diào)試工作帶來了方便。該板卡經(jīng)過調(diào)試后實(shí)驗(yàn),,可穩(wěn)定工作,。實(shí)驗(yàn)結(jié)果表明:應(yīng)用CPLD簡化了系統(tǒng)結(jié)構(gòu),縮短了設(shè)計(jì)周期,,提高了系統(tǒng)的可靠性,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。