加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

EDA程序設(shè)計(jì)-數(shù)字電壓表設(shè)計(jì)

11/26 09:03
1308
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

一、前言

課題研究的背景

隨著信息技術(shù)獲得了突飛猛進(jìn)的發(fā)展,信息技術(shù)滲透了我們生活的幾乎全部領(lǐng)域,改變著人類的生存狀態(tài)和思維模式。而我們的課題所涉及的電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)就是在這種時(shí)代背景下產(chǎn)生的,并影響巨大。FPGA是新型的可編程邏輯器件,與傳統(tǒng) ASIC 相比,具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn) 等優(yōu)點(diǎn),特別適合于產(chǎn)品的樣品開發(fā)和小批量生產(chǎn)。傳統(tǒng)的數(shù)字電壓表多以單片機(jī)為控制核心,芯片集成度不高,系統(tǒng)連線復(fù)雜,難以小型化,尤其在產(chǎn)品需求發(fā)生變化時(shí),不得不重新布版、調(diào)試,增加了投資風(fēng)險(xiǎn)和成本。而采用 FPGA 進(jìn)行產(chǎn)品開發(fā),可以靈活地進(jìn)行模塊配置,大大縮短了開發(fā)周期,也有利于數(shù)字電壓表向小型化、集成化的方向發(fā)展。 隨著電子技術(shù)的發(fā)展,當(dāng)前數(shù)字電子系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。推動(dòng)該潮流發(fā)展的引擎就是日趨進(jìn)步和完善的ASIC設(shè)計(jì)技術(shù)。目前數(shù)字系統(tǒng)的設(shè)計(jì)可以直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能的要求,自上而下的完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直接生成器件。上述設(shè)計(jì)過程除了系統(tǒng)行為和功能描述以外,其余所有的設(shè)計(jì)幾乎都可以用計(jì)算機(jī)來自動(dòng)完成,也就說做到了電子設(shè)計(jì)自動(dòng)化(EDA)這樣做可以大大的縮短系統(tǒng)的設(shè)計(jì)周期,以適應(yīng)當(dāng)今品種多、批量小的電子市場的需求。

伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(EDA)逐漸成為重要的設(shè)計(jì)手段,己經(jīng)廣泛應(yīng)用于模擬與數(shù)子電路系統(tǒng)等許多領(lǐng)域。目前電子技術(shù)的發(fā)展主要體現(xiàn)在EDA領(lǐng)域,數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。電子設(shè)計(jì)自動(dòng)化是近幾年迅速發(fā)展起來的將計(jì)算機(jī)軟件、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子設(shè)計(jì)學(xué)科。其中EDA設(shè)計(jì)語言中的VHDL語言是一種快速的電路設(shè)計(jì)工具,功能涵蓋了電路描述、電路合成、電路仿真等三大電路設(shè)計(jì)工作。本電壓表的電路設(shè)計(jì)正是用VHDL語言完成的。此次設(shè)計(jì)主要應(yīng)用的軟件是美國ALTERA公司自行設(shè)計(jì)的Quartus II。

FPGA設(shè)計(jì)具有以下優(yōu)點(diǎn):

(1)硬件設(shè)計(jì)軟件化

這是FPGA開發(fā)的最大優(yōu)勢。傳統(tǒng)硬件電路設(shè)計(jì)先要進(jìn)行功能設(shè)計(jì),然后進(jìn)行電路板級設(shè)計(jì)并做稱電路板后進(jìn)行調(diào)試,如果電路中有什么錯(cuò)誤,整個(gè)電路板都將作廢,這是很不經(jīng)濟(jì)的。FPGA的開發(fā)在功能層面上可以完全脫離硬件而在EDA軟件上做軟仿真。當(dāng)功能確定無誤后可以進(jìn)行硬件電路板的設(shè)計(jì)。最后將設(shè)計(jì)好的,由EDA軟件生成的燒寫文件下載到配置設(shè)備中去,進(jìn)行在線調(diào)試,如果這時(shí)的結(jié)果與要求不一致,可以立即更改設(shè)計(jì)軟件,并再次燒寫到配置芯片中而不必改動(dòng)外接硬件電路。

(2)高度集成化,高工作頻率

一般的FPGA內(nèi)部都集成有上百萬的邏輯門,可以在其內(nèi)部規(guī)劃出多個(gè)與傳統(tǒng)小規(guī)模集成器件功能相當(dāng)?shù)哪K。這樣將多個(gè)傳統(tǒng)器件集成在同一芯片內(nèi)部的方法不但可以改進(jìn)電路板的規(guī)模,還可以減少PCB布線的工作。由于各個(gè)模塊都是集成在FPGA芯片內(nèi)部,這就很大程度地解決了信號(hào)的干擾問題,使得FPGA的工作頻率可以大幅度的提高。另外,一般的FPGA內(nèi)部都有PLL倍頻的時(shí)鐘,這進(jìn)一步解決了電磁干擾電磁兼容問題。

(3)支持多種接口

FPGA芯片可支持多種標(biāo)準(zhǔn)的接口電平,可通過EDA開發(fā)工具來選定采用什么樣的接口標(biāo)準(zhǔn),包括常用的TTL和差分輸入等。這便于后端各種不同接口電路的匹配。

FPGA設(shè)計(jì)流程

可編程邏輯器件的設(shè)計(jì)是利用EDA開發(fā)軟件和編程土具對器件開發(fā)的過程。它包括設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)輸入、功能仿真、設(shè)計(jì)處理、時(shí)序仿真和器件編程及測試等七個(gè)步驟。

1.設(shè)計(jì)準(zhǔn)備

在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行方案論證、系統(tǒng)設(shè)計(jì)和器件選擇等準(zhǔn)備工作。

一般采用自上而下的設(shè)計(jì)方法,也可采用傳統(tǒng)的自下而上的設(shè)計(jì)方法。

2.設(shè)計(jì)輸入

設(shè)計(jì)輸入將所設(shè)計(jì)的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計(jì)算機(jī)的過程稱為設(shè)計(jì)輸入。設(shè)計(jì)輸入通常有以下集中形式:

1)原理圖輸入方式

2)硬件描述語言輸入方式

3)波形輸入方式

3.功能仿真

功能仿真也叫做前仿真。用戶所設(shè)計(jì)的電路必須在編譯之前進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒有延時(shí)信息,對于初步的功能檢測非常方便。仿真中如發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)輸入中修改邏輯設(shè)計(jì)。

4.設(shè)計(jì)處理

設(shè)計(jì)處理是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過程中,編譯軟件將對設(shè)計(jì)輸入文件進(jìn)行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。主要有:

1) 語法檢查和設(shè)計(jì)規(guī)則檢查

2)邏輯優(yōu)化和綜合

3)適配和分割

4)布局和布線

5.時(shí)序仿真

時(shí)序仿真又稱后仿真或延時(shí)仿真。由于不同器件的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)造成不同的影響,因此在設(shè)計(jì)處理以后,對系統(tǒng)和各模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能,以及檢查和消除竟?fàn)幟半U(xiǎn)等是非常有必要的。

6.器件編程測試

時(shí)序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。

VHDL語言描述

硬件描述語言(hardware description language,HDL)是電子系統(tǒng)硬件行為描述,結(jié)構(gòu)描述,數(shù)據(jù)流描述的語言.目前,利用硬件描述語言可以進(jìn)行數(shù)字電子系統(tǒng)的設(shè)計(jì).隨著研究的深入,利用硬件描述語言進(jìn)行模擬電子系統(tǒng)設(shè)計(jì)或混合電

子系統(tǒng)設(shè)計(jì)也正在探索中。

國外硬件描述語言種類很多,有的從Pascal發(fā)展而來,也有一些從C語言發(fā)展而來.有些HDL成為IEEE標(biāo)準(zhǔn),但大部分是企業(yè)標(biāo)準(zhǔn).VHDL來源于美國軍方,其他的硬件描述語言則多來源于民間公司.可謂百家爭鳴,百花齊放.這些不同的語言傳播到國內(nèi),同樣也引起了不同的影響.在我國比較有影響的有兩種硬件描述語言:VHDL語言和Verilog HDL語言.這兩種語言已成為IEEE標(biāo)準(zhǔn)語言。

VHDL語言的設(shè)計(jì)流程

采用VHDL語言設(shè)計(jì)硬件電路系統(tǒng)的設(shè)計(jì)流程一般可以分為以下幾個(gè)步驟。①硬件電路系統(tǒng)設(shè)計(jì)要求的定義。②編寫描述硬件電路系統(tǒng)功能的VHDL語言程序。③VHDL語言程序的模擬。④VHDL語言的綜合、優(yōu)化和布局布線。⑤布局布線后的設(shè)計(jì)模擬。⑥器件的編程。設(shè)計(jì)人員在從事硬件電路系統(tǒng)的合計(jì)過程中,編寫VHDL語言程序之前必須對硬件電路系統(tǒng)的設(shè)計(jì)目的和設(shè)計(jì)要求有一個(gè)非常明確的認(rèn)識(shí)才行。

Quartus II開發(fā)平臺(tái)簡介??

Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可編程邏輯器件供應(yīng)商之一。Quartus II在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成設(shè)計(jì)輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。

本次所設(shè)計(jì)的電壓表的測量范圍是0~5V,精度為0.01V。此電壓表的設(shè)計(jì)特點(diǎn)為:通過軟件編程下載到硬件實(shí)現(xiàn),設(shè)計(jì)周期短,開發(fā)效率高。

關(guān)鍵字:電子設(shè)計(jì)自動(dòng)化(EDA);FPGA;VHDL;A/D;數(shù)字電壓表。

二、設(shè)計(jì)任務(wù)與要求

要求利用FPGA控制模塊數(shù)轉(zhuǎn)換器對外部輸入的模擬信號(hào)進(jìn)行采樣,獲取當(dāng)前電壓值,并在數(shù)碼管上顯示

傳統(tǒng)的數(shù)字電壓表設(shè)計(jì)通常以大規(guī)模ASIC(專用集成電路)為核心器件,輔以少量中規(guī)模集成電路及顯示器件構(gòu)成。ASIC完成從模擬量的輸入到數(shù)字量的輸出,是數(shù)字電壓表的心臟,這種電壓表的設(shè)計(jì)簡單、精確度高,但是這種設(shè)計(jì)方法由于采用了ASIC器件使得的它欠缺靈活性,其系統(tǒng)功能固定,難以更新擴(kuò)展,。后來發(fā)展起來的微處理器(單片機(jī))控制通用A/D轉(zhuǎn)換器件的數(shù)字電壓表的設(shè)計(jì)的靈活性有所提高,系統(tǒng)功能的擴(kuò)展性變得簡單,但是由于微處理機(jī)的引腳數(shù)量有限,其控制轉(zhuǎn)換速度和靈活性還是不能滿足日益發(fā)展的電子工業(yè)的需求。而應(yīng)以EDA技術(shù)及FPGA,其集成度高、速度快、性能十分可靠、用戶可自由編程且編程語言通俗易懂、系統(tǒng)工程擴(kuò)展非常方便。采用FPGA芯片控制通用A/D轉(zhuǎn)換器可是速度、靈活性大大優(yōu)于微處理器和通用A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表。

a,能夠?qū)崿F(xiàn)一個(gè)通道的采樣控制;

b,產(chǎn)生ADC0809工作所需的各種控制信號(hào)

c,計(jì)算轉(zhuǎn)換后的數(shù)字電壓信號(hào),并以BCD碼方式表示。

  • 總體框圖

方案一:

本利用ADC0809作為電壓采樣端口,F(xiàn)PGA作為系統(tǒng)的核心器件,用LED進(jìn)行數(shù)碼顯示,把讀取的8位二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成便利于輸出3位十進(jìn)制BCD碼送給數(shù)碼管。

采用FPGA芯片作為系統(tǒng)的核心器件,負(fù)責(zé)ADC0809的A/D轉(zhuǎn)換的啟動(dòng)、地址鎖存、輸入通道的選擇、數(shù)據(jù)的讀取。同時(shí),把讀取的8位二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成便于輸出3位十進(jìn)制的BCD碼送給數(shù)碼管,以顯示當(dāng)前測量電壓值。這些工作由ADC0809轉(zhuǎn)換控制模塊、數(shù)據(jù)轉(zhuǎn)換模塊、譯碼模塊完成。

 ale:out std_logic;
     start:out std_logic;
     add:out std_logic_vector(2 downto 0));
end ad;
architecture one of ad is
type states is(st0,st1,st2,st3,st4);
signal current_state,next_state:states:=st0;
signal temp:std_logic_vector(7 downto 0);
signal lock:std_logic;
begin
  add<="001";
  dataout<=temp;
  process(current_state,eoc)
begin
  case current_state is
    when st0=>ale<='0';start<='0';oe<='0';lock<='0';
     next_state<=st1;
    when st1=>ale<='1';start<='1';oe<='0';lock<='0';
     next_state<=st2;
    when st2=>ale<='0';start<='0';oe<='0';lock<='0';
      if (eoc='1')then next_state<=st3;
       else next_state<=st2;
      end if;
    when st3=>ale<='0';start<='0';oe<='1';lock<='1';
       next_state<=st4;
    when st4=>ale<='0';start<='0';oe<='1';lock<='1';
     next_state<=st0;
   end case;
 end process;
process(clk)
begin
  if(clk 'event and clk='1') then current_state<=next_state;
  end if;
end process;
process(lock)
begin
  if lock='1' and lock 'event then temp<=datain;
   end if;
  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜