當前位置:首頁 > EDA > 電子設計自動化
[導讀]本文介紹了UARTl6550在可編程邏輯器件FPGA上的實現(xiàn),并通過實際電路驗證了設計的功能,使用FP-GA不僅可以方便地用串口協(xié)議與PC機進行串行通信,而且擴展了板級系統(tǒng)的接口功能。

1 引 言

  UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器)是用于控制CPU與串行設備通信的芯片,將由CPU傳送過來的并行數(shù)據(jù)轉換為輸出的串行數(shù)據(jù)流。將系統(tǒng)外部來的串行數(shù)據(jù)轉換為字節(jié),供系統(tǒng)內部使用并行數(shù)據(jù)的器件使用。他可以在輸出的串行數(shù)據(jù)流中加人奇偶校驗位和啟停標記,并對從外部接收的數(shù)據(jù)流進行奇偶校驗以及刪除啟停標記。常見UART主要有INS8250,PC16450和PCI6550,其中16550發(fā)送和接收都帶有16 B的FIFO,為協(xié)調發(fā)送、接收端的速率匹配提供了更大的緩沖余地,同時也可以提高CPU的使用效率,從而提高系統(tǒng)的整體性能。

2 UART16550的基本結構

  如圖1所示,UART16550的基本結構由CPU接口模塊、波特率發(fā)生器、FIFO控制器、發(fā)送/接收FIFO和發(fā)送/接收模塊共7個部分組成。

基本結構

  CPU通過UART的CPU接口模塊配置整個UART,波特率發(fā)生器在CPU寫入初始值后產(chǎn)生需要的波特率,控制發(fā)送和接收模塊在設定的波特率下工作。CPU通過接口模塊向發(fā)送FIFO內寫入需

要發(fā)送的8位數(shù)據(jù),同時發(fā)送模塊開始讀取FIFO中的數(shù)據(jù),并加入起始位、奇偶校驗位和停止位后以串行發(fā)送的方式傳輸給串行接收設備。接收模塊時刻監(jiān)視串行輸入端口,發(fā)現(xiàn)有數(shù)據(jù)發(fā)送來的時候馬上啟動接收模塊開始接收數(shù)據(jù)并有效的判斷出奇偶校驗位來檢測數(shù)據(jù)的正確性,最后把剩下的8位數(shù)據(jù)放入接收FIFO,并通知CPU有數(shù)據(jù)進來進行接收。異步串行通信協(xié)議的數(shù)據(jù)傳輸格式如圖2所示。

  UART16550的發(fā)送數(shù)據(jù)位可以選擇為5~8位,同時可以選擇奇校驗、偶校驗或者不設置校驗位,停止位可以約定為1,1.5或2位。

3 UART16550的設計實現(xiàn)

3.1 CPU接口模塊

  CPU接口模塊完成了CPU指令的解讀與寄存器配置以及UART狀態(tài)讀取等功能。通過3位的地址線和8位的數(shù)據(jù)線,CPU可以對波特率發(fā)生器的波特率進行預先的設定,以使串口兩端的設備在同一波特率下完成接收和發(fā)送的工作。同時CPU接口接收來自CPU的需要發(fā)送的5∽8位數(shù)據(jù),送人發(fā)送模塊,或者把接收模塊接收到的數(shù)據(jù)通過接口送給CPU進行數(shù)據(jù)處理。在此接口模塊里,設置了8個控制和狀態(tài)寄存器,包括RBR(Receiver Buffer Register)接收緩沖寄存器、THR(Transmit Hold Register)發(fā)送保持寄存器、IER(Interrupt Enable Register)中斷使能寄存器、IIR(Interrupt ID Register)中斷寄存器、LCR(Line Control Register)線控制寄存器、LSR(Line Status Register)線狀態(tài)寄存器、SCR(Scratchpad Register)暫存寄存器和FCR(FIFO Control Register)。在使用UART16550前,CPU必須要對控制寄存器進行配置,包括波特率、數(shù)據(jù)位數(shù)、奇偶校驗、停止位位數(shù)及FIFO的控制等。這也是16550區(qū)別于一般UART的具有可編程的特點。

3.2波特率發(fā)生器

  波特率是單位時間內傳送的二進制數(shù)據(jù)的位數(shù),以位/秒(b/s)表示,也稱為數(shù)據(jù)位率。

  收/發(fā)時鐘頻率與波特率之間關系:

  收/發(fā)時鐘頻率=N×波特率

  N可以取8,16,32和64等,為了兼顧速度和穩(wěn)定性一般取為16。N在硬件設計時已經(jīng)設定好,軟件不能改變。波特率發(fā)生器由兩個8位的數(shù)據(jù)寄存器組合成16位的分頻寄存器,可以實現(xiàn)系統(tǒng)頻率的1~2(16)分頻,達到預定的波特率設置。

3.3 FIFO控制器和發(fā)送/接收FIFO

  帶有緩存是16550以及更高端UART的突出的特點。16550帶有8位寬、16字節(jié)深的異步FIFO。FIFO控制器從CPU接口讀入信息,配置發(fā)送/接收FIFO,并且在需要的時候使能FIFO,并且把FIFO的實時狀態(tài)通過CPU接口送給CPU以方便CPU讀取數(shù)據(jù)。在發(fā)送FIFO空和接收FIFO滿的時候,F(xiàn)IFO控制器立即產(chǎn)生中斷請求,通知CPU進行下一步的操作。另外,當配置DMA模式時,CPU可以進行大數(shù)據(jù)量的發(fā)送和讀取,減輕了CPU的負擔,可以提高整個系統(tǒng)的運行效率。

3.4發(fā)送模塊

  發(fā)送模塊的核心是one hot編碼的狀態(tài)機。他可以讀人來自FIFO的數(shù)據(jù),并根據(jù)配置寄存器里面的信息加入起始位、1,1.5或2位停止位和奇偶校驗位,然后把打包的數(shù)據(jù)通過移位寄存器把數(shù)據(jù)以標準的串口協(xié)議發(fā)送給串口接收設備。只要發(fā)送FIFO中有數(shù)據(jù)存在,發(fā)送模塊就會一直發(fā)送,直到FIFO空為止。在不選擇FIFO的情況下,發(fā)送模塊則直接接收來自THR(Transmit Hold Register)發(fā)送保持寄存器的數(shù)據(jù),不經(jīng)過緩存直接發(fā)送。

3.5接收模塊

  接收模塊是發(fā)送模塊功能的逆序執(zhí)行。他接收來自外部的串行數(shù)據(jù),根據(jù)配置去除數(shù)據(jù)的起始、停止位和奇偶校驗位,若出現(xiàn)數(shù)據(jù)差錯則立即產(chǎn)生錯誤信息。如果沒有錯誤,則將剩余的8位有用數(shù)據(jù)送入接收FIFO讓CPU讀取。同樣接收模塊也可以選擇不使用FIFO,這時接收模塊就會把8位數(shù)據(jù)直接送給RBR(Receive Buffer Register)接收緩沖寄存器,再由RBR送給CPU。

4結果的驗證仿真

  設計采用VHDL語言在FPGA Advantage平臺下編寫,并通過Modelsim編譯仿真,并且通過ISE下載到電路板上驗證,硬件驗證FPGA芯片采用Xilinx的Spartan3。XC400PQ208。由于驗證UART接收/發(fā)送時序必須要有處理器,所以采用在FPGA內部嵌入Xilinx的MicroBlaze軟核模擬CPU控制時序,通過FPGA外接的串口實現(xiàn)與計算機串口進行通信。用Modelsim進行時序仿真結果如圖3所示。

仿真結果

5 結 語

  本文介紹了UARTl6550在可編程邏輯器件FPGA上的實現(xiàn),并通過實際電路驗證了設計的功能,使用FP-GA不僅可以方便地用串口協(xié)議與PC機進行串行通信,而且擴展了板級系統(tǒng)的接口功能。應用在可編程器件FPGA內部,可以很大程度地減少電路板的使用面積,并提高系統(tǒng)的穩(wěn)定性和可編程性。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉