久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4599|回復: 0
打印 上一主題 下一主題
收起左側(cè)

FPGA健身自行車控制器 可編程數(shù)字系統(tǒng)設計實驗報告

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:137190 發(fā)表于 2016-9-26 13:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


論文和源碼等所有完整資料下載:
健身自行車.rar (1.35 MB, 下載次數(shù): 41)

下面是部分內(nèi)容預覽:
------------------------------------------------------------------------------------------------------------------
東南大學電工電子實驗中心
課程名稱:數(shù)字邏輯設計實踐
次實驗
實驗名稱:可編程數(shù)字系統(tǒng)設計
院 (系):電工電子實驗中心              專    業(yè):吳健雄學院
姓    名:凌 昕 彤學    號:61009323
實 驗 室: 103實驗組別:
同組人員:實驗時間:201011
評定成績:審閱教師:
1、申請題目:





    • 題目:健身自行車控制器

2、狀態(tài)機設計思路




    • 功能、指標、規(guī)模
  • 啟動控制器 :在初始狀態(tài)下,按下“F”鍵即能啟動
  • 選擇手動或者計時模式通過按“1”或者“2”選擇手動或者計時模式
  • 改變訓練強度在手動或者計時模式下,通過數(shù)字鍵輸入選擇相應的模式
  • 動態(tài)調(diào)整訓練強度在訓練中,通過按下“A”或者“B”來增加或者減小阻力值
  • 設置訓練時間在計時模式下,逐位輸入數(shù)字,能夠設置訓練時間
  • 訓練時間有誤可清零修改如果使用者輸錯了時間,可以按“C”清除,顯示恢復00的狀態(tài)。
  • 計數(shù)器的倒計時功能能從給定的數(shù)字開始倒計時至0000,并且從0003開始使蜂鳴器響半秒,停半秒。
  • 正確按鍵LED燈發(fā)光每次按下正確的按鍵,LED亮一下,這可以提示使用者按鈕是否成功按下。
  • 訓練時間有誤自動報錯時間有誤自動報錯,顯示“EE”一秒,并退回到上一個狀態(tài)。
  • 選擇自定義模式通過按“A”或者“B”選擇或者設置訓練強度和時間
  • 預設模式可以設置或者存儲訓練模式





    • 面板(顯示)、操作、規(guī)則
1. 當使用者剛騎上自行車時,控制器處于初始狀態(tài)。按“F”鍵啟動控制器。
2. 使用者從鍵盤輸入 1或2 以選擇“手動”、“計時”模式,按“E”鍵確認。
3. 如果使用者輸入“1”(手動模式),顯示器顯示“9”,用戶可以輸入從0到9中的任意數(shù)字,以改變訓練強度,按“E”鍵確認。訓練強度選擇完成之后, 按下“F”按鈕開始訓練。 此時顯示器在高2位顯示阻力值。
4. 如果使用者輸入“2”(計時模式),控制器將提示用戶輸入從0到9中的任意數(shù)字,以選擇需要的訓練強度,按“E”鍵確認。訓練強度選擇完成之后,顯示器顯示“00:00”。通過數(shù)字鍵盤輸入數(shù)字, 以決定訓練的時間,輸入時數(shù)字順序是從左到右。例如,輸入1、0、2、3應該在顯示器上上顯示“10:23”,表示訓練時間被設定為10分23秒,如果輸入正確,按下“E”鍵確認。如果使用者輸錯了時間,可以按“C”清除,顯示恢復00的狀態(tài)。訓練時間輸入完成后,按下“開始”開始訓練。此時6位數(shù)碼管的高2位顯示阻力值,低四位倒計時顯示時間一直到“00:00”。在最后3秒時,蜂鳴器響3下,規(guī)律為響半秒停半秒。 當計時到00:00時,控制器恢復到初始狀態(tài),此時定時器是“00:00”,阻力為前面設定的值。
5. 每次按下正確的按鍵,LED亮一下,這可以提示使用者按鈕是否成功按下。
6. 在計時模式下,如果輸入的時間大于“60:00”或小于“01:00”,在按下“E”鍵確認后,顯示器顯示 EE,同時LED亮1秒,然后顯示返回00的狀態(tài)。
7. 增加動態(tài)調(diào)整訓練強度功能,在訓練過程中按“上”或“下”按鈕,實時增加或減少訓練強度。
8. 計時模式提供預設模式功能,可存儲10種訓練模式(訓練強度和時間預先設定好),設定過程如下:
1) 在基本功能2中,輸入A,選擇“自定義”模式,顯示“0”,直接按下“E”鍵,表示選擇“0”號預置訓練模式,此時顯示該模式的訓練強度和訓練時間。也可用鍵盤輸入“0”到“9”中的任何數(shù)字選擇相應預置訓練模式,按“E”確認,此時顯示該模式的訓練強度和訓練時間。選擇完成后按“開始”按鈕開始訓練。
2) 在基本功能2中,輸入B,選擇“自定義”模式,顯示“0”,用鍵盤輸入“0”到“9”中的任何數(shù)字選擇要設置的預置訓練模式,按下“預設”按鈕,顯示該模式原來預置的訓練強度值,參考基本功能3,重設預置訓練強度,按“E”確認,顯示器顯示該模式原來預置的訓練時間值,參考基本功能3,重設訓練時間,按下“E”鍵確認,再按下“預設”按鈕存儲預設值,回到基本功能初始狀態(tài)。





    • 輸入、輸出接口
輸入:鍵盤
輸出:6位數(shù)碼管、代表蜂鳴器的LED燈和表示正確按鍵的LED燈


3、實現(xiàn)方案





    • 核心問題
問題1大量狀態(tài)的轉(zhuǎn)換問題。由于該數(shù)字系統(tǒng)狀態(tài)復雜,如果算入各類大小狀態(tài),共有28個,之間的轉(zhuǎn)換難以處理。
問題2模60計數(shù)器難以同時實現(xiàn)模的設置和置數(shù)功能
問題3鍵盤如何給出區(qū)別兩次相同按鍵而不是一次按鍵
問題4實現(xiàn)訓練模式的寄存和調(diào)用
問題5當輸入時間有誤,在按下“E”鍵確認后,顯示器顯示 EE,同時LED亮1秒,然后顯示返回00的狀態(tài)。






    • 解決方案
問題1解決方案A考慮到28個狀態(tài),可以將部分子狀態(tài)歸結(jié)給一個大狀態(tài),比如輸入四位時間的四個子狀態(tài)可以歸一為狀態(tài)機的一個狀態(tài)。通過這種方法,狀態(tài)機一共需要產(chǎn)生的狀態(tài)只剩15種,而且當中大部分都是順序狀態(tài)轉(zhuǎn)移的,只有四處需要非順序狀態(tài)轉(zhuǎn)移。所以決定使用一個模16計數(shù)器74161來實現(xiàn)功能。配合一個16選1數(shù)據(jù)選擇器控制使能端,和若干與非門和數(shù)據(jù)選擇器通過同步置數(shù)方式來實現(xiàn)非順序狀態(tài)轉(zhuǎn)移。通過控制置零端實現(xiàn)狀態(tài)清零,比如倒計時到0.該方案并不難想到,但是實現(xiàn)還是有一定難度,主要是因為當中復雜的邏輯關系造成的。其思路并不是非常清晰,而且修改一部分可能會影響整體。但是實際電路設計中就使用了這方案。
問題1解決方案B使用Rom。這個思路非常清晰,便于修改,實現(xiàn)方便。只需要將當前狀態(tài)和當前鍵盤輸入一起輸入到Rom的輸入端,即可以得到相應的狀態(tài)。對狀態(tài)數(shù)量、轉(zhuǎn)移方式均沒有要求,但是由于規(guī)定,沒有選擇這套方案。
問題2解決方案A通過兩片74168模十加減計數(shù)器級聯(lián)。低位片的置數(shù)端特殊處理,使用74257八選四數(shù)據(jù)選擇器。當置數(shù)端信號有效時,將置數(shù)的起點選擇到置數(shù)端。而當置數(shù)信號無效時,到0101輸入到置數(shù)端。從而解決上述問題。
問題2解決方案B直接使用Quartus內(nèi)部產(chǎn)生的函數(shù)器件,使其分別產(chǎn)生模為六和十的計數(shù)器,通過同步置數(shù)法解決問題。顯然,此法更加方便,優(yōu)于上述方案。
問題3解決方案A將鍵盤的四位Col輸入通過一個與門和7474消抖電路輸出。使其能夠在按下一個鍵后,產(chǎn)生一個上升沿。而這個上升沿可以作為之后電路的時鐘信號。但是這個理論上可行的方案,在實際操作中產(chǎn)生了嚴重的問題。由于電路中的延遲情況未知,出現(xiàn)了大量上次按下的信號在本次按鍵中生效的現(xiàn)象。通過多種途徑分析電路,最終將鍵盤輸出的上升沿通過觸發(fā)器延遲一定時間后輸出效果明顯提高。但是這種方法直到最后來存在著一定的小問題沒有很好解決。
問題3解決方案B和方案A相似地,通過觸發(fā)器使按下一個按鍵后產(chǎn)生一個單脈沖,寬度為一個正常的時鐘周期。而這個輸出作為使能端輸入到之后的電路模塊中,而之后的電路模塊的時鐘信號還是連接正常時鐘信號。這樣可以確保在按下一次按鍵,在模塊使能的時間里有且僅有一個上升沿。理論上說,本方案會優(yōu)于A方案,但是依然是延遲的問題。如上方案輸出的單脈沖依然落后與按鍵的信號,同時還產(chǎn)生了眾多競爭和毛刺,使電路變得十分不穩(wěn)定。所以最后方案B還是被放棄了。
問題4解決方案:最先由于不知道有器件Ram,導致設想的方案需要使用幾十片計數(shù)器當寄存器使用。但是知道了Ram之后,Ram顯然是不二選擇。當設置狀態(tài)時,即將置數(shù)的信號輸入到顯示端的同時,輸入到Ram。而在調(diào)用狀態(tài)時,從鍵盤輸入的信號改為從Ram輸入。
問題5解決方案:通過Quartus內(nèi)部產(chǎn)生的函數(shù)器件判斷當前的輸出,當符合條件時,Error輸出為1。通過一個信號控制數(shù)據(jù)選擇器使顯示端輸出的值為EE,并且使狀態(tài)機狀態(tài)轉(zhuǎn)移。這從理論上來說,是可以實現(xiàn)的。但是在實際過程中還是會出現(xiàn)各種問題需要解決。


4、系統(tǒng)結(jié)構(gòu):






    • 系統(tǒng)框圖





    • 模塊功能描述

鍵盤:輸出列掃描信號,接收行信號,并通過寄存器記下四位行信號和四位列信號。將上述八位信號輸入至一個預先寫好的Rom,將其轉(zhuǎn)換為四位二進制碼。其對應關系為0000-1,0001-2,……,1001-0,1010-A,1011-B,……并且根據(jù)鍵盤是否被按下,輸出一個上升沿信號。相似地,能夠輸出一個提示正確按鍵的信號。電路圖如下:

控制器:接受來自鍵盤的按鍵信號和上升沿信號。以上升沿為時鐘,通過觸發(fā)器和組合電路實現(xiàn)狀態(tài)的轉(zhuǎn)移。最后給出當前的狀態(tài)值。同時能夠接受時間顯示器的進位反饋信號,當計時至0時,異步將狀態(tài)清零。電路圖如下;

力度顯示器:接受來自控制器的當前狀態(tài)值,鍵盤產(chǎn)生的上升沿信號以及通過濾過器后有鍵盤產(chǎn)生的信號(該信號只為數(shù)字,即0~9)。力度最終所有的輸出都顯示在前兩位數(shù)碼管上。在合適的狀態(tài)下,將數(shù)字信號輸入到Rom并使其通過最后兩片74169的置數(shù)使其顯示。同時通過“A”“B”鍵能動態(tài)地控制顯示結(jié)果,即當前阻力值。電路圖如下:

時間顯示器:時間顯示器相對復雜。在輸入時間的大狀態(tài)下,需要有四個子狀態(tài)來控制具體是哪位時間值在被設置。需要使用一個74194作為次狀態(tài)機,來控制四位數(shù)碼管信號的置數(shù)信號。并且需要計數(shù)到00:00時,能給出一個借位信號,使狀態(tài)機狀態(tài)清零。同時由于預設功能和倒計時功能的存在,需要多處使用數(shù)據(jù)選擇器。同時由于清零功能、報錯功能、末三秒提示功能等需要實現(xiàn)結(jié)構(gòu)異常復雜。在此,為了簡化其復雜性,將當前狀態(tài)值輸入至一個Rom。而將Rom的輸出給至各位控制端、選擇端以及使能端,控制時間顯示器的工作。但是不管怎么樣,僅從電路的結(jié)構(gòu)和規(guī)模看出,時間顯示器是最復雜的一個模塊。電路圖如下:








    • 模塊接口標注(參數(shù)、協(xié)議)
鍵盤:輸入:列掃描信號;
輸出:行掃描信號、上升沿信號、鍵盤碼四位信號
控制器:輸入:上升沿信號、鍵盤碼四位信號、計數(shù)借位信號
輸出:四位當前狀態(tài)
力度顯示器:輸入:四位當前狀態(tài)、上升沿信號、鍵盤碼四位信號(判斷是否為“A”“B”)
輸出:力度顯示的兩位數(shù)碼管
時間顯示器:輸入:四位當前狀態(tài)、上升沿信號、鍵盤碼四位信號(判斷是否為“A”“B”)
輸出:時間顯示的四位數(shù)碼管以及四位數(shù)碼管的使能信號、借位信號




5、狀態(tài)流程圖:






    • 系統(tǒng)工作狀態(tài)流程
0000:初始狀態(tài)
0001:手動/計時模式選擇狀態(tài)
0010:輸入力度
0011:確認
0100:開始訓練
0101:輸入力度
0110:輸入時間
0111:確認
1000:開始訓練
1001:選擇預設的訓練模式
1010:確認
1011:開始訓練
1100:選擇需要設置的訓練模式號
1101:輸入時間
1110:輸入力度

(框中的編號即是對應著一個狀態(tài),同時也是狀態(tài)機產(chǎn)生的具體狀態(tài)編碼。)

6、各主要模塊圖與仿真波形






    • 各模塊的仿真波形,詳細注釋輸入輸出功能端口,波形意義
鍵盤波形圖:
CLKF:快速時鐘信號,頻率較高
CLK:正常時鐘信號,有CLKF通過分頻器產(chǎn)生,頻率大約為前者的1/16
Ip_Row:行輸出掃描信號
Ip_Col:列輸入信號
OEN:鍵盤給出的上升沿信號
q:鍵盤的四位二進制編碼

控制器波形圖:
A:當前狀態(tài)值
CLR:清零信號
RCO:借位信號
ERROR:錯誤信號
KEY_EN:鍵盤上升沿信號
KEY:鍵盤按鍵信號

力度顯示器波形圖:
CLKF:快速時鐘信號
Q:鍵盤給出的四位二進制編碼
STATE_CODE:狀態(tài)編碼信號
KEY_EN:鍵盤上升沿信號
FH:力度數(shù)碼管的高位
FL:力度數(shù)碼管的低位

時間顯示器波形圖:
CLKF:快速時鐘信號
CLK_1Hz:用于計時的1Hz方波信號
S:當前狀態(tài)碼
Q:鍵盤輸入的四位二進制編碼
QHH,QHL,QLH,QLL:依次為時間數(shù)碼管顯示的數(shù)字,順序是由高位到低位
RCO:借位信號
ERROR:錯誤信號
SOUND_EN:蜂鳴器使能信號


7、設計總結(jié)






    • 預期的目標與當前實現(xiàn)功能的差異
從上述設計過程中,可以看出原先是打算一次性將提高和基礎部分做完的,但是畢竟通過電腦編程,畫線路圖對我們而言來說陌生的。當中經(jīng)歷了多次挫折,花了很多時間,也正是由于時間關系,最終做出了艱難的選擇:放棄了預設部分。但是在整個設計過程中,預設等內(nèi)容,包括狀態(tài)和器件,都已經(jīng)基本完成了設計。但是由于時間原因,最后沒有將已經(jīng)完成的預設部分調(diào)試成功。這也是本次實驗遺憾的地方。或許,當初在構(gòu)思的時候,就可以選擇先完成基礎部分,然后再通過部分修改的形式增加提高部分。這種思路應該更加符合可編程數(shù)字系統(tǒng)設計的,而不是像我這樣企圖一口氣吃成胖子。





    • 調(diào)試過程中出現(xiàn)的問題分析及其解決措施
調(diào)試過程中,出現(xiàn)的一個最明顯的問題就是鍵盤給的上升沿信號的位置一直有問題,導致置數(shù)一直不正確。出現(xiàn)本次按鍵置上一次按鍵的數(shù)的情況。但是在之后,通過多種方式增加了該上升沿的延遲,使其出現(xiàn)時,鍵盤信號已經(jīng)明顯穩(wěn)定后才輸出。最終基本上解決了這個問題。





    • 可以進一步發(fā)揮提高的部分
由于我們制作的系統(tǒng)是一個和我們生活很近的操作系統(tǒng)。因而提高方向應該更加人性化、更加便于操作、更加接近我們使用的電子控制系統(tǒng)。在此,我主要有幾個設想:
  • 在具體輸入某一位時間時,該位時間處于閃爍狀態(tài)。
  • 每次按鍵有蜂鳴器發(fā)音提示
  • 可以選擇具體數(shù)位修改時間
事實上,設想1已經(jīng)努力使用電路去實現(xiàn)(但最后還是未能實現(xiàn))。而設想2則通過正確按鍵提示燈改造即可實現(xiàn)。






    • 設計體會

雖然不用親自動手搭電路,省去了許多搭線之苦,但是必須掌握對quartus軟件的熟練使用方法。在設計電路時,尤其是所需的器件較多,各部分聯(lián)系比較復雜時,必須采用模塊化設計。在調(diào)試過程中,必須先分模塊調(diào)試,最后進行總的調(diào)試編譯。在調(diào)試過程中,警告一般可以忽略。
由于沒有使用器件的限制,因此可以最大程度的利用好quartus內(nèi)部提供的器件,以此來簡化電路設計。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产综合网址 | 日韩成人在线一区 | 成人污污视频 | 天天艹天天干天天 | 亚洲小视频 | 91网站在线播放 | 一区二区精品 | 午夜日韩| 91精品亚洲 | 日韩欧美一区二区三区四区 | 久久精品中文字幕 | 999久久久国产精品 欧美成人h版在线观看 | 亚洲高清在线 | 精品区一区二区 | 中国一级特黄毛片大片 | 欧美在线观看一区 | 亚洲国产欧美国产综合一区 | 97精品超碰一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 中文字幕在线一区二区三区 | 成人在线小视频 | 国产美女在线观看 | 午夜视频在线视频 | 在线日韩 | 日韩精品一区二区三区中文在线 | 成人免费视频网址 | 黄色一级片aaa | 51ⅴ精品国产91久久久久久 | 日日日色| 亚洲精品片 | 成人免费观看男女羞羞视频 | 成人免费视频在线观看 | 中文字幕av第一页 | 国产精品一区二区三区在线 | 亚洲视频欧美视频 | 中文字幕在线电影观看 | 羞羞网站在线观看 | 97精品一区二区 | 本道综合精品 | 精品国产不卡一区二区三区 | 国产精品7777777 |