紅外感應(yīng)的控制系統(tǒng)設(shè)計VHDL(正文該)_第1頁
紅外感應(yīng)的控制系統(tǒng)設(shè)計VHDL(正文該)_第2頁
紅外感應(yīng)的控制系統(tǒng)設(shè)計VHDL(正文該)_第3頁
紅外感應(yīng)的控制系統(tǒng)設(shè)計VHDL(正文該)_第4頁
紅外感應(yīng)的控制系統(tǒng)設(shè)計VHDL(正文該)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

紅外感應(yīng)的控制系統(tǒng)設(shè)計VHDL(正文該)紅外感應(yīng)自動門的控制系統(tǒng)設(shè)計前言紅外感應(yīng)自動門是最近幾年才發(fā)展起來的現(xiàn)代化自動門,它不但繼承了一般控制門的特點外還具有靈敏度高,開門迅速、噪聲小等優(yōu)點。紅外感應(yīng)門在現(xiàn)今社會各界已廣泛使用并取得了較好的評價?,F(xiàn)代人生活水平越來越高,審美觀點也比以前提高了,因此現(xiàn)代人對建筑房屋也非常審美。自動門在蓬勃發(fā)展現(xiàn)代建筑業(yè)內(nèi),一直是處于主導的角色,這對自動門企業(yè)公司是個好時機,同時也推進了自動門市場的規(guī)范和技術(shù)革新。在我國紅外感應(yīng)自動門起比較遲,現(xiàn)在大多數(shù)是靠單片機控制的,它的功能一般,但性價比較高,為了完成更多難度的功能最近出現(xiàn)了用FPGA控制的紅外感應(yīng)自動門。日前,日本Tanaka公司開發(fā)出一種智能自動門,它能夠準確判斷進出者的體型并根據(jù)不同人的不同體型特征決定門需要開啟多大。當人們需要穿過這扇門的時候,構(gòu)成門扇的水平條便根據(jù)人的頭、肩、身軀、腳、手及隨身攜帶的箱包等參數(shù)再加上5至15厘米的盈余活動空間準確打開。當然,進出這扇門的人如果是乘坐輪椅或者是帶著寵物貓的話也不會遇到任何困難。這道智能門能夠識別出經(jīng)常進入者的身份并阻止其他人隨便進入,大大增加了辦公場所或家庭的安全。1紅外感應(yīng)自動門控制系統(tǒng)分析現(xiàn)如今紅外感應(yīng)自動門已不在是原始的開關(guān)門那么簡單了,以前很多都只有自動的開關(guān)門功能,而現(xiàn)在可以做到有人進入時有語音“歡迎光臨”,出門時有語音“謝謝光臨”等問候語,還可以在屏幕顯示相關(guān)信息,高級的還有密碼保護、金屬檢測等安全檢測功能1.1設(shè)計任務(wù)分析任務(wù):完成紅外感應(yīng)自動門功能,使用FPGA做一個能自動感應(yīng)人開關(guān)門,并有發(fā)出聲音和顯示的功能。要求:A、當人靠近門時感應(yīng)到人,很快反應(yīng)打開門。B、當進入時,開門、發(fā)出聲音歡迎進入。C、當人出門時,開門、發(fā)出歡送的聲音。D、有人進或出門時,門打開后8秒后自動關(guān)門。E、在LED上顯示出不同的狀態(tài)以示有人進或出本次設(shè)計為在節(jié)省成本的基礎(chǔ)上完成較齊全的功能,大多功能都在主芯片中完成,只通過外圍設(shè)備顯示出效果,因此沒有很多外圍電路。在主芯片中完成紅外信號感應(yīng)的控制,電機的控制,LED顯示的控制,蜂鳴器的控制等功能。1.2系統(tǒng)結(jié)構(gòu)設(shè)計本次設(shè)計方案采用模塊累加的方法組成主要頂層電路,其包括紅外感應(yīng)模塊、LED顯示模塊、語音模塊、電機模塊和主芯片組成。連接如圖1.2-1所示:圖1.2-1硬件連接圖1.3實現(xiàn)過程紅外感應(yīng)門控制功能的過程示意圖如圖1.3-1示:圖1.3-1過程示意圖硬件部分2.1紅外感應(yīng)部分2.1.2.1.它主要利用在自然界,任何高于絕對溫度(-273度)時物體都將產(chǎn)生紅外光譜,不同溫度的物體,其釋放的紅外能量的波長是不一樣的。全稱是被動式熱釋電紅外探測器。在被動紅外探測器中有兩個關(guān)鍵性的元件。一個是熱釋電紅外傳感器(PIR),它能將波長為8一12um之間的紅外信號變化轉(zhuǎn)變?yōu)殡娦盘?,并能對自然界中的白光信號具有抑制作用,因此在被動紅外探測器的警戒區(qū)內(nèi),當無人體移動時,熱釋電紅外感應(yīng)器感應(yīng)到的只是背景溫度,當人體進人警戒區(qū),通過菲涅爾透鏡,熱釋電紅外感應(yīng)器感應(yīng)到的是人體溫度與背景溫度的差異信號,因此,紅外探測器的紅外探測的基本概念就是感應(yīng)移動物體與背景物體的溫度的差異。另外一個器件就是菲涅爾透鏡,菲涅爾透鏡有兩種形式,即折射式和反射式。菲涅爾透鏡作用有兩個:一是聚焦作用,即將熱釋的紅外信號折射(反射)在PIR上,第二個作用是將警戒區(qū)內(nèi)分為若干個明區(qū)和暗區(qū),使進入警戒區(qū)的移動物體能以溫度變化的形式在PIR上產(chǎn)生變化熱釋紅外信號,這樣PIR就能產(chǎn)生變化的電信號。人體都有恒定的體溫,一般在37度,所以會發(fā)出特定波長10微米左右的紅外線,被動式紅外探頭就是靠探測人體發(fā)射的10微米左右的紅外線而進行工作的。人體發(fā)射的10微米左右的紅外線通過菲泥爾濾光片增強后聚集到紅外感應(yīng)源上。紅外感應(yīng)源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發(fā)生變化時就會失去電荷平衡,向外釋放電荷,后續(xù)電路經(jīng)檢測處理后就能產(chǎn)生報警信號。2.1.主動紅外發(fā)射機通常采用紅外發(fā)光二極管作為光源,用晶體管或集成電路直接驅(qū)動,采用脈沖振蕩電路作為驅(qū)動電源,經(jīng)過脈沖調(diào)制電路,產(chǎn)生一定占空比的脈沖調(diào)制波,加在紅外發(fā)光管兩端發(fā)射出去,這樣既降低了電源的功耗,又增強了主動紅外入侵探測器的抗干擾能力。同時為了進一步降低誤報率,防止入侵者刻意、有備而來的反防入侵手段,近來又運用了先進數(shù)字變頻的技術(shù),即發(fā)射機與接收機的紅外脈沖頻率經(jīng)過數(shù)字調(diào)制后是可變的,接收機只認定所選好的頻率,而對于其它頻率則不予處理,可以有效防止入侵者有目的發(fā)射某種頻率的紅外光入侵防區(qū),而失去防范能力。主動紅外探測器由紅外發(fā)射器和紅外接收器組成。紅外發(fā)射器發(fā)射一束或多數(shù)經(jīng)過調(diào)制過的紅外光線投向紅外接收器。發(fā)射器與接收器之間沒有遮擋物時,探測器不會報警。有物體遮擋時,接收器輸出信號發(fā)生變化,探測器報警。2.1.2自動門紅外感應(yīng)本次設(shè)計采用主動式的紅外感應(yīng),無人靠近時檢測信號正常,有人進入感應(yīng)范圍時紅外線被中斷檢測器發(fā)出中斷信號驅(qū)動相應(yīng)模塊完成功能。實現(xiàn)過程如圖2.1.2圖2.12.2FPGA部分2.2.1FPGA的工作原理1985年,美國Xilinx公司推出了現(xiàn)場可編程門陣列(FPGA,F(xiàn)ieldProgrammableGateArray)它是當今專用集成電路(ASIC)中集成度最高的一種[1]。用戶可對FPGA內(nèi)部的邏輯模塊和I/O模塊重新配置,以實現(xiàn)用戶的邏輯,因而也被用于對CPU的模擬。用戶對FPGA的編程數(shù)據(jù)一般存放在Flash芯片中,當上電位時加載到FPGA中,對其進行初始化。還可以通過在線對其編程,實現(xiàn)在線系統(tǒng)重構(gòu),通過這一特性可以很快構(gòu)建一個實時定制的CPU。FPGA的編程資源主要有三類:可編程邏輯功能塊、可編程I/O塊和可編程互連??删幊踢壿嫻δ軌K它們通常排列成一個陣列,散布于整個芯片,是實現(xiàn)用戶功能的基本單元;可編程I/O塊常圍繞著陣列排列于芯片四周,用以完成芯片上邏輯與外部封裝腳的接口功能;可編程內(nèi)部互連它們將各個可編程邏輯塊或I/O塊連接起來,在可編程邏輯塊的內(nèi)部以互連線的結(jié)構(gòu)和采用的可編程元件實現(xiàn)可編程連接的開關(guān),。2.2.2EP2C5系列器件(芯片)自發(fā)明世界上第一個可編程邏輯器件開始,Altera公司秉承了創(chuàng)新的傳統(tǒng),是世界上“可編程芯片系統(tǒng)”(SOPC)解決方案的倡導者。而且Altera公司在世界上PLD市場占有率很高。Altera的主流FPGA分為3大類:低端FPGA,側(cè)重成本應(yīng)用,容量中等,性能可滿足一般要求,如Cyclone系列等;中端FPGA包括ArriaGX系列等;高端FPGA,側(cè)重于高性能應(yīng)用容量大,性能好,如Startix系列等。為節(jié)省成本本次設(shè)計選用CycloneⅡ系列EP2C5Q208C8[2]。作為第二代Cyclone系列,與第一代相比,它的成本更低,容量更大,特性更豐富。它采用1.2V、90nm、低K值絕緣工藝,裸片尺寸被盡可能的最小化。I/O端口設(shè)置見表2.表-1I/O端口設(shè)置器件邏輯單元RAM塊總比特數(shù)18*18乘法器PLLIO口數(shù)差分通道EP2C546082611980813215858FPGA的管腳圖2.2.2-1主要包括:用戶I/O(UserI/O)、配置管腳、電源、時鐘及特殊應(yīng)用管腳等。其中有些管腳可有多種用途,所以在設(shè)計FPGA電路之前,需要認真的閱讀相應(yīng)FPGA的芯片手冊圖2.22.2.I/Onum(LVDSnumn):可用作輸入或輸出,或者雙向口,同時可作為LVDS差分對的負端。其中num表示管腳序號。2.2MSEL[1..0]:用于選擇配置模式。FPGA有多種配置模式,比如主動、被動、快速、正常、串行、并行等,可以此管腳進行選擇。DATA0:FPGA的串行數(shù)據(jù)輸入引腳,連接至配置器件的串行數(shù)據(jù)輸出管腳。DCLK:FPGA的串行時鐘輸出引腳,為配置器件提供串行時鐘信號。nCSO(I/O):FPGA的片選信號輸出引腳,連接至配置器件的nCS管腳。ASDO(I/O):FPGA的串行數(shù)據(jù)輸出引腳,連接至配置器件的ASDI管腳。nCEO:FPGA下載鏈器件使能輸出引腳。在一條下載鏈(Chain)中,當?shù)谝粋€器件配置完成后,此信號將使能下一個器件開始進行配置。下載鏈的最后一個器件的nCEO應(yīng)懸空。nCE:下載鏈器件使能輸入,連接至上一個器件的nCEO。下載鏈第一個器件的nCE接地。nCONFIG:用戶模式配置起始信號。nSTATUS:配置狀態(tài)信號。CONF_DONE:配置結(jié)束信號。2.VCCINT:內(nèi)核電壓。通常與FPGA芯片所采用的工藝有關(guān),例如130nm工藝為1.5V,90nm工藝為1.2V。VCCIO:端口電壓。一般為3.3V,還可以支持選擇多種電壓,如5V、1.8V、1.5V等。VREF:參考電壓。GND:信號地。2.VCC_PLL:鎖相環(huán)管腳電壓,直接連VCCIO。

VCCA_PLL:鎖相環(huán)模擬電壓,一般通過濾波器接到VCCINT上。

GNDA_PLL:鎖相環(huán)模擬地。

GNDD_PLL:鎖相環(huán)數(shù)字地。

CLKnum(LVDSCLKnump):鎖相環(huán)時鐘輸入。支持LVDS時鐘輸入,p接正端,num表示PLL序號。

CLKnum(LVDSCLKnumn):鎖相環(huán)時鐘輸入。支持LVDS時鐘輸入,n接負端,num表示PLL序號。

PLLnum_OUTp(I/O):鎖相環(huán)時鐘輸出。支持LVDS時鐘輸入,p接正端,num表示PLL序號。

PLLnum_OUTn(I/O):鎖相環(huán)時鐘輸出。支持LVDS時鐘輸入,n接負端,num表示PLL序號。2.VCCPD:用于選擇驅(qū)動電壓。

VCCSEL:用于控制配置管腳和鎖相環(huán)相關(guān)的輸入緩沖電壓。

PORSEL:上電復(fù)位選項。

NIOPULLUP:用于控制配置時所使用的用戶I/O的內(nèi)部上拉電阻是否工作。

TEMPDIODEn/p:用于關(guān)聯(lián)溫度敏感二極管。VHDL語言簡介VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言[3]誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。一個完整的VHDL語言程序通常包含實體(Entity)、構(gòu)造體(Architecture)、配置(Configuration)、程序包(Package)和庫(Library)5個部分組成。VHDL的程序結(jié)構(gòu)特點是將一項工程,或設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),涉及實體的內(nèi)部功能和算法完成部分。當完成一個設(shè)計實體定義了外部界面后,若其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種概念是將設(shè)計實體分成內(nèi)外部分兩部分,這是VHDL語言系統(tǒng)設(shè)計的基本特點。QuartusII簡介QuartusII是Altera公司的第四代綜合性PLD開發(fā)軟件平臺,支持原理圖、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多種語言設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD(FPGA)設(shè)計流程。該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持基于Internet的協(xié)作設(shè)計。Quartus平臺與Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設(shè)計功能,增添了FastFit編譯選項,推進了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。QuartusII不僅可以在XP、Linux上使用還可以在Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,還提供了完善的用戶圖形界面設(shè)計方式,具有運行速度快、界面統(tǒng)一、功能集中、易學易用等特點。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,QuartusII通過和DSPBuilder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。MaxplusII作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對MaxplusII的更新支持,QuartusII與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera的QuartusII軟件中包含了許多諸如SignalTapII、ChipEditor和RTLViewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了MaxplusII友好的圖形界面及簡便的使用方法。圖2.2.4-1中所示的第一行是QuartusII編譯界面,顯示有QuartusII自動設(shè)計的各主要處理環(huán)節(jié),包括設(shè)計編輯輸入、設(shè)計分析和綜合、適配、編程(裝配)、時序參數(shù)分析以及編程下載等步驟。在圖第二行的流程框圖,是與上行的QuartusII圖2.2.3直流電機圖2.3-1直流電機由直流電動機和發(fā)電機工作原理,直流電機[5]的結(jié)構(gòu)應(yīng)由定子和轉(zhuǎn)子兩大部分組成。直流電機運行時靜止不動的部分稱為定子,定子的主要作用是產(chǎn)生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。運行時轉(zhuǎn)動的部分稱為轉(zhuǎn)子,其主要作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動勢,是直流電機進行能量轉(zhuǎn)換的樞紐,所以通常又稱為電樞,由轉(zhuǎn)軸、電樞鐵心、電樞繞組、換向器和風扇等組成。本設(shè)計主要應(yīng)用在紅外和FPGA方面,在此直流電機只提及一下不做詳細說明介紹。直流電機應(yīng)用電路如圖2.3-1所示。3軟件部分3.1設(shè)計過程A、在F新建文件夾名為zhukong作為工程文件夾如圖3.1-1所示:圖3.1-1zhukong文件夾B、打開QuartusII5.0(32-Bit)軟件,點擊菜單欄中的file—newprojectwizard…新建一個工程項目,如圖3.1-2所示:圖3.1-2新建工程C、在打開的新建工程項目中選擇F盤中的zhukong作為目標文件夾,并輸入工程項目名和文件名,如圖3.1-3所示:圖3.1-3輸入文件(工程)名D、依次點擊next,選擇相應(yīng)文件和為系統(tǒng)選擇目標芯片,最后點擊finish完成工程項目的創(chuàng)建,然后再新建VHDL文本文件(file—new—VHDLfile—ok)在文本文件中輸入主控制程序后,保存(注意名稱與工程名一樣)。源程序文件如下:主控制程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYZHUKONGISPORT(CLK:INSTD_LOGIC;--時鐘信號RST:INSTD_LOGIC;--復(fù)位信號HW_XINHAO:INSTD_LOGIC_VECTOR(2DOWNTO0);--兩種信號輸入(正常、中斷進和出) S_XINHAO:OUTSTD_LOGIC_VECTOR(2downto0);--顯示信號輸出(常態(tài)、進人態(tài)、出人態(tài)) S1_XINHAO:OUTSTD_LOGIC_VECTOR(2DOWNTO0);--電機控制輸出(斷電狀態(tài)、正傳和反轉(zhuǎn)) S2_XINHAO:OUTSTD_LOGIC_VECTOR(2DOWNTO0));--蜂鳴器輸出(斷電狀態(tài)、歡迎和再見)END;ARCHITECTUREONEOFZHUKONGISBEGINPROCESSBEGIN IFRST='1'THENS_XINHAO<="011";S1_XINHAO<="011";S2_XINHAO<="011";--復(fù)位時態(tài)Endif; IFHW_XINGAO="011"THENS_XINGAO<="011";S1_XINHAO<="011";S2_XINHAO<="011";--非復(fù)位時態(tài)1Endif;IFHW_XINGAO="101"THENS_XINGAO<="101";S1_XINHAO<="101";S2_XINHAO<="101";--非復(fù)位時態(tài)2Endif;IFHW_XINGAO="110"THENS_XINGAO<="110";S1_XINHAO<="110";S2_XINHAO<="110";--非復(fù)位時態(tài)3 ENDIF;ENDPROCESS;END;E、再點擊編譯源文件,完成文件的編譯,并查找錯誤及修改,最終完成編譯通過。如圖3.1-4所示:圖3.1-4編譯適配源(程序)文件下圖3.1-5是文件編譯的進度過程圖3.1-5編譯適配過程F、將電機控制模塊程序、語音產(chǎn)生模塊程序、LED顯示模塊程序進行模塊創(chuàng)建,如圖3.1-6所示:圖3.1-6打包(模塊創(chuàng)建)過程如出現(xiàn)下圖3.1-7所示小窗口界面,表示,模塊創(chuàng)建成功,點擊確定。圖3.1-7打包結(jié)果圖G、創(chuàng)建仿真文件并實現(xiàn)模塊的仿真(方法按:file--new—vectorwaveformfile—添加輸入和輸出節(jié)點,保存再點擊),本次仿真是基于數(shù)??萍脊镜腗AGIC3200開發(fā)套件,仿真如圖3.1-8示:圖3.1-8仿真圖(示例)H、頂層文件的設(shè)計,新建好項目后,再新建原理圖,調(diào)入底層設(shè)計文件,并連接好線,并保存。I、為頂層設(shè)計文件選擇芯片,鎖定引腳(注意是與實驗箱上開發(fā)為準)再編譯頂層文件。J、鎖定引腳圖3.1-9如下示:圖3.1-9引腳設(shè)定K、最后,連接實驗板,點擊下載按鈕下載程序,界面如下圖3.1-10示:圖3.1-10下載程序界面選擇USB下載方式如下圖3.1-11示:圖3.1-11選擇USB下載方式完成下載設(shè)備的設(shè)置后,點擊Start按鈕開始下載程序如下圖,當達到100%時候完成下載。如圖3.1-12示:圖3.1-12下載完成圖3.2模塊源程序關(guān)閉當前工程項目,再新建另外一個工程項目模塊,如上面過程,最終完成電機控制模塊程序、語音產(chǎn)生模塊程序、LED顯示模塊程序的設(shè)計,源程序如下.電機控制程序[6]LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDIANJIISPORT(CLK:INSTD_LOGIC; RST:INSTD_LOGIC;S1_XINHAO:INSTD_LOGIC_VECTOR(2DOWNTO0); KG_OUT:OUTSTD_LOGIC_VECTOR(1DOWNTO0);--開門和關(guān)門 DJ_OUT:OUTSTD_LOGIC_VECTOR(2DOWNTO0));END;ARCHITECTUREONEOFDIANJIIS SIGNALM:STD_LOGIC;--分頻計數(shù)器 SIGNALYANSHI:STD_LOGIC;--延時計數(shù)器BEGINPROCESS(CLK)--分頻 VARIABLEJS_CLK:INTEGERRANGE0TO2E6-1;--時鐘計數(shù)BEGIN IFCLK'EVENTANDCLK='1'THEN IFJS_CLK<2E6-1THENJS_CLK:=JS_CLK+1; ELSEJS_CLK:=0;M<=NOTM; ENDIF; ENDIF;ENDPROCESS;PROCESS(M)--延時 VARIABLEJS:INTEGERRANGE0TO8;--秒(分頻)計數(shù)BEGIN IFM'EVENTANDM='1'THEN IFJS<8THENJS:=JS+1; ELSEJS:=0;YANSHI<='1'; ENDIF; ENDIF;ENDPROCESS;PROCESS(S1_XINHAO)BEGIN CASES1_XINHAOIS WHEN"011"=>DJ_OUT<="011";--狀態(tài)1(斷電) WHEN"101"=>DJ_OUT<="101";--狀態(tài)2(進門感應(yīng)) WHEN"110"=>DJ_OUT<="110";--狀態(tài)3(出門感應(yīng)) WHENOUTHERS=>NULL; ENDCASE;ENDPROCESS;PROCESS(RST,KG,YANSHI)--門控BEGIN IFRST='1'THENDJ_OUT<="011";--復(fù)位時電機狀態(tài)(斷電) ELSEIFS1_XINHAO="101";KG="10"THEN IFYANSHI='1'THENKG="01";--進門感應(yīng)器有中斷時,門開(KG="10")延時8秒(YANSHI='1')后,門自動關(guān)(KG="01") ENDIF; ENDIF; IFS1_XINHAO="110";KG="10"THEN IFYANSHI='1'THENKG="01";--出門感應(yīng)器有中斷時,門開(KG="10")延時8秒(YANSHI='1')后,門自動關(guān)(KG="01") ENDIF; ENDIF; ENDIF;ENDPROCESS;END;語音控制生成程序[7]A、音節(jié)產(chǎn)生所需的預(yù)置分頻系數(shù)程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTONE_TABLISPORT(INDEX:INSTD_LOGIC_VECTOR(3DOWNTO0);CODE:OUTSTD_LOGIC_VECTOR(3DOWNTO0); HIGH:OUTSTD_LOGIC; TONE:OUTSTD_LOGIC_VECTOR(10DOWNTO0));END;ARCHITECTUREONEOFTONE_TABLISBEGIN SEARCH:PROCESS(INDEX) BEGIN CASEINDEXIS WHEN"0000"=>TONE<="00000000000"; CODE<="0000";HIGH<='0'; CODE<="0001";HIGH<='0'; CODE<="0010";HIGH<='0'; CODE<="0011";HIGH<='0'; CODE<="0100";HIGH<='0'; CODE<="0101";HIGH<='0'; CODE<="0110";HIGH<='0'; CODE<="0111";HIGH<='0'; WHEN"1000"=>TONE<="01111101010"; CODE<="0001";HIGH<='1'; WHEN"1001"=>TONE<="01111101010"; CODE<="0010";HIGH<='1'; WHEN"1010"=>TONE<="01100011100"; CODE<="0011";HIGH<='1'; WHEN"1011"=>TONE<="01011101111"; CODE<="0100";HIGH<='1'; WHEN"1100"=>TONE<="01010011101"; CODE<="0101";HIGH<='1'; WHEN"1101"=>TONE<="01001010100"; CODE<="0110";HIGH<='1'; WHEN"1110"=>TONE<="01000010011"; CODE<="0111";HIGH<='1'; WHEN"1111"=>TONE<="00111110101"; CODE<="0001";HIGH<='1'; WHENOTHERS=>NULL; ENDCASE; ENDPROCESS;END;B、音節(jié)頻率產(chǎn)生程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSPEAKERAISPORT(CLK:INSTD_LOGIC;TONE:INSTD_LOGIC_VECTOR(10DOWNTO0); SPKS:OUTSTD_LOGIC);END;ARCHITECTUREONEOFSPEAKERAIS SIGNEDPRECLK,FULLSPKS:STD_LOGIC;BEGINPROCESS(CLK) VARIABLECOUNT4:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN PRECLK<='0'; IFCOUNT4>11THENPRECLK<='1';COUNT4:="0000"; ELSIFCLK'EVENTANDCLK='1'THENCOUNT4:=COUNT4+1; ENDIF;ENDPROCESS;PROCESS(PRECLK,TONE) VARIABLECOUNT11:STD_LOGIC_VECTOR(10DOWNTO0);BEGIN IFPRECLK'EVENTANDPRECLK='1'THEN IFCOUNT11=0THENCOUNT11:=TONE; FULLSPKS<='1'; ELSIFCOUNT111:=COUNT11-1; FULLSPKS<='0'; ENDIF; ENDIF;ENDPROCESS;PROCESS(FULLSPKS) VARIABLECOUNT2:STD_LOGIC;BEGIN;BEGIN IFFULLSPKS'EVENTANDFULLSPKS='1'THEN COUNT2:=NOTCOUNT2; IFCOUNT2='1'THEN SPKS<='1'; ELSESPKS<='0'; ENDIF; ENDIF;ENDPROCESS;END;LED顯示控制程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYYMISPORT(CLK:INSTD_LOGIC;RST:INSTD_LOGIC;S_XINHAO:INSTD_LOGIC_VECTOR(2DOWNTO0); LED_OUT:OUTSTD_LOGIC_VECTOR(6DOWNTO0));END;ARCHITECTUREONEOFYMISBEGINPROCESS(CLK.RST,S_XINHAO)BEGIN IFRST='1'THENLED_OUT<="0000001";ENDIF; CASES_XINHAOIS WHEN"100"=>LED_OUT<="0000001"; WHEN"010"=>LED_OUT<="1001111"; WHEN"001"=>LED_OUT<="0010010"; WHENOTHERS=>NULL; ENDCASE;ENDPROCESS;END;3.3電路板資源擴展板[8]如圖3.3-1示,核心板如圖3.3-2示:資源擴展板3.3-2核心板4Protel印制電路板制作4.1簡介Protel99SE[9]是應(yīng)用于Windows9X/2000/NT操作系統(tǒng)下的EDA設(shè)計軟件,采用設(shè)計庫管理模式,可以進行聯(lián)網(wǎng)設(shè)計,具有很強的數(shù)據(jù)交換能力和開放性及3D模擬功能,是一個32位的設(shè)計軟件,可以完成電路原理圖設(shè)計,印制電路板設(shè)計和可編程邏輯器件設(shè)計等工作,可以設(shè)計32個信號層,16個電源--地層和16個機加工層。4.2用protel99制作印制電路板的流程★利用原理圖設(shè)計工具繪制原理圖,并且生成對應(yīng)

溫馨提示

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

評論

0/150

提交評論