版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【摘要摘要】:】: 在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè) 量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。測(cè)量頻率的方法有 多種,其中電子計(jì)數(shù)器測(cè)量頻率具有精度高、使用方便、測(cè)量迅速,以及便于實(shí)現(xiàn) 測(cè)量過(guò)程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。電子計(jì)數(shù)器測(cè)頻有兩種方式: 一是直接測(cè)頻法,即在一定閘門時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù);二是間接測(cè)頻法。 如周期測(cè)頻法。直接測(cè)頻法適用于高頻信號(hào)的頻率測(cè)量,間接測(cè)頻法適用于低頻信 號(hào)的頻率測(cè)量。本文闡述了基于 VHDL 語(yǔ)言設(shè)計(jì)了一個(gè)簡(jiǎn)單的數(shù)字頻率計(jì)的過(guò)程。 【關(guān)鍵字關(guān)鍵字】:】: 數(shù)字頻率計(jì)、信號(hào)、周期 【Abs
2、tract】【Abstract】: Be one of the most fundamental parameter in electron technology medium frequency, parameter measurement scheme, measurement result all have very close something to do with a lot of electricity and, the frequency measurement looks like being more important therefore right away. The
3、method measuring frequency has various, among them the electronic counter measures frequency having accuracy height, usage is convenient, measurement is prompt, easy to realize measurement process automation waits for merit and, counter measures frequency having two kinds way: sure frequency law fir
4、st directly ,be to measure the pulse number the signal is measured within certain sluice gate time; Two is indirect measure frequency law, if the period measures frequency law, Measure frequency law directly applying to the high frequency signals. 【Keyword】:【Keyword】: Figure frequency meter、Signal、p
5、eriod 目錄 緒論:緒論: .1 1 第一章第一章 概述概述 .2 2 1.1 設(shè)計(jì)概述 .2 1.2 設(shè)計(jì)目的 .2 1.3 設(shè)計(jì)內(nèi)容 .2 1.4 設(shè)計(jì)原理 .3 1.5 設(shè)計(jì)功能 .3 第二章第二章 數(shù)字頻率計(jì)的設(shè)計(jì)思路數(shù)字頻率計(jì)的設(shè)計(jì)思路 .4 4 2.1 時(shí)基的設(shè)計(jì) .4 2.2 計(jì)數(shù)器的設(shè)計(jì) .5 2.3 模塊的劃分 .5 第三章第三章 數(shù)字頻率計(jì)各模塊的設(shè)計(jì)和實(shí)現(xiàn)數(shù)字頻率計(jì)各模塊的設(shè)計(jì)和實(shí)現(xiàn) .6 6 3.1 計(jì)數(shù)器的設(shè)計(jì)和實(shí)現(xiàn) .6 3.2 7 段譯碼器的設(shè)計(jì).8 3.3 數(shù)字頻率計(jì)綜合設(shè)計(jì) .9 第四章第四章 數(shù)字頻率計(jì)波形仿真數(shù)字頻率計(jì)波形仿真 .1515 4.1 省略
6、分頻進(jìn)程 .15 4.2 10KHZ、100KHZ和 1MHZ三擋仿真 .15 4.3 測(cè)周期擋仿真 .17 第五章第五章 調(diào)試常見(jiàn)錯(cuò)誤及解決辦法調(diào)試常見(jiàn)錯(cuò)誤及解決辦法 .1919 5.1 常見(jiàn)錯(cuò)誤與解決辦法 .19 總結(jié)總結(jié) .2020 致謝致謝 .2121 附錄附錄 .2222 附錄 A MAX+PLUS簡(jiǎn)介.22 附錄 B 軟件的安裝.23 附錄 C 軟件組成.23 附錄 D 設(shè)計(jì)流程.24 參考文獻(xiàn)參考文獻(xiàn) .2525 緒論:緒論: 隨著電子技術(shù)的發(fā)展,當(dāng)前數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、 重量輕的方向發(fā)展。推動(dòng)該潮流迅猛發(fā)展的引擎就是日趨進(jìn)步和完善的設(shè)計(jì)技術(shù)。 目前數(shù)字頻
7、率計(jì)的設(shè)計(jì)可以直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能要求,自上 至下的逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直到生成器件。上述設(shè)計(jì) 過(guò)程除了系統(tǒng)行為和功能描述以外,其余所有的設(shè)計(jì)過(guò)程幾乎都可以用計(jì)算機(jī)來(lái)自 動(dòng)地完成,也就是說(shuō)做到了電子設(shè)計(jì)自動(dòng)化(EDA) 。這樣做可以大大地縮短系統(tǒng)的 設(shè)計(jì)周期,以適應(yīng)當(dāng)今品種多、批量小的電子市場(chǎng)的需求,提高產(chǎn)品的競(jìng)爭(zhēng)能力。 電子設(shè)計(jì)自動(dòng)化(EDA)的關(guān)鍵技術(shù)之一是要求用形式化方法來(lái)描述數(shù)字系統(tǒng) 的硬件電路,即要用所謂硬件描述語(yǔ)言來(lái)描述硬件電路。所以硬件描述語(yǔ)言及相關(guān) 的仿真、綜合等技術(shù)的研究是當(dāng)今電子設(shè)計(jì)自動(dòng)化領(lǐng)域的一個(gè)重要課題。 硬件描述語(yǔ)言的發(fā)展至今
8、已有幾十年的歷史,并已成功地應(yīng)用到系統(tǒng)的仿真、 驗(yàn)證和設(shè)計(jì)綜合等方面。到本世紀(jì) 80 年代后期,已出現(xiàn)了上百種的硬件描述語(yǔ)言, 它們對(duì)設(shè)計(jì)自動(dòng)化起到了促進(jìn)和推動(dòng)作用。但是,它們大多各自針對(duì)特定設(shè)計(jì)領(lǐng)域, 沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),從而使一般用戶難以使用。廣大用戶所期盼的是一種面向設(shè)計(jì)的 多層次、多領(lǐng)域且得到一致認(rèn)同的標(biāo)準(zhǔn)的硬件描述語(yǔ)言。80 年代后期由美國(guó)國(guó)防部 開(kāi)發(fā)的 VHDL 語(yǔ)言(VHSIC Hardware Description Language)恰好滿足了上述這樣 的要求,并在 1987 年 12 月由 IEEE 標(biāo)準(zhǔn)化(定為 IEEE std 1076-1987 標(biāo)準(zhǔn),1993 年進(jìn)一步修
9、訂,被定為 ANSI/IEEE std 1076-1993 標(biāo)準(zhǔn)) 。它的出現(xiàn)為電子設(shè)計(jì)自動(dòng) 化(EDA)的普及和推廣奠定了堅(jiān)實(shí)的基礎(chǔ)。據(jù) 1991 年有關(guān)統(tǒng)計(jì)表明,VHDL 語(yǔ)言 業(yè)已被廣大設(shè)計(jì)者所接受。另外,眾多的 CAD 廠商也紛紛使自己新開(kāi)發(fā)的電子設(shè)計(jì) 軟件與 VHDL 語(yǔ)言兼容。由此可見(jiàn),使用 VHDL 語(yǔ)言來(lái)設(shè)計(jì)數(shù)字系統(tǒng)是電子設(shè)計(jì)技 術(shù)的大勢(shì)所趨。 第一章第一章 概述概述 1.11.1 設(shè)計(jì)概述設(shè)計(jì)概述 所謂頻率,就是周期性信號(hào)在單位時(shí)間(1s)里變化的次數(shù)。 本數(shù)字頻率計(jì)的設(shè)計(jì)思路是: 1.根據(jù)頻率計(jì)的測(cè)頻原理,可以選擇合適的時(shí)基信號(hào)即閘門時(shí)間,對(duì)輸入被測(cè) 信號(hào)脈沖進(jìn)行計(jì)數(shù),實(shí)現(xiàn)
10、測(cè)頻的目的。 2.根據(jù)數(shù)字頻率計(jì)的基本原理,本文設(shè)計(jì)方案的基本思想是分為五個(gè)模塊來(lái)實(shí) 現(xiàn)其功能,即整個(gè)數(shù)字頻率計(jì)系統(tǒng)分為分頻模塊、控制模塊、計(jì)數(shù)模塊、譯碼模塊 和量程自動(dòng)切換模塊等幾個(gè)單元,并且分別用 VHDL 對(duì)其進(jìn)行編程,實(shí)現(xiàn)了閘門控制 信號(hào)、計(jì)數(shù)電路、鎖存電路、顯示電路等。 3.在進(jìn)行設(shè)計(jì)之前,首先搞清楚在什么情況下是測(cè)頻率,在什么情況下是測(cè)周 期,其實(shí)就是一個(gè)選擇合適的時(shí)基信號(hào)的問(wèn)題。在這個(gè)設(shè)計(jì)中,要在頻率計(jì)提供的 時(shí)基信號(hào)和輸入信號(hào)之間做出選擇,充當(dāng)時(shí)基信號(hào)即閘門時(shí)間。當(dāng)測(cè)頻率的時(shí)候, 要以輸入信號(hào)作為時(shí)鐘信號(hào),因?yàn)檩斎胄盘?hào)的頻率大于頻率計(jì)提供的基準(zhǔn)頻率,在 頻率計(jì)提供的基準(zhǔn)信號(hào)周期
11、內(nèi),計(jì)算輸入信號(hào)的周期數(shù)目,再乘以頻率計(jì)基準(zhǔn)頻率, 就是輸入信號(hào)的頻率值了。此時(shí)的時(shí)基信號(hào)為頻率計(jì)的基準(zhǔn)信號(hào)。當(dāng)測(cè)周期的時(shí)候, 要以頻率計(jì)提供的基準(zhǔn)信號(hào)作為時(shí)鐘信號(hào),因?yàn)轭l率計(jì)提供的時(shí)基頻率大于輸入信 號(hào)的頻率,在輸入信號(hào)周期內(nèi),計(jì)算頻率計(jì)提供的基準(zhǔn)信號(hào)的周期數(shù)目,再乘以基 準(zhǔn)信號(hào)頻率,就是輸入信號(hào)的周期值了。此時(shí)的時(shí)基信號(hào)為輸入信號(hào)。 1.21.2 設(shè)計(jì)設(shè)計(jì)目的目的 1.學(xué)會(huì)利用 MAX+PLUS進(jìn)行層次化設(shè)計(jì); 2.練習(xí)混合設(shè)計(jì)設(shè)計(jì)輸入的方法; 3.鞏固用試驗(yàn)箱驗(yàn)證設(shè)計(jì)的方法。 1.31.3 設(shè)計(jì)內(nèi)容設(shè)計(jì)內(nèi)容 分析數(shù)字頻率計(jì)的功能,完成功能模塊的劃分,分別用 VHDL 語(yǔ)言完成底層模塊 的
12、設(shè)計(jì)和以原理圖的方法完成頂層模塊的設(shè)計(jì),分別對(duì)各個(gè)模塊以及頂層模塊進(jìn)行 仿真分析,最后在硬件開(kāi)發(fā)平臺(tái)上進(jìn)行測(cè)試。 1.41.4 設(shè)計(jì)原理設(shè)計(jì)原理 眾所周知,頻率信號(hào)易于傳輸,抗干擾性強(qiáng),可以獲得較好的測(cè)量精度。因此, 頻率檢測(cè)是電子測(cè)量領(lǐng)域最基本的測(cè)量之一。頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定 度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待 測(cè)信號(hào)的脈沖個(gè)數(shù),即閘門時(shí)間為 1 s。閘門時(shí)間可以根據(jù)需要取值,大于或小于 1 s 都可以。閘門時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長(zhǎng),則每測(cè)一次 頻率的間隔就越長(zhǎng)。閘門時(shí)間越短,測(cè)得的頻率值刷新就越快,但測(cè)得的頻率精度 就
13、受影響。一般取 1 s 作為閘門時(shí)間。 數(shù)字頻率計(jì)的關(guān)鍵組成部分包括測(cè)頻控制信號(hào)發(fā)生器、計(jì)數(shù)器、鎖存器、譯碼 驅(qū)動(dòng)電路和顯示電路,其原理框圖如圖 1 所示。 1.51.5 設(shè)計(jì)功能設(shè)計(jì)功能 3 位數(shù)字頻率計(jì)是用 3 個(gè)十進(jìn)制數(shù)字顯示的數(shù)字式頻率計(jì),其頻率測(cè)量范圍為 1MHz。為了提高測(cè)量精度,量程分別為 10kHz、100kHz 和 1MHz 三擋,即最大讀數(shù)分 別為 9.99kHz,99.9kHz 和 999kHz。要求量程自動(dòng)換擋。具體功能如下: 1.當(dāng)讀數(shù)大于 999 時(shí),頻率計(jì)處于超量程狀態(tài),下一次測(cè)量時(shí),量程自動(dòng)增大 一擋。 2.當(dāng)讀數(shù)小雨 099 時(shí),頻率計(jì)處于欠量程狀態(tài),下一次測(cè)
14、量時(shí),量程自動(dòng)減少 一擋。 3.當(dāng)超出頻率測(cè)量范圍時(shí),顯示器顯示溢出。 4.采用記憶顯示方法,即測(cè)量過(guò)程中不顯示數(shù)據(jù),待測(cè)量過(guò)程結(jié)束以后,顯示 測(cè)頻結(jié)果,并將此結(jié)果保持到下次測(cè)量結(jié)束。顯示時(shí)間不少于 1 秒。 5.小數(shù)點(diǎn)位置隨量程變化自動(dòng)移位。 6.增加測(cè)周期功能,就是當(dāng)時(shí)鐘頻率低于 0.99kHz 的時(shí)候,顯示的數(shù)值變成周 期,以毫秒為單位。 第二章第二章 數(shù)字頻率計(jì)的設(shè)計(jì)思路數(shù)字頻率計(jì)的設(shè)計(jì)思路 2.12.1 時(shí)基的設(shè)計(jì)時(shí)基的設(shè)計(jì) 輸入信號(hào)是隨意的,沒(méi)法預(yù)知其頻率是多少,如何選取頻率計(jì)提供的基準(zhǔn)信號(hào) 是關(guān)鍵。設(shè)計(jì)要求量程分別為 10kHz,100kHz 和 1MHz 三擋。測(cè)頻率時(shí),在某個(gè)
15、擋進(jìn) 行測(cè)量的時(shí)候,就需要提供該擋的時(shí)基。在 10kHz 擋,該擋最大讀數(shù)為 9.99kHz, 同時(shí)也說(shuō)明最小的讀數(shù)是 0.01kHz,所以提供的時(shí)基應(yīng)該是頻率為 0.01kHz 的脈沖。 同樣的道理 100kHz 擋提供的時(shí)基應(yīng)該是 0.1kHz 的脈沖,1MHz 擋提供的時(shí)基應(yīng)該是 頻率為 1kHz 的脈沖。要產(chǎn)生這 3 種脈沖,就得從輸入的時(shí)鐘中提取(這里假設(shè)輸入 的是 20MHz 的脈沖) ,分別采用分頻的方法來(lái)產(chǎn)生這 3 種時(shí)基信號(hào)顯然不可取,太浪 費(fèi)資源,因?yàn)榉謩e產(chǎn)生得用到 3 個(gè)分頻器,一個(gè)為 20kHz 分頻器,用于產(chǎn)生頻率為 1kHz 的脈沖;一個(gè) 200kHz 分頻器,用于
16、產(chǎn)生頻率為 0.1kHz 的脈沖;一個(gè) 2M 分頻 器,用于產(chǎn)生頻率為 0.01kHz 的脈沖??梢钥紤]先用一個(gè) 20kHz 分頻器,產(chǎn)生頻率 為 1kHz 的脈沖,再利用一個(gè) 10 倍分頻器對(duì) 1kHz 脈沖進(jìn)行分頻,產(chǎn)生 0.1kHz 的脈 沖,一個(gè) 100 倍分頻器對(duì) 1kHz 脈沖進(jìn)行分頻,產(chǎn)生 0.01kHz 的脈沖。同樣用到了 3 個(gè)分頻器,但是節(jié)約了資源。 再考慮具體的實(shí)現(xiàn),在測(cè)頻率的時(shí)候,由于采用輸入信號(hào)作為時(shí)基,以輸入信 號(hào)為時(shí)鐘,用一個(gè)計(jì)數(shù)器測(cè)量在一個(gè)時(shí)基周期里,輸入信號(hào)的周期數(shù)目,如此就可 以得到輸入信號(hào)的頻率。但是一個(gè)時(shí)基信號(hào),例如頻率為 0.01kHz(周期為 100
17、ms) 的脈沖信號(hào),在整個(gè) 100ms 的周期里,根據(jù)占空比,有高電平也有低電平,這就給 計(jì)數(shù)器計(jì)數(shù)的判斷帶來(lái)了麻煩。最好是能夠產(chǎn)生一個(gè)高電平為 100ms 的脈沖信號(hào)作 為時(shí)基,那么就能夠在程序中以“如果時(shí)基信號(hào)為 1”作為判斷條件,如果滿足條 件則計(jì)數(shù)器計(jì)數(shù),方便了程序的書寫。同理,在這個(gè)設(shè)計(jì)中還要產(chǎn)生高電平為 10ms 和 1ms 的脈沖信號(hào)作為時(shí)基。 可以考慮使用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)這 3 種時(shí)基,因?yàn)椴捎脿顟B(tài)機(jī)來(lái)控制時(shí)序很清楚, 不容易出錯(cuò)。狀態(tài)機(jī)用 1kHz(周期為 1ms)的脈沖信號(hào)觸發(fā),因?yàn)樗a(chǎn)的時(shí)基 中,頻率最大(周期最?。┑木褪?1kHz 的脈沖,要產(chǎn)生高電平為 10ms 和
18、1ms 的脈 沖信號(hào),可以采用 100 個(gè)狀態(tài)的狀態(tài)機(jī),從狀態(tài) 1,狀態(tài) 2.到狀態(tài) 100.要產(chǎn) 生高電平為 1ms 的脈沖信號(hào),只要在狀態(tài) 99 的時(shí)候產(chǎn)生高電平,狀態(tài) 100 的時(shí)候回 到低電平即可;要產(chǎn)生高電平為 10ms 的脈沖信號(hào),則要在狀態(tài) 90 的時(shí)候產(chǎn)生高電 平,在狀態(tài) 100 的時(shí)候回到低電平。需要產(chǎn)生哪個(gè)時(shí)基得根據(jù)此時(shí)頻率計(jì)所在的擋 作為判斷條件進(jìn)行控制。在 100 個(gè)狀態(tài)中,有很多狀態(tài)的功能相同的,可以將它們 合并。 2.22.2 計(jì)數(shù)器的設(shè)計(jì)計(jì)數(shù)器的設(shè)計(jì) 各個(gè)擋之間的轉(zhuǎn)換應(yīng)遵循設(shè)計(jì)要求,要根據(jù)在時(shí)基有效時(shí)間內(nèi)的計(jì)數(shù)值進(jìn)行判 斷。計(jì)數(shù)器可以直接定義成一個(gè)整型信號(hào),這樣計(jì)
19、數(shù)器計(jì)數(shù)(即加1)就十分方便, 只要使用語(yǔ)句“計(jì)數(shù)器=計(jì)數(shù)器+1;”就可以。但是這個(gè)計(jì)數(shù)值要作為顯示輸出,就 要將這個(gè)計(jì)數(shù)器用個(gè)位、十位、百位分開(kāi)表示,而且要遵循加法“逢十進(jìn)一”的規(guī) 則。這樣可以直接通過(guò)7段譯碼器進(jìn)行顯示。因?yàn)樵诓煌膿跷唬?shù)點(diǎn)的位置是不 同的,所以小數(shù)點(diǎn)的顯示以所在擋為判斷條件。 2.32.3 模塊的劃分模塊的劃分 計(jì)數(shù)器在各個(gè)擋被反復(fù)應(yīng)用的,如果在各個(gè)擋分別設(shè)計(jì)計(jì)數(shù)器,就造成資源的 浪費(fèi),而且在測(cè)周期和測(cè)頻率的時(shí)候,計(jì)數(shù)器的時(shí)候信號(hào)和輸入信號(hào)要進(jìn)行調(diào)換, 但是計(jì)數(shù)功能是一樣的,所以將計(jì)數(shù)器設(shè)計(jì)成單獨(dú)的模塊。7段譯碼器在個(gè)位、十位、 百位中也都被利用到,因此也將其設(shè)計(jì)成單
20、獨(dú)的模塊,重復(fù)引用就不需要在3個(gè)位顯 示的時(shí)候重復(fù)書寫譯碼電路了。 另外,計(jì)數(shù)器的輸入信號(hào)和時(shí)鐘信號(hào)要通過(guò)一個(gè)進(jìn)程來(lái)提供。在測(cè)頻率時(shí),進(jìn) 程向計(jì)數(shù)器提供的時(shí)鐘信號(hào)是輸入頻率計(jì)的測(cè)量信號(hào),計(jì)數(shù)器的輸入信號(hào)是頻率計(jì) 提供的時(shí)基;在測(cè)周期時(shí),進(jìn)程向計(jì)數(shù)器提供的時(shí)鐘信號(hào)是頻率計(jì)提供的時(shí)基,計(jì) 數(shù)器的輸入信號(hào)是輸入頻率計(jì)的測(cè)量信號(hào)。 第三章第三章 數(shù)字頻率計(jì)各模塊的設(shè)計(jì)和實(shí)現(xiàn)數(shù)字頻率計(jì)各模塊的設(shè)計(jì)和實(shí)現(xiàn) 3.13.1 計(jì)數(shù)器的設(shè)計(jì)和實(shí)現(xiàn)計(jì)數(shù)器的設(shè)計(jì)和實(shí)現(xiàn) -計(jì)數(shù)器模塊 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.
21、all; use ieee.std_logic_unsigned.all; entity frequency is port(treset:in std_logic;-異步復(fù)位端口 tclk:in std_logic;-時(shí)鐘輸入 tsig:in std_logic;-信號(hào)輸入 tkeep1:out std_logic_vector(3 downto 0);-計(jì)數(shù)值個(gè)位 tkeep2:out std_logic_vector(3 downto 0);-計(jì)數(shù)值十位 tkeep3:out std_logic_vector(3 downto 0);-計(jì)數(shù)值百位 end entity frequency
22、; architecture one of frequency is signal tcou1:std_logic_vector(3 downto 0);-內(nèi)部計(jì)數(shù)值個(gè)位 signal tcou2:std_logic_vector(3 downto 0);-內(nèi)部計(jì)數(shù)值十位 signal tcou3:std_logic_vector(3 downto 0);-內(nèi)部計(jì)數(shù)值百位 begin ctrcou:process(treset,tclk)-控制計(jì)數(shù)功能的進(jìn)程 begin if treset=1 then tcou1=0000;tcou2=0000;tcou3=0000; else if tcl
23、kevent and tclk=1 then if tsig=1 then-時(shí)基信號(hào)高電平為判斷條件有效的時(shí)候遇到時(shí) -鐘上升沿觸發(fā) if tcou3=1010 then tcou3=1010;-如果百位為 10,百位數(shù)值不變 else if tcou1=1001 and tcou2=1001 and tcou3=1001 then -如果計(jì)數(shù)值為 999 tcou1=0000;tcou2=0000;tcou3=1010; - 則計(jì)數(shù)值百位變成 10,十位、個(gè)位變成 0 elsif tcou1=1001 and tcou2=1001 then -如果百位小于 9,十位為 9 且個(gè)位為 9 的時(shí)
24、候 tcou1=0000;tcou2=0000;tcou3=tcou3+1; -百位數(shù)值加 1,十位、個(gè)位清零 elsif tcou1=1001 then -如果百位和十位都小于 9 且個(gè)位為 9 的時(shí)候 tcou1=0000;tcou2=tcou2+1; -個(gè)位清零,十位數(shù)值加 1 else tcou1=tcou1+1; -其他情況就是個(gè)位數(shù)值加 1 end if; end if; else 如果時(shí)基信號(hào)為 0,那么判斷條件無(wú)效 tcou1=0000;tcou2=0000;tcou3=0000; end if; end if; end if; end process ctrcou; oput
25、ctr:process(treset,tsig)-控制數(shù)值輸出的進(jìn)程 begin if treset=1 then tkeep1=0000;tkeep2=0000;tkeep3=0000; else if tsigevent and tsig=0 then -時(shí)鐘下降沿觸發(fā)輸出各位數(shù)值 tkeep1=tcou1; tkeep2=tcou2; tkeep3=tcou3; end if; end if; end process oputctr; end one; 3.23.2 7 7 段譯碼器的設(shè)計(jì)段譯碼器的設(shè)計(jì) 7 段譯碼器將輸入的 4 位 BCD 碼以 7 段譯碼的方式輸入??梢允褂靡粋€(gè) 7
26、位向 量來(lái)分別表示 7 段譯碼器中的 7 段。 -譯碼器模塊 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity display is port(data_in:in std_logic_vector(3 downto 0); -輸入為 4 位二進(jìn)制,范圍從 0 到 9 data_out:out std_logic_vector(0 to 3);-7 段譯碼輸出 end entity display; architectu
27、re one of display is signal indata:std_logic_vector(3 downto 0);-內(nèi)部數(shù)值信號(hào) begin process(data_in)-輸入信號(hào)作為進(jìn)程的敏感量觸發(fā)進(jìn)程 begin indatadata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_out=1111; end case; end process; end one; 3.33.3 數(shù)字頻率計(jì)綜合設(shè)計(jì)數(shù)字頻率計(jì)綜合設(shè)計(jì) 要設(shè)計(jì)的數(shù)字頻率計(jì)需要3個(gè)輸入端口,一個(gè)脈 沖
28、 輸 入 端 口 clk (頻率為 4.19MHz);一個(gè)異步復(fù)位端口 rest,用于使系統(tǒng)回到初始狀態(tài);還有一個(gè)就是測(cè)試 信號(hào)的輸入端口 testsignal,用于輸入待測(cè)試的信號(hào)。 該頻率計(jì)需要7個(gè)輸出端口,要有一個(gè)表示是顯示頻率還是周期的輸出端口 unit;還有3個(gè)顯示頻率值的7段譯碼輸出端口 display1,display2和 display3,以及 3個(gè)小數(shù)點(diǎn)輸出端口 dot 向量。 -頻率計(jì)源文件 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_
29、unsigned.all; entity dfre is port(reset:in std_logic; clk:in std_logic;-時(shí)鐘信號(hào) testsignal:in std_logic;-測(cè)試信號(hào)輸入端 display1:out std_logic_vector(0 to 3); display2:out std_logic_vector(0 to 3); display3:out std_logic_vector(0 to 3); -3 個(gè) 7 段譯碼器輸出 unit:out std_logic;-表示是周期還是頻率的信號(hào)燈 dot:out std_logic_vector(
30、2 downto 0); -小數(shù)點(diǎn) end entity dfre; architecture one of dfre is type state is (start,judge,count1,count2to89,count90,count91to98,count99,count100); signal myfre:state; signal frecou:integer range 0 to 99;-用于狀態(tài)機(jī)中的計(jì)數(shù)器,計(jì)數(shù)值從 099 signal clk1k:std_logic;-產(chǎn)生頻率為 1kHz 的脈沖信號(hào) signal cou1k:integer range 0 to 209
31、4;-用于分頻的計(jì)數(shù)器 signal enfre:std_logic;-代表時(shí)基的脈沖信號(hào) signal flag:std_logic_vector(2 downto 0); -標(biāo)志信號(hào),1 表示 10kHz 測(cè)頻擋,2 表示 100kHz 測(cè)頻擋,3 表示 1MHz 測(cè)頻擋,0 表示測(cè)周期擋,4 表示溢出 signal keepcou1:std_logic_vector(3 downto 0); signal keepcou2:std_logic_vector(3 downto 0); signal keepcou3:std_logic_vector(3 downto 0); signal
32、ttclk:std_logic;-輸入計(jì)數(shù)器的時(shí)鐘信號(hào)即時(shí)基 signal ttsig:std_logic;-輸入計(jì)數(shù)器的測(cè)試信號(hào) component display is -引用 7 段譯碼器 port(data_in:in std_logic_vector(3 downto 0); data_out:out std_logic_vector(0 to 6) ); end component; component frequency is 引用計(jì)數(shù)器 port(treset:in std_logic; tclk,tsig:in std_logic; tkeep1:out std_logic_
33、vector(3 downto 0); tkeep2:out std_logic_vector(3 downto 0); tkeep3:out std_logic_vector(3 downto 0); end component; begin constrclk1k:process(reset,clk)-用 4.19MHz 的脈沖產(chǎn)生頻率為 1kHz 脈沖進(jìn) 程 begin if reset=1 then cou1k=0;clk1k=0; else if clkevent and clk=1 then if cou1k=9999 then cou1k=0; clk1k=not clk1k;
34、else cou1kdotdotdotdotdot=111; end case; end process ctrdot; ctrfre:process(reset,clk1k)-用于產(chǎn)生時(shí)基的狀態(tài)機(jī) begin if reset=1 then frecou=0;enfre=0;flag=001;myfrefrecou=0;enfre=0;flag=011;myfre if flag=000 then-如果標(biāo)志為 0,即頻率計(jì)處于測(cè)周期擋 if keepcou3=0000 and keepcou2=0000 and keepcou1=0000 then flag=001;enfre=1; els
35、e flag=000; end if; elsif flag=100 then-如果標(biāo)志為 4,即處于溢出擋 if keepcou3=1010 then flag=100; else flag=011; end if; elsif flag=010 then-如果標(biāo)志為 2,即處于 100kHz 擋 if keepcou30001 then flag=flag-1; enfre=1; elsif keepcou3=1010 then flag=flag+1; else flag=flag; end if; elsif flag=001 then-如果標(biāo)志為 1,即處于 10kHz 擋 if k
36、eepcou30001 then flag=flag-1; elsif keepcou3=1010 then flag=flag+1; else flag=flag; enfre=1; end if; else -如果標(biāo)志為 3,即處于 1MHz 擋 if keepcou30001 then flag=flag-1; elsif keepcou3=1010 then flag=flag+1; else flag=flag; end if; end if; myfre if flag=001 or flag=000 then enfre=1; else enfre=enfre; end if;
37、frecou=1; myfre -處于計(jì)數(shù)狀態(tài) 289 的時(shí)候 if frecou=88 then frecou=89; myfre=count90; else frecou=frecou+1; myfre -處于計(jì)數(shù)狀態(tài) 90 的時(shí)候 if flag=010 then enfre=1; else enfre=enfre; end if; frecou=90; myfre -處于計(jì)數(shù)狀態(tài) 9198 的時(shí)候 if frecou=97 then frecou=98; myfre=count99; else frecou=frecou+1; myfre -處于計(jì)數(shù)狀態(tài) 99 的時(shí)候 if flag=
38、011 or flag=100 then enfre=1; else enfre=enfre; end if; frecou=99; myfre -處于計(jì)數(shù)狀態(tài) 100 的時(shí)候 frecou=100; enfre=0; myfrenull; end case; end if; end if; end process ctrfre; ctrtt:process(reset,flag)-用于控制計(jì)數(shù)器輸入的進(jìn)程 begin if reset=1 then ttclk=0;ttsig=0;unit=0; -異步置位使得輸入信號(hào)都為 0 else if flag=0 then ttclk=clk1k;
39、ttsig=testsignal;unit=1; -如果標(biāo)志為 0 即頻率計(jì)處于測(cè)周期擋 else ttclk=testsignal;ttsig=enfre;unit=0; -如果標(biāo)志不為 0 即頻率計(jì)處于測(cè)頻率擋 end if; end if; end process ctrtt; c1: frequency port map(reset,ttclk,ttsig,keepcou1,keepcou2,keepcou3); -引用計(jì)數(shù)器 dis1: display port map(keepcou1,display1); dis2: display port map(keepcou2,displ
40、ay2); dis3: display port map(keepcou3,display3); end one; 上圖中,state 是用于產(chǎn)生時(shí)基的狀態(tài)機(jī)類型,共有開(kāi)始狀態(tài)(start) 、判斷 狀態(tài)(judge) 、計(jì)數(shù)狀態(tài) 1(count 1)、計(jì)數(shù)狀態(tài) 289(count 2 to 89) 、計(jì)數(shù)狀 態(tài) 90(count 90) 、計(jì)數(shù)狀態(tài) 9198(count 91 to 98) 、計(jì)數(shù)狀態(tài) 99(count 99) 、 計(jì)數(shù)狀態(tài) 100(count 100) 。這里,將計(jì)數(shù)狀態(tài) 2、計(jì)數(shù)狀態(tài) 3 一直到計(jì)數(shù)狀態(tài) 89 進(jìn)行了合并,將計(jì)數(shù)狀態(tài) 91 到計(jì)數(shù)狀態(tài) 98 進(jìn)行了合并,因
41、為這些狀態(tài)功能一致, 所以合并。將計(jì)數(shù)狀態(tài) 1、計(jì)數(shù)狀態(tài) 90、計(jì)數(shù)狀態(tài) 99 和計(jì)數(shù)狀態(tài) 100 單獨(dú)提取出來(lái) 的原因是時(shí)基信號(hào)都在狀態(tài) 100 清零,產(chǎn)生高電平為 100ms 的時(shí)基,需要在計(jì)數(shù)狀 態(tài) 1 的時(shí)候?qū)r(shí)基信號(hào)置 1,由于從 199 只有 99ms,因此在計(jì)數(shù)狀態(tài) 1 之前的 judge 狀態(tài)中,如果處于 10kHz 測(cè)頻擋,就要將時(shí)基信號(hào)置 1;產(chǎn)生高電平為 10ms 的時(shí)基,需要在計(jì)數(shù)狀態(tài) 90 的時(shí)候?qū)r(shí)基信號(hào)置 1;產(chǎn)生高電平為 1ms 的時(shí)基,則 需要在計(jì)數(shù)狀態(tài) 99 將時(shí)基信號(hào)置 1,所以計(jì)數(shù)狀態(tài) 1、計(jì)數(shù)狀態(tài) 90 和計(jì)數(shù)狀態(tài) 99 要單獨(dú)提取。 第四章第四章 數(shù)
42、字頻率計(jì)波形仿真數(shù)字頻率計(jì)波形仿真 4.14.1 省略分頻進(jìn)程省略分頻進(jìn)程 由于設(shè)計(jì)輸入的脈沖信號(hào)為 4.19MHz,所以如果直接采用上面的設(shè)計(jì)進(jìn)行仿真, 那么將很浪費(fèi)時(shí)間。在能夠保證分頻不錯(cuò)誤的情況下,可以在結(jié)構(gòu)體中省略分頻的 進(jìn)程,并且將實(shí)體設(shè)計(jì)作出如下改動(dòng): library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity dfre is port(reset:in std_logic; clk1k:in std_logic; -
43、1k 時(shí)鐘信號(hào) testsignal:in std_logic;-測(cè)試信號(hào)輸入端 display1:out std_logic_vector(0 to 3); display2:out std_logic_vector(0 to 3); display3:out std_logic_vector(0 to 3); -3 個(gè) 7 段譯碼器輸出 unit:out std_logic;-表示是周期還是頻率的信號(hào)燈 dot:out std_logic_vector(2 downto 0); -小數(shù)點(diǎn) end entity dfre; 再次編譯以后,在仿真中就可以直接采用 clk1k 的脈沖作為觸發(fā),即
44、采用頻率 為 1kHz 的脈沖作為時(shí)鐘信號(hào)。這是一種明智的仿真方法,很多時(shí)候都可以借鑒。 4.24.2 10kHz10kHz、100kHz100kHz 和和 1MHz1MHz 三擋仿真三擋仿真 第一次仿真采用測(cè)試信號(hào)的周期為 200us,即頻率為 5kHz,按照頻率計(jì)的設(shè)計(jì), 應(yīng)該是自動(dòng)換到 10kHz 測(cè)頻擋,顯示為 5.00,單位為 kHz。仿真波形如圖: 測(cè)試信號(hào)是頻率為測(cè)試信號(hào)是頻率為 5kHz5kHz 脈沖時(shí)的仿真波形圖脈沖時(shí)的仿真波形圖 在波形圖中可以看到,開(kāi)始的時(shí)候 flag 為 2,表示頻率計(jì)處于 100kHz 測(cè)頻擋, 但是這個(gè)擋提供的時(shí)基不能滿足要求,時(shí)基太小,計(jì)數(shù)器在時(shí)基
45、為高電平的時(shí)候計(jì) 數(shù)次數(shù)太少,不能達(dá)到 100 次,所以要自動(dòng)換擋。100kHz 測(cè)頻擋提供一個(gè)時(shí)基以后, 馬上換到 10kHz 測(cè)頻擋。可以看到 flag 變成 1 了,如下圖所示。此時(shí)的時(shí)基符合要 求,因此最后就穩(wěn)定地顯示頻率數(shù)值。 第一次仿真中的換擋情況第一次仿真中的換擋情況 第二次仿真待用測(cè)試信號(hào)的周期為 40us,即頻率為 25kHz,按照頻率計(jì)的設(shè)計(jì), 應(yīng)該自動(dòng)換擋到 100kHz 測(cè)頻擋,顯示為 25.0,單位為 kHz。仿真波形如圖所示: 測(cè)試信號(hào)是頻率為測(cè)試信號(hào)是頻率為 25kHz25kHz 脈沖時(shí)的仿真波形圖脈沖時(shí)的仿真波形圖 第三次仿真采用測(cè)試信號(hào)的周期為 4us,即頻率
46、為 250kHz,按照頻率計(jì)的設(shè)計(jì), 應(yīng)該自動(dòng)換擋到 1MHz 測(cè)頻擋,顯示為 250,單位為 kHz。仿真波形如圖所示: 測(cè)試信號(hào)是頻率為測(cè)試信號(hào)是頻率為 250kHz250kHz 脈沖時(shí)的仿真波形圖脈沖時(shí)的仿真波形圖 在波形圖中可以看到,開(kāi)始的時(shí)候 flag 為 2,表示頻率計(jì)處于 100kHz 測(cè)頻擋, 但是這個(gè)擋提供的時(shí)基不能滿足要求,時(shí)基太小,計(jì)數(shù)器在時(shí)基為高電平的時(shí)候計(jì) 數(shù)次數(shù)超過(guò)了要求的范圍,所以要自動(dòng)換擋。100kHz 測(cè)頻擋一個(gè)時(shí)基以后,馬上換 到 1MHz 測(cè)頻擋??梢钥吹?flag 變成 3 了,如上圖。此時(shí)的時(shí)基符合要求,因此最 后就穩(wěn)定地顯示頻率數(shù)值。 4.34.3
47、測(cè)周期擋仿真測(cè)周期擋仿真 這次仿真采用測(cè)試信號(hào)的周期為 6ms,按照頻率計(jì)的設(shè)計(jì),應(yīng)該自動(dòng)換擋到測(cè) 周期擋,顯示為 006,單位為 ms。測(cè)周期的仿真如圖: 測(cè)試信號(hào)是周期為測(cè)試信號(hào)是周期為 6ms6ms 脈沖的仿真波形圖脈沖的仿真波形圖 值得注意的是,測(cè)周期顯示的數(shù)值是真正周期的一半,造成這種顯示的原因和程序 的設(shè)計(jì)有關(guān),當(dāng)測(cè)周期的時(shí)候,頻率計(jì)提供的時(shí)基作為計(jì)數(shù)器的觸發(fā)時(shí)鐘,而測(cè)試 信號(hào)作為輸入信號(hào),測(cè)試信號(hào)是占空比為 1 的信號(hào),在計(jì)數(shù)器設(shè)計(jì)中,計(jì)數(shù)值加 1 的判斷條件是輸入信號(hào)為 1,因此,在一個(gè)輸入信號(hào)周期里,只有半個(gè)周期計(jì)數(shù)器 在計(jì)數(shù),所以顯示的周期只是真正周期的一半。 為了解決這個(gè)
48、問(wèn)題,可以考慮將輸入信號(hào)鎖存,就是當(dāng)在輸入信號(hào)上升沿的時(shí) 候觸發(fā)鎖存器,并且將輸入信號(hào)的高電平鎖存一個(gè)周期。鎖存的程序: -鎖存源程序 library ieee; use ieee.std_logic_1164,all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity lock is port(reset:in std_logic; lockin:in std_logic; lockout:out std_logic); end lock; architecture behave of lock is
49、signal inlock:std_logic; begin process(reset,lockin) begin if reset=1 then inlock=0; elsif lockinevent and lockin=1 then inlock=not inlock; end if; end process; lockoutdata_out=”1111” ” ,然后再次編譯問(wèn)題就 能解決了。 總結(jié)總結(jié) 09 年 10 月,我開(kāi)始了我的畢業(yè)論文工作,時(shí)至今日,論文基本完成。從最初 的茫然,到慢慢的進(jìn)入狀態(tài),再到對(duì)思路逐漸的清晰,整個(gè)寫作過(guò)程難以用語(yǔ)言來(lái) 表達(dá)。歷經(jīng)了幾個(gè)月的奮戰(zhàn),緊張而
50、又充實(shí)的畢業(yè)設(shè)計(jì)終于落下了帷幕?;叵脒@段 日子的經(jīng)歷和感受,我感慨萬(wàn)千,在這次畢業(yè)設(shè)計(jì)的過(guò)程中,我擁有了無(wú)數(shù)難忘的 回憶和收獲。 我在學(xué)校圖書館搜集資料,還在網(wǎng)上查找各類相關(guān)資料,將這些寶貴的資料全 部保存起來(lái),盡量使我的資料完整、精確、數(shù)量多,這有利于論文的撰寫。當(dāng)資料 查找完畢了,我開(kāi)始著手論文的寫作。在寫作過(guò)程中遇到困難我就及時(shí)和我的指導(dǎo) 老師晏文靖老師聯(lián)系,在晏老師的幫助下,困難一個(gè)一個(gè)解決掉,論文也慢慢成型。 這次畢業(yè)論文的制作過(guò)程是我的一次再學(xué)習(xí),再提高的過(guò)程。 我不會(huì)忘記這難忘的幾個(gè)月的時(shí)間,畢業(yè)論文的制作給了我難忘的回憶。在我 徜徉書海查找資料的日子里,面對(duì)無(wú)數(shù)書本的羅列,最難
51、忘的是每次找到資料時(shí)的 激動(dòng)和興奮;這段旅程看似荊棘密布,實(shí)則蘊(yùn)藏著無(wú)盡的寶藏。 腳踏實(shí)地,認(rèn)真嚴(yán)謹(jǐn),實(shí)事求是的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、吃苦耐勞 的精神是我在這次設(shè)計(jì)中最大的收益。我想這是一次意志的磨練,是對(duì)我實(shí)際能力 的一次提升,也會(huì)對(duì)我未來(lái)的學(xué)習(xí)和工作有很大的幫助。 在這次畢業(yè)設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什 么不懂的大家在一起商量,聽(tīng)聽(tīng)不同的看法對(duì)我們更好的理解知識(shí),所以在這里非 常感謝幫助我的同學(xué)。 在此更要感謝我的指導(dǎo)老師晏文靖老師,是你的細(xì)心指導(dǎo)和關(guān)懷,使我能夠順 利的完成畢業(yè)設(shè)計(jì)及畢業(yè)論文。老師的嚴(yán)謹(jǐn)治學(xué)態(tài)度、淵博的知識(shí)、無(wú)私的奉獻(xiàn)精 神使我深受啟迪。從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實(shí)、寬廣的專業(yè)知識(shí),也學(xué) 到了做人的道理。在此我要向我的導(dǎo)師致以最衷心的感謝和深深的敬意。 致謝致謝 三年寒窗,所收獲的不僅僅是愈加豐厚的知識(shí),更重要的是在閱讀、實(shí)踐中所 培養(yǎng)的思維方式、表達(dá)能力和廣闊視野。很慶幸這些年來(lái)我遇到了許多恩師益友, 無(wú)論在學(xué)習(xí)上、生活上還是工作上都給予
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年河北省張家口市橋西區(qū)八年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 11月國(guó)產(chǎn)%26進(jìn)口游戲版號(hào)發(fā)放騰訊混元3D創(chuàng)作引擎推出國(guó)際站
- 2026西藏林芝市林業(yè)和草原局招聘公益性崗位人員1人參考考試題庫(kù)及答案解析
- 2026湖南長(zhǎng)沙市長(zhǎng)郡雨花外國(guó)語(yǔ)第二附屬小學(xué)春季合同制教師招聘?jìng)淇伎荚囶}庫(kù)及答案解析
- 2026安徽滁州市公共數(shù)據(jù)授權(quán)運(yùn)營(yíng)合伙人(第一批)招募考試備考題庫(kù)及答案解析
- 2026中科華軌航空產(chǎn)業(yè)發(fā)展(天津)有限公司招聘6人參考考試題庫(kù)及答案解析
- pg梁施工方案(3篇)
- 山東省耗材管理制度(3篇)
- 車間附屬設(shè)備區(qū)管理制度(3篇)
- 2026年度濟(jì)南平陰縣事業(yè)單位公開(kāi)招聘初級(jí)綜合類崗位人員參考考試題庫(kù)及答案解析
- 《2025年CSCO非小細(xì)胞癌診療指南》解讀
- 在線網(wǎng)課學(xué)習(xí)課堂《人工智能(北理 )》單元測(cè)試考核答案
- 智能水務(wù)管理基礎(chǔ)知識(shí)單選題100道及答案
- 摩托車新車寄售協(xié)議書范文范本
- DL∕T 1724-2017 電能質(zhì)量評(píng)估技術(shù)導(dǎo)則 電壓波動(dòng)和閃變
- 民警職級(jí)晉升工作總結(jié)范文三篇
- 銀齡計(jì)劃教師總結(jié)
- (高清版)DZT 0351-2020 野外地質(zhì)工作后勤保障要求
- 港珠澳大橋工程管理創(chuàng)新與實(shí)踐
- 化妝培訓(xùn)行業(yè)分析
- 孩子如何正確與師長(zhǎng)相處與溝通
評(píng)論
0/150
提交評(píng)論