freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文有程序(編輯修改稿)

2025-07-17 12:31 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 ,輸出譯碼器確定狀態(tài)機(jī)的輸出。圖24狀態(tài)機(jī)有兩種基本的操作:(1)狀態(tài)機(jī)的內(nèi)部狀態(tài)轉(zhuǎn)換。狀態(tài)機(jī)要經(jīng)過一系列的狀態(tài),下一個(gè)狀態(tài)會(huì)由狀態(tài)譯 碼器根據(jù)當(dāng)前狀態(tài)和輸入條件決定。(2)產(chǎn)生輸出信號(hào)。輸出信號(hào)由輸出譯碼器根據(jù)當(dāng)前狀態(tài)和輸入條件決定。大多數(shù)實(shí)用的狀態(tài)機(jī)都是同步時(shí)序電路,由時(shí)鐘信號(hào)觸發(fā)狀態(tài)轉(zhuǎn)換。有限狀態(tài)機(jī)是一種時(shí)序邏輯電路,常用于數(shù)字電路中的控制單元。有限狀態(tài)機(jī)的每一個(gè)狀態(tài)對(duì)應(yīng)控制單元的一個(gè)控制步驟,有限狀態(tài)機(jī)的次態(tài)對(duì)應(yīng)著狀態(tài)單元中與每一個(gè)控制單元步驟有關(guān)的轉(zhuǎn)移條件。只要遵循著兩條對(duì)應(yīng)關(guān)系,就很容易利用有限狀態(tài)機(jī)來描述數(shù)字電路中的控制單元。 VHDL基本結(jié)構(gòu)一個(gè)完整的VHDL語言程序通常包含實(shí)體(Entity)、構(gòu)造體(Archiecture)、配置(Configuration)、包集合(Paekage)和庫(kù)(Library)5個(gè)部分。前4種是可分割編譯的源設(shè)計(jì)單元。實(shí)體用于描述所設(shè)計(jì)的體統(tǒng)的外部接口信號(hào);構(gòu)造體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為;包集合存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序等;配置用于從庫(kù)中選取所需要單元來組成系統(tǒng)設(shè)計(jì)的不同版本;庫(kù)存放已編譯的實(shí)體、構(gòu)造體、包集合和配置。庫(kù)可由用戶生成或由ASIC芯片制造商提供,以便于在設(shè)計(jì)中為大家所共享。 Visual Basic VB是一種可視化的設(shè)計(jì)工具,是一種面向?qū)ο蟮脑O(shè)計(jì)方法,通過本章的學(xué)習(xí),讀者將了解到VB的發(fā)展歷程、VB的特點(diǎn)以及VB集成開發(fā)環(huán)境的構(gòu)成與使用。(1)可視化的程序設(shè)計(jì)工具傳統(tǒng)程序設(shè)計(jì)語言編程時(shí),需要通過編輯計(jì)算來設(shè)計(jì)程序界面,在設(shè)計(jì)過程中看不到程序的實(shí)際顯示效果,必須在于行程序的時(shí)候才能顯示界面的設(shè)計(jì)效果。如果對(duì)程序的界面不滿意,還要回到程序中去修改,這一過程反復(fù)多次會(huì)大大影響編程的效率。VB提供的可視化的設(shè)計(jì)平臺(tái),在界面設(shè)計(jì)時(shí),利用提供的“工具箱”直接把各種工具放入用戶界面,“工具箱”中放的是被稱為“控件”的工具。程序員不必再為界面的設(shè)計(jì)而編寫大量的程序代碼,只需按設(shè)計(jì)的要求,用系統(tǒng)提供的工具在屏幕上“畫出”各種對(duì)象,VB自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序員所需要編寫的只是實(shí)現(xiàn)程序功能的那部分代碼,從而大大提高了編程的效率。(2)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 對(duì)象是指具體的實(shí)體,在VB編程中對(duì)象就是用戶界面上的每個(gè)實(shí)體,如按鈕、菜單、文本框等都是“實(shí)體”。VB采用的面向?qū)ο蟮木幊谭椒▽?shí)際上就是對(duì)這些對(duì)象的操作,不同的對(duì)象賦予它不同的功能。例如,有兩個(gè)文本框,一個(gè)用于輸入數(shù)據(jù),一個(gè)用于顯示計(jì)算后的數(shù)據(jù),這是兩個(gè)不同的對(duì)象,完成的功能也不相同,在編程時(shí)就需要對(duì)其編寫不同的程序代碼,這種編程的思想和方法就是面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。(3)事件驅(qū)動(dòng)機(jī)制 對(duì)于一個(gè)對(duì)象來說,它一般能夠響應(yīng)一些操作。例如對(duì)于一個(gè)按鈕來說,可以單擊也可以雙擊,那么它對(duì)于單擊或雙擊會(huì)有什么楊的反應(yīng),即如何響應(yīng)單擊或雙擊這樣的操作,這就依賴于分別對(duì)“單擊”和“雙擊”事件所編寫的不同程序代碼。VB中采用的事件驅(qū)動(dòng)機(jī)制就是一個(gè)事件的發(fā)生能夠驅(qū)動(dòng)一段代碼的執(zhí)行,從而完成某對(duì)象的某個(gè)功能。(4)開放的數(shù)據(jù)庫(kù)功能與網(wǎng)絡(luò)支持 VB具有很強(qiáng)的數(shù)據(jù)庫(kù)管理功能,能夠訪問包括Microsoft SQL server和其他企業(yè)數(shù)據(jù)庫(kù)在內(nèi)的大部分?jǐn)?shù)據(jù)庫(kù)格式和前端應(yīng)用程序。同時(shí)它也具有較強(qiáng)的網(wǎng)絡(luò)支持,在應(yīng)用程序內(nèi)很容易通過Internet訪問文檔和應(yīng)用程序。VB提供的網(wǎng)絡(luò)設(shè)計(jì)工具使用戶可以在VB中開發(fā)多功能的網(wǎng)絡(luò)應(yīng)用軟件本次我主要涉及到的控件有l(wèi)abel、textBox、CommandButton、Timer、MSComm control Quartus II Altera可編程邏輯器件開發(fā)軟件主要是MAX+PLUSII和QuartusII,其中MAX+PLUSH II是Altera公司上一代的PLD開發(fā)軟件,比較適合小規(guī)模的邏輯器件的開發(fā),而QuartusII 則是Altera公司新一代的PLD開發(fā)軟件,適合大規(guī)模的FPGA的開發(fā),并且Quartus可以完成MAX+PLUS II的所有設(shè)計(jì)任務(wù)。它被業(yè)界公認(rèn)為是簡(jiǎn)單易于學(xué)習(xí)、易用和設(shè)計(jì)環(huán)境可視化與集成化的優(yōu)點(diǎn)。Quartus II軟件的設(shè)計(jì)流程如圖圖25(1)設(shè)計(jì)輸入Quartus II本身具有的編輯器,如原理圖式設(shè)計(jì)輸入,文本編輯器輸入,和內(nèi)存編輯輸入。(2)綜合設(shè)計(jì) 它將用戶的硬件描述語言(HDL)生成針對(duì)目標(biāo)器件的邏輯或物理表示,即將HDL語言翻譯成基本邏輯門、RAM以及觸發(fā)器等基本邏輯單元的連接關(guān)系,并根據(jù)約束條件優(yōu)化設(shè)計(jì)的門級(jí)連接,然后輸出網(wǎng)表文件供適配器應(yīng)用。(3)布局布線Quartus II Fitter 也稱作PowerFit Fitter,它的功能是進(jìn)行布局布線操作,在Quartus II中是適配的意思。Fitter使用Analysis amp。 Synthesis建立的數(shù)據(jù)庫(kù),將工程的邏輯跟時(shí)序要求與器件的可用資源相匹配。將每一個(gè)邏輯功能分配給最佳邏輯單元位置進(jìn)行布線和時(shí)序分析,并選定相應(yīng)的互連路徑和引腳分配。(4)時(shí)序分析 時(shí)序分析工具的功能是分析設(shè)計(jì)中的所有邏輯,并指導(dǎo)Fitter達(dá)到時(shí)序要求,是完整編譯的一部分。(5)仿真 仿真功能為設(shè)計(jì)者們提供了驗(yàn)證設(shè)計(jì)邏輯和時(shí)序的正確性的環(huán)境。它的仿真包括四個(gè)步驟:建立波形輸入文件、設(shè)置節(jié)點(diǎn)的驗(yàn)證時(shí)序、設(shè)置仿真參數(shù)、運(yùn)行Simulator。(6)編程和配置,稱之為配置或者編程。兩中常用的配置方式:AS模式使用串口配置器件進(jìn)行配置、JTAG模式使用下載電纜或者微處理器通過IEEE 。 本章小結(jié)本章我們主要介紹了我們本次課題涉及到的直流電機(jī)控制原理,跟串口數(shù)據(jù)傳輸?shù)南汝P(guān)基本理論,同時(shí)介紹了我們用到的兩大軟件一個(gè)是VB一個(gè)是 Quartus II,說了他們的作用跟具體的只要應(yīng)用流程跟基本模塊的的選擇。了解了這些理論便能很好的去理解此次的課題并能從問題的根源去思考問題解決問題,避免了在試驗(yàn)中盲目的去解決問題,為設(shè)計(jì)的順利進(jìn)行打下了基石。3.具體論述課題實(shí)施方案、原理及分析和設(shè)計(jì)等我們?yōu)榱四軌虬驯敬蔚姆桨冈敿?xì)的進(jìn)行分析我們把此次的方案可以分為三大部分,第一大部分是直流電機(jī)的測(cè)速控制部分,第二大部分是通信部分,第三大部分是vb界面編程部分。我們本次的方案的其實(shí)著手點(diǎn)就是圖31直流電機(jī),霍爾器件電路圖。從圖中我們可以看到直流電機(jī)與FPGA芯片有兩個(gè)接口,一個(gè)是PWM控制輸出控制接口,一個(gè)是霍爾元件計(jì)數(shù)脈沖輸入芯片端口。因此我們必須設(shè)計(jì)兩個(gè)單元去實(shí)現(xiàn)脈沖的計(jì)數(shù)跟PWM波的輸入兩個(gè)單元,那么我們接下里就會(huì)想到我們?cè)撨x用什么樣的PWM波控制就成了首要的問題。為了簡(jiǎn)單和得到穩(wěn)定的PWM波輸出我們決定采用斜波作為基準(zhǔn)波,用直線做為調(diào)制波,那么我們就會(huì)很方便的控制PWM的占空比,從而控制供給直流電機(jī)電壓的時(shí)間。說完了PWM輸出,那么剩下的計(jì)數(shù)部分也要有深入的考慮,到底是選擇幾個(gè)十進(jìn)制模塊進(jìn)行連接這也是個(gè)問題,經(jīng)過簡(jiǎn)單的對(duì)直流電機(jī)的速度測(cè)試,我們發(fā)現(xiàn)直流電機(jī)的轉(zhuǎn)速最高可達(dá)到90r/s那么結(jié)合我們要顯示的是每分鐘的轉(zhuǎn)速,大概就是5400r/s,由此分析我們將需要四個(gè)模塊的十進(jìn)制計(jì)數(shù)器。圖31在我們將測(cè)得的數(shù)據(jù)進(jìn)行細(xì)細(xì)分析發(fā)現(xiàn)他是個(gè)16位的二進(jìn)制數(shù),那么我們選擇8位的串口通信,將數(shù)據(jù)分兩次傳送到PC端這樣我們便實(shí)現(xiàn)了對(duì)直流電機(jī)的監(jiān)視目的。要實(shí)現(xiàn)對(duì)直流電機(jī)的控制那么我們選擇從PWM調(diào)制波下手,我們選擇一個(gè)八位的二進(jìn)制數(shù)作為控制信號(hào),通過串口的八位數(shù)據(jù)與基波進(jìn)行比較則分別輸出0兩個(gè)狀態(tài)使之達(dá)到開斷的狀態(tài)。最后的界面顯示我們能后從多方面下手,有C語言串口界面編程,有WinAPI串口編程,MSComm控件編程,我們選則最后一種,原因很簡(jiǎn)單MSComm控件編程是一種專門且非常易于學(xué)習(xí)及應(yīng)用的串口界面開發(fā)控件,我們將借助于它實(shí)現(xiàn)一個(gè)數(shù)據(jù)接收顯示欄,和一個(gè)轉(zhuǎn)速控制數(shù)據(jù)輸入欄以達(dá)到最基本的監(jiān)控目的,為了能實(shí)現(xiàn)電機(jī)與PC端之間進(jìn)行溝通,我們?cè)O(shè)置了基本的通信協(xié)議,波特率選擇9600,一位起始位,8位數(shù)據(jù)位,1位停止位,00代表電機(jī)停止,ff代表電機(jī)的啟動(dòng)。其他的欄目根據(jù)實(shí)際的需要再詳細(xì)補(bǔ)充便可以。綜上我們便將整個(gè)的設(shè)計(jì)方案進(jìn)行了規(guī)劃,依據(jù)理論分析我們能夠完整的將整個(gè)計(jì)劃串聯(lián)在一塊,為接下來的設(shè)計(jì)打下理論上的基石。 直流電機(jī)監(jiān)視模塊電機(jī)的轉(zhuǎn)速通常是指每分鐘的轉(zhuǎn)速,也就是單位是rpm,但是實(shí)際的測(cè)量過程中,為了減少轉(zhuǎn)速的刷新時(shí)間,通常都是5~10秒刷新一次。如果是每6秒殺心一次,那么相當(dāng)于只記錄了6秒內(nèi)的電機(jī)轉(zhuǎn)速,把記錄的數(shù)據(jù)乘上10即可得到一分鐘的轉(zhuǎn)速。最后將這個(gè)數(shù)據(jù)在數(shù)碼管上顯示出來。最后顯示的數(shù)據(jù)因?yàn)槭前褦?shù)據(jù)乘以10的到的,也就是將個(gè)位的后面加上一位作為個(gè)位即可,這一位將一直是0。例如45*10變成450,即為在“45”個(gè)位后面加了一個(gè)“0”。由此可知,這個(gè)直流電機(jī)的誤差將在20以內(nèi)。為了能夠顯示的數(shù)據(jù)能夠在數(shù)碼管上穩(wěn)定的顯示我們加上了一個(gè)16位的鎖存器,把所存的數(shù)據(jù)送到數(shù)碼管顯示,這樣一來會(huì)因?yàn)樵谟?jì)數(shù)過程中,數(shù)據(jù)的變化而使數(shù)碼管的顯示不斷地變化。我們接下來分析具體的電機(jī)控制模塊(1)十進(jìn)制計(jì)數(shù)器此模塊擁有三個(gè)輸入和兩個(gè)輸出,clk輸入端接的是直流電機(jī)的霍爾脈沖輸入,CLR是計(jì)數(shù)清零信號(hào),當(dāng)從來認(rèn)為高電平的時(shí)候則計(jì)數(shù)輸出CQ值變?yōu)?000,ENA是使能信號(hào),當(dāng)為高電平時(shí)候則此模塊開始運(yùn)行,輸出CQ[3..0]是二進(jìn)制輸出從0000~1001總共十個(gè)數(shù)達(dá)到十進(jìn)制的目的,當(dāng)達(dá)到1001時(shí)候CARRY_OUT將進(jìn)行一次從低電平到高電平的跳變從而為下一個(gè)模塊提供計(jì)數(shù)時(shí)鐘輸入。(2)分頻器這里的分頻模塊有兩個(gè)但是其中的原理是一樣的,我們選用50Mhz的主晶振作為分頻時(shí)鐘的輸入,當(dāng)我們要的到一個(gè)1Mhz的輸出時(shí)候我們將使得輸入50個(gè)周期的時(shí)鐘脈沖沿之后我們輸出一個(gè)脈沖這樣就將50Mhz分為了50份,每份自然就是1Mhz了。同理fenpin的輸入是1Mhz經(jīng)過1000000分頻得到1hz,5000分頻得到200Mhz,2500分頻得到400hz。(3)電機(jī)使能控制單元根據(jù)我們的直流電機(jī)6s輸出原理,我們采用的是1hz的時(shí)鐘Clk的輸入,ena是計(jì)數(shù)模塊使能信號(hào),clr是清零信號(hào),load是數(shù)據(jù)鎖存使能信號(hào),當(dāng)Clk脈沖數(shù)小于6時(shí)計(jì)數(shù)模塊使能打開,不清零,鎖存使能給低電平無效;當(dāng)?shù)扔?時(shí)鎖存使能高電平有效,計(jì)數(shù)使能無效,清零信號(hào)無效;當(dāng)?shù)扔?的時(shí)候進(jìn)行清零,計(jì)數(shù)使能跟鎖存使能無效。(4)計(jì)數(shù)數(shù)碼管顯示單元我們用時(shí)鐘clk來控制SEL的輸出,SEL是用來選擇數(shù)碼管哪一個(gè)進(jìn)行點(diǎn)亮的,由于我們的數(shù)碼管個(gè)數(shù)有8個(gè)所以我們用SEL不停的進(jìn)行計(jì)數(shù)循環(huán)讓每個(gè)數(shù)碼管都能將對(duì)應(yīng)的數(shù)據(jù)顯示出來,由于掃描數(shù)碼管的速度很快所以我們就會(huì)看到每一個(gè)數(shù)碼管都會(huì)有數(shù)字呈現(xiàn)。in0~in3分別是四個(gè)計(jì)數(shù)模塊的數(shù)據(jù)信號(hào),他們分別占用一個(gè)數(shù)碼管,沒有個(gè)數(shù)碼管有7個(gè)led,同時(shí)點(diǎn)亮不同的led將會(huì)有不同的數(shù)字顯示出來,具體的7段led如圖32所示:圖32我們將in輸出的0~9與數(shù)碼管的9個(gè)不同的點(diǎn)亮方式進(jìn)行對(duì)應(yīng)起來,從而實(shí)現(xiàn)了數(shù)碼管對(duì)計(jì)數(shù)的顯示(5)計(jì)數(shù)數(shù)據(jù)鎖存LOAD是我們的數(shù)據(jù)鎖存使能信號(hào)有效高電平的時(shí)候,DIN的數(shù)據(jù)將直接給予DOUT。 直流電機(jī)控制模塊(1)鋸齒波生成此模塊將clk數(shù)據(jù)進(jìn)行輸入計(jì)數(shù),從00000000~11111111也即十進(jìn)制0~255,每進(jìn)來一個(gè)脈沖二進(jìn)制數(shù)加1直到255進(jìn)行清零。(2)比較器A和B分別是兩個(gè)8位的數(shù),分別連接的是鋸齒波的二進(jìn)制八位輸出,和直線的八位數(shù)據(jù),兩個(gè)進(jìn)行比較,A=B輸出1,否則輸出0低電平。 串口通信模塊串口通信適用于控制計(jì)算機(jī)與串行設(shè)備之間進(jìn)行通信的關(guān)鍵模塊,他可以將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)進(jìn)行發(fā)送,也可以將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)進(jìn)行接收,我們此次設(shè)計(jì)的這個(gè)模塊是通用異步收發(fā)器,滿足一般的串口功能。在信號(hào)線上會(huì)出現(xiàn)兩種狀態(tài),分別是邏輯0和邏輯1,在發(fā)送空閑狀態(tài)保持高電平狀態(tài)。串口通信可以通過發(fā)送起始位開始一個(gè)字符的傳送,當(dāng)起始位使數(shù)據(jù)線處于狀態(tài)0時(shí),預(yù)示接收接收器數(shù)據(jù)傳輸即將開始;我們此次的串口具有八位的數(shù)據(jù)位,在傳送起始位之后傳送數(shù)據(jù)位,數(shù)據(jù)位的低位在前,高位在后。并選擇使用一位停止位?;镜拇谕ㄐ胖恍枰獌蓷l數(shù)據(jù)線TXD和RXD便可以實(shí)現(xiàn)數(shù)據(jù)的相互通信,接收與發(fā)送是全雙工形式。TXD是串口發(fā)送端,為輸出信號(hào);RXD是串口接收端,串口的基本原理圖如圖33所示。圖33由此可以可看出來異步收發(fā)器主要由波特率發(fā)生器,串口接收器,串口發(fā)送器構(gòu)成,發(fā)送器主要的用途是將準(zhǔn)備輸出的并行數(shù)據(jù)按照基本的串行幀格式轉(zhuǎn)換位串行數(shù)據(jù)。串行信號(hào)接收器接收RXD串行信號(hào)將其轉(zhuǎn)換為并行信號(hào)數(shù)據(jù)。波特率發(fā)生器就是專門產(chǎn)生一個(gè)遠(yuǎn)遠(yuǎn)高于波特率的本地時(shí)鐘信號(hào)對(duì)輸入RXD不斷平樣,使接收器與發(fā)送器保持同步。(1)波特率發(fā)生模塊波特率發(fā)生模塊是為了提供符合傳輸波特率的時(shí)鐘信號(hào),兩個(gè)輸入端一個(gè)輸出端,一個(gè)50Mhz的時(shí)鐘clk輸入,一個(gè)復(fù)位高電平復(fù)位信號(hào)輸入,bclk則是波特率時(shí)鐘信號(hào)。(2)串口接收模塊串行接收模塊是將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)的一個(gè)模塊,bclkr為波特率時(shí)鐘信號(hào)輸入信號(hào),resetr為復(fù)位信號(hào),rxdr則為串行數(shù)據(jù)輸入,我們將rxdr加載進(jìn)來的數(shù)據(jù)進(jìn)行并行輸出在rbuf輸出端。(3)串口發(fā)送模塊這里出現(xiàn)了和接收模塊不一樣的地方是輸入是個(gè)八位的總線數(shù)據(jù)輸入,輸出卻是串行數(shù)據(jù),另一點(diǎn)不一樣的是多了一個(gè)xmi_cmd_p,這個(gè)信號(hào)其實(shí)是一個(gè)始終控制信號(hào),用來控制何時(shí)開始發(fā)送,何時(shí)結(jié)束進(jìn)行下一次的發(fā)送(4)發(fā)送控制模塊及將50Mhz的時(shí)鐘進(jìn)行10000000分頻。 VB電機(jī)控制界面編程本次為了方便對(duì)電機(jī)進(jìn)行控制與數(shù)據(jù)接收, control ,用到的控件除了MSComm control ,TextBox,CommandButton控件。Label控件用于窗體或者其它容器中顯示文本。TextBox用來在運(yùn)行時(shí)候顯示用戶輸入的信息,或者在設(shè)計(jì)或者運(yùn)行時(shí)通過對(duì)控件的Text屬性賦值,作為信息輸出的對(duì)象。CommandButton主要用于設(shè)計(jì)用戶和應(yīng)
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1