用CPLD實現基于PC104總線的429接口板
(3)產生片選信號/MCS的模塊
本文引用地址:http://www.104case.com/article/82970.htm本模塊產生的/MCS信號用于驅動雙向總線驅動器,進行數據傳輸,并用于選片對HS3282進行讀寫。此模塊用一片8位判決電路74LS688來實現其功能。其中P5-P1接一組基址選擇開關,Q5~Q1分別接PC104總線的地址總線的XA7、XA9、XA8、XA6和XA5,G接PC104總線的地址使能信號端XAEN。只有當XAEN輸入為低時,并且P5~Pl與Q5-Q1的對應端相等時,輸出為低,才有效。
(4)雙向總線驅動器模塊
該模塊實現AR1NC429收發電路與接口板的接口總線PC104總線的16位數據傳輸。該模塊設計過程為,先用VHDL設計輸入方式設計兩個單向三態數據收發器,然后用電路設計輸入方式,將兩個單向數據收發器合成為一個雙向數據收發器。雙向總線驅動器模塊的功能表如表1所示。
表1 雙向總線驅動器模塊的功能表 使能信號E 方向DIR 操作
雙向總線驅動器模塊產生其一個單向三態數據收發器(TRI_GATE1)的VHDL語言設計如下
產生另一個單向三態數據收發器(TRI_GATE)的VHDL語言與此類似,只是少了D0~D3的輸出部分。兩個單向三態數據收發器構成雙向總線驅動器的電路設計如圖6所示(D0_out~D3_out作為圖5中的D0-D3輸入)
(5)產生HS3282讀信號與寫信號和ENTX使能信號模塊
本模塊要實現的功能是產生HS3282的讀寫信號和發送使能信號及一個送入PC104總線的輸入輸出16位芯片選擇信號/IO16。該模塊用VHDL語言輸入,其相應的VHDL語言如下
(6)中斷控制模塊
本模塊用于實現中斷控制操作,有一個接收器滿便產生中斷,產生中斷時亦能判斷出中斷源。該模塊是用VHDL輸入方式產生的,其相應的VHDL程序如下
3.3 CPLD程序的下載
各輸入模塊經過編譯處理,根據其相互關系連結,再通過功能仿真和時序仿真確認無誤后,對各輸入輸出端口進行管腳分配。當整個設計完成時,MAX+PLUSII將生成一個文件(.pof),該文件通過下載電纜從JTAG口傳送到PC104板上的CPLD芯片內部。這樣就可將CPLD構造成自己的專用芯片,由此便可以對設計的PC104板卡進行調試。調試過程中CPLD的設計部分還可根據需要進行修改,只是修改后要重新產生.pof文件,重新將文件加載到芯片中。
4 結束語
針對PC104接口板的尺寸小的特點,本論文介紹了用CPLD實現基于PC104總線的429接口板,CPLD大大節省了硬件資源,同時也節省了板卡上的可利用空間,徹底解決了PC104 板卡的小尺寸給設計帶來的困難。且CPLD修改簡單,給調試工作帶來了方便。該板卡經過調試后實驗,可穩定工作。實驗結果表明:應用CPLD簡化了系統結構,縮短了設計周期,提高了系統的可靠性。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論