新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > FPGA實現(xiàn)UART和MCU一體化設(shè)計

FPGA實現(xiàn)UART和MCU一體化設(shè)計

作者: 時間:2011-03-30 來源:網(wǎng)絡(luò) 收藏

2.1.2 輸入/輸出緩沖區(qū)(FIFC))的設(shè)計與實現(xiàn)
FIFO(First In First Out)是一種先進先出的緩沖區(qū)結(jié)構(gòu)。主要在通信過程中解決通信兩端速度不匹配的問題。訪問FIFO僅需要讀/寫控制線,不需要地址線,因此采用FIFO實現(xiàn)的緩沖區(qū)接口簡單,讀寫方便。由于文中的微控制器和I/O設(shè)備均在內(nèi)部實現(xiàn),因此采用同步FIFO實現(xiàn),即寫端口和讀端口采用同一個時鐘進行控制操作。該系統(tǒng)分別實現(xiàn)了位寬為8位,深度為256 b的緩沖區(qū)來對發(fā)送給外設(shè)的數(shù)據(jù)和從外設(shè)接收的數(shù)據(jù)進行緩沖處理。實現(xiàn)方法可以采用Altera公司內(nèi)部的資源實現(xiàn)。對FIFO的讀/寫控制可根據(jù)緩沖區(qū)的使用狀態(tài)和發(fā)送來的命令來實現(xiàn)。FIFO模塊的結(jié)構(gòu)圖如圖7所示。

本文引用地址:http://butianyuan.cn/article/191268.htm

5.JPG


讀信號和寫信號由微控制器MCU通過向I/O設(shè)備進行數(shù)據(jù)輸入和輸出操作產(chǎn)生??諛酥竞蜐M標志用于MCU探測緩沖區(qū)狀態(tài),應(yīng)用查詢方式對外設(shè)進行讀寫數(shù)據(jù)操作。對于發(fā)送緩沖區(qū),當緩沖區(qū)處于滿狀態(tài)時表明已經(jīng)沒有可用的存儲空間緩沖數(shù)據(jù),此時不允許進行寫操作;對于接收緩沖區(qū),當緩沖區(qū)處于空狀態(tài)時,表明沒有從設(shè)備收到任何的時間,此時不允許微控制器MCU從外設(shè)接收緩沖區(qū)讀取數(shù)據(jù)。
通過QuartusⅡ產(chǎn)生的FIFO如圖8所示。

6.JPG


圖8中,aclr是異步復(fù)位信號;clock是時鐘輸入;rdreq和wrreq分別是讀和寫信號線;data[7…O]是FIFO的并行數(shù)據(jù)輸入端;q[7…0]是FIFO的并行數(shù)據(jù)輸出端;empty和full分別為FIFO空滿標志的狀態(tài)線;usedw[7…O]為當前狀態(tài)下FIFO已經(jīng)使用的存儲量,即FIFO中已經(jīng)寫入并保存的數(shù)據(jù)量。
2.2 微控制器MCU的設(shè)計與實現(xiàn)
在一個計算機系統(tǒng)中,中央處理器處于核心控制地位,它不僅是參與運算的核心器件,而且是控制外設(shè)的中樞。一般情況下,它實現(xiàn)了一定的功能指令集,用來由用戶自己編程控制外部設(shè)備動作或者進行一些算術(shù)邏輯運算。本文中所實硯的微控制器MCU主要以實現(xiàn)對外設(shè)的控制,實現(xiàn)了對外設(shè)端口的讀寫控制以及一些必要的程序控制指令。在一個微控制器的設(shè)計中,指令系統(tǒng)的設(shè)計尤其重要,它不僅關(guān)系到控制器的設(shè)計,也關(guān)系到軟件程序的設(shè)計方法。指令系統(tǒng)的設(shè)計分為指令集設(shè)計和指令動作設(shè)計兩部分,前者側(cè)重于控制器的總體功能;后者側(cè)重于指令的具體實現(xiàn)。進行指令設(shè)計時首先要進行指令分析,根據(jù)系統(tǒng)所要完成的功能,完成所需指令的功能設(shè)想,這是指令設(shè)計的基礎(chǔ);然后分析指令該放在什么地方,微控制器如何取指令和對指令進行識別等操作;最后確定指令格式以及每個指令完成指定功能所需要的一系列基本動作過程??梢允褂肁Ltera公司內(nèi)部的ROM作為程序存儲器,詳細的實現(xiàn)過程參看參考文獻。通過此系統(tǒng)進行分析,設(shè)計實現(xiàn)如表1所示指令。每條指令功能的完成具有取指令、指令譯碼、執(zhí)行指令階段。指令的分析譯碼執(zhí)行由狀態(tài)機邏輯控制具體實現(xiàn)。

7.JPG




關(guān)鍵詞: FPGA UART MCU

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉