基于CPLD的異步串行通訊控制器的研究與設(shè)計(jì)
采用Xilinx公司的ISE工具發(fā)送和對(duì)接收這兩個(gè)關(guān)鍵模塊分別進(jìn)行仿真,發(fā)送模塊的時(shí)序波形圖如圖5所示,接收數(shù)據(jù)模塊的時(shí)序波形圖如圖6所示。
在發(fā)送模塊的仿真測(cè)試程序中,讓CPU的數(shù)據(jù)總線連續(xù)發(fā)送55H,AAH,5AH,A5H,并在控制器的模式控制寄存器中設(shè)置發(fā)送的數(shù)據(jù)位5位,1個(gè)奇偶校驗(yàn)位(偶校驗(yàn)),1個(gè)停止位。在TxRDYn信號(hào)變低的時(shí)候,開始發(fā)送一幀新的數(shù)據(jù)。根據(jù)圖5中數(shù)據(jù)輸出信號(hào)Sout上信號(hào)變化的情況可以驗(yàn)證該模塊設(shè)計(jì)是正確的。
在接收模塊仿真波形圖中,Sin信號(hào)是負(fù)責(zé)接收串行數(shù)據(jù)的信號(hào)線,RBR是該控制器內(nèi)部的緩沖寄存器,負(fù)責(zé)存儲(chǔ)經(jīng)過串并轉(zhuǎn)換后的數(shù)據(jù),RxRDYn是控制器的外部信號(hào),用來告訴CPU,控制器已經(jīng)轉(zhuǎn)換完一幀數(shù)據(jù),CPU可以把數(shù)據(jù)從緩沖寄存器中取出。中斷信號(hào)INTR會(huì)在數(shù)據(jù)傳輸完后,產(chǎn)生一個(gè)正脈沖。在測(cè)試接收數(shù)據(jù)模塊的文件中,使產(chǎn)生一個(gè)連續(xù)的AAH和56H的串行數(shù)據(jù),在圖6中可以看到在Sin信號(hào)每接收完一個(gè)數(shù)據(jù)幀后,數(shù)據(jù)便存入RBR寄存器,RBR寄存器的數(shù)據(jù)位AAH和56H,并且在AAH傳完后,RxRDYn立即變?yōu)榈碗娖健?br />
5 結(jié)語
本文在對(duì)異步串行通信協(xié)議進(jìn)行分析的基礎(chǔ)上,根據(jù)實(shí)際工程的需要,對(duì)異步串行通信控制器進(jìn)行了詳細(xì)設(shè)計(jì),并結(jié)合CPLD器件,采用VHDL語言,對(duì)設(shè)計(jì)方案進(jìn)行了實(shí)現(xiàn)和驗(yàn)證,通過最后時(shí)序仿真的波形圖得出了設(shè)計(jì)方案的正確,而且加載了該設(shè)計(jì)程序的CPLD在實(shí)際工程中能夠很好地與處理器進(jìn)行連接來收發(fā)數(shù)據(jù),從而為那些沒有串行異步接口的處理器提供一個(gè)比較理想的設(shè)計(jì)方案。
評(píng)論