《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Wishbone總線的UART IP核的設計
基于Wishbone總線的UART IP核的設計
電子市場
摘要: 隨著集成電路與嵌入式技術的發展與廣泛應用,許多嵌入式系統都需要進行串行通信,因此在片上嵌入式系統芯片中集成uART(通用異步接發裝置)的IP核已成為一種趨勢。在基于IP核復用技術的集成電路設計中,片上總線的選取是最為關鍵的問題。目前,許多廠商已經開發了適用于各自片上總線標準的UARTIP核,例如基于AMBA總線的UARTIP核、基于CoreCONnect總線的UARTIP核等。如果用戶要使用這些商業化的UART核,則需要得到授權。因此從成本、性能、開放性的角度來看,采用開源、易于實現的Wishbone總線標準設計出的UARTIP核將會擁有廣泛的市場。1UARTIP核的設計原理1.1UART工作原理通用非同步收發裝置(UART)是計算機進行串行通信的重要組成部分。它將微機系統內部傳送過來的并行數據轉換為串行輸出數據流,以電平的形式傳輸出去;將微機系統外部傳送來的串行數據轉換為字節,供微機系統內部使用并行數據的器件使用;在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進行奇偶校驗;在輸出數據流中加入啟停標記,并從接收數據流中刪除狀態標記。對于UART而言,總線上的所有信號都是至關重要的。這些信號包括所需
Abstract:
Key words :

     隨著集成電路與嵌入式技術的發展與廣泛應用,許多嵌入式系統都需要進行串行通信,因此在片上嵌入式系統芯片中集成uART" title="uART">uART(通用異步接發裝置)的IP核" title="IP核">IP核已成為一種趨勢。

  在基于IP核復用技術的集成電路設計中,片上總線的選取是最為關鍵的問題。目前,許多廠商已經開發了適用于各自片上總線標準的UART IP核,例如基于AMBA總線的UART IP核、基于CoreCONnect總線的UART IP核等。如果用戶要使用這些商業化的UART核,則需要得到授權。因此從成本、性能、開放性的角度來看,采用開源、易于實現的Wishbone總線" title="Wishbone總線">Wishbone總線標準設計出的UART IP核將會擁有廣泛的市場。

  1 UART IP核的設計原理

  1.1 UART工作原理

  通用非同步收發裝置(UART)是計算機進行串行通信的重要組成部分。它將微機系統內部傳送過來的并行數據轉換為串行輸出數據流,以電平的形式傳輸出去;將微機系統外部傳送來的串行數據轉換為字節,供微機系統內部使用并行數據的器件使用;在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進行奇偶校驗;在輸出數據流中加入啟停標記,并從接收數據流中刪除狀態標記。

  對于UART而言,總線上的所有信號都是至關重要的。這些信號包括所需的控制信息和數據。因此總線接口的設計決定著UART的設計細節。本設計采用Wishbone總線作為UART核與微機系統進行通信的主機接口。UART核的接口信號如圖1所示。

UART核的接口信號

圖1 UART核的接口信號

  1.2 Wishbone總線接口

  在集成電路設計領域,Wishbone總線結構是一種靈活、開源的設計方法。其目的是促進設計的再利用,簡化系統級芯片的集成問題。通過在IP核之間創建一個總線接口,從而將各個IP核能方便地進行連接。這就提高了設計的可復用性和系統的可靠性,加快了產品推向市場的速度。在此之前,IP核之間都是使用非標準的總線規范進行連接的,這就難以實現復用。因此采用標準化的E總線結構設計IP核,已成為IC設計行業的主流。

  在設計中,Wishbone總線為微機系統和UART控制器提供了操作接口。Wishbone總線接口的主要功能是協調處理器和UART核之間的信號,使處理器能正確地使用UART核進行數據通信。

  2 UART IP核的設計實現

  UART IP核的研發是遵照RS232協議和Wishbone總線標準進行的,集成了UART的基本功能。

  UART IP核的主要技術特征包括:

  (1)支持標準RSR232接口標準和Wishbone總線規范。

  (2)全雙工獨立收發功能。

  (3)接收通道進行奇偶校驗,溢出,產生可選中斷。

  (4)內置支持接收和發送的16 Byte FIFO。

  (5)發送“空”產生可選中斷,接收“滿”產生可選中斷。

  UART IP核體系結構如圖2所示。

UART IP核體系結構

圖2 UART IP核體系結構

  UART IP核內部主要包括數據發送模塊、數據接收模塊以及Wishbone總線接口模塊。各模塊的設計如下。

  2.1 Wishbone總線接口模塊設計

  Wishbone總線接口模塊將UART IP核與微機系統相連。該模塊提供Wishbone MaSTer和Wishbone Slave接口。

  Wishbone總線接口模塊的主要功能如下:

  (1)提供UART IP核與其他設備的接口,如存儲器或者主機的接口。

  (2)包含緩沖描述符(儲存于內部RAM)。

  (3)包含信號在主機時鐘、發送時鐘和接收時鐘之間的同步邏輯。

  (4)發送功能。讀取發送緩沖描述符,讀取數據到發送FIFO并開始發送,其后將發送狀態寫到發送緩沖描述符。

  (5)接收功能。讀取接收緩沖描述符,將獲得的字節寫入接收FIFO,其后通過Wishbone Muter接口與微機系統進行通信。最后,將接收狀態寫到接收緩沖描述符。

  當處理器需要串行發送數據時,先將數據以包的形式存儲于主存儲器中,然后將存儲的所有包的起始地址、目的地址、長度以及發送控制信息寫入發送描述符中。

  Wishbone接口模塊讀取到一個非空的發送描述符后即發送數據,發送的數據要通過Wishbone接口邏輯訪問位于總線上的主存儲器,讀取到的數據首先放到發送FIFO中,其后再通過發送控制和同步邏輯與數據發送模塊進行握手,將數據從TX_O端口串行發送出去。

  當接收數據時,數據由RX_I端口串行地移入接收FIFO中,每收滿8位數據就移入接收保持寄存器,然后通過Wishbone總線并行傳輸給處理器核。

  2.2 數據接收模塊設計

  由于外部信號是通過異步串行的形式傳輸,因此當接收端口檢測到一個由高到低的數據就被視為一個幀的起始位。為了避免接收信號的噪聲而產生的不正確的數據,檢測到的起始位時鐘至少要低于50%的波特率時鐘。接收模塊一旦接收到有效的起始位,就將通過RS232標準的波特率對數據位和校驗位進行采樣。

  設計采用接收狀態機控制整個模塊的接收過程。接收狀態機可分為5個狀態,即IDLE、RX_START、RX_DATA、CHECK、RX_STOP,它們之間的狀態轉移,如圖3所示。

數據接收模塊FSM圖

圖3 數據接收模塊FSM圖

  IDLE狀態:當產生復位信號或運行至停止狀態之后,接收狀態機將復位到這種狀態。處于IDLE狀態時,它等待外部傳來的信號從高向低轉變,此時視為產生了一個有效的起始位。一旦有效起始位被檢測到,有限狀態機就會切換到下個狀態。

  RX_DATA狀態:當狀態機跳轉到此狀態時,采樣每得到一位數據,就把接收到數據放到準備好的接收移位寄存器中。在設計中需要一個接收計數器來進行計數。當計數器提示數據接收已完成,則狀態機會轉入下個狀態。

  CHECK狀態:當處于CHECK狀態時,通過對實際接收到的數據進行判斷得出實際數據的奇偶性,然后再與發送過來的數據的奇偶校驗位進行奇偶校驗。

  如果符合,那么表示接收數據有效,可以傳入處理器;如不符,則不傳,直接丟棄數據。

  RX_STOP狀態:無論停止位長度設定為1位或者是2位,有限狀態機總是等待1位樣本的采樣時間,然后抽樣停止位。只要一個邏輯采樣停止位被檢測到,數據接收模塊就不會去檢查是否停止位的配置出現錯誤。此時,有限狀態機將返回IDLE狀態。

  2.3 數據發送模塊設計

  發送模塊將從處理器接收到的數據,加上起始位,奇偶檢驗位和停止位組成規定的格式后串行輸出。首先,利用緩存器FIFO存放需要發送的數據,這樣處理器可以一次往FIFO中寫入多個字節的數據。發送數據時依次從FIFO中每次取出1Byte進行串行輸出。

  設計采用發送狀態機來控制整個模塊的發送過程。發送狀態機由以下5個狀態組成:IDLE、TX_START、TX_DATA、CHECK、TX_STOP,它們的轉移關系如圖4所示。

數據發送模塊FSM圖

圖4 數據發送模塊FSM圖

  IDLE狀態:在沒有接收到將要發送的數據時,發送模塊一直處于該狀態,此刻一直保持發送模塊的數據位為高,當得到主機發出的工作信號時,發生狀態跳轉,進入下個狀態。

  TX_START狀態:發送模塊會先發送一個數據“0”,作為起始位。起始位傳送完畢后,轉入下個狀態。

  TX_DATA狀態:發送完起始位后,接著發送由主機傳來的有效數據。首先把數據存入模塊內的移位寄存器中,利用移位寄存器實現并行輸入到串行輸出的轉換。同時計數器開始計數,在發送完8位數據后,計數器清零,FSM隨即跳入下個狀態。

  CHECK狀態:當狀態機處于這個狀態,最后1位數據仍然在傳輸。傳輸完成時,狀態機將判斷校驗位。如果校驗位無誤,則進入下個狀態。

  TX_STOP狀態:在此狀態下,根據發送模塊的采樣結果,將設置相關中斷和狀態位。發送完畢后,狀態機返回IDLE狀態。

  3 UART IP核的驗證方法

  對UART IP核的驗證主要是在Modelsim軟件構建的虛擬平臺中進行的,通過編寫Testbench(測試代碼)作為激勵信號,將得到的值與期望值進行比較,從而判斷功能是否正確。驗證系統框圖,如圖5所示。

驗證系統框圖

圖5 驗證系統框圖

  本次驗證施加的測試激勵包括兩個部分,一部分是模擬發送數據的過程,如總線對于模塊內部寄存器的讀信號,UART串口輸出信號和設備的硬件接口信號等,驗證模塊的正常功能是否實現;另一部分是模擬接收數據的過程,如外部設備對UART發送的數據接收過程,以及UART  將數據轉換發送給微機系統。仿真波形圖,如圖6所示。

仿真波形圖

圖6 仿真波形圖

  仿真波形圖模擬的是UART在全雙工的模式下同時接收一個完整的數據(51,16進制)和發送一個完整的數據(11,16進制)的過程。以接收過程為例:UART首先輸出發送UART_INT中斷信號,通知處理器準備接收數據,處理器響應中斷。UART通過采樣脈沖(Baud)將信號寫入RX_UDR接收寄存器中,同時接收計數器計數,計數到8時自動清零,中斷信號自動清除,隨后將接收到的8位數據通過總線模塊傳入處理器中。發送過程為接收的逆過程。

  4 結束語

  IP核重用技術以及接口標準化問題是IC設計領域中的研究熱點,其應用領域正在不斷拓展。本文介紹的基于Wishbone總線的UART IP核的設計方法,通過驗證表明了各項功能達到預期要求,為IP核接口的標準化設計提供了依據。此外,該IP核代碼全部采用模塊化的Verilog-HDL語言編寫,便于以后不斷完善,具有較強的實際效益。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久伊人欧美| 国产精品高潮呻吟| 午夜精品短视频| 一区二区三区福利| 亚洲精品一区二区三区av| 欧美在线free| 欧美一区二区国产| 亚洲欧美一区二区原创| 亚洲综合清纯丝袜自拍| 在线亚洲一区观看| 一本色道久久综合狠狠躁的推荐| 亚洲人成在线免费观看| 亚洲国产精品一区二区www| …久久精品99久久香蕉国产 | 欧美日韩视频在线| 欧美日韩午夜在线| 欧美四级剧情无删版影片| 欧美调教vk| 国产女主播一区二区三区| 国产亚洲一区二区三区| 极品尤物av久久免费看| 亚洲第一综合天堂另类专| 亚洲激情亚洲| 一区二区激情小说| 亚洲欧美国产77777| 欧美一区在线视频| 亚洲国产美女精品久久久久∴| 亚洲国产欧洲综合997久久| 亚洲欧洲另类| 亚洲少妇最新在线视频| 亚洲欧美偷拍卡通变态| 久久激情久久| 麻豆精品在线播放| 欧美日韩精品一区二区在线播放| 国产精品二区在线| 国产亚洲欧洲一区高清在线观看| 在线成人激情黄色| 99re6这里只有精品| 亚洲免费视频中文字幕| 久久精品久久综合| 99热在线精品观看| 亚洲欧美日韩国产中文 | 欧美www在线| 欧美午夜a级限制福利片| 国产欧美日韩中文字幕在线| 韩日欧美一区| 亚洲精品一区在线| 亚洲欧美日韩成人| 最新成人在线| 亚洲欧美成人| 欧美77777| 国产精品美女久久久久aⅴ国产馆| 国产午夜精品理论片a级探花| 亚洲电影视频在线| 亚洲午夜免费视频| 亚洲日本欧美日韩高观看| 亚洲一区二区三区中文字幕在线| 久久激情网站| 欧美日韩成人激情| 国产日韩在线视频| 午夜精品电影| 国产婷婷成人久久av免费高清 | 在线成人国产| 亚洲性xxxx| 亚洲精品国产品国语在线app| 中文精品视频| 久久亚洲二区| 国产精品九九久久久久久久| 在线精品视频免费观看| 一本色道久久综合亚洲精品小说| 欧美一区二区在线播放| 一区二区三区四区精品| 久久青草欧美一区二区三区| 欧美日韩中文字幕日韩欧美| 国产一区二区| 一本色道久久综合亚洲精品高清 | 亚洲国产视频a| 羞羞色国产精品| 欧美另类一区二区三区| 国产亚洲精品美女| 一道本一区二区| 亚洲国产欧美一区二区三区同亚洲| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久中文字幕导航| 国产精品自拍在线| 亚洲人午夜精品免费| 欧美在线观看视频一区二区| 亚洲欧美第一页| 欧美日韩国产免费观看| 在线播放不卡| 欧美一区二区三区免费看| 亚洲一区精彩视频| 欧美区二区三区| 在线观看日韩专区| 欧美影院视频| 欧美亚洲视频在线观看| 欧美视频在线一区| 亚洲人成人99网站| 亚洲国产日韩美| 久久五月婷婷丁香社区| 国产伦理精品不卡| 亚洲一区999| 亚洲淫性视频| 欧美日韩91| 亚洲欧洲一区二区三区在线观看| 久久精品午夜| 久久久999精品免费| 国产欧美午夜| 午夜精品久久久久久久99黑人| 亚洲午夜一区| 欧美日韩一区在线播放| 亚洲精品自在久久| 日韩亚洲精品在线| 欧美激情欧美狂野欧美精品| 亚洲福利视频网| 亚洲高清视频在线| 久久婷婷久久| 尤物在线精品| 亚洲精品综合在线| 欧美激情视频一区二区三区在线播放| 激情婷婷欧美| 91久久亚洲| 欧美国产日本| 亚洲精品一线二线三线无人区| 亚洲精品午夜精品| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲电影免费在线观看| 亚洲欧洲一级| 欧美激情一区二区| 亚洲免费大片| 亚洲制服少妇| 国产精品视频自拍| 欧美一区二区三区播放老司机| 欧美在线一二三| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美精品一区二区精品网| 亚洲精品国偷自产在线99热| 9i看片成人免费高清| 欧美精品色网| 在线视频一区观看| 欧美伊人久久久久久久久影院 | 亚洲少妇最新在线视频| 国产精品入口66mio| 午夜精品成人在线视频| 久久婷婷国产综合尤物精品| 亚洲电影av| 亚洲一区二区欧美| 国产美女搞久久| 欧美中文在线视频| 欧美成人中文字幕| 日韩午夜视频在线观看| 欧美亚洲在线观看| 黄色资源网久久资源365| 亚洲精品男同| 国产精品久久久爽爽爽麻豆色哟哟 | 午夜久久久久久久久久一区二区| 国产亚洲欧美日韩美女| 亚洲精品日韩综合观看成人91| 欧美精品一线| 亚洲永久在线| 欧美大片在线观看一区| 在线综合亚洲欧美在线视频| 久久精品视频在线| 亚洲日本理论电影| 性欧美精品高清| 亚洲国产精品久久久久久女王| 亚洲视频碰碰| 国产曰批免费观看久久久| 99国产精品国产精品久久| 国产精品九九| 亚洲激情成人在线| 国产精品久久久久aaaa樱花 | 免费观看成人网| 亚洲视频在线观看网站| 久久青青草综合| 一本大道久久a久久精二百| 久久久久久尹人网香蕉| 亚洲九九爱视频| 久久久成人精品| 一区二区三区不卡视频在线观看| 久久精品综合网| 一区二区三区欧美在线观看| 久久夜色精品| 亚洲一区二区在| 欧美乱妇高清无乱码| 久久国产精品久久久久久久久久 | 欧美福利一区| 午夜精品成人在线| 欧美日韩一区二区三区四区在线观看 | 9色精品在线| 欧美 日韩 国产 一区| 亚洲直播在线一区| 欧美日本在线播放| 亚洲国产电影| 国产毛片久久| 亚洲免费网址| 日韩视频免费大全中文字幕| 麻豆freexxxx性91精品| 亚洲一区日韩| 欧美视频一区二区三区在线观看|