可編程邏輯器件的的應(yīng)用參考
引言
隨著大規(guī)模超大規(guī)模可編程邏輯器件的發(fā)展,邏輯器件日益以其低廉的價(jià)格及靈活的設(shè)計(jì)方式、豐富完備的功能而廣泛應(yīng)用于電子線路設(shè)計(jì)中。采用cpld可對(duì)邏輯電路功能進(jìn)行綜合集成,根據(jù)需要設(shè)計(jì)最小的單元,節(jié)約系統(tǒng)資源,極大的減少了電路板上功能模塊及模塊間連線。同時(shí)以其靈活的設(shè)計(jì)及在線升級(jí)方式對(duì)系統(tǒng)進(jìn)行修改升級(jí),減少了對(duì)電路板本身的修改,提高了系統(tǒng)整體可靠性,節(jié)約了制版費(fèi)用,縮短了設(shè)計(jì)的周期。
但可編程邏輯器件使用中還有諸多需要注意的細(xì)節(jié),特別是對(duì)于才開始應(yīng)用其進(jìn)行設(shè)計(jì)的電子線路設(shè)計(jì)人員,只有把握住這些細(xì)節(jié)才能成功的進(jìn)行設(shè)計(jì)。
應(yīng)用基礎(chǔ)在設(shè)計(jì)之前需要對(duì)邏輯器件進(jìn)行了解,以max7000系列為例,器件管腳設(shè)置如圖1。這是將cpld器件應(yīng)用于pci接口邏輯的一個(gè)示例,實(shí)現(xiàn)對(duì)pci接口芯片輸出的本地控制信號(hào)的譯碼及部分功能模塊的嵌入式設(shè)計(jì)。
元件除去電源部分所需管腳,剩下的大部分是i/o口,可定義為系統(tǒng)所需控制管腳。需要注意幾個(gè)全局信號(hào)控制腳,如gclk、oe等管腳可用于整個(gè)邏輯器件工作時(shí)序的控制,一般用于全局信號(hào)的連接。同時(shí)需要注意的是tdi、tms、tdo、tck四個(gè)管腳是與在線編程相關(guān)的程序下載管腳,必要時(shí)候也可作為通用的管腳使用。altera元件的下載線可以購(gòu)買或是自行制作,資料比較完備。要實(shí)現(xiàn)在線編程,cpld元件部分的pcb設(shè)計(jì)時(shí)需要注意,幾個(gè)下載管腳不是懸空的,都必須進(jìn)行上拉、下拉設(shè)計(jì),電路如圖2。這點(diǎn)容易忽略,而導(dǎo)致下載軟件無法發(fā)現(xiàn)下層的器件,相關(guān)說明在文檔“in-system programmability”中。
在操作系統(tǒng)中安裝相應(yīng)的下載線驅(qū)動(dòng),就可在其圖形化的設(shè)計(jì)軟件中發(fā)現(xiàn)可編程控制器件,并對(duì)其進(jìn)行在線編程、調(diào)試。
控制邏輯設(shè)計(jì)
cpld的巨大優(yōu)勢(shì)體現(xiàn)在其靈活性,可根據(jù)需要設(shè)計(jì)組合邏輯,減少了分離元件的使用,提高了系統(tǒng)的集成程度及可靠性。對(duì)于一般的應(yīng)用采用max+plus編輯軟件就可以完成,其界面簡(jiǎn)單,所有功能都集成于菜單中,可方便完成設(shè)計(jì)、綜合、仿真、下載的全過程。圖3為是應(yīng)用74ls154對(duì)應(yīng)軟核設(shè)計(jì)的pci接口譯碼電路,從而在cpld內(nèi)部實(shí)現(xiàn)4-16譯碼。電路圖中可標(biāo)明其用到的管腳,還可根據(jù)需要進(jìn)行配置,以便于外部pcb設(shè)計(jì)的布線優(yōu)化。
應(yīng)用altera公司的硬件開發(fā)語言ahdl及通用的vhdl等硬件描述設(shè)計(jì)語言,能實(shí)現(xiàn)軟核的自主開發(fā),同時(shí)可實(shí)現(xiàn)同步仿真,驗(yàn)證設(shè)計(jì)的邏輯正確性。以下是一個(gè)數(shù)字分頻器設(shè)計(jì)示例。subdesign ndivide
(
clk :input;
clkoutd :output;%偶分頻輸出%
bxcountout[3..0] :output;
countaout[2..0] :output;
)
variable
%偶分頻變量%
countd[3..0] :dff;%小于16分頻器,偶
數(shù)分頻器%
clkregd :dff;
begin
%偶分頻部分%
countd[].clk=!(clk);
clkregd.d=!clkregd.q;
clkoutd=clkregd.q;
if (countd[].q==1) then%根據(jù)分頻數(shù)定,2的n+1分
頻,此處為4分頻,2分頻時(shí)clkregd.clk=!clk即可%
countd[].d=0;
else
countd[].d=countd[].q+1;
end if;
clkregd.clk=countd0.q;
end;
該程序仿真波形如圖4,實(shí)現(xiàn)了四分頻電路的邏輯設(shè)計(jì)、實(shí)現(xiàn)。
應(yīng)用cpld還需注意其輸出腳狀態(tài)改變時(shí)所產(chǎn)生的高頻的脈沖,會(huì)對(duì)下一級(jí)器件帶來嚴(yán)峻的考驗(yàn)。因此在 pcb設(shè)計(jì)中必須進(jìn)行相應(yīng)的處理,才能有效抑制脈沖的極值,同時(shí)保證上升沿的陡直。圖5為一脈寬調(diào)制軟核的輸出效果圖。該模塊實(shí)現(xiàn)精度為8位的脈寬調(diào)制,方波信號(hào)基頻為4khz,由33m的pci時(shí)鐘分頻得來。系統(tǒng)只應(yīng)用最簡(jiǎn)單的阻容濾波電路來降低脈沖值。
該圖為直接輸出與濾波輸出兩種條件下的示波器顯示圖,在圖a中沒有采取濾波措施,可以看到在上跳沿處為4v左右的尖峰脈沖,相比穩(wěn)定的高電平3v輸出高出1v。而圖b是經(jīng)簡(jiǎn)單的阻容濾波電路后輸出,上跳沿脈沖的峰值明顯得到抑制。較大的改善了系統(tǒng)的性能。
結(jié)束語
應(yīng)用可編程邏輯器件,可加速開發(fā)的進(jìn)程,在器件提供的方針環(huán)境中進(jìn)行功能的仿真驗(yàn)證,可及時(shí)發(fā)現(xiàn)設(shè)計(jì)中的缺陷。但是自帶的仿真器本身也并非完美,在電路設(shè)計(jì)完成后還需進(jìn)行更細(xì)致的驗(yàn)證。cpld的廣泛應(yīng)用給電子線路設(shè)計(jì)人員有更大的發(fā)揮空間,更靈活的設(shè)計(jì)方式,極大的提高了設(shè)計(jì)效率。
評(píng)論