在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA 的UART 擴展總線設計和應用

            基于FPGA 的UART 擴展總線設計和應用

            作者: 時間:2012-08-30 來源:網(wǎng)絡 收藏

            2.2 的邏輯設計

            的通信協(xié)議十分簡單,以低電平作為起始位,高電平作為停止位,中間可傳輸 5~8 比特數(shù)據(jù)和1 比特奇偶校驗位,奇偶校驗位的有無和數(shù)據(jù)比特的長度由通信雙方約 定。一幀數(shù)據(jù)傳輸完畢后可以繼續(xù)傳輸下一幀數(shù)據(jù),也可以繼續(xù)保持為高電平,兩幀之間 保持高電平,持續(xù)時間可以任意長。

            模塊由SLAVE接口、波特率控制器、UART接收器和UART發(fā)送器構(gòu)成。SLAVE 接口是為了實現(xiàn)WISHBONE 總線和功能模塊之間的數(shù)據(jù)傳輸;UART 發(fā)送器的用途是將準備輸出的并行數(shù)據(jù)按照基本UART 幀格式轉(zhuǎn)為TXD 信號串行輸出;UART 接收器接收RXD 串行信號,并將其轉(zhuǎn)化為并行數(shù)據(jù),但串并轉(zhuǎn)換的時鐘同發(fā)送器一樣處理,收發(fā)設備間的時 鐘是會累計的,會導致接收數(shù)據(jù)不正確,波特率控制器就是專門產(chǎn)生一個遠遠高于波特率的 本地時鐘信號對輸入RXD 不斷采樣,以不斷地讓接收器與發(fā)送器保持同步。

            波特率控制器實際上就是一個簡單的分頻器??梢愿鶕?jù)給定的系統(tǒng)時鐘頻率(晶振時 鐘)和要求的波特率算出波特率分頻因子。已算出的波特率分頻因子作為分頻器的分頻數(shù)。 對于波特率發(fā)生器中的系數(shù)一般在 實現(xiàn)時往往是固定的,但對于不同的實現(xiàn),這個 系數(shù)需要更改。波特率控制器產(chǎn)生的分頻時鐘,不是波特率時鐘,而是波特率時鐘的16 倍,目的是為了在接收事實進行精確地采樣,以提出異步的串行數(shù)據(jù)。

            UART 發(fā)送器由16 個字節(jié)FIFO 和信號發(fā)送器組成。FIFO 主要是起到數(shù)據(jù)緩存的作用, 信號發(fā)送器的核心部分由有限狀態(tài)機實現(xiàn)的,實現(xiàn)偽代碼如下:

            case (狀態(tài)機狀態(tài))

            空閑狀態(tài):if ( FIFO 中有數(shù)據(jù) )

            狀態(tài)機跳轉(zhuǎn)到 FIFO 讀取狀態(tài);

            else

            狀態(tài)機保持空閑狀態(tài);

            FIFO 讀取狀態(tài):讀取FIFO 數(shù)據(jù),保存到移位寄存器;狀態(tài)機跳轉(zhuǎn)到開始位狀態(tài);

            開始位狀態(tài):時鐘計數(shù),發(fā)送開始位;計數(shù)結(jié)束后狀態(tài)機跳轉(zhuǎn)到數(shù)據(jù)位狀態(tài);

            數(shù)據(jù)位狀態(tài):時鐘計數(shù),發(fā)送數(shù)據(jù),移位寄存器移位;計數(shù)結(jié)束后

            if(移位寄存器內(nèi)數(shù)據(jù)發(fā)送完畢)

            狀態(tài)機跳轉(zhuǎn)到停止位狀態(tài);

            else

            狀態(tài)機跳轉(zhuǎn)到數(shù)據(jù)位狀態(tài);

            停止位狀態(tài):時鐘計數(shù),發(fā)送停止位;計數(shù)結(jié)束后狀態(tài)機跳轉(zhuǎn)到 s_idle;

            default:狀態(tài)機復位到空閑狀態(tài);

            endcase

            UART 接收器包括了16 個字節(jié)FIFO、信號同步器和信號接收器三個部分。其中信號同 步器則是為了解決串行數(shù)據(jù)幀和接收時鐘是異步問題,其它兩部分和UART 發(fā)送器的中的 功能相似,只是數(shù)據(jù)傳送的方向相反。

            3 設備接口和驅(qū)動設計

            3.1 設備接口設計

            AT91ARM9200 芯片通過其靜態(tài)存儲控制器 (SMC)控制EP1K,而靜態(tài)存儲控制器 (SMC) 是控制外部靜態(tài)存儲器或外設的訪問。 SMC 可編程地址達512M 字節(jié)。它有8 個 片選及一個26 位地址總線。16 位數(shù)據(jù)總線能配置與8 位或16 位外部器件連接。獨立的讀寫控制信號允許存儲器與外設直接連接。SMC 支持不同的允許單時鐘周期存儲器訪問的訪 問協(xié)議。它還提供外部等待請求能力。

            因為 EP1K 內(nèi)部設計使用的是8 位數(shù)據(jù)總線和8 位地址總線,所以AT91ARM9200 芯片與EP1K 相連的I/O 端口為 A[7:0],D[7:0],NRD 和NWR0。然而EP1K 內(nèi)部采用 的WISHBONE 總線規(guī)范,其讀寫信號wb_we_o,高電平表示為寫操作,低電平表示為 讀操作。所以需要將NRD 和NWR0 進行相應的信號轉(zhuǎn)換。而D[7:0]為雙向端口IO, 所以在EP1K 的設計中采用三態(tài)門的設計。



            關鍵詞: FPGA UART 總線設計

            評論


            相關推薦

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

            關閉