【正文】
n std_logic。use 。所以非常感謝這些人的幫助,以使得我掌握了更多的知識(shí),我也將再接再厲,不辜負(fù)給的期望。在這里首先我要感謝柴明鋼老師,他的認(rèn)真教導(dǎo),他的耐心鼓勵(lì),他的認(rèn)真負(fù)責(zé),都使我感覺到這幾周受益匪淺,在以后的學(xué)習(xí)和生活中,他都是我的榜樣。北京:高等教育出版社,2007.[4].李莉,(EDA)[D].北京:中國(guó)電力出版社,2009.[5].林敏,[M].北京:電子工業(yè)出版社,2002.致謝經(jīng)過幾個(gè)星期的學(xué)習(xí),與組員的討論,終于在此完成了計(jì)算機(jī)課程設(shè)計(jì)。并且隨著科技的發(fā)展,新傳感器的發(fā)明,新技術(shù)的應(yīng)用,在漏磁檢測(cè)上,也一定會(huì)有新的創(chuàng)新出現(xiàn)。 5設(shè)計(jì)結(jié)果與總結(jié) 通過Altera數(shù)據(jù)手冊(cè)提供的關(guān)于Quartusll JTAG配置步驟將編譯并且仿真好的程序代碼文件通過JTAG接口燒寫進(jìn)FPGA的SRAM中.這里不是先將程序燒寫迸配置芯片EPCS4,目的是為了防止程序不能達(dá)到預(yù)期的目的時(shí),方便在線調(diào)試(CPLD具有帶電擦寫功能,因此CPLD同樣具備此優(yōu)勢(shì))。串口通信本系統(tǒng)串口通信只用到了發(fā)送功能,因此為了檢驗(yàn)程序的正確與否,我們?cè)诔绦蛑邢劝l(fā)常數(shù),然后發(fā)給pc,借助串口調(diào)試助手進(jìn)行調(diào)試。 II軟件進(jìn)行編譯,順利通過編譯后生成模塊圖。 ADC0809模塊仿真結(jié)果如下圖所示: ADC0809仿真結(jié)果 由仿真圖形我們可以看到:clk為ADC0809工作時(shí)序,通過對(duì)系統(tǒng)時(shí)鐘分頻得到。 : ,clk為系統(tǒng)時(shí)鐘經(jīng)5000分頻后的時(shí)鐘信號(hào),address[1..0]為地址信號(hào)輸出,它輸出給通道選擇芯片hcf4052的連個(gè)地址信號(hào)管腳。后者是指驗(yàn)證平臺(tái),它通過編寫代碼,對(duì)輸入產(chǎn)生預(yù)定的激勵(lì),然后有選擇的觀察輸出,并可以驗(yàn)證輸出是否符合設(shè)計(jì)要求。3 仿真與調(diào)試 FPGA調(diào)試簡(jiǎn)介在FPGA硬件語言設(shè)計(jì)完成之后需要對(duì)其進(jìn)行仿真與調(diào)試,成功之后才能制板。139。end if。event and clk_in=39。因?yàn)榉诸l原理是一樣,所以這里只給出100分頻模塊的部分代碼,其它分頻不再贅述了。 txd=txds。 轉(zhuǎn)到保持?jǐn)?shù)據(jù)的狀態(tài) when others = 容錯(cuò)設(shè)計(jì),其他情況一律跳轉(zhuǎn)到空閑狀態(tài) state=xidle。 end if。 如果還沒有輸出8位,那么跳轉(zhuǎn)到輸出狀態(tài) end if。 開始位輸出 when xwait= if t16 =3 then 計(jì)數(shù)器計(jì)數(shù)到15跳轉(zhuǎn)到下一狀態(tài) if bitt=10 then 如果輸出8位完成,就轉(zhuǎn)到結(jié)束傳輸狀態(tài) state=xidle。 state=xstart。 end if。 輸出初始化是1 else case state is when xidle = if w_en=39。039。tx_reg=1011110010。amp。signal txds : std_logic。傳送與接受的雙方設(shè)定好同樣的傳輸位數(shù),直到1個(gè)數(shù)據(jù)位送完以后,送停止位。異步通訊方式規(guī)定了傳輸格式,都以相同的幀格式傳送。雖然目前大部分處理器芯片中都集成了UART,但是一般FPGA芯片卻沒有這個(gè)特點(diǎn),所以使用FPGA作為處理器可以有兩個(gè)選擇,第一個(gè)選擇是使用UART芯片進(jìn)行串并轉(zhuǎn)換,第二個(gè)選擇是在FPGA內(nèi)部實(shí)現(xiàn)UART功能。因此ADC0809在與FPGA通信時(shí),無需再對(duì)IO口進(jìn)行編程,它的數(shù)據(jù)總線可以直接與FPGA的IO口連接,進(jìn)行數(shù)據(jù)交換。END PROCESS LATCH1。139。) THEN current_state=next_state。END PROCESS COM。139。039。next_state=st4。LOCK=39。 WHEN st3=ALE=39。139。039。039。OE=39。START=39。039。039。 ADC0809采樣狀態(tài)圖由狀態(tài)圖我們可以發(fā)現(xiàn),運(yùn)用狀態(tài)機(jī)來控制ADC0809模塊無疑是最佳選擇。此時(shí)、進(jìn)入轉(zhuǎn)換狀態(tài),周期約為100181。 end if。139。end 。而系統(tǒng)用到的EP2C5T144C8芯片的系統(tǒng)時(shí)鐘為50Mhz,因此需要系統(tǒng)將時(shí)鐘分頻處理。 本次設(shè)計(jì)的漏磁檢測(cè)系統(tǒng)在實(shí)際應(yīng)用時(shí)運(yùn)用到的傳感器量很大,管道軸向和徑向一般都要放置傳感器。對(duì)于大量的規(guī)范的、易于用語言描述、易于綜合的電路可以采用這種輸入方法。原理圖輸入的缺點(diǎn)雖然仿真容易但是效率很低,但是這樣的方法便于信號(hào)觀察以及電路的調(diào)整,看起來也很直觀。Quartus II同時(shí)支持Altera公司的IP核,包含了各種宏功能模塊庫,使用戶可以直接利用已經(jīng)經(jīng)過編譯的成熟模塊,如本設(shè)計(jì)中用到的雙口RAM模塊,簡(jiǎn)化了設(shè)計(jì)中的復(fù)雜性,并且可以縮短設(shè)計(jì)的周期。隨后,各國(guó)先后研制出漏磁型、超聲型、渦流型的智能檢測(cè)PIG。如果不能及時(shí)發(fā)現(xiàn)、修理這些缺陷,將導(dǎo)致輸送效率降低、輸送介質(zhì)泄露等惡性事故。從QUARTUS II軟件仿真結(jié)果可以看出,F(xiàn)PGA作為總體控制模塊,能夠?qū)崿F(xiàn)數(shù)據(jù)的實(shí)時(shí)采集,體現(xiàn)了其對(duì)外圍電路的良好控制性。本次設(shè)計(jì)根據(jù)漏磁檢測(cè)原理,設(shè)計(jì)了基于FPGA的漏磁檢測(cè)硬件電路控制模塊,克服傳統(tǒng)的以MCU作為控制器帶來的采樣速度和效率上的瓶頸。傳統(tǒng)的集成電路設(shè)計(jì)中,傳感器的控制通常由MCU(以C51單片機(jī)為代表)來完成。它在提高生產(chǎn)安全性、防止事故的發(fā)生、減小經(jīng)濟(jì)損失中發(fā)揮非常重要的作用。FPGA(FieldProgrammable Gate Array現(xiàn)場(chǎng)可編程門陣列)具有高速、高集成度和在線可編程等優(yōu)點(diǎn),在設(shè)計(jì)過程中具有極大的靈活性和可靠性,本設(shè)計(jì)中采用Altera 公司的Cyclone ii系列EP2C5T144C8N。在設(shè)計(jì)過程中,用VHDL語言來編寫總體控制部分實(shí)現(xiàn)對(duì)各模塊的控制,包括控制通道選擇的地址信號(hào)、控制模數(shù)轉(zhuǎn)換的開始與停止及控制FPGA的串口發(fā)送。但鐵磁性油氣輸送管道因長(zhǎng)時(shí)間的腐蝕、磨損及意外的機(jī)械損傷等原因會(huì)形成機(jī)械裂紋和腐蝕穿孔等各種缺陷。六十年代初,美英率先將無損檢測(cè)技術(shù)(NDT)應(yīng)用于清管器(PIG)上,將原來用于清管作業(yè)的PIG改進(jìn)為具有信息采集、處理、存儲(chǔ)等功能的智能檢測(cè)PIG。 2 系統(tǒng)的軟件設(shè)計(jì) 設(shè)計(jì)平臺(tái)Quartus IIFPGA中軟件設(shè)計(jì)的平臺(tái)是Altera公司的Quartus II開發(fā)系統(tǒng),Quartus II是綜合性的PLD開