基于SOPC的異步串行通信IP核設(shè)計(jì)
3 UART IP核設(shè)計(jì)
3.1 PLB Slave Single模塊介紹
如上,UABT IP核作為PLB總線的從設(shè)備,必須提供PLB總線接口。但由于PLB總線協(xié)議復(fù)雜,實(shí)現(xiàn)其接口難度較大,Xilinx公司為了使用戶編寫的邏輯能夠方便的連結(jié)到PLB總線上,提供了一種PLB總線與用戶邏輯之間的接口模塊(IPIF,IP Interface),利用它簡化了PLB總線接口信號、總線協(xié)議和其他接口相關(guān)問題。IPIF接口邏輯中最簡單的模塊稱為PLB Slave Single模塊,它提供了一種輕量級的PLB總線接口,為PLB總線主設(shè)備提供了解析從設(shè)備地址空間,讀寫從設(shè)備寄存器/存儲空間等基本服務(wù)。本文設(shè)計(jì)的UARTIP核與MicroBlaze處理器之間僅通過寄存器的讀寫進(jìn)行交互,PLB Slave Single模塊很好的滿足了該設(shè)計(jì)要求,因此采用PLB Slave Single模塊與UART邏輯共同構(gòu)成了UART IP核。PLB Slave Single模塊與UART邏輯之間的連接關(guān)系如圖3所示,接口信號說明如表1所示。
在系統(tǒng)中,UART IP核的內(nèi)部寄存器組映射為處理器的某段地址空間,MicroBlaze處理器通過對該段地址的讀寫實(shí)現(xiàn)對UART IP核的訪問。當(dāng)MicroBlaze處理器訪問UART IP核的某個寄存器時(shí),PLB總線會產(chǎn)生相應(yīng)的地址信號和讀寫信號,該信號被UART IP核中的PLB Slave Single模塊解析并生成相應(yīng)的IPIF信號,UART IP核中的UABT邏輯響應(yīng)該IPIF信號,完成寄存器的讀寫。
3.2 UART IP核寄存器組設(shè)計(jì)
文中設(shè)計(jì)的UART IP核提供了5個寄存器,如表2所示。其中發(fā)送寄存器和讀接收寄存器完成UART數(shù)據(jù)的發(fā)送和接收。狀態(tài)寄存器提供了UART IP核內(nèi)部狀態(tài),包括接收數(shù)據(jù)有效,發(fā)送FIFO滿,接收FIFO滿,奇偶校驗(yàn)錯等狀態(tài)??刂萍拇嫫魈峁┝薝ART IP核復(fù)位功能。配置寄存器提供了波特率設(shè)置,奇偶校驗(yàn)位設(shè)置等功能。
評論