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