基于PC104總線的429接口板
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; --產生寫信號
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;--產生讀信號
ENTX1=ENT1 and(not TXR1);
ENTX2=ENT2 and(not TXR2);--產生發(fā)送使能信號
end process;
end behav; 本文引用地址:http://butianyuan.cn/article/173258.htm
(6)中斷控制模塊
本模塊用于實現中斷控制操作,有一個接收器滿便產生中斷,產生中斷時亦能判斷出中斷源。該模塊是用VHDL輸入方式產生的,其相應的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;
--產生中斷時用來判斷哪個接收器滿
D4=TXR1;
D5=TXR2;
--用來判斷哪一個發(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); --有一個接收器滿便產生中斷
end process;
end behav;
3.3 CPLD程序的下載
各輸入模塊經過編譯處理,根據其相互關系連結,再通過功能仿真和時序仿真確認無誤后,對各輸入輸出端口進行管腳分配。當整個設計完成時,MAX+PLUSII將生成一個文件(.pof),該文件通過下載電纜從JTAG口傳送到PC104板上的CPLD芯片內部。這樣就可將CPLD構造成自己的專用芯片,由此便可以對設計的PC104板卡進行調試。調試過程中CPLD的設計部分還可根據需要進行修改,只是修改后要重新產生.pof文件,重新將文件加載到芯片中。
4 結束語
針對PC104接口板的尺寸小的特點,本論文介紹了用CPLD實現基于PC104總線的429接口板,CPLD大大節(jié)省了硬件資源,同時也節(jié)省了板卡上的可利用空間,徹底解決了PC104 板卡的小尺寸給設計帶來的困難。且CPLD修改簡單,給調試工作帶來了方便。該板卡經過調試后實驗,可穩(wěn)定工作。實驗結果表明:應用CPLD簡化了系統(tǒng)結構,縮短了設計周期,提高了系統(tǒng)的可靠性。
評論