- 相關(guān)推薦
帶硬件地址識別的UART IP 的設(shè)計和實現(xiàn)
摘要:在通信和控制系統(tǒng)中,常使用異步串行通信控制器(UART)實現(xiàn)系統(tǒng)輔助信息的傳輸。為實現(xiàn)多點通信,通常用軟件識別發(fā)往本站點或其它站點的數(shù)據(jù),這會加大CPU的開銷。介紹了一種基于FPGA的UART IP,由硬件實現(xiàn)多點通信時的數(shù)據(jù)過濾功能,降低了CPU的負擔(dān),提高了系統(tǒng)性能。關(guān)鍵詞:UART 多點通信 FPGA 知識產(chǎn)權(quán)
在通信和控制系統(tǒng)中,常使用異步串行通信實現(xiàn)多塊單板之間的輔助通信,各個單板通過總線方式連接。為了實現(xiàn)點對點通信,需要由軟件定義一套較復(fù)雜的通信協(xié)議,過濾往來的數(shù)據(jù),消耗了CPU較多的時間。89C51單片機有一種九位通信方式,采用一位地址位來實現(xiàn)通信對象的選擇,只對發(fā)往本地址的地址發(fā)生中斷進而接收數(shù)據(jù)。通用的UART芯片如16C550和89C51等構(gòu)成總線式的通信系統(tǒng)時,需要由CPU通過軟件處理接收到的地址和產(chǎn)生九位的數(shù)據(jù)。本文介紹的UART采用Verilog HDL硬件描述語言設(shè)計,可以用FPGA實現(xiàn),可應(yīng)用于SoC設(shè)計中。其主要特性如下:
·全硬件地址識別,過濾數(shù)據(jù)不需要CPU的介入;支持一個特殊地址,可用于監(jiān)聽和廣播。
·支持查詢和中斷兩種工作方式,中斷可編程。
·接收和發(fā)送通路分別有128Byte FIFO,每個接收字節(jié)附帶狀態(tài)信息。
·設(shè)計采用Verilog HDL語言,全同步接口,可移植性好。
·支持自環(huán)測試功能。
·波特率可以編程,支持八位或者九位兩種數(shù)據(jù)格式。
設(shè)計的UART的九位串行數(shù)據(jù)格式如圖1所示。在空閑狀態(tài),數(shù)據(jù)線處于高電平狀態(tài)?偩由高到低跳變,寬度為一個波特率時間的負脈沖為開始位,然后是8bit的數(shù)據(jù)位。數(shù)據(jù)位后面是lbit的地址信息位。如果此位是1,表示發(fā)送的字節(jié)是地址信息;如果此位是0,傳輸?shù)氖钦?shù)據(jù)信息。地址指示位后是串行數(shù)據(jù)的停止位。
1 UART設(shè)計
UART采用模塊化、層次化的設(shè)計思想,全部設(shè)計都采用Verilog HDL實現(xiàn),其組成框圖如圖2所示。整個UART IP由串行數(shù)據(jù)發(fā)送模塊、串行數(shù)據(jù)接收模塊、接收地址識別模塊、接收和發(fā)送HIFO、總線接口邏輯、寄存器和控制邏輯構(gòu)成。串行發(fā)送模塊和接收完成并/串及串/并的轉(zhuǎn)換,接收地址的識別由接收地址識別模塊完成。發(fā)送和接收HIFO用于緩存發(fā)送和接收的數(shù)據(jù)?偩接口邏輯用于連接UART IP內(nèi)部總線和HOST接口。寄存器和控制邏輯實現(xiàn)UART IP內(nèi)部所有數(shù)據(jù)的收發(fā)、控制和狀態(tài)寄存器、內(nèi)部中斷的控制及波特率信號的產(chǎn)生。以下詳細說明主要部分的設(shè)計原理。
1.1 串行數(shù)據(jù)發(fā)送模塊
串行數(shù)據(jù)發(fā)送模塊將數(shù)據(jù)或
[1] [2] [3] [4]
【帶硬件地址識別的UART IP 的設(shè)計和實現(xiàn)】相關(guān)文章:
實現(xiàn)Domino服務(wù)器用戶IP地址日志記錄功能04-27
電腦ip地址怎么設(shè)置03-20
IP網(wǎng)絡(luò)存儲·什么是硬件參數(shù)04-26
基于FPGA的TSoverlP的設(shè)計和實現(xiàn)論文04-29
多業(yè)務(wù)IP城域網(wǎng)的技術(shù)選擇與實現(xiàn)04-30
白銀和地址作文04-30
基于SketchUp和ArcGIS對虛擬校園的設(shè)計與實現(xiàn)04-27
基于SVG的網(wǎng)絡(luò)地圖預(yù)覽模型的設(shè)計和實現(xiàn)05-03