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

  0 引 言

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

  1 數字電壓表的構成及工作原理

  數字電壓表是諸多數字化儀表的核心與基礎。以數字電壓表為核心擴展成的各種數字化儀表,幾乎覆蓋了電子電工測量、工業測量、自動化系統等各個領域。

  1.1 數字電壓表

  數字電子系統通常由ASIC芯片和外圍硬件設備組成,具有靈活性不強等缺陷。如圖1所示的數字電壓表,A/D轉換器在控制ASIC所提供的時序信號作用下,對輸入模擬信號進行轉換,控制核心再對轉換結果進行運算和處理,最后驅動輸出裝置顯示數字電壓信號。由于系統功能由ASID硬件結構決定,其功能難以更新和擴展。如果用EDA方法設計,即以可編程邏輯器件CPLD代替ASIC芯片,用硬件描述語言決定系統功能,就可在硬件不變的情況下修改程序以更新和擴展功能,使其靈活性顯著提高。基于此考慮,用EDA方法設計了一個簡易數字電壓表控制電路,旨在研究提高數字電子系統靈活性的設計方法。

數字電壓表

  1.2 數字電壓表的工作原理

  數字電壓表的改進結構如圖2所示,它的硬件包括三個部分,其中轉換器ADC0804的作用是將模擬電壓信號轉換成數字電壓值,并送到CPLD以待運算和處理;七段數碼顯示器的作用是接收CPLD轉換后的BCD數據并顯示;CPLD兼有處理和協調作用,包括控制A/D轉換動作、接收A/D轉換結果及編碼、驅動顯示等作用。因此,CPLD可分為三個功能模塊,即控制模塊、計算模塊和顯示驅動模塊。

數字電壓表的改進結構

  2 CPLD設計

  由以上分析,數字電壓表的CPLD設計,適合于頂層電路與三個底層模塊相結合的設計方法,其中顯示驅動模塊有標準的七段顯示VHDL子程序可供調用。下面僅論述其余兩模塊的設計。

  2.1 控制模塊的設計

  該模塊的任務是,控制ADC0804的工作時序,可分為S0~S3四個連續的步驟或狀態。任務分別是:使ADC0804準備轉換(狀態S0)、轉換(狀態 S1)、CPLD準備讀取轉換結果(狀態S2)、讀取轉換結果(狀態S3)。各狀態由CPLD輸出腳CS、WR、RD的不同電平組合確定,主要的VHDL 語句為:

主要的VHDL 語句

  2.2 計算模塊

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

步進變化的256

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

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

 

  主要VHDL語句如下:

主要VHDL語句

   3 仿真結果

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

 

仿真結果

  4 結 語

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 羞羞的影院 | 国产成人一区二区三区高清 | 久久综合狠狠综合狠狠 | 一个人看的视频免费观看www | 成人18在线观看 | 成人在线h| 午夜剧场官网 | 亚洲一区二区三区免费 | 亚洲综合激情小说 | 欧美精品一区二区三区在线播放 | 国产亚洲欧洲日韩综合v | 欧美久| 看全色黄大色大片免费久久久 | 成人小视频在线观看 | 色网址在线 | 小明明看看视频永久免费网 | 中文字幕精品视频在线观 | 国产日韩欧美精品一区二区三区 | 国产va精品网站精品网站精品 | 婷婷在线五月 | 香蕉污污视频 | 国产精品一区二区不卡 | 亚洲九九夜夜 | 日韩 欧美 中文字幕 不卡 | 亚洲欧美一区二区三区久本道 | 一个人免费观看www视频 | 人人干日日操 | 久久综合草 | 成人午夜在线观看 | 亚洲产国偷v产偷v自拍色戒 | 日韩精品中文字幕一区二区三区 | 三级黄色一级视频 | 一级午夜| 国产精品亚洲一区二区三区正片 | 国产777| 日日艹| 老妇毛片 | 亚洲综合日韩精品欧美综合区 | 午夜精品aaa国产福利 | 性一交一无一伦一精一品 | 男人香蕉好大好爽视频 |