《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 數(shù)字電子系統(tǒng)的EDA設(shè)計(jì)方法研究
數(shù)字電子系統(tǒng)的EDA設(shè)計(jì)方法研究
摘要: 本文數(shù)字電壓表的功能由VHDL程序決定,,用Max+Plus II軟件編譯,、仿真和邏輯綜合后,,下載到CPLD芯片EPF10K10LC84-4。CPLD工作主頻為100 MHz,,邏輯綜合占用了174個(gè)邏輯單元,,資源利用率為30%,。
Abstract:
Key words :

  0 引 言

  隨著計(jì)算機(jī)與微電子技術(shù)的發(fā)展,,電子設(shè)計(jì)自動(dòng)化EDA領(lǐng)域已成為電子技術(shù)發(fā)展的主體,數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快,、容量大,、體積小、重量輕的方向發(fā)展,。推動(dòng)該潮流發(fā)展的引擎,,就是日趨進(jìn)步和完善的CPLD(Complex Programmable Logic Device)設(shè)計(jì)技術(shù)。而電子設(shè)計(jì)自動(dòng)化,,是近幾年迅速發(fā)展起來(lái)的將計(jì)算機(jī)軟件,、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子設(shè)計(jì)學(xué)科,,其中EDA設(shè)計(jì)語(yǔ)言中的 VHDL語(yǔ)言是一種快速的電路設(shè)計(jì)工具,,功能涵蓋了電路描述、電路合成,、電路仿真等三大電路設(shè)計(jì)工作,。該數(shù)字電壓表的電路設(shè)計(jì),正是用VHDL語(yǔ)言完成的,。此次設(shè)計(jì)主要應(yīng)用美國(guó)Altera公司自行設(shè)計(jì)的一種CAE軟件工具,,即Max+PlusⅡ軟件。

  1 數(shù)字電壓表的構(gòu)成及工作原理

  數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),。以數(shù)字電壓表為核心擴(kuò)展成的各種數(shù)字化儀表,幾乎覆蓋了電子電工測(cè)量,、工業(yè)測(cè)量,、自動(dòng)化系統(tǒng)等各個(gè)領(lǐng)域。

  1.1 數(shù)字電壓表

  數(shù)字電子系統(tǒng)通常由ASIC芯片和外圍硬件設(shè)備組成,,具有靈活性不強(qiáng)等缺陷,。如圖1所示的數(shù)字電壓表,A/D轉(zhuǎn)換器在控制ASIC所提供的時(shí)序信號(hào)作用下,,對(duì)輸入模擬信號(hào)進(jìn)行轉(zhuǎn)換,,控制核心再對(duì)轉(zhuǎn)換結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓信號(hào),。由于系統(tǒng)功能由ASID硬件結(jié)構(gòu)決定,,其功能難以更新和擴(kuò)展。如果用EDA方法設(shè)計(jì),,即以可編程邏輯器件CPLD代替ASIC芯片,,用硬件描述語(yǔ)言決定系統(tǒng)功能,就可在硬件不變的情況下修改程序以更新和擴(kuò)展功能,使其靈活性顯著提高,?;诖丝紤],用EDA方法設(shè)計(jì)了一個(gè)簡(jiǎn)易數(shù)字電壓表控制電路,,旨在研究提高數(shù)字電子系統(tǒng)靈活性的設(shè)計(jì)方法,。

數(shù)字電壓表

  1.2 數(shù)字電壓表的工作原理

  數(shù)字電壓表的改進(jìn)結(jié)構(gòu)如圖2所示,它的硬件包括三個(gè)部分,,其中轉(zhuǎn)換器ADC0804的作用是將模擬電壓信號(hào)轉(zhuǎn)換成數(shù)字電壓值,,并送到CPLD以待運(yùn)算和處理;七段數(shù)碼顯示器的作用是接收CPLD轉(zhuǎn)換后的BCD數(shù)據(jù)并顯示,;CPLD兼有處理和協(xié)調(diào)作用,,包括控制A/D轉(zhuǎn)換動(dòng)作、接收A/D轉(zhuǎn)換結(jié)果及編碼,、驅(qū)動(dòng)顯示等作用,。因此,CPLD可分為三個(gè)功能模塊,,即控制模塊,、計(jì)算模塊和顯示驅(qū)動(dòng)模塊。

數(shù)字電壓表的改進(jìn)結(jié)構(gòu)

  2 CPLD設(shè)計(jì)

  由以上分析,,數(shù)字電壓表的CPLD設(shè)計(jì),,適合于頂層電路與三個(gè)底層模塊相結(jié)合的設(shè)計(jì)方法,其中顯示驅(qū)動(dòng)模塊有標(biāo)準(zhǔn)的七段顯示VHDL子程序可供調(diào)用,。下面僅論述其余兩模塊的設(shè)計(jì),。

  2.1 控制模塊的設(shè)計(jì)

  該模塊的任務(wù)是,控制ADC0804的工作時(shí)序,,可分為S0~S3四個(gè)連續(xù)的步驟或狀態(tài),。任務(wù)分別是:使ADC0804準(zhǔn)備轉(zhuǎn)換(狀態(tài)S0)、轉(zhuǎn)換(狀態(tài) S1),、CPLD準(zhǔn)備讀取轉(zhuǎn)換結(jié)果(狀態(tài)S2),、讀取轉(zhuǎn)換結(jié)果(狀態(tài)S3)。各狀態(tài)由CPLD輸出腳CS,、WR,、RD的不同電平組合確定,主要的VHDL 語(yǔ)句為:

主要的VHDL 語(yǔ)句

  2.2 計(jì)算模塊

  該模塊將A/D轉(zhuǎn)換結(jié)果分為高低4位,,查表依次得到其BCD碼后再進(jìn)行計(jì)算,,計(jì)算結(jié)果與A/D轉(zhuǎn)換器的位寬和參考電壓Vref均有關(guān)。本文選用8位轉(zhuǎn)換器 ADC0804,,參考電壓為5.12 V,,故能輸出從0~5.12 V按照0.02 V步進(jìn)變化的256(28)個(gè)離散值,。如表1所示。

步進(jìn)變化的256

  電壓離散值可用8位二進(jìn)制(或2位十六進(jìn)制數(shù))表示,,表1中列出了輸出數(shù)字電壓高4位及低4位可能出現(xiàn)的16個(gè)值,。如果CPLD從ADC20804接收到信號(hào)01101000B(即68H),對(duì)照表1高4位0110B是1.92 V,,而低4位1000B是0.16 V,,則最后的電壓輸出結(jié)果是1.92+0.16=2.08 V。

  本文要求精確到兩位小數(shù)0.01 V,,故將輸出電壓表示成12位的BCD碼形式,。如上述的1.92 V是(000110010010)BCD,0.16 V是(000000010110)BCD,,相加結(jié)果2.08 V是(001000001000)BCD,。同理,若CPLD轉(zhuǎn)換數(shù)據(jù)01110000B(即70H),,則計(jì)算結(jié)果2.24 V是(001000100100)BCD,。因此計(jì)算模塊的設(shè)計(jì)主要包括一個(gè)12位的加法器及與之對(duì)應(yīng)的存儲(chǔ)器。

 

  主要VHDL語(yǔ)句如下:

主要VHDL語(yǔ)句

   3 仿真結(jié)果

  CPLD設(shè)計(jì)完成后,,用Max+Plus II軟件編譯和仿真,,波形如圖3所示。由圖3可知,,CPLD工作時(shí),,先啟動(dòng)控制模塊,它對(duì)模數(shù)轉(zhuǎn)換的一次控制由四個(gè)狀態(tài)組成,。在狀態(tài)S0,,選定 ADC0804,為模數(shù)轉(zhuǎn)換做準(zhǔn)備,;在狀態(tài)S1,,使ADC0804進(jìn)行轉(zhuǎn)換,當(dāng)CPLD的INTR信號(hào)端由高電平轉(zhuǎn)為低電平時(shí),,模數(shù)轉(zhuǎn)換結(jié)束進(jìn)入下一狀態(tài) S2,為讀取轉(zhuǎn)換結(jié)果做準(zhǔn)備,;在狀態(tài)S3,,CPLD讀取模數(shù)轉(zhuǎn)換結(jié)果。接著,,CPLD的計(jì)算模塊工作,,求出二進(jìn)制模數(shù)轉(zhuǎn)換數(shù)據(jù)的12位BCD碼。最后啟動(dòng)顯示驅(qū)動(dòng)模塊,,用數(shù)碼管顯示有兩位小數(shù)的數(shù)字電壓值,。例如,,模數(shù)轉(zhuǎn)換結(jié)果即CPLD的輸入信號(hào)Din[7..0]若為68H,則輸出電壓 Dout[11..0]是2.08 V,,Din[7..0]為70H時(shí),,輸出電壓Dout[11..0]是2.24 V,符合設(shè)計(jì)要求,。

 

仿真結(jié)果

  4 結(jié) 語(yǔ)

  本文數(shù)字電壓表的功能由VHDL程序決定,,用Max+Plus II軟件編譯、仿真和邏輯綜合后,,下載到CPLD芯片EPF10K10LC84-4,。CPLD工作主頻為100 MHz,邏輯綜合占用了174個(gè)邏輯單元,,資源利用率為30%,。本文所設(shè)計(jì)的數(shù)字電壓表電路板已通過(guò)硬件測(cè)試,能測(cè)量和顯示0~5 V的弱電壓信號(hào),,準(zhǔn)確度為0.02 V,,并已在我校EDA工程實(shí)訓(xùn)中心測(cè)試成功。保持CPLD芯片不變,,將輸入信號(hào)改為溫度信號(hào),、濕度等信號(hào)分別測(cè)試時(shí),均能顯示相應(yīng)的數(shù)字值,,因此,,基于這種設(shè)計(jì)方法的數(shù)字電子系統(tǒng)具有很強(qiáng)的靈活性。

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