




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、龍巖學(xué)院龍巖學(xué)院畢業(yè)論文(設(shè)計(jì))畢業(yè)論文(設(shè)計(jì))題目: 基于 vhdl 語言的 水表抄表器的設(shè)計(jì) 專業(yè):電子信息工程 龍巖學(xué)院本(專)科畢業(yè)論文(設(shè)計(jì))開題報(bào)告學(xué)院:物理與機(jī)電工程專業(yè):電子信息工程 課題名稱 基于vhdl語言的水表抄表器的設(shè)計(jì)姓名 學(xué)號(hào)指導(dǎo)教師職稱學(xué)歷 一、開展本課題的意義及工作內(nèi)容:本課題的研究意義: 利用vhdl語言,通過對(duì)cpld或fpga編程,生成控制電路,顯示電路,存儲(chǔ)電路,使它們完全集成在一片cpld或fpga上。這種設(shè)計(jì)方法使整個(gè)系統(tǒng)更加小型化,大大縮小了體積,易于管理和屏蔽。同時(shí)易于做成產(chǎn)品,大規(guī)模生產(chǎn),迅速占領(lǐng)市場(chǎng),是eda發(fā)展的趨勢(shì)。但現(xiàn)在cpld或fpg
2、a價(jià)格相對(duì)單片機(jī)來說偏高,而且現(xiàn)階段應(yīng)用并不是很廣泛。但是如果做成asic,大規(guī)模生產(chǎn),其優(yōu)勢(shì)是很明顯的。工作內(nèi)容: 水表抄表器的方案設(shè)計(jì) 水表抄表器程序的模塊化處理 水表抄表器的語言設(shè)計(jì) vhdl 語言的綜合、仿真 二、課題工作的總體安排及進(jìn)度:1-3 周 開題報(bào)告,資料初步搜集。與指導(dǎo)老師溝通。4-5 周 方案可行性論證,論文初期撰寫,同時(shí)與指導(dǎo)老師溝通。6-7 周 論文中后期撰寫,完成論文初稿;進(jìn)行系統(tǒng)的實(shí)驗(yàn)與仿真,并與指導(dǎo)老師溝通。 8 周 系統(tǒng)調(diào)試,完成畢業(yè)設(shè)計(jì)和論文修改。與指導(dǎo)老師溝通。 9 周 論文定稿并上交畢業(yè)論文終稿,及答辯。三、課題預(yù)期達(dá)到的效果: fpga是新型的可編程邏
3、輯器件,能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€(gè)單個(gè)器件中,它所提供的門數(shù)從幾百門到上百萬門,可以滿足不同的需要。因此用fpga來實(shí)現(xiàn)抄表器從根本上解決了單片機(jī)的先天性限制問題。與以往的抄表器相比,用fpga實(shí)現(xiàn)的抄表器有如下特點(diǎn):1、集成度高。2、易于升級(jí)、換代,靈活適用于各種場(chǎng)合。 3、符合系統(tǒng)芯片(soc, system on chip)的發(fā)展要求。四、指導(dǎo)教師意見:簽名: 年 月 日不夠填寫可續(xù)頁基于基于vhdlvhdl語言的水表抄表器的設(shè)計(jì)語言的水表抄表器的設(shè)計(jì) 【摘摘要要】伴隨著集成電路伴隨著集成電路(ic)(ic)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(eda)(eda)逐漸
4、成為重要的設(shè)計(jì)手段,已逐漸成為重要的設(shè)計(jì)手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。edaeda的一個(gè)重要特征就是使用硬件描述語言的一個(gè)重要特征就是使用硬件描述語言(hdl)(hdl)來完來完成設(shè)計(jì)文件。誕生于成設(shè)計(jì)文件。誕生于19821982年的年的vhdlvhdl語言是語言是ieeeieee確認(rèn)的標(biāo)準(zhǔn)硬件描述語言,在電子設(shè)計(jì)領(lǐng)域受到了廣泛確認(rèn)的標(biāo)準(zhǔn)硬件描述語言,在電子設(shè)計(jì)領(lǐng)域受到了廣泛的接受。本課題以的接受。本課題以alteraaltera公司的公司的flexiokflexiok系列產(chǎn)品為載體,在系列產(chǎn)品為載體,在max+plusiimax+
5、plusii開發(fā)環(huán)境下采用開發(fā)環(huán)境下采用vhdlvhdl語言,設(shè)語言,設(shè)計(jì)并實(shí)現(xiàn)了水表抄表器。設(shè)計(jì)采用計(jì)并實(shí)現(xiàn)了水表抄表器。設(shè)計(jì)采用vhdlvhdl的結(jié)構(gòu)描述風(fēng)格,依據(jù)功能將系統(tǒng)分為四個(gè)模塊,控制模塊、的結(jié)構(gòu)描述風(fēng)格,依據(jù)功能將系統(tǒng)分為四個(gè)模塊,控制模塊、計(jì)數(shù)模塊、存儲(chǔ)模塊和顯示模塊,每個(gè)底層模塊采用計(jì)數(shù)模塊、存儲(chǔ)模塊和顯示模塊,每個(gè)底層模塊采用rtlrtl (registers(registers transferlanguage)transferlanguage)級(jí)描述,整級(jí)描述,整體生成采用體生成采用max+plusiimax+plusii的圖形輸入法。通過波形仿真、下載芯片的測(cè)試,完成
6、了抄表器的功能。的圖形輸入法。通過波形仿真、下載芯片的測(cè)試,完成了抄表器的功能。 【關(guān)鍵詞關(guān)鍵詞】:】:vhdl,vhdl, cpld/fpga,cpld/fpga, maxmax十十plushplush,水表抄表器,水表抄表器 【abstractabstract】the electronic design automation (eda) technology has become an importantdesign method of analog and digital circuit system as the integrated circuitgrowing. one impor
7、tant characteristic of the eda is one of the standarddescription languages validated by ieee, which was firstly introduced in 1982.and it was widely used by electronic designer now. based on the series productsof flexiok developed by altera company, the projected design and complete systemof the rea
8、ding instrument of water meter with vhdl language under the max+plusi1.the style of construction of vhdl language is adopted in the design. accordingto the function the system is separated into four modules, the control module,the counter module, the memory module and the display module. each bottom
9、 moduleis described by rtl (register transfer language) and whole module is completedby the graphic input method of max+plus. the function of system is realizedthrough emulating the key waves and testing a chip. 【keykey wordswords】:】:vhdl, cpld/ fpga, max+plusii, the reading instrument of water mete
10、r 目目 錄錄 1. 緒論 (1)1.1 電子設(shè)計(jì)自動(dòng)化(eda)發(fā)展概述 (1)1.2 eda 的 fpga/cpld 開發(fā) (1)1.3 硬件描述語言(vhdl) (2)1.4 水表抄表器的發(fā)展現(xiàn)狀及本課題的研究意義 (2) 2. 水表抄表器的方案設(shè)計(jì) (3)2.1 水表抄表器的幾種方案比較 (3)2.2 用 fpga 實(shí)現(xiàn)水表抄表器 (4)2.3 水表抄表器的 vhdl 設(shè)計(jì)(4) 3. 水表抄表器程序的模塊化處理 (5)3.1 控制模塊 (6)3.1.1 模塊輸入、輸出 (6)3.1.2 模塊流程 (6)3.2 計(jì)數(shù)模塊 (7)3.2.1 模塊輸入、輸出 (8)3.2.2 模塊流程 (
11、8)3.3 存儲(chǔ)模塊 (9)3.3.1 模塊輸入、輸出 (9)3.3.2 模塊流程 (9)3.4 顯示模塊 (11)3.4.1 模塊輸入、輸出 (11)3.4.2 模塊流程 (11)3.5 抄表器模塊構(gòu)成 (12)3.5.1 抄表器的輸入、輸出 (12) 3.5.2 抄表器系統(tǒng)說明 (12) 4. 水表抄表器的語言設(shè)計(jì) (13)4.1 vhdl 語言的描述方式 (13)4.2 控制模塊的 vhdl 設(shè)計(jì) (14)4.3 計(jì)數(shù)模塊的 vhdl 設(shè)計(jì) (14)4.4 存儲(chǔ)模塊的 vhdl 設(shè)計(jì) (15)4.5 顯示模塊的 vhdl 設(shè)計(jì) (16) 4.6 整體設(shè)計(jì)模塊的 vhdl 描述 (16)
12、5. vhdl 語言的綜合、仿真 (17)5.1 綜合 (17)5.2 系統(tǒng) vhdl 描述波形仿真 (17) 5.2.1 控制模塊仿真 (17) 5.2.2 計(jì)數(shù)模塊仿真(18) 5.2.3 顯示模塊仿真(18)結(jié)論 (18)致謝 (18)參考文獻(xiàn) (19)附錄 1. 緒 論 21世紀(jì)人類將全面進(jìn)入信息化社會(huì),對(duì)微電子信息技術(shù)和微電子基礎(chǔ)技術(shù)將不斷提出更高的發(fā)展要求,微電子技術(shù)仍將繼續(xù)是21世紀(jì)若干年代中最為重要的和最有活力的高科技領(lǐng)域之一。而集成電路(ic)技術(shù)在微電子領(lǐng)域占有重要的地位。伴隨著ic技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(electronic design automation, ed
13、a)已經(jīng)逐漸成為重要設(shè)計(jì)手段,其廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等重要領(lǐng)域。1.1 電子設(shè)計(jì)自動(dòng)化(eda)發(fā)展概述1.1.1 eda的發(fā)展歷史2電子設(shè)計(jì)自動(dòng)化(eda)是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計(jì)算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作平臺(tái),是20世紀(jì)90年代初從cad(計(jì)算機(jī)輔助設(shè)計(jì)),cam(計(jì)算機(jī)輔助制造)、cat(計(jì)算機(jī)輔助測(cè)試)和cae(計(jì)算機(jī)輔助工程)的概念發(fā)展而來的。設(shè)計(jì)者的工作僅限于利用軟件的方式來完成系統(tǒng)硬件功能的描述,在eda 工具的幫助下和應(yīng)用相應(yīng)的fpga/cpld器件,就可以得到最后的設(shè)
14、計(jì)結(jié)果。此外,從應(yīng)用的廣度和深度來說,由于電子信息領(lǐng)域的全面數(shù)字化,基于eda的數(shù)字系統(tǒng)的設(shè)計(jì)具有更大的應(yīng)用市場(chǎng)和更緊迫的需求性。1.1.2 eda的應(yīng)用隨著大規(guī)模集成電路技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,在涉及工業(yè)自動(dòng)化、計(jì)算機(jī)應(yīng)用、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計(jì)工作中,eda技術(shù)的含量正以驚人的速度上升,電子類的高新技術(shù)項(xiàng)目的開發(fā)也日益依賴于eda技術(shù)的應(yīng)用。eda技術(shù)將成為電子設(shè)計(jì)領(lǐng)域中的極其重要的組成部分。電子設(shè)計(jì)專家認(rèn)為,單片機(jī)時(shí)代已經(jīng)結(jié)束,未來將是eda的時(shí)代。隨著微電子技術(shù)的飛速進(jìn)步,電子技術(shù)的應(yīng)用以空前規(guī)模和速度滲透到各行各業(yè)。各行業(yè)對(duì)自己專用集成電路(asic)的設(shè)計(jì)要求日趨迫切,可
15、編程器件的廣泛應(yīng)用,為各行業(yè)的電子系統(tǒng)設(shè)計(jì)工程師自行開發(fā)本行業(yè)專用的asic提供了技術(shù)和物質(zhì)條件。1.2 eda的fpga/cpld開發(fā)3fpga/cpld不但包括了mcu的特點(diǎn),并兼有串、并行工作方式,高速、高可靠性以及寬口徑適用性等諸多方面的特點(diǎn)。1.2.1 fpga/cpld簡(jiǎn)介fpga/cpld都是高密度現(xiàn)場(chǎng)可編程邏輯芯片,都能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€(gè)單片集成電路中,其集成度已發(fā)展到現(xiàn)在的幾百萬門。復(fù)雜可編程邏輯cpld是由pal或gal發(fā)展而來的。1.2.2 用fpga/cpld進(jìn)行開發(fā)的優(yōu)缺點(diǎn)優(yōu)點(diǎn):1、編程方式簡(jiǎn)便、先進(jìn)。2、高速。3、高可靠性。4、開發(fā)工具和設(shè)計(jì)語言標(biāo)準(zhǔn)化,開
16、發(fā)周期短。5、功能強(qiáng)大,應(yīng)用廣闊。同時(shí),fpga/cpld設(shè)計(jì)方法也有其局限性。這體現(xiàn)在以下幾點(diǎn):1、fpga/cpld設(shè)計(jì)軟件一般需要對(duì)電路進(jìn)行邏輯綜合優(yōu)化,以得到易于實(shí)現(xiàn)的結(jié)果,因此,最終設(shè)計(jì)和原始設(shè)計(jì)之間在邏輯實(shí)現(xiàn)和時(shí)延方面具有一定的差異。2、 fpga/cpld的容量和數(shù)目都是有限的。3、由于目標(biāo)系統(tǒng)的pcb板的修改代價(jià)很高,用戶一般希望能固定引出端分配的前提下對(duì)電路進(jìn)行修改。但在芯片利用率提高,或者芯片v0引出端很多的情況下,微小的修改往往會(huì)降低芯片的布通率。4、早期的fpga芯片不能實(shí)現(xiàn)存儲(chǔ)器、模擬電路等一些特殊形式的電路。最新的一些fpga產(chǎn)品集成了通用的ram結(jié)構(gòu)。但這些結(jié)構(gòu)要
17、么利用率不高,要么不符合設(shè)計(jì)者的需要。這種矛盾來自于fpga本身的結(jié)構(gòu)局限性,短期內(nèi)很難得到好的解決。5、盡管fpga實(shí)現(xiàn)了asic設(shè)計(jì)的硬件仿真,但是由于fpga和門陣列、等傳統(tǒng)asic形式的延時(shí)不盡相同,在將fpga設(shè)計(jì)轉(zhuǎn)向其他asic設(shè)計(jì)時(shí)標(biāo)準(zhǔn)單元仍然存在由于延時(shí)不匹配造成設(shè)計(jì)失敗的可能性。1.3 硬件描述語言(vhdl)16硬件描述語言(hdl)是相對(duì)于一般的計(jì)算機(jī)軟件語言如c而言的。硬件描述語言具有以下幾個(gè)優(yōu)點(diǎn):1、設(shè)計(jì)技術(shù)齊全,方法靈活,支持廣泛。2、加快了硬件電路的設(shè)計(jì)周期,降低了硬件電路的設(shè)計(jì)難度。3、采用系統(tǒng)早期仿真,在系統(tǒng)設(shè)計(jì)早期就發(fā)現(xiàn)并排除存在的問題。4、語言設(shè)計(jì)可與工藝
18、技術(shù)無關(guān)。5、與標(biāo)準(zhǔn),規(guī)范,易于共享和復(fù)用。1.3.1 vhdl語言簡(jiǎn)介在大規(guī)模數(shù)字系統(tǒng)設(shè)計(jì)中,vhdl語言將逐步取代如邏輯狀態(tài)表和邏輯電路等級(jí)別較低的繁瑣的硬件描述方法,而成為主要的硬件描述語言。1.3.2 vhdl語言設(shè)計(jì)步驟利用vhdl語言進(jìn)行設(shè)計(jì)可分為以下幾個(gè)步驟:1、設(shè)計(jì)要求的定義。2、用vhdl語言進(jìn)行設(shè)計(jì)描述。3、用vhdl仿真器對(duì)vhdl原代碼進(jìn)行功能仿真。4、利用vhdl綜合優(yōu)化軟件對(duì)vhdl原代碼進(jìn)行綜合優(yōu)化處理。5、配置將綜合優(yōu)化處理后得到的優(yōu)化了的網(wǎng)絡(luò)表,安放到前面選定的cpld或fpga目標(biāo)器件之中,這一過程成為配置。6、配置后的時(shí)序仿真。7、器件編程。1.3.3 利
19、用vhdl語言開發(fā)的優(yōu)點(diǎn)vhdl語言與其他語言相比有一些自己的優(yōu)點(diǎn):1、設(shè)計(jì)功能強(qiáng)、方法靈活、支持廣泛。2、系統(tǒng)硬件描述能力強(qiáng)。3、可以進(jìn)行與工藝無關(guān)編程4、 vhdl語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用。5、方便asic移植。1.4 水表抄表器的發(fā)展現(xiàn)狀及本課題的研究意義1.4.1 水表抄表器的發(fā)展現(xiàn)狀近年來,隨著科學(xué)技術(shù)的不斷發(fā)展和人民生活水平的不斷提高,“智能化住宅”這一概念正在逐步地被引入到普通住宅小區(qū)的建設(shè)之中。其中最典型的應(yīng)用便是自來水表、電表、管道煤氣表等三表的集中自動(dòng)抄表系統(tǒng)。隨著人們生活水平的不斷提高和生活節(jié)奏的日益加快,現(xiàn)代家庭中的煤氣、電、水費(fèi)的核算和收繳工作日益成為一種負(fù)擔(dān)。
20、傳統(tǒng)的計(jì)量器采用各自獨(dú)立的感應(yīng)式計(jì)量表,這種抄表器有很多弊端,諸如必須逐門入戶抄表,收費(fèi)困難,易造成漏抄、誤抄或多抄,需投入大量的抄表統(tǒng)計(jì)人員,而且存在抄表效率低、速度慢、成本高等問題。不僅工作量大、數(shù)據(jù)統(tǒng)計(jì)麻煩,而且容易出錯(cuò),費(fèi)用收繳工作也極其麻煩。本設(shè)計(jì)的抄表系統(tǒng),它可把多用戶的水量用量集中記錄在一部表中,而且采用多用戶聯(lián)網(wǎng)的形式,進(jìn)行集中抄寫,數(shù)據(jù)統(tǒng)計(jì)簡(jiǎn)單,費(fèi)用收繳周期可以大幅度的縮減。它對(duì)用戶水、電、氣等量的自動(dòng)計(jì)費(fèi)、收費(fèi)聯(lián)網(wǎng),狀態(tài)報(bào)警提示和防止用戶使用非法手段竊水、竊電等功能于一體,是適應(yīng)管理現(xiàn)代化的最佳計(jì)量器具之一。由此設(shè)計(jì)了一套遠(yuǎn)傳抄表系統(tǒng)。由于它們的出現(xiàn)既方便了廣大用戶,又大大
21、減輕了抄表員的工作量,同時(shí)由于計(jì)量精確,因而己具有成為該領(lǐng)域中主流技術(shù)的趨勢(shì)。抄表系統(tǒng)基本工作原理:利用電子技術(shù)和傳感技術(shù),對(duì)傳統(tǒng)電表、水表、氣表加以改進(jìn),使其成為遠(yuǎn)傳表,在戶外裝一套計(jì)量系統(tǒng),將每一個(gè)計(jì)量表傳感器傳出的數(shù)據(jù),送到每個(gè)表的采集器存儲(chǔ),經(jīng)過函數(shù)變換送到智能電路單元,各單元通過數(shù)據(jù)總線并聯(lián),在數(shù)據(jù)總線上任何一點(diǎn)皆可以與計(jì)算機(jī)通訊,自動(dòng)抄收三表數(shù)據(jù)。系統(tǒng)包括遠(yuǎn)傳檢測(cè)表頭、數(shù)據(jù)抄表器、上位控制器等三個(gè)部分。(1)遠(yuǎn)傳檢測(cè)表頭:通過對(duì)現(xiàn)有電表、水表、煤氣表加裝傳感器,使其既能就地顯示計(jì)量數(shù)據(jù),又能產(chǎn)生相關(guān)計(jì)量脈沖信號(hào)的新型計(jì)量表具。傳感器實(shí)質(zhì)上是一種基于磁電轉(zhuǎn)換技術(shù)或光電轉(zhuǎn)換技術(shù)的脈沖發(fā)
22、生電路單元。遠(yuǎn)傳檢測(cè)表頭均為機(jī)械轉(zhuǎn)盤式,將磁感應(yīng)探頭裝在檢測(cè)表頭的某一刻度上,并通過磁屏蔽防止外界磁場(chǎng)的干擾后,便將一臺(tái)一次表改制成遠(yuǎn)傳檢測(cè)表頭。轉(zhuǎn)軸的圈數(shù)通過探頭組件的輸出端送到數(shù)據(jù)采集器,該數(shù)據(jù)通過一定的倍率計(jì)算便成為最終的計(jì)量數(shù)據(jù)。例如,在現(xiàn)有轉(zhuǎn)盤計(jì)數(shù)的水表中加裝霍爾元件和磁鐵,即可構(gòu)成基于磁電轉(zhuǎn)換技術(shù)的傳感器,霍爾元件固定安裝在計(jì)數(shù)轉(zhuǎn)盤附近,永磁鐵安裝在計(jì)數(shù)盤上,則當(dāng)轉(zhuǎn)盤每轉(zhuǎn)一圈,永磁鐵經(jīng)過霍爾元件一次。即在信號(hào)端產(chǎn)生一個(gè)計(jì)量脈沖。(2)數(shù)據(jù)抄表器:其主要功能是采集檢測(cè)表頭數(shù)據(jù),累積表頭數(shù)據(jù),通過系統(tǒng)總線上傳至上位控制器。其一般具有8個(gè)通道,每個(gè)通道連接1個(gè)檢測(cè)表頭。為保障系統(tǒng)的安全性
23、及可靠性,數(shù)據(jù)采集器應(yīng)具有表底數(shù)據(jù)及采集數(shù)據(jù)的存儲(chǔ)功能。(3)上位控制器:上位控制器可與數(shù)據(jù)采集器、檢測(cè)表頭組成完整的小規(guī)模抄表系統(tǒng),標(biāo)準(zhǔn)型上位控制器通過屏蔽雙絞線可掛接多個(gè)數(shù)據(jù)采集器。上位控制器主要功能是,對(duì)數(shù)據(jù)采集器硬件設(shè)備管理,歷史數(shù)據(jù)存儲(chǔ)、累積,采集器數(shù)據(jù)顯示、打印等功能。本設(shè)計(jì)主要是針對(duì)該系統(tǒng)的核心部分?jǐn)?shù)據(jù)抄表器,抄表器接受已處理好的脈沖信號(hào),每1000個(gè)脈沖記為1度。一個(gè)抄表器可以記錄一戶的用水量,同時(shí)循環(huán)顯示各戶現(xiàn)在的用水量。1.4.2 本課題的研究意義本課題的研究意義有以下幾個(gè):首先,就是完成本課題的具體設(shè)計(jì),通過這次設(shè)計(jì),掌握用vhdl設(shè)計(jì)數(shù)字系統(tǒng)的方法。16其次是探討用vh
24、dl實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)應(yīng)當(dāng)注意的方面。再次探討vhdl語言的具體特點(diǎn)。最后注意編碼的效率,以求速度和功耗的最優(yōu)化。 2. 水表抄表器的方案設(shè)計(jì)2.1 水表抄表器的幾種方案比較根據(jù)抄表系統(tǒng)的特點(diǎn),可以采用幾種方案來實(shí)現(xiàn)。第一種方案:采用以80c31為核心的單片機(jī)擴(kuò)展系統(tǒng)。系統(tǒng)可對(duì)來自多路的脈沖進(jìn)行實(shí)時(shí)采集、計(jì)算,變成各路表的用水量數(shù)據(jù)進(jìn)行保存。用外設(shè)對(duì)系統(tǒng)初始化設(shè)置和數(shù)據(jù)抄錄,初始化設(shè)置包括系統(tǒng)編號(hào)、水表常數(shù)和表底數(shù)設(shè)置,系統(tǒng)依據(jù)這些參數(shù)進(jìn)行水量轉(zhuǎn)換。系統(tǒng)內(nèi)還配有電源監(jiān)視器和看門狗電路,保證系統(tǒng)可靠運(yùn)行。下圖為原理框圖: cpu(單(單 片片 機(jī))機(jī))鍵盤接口電路數(shù)據(jù)存儲(chǔ)器脈沖復(fù)位時(shí)鐘電路顯示電路
25、電源監(jiān)視看 門 狗通信電路 圖2-1 原理框圖主要功能:1、 具有戶內(nèi)戶外兩套顯示,且數(shù)據(jù)一致。2、 低功耗,普通5號(hào)電池可用三年,更換電池?cái)?shù)據(jù)不丟。3、 顯示儀可通過鍵盤送入初值。4、 通用于所有符合國家標(biāo)準(zhǔn)的普通水表或氣表。5、 八位數(shù)據(jù)顯示,整數(shù)位與小數(shù)位任意設(shè)定,可顯示八戶的戶號(hào)及用各自用水量。6、 具有防盜竊功能。7、 停電數(shù)據(jù)自動(dòng)保護(hù)功能。第二種方案:采用asic技術(shù),把上述除了cpu(單片機(jī))以外的各外圍功能芯片集成在cpld或fpga上,應(yīng)用vhdl語言對(duì)其編程,使其完成各個(gè)功能芯片的功能,然后再應(yīng)用vhdl語言設(shè)計(jì)一個(gè)專用串行通信芯片,使整個(gè)系統(tǒng)能夠小型化。這種設(shè)計(jì)方法采用單
26、片機(jī)和cpld或fpga相結(jié)合的方法,既能兼顧單片機(jī)技術(shù)比較成熟。易于設(shè)計(jì),同時(shí)也能利用最新的vhdl語言進(jìn)行設(shè)計(jì)一些比較簡(jiǎn)單的集成電路。第三種方案:完全采用cpld或fpga器件。對(duì)其編程,使其產(chǎn)生各個(gè)功能模塊,生成asic專用集成電路10,然后輔于外圍電路,使之完全符合上述功能的要求。在以上兩種設(shè)計(jì)方案中,控制器都是采用的51系列的單片機(jī),然后外圍一些電路,構(gòu)成一個(gè)完整的單片機(jī)系統(tǒng)。在第三種方案中,利用vhdl語言,通過對(duì)cpld或fpga編程,生成控制電路,計(jì)數(shù)電路、存儲(chǔ)電路,顯示電路,使它們完全集成在一片cpld或fpga上。與以上兩種方案比較,這種設(shè)計(jì)方法使整個(gè)系統(tǒng)更加小型化,大大縮
27、小了體積,易于管理和屏蔽。同時(shí)易于做成產(chǎn)品,大規(guī)模生產(chǎn),迅速占領(lǐng)市場(chǎng),是eda發(fā)展的趨勢(shì)。但現(xiàn)在cpld或fpga價(jià)格相對(duì)單片機(jī)來說偏高,而且現(xiàn)階段應(yīng)用并不是很廣泛。但是如果做成asic,大規(guī)模生產(chǎn),其優(yōu)勢(shì)是很明顯的?,F(xiàn)代電子產(chǎn)品的設(shè)計(jì),離不開eda技術(shù)。所以決定采用第三種方案,利用可編程邏輯器件和vhdl語言設(shè)計(jì)的優(yōu)點(diǎn)。2.2 用fpga實(shí)現(xiàn)水表抄表器18傳統(tǒng)的水表抄表器一般是由分離元件搭接而成的。隨著單片機(jī)的大規(guī)模的應(yīng)用,單片機(jī)在水表抄表方面也越來越多的被使用,出現(xiàn)了不少單片機(jī)控制的水表抄表器。相對(duì)于以前用分離元件搭接起來的集中抄表器,單片機(jī)控制的集中抄表器在測(cè)量精度和測(cè)量速度上都有了很大
28、的提高。但由于單片機(jī)先天性的限制(如單片機(jī)工作頻率的限制、單片機(jī)內(nèi)部計(jì)數(shù)器位數(shù)的限制),由單片機(jī)控制的抄表器無法測(cè)量精度和測(cè)量速度上取得重大突破。若在增加別的器件,以彌補(bǔ)單片機(jī)的不足,不僅會(huì)大大增加系統(tǒng)的復(fù)雜性,而且不利于系統(tǒng)的集成化。fpga是新型的可編程邏輯器件,能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€(gè)單個(gè)器件中,它所提供的門數(shù)從幾百門到上百萬門,可以滿足不同的需要。因此用fpga來實(shí)現(xiàn)抄表器從根本上解決了單片機(jī)的先天性限制問題。與以往的抄表器相比,用fpga實(shí)現(xiàn)的抄表器有如下特點(diǎn):1、集成度高。2、易于升級(jí)、換代,靈活適用于各種場(chǎng)合。 3、符合系統(tǒng)芯片(soc, system on chip)的發(fā)
29、展要求。2.3 水表抄表器的vhdl設(shè)計(jì)由圖2-2所示,可以把它分為以下四個(gè)模塊:控制模塊、計(jì)數(shù)模塊、存儲(chǔ)數(shù)據(jù)的存儲(chǔ)模塊、顯示數(shù)據(jù)的顯示模塊??刂颇K是整個(gè)系統(tǒng)的控制部分,計(jì)數(shù)模塊是整個(gè)測(cè)量系統(tǒng)的核心,進(jìn)行計(jì)數(shù),計(jì)數(shù)結(jié)果送到存儲(chǔ)模塊。存儲(chǔ)模塊的復(fù)位信號(hào)由控制模塊提供,它從計(jì)數(shù)模塊接受到新的計(jì)數(shù)結(jié)果,測(cè)量結(jié)果經(jīng)存儲(chǔ)后送模塊顯示,顯示模塊從存儲(chǔ)模塊得到結(jié)果。整個(gè)系統(tǒng)模塊如圖2-2所示:圖2-2 系統(tǒng)圖各模塊功能描述如下:控制模塊control:控制模塊相當(dāng)于控制電路部分,它的主要功能是控制整個(gè)抄表器系統(tǒng)的復(fù)位,測(cè)量的開始等。計(jì)數(shù)模塊counter:計(jì)數(shù)模塊是整個(gè)抄表器的核心部分,它通過對(duì)被測(cè)脈沖計(jì)
30、數(shù)來進(jìn)行測(cè)量。計(jì)數(shù)模塊在每次測(cè)量前,從控制模塊接受復(fù)位信號(hào)reset,對(duì)模塊進(jìn)行復(fù)位,清除上次的測(cè)量結(jié)果,為新的一次測(cè)量做準(zhǔn)備。模塊在當(dāng)計(jì)數(shù)器計(jì)數(shù)完成并且測(cè)量結(jié)果輸出信號(hào)tkeep上的結(jié)果穩(wěn)定后,才輸出使能信號(hào)outen,使得存儲(chǔ)模塊可以讀取測(cè)量結(jié)果,從而保證了所讀測(cè)量結(jié)果的準(zhǔn)確性。存儲(chǔ)模塊iiccontrol:存儲(chǔ)模塊通過對(duì)計(jì)數(shù)模塊的測(cè)量結(jié)果的存儲(chǔ)。工作過程如下:存儲(chǔ)模塊從控制模塊接受系統(tǒng)開始信號(hào)start,還從計(jì)數(shù)模塊接受使能信號(hào)wren和測(cè)量結(jié)果信號(hào)tkeep。只有當(dāng)使能信號(hào)wren到來時(shí),存儲(chǔ)模塊才能從計(jì)數(shù)模塊讀取結(jié)果信號(hào)tkeep。當(dāng)rden到來時(shí),結(jié)果信號(hào)tkeep被送到存儲(chǔ)芯片上
31、。 顯示模塊display:顯示模塊主要作用是生成共陰極數(shù)碼管顯示測(cè)量結(jié)果所需的控制信號(hào)和數(shù)據(jù)信號(hào)。模塊從控制模塊接受模塊輸入復(fù)位信號(hào)sysstart對(duì)模塊進(jìn)行復(fù)位操作。模塊輸入的基準(zhǔn)時(shí)鐘clkdisp為分頻電路分頻處理后,頻率為100k的時(shí)鐘,用于數(shù)碼管的循環(huán)顯示。模塊同時(shí)從存儲(chǔ)模塊接受模塊輸入測(cè)量結(jié)果信號(hào)data。該測(cè)量結(jié)果信號(hào)是用二進(jìn)制表示的,顯示模塊首先將該信號(hào)轉(zhuǎn)換成bcd碼表示的形式,以用于數(shù)碼管的顯示。模塊輸出的各個(gè)數(shù)碼管選通信號(hào)gate1-gate3為各個(gè)數(shù)碼管的選通信號(hào),當(dāng)某一選通信號(hào)為高電平時(shí),表示該選通信號(hào)對(duì)應(yīng)的數(shù)碼管被選中有效,可以進(jìn)行顯示操作。模塊輸出的數(shù)據(jù)信digit
32、out各位上的信號(hào)是否為高電平來決定是否點(diǎn)亮數(shù)碼管中對(duì)應(yīng)的顯示段。3. 水表抄表器程序的模塊化處理集中抄表器系統(tǒng)共分為四個(gè)模塊:控制模塊、計(jì)數(shù)模塊、存儲(chǔ)模塊和顯示模塊。下面將依次介紹其各模塊的實(shí)現(xiàn)。3.1 控制模塊7控制模塊是整個(gè)系統(tǒng)的控制部分,它控制著其他四個(gè)模塊的工作。圖3-1是控制模塊的模塊圖。 k ko on ng gz zh hi i reset resetout sysstart stopflag startcunchubaseclk圖3-1控制模塊的模塊圖3.1.1 模塊輸入、輸出控制模塊的輸入信號(hào)有:reset:為系統(tǒng)復(fù)位信號(hào)。當(dāng)需要復(fù)位系統(tǒng)時(shí)(一般在進(jìn)行新的測(cè)量前),只需使r
33、eset變?yōu)楦唠娖?reset=1)即可將整個(gè)系統(tǒng)復(fù)位,處于等待側(cè)量狀態(tài)。sysstart:為系統(tǒng)開始測(cè)量脈沖信號(hào)。在進(jìn)行一次新的測(cè)量前需要也僅需要給sysstart一個(gè)脈沖,系統(tǒng)就開始進(jìn)行連續(xù)不間斷的測(cè)量。其中,sysstart的脈沖寬度要大于模塊中所有時(shí)鐘(經(jīng)分頻電路分頻后得到)的一個(gè)周期。flag:為存儲(chǔ)模塊反饋回來的標(biāo)志信號(hào)。它標(biāo)志著存儲(chǔ)模塊已經(jīng)從計(jì)數(shù)模塊取得此次測(cè)量的結(jié)果??刂颇K接受到此脈沖信號(hào)后,就發(fā)出startcunchu脈沖信號(hào),使系統(tǒng)進(jìn)行下一次測(cè)量,而不再需要sysstart信號(hào),從而實(shí)現(xiàn)了連續(xù)不間斷測(cè)量。baseclk:為基準(zhǔn)時(shí)鐘,它由外加的晶振所提供。輸出信號(hào)有:res
34、etout:為輸出復(fù)位脈沖信號(hào)。它由系統(tǒng)復(fù)位信號(hào)reset產(chǎn)生,主要為計(jì)數(shù)模塊、顯示模塊的復(fù)位。startcunchu:為存儲(chǔ)開始脈沖信號(hào)。stop:為存儲(chǔ)停止信號(hào),它由反饋信號(hào)flag產(chǎn)生。3.1.2 模塊流程控制模塊的流程如圖3一2所示:開開 始始reset=1?sysstart event and sysstart=1?-flag event and flag=1?reset=1?sysstart 是否啟動(dòng)?變 量 復(fù) 位resetout=1輸 出 圖3-2 控制模塊流程圖控制模塊首先檢測(cè)三個(gè)輸入信號(hào):系統(tǒng)復(fù)位信號(hào)reset、系統(tǒng)開始測(cè)量脈沖sysstart和存儲(chǔ)模塊反饋信號(hào)flag的變
35、化。當(dāng)reset變?yōu)楦唠娖?reset=1)時(shí),先對(duì)控制模塊內(nèi)的變量進(jìn)行復(fù)位,然后輸出resetout脈沖信號(hào),對(duì)其它模塊進(jìn)行復(fù)位操作。當(dāng)系統(tǒng)開始測(cè)量脈沖信號(hào)sysstart來臨(sysstartevent andsysstart=1)且脈沖寬度滿足條件時(shí),控制模塊先檢查是否處于系統(tǒng)復(fù)位期間(reset=1),若不是,則輸出測(cè)量開始脈沖信號(hào)startcunchu、當(dāng)要結(jié)束正在進(jìn)行的測(cè)量,開始另外一次新的測(cè)量時(shí),需要給控制模塊施加系統(tǒng)復(fù)位信號(hào),然后再施加開始測(cè)量脈沖信號(hào)startcunchu,開始新一輪測(cè)量,同時(shí)送到存儲(chǔ)模塊,以使存儲(chǔ)模塊能夠再次輸出反饋信號(hào)flag。這樣系統(tǒng)只需在開始施加一次測(cè)
36、量開始脈沖信號(hào)sartcunchu,以后在無須施加,從而實(shí)現(xiàn)了連續(xù)不間斷的測(cè)量。3.2 計(jì)數(shù)模塊715計(jì)數(shù)模塊是整個(gè)系統(tǒng)的核心模塊,測(cè)量的主要工作由它來完成,它通過計(jì)數(shù)器對(duì)被測(cè)信號(hào)基準(zhǔn)時(shí)間內(nèi)進(jìn)行計(jì)數(shù)來測(cè)量,其模塊圖如圖3-3所示: c co ou un nt te er rreset outenclk tkeep13.0 tkeep23.0 checlk tkeep33.0圖3-3 計(jì)數(shù)模塊的模塊圖3.2.1 模塊輸入、輸出由圖3-3可知,計(jì)數(shù)模塊的輸入模塊信號(hào)有:checlk:為被測(cè)的信號(hào)。其電壓幅度為0-5v,clk:為基準(zhǔn)時(shí)鐘,與前面兩個(gè)模塊一樣,有外加的晶振提供。reset:為計(jì)數(shù)脈沖
37、的輸入復(fù)位信號(hào)。resetout:主要用于對(duì)計(jì)數(shù)模塊進(jìn)行復(fù)位操作,清除計(jì)數(shù)結(jié)果,保證系統(tǒng)在連續(xù)不間斷測(cè)量的正確性。輸出信號(hào):tkeep:為計(jì)數(shù)模塊的測(cè)量結(jié)果輸出信號(hào)。它由模塊復(fù)位信號(hào)reset復(fù)位清零,在送到存儲(chǔ)模塊后,由存儲(chǔ)模塊送顯示模塊顯示。outen:為計(jì)數(shù)模塊的輸出使能信號(hào)。其主要用途是通知存儲(chǔ)模塊可以讀取測(cè)量結(jié)果輸出信號(hào)tkeep上的值。只有當(dāng)測(cè)量結(jié)果輸出信號(hào)tkeep上的結(jié)果正確、穩(wěn)定后,計(jì)數(shù)模塊才輸出使能信號(hào)outen (outen=1),讓存儲(chǔ)模塊讀取測(cè)量結(jié)果,確保了數(shù)據(jù)傳輸?shù)恼_。輸出使能信號(hào)outen由每次測(cè)量前的復(fù)位信號(hào)reset復(fù)位清零。3.2.2 模塊流程其流程如圖3
38、-4所示:開開 始始reset=1?輸出使能信號(hào)outen=1輸出計(jì)數(shù)結(jié)果模 塊 復(fù) 位圖3-4 計(jì)數(shù)模塊流程圖3.3 存儲(chǔ)模塊7存儲(chǔ)模塊主要是對(duì)計(jì)數(shù)模塊輸出的計(jì)數(shù)結(jié)果進(jìn)行存儲(chǔ),因此存儲(chǔ)模塊是一個(gè)必要的模塊。其模塊圖如圖3-5所示: i ii ic cc co on nt tr ro ol l clkstartstop flagwren sda rden scliidatain13.0iidatain23.0iidatain33.0圖3-5存儲(chǔ)模塊的模塊圖3.3.1 模塊翰入、輸出由圖3-5可知,存儲(chǔ)模塊的輸入信號(hào)有:iidatain:為存儲(chǔ)模塊輸入的測(cè)量結(jié)果信號(hào)。wren:為存儲(chǔ)模塊寫入的使
39、能信號(hào)。rden:為存儲(chǔ)模塊的讀出使能信號(hào),它來源于計(jì)數(shù)模塊輸出的輸出使能信號(hào)outen:主要用于控制模塊內(nèi)寫入的數(shù)據(jù)傳送到iic器件。start:為存儲(chǔ)模塊輸入的系統(tǒng)開始信號(hào),它來源于控制模塊輸出的輸出脈沖信號(hào)。stop:為存儲(chǔ)模塊輸入的系統(tǒng)停止信號(hào),它來自于控制模塊輸出的信號(hào)stop。輸出信號(hào)有:sda:為存儲(chǔ)模塊輸出的iic總線信號(hào),它將被送到eeprom器件。scl:為存儲(chǔ)模塊輸出的iic總線信號(hào),它將被送到eeprom器件。flag:為存儲(chǔ)模塊輸出的標(biāo)志信號(hào),它標(biāo)志著存儲(chǔ)模塊已經(jīng)存儲(chǔ)完畢,可以進(jìn)行下一輪的存儲(chǔ)。標(biāo)志信號(hào)被送到控制模塊后,將使控制模塊開始新的一輪存儲(chǔ)。3.3.2 模塊流
40、程存儲(chǔ)模塊首先檢測(cè)模塊的系統(tǒng)開始信號(hào)start是否為高電平,若是則檢測(cè)寫入使能信號(hào)wren,當(dāng)使能信號(hào)wren到來時(shí),意味著模塊輸入的結(jié)果信號(hào)iidatain上的數(shù)據(jù)已經(jīng)準(zhǔn)備就緒,模塊才開始從iidatain上讀取數(shù)據(jù),保證了測(cè)量結(jié)果讀取的準(zhǔn)確性。數(shù)據(jù)讀取后將儲(chǔ)存到內(nèi)部。再檢測(cè)讀出使能信號(hào)rden,當(dāng)使能信號(hào)rden到來時(shí),意味著數(shù)據(jù)將要送到eeprom器件,然后模擬ii總線的起始信號(hào),開始存儲(chǔ)4位數(shù)據(jù)的最高位,依次左移,直到4位傳送完畢,然后發(fā)應(yīng)答信號(hào),然后模擬iic總線的終止信號(hào),停止一個(gè)字節(jié)的存儲(chǔ),同時(shí)開始下一字節(jié)的存儲(chǔ)。當(dāng)stop到來時(shí),存儲(chǔ)模塊停止工作,發(fā)出反饋信號(hào)flag,準(zhǔn)備下一
41、次的存儲(chǔ)。 開始start=1?wren=1?數(shù)據(jù)輸入rden=1?模擬 iic 總線起始信號(hào)存儲(chǔ)一個(gè)字節(jié)的數(shù)據(jù)模擬總線終止信號(hào)停 止 存 儲(chǔ)發(fā)應(yīng)答信號(hào)stop=1?3.4 顯示模塊7顯示模塊主要用于測(cè)量結(jié)果的數(shù)碼管顯示。模塊從存儲(chǔ)模塊接受測(cè)量的結(jié)果,輸出共陰極數(shù)碼管顯示所需的控制信號(hào)。其模塊圖如圖3-7所示: d di is sp pl la ay y1 1data13.0 gate1data13.0 gate2data13.0 gate3sysstart igitout6.0clkdisp 圖3-7 顯示模塊模塊圖3.4.1 模塊輸入、輸出由圖3-7可知,顯示模塊的輸入信號(hào)有:clkdis
42、p: 為顯示模塊輸入的基準(zhǔn)時(shí)鐘。與前面的模塊一樣,由外加晶振所提供。clkdisp:經(jīng)分頻后,生成頻率為100k的時(shí)鐘,主要用于數(shù)碼管的循環(huán)顯示。sysreset:為顯示輸入的復(fù)位信號(hào),它來自于控制模塊輸出的復(fù)位脈沖信號(hào)resetout.data:為顯示模塊輸入的測(cè)量結(jié)果信號(hào)(二進(jìn)制表示),它來自于計(jì)數(shù)模塊輸出的測(cè)量結(jié)果信號(hào)tkeep。顯示模塊將對(duì)測(cè)量結(jié)果用數(shù)碼管適時(shí)顯示出來。輸出信號(hào)有:gate 1-gate3:為顯示輸出的各個(gè)數(shù)碼管選通信號(hào),gate 1為個(gè)位數(shù)碼管的選通信號(hào),gate2為十位數(shù)碼管的選通信號(hào),gate3為百位數(shù)碼管的選通信號(hào),也就是說最大顯示數(shù)據(jù)為999。digitout
43、:為顯示模塊輸出的數(shù)據(jù)信號(hào),它的信號(hào)寬度為7位,分別對(duì)應(yīng)于數(shù)碼管的7個(gè)顯示段。信號(hào)高電平表示點(diǎn)亮對(duì)應(yīng)的顯示段,低電平表示關(guān)閉對(duì)應(yīng)的顯示段,從而顯示正確的測(cè)量結(jié)果。3.4.2 模塊流程顯示模塊首先從顯示模塊輸入的測(cè)量結(jié)果信號(hào)dataout上得到的用二進(jìn)制表示的測(cè)量結(jié)果轉(zhuǎn)換為用bcd碼表示,以便下一步用數(shù)碼管顯示。顯示模塊在顯示測(cè)量結(jié)果前先檢測(cè)模塊的復(fù)位信號(hào)sysrst是否為高電平(sysrst=1),若是,則對(duì)整個(gè)模塊進(jìn)行復(fù)位操作。否則對(duì)輸入的測(cè)量結(jié)果進(jìn)行顯示。模塊首先測(cè)量結(jié)果的個(gè)數(shù)位(即選通位信號(hào)gate1=1)。模塊在顯示測(cè)量結(jié)果的各個(gè)數(shù)字時(shí)采用的相同的方法:即在時(shí)鐘作用下,第一次根據(jù)dig
44、itout決定是否點(diǎn)亮數(shù)碼管的第一個(gè)顯示段;第二次根據(jù)職gitout是否點(diǎn)亮數(shù)碼管的第一第二個(gè)顯示段;以次類推,第七次根據(jù)digitout決定是否點(diǎn)亮數(shù)碼管的一、二、三、四、五、六、七個(gè)顯示段。從而顯示整個(gè)數(shù)字。顯示完個(gè)數(shù)位后,模塊接著顯示十位數(shù)、百位數(shù)。模塊接著反過來顯示個(gè)數(shù)位。從而實(shí)現(xiàn)測(cè)量結(jié)果的循環(huán)顯示。 開 始sysreset=1?根據(jù) digitout 決定是否點(diǎn)亮數(shù)碼管的第一個(gè)數(shù)碼段相同的方法現(xiàn)實(shí)十位、百位個(gè) 位 數(shù) 顯 示 完 畢根據(jù) digitout 決定是否點(diǎn)亮數(shù)碼管的第一、二個(gè)數(shù)碼段開始顯示測(cè)量結(jié)果的個(gè)數(shù)位 gate1=1二進(jìn)制表示的結(jié)果信號(hào)binput 轉(zhuǎn)換成 bcd 碼表
45、示 圖3-8 顯示模塊流程圖3.5 抄表器模塊構(gòu)成將抄表器系統(tǒng)的四個(gè)模塊:控制模塊、計(jì)數(shù)模塊、存儲(chǔ)模塊和顯示模塊按照其相互間的信號(hào)連接關(guān)系組合起來就構(gòu)成了整個(gè)抄表器。3.5.1抄表器的輸入、輸出系統(tǒng)的輸入信號(hào)有:clk:為系統(tǒng)輸入的基準(zhǔn)時(shí)鐘信號(hào),它將同時(shí)作用于系統(tǒng)的四個(gè)分離模塊。checlk:為系統(tǒng)輸入的被測(cè)信號(hào),作用于計(jì)數(shù)模塊的被測(cè)時(shí)鐘信號(hào)checlk。reset:為系統(tǒng)輸入的復(fù)位信號(hào)(高電平有效),作用于控制模塊的復(fù)位信號(hào)resetsysstart:為系統(tǒng)輸入的開始測(cè)量脈沖信號(hào),作用于控制模塊的開始測(cè)量脈沖信號(hào)sysstart輸出信號(hào)有:gate 1-gate3:為系統(tǒng)輸出的各個(gè)數(shù)碼管選通
46、信號(hào)(低電平有效),即顯示模塊輸出信號(hào),各個(gè)數(shù)碼管選通信號(hào)gate 1-gatesdigitout:為系統(tǒng)輸出的數(shù)據(jù)信號(hào),用于顯示。sda: 為系統(tǒng)輸出的iic總線信號(hào),用于存儲(chǔ)scl: 為系統(tǒng)輸出的iic總線信號(hào),用于存儲(chǔ)3.5.2 抄表器系統(tǒng)說明整個(gè)系統(tǒng)有四個(gè)輸入信號(hào),分別為系統(tǒng)基準(zhǔn)時(shí)鐘信號(hào)clk、被測(cè)時(shí)鐘信號(hào)checlk,系統(tǒng)復(fù)位信號(hào)reset和開始測(cè)量脈沖信號(hào)sysstart。其中clk為整個(gè)系統(tǒng)的基準(zhǔn)時(shí)鐘,整個(gè)系統(tǒng)的工作都是以它為基準(zhǔn),系統(tǒng)實(shí)現(xiàn)由外加晶振提供:checlk為被測(cè)的外部信號(hào):reset作為系統(tǒng)的復(fù)位信號(hào),用于對(duì)整個(gè)系統(tǒng)的復(fù)位工作,一般在開始一次新的測(cè)量之前,都需對(duì)系統(tǒng)進(jìn)
47、行一次復(fù)位操作;sysstart用于通知系統(tǒng)開始進(jìn)行測(cè)量,并輸出測(cè)量結(jié)果。抄表器的輸出信號(hào)gate1-gate3為數(shù)碼管的顯示控制信號(hào),digitout為數(shù)碼管的顯示數(shù)據(jù)信號(hào)。系統(tǒng)在接受到開始測(cè)量脈沖信號(hào)sysstart,開始測(cè)量,計(jì)數(shù)器開始計(jì)數(shù),當(dāng)有計(jì)數(shù)到999時(shí),計(jì)數(shù)器自動(dòng)復(fù)位為0,同時(shí)往存儲(chǔ)模塊輸出數(shù)據(jù)1,顯示模塊控制信號(hào)gate1= 1,顯示個(gè)數(shù)位的數(shù)碼管點(diǎn)亮,顯示數(shù)據(jù)1,當(dāng)再有1000個(gè)脈沖時(shí),顯示2,依次進(jìn)位,完成抄表器的計(jì)量功能,同時(shí)實(shí)時(shí)顯示,完成抄表的功能。系統(tǒng)連續(xù)不間斷的測(cè)量,保證測(cè)量的準(zhǔn)確性。14 4. 水表抄表器程序模塊的vhdl語言設(shè)計(jì)4.1 vhdl語言的描述方式19
48、vhdl語言的描述共有三種構(gòu)造體描述方式:行為描述方式、寄存器傳輸描述方式、結(jié)構(gòu)化描述方式。行為描述方式是對(duì)系統(tǒng)數(shù)學(xué)模型的描述,其抽象程度比寄存器傳輸方式和結(jié)構(gòu)化描述方式的程度更高。在行為描述方式的程序大量采用算術(shù)運(yùn)算、關(guān)系運(yùn)算、慣性延時(shí)、傳輸延時(shí)等難以進(jìn)行邏輯綜合和不能進(jìn)行邏輯綜合的vhdl語句。rtl描述方式是一種明確規(guī)定寄存器描述的方法。由于受邏輯綜合的限制,采用rtl描述方式時(shí),所用的vhdl語言的語句有一定的限制。在rtl描述方式上、可以采用寄存器硬件的一一對(duì)應(yīng)的直接描述,也可以采用寄存器之間的功能描述。從編程效率和編程難度上來看,采用第二種方法的功能描述較好。但從控制的準(zhǔn)確度和連貫
49、性考慮,用第一種較好。具體設(shè)計(jì)流程如下:設(shè)計(jì)開始設(shè)計(jì)開始編輯輸入( vhdl 描述 )編 譯布 線綜 合仿 真下 載 圖4-1 vhdl設(shè)計(jì)流程圖4.2 控制模塊的vhdl設(shè)計(jì)首先將介紹控制模塊的設(shè)計(jì),控制模塊是整個(gè)系統(tǒng)的控制部分,它控制著其他四個(gè)模塊的工作。圖4-2是控制模塊的模塊圖。 k ko on ng gz zh hi ireset resetout sysstart stopflag startcunchubaseclk 圖4-2控制模塊圖4.2.1 模塊輸入輸出信號(hào)定義reset: input系統(tǒng)復(fù)位信號(hào),在系統(tǒng)開始測(cè)量前,一般需要輸入一個(gè)高電平。sysstart: input系統(tǒng)
50、開始測(cè)量信號(hào),在脈沖的上升沿開始觸發(fā)。flag: input存儲(chǔ)模塊反饋回來的標(biāo)志信號(hào),表示測(cè)量結(jié)果已存儲(chǔ)完畢。baseclk:input系統(tǒng)時(shí)鐘,由晶振電路提供,系統(tǒng)設(shè)計(jì)為20mhz,為調(diào)試時(shí)方便,仿真時(shí)為1khz。resetout: output控制模塊產(chǎn)生的復(fù)位信號(hào),用于顯示模塊的復(fù)位。startcunchu: output存儲(chǔ)開始信號(hào),主要控制存儲(chǔ)模塊的開始存儲(chǔ)。stop: ooutput存儲(chǔ)停止信號(hào),控制存儲(chǔ)模塊的停止存儲(chǔ)。4.3 計(jì)數(shù)模塊的vhdl設(shè)計(jì)4.3.1 模塊輸入輸出信號(hào)定義 c co ou un nt te er rreset outenclk tkeep13.0 tke
51、ep23.0 checlk tkeep33.0圖4-3 計(jì)數(shù)模塊圖計(jì)數(shù)模塊的實(shí)質(zhì)是一個(gè)計(jì)數(shù)器,具體的計(jì)數(shù)器的計(jì)數(shù)范圍可在程序中定義,本設(shè)計(jì)假定為1000進(jìn)制。上圖為計(jì)數(shù)模塊的模塊圖,模塊的輸入和輸出信號(hào)定義如下:chkclk: input為被測(cè)的系統(tǒng)輸入信號(hào),為了便于仿真,輸入的是由分頻電路產(chǎn)生的頻率為1hz的周期方波信號(hào)clk: input為系統(tǒng)的工作時(shí)鐘,同控制模塊一樣,頻率為1khz reset: input為計(jì)數(shù)模塊的復(fù)位信號(hào),來自于控制模塊產(chǎn)生的輸出信resetout.tkeep: output計(jì)數(shù)模塊的測(cè)量結(jié)果,它包括三個(gè)信號(hào),tkeep1, tkeep2, tkeep3分別表示個(gè)
52、位數(shù)、十位數(shù)、百位數(shù),用四位二進(jìn)制表示,這樣做的目的是為了顯示的方便。outen: output計(jì)數(shù)模塊的輸出使能信號(hào),同時(shí)也是計(jì)數(shù)器的進(jìn)位信號(hào)。它的作用主要用于通知存儲(chǔ)模塊讀取qout的數(shù)值。4.4 存儲(chǔ)模塊的vhdl設(shè)計(jì)4.4.1 iic總線的基本原理17iic總線的時(shí)鐘線scl和數(shù)據(jù)線sda都是雙向傳輸線??偩€備用時(shí)sda和scl都必須保持高電平狀態(tài),只有關(guān)閉iic總線時(shí)才使scl鉗位在低電平。在標(biāo)準(zhǔn)iic模式下數(shù)據(jù)下傳送速率可達(dá)1ookbit/s,高速模式下可達(dá)40okbit/s。1、iic總線的接口電路為了使總線上所有電路的輸出能實(shí)現(xiàn)線“與”的邏輯功能,各個(gè)iic總線的接口電路的輸出
53、端必須是漏極開路或集電極結(jié)構(gòu),輸出端必須接上拉電阻。2、iic總線的信號(hào)及時(shí)序定義在iic總線上每傳輸一位數(shù)據(jù)都有一個(gè)時(shí)鐘脈沖相對(duì)應(yīng),其邏輯0”和“1”的信號(hào)電平取決于該接點(diǎn)的正端電壓vdd的電壓。3、總線上數(shù)據(jù)的有效性iic總線數(shù)據(jù)傳輸時(shí),在時(shí)鐘線高電平期間數(shù)據(jù)線上必須保持有穩(wěn)定的邏輯電平狀態(tài),高電平為數(shù)據(jù)1,低電平為數(shù)據(jù)0。只有在時(shí)鐘線為低電平時(shí),才允許數(shù)據(jù)線上的電平狀態(tài)變化.4、總線數(shù)據(jù)傳送的起始與停止iic總線數(shù)據(jù)傳送時(shí)有兩種時(shí)序狀態(tài)被分別定義為起始信號(hào)和終止信號(hào):起始信號(hào):在時(shí)鐘線保持高電平期間,數(shù)據(jù)線出現(xiàn)由高電平向低電平變化時(shí)啟動(dòng)iic總線,為hc總線的起始信號(hào)。終止信號(hào):在時(shí)鐘線
54、保持高電平期間,數(shù)據(jù)線上出現(xiàn)由低到高的電平變化時(shí)將停止iic總線的數(shù)據(jù)傳送,為hc總線的終止信號(hào)。起始信號(hào)與終止信號(hào)都是由主控制器產(chǎn)生??偩€上帶有iic總線接口的器件很容易檢測(cè)到這些信號(hào)。5、iic總線上的數(shù)據(jù)傳送格式iic總線上傳送的每一個(gè)字節(jié)均為8位,但每啟動(dòng)一次iic總線,其后的數(shù)據(jù)傳輸字節(jié)數(shù)是沒有限制的。每傳送一個(gè)字節(jié)都必須跟隨一個(gè)應(yīng)答位,并且首先發(fā)送的數(shù)據(jù)位為最高位,在全部數(shù)據(jù)傳送結(jié)束以后主控制器發(fā)送終止信號(hào)。所以本模塊主要是設(shè)計(jì)一個(gè)工ic總線的控制器,完成數(shù)據(jù)的存儲(chǔ)。4.4.2 模塊的輸入、輸出信號(hào)定義 i ii ic cc co on nt tr ro ol lclkstarts
55、top flagwren sda rden scliidatain13.0iidatain23.0iidatain33.0圖4-4 存儲(chǔ)模塊圖輸入信號(hào):iidataini, iidasta2, iidata3: input 4位數(shù)據(jù)輸入,來自計(jì)數(shù)模塊。clk: input控制器的工作時(shí)鐘,由外加的分頻電路提供,工作頻率為1khz。wren: input控制器的寫入使能信號(hào),來自于計(jì)數(shù)模塊的輸出信號(hào)outen。rden: input控制器的讀出使能信號(hào),來自于計(jì)數(shù)模塊的輸出信號(hào)outen。start:input控制器的開始信號(hào),來自于控制模塊的輸出信號(hào)startcunchu。stop: inpu
56、t控制器的停止信號(hào),來自于控制模塊的輸出信號(hào)stop。輸出信號(hào):sda: output控制器輸出的數(shù)據(jù)信號(hào)。scl: output控制器輸出的時(shí)鐘信號(hào)。flag: output標(biāo)志信號(hào),表示這一輪存儲(chǔ)結(jié)束。4.5 顯示模塊的vhdl設(shè)計(jì)4.5.1 顯示模塊的輸入、輸出信號(hào) d di is sp pl la ay y1 1data13.0 gate1data23.0 gate2data33.0 gate3sysstart igitout6.0clkdisp 圖4-5顯示模塊圖輸入信號(hào)clkdisp: input顯示模塊的時(shí)鐘。sysstart: nput顯示模塊的復(fù)位信號(hào),來自于控制模塊的輸出信
57、號(hào)resetout。datain1: iinput輸入的個(gè)位測(cè)量結(jié)果。datain2 input輸入的十位測(cè)量結(jié)果。datain3: input輸入的百位測(cè)量結(jié)果。gatei-gate3: output顯示模塊輸出的三個(gè)數(shù)碼管的選通信號(hào)。digitout: output輸出的數(shù)據(jù)信號(hào),送至七段數(shù)碼管顯示。4.6 整體設(shè)計(jì)模塊的vhdl描述4.6.1 模塊端口信號(hào)定義系統(tǒng)的輸入信號(hào)有:baseclk:為系統(tǒng)輸入的基準(zhǔn)時(shí)鐘信號(hào),它將同時(shí)作用于系統(tǒng)的四個(gè)分離模塊。checlk:為系統(tǒng)輸入的被測(cè)信號(hào),作用于計(jì)數(shù)模塊的被測(cè)時(shí)鐘信號(hào)checlk。reset:為系統(tǒng)輸入的復(fù)位信號(hào),作用于控制模塊的復(fù)位信號(hào)r
58、eset。sysstart:為系統(tǒng)輸入的開始測(cè)量脈沖信號(hào),作用于控制模塊的開始測(cè)量脈沖信號(hào)sysstart。輸出信號(hào)有:gate1-gate3:為系統(tǒng)輸出的各個(gè)數(shù)碼管選通信號(hào),即顯示模塊輸出信號(hào),各個(gè)數(shù)碼管選通信號(hào)gate1-gate3。digitout:為系統(tǒng)輸出的數(shù)據(jù)信號(hào)。sda:為系統(tǒng)輸出的iic總線信號(hào)。scl:為系統(tǒng)輸出的iic總線信號(hào)。4.6.2 整體模塊vhdl設(shè)計(jì)流程下面給出此模塊結(jié)構(gòu)體(architecture)的設(shè)計(jì)流程圖:開 始定 義 control 模 塊 為 元 件定 義 counter 模 塊 為 元 件定 義 iicccontrol 模 塊 為 元 件定 義 di
59、splay 模 塊 為 元 件例 化 control 模 塊例 化 counter 模 塊例 化 iicccontrol 模 塊結(jié) 束例 化 display 模 塊 圖4-7 整體模塊流程圖 5. vhdl程序的綜合、仿真5.1 編譯、綜合邏輯綜合就是將較高抽象層次的描述自動(dòng)轉(zhuǎn)換到較低抽象層次描述的一種方法,就設(shè)計(jì)而言,既將rtl級(jí)的描述轉(zhuǎn)換成網(wǎng)表的過程,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程邏輯器件的相關(guān)文件,如.enf,*.rpt,*.snf,*.pof等。5.2 系統(tǒng)vhdl描述波形仿真5115.2.1 控制模塊仿真當(dāng)reset= 1時(shí),波形如下:當(dāng)reset= 0
60、時(shí),波形如下:5.2.2 計(jì)數(shù)模塊仿真5.2.3 顯示模塊仿真顯示電路的波形圖:至此完成了系統(tǒng)軟件上的仿真。 結(jié) 論本課題設(shè)計(jì)了基于vhdl語言的水表抄表器的幾個(gè)模塊:控制模塊、計(jì)數(shù)模塊、存儲(chǔ)模塊、顯示模塊。fpga芯片中每個(gè)模塊都通過了功能仿真與時(shí)序仿真,生成了可綜合的網(wǎng)表。仿真和測(cè)試的結(jié)果表明每個(gè)模塊均完成了其邏輯功能,并且介紹了使用vhdl語言設(shè)計(jì)數(shù)字頻率計(jì)的方法,并下載到cpld中組成實(shí)際電路,這樣可以簡(jiǎn)化硬件的開發(fā)和制造過程,而且使硬件體積大大縮小,并提高了系統(tǒng)的可靠性。同時(shí)在基本電路模塊基礎(chǔ)上,不必修改硬件電路,通過修改vhdl源程序,增加一些新功能,滿足不同用戶的需要,實(shí)現(xiàn)數(shù)字系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 門店財(cái)務(wù)精英招聘實(shí)戰(zhàn)模擬面試題庫
- 網(wǎng)絡(luò)安全防護(hù)方案
- 新版環(huán)衛(wèi)工人節(jié)日低碳生活節(jié)約地球資源創(chuàng)造精神家園專題解讀
- 2026屆甘肅省張掖市二中化學(xué)高二上期末聯(lián)考模擬試題含答案
- 細(xì)胞器之間的合作
- 學(xué)校合唱社團(tuán)匯報(bào)
- 細(xì)胞衰老與癌變機(jī)制研究
- 學(xué)習(xí)中小學(xué)校新冠肺炎疫情防控技術(shù)方案(第六版)調(diào)整要點(diǎn)
- 藥品不良反應(yīng)上報(bào)與監(jiān)測(cè)體系
- 通信電纜焊接技術(shù)
- 廣西2025年公需科目學(xué)習(xí)考試試題及答案4
- 代加工板材合同協(xié)議書范本
- 2025-2026學(xué)年新七年級(jí)上學(xué)期開學(xué)摸底考試語文試卷(廣東專用)
- 早期診斷技術(shù)優(yōu)化-第1篇-洞察及研究
- 2025 慢阻肺合并肺心病診療查房課件
- 2025二手房個(gè)人購房合同范本
- 2025年c語言大考試題及答案
- 2025年病歷書寫競(jìng)賽題庫
- 2025年輔導(dǎo)員技能大賽試題題庫(含答案)
- 2025版一次性社保補(bǔ)償協(xié)議示范文本及爭(zhēng)議裁決機(jī)制
- (標(biāo)準(zhǔn))專利合同轉(zhuǎn)讓協(xié)議書范本
評(píng)論
0/150
提交評(píng)論