基于FPGA的數(shù)字電壓表設(shè)計(jì)_第1頁(yè)
基于FPGA的數(shù)字電壓表設(shè)計(jì)_第2頁(yè)
基于FPGA的數(shù)字電壓表設(shè)計(jì)_第3頁(yè)
基于FPGA的數(shù)字電壓表設(shè)計(jì)_第4頁(yè)
基于FPGA的數(shù)字電壓表設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄 目錄.I 摘要.III ABSTRACT .IV 第一章 緒論.1 1.1 課題的研究背景.1 1.2 課題任務(wù)、目標(biāo)及方法.1 1.3 論文內(nèi)容和結(jié)構(gòu).2 第二章 設(shè)計(jì)基礎(chǔ)知識(shí).3 2.1 TLC549 的簡(jiǎn)介.3 2.1.1 A/D 轉(zhuǎn)換器的主要技術(shù)指標(biāo).3 2.1.2 TLC549 工作原理.4 2.2 FPGA 知識(shí)介紹.6 2.2.1 FPGA 的架構(gòu)原理與特點(diǎn).6 2.2.2 FPGA 設(shè)計(jì)流程.8 2.2.3 EP1C12Q240C8 介紹.9 2.3 VHDL 硬件描述語(yǔ)言.9 2.3.1 VHDL 語(yǔ)言簡(jiǎn)介 .9 2.3.2 VHDL 語(yǔ)言語(yǔ)言的主要優(yōu)勢(shì) .10 2.3

2、.3 VHDL 語(yǔ)言的設(shè)計(jì)流程 .10 2.4 Quartus II 及其他第三方開(kāi)發(fā)工具.11 2.4.1 Quartus II 開(kāi)發(fā)平臺(tái)簡(jiǎn)介.11 2.4.2 第三方 EDA 工具.12 第三章 硬件設(shè)計(jì).14 3.1 系統(tǒng)整體結(jié)構(gòu).14 3.2 FPGA 部分設(shè)計(jì).15 3.3 模數(shù)轉(zhuǎn)換模塊設(shè)計(jì).16 3.4 數(shù)碼管顯示設(shè)計(jì).17 第四章 軟件設(shè)計(jì).19 4.1 數(shù)字電壓表設(shè)計(jì)系統(tǒng)框圖.19 4.2 數(shù)字電壓表主要功能模塊的實(shí)現(xiàn).21 4.2.1 時(shí)鐘分頻(div_f)模塊:.21 4.2.2 數(shù)據(jù)采集控制(cs_control)模塊:.21 4.2.3 數(shù)據(jù)串轉(zhuǎn)并(chuan2bing

3、)模塊.23 4.2.4 顯示數(shù)值計(jì)算(data_calculate)模塊.23 4.2.5 數(shù)碼管掃描(led_select)模塊.24 4.2.6 譯碼顯示(led_translate)模塊.24 第五章 系統(tǒng)仿真及測(cè)試.26 5.1 系統(tǒng)仿真及測(cè)試過(guò)程.26 5.1.1 時(shí)鐘分頻模塊仿真.26 5.1.2 數(shù)據(jù)處理模塊仿真.29 5.1.3 數(shù)碼管譯碼顯示模塊仿真.31 5.1.4 頂層文件設(shè)計(jì).33 5.1.5 硬件連接及測(cè)試.35 第六章 總結(jié)與展望.37 6.1 總結(jié).37 6.2 展望.37 致謝.39 參考文獻(xiàn).40 摘要 伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(ED

4、A)逐漸成為重要的設(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ā)展起來(lái)的將計(jì)算機(jī)軟件、硬件、 微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子設(shè)計(jì)學(xué)科。其中 EDA 設(shè)計(jì)語(yǔ)言中的 VHDL 語(yǔ)言是 一種快速的電路設(shè)計(jì)工具,功能涵蓋了電路描述、電路合成、電路仿真等三大 電路設(shè)計(jì)工作。本電壓表的電路設(shè)計(jì)正是用 VHDL 語(yǔ)言完成的。此次設(shè)計(jì)主要應(yīng) 用的軟件是美國(guó) ALTERA 公司自行設(shè)計(jì)的 Quartus II。 本次所設(shè)計(jì)的電壓表的測(cè)量范圍是 05V,精度為 0.01

5、V。此電壓表的設(shè)計(jì) 特點(diǎn)為:通過(guò)軟件編程下載到硬件實(shí)現(xiàn),設(shè)計(jì)周期短,開(kāi)發(fā)效率高。 關(guān)鍵字關(guān)鍵字:電子設(shè)計(jì)自動(dòng)化(EDA);FPGA;VHDL;A/D;數(shù)字電壓表 Abstract The Electronic Design Automation(EDA) technology has become an important design method of analog and digital circuit system as the integrated circuits growing. The development of the current electronic technolo

6、gy is incarnated the EDA realm .The design of digital system is becoming faster, bulkier ,smaller and lighter than before. Electronic design automation is in the last few years quickly develop, it makes use of software , hardware ,micro-electronics technology to form a course of electronic design. A

7、mong them , the VHDL language of EDA is a kind of tool of fast circuit design , the function covered the circuit describe , the circuit synthesize , the circuit imitate the true etc . The circuit of the design that use VHDL language to complete . The design is primarily the applied software is Quart

8、us II which is made by the United States ALTERA company. This systems range is -5v to +5v and precision is 0.01v.Characteristics of this electric voltage watch is :Pass the software program to download the hardware o realize , design the period is short ,development the efficiency is high. Key words

9、: Electronic Design Automation (EDA );FPGA;VHDL; A/D; Digital voltage 第一章 緒論 1.1 課題的研究背景 隨著信息技術(shù)獲得了突飛猛進(jìn)的發(fā)展,信息技術(shù)滲透了我們生活的幾乎全 部領(lǐng)域,改變著人類(lèi)的生存狀態(tài)和思維模式。而我們的課題所涉及的電子設(shè)計(jì) 自動(dòng)化(EDA)技術(shù)就是在這種時(shí)代背景下產(chǎn)生的,并影響巨大。FPGA 是新型 的可編程邏輯器件,與傳統(tǒng) ASIC 相比,具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本 低、開(kāi)發(fā)工具先進(jìn) 等優(yōu)點(diǎn),特別適合于產(chǎn)品的樣品開(kāi)發(fā)和小批量生產(chǎn)。傳統(tǒng)的 數(shù)字電壓表多以單片機(jī)為控制核心,芯片集成度不高,系統(tǒng)連線(xiàn)復(fù)雜

10、,難以小 型化,尤其在產(chǎn)品需求發(fā)生變化時(shí),不得不重新布版、調(diào)試,增加了投資風(fēng)險(xiǎn) 和成本。而采用 FPGA 進(jìn)行產(chǎn)品開(kāi)發(fā),可以靈活地進(jìn)行模塊配置,大大縮短了 開(kāi)發(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ì)可以直接面向用戶(hù)需求,根據(jù)系統(tǒng)的行為和功能的要求,自上 而下的完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直接生成器件。上述設(shè)計(jì) 過(guò)程除了系統(tǒng)行為和功能描述以外,其余所有的設(shè)計(jì)幾乎都可以用計(jì)算機(jī)來(lái)自 動(dòng)完成,也就說(shuō)

11、做到了電子設(shè)計(jì)自動(dòng)化(EDA)這樣做可以大大的縮短系統(tǒng)的設(shè) 計(jì)周期,以適應(yīng)當(dāng)今品種多、批量小的電子市場(chǎng)的需求。 1.2 課題任務(wù)、目標(biāo)及方法 本課題主要研究數(shù)字電壓表的一般設(shè)計(jì)原理,并結(jié)合可編程邏輯器件 (FPGA)設(shè)計(jì)了一種方便、實(shí)用的數(shù)字電壓表。 論文從研究數(shù)據(jù)采集的理論出發(fā),提出一種由 8 位串行 AD 轉(zhuǎn)換芯片、高性能 FPGA 和 PCI 總線(xiàn)接口組成的數(shù)據(jù)采集系統(tǒng)方案,并通過(guò)系統(tǒng)仿真驗(yàn)證了系統(tǒng)的 可行性。該系統(tǒng)利用 AD 器件對(duì)信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,利用 FPGA 設(shè)計(jì)內(nèi)部模塊和 時(shí)鐘信號(hào)來(lái)進(jìn)行電路控制及實(shí)現(xiàn)數(shù)據(jù)緩存、數(shù)據(jù)傳遞等功能,最后通過(guò)控制器 設(shè)計(jì)的數(shù)碼管控制模塊控制四個(gè)數(shù)碼管顯

12、示處理過(guò)后的數(shù)據(jù),就實(shí)現(xiàn)了將外部 電壓值顯示在數(shù)碼管上的功能,這樣就實(shí)現(xiàn)了電子電壓表的功能。系統(tǒng)主要分 為如下幾個(gè)模塊:時(shí)鐘分頻、TLC549 采樣、采樣數(shù)據(jù)暫存、采樣數(shù)據(jù)串變并處 理、數(shù)碼管譯碼顯示。其中時(shí)鐘分頻主要用計(jì)數(shù)器實(shí)現(xiàn),采樣數(shù)據(jù)暫存于一寄 存器。FPGA 作為采集系統(tǒng)的核心部件,完成了內(nèi)部數(shù)字電路設(shè)計(jì),使系統(tǒng)具有很高的 可適應(yīng)性、可擴(kuò)展性和可調(diào)試性。 1.3 論文內(nèi)容和結(jié)構(gòu) 本論文主要研究基于 FPGA 的數(shù)字電壓表設(shè)計(jì),論文的主要內(nèi)容是: (1)數(shù)字電壓表基本理論研究; (2)提出了基于 FPGA 的數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)方案; (3)提出了基于 FPGA 的數(shù)字電壓表系統(tǒng)軟件設(shè)

13、計(jì)方案; (4)對(duì)系統(tǒng)進(jìn)行仿真并給出仿真結(jié)果。 本文共分六章,第一章緒論中概述了課題研究的背景,以及課題任務(wù)、目 標(biāo)及方法,并對(duì)課題特色和創(chuàng)新之處給予了概括。第二章闡述了數(shù)字電壓表設(shè) 計(jì)中的基礎(chǔ)知識(shí)。第三章提出了基于 EP1C12Q240C8 的數(shù)字電壓表系統(tǒng)的硬件設(shè) 計(jì)方案。第四章提出了基于 EP1C12Q240C8 的數(shù)字電壓表系統(tǒng)的軟件設(shè)計(jì)方案。 第五章對(duì)系統(tǒng)進(jìn)行仿真測(cè)試并給出仿真結(jié)果。第六章為論文總結(jié)和展望。 第二章 設(shè)計(jì)基礎(chǔ)知識(shí) 2.1 TLC549 的簡(jiǎn)介 TLC549 是美國(guó)德州儀器公司生產(chǎn)的 8 位串行 A/D 轉(zhuǎn)換器芯片,可與通用微 處理器、控制器通過(guò) CLK、CS、DATA

14、 OUT 三條口線(xiàn)進(jìn)行串行接口。具有 4MHz 片 內(nèi)系統(tǒng)時(shí)鐘和軟、硬件控制電路,轉(zhuǎn)換時(shí)間最長(zhǎng) 17s,TLC549 為 40 000 次 /s??偸д{(diào)誤差最大為0.5LSB,典型功耗值為 6mW。采用差分參考電壓高阻 輸入,抗干擾,可按比例量程校準(zhǔn)轉(zhuǎn)換范圍,VREF-接地,VREF+VREF-1V, 可用于較小信號(hào)的采樣。 2.1.1 A/D 轉(zhuǎn)換器的主要技術(shù)指標(biāo) AD 模數(shù)轉(zhuǎn)換是數(shù)據(jù)采集的主要任務(wù)和關(guān)鍵步驟,AD 轉(zhuǎn)換的好壞直接關(guān) 系到數(shù)據(jù)采集的精度和質(zhì)量。所謂 AD 模數(shù)轉(zhuǎn)換,就是將傳感器輸出的模擬信 號(hào)轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的數(shù)字信號(hào)。在 ADC 器件中,因?yàn)檩斎氲哪M信號(hào)在 時(shí)間上是連

15、續(xù)的而輸出的數(shù)字信號(hào)是離散的,所以轉(zhuǎn)換只能在一些列選定的瞬 間對(duì)輸入的模擬信號(hào)取樣,然后再把這些取樣值轉(zhuǎn)換成輸出的數(shù)字量,見(jiàn)圖 2- 2。 圖 2-2 A/D 模數(shù)轉(zhuǎn)換框圖 其過(guò)程可包括為四個(gè)步驟:采樣,保持,量化和編碼,如圖 23 所示,首 先對(duì)輸入的模擬電壓信號(hào)取樣,取樣結(jié)束后進(jìn)入保持時(shí)間,在這段時(shí)間內(nèi)將取 樣的電壓量化為數(shù)字量,然后編碼。按照一定的編碼格式給出轉(zhuǎn)換結(jié)果。然后 再開(kāi)始下一次取樣。 圖 2-3 A/D 轉(zhuǎn)換的基本步驟 采樣就是是對(duì)模擬信號(hào)在時(shí)間上進(jìn)行離散的過(guò)程。數(shù)字信號(hào)不僅在時(shí)間上是離 散的,而且數(shù)值大小的變化也是不連續(xù)的。就是說(shuō),任何一個(gè)數(shù)字量的大小只 能是某個(gè)規(guī)定的最小數(shù)

16、量單位的整數(shù)倍。在進(jìn)行 A/D 轉(zhuǎn)換時(shí),必須把取樣 電壓表示為這個(gè)最小單位的整數(shù)倍。這個(gè)轉(zhuǎn)化過(guò)程叫做量化,所取的最小數(shù)量 單位叫做量化單位,用表示。顯然,數(shù)字信號(hào)最低有效位(LSB)的 1 所代表的 數(shù)量大小就等于。 把量化的結(jié)果用代碼可以是二進(jìn)制,也可以是其他進(jìn)制表示出來(lái),稱(chēng)為編 碼。這些代碼就是轉(zhuǎn)換的結(jié)果。既然模擬電壓是連續(xù)的,那么它就比一定能被 整除,因而量化過(guò)程不可避免地會(huì)引入誤差這種誤差稱(chēng)為量化誤差。 AD 轉(zhuǎn)換器的主要性能參數(shù): (1)分辨率(Resolution):分辨率指數(shù)字量的變化一個(gè)最小量模擬信號(hào)的變 化量。分辨率又稱(chēng)為精度,通常以數(shù)字信號(hào)的位數(shù)來(lái)表示。 (2)轉(zhuǎn)換速率(C

17、onversion Rate):指完成一次從模擬到數(shù)字的 ADC 轉(zhuǎn)換過(guò) 程所需時(shí)間的倒數(shù)。積分型 ADC 的轉(zhuǎn)換時(shí)間是毫秒級(jí)屬低速 ADC,逐次比較型 ADC 是微秒級(jí)屬中速 ADC,全并行串并行型 ADC 可達(dá)到納秒級(jí)。采樣時(shí)問(wèn)則是 另外一個(gè)概念,是指兩次轉(zhuǎn)換的間隔。為了保證轉(zhuǎn)換的正確完成,采樣速率(必 須小于或等于轉(zhuǎn)換速率。因此有人習(xí)慣上將轉(zhuǎn)換速率在數(shù)值上等同于采樣速率 也是可以接受的。常用單位是 KSS 和 MSS,表示每秒采樣千百萬(wàn)次。 (3)偏移誤差(Offset Error)輸入信號(hào)為零時(shí)輸出信號(hào)不為零的值,可外 接電位器調(diào)至最小。 (2)滿(mǎn)刻度誤差(Full Scale Err

18、or):滿(mǎn)度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸 入信號(hào)值之差。 (5)量化誤差(Ouantizing Error):由于 ADC 的有限分辨率而引起的誤差, 即有限分辨率 AD 的階梯狀轉(zhuǎn)移特性曲線(xiàn)與無(wú)限分辨率 ADC(理想 ADC)的轉(zhuǎn)移特 性曲線(xiàn)(直線(xiàn))之間的最大偏差。通常是 1 個(gè)或半個(gè)最小數(shù)字量的模擬變化量, 表示為 1LSB、12LSB。 (6)線(xiàn)性度(Lincarity):實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線(xiàn)的最大偏移, 不包括以上三種誤差。 其他指標(biāo)還有轉(zhuǎn)換精度、溫度系數(shù)漂移等,由于本系統(tǒng)中并不采用 DA 轉(zhuǎn)換器,所以這里對(duì)其不作過(guò)多介紹。 2.1.2 TLC549 工作原理 TLC549

19、工作時(shí)序圖 2-4 所示: 圖 2-4 TLC549 工作時(shí)序圖 工作原理: TLC549 均有片內(nèi)系統(tǒng)時(shí)鐘,該時(shí)鐘與 I/O CLOCK 是獨(dú)立工作的,無(wú)須特 殊的速度或相位匹配。其工作時(shí)序如圖上所示。 當(dāng) CS 為高時(shí),數(shù)據(jù)輸出(DATA OUT)端處于高阻狀態(tài),此時(shí) I/O CLOCK 不起 作用。這種 CS 控制作用允許在同時(shí)使用多片 TLC548、TLC549 時(shí),共用 I/O CLOCK,以減少多路(片)A/D 并用時(shí)的 I/O 控制端口。 一組通常的控制時(shí)序?yàn)椋?(1)將 CS 置低。內(nèi)部電路在測(cè)得 CS 下降沿后,再等待兩個(gè)內(nèi)部時(shí)鐘上升沿 和一個(gè)下降沿后,然后確認(rèn)這一變化,最后

20、自動(dòng)將前一次轉(zhuǎn)換結(jié)果的最高位(D7)位 輸出到 DATA OUT 端上。 (2) 前四個(gè) I/O CLOCK 周期的下降沿依次移出第 2、3、4 和第 5 個(gè)位 (D6、D5、D4、D3),片上采樣保持電路在第 4 個(gè) I/O CLOCK 下降沿開(kāi)始采樣模 擬輸入。 (3)接下來(lái)的 3 個(gè) I/O CLOCK 周期的下降沿移出第 6、7、8(D2、D1、D0) 個(gè)轉(zhuǎn)換位。 (4)最后,片上采樣保持電路在第 8 個(gè) I/O CLOCK 周期的下降沿將移出第 6、7、8(D2、D1、D0)個(gè)轉(zhuǎn)換位。保持功能將持續(xù) 4 個(gè)內(nèi)部時(shí)鐘周期,然后開(kāi)始 進(jìn)行 32 個(gè)內(nèi)部時(shí)鐘周期的 A/D 轉(zhuǎn)換。第 8 個(gè)

21、 I/O CLOCK 后,CS 必須為高,或 I/O CLOCK 保持低電平,這種狀態(tài)需要維持 36 個(gè)內(nèi)部系統(tǒng)時(shí)鐘周期以等待保持 和轉(zhuǎn)換工作的完成。如果 CS 為低時(shí) I/O CLOCK 上出現(xiàn)一個(gè)有效干擾脈沖,則微 處理器/控制器將與器件的 I/O 時(shí)序失去同步;若 CS 為高時(shí)出現(xiàn)一次有效低電 平,則將使引腳重新初始化,從而脫離原轉(zhuǎn)換過(guò)程。 在 36 個(gè)內(nèi)部系統(tǒng)時(shí)鐘周期結(jié)束之前,實(shí)施步驟(1)(4),可重新啟動(dòng)一次 新的 A/D 轉(zhuǎn)換,與此同時(shí),正在進(jìn)行的轉(zhuǎn)換終止,此時(shí)的輸出是前一次的轉(zhuǎn)換 結(jié) 果而不是正在進(jìn)行的轉(zhuǎn)換結(jié)果。 若要在特定的時(shí)刻采樣模擬信號(hào),應(yīng)使第 8 個(gè) I/O CLOCK

22、 時(shí)鐘的下降沿與 該時(shí)刻對(duì)應(yīng),因?yàn)樾酒m在第 4 個(gè) I/O CLOCK 時(shí)鐘下降沿開(kāi)始采樣,卻在第 8 個(gè) I/O CLOCK 的下降沿開(kāi)始保存。 2.2 FPGA 知識(shí)介紹 現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA, Field Programmable Gate Array)的出現(xiàn)是超大 規(guī)模集成電路(VLSL)技術(shù)和計(jì)算機(jī)扶助設(shè)計(jì)(CAD)技術(shù)發(fā)展的結(jié)果。它一般都 采用 SRAM 工藝,也有一些專(zhuān)用器件采用 Flash 7-藝或反熔絲(AntiFuse)工 藝等。FPGA 器件集成度很高、其器件密度從數(shù)萬(wàn)系統(tǒng)門(mén)到數(shù)千萬(wàn)系統(tǒng)門(mén)不等, 可以完成極其復(fù)雜的時(shí)序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)

23、 字邏輯電路設(shè)計(jì)領(lǐng)域。具有通過(guò)用戶(hù)編程實(shí)現(xiàn)專(zhuān)門(mén)應(yīng)用的功能。它允許電路設(shè) 計(jì)者利用基于計(jì)算機(jī)的開(kāi)發(fā)平臺(tái),經(jīng)過(guò)設(shè)計(jì)輸入、仿真、測(cè)試和校驗(yàn),直至達(dá) 到預(yù)期的結(jié)果。使用 FPGA 器件可以大大縮短系統(tǒng)的研制周期,減少資金的投入。 更吸引人的是,采用 FPGA 器件可以將原來(lái)的電路板級(jí)產(chǎn)品集成為芯片級(jí)產(chǎn)品, 從而降低了功耗,提高了可靠性,同時(shí)還可以很方便地對(duì)設(shè)計(jì)進(jìn)行在線(xiàn)修改。 FPGA 器件成為研制開(kāi)發(fā)的理想器件,特別適用于產(chǎn)品的樣機(jī)開(kāi)發(fā)和小批量的生 產(chǎn),因此有人也把 FPGA 稱(chēng)為可編程的 ASIC。如今,F(xiàn)PGA 器件廣泛應(yīng)用于通信、 自動(dòng)控制、信息處理等諸多領(lǐng)域,越來(lái)越多的電子設(shè)計(jì)人員在使用 FP

24、GA,熟練 掌握 FPGA 設(shè)計(jì)技術(shù)已經(jīng)是對(duì)電子設(shè)計(jì)工程師的基本要求。 2.2.1 FPGA 的架構(gòu)原理與特點(diǎn) FPGA(Field Programmable Gate Array 現(xiàn)場(chǎng)可編程邏輯門(mén)陣列)是在 CPLD(復(fù)雜可編程邏輯器件)的基礎(chǔ)上發(fā)展起來(lái)的高性能可編程邏輯器件。FPGA 的基本組成部分有可編程輸入輸出單元、基本可編程邏輯單元、嵌入式塊 RAM、豐富的布線(xiàn)資源、底層嵌入功能單元、內(nèi)核專(zhuān)用硬核等。目前,F(xiàn)PGA 的 主要器件供應(yīng)商有:Xilinx、Altera、Lattice、Actel 和 Atmel 等。 與 ASIC 相比,可編程邏輯器件研制周期較短,先期 NRE 費(fèi)用較低

25、,也沒(méi)有最少 訂購(gòu)數(shù)量的先知,所有這一切簡(jiǎn)化了庫(kù)存管理。隨著每個(gè)門(mén)電路成本的降低和 每個(gè)器件中門(mén)電路數(shù)量的增加,可編程邏輯器件正在大舉打入傳統(tǒng)的門(mén)陣列領(lǐng) 域,并已有少量的打入了標(biāo)準(zhǔn)但愿 ASIC 的領(lǐng)域。系統(tǒng)設(shè)計(jì)師和制造商們開(kāi)始探 索和利用“系統(tǒng)可重編程性”的功能,其目的是為了在最終系統(tǒng)交付給用戶(hù)使 用后仍可糾正其錯(cuò)誤和進(jìn)行功能升級(jí),或是為了是想“可重新配置計(jì)算” ,亦即 用 固定數(shù)量的邏輯門(mén)電路賴(lài)實(shí)現(xiàn)時(shí)分復(fù)用多功能。 片上 RAM 和單芯片 ASIC可編程邏輯混合器件的數(shù)量越來(lái)越多,以及摩爾 定律預(yù)測(cè)的集成度發(fā)展趨勢(shì),正在促進(jìn)有效門(mén)電路數(shù)量的爆炸性增長(zhǎng)。這些因 素最終將使人們期盼己久的單片系

26、統(tǒng)成為現(xiàn)實(shí)。為了在仍然能滿(mǎn)足產(chǎn)品上市時(shí) 間要求的時(shí)間內(nèi)充分利用硅片的資源,許多設(shè)計(jì)師詎在從傳統(tǒng)的低級(jí)狀態(tài)機(jī)和 原理圖輸入綜合轉(zhuǎn)向高級(jí)語(yǔ)言,比如 VHDL 和 Verilog,甚至轉(zhuǎn)向 C 語(yǔ)言等傳統(tǒng) 軟件語(yǔ)言。 FPGA 的邏輯門(mén)數(shù)己達(dá) 1 千萬(wàn),內(nèi)核速度達(dá)到 400MHz,能提供高達(dá) 11Gbps 的芯片間通信速度,隨著工藝微縮,當(dāng)前的 FPGA 已經(jīng)能夠內(nèi)嵌 DSP 核心的方式 在諸多高端應(yīng)用中實(shí)現(xiàn)傳統(tǒng) DSP 的工作,且可編程特性將大幅壓低成本,并加 快設(shè)計(jì)周期。現(xiàn)在的 FPGA 芯片中不只是包含可編程邏輯功能模塊、可編程輸入 輸出模塊和可編程內(nèi)部互連資源等基本的資源,還集成了存儲(chǔ)器(B

27、lock RAM 和 Disturbed RAM)、數(shù)字時(shí)鐘管理但愿(完成分頻倍頻、數(shù)字鎖相和延遲功能的 DLL 和 DCM)、算術(shù)運(yùn)算單元(生發(fā)起、加法器)以及特殊功能模塊(MAC、微處理 器等硬 IP 核)等更豐富的資源,與過(guò)去 FPGA 僅僅用作膠合邏輯不同,現(xiàn)在 FPGA 已經(jīng)被用來(lái)實(shí)現(xiàn)主要系統(tǒng)功能。而與此同時(shí),它仍然保持著非常合理的成 本,因此,與 ASIC 和定制 IC 相比,F(xiàn)PGA 是一種更具有吸引力的選擇。FPGA 設(shè) 計(jì)具有以下優(yōu)點(diǎn): (1)硬件設(shè)計(jì)軟件化 這是 FPGA 開(kāi)發(fā)的最大優(yōu)勢(shì)。傳統(tǒng)硬件電路設(shè)計(jì)先要進(jìn)行功能設(shè)計(jì),然后進(jìn) 行電路板級(jí)設(shè)計(jì)并做稱(chēng)電路板后進(jìn)行調(diào)試,如果電

28、路中有什么錯(cuò)誤,整個(gè)電路 板都將作廢,這是很不經(jīng)濟(jì)的。FPGA 的開(kāi)發(fā)在功能層面上可以完全脫離硬件而 在 EDA 軟件上做軟仿真。當(dāng)功能確定無(wú)誤后可以進(jìn)行硬件電路板的設(shè)計(jì)。最后 將設(shè)計(jì)好的,由 EDA 軟件生成的燒寫(xiě)文件下載到配置設(shè)備中去,進(jìn)行在線(xiàn)調(diào)試, 如果這時(shí)的結(jié)果與要求不一致,可以立即更改設(shè)計(jì)軟件,并再次燒寫(xiě)到配置芯 片中而不必改動(dòng)外接硬件電路。 (2)高度集成化,高工作頻率 一般的 FPGA 內(nèi)部都集成有上百萬(wàn)的邏輯門(mén),可以在其內(nèi)部規(guī)劃出多個(gè)與傳 統(tǒng)小規(guī)模集成器件功能相當(dāng)?shù)哪K。這樣將多個(gè)傳統(tǒng)器件集成在同一芯片內(nèi)部 的方法不但可以改進(jìn)電路板的規(guī)模,還可以減少 PCB 布線(xiàn)的工作。由于各

29、個(gè)模 塊都是集成在 FPGA 芯片內(nèi)部,這就很大程度地解決了信號(hào)的干擾問(wèn)題,使得 FPGA 的工作頻率可以大幅度的提高。另外,一般的 FPGA 內(nèi)部都有 PLL 倍頻的 時(shí)鐘,這進(jìn)一步解決了電磁干擾和電磁兼容問(wèn)題。 (3)支持多種接口 FPGA 芯片可支持多種標(biāo)準(zhǔn)的接口電平,可通過(guò) EDA 開(kāi)發(fā)工具來(lái)選定采用什么 樣的接口標(biāo)準(zhǔn),包括常用的 TTL 和差分輸入等。這便于后端各種不同接口 電路的匹配。 2.2.2 FPGA 設(shè)計(jì)流程 可編程邏輯器件的設(shè)計(jì)是利用 EDA 開(kāi)發(fā)軟件和編程土具對(duì)器件開(kāi)發(fā)的過(guò)程。 高密度復(fù)雜可編程邏輯器件的設(shè)計(jì)流程如圖 2.1 所示。它包括設(shè)計(jì)準(zhǔn)備、設(shè)計(jì) 輸入、功能仿真、

30、設(shè)計(jì)處理、時(shí)序仿真和器件編程及測(cè)試等七個(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-5 可 編程邏輯 器件設(shè)計(jì)流程 2設(shè)計(jì)輸入 設(shè)計(jì)輸入將所設(shè)計(jì)的系統(tǒng)或電路以開(kāi)發(fā)軟件要求的某種形式表示出來(lái),并 送入計(jì)算機(jī)的過(guò)程稱(chēng)為設(shè)計(jì)輸入。設(shè)計(jì)輸入通常有以下集中形式: 1)原理圖輸入方式 2)硬件描述語(yǔ)言輸入方式 3)波形輸入方式 3功能仿真 功能仿真也叫做前仿真。用戶(hù)所設(shè)計(jì)的電路必須在編譯之前進(jìn)行邏輯功能驗(yàn)證, 此時(shí)的仿真沒(méi)有延時(shí)信息,對(duì)于初步的功能檢測(cè)非常方便。仿真中如發(fā)現(xiàn)錯(cuò)誤, 則返回設(shè)計(jì)

31、輸入中修改邏輯設(shè)計(jì)。 4設(shè)計(jì)處理 設(shè)計(jì)處理是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過(guò)程中,編譯軟件將對(duì)設(shè) 計(jì)輸入文件進(jìn)行邏輯化簡(jiǎn)、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。主 要有: 1)語(yǔ)法檢查和設(shè)計(jì)規(guī)則檢查 2)邏輯優(yōu)化和綜合 3)適配和分割 4)布局和布線(xiàn) 5時(shí)序仿真 時(shí)序仿真又稱(chēng)后仿真或延時(shí)仿真。由于不同器件的內(nèi)部延時(shí)不一樣,不同 的布局布線(xiàn)方案也給延時(shí)造成不同的影響,因此在設(shè)計(jì)處理以后,對(duì)系統(tǒng)和各 模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能,以及檢查和消除竟?fàn)?冒險(xiǎn)等是非常有必要的。 6器件編程測(cè)試 時(shí)序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。 2.2.3 EP1C12Q2

32、40C8 介紹 FPGA EP1C12Q240C8 開(kāi)發(fā)板是基于 FPGA 的硬件描述語(yǔ)言 EDA 和軟內(nèi)核嵌入 式系統(tǒng)的 SOPC 開(kāi)發(fā)平臺(tái)。系統(tǒng)采用多層 PCB 板設(shè)計(jì),完善的電源和時(shí)鐘設(shè)計(jì), 性能穩(wěn)定可靠、結(jié)構(gòu)緊湊美觀。系統(tǒng)采用主流 FPGA 構(gòu)建平臺(tái),片內(nèi)資源豐富, 板載器件多、周邊接口多、可擴(kuò)展性強(qiáng)。優(yōu)化設(shè)計(jì)使系統(tǒng)調(diào)試方便,配置容易。 配備豐富的例程有利于 FPGA 和 SOPC 的學(xué)習(xí)、快速入門(mén)與提高。FPGA/SOPC 開(kāi) 發(fā)平臺(tái)是電子、信息類(lèi)專(zhuān)業(yè)學(xué)生學(xué)習(xí) FPGA 和 SOPC 的理想良師益友,是各大專(zhuān) 院校教學(xué)科研的良好工具,也可用于科研機(jī)構(gòu)研發(fā)特色新產(chǎn)品。 2.3 VHDL

33、 硬件描述語(yǔ)言 2.3.1 VHDL 語(yǔ)言簡(jiǎn)介 硬件描述語(yǔ)言(hardware description language,HDL)是電子系統(tǒng)硬件行為描述,結(jié) 構(gòu)描述,數(shù)據(jù)流描述的語(yǔ)言.目前,利用硬件描述語(yǔ)言可以進(jìn)行數(shù)字電子系統(tǒng)的設(shè) 計(jì).隨著研究的深入,利用硬件描述語(yǔ)言進(jìn)行模擬電子系統(tǒng)設(shè)計(jì)或混合電 子系統(tǒng)設(shè)計(jì)也正在探索中。 國(guó)外硬件描述語(yǔ)言種類(lèi)很多,有的從 Pascal 發(fā)展而來(lái),也有一些從 C 語(yǔ)言 發(fā)展而來(lái).有些 HDL 成為 IEEE 標(biāo)準(zhǔn),但大部分是企業(yè)標(biāo)準(zhǔn).VHDL 來(lái)源于美國(guó)軍方,其 他的硬件描述語(yǔ)言則多來(lái)源于民間公司.可謂百家爭(zhēng)鳴,百花齊放.這些不同的語(yǔ) 言傳播到國(guó)內(nèi),同樣也引起了

34、不同的影響.在我國(guó)比較有影響的有兩種硬件描述 語(yǔ)言:VHDL 語(yǔ)言和 Verilog HDL 語(yǔ)言.這兩種語(yǔ)言已成為 IEEE 標(biāo)準(zhǔn)語(yǔ)言。 2.3.2 VHDL 語(yǔ)言的主要優(yōu)勢(shì) VHDL 語(yǔ)言能夠成為標(biāo)準(zhǔn)并且獲得廣泛的應(yīng)用,一定有它自身的主要優(yōu)勢(shì), 或者說(shuō)是與眾不同的特點(diǎn)。強(qiáng)大的功能和靈活性:VHDL 語(yǔ)言具有功能強(qiáng)大的 語(yǔ)言結(jié)構(gòu),可以用簡(jiǎn)潔明確的程序來(lái)描述復(fù)雜的邏輯控制。獨(dú)立于器件的設(shè) 計(jì):設(shè)計(jì)人員采用 VHDL 語(yǔ)言進(jìn)行硬件電路的設(shè)計(jì)時(shí),并不需要首先選擇完成此 項(xiàng)設(shè)計(jì)的邏輯器件。這樣,設(shè)計(jì)人員就可以集中精力來(lái)進(jìn)行設(shè)計(jì)的構(gòu)思???進(jìn)行程序移植:VHDL 語(yǔ)言的移植能力是允許設(shè)計(jì)人員對(duì)需要綜合

35、設(shè)計(jì)描述進(jìn)行 模擬,在綜合前對(duì)一個(gè)數(shù)千門(mén)的設(shè)計(jì)描述進(jìn)行模擬可以節(jié)約大量的時(shí)間。 由于 VHDL 語(yǔ)言是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,因此同一個(gè)設(shè)計(jì)的 VHDL 語(yǔ) 言描述可以被不同的 EDA 工具支持,從而使得 VHDL 語(yǔ)言程序的移植成為可能。 性能評(píng)估能力:獨(dú)立于器件的設(shè)計(jì)和可進(jìn)行程序移植允許設(shè)計(jì)人員可以采用 不同的器件結(jié)構(gòu)和綜合工具來(lái)對(duì)自己的設(shè)計(jì)進(jìn)行評(píng)估。易于 ASIC 移植:VHDL 語(yǔ)言效率高的重要體現(xiàn)之一就是如果設(shè)計(jì)人員的設(shè)計(jì)是被綜合到一個(gè) CPLD 器件 或 FPGA 器件,那么就可以使設(shè)計(jì)的產(chǎn)品以最快的的速度上市。當(dāng)產(chǎn)品的數(shù)量達(dá) 到相當(dāng)?shù)囊?guī)模時(shí),采用 VHDL 語(yǔ)言能夠很容易地幫助

36、設(shè)計(jì)人員實(shí)現(xiàn)轉(zhuǎn)成 ASIC 的 設(shè)計(jì)。VHDL 語(yǔ)言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用:VHDL 語(yǔ)言的語(yǔ)法規(guī)范、標(biāo)準(zhǔn), 可讀性強(qiáng)。由于 VHDL 語(yǔ)言是一種 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,具有嚴(yán)格的 語(yǔ)法規(guī)范和統(tǒng)一的標(biāo)準(zhǔn),因此它可以使設(shè)計(jì)人員之間進(jìn)行交流和共享。 2.3.3 VHDL 語(yǔ)言的設(shè)計(jì)流程 采用 VHDL 語(yǔ)言設(shè)計(jì)硬件電路系統(tǒng)的設(shè)計(jì)流程一般可以分為以下幾個(gè)步驟。 硬件電路系統(tǒng)設(shè)計(jì)要求的定義。編寫(xiě)描述硬件電路系統(tǒng)功能的 VHDL 語(yǔ)言程 序。VHDL 語(yǔ)言程序的模擬。VHDL 語(yǔ)言的綜合、優(yōu)化和布局布線(xiàn)。布局布 線(xiàn)后的設(shè)計(jì)模擬。器件的編程。設(shè)計(jì)人員在從事硬件電路系統(tǒng)的合計(jì)過(guò)程中, 編寫(xiě)

37、VHDL 語(yǔ)言程序之前必須對(duì)硬件電路系統(tǒng)的設(shè)計(jì)目的和設(shè)計(jì)要求有一個(gè)非常 明確的認(rèn)識(shí)才行。 2.4 Quartus II 及其他第三方開(kāi)發(fā)工具 2.4.1 Quartus II 開(kāi)發(fā)平臺(tái)簡(jiǎn)介 Quartus II 是 Altera 提供的 FPGA/CPLD 開(kāi)發(fā)集成環(huán)境,Altera 是世界最 大可編程邏輯器件供應(yīng)商之一。Quartus II 在 21 世紀(jì)初推出,是 Altera 前一 代 FPGA/CPLD 集成開(kāi)發(fā)環(huán)境 MAX+plus II 的更新?lián)Q代產(chǎn)品,其界面友好,使用 便捷。在 Quartus II 上可以完成設(shè)計(jì)輸入、HDL 綜合、布線(xiàn)布局(適配) 、仿 真和下載和硬件測(cè)試等流

38、程,它提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者 能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。 Altera 的 Quartus II 提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿(mǎn)足各種特定設(shè) 計(jì)的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和 SOPC 開(kāi)發(fā)的基 本設(shè)計(jì)工具,并為 Altera DSP 開(kāi)發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。 Quartus II 設(shè)計(jì)工具完全支持 VHDL、Verilog 的設(shè)計(jì)流程,其內(nèi)部嵌有 VHDL、Verilog 邏輯綜合器。Quartus II 也可以利用第三方的綜合工具,如 Leonardo Spectrum、Synplify Pro、FPGA C

39、omplier II,并能直接調(diào)用這些工 具。同樣,Quartus II 具備仿真功能,同時(shí)也支持第三方的仿真工具,如 ModelSim。此外,Quartus II 與 MATLAB 和 DSP Builder 結(jié)合,可以進(jìn)行基于 FPGA 的 DSP 系統(tǒng)開(kāi)發(fā),是 DSP 硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵 EDA 工具。 Quartus II 包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器 (Analysis end if ; clk549s = clk_div(6); - clk_sys 128 fen pin,=0.375M 1.1M end process div_f ; clk549=cl

40、k549s; - 4.2.2 數(shù)據(jù)采集控制(cs_control)模塊: 模塊輸入:系統(tǒng)時(shí)鐘 128 次分頻信號(hào) clk_div(6); 模塊輸出:cs 控制信號(hào) cs_control、數(shù)據(jù)位控制字 n 。 由于 tlc549 芯片采集數(shù)據(jù)的特點(diǎn),芯片片選信號(hào)(cs_control)與時(shí)鐘信 號(hào)(clk549)必須很好的配合,才能讀取正確的數(shù)據(jù)。由 tlc549 數(shù)據(jù)采集時(shí)序 圖可知,cs_control 拉低與第一個(gè)時(shí)鐘上升沿到來(lái)時(shí)必須相隔 1.4us,clk549 頻率為 0.375M,對(duì)應(yīng)周期 T=2.67 us(上升沿到來(lái)則在 T/2=1.33 us1.4us) , 因此 cs_con

41、trol 拉低后第一個(gè)時(shí)鐘周期將沒(méi)有數(shù)據(jù)輸出,當(dāng)?shù)诙€(gè)時(shí)鐘上升沿 到來(lái)時(shí),輸出第一位數(shù)據(jù)(數(shù)據(jù)的最高位) ,第三次時(shí)鐘上升沿則輸出第三位 (次高位) ,以此類(lèi)推。 由于第 8 個(gè) I/O CLOCK 后,CS 必須為高,或 I/O CLOCK 保持低電平,這種 狀態(tài)需要維持 36 個(gè)內(nèi)部系統(tǒng)時(shí)鐘周期以等待保持和轉(zhuǎn)換工作的完成。又因?yàn)?clk549 為 clk_div(6),無(wú)法置 0,因此第 9 個(gè)時(shí)鐘周期時(shí),cs_control 必須為 高。而且 cs_control 必須維持 36 個(gè)內(nèi)部系統(tǒng)時(shí)鐘周期以等待保持和轉(zhuǎn)換工作 的完成。數(shù)據(jù)采集控制(cs_control)模塊對(duì)應(yīng)的 VHDL 代

42、碼如下所示: - set_tlc549 :process(clk_div(6) begin if (clk_div(6)event and clk_div(6)=1) then n = (n+1)mod 20 ; end if ; if n=0 then cs_control data_bing(0) := tlc549_data ; when 3 = data_bing(7) := tlc549_data ; when 4 = data_bing(6) := tlc549_data ; when 5 = data_bing(5) := tlc549_data ; when 6 = data_

43、bing(4) := tlc549_data ; when 7 = data_bing(3) := tlc549_data ; when 8 = data_bing(2) := tlc549_data ; when 9 = data_bing_reg null ; end case; end process chuan2bing ; - 4.2.4 顯示數(shù)值計(jì)算(data_calculate)模塊 模塊輸入:并行輸出數(shù)據(jù) data_bing_reg ; 模塊輸出:電壓對(duì)應(yīng)的三位數(shù)值 led2、led1、led0。 電壓值的變化范圍 02.55v ,對(duì)應(yīng)輸出 8 為二進(jìn)制數(shù)據(jù)(0255) 。首先把 data_bing_reg 轉(zhuǎn)化成對(duì)應(yīng)的十進(jìn)制數(shù) V_value,分別求出各數(shù)位的數(shù)值 led2、led1、led0。 V_value := conv_integer(data_bing_reg) ; led20 := V_value/100 ; -x.00

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論