基于CPLD的異步串行通訊控制器的研究與設計
采用Xilinx公司的ISE工具發送和對接收這兩個關鍵模塊分別進行仿真,發送模塊的時序波形圖如圖5所示,接收數據模塊的時序波形圖如圖6所示。

在發送模塊的仿真測試程序中,讓CPU的數據總線連續發送55H,AAH,5AH,A5H,并在控制器的模式控制寄存器中設置發送的數據位5位,1個奇偶校驗位(偶校驗),1個停止位。在TxRDYn信號變低的時候,開始發送一幀新的數據。根據圖5中數據輸出信號Sout上信號變化的情況可以驗證該模塊設計是正確的。
在接收模塊仿真波形圖中,Sin信號是負責接收串行數據的信號線,RBR是該控制器內部的緩沖寄存器,負責存儲經過串并轉換后的數據,RxRDYn是控制器的外部信號,用來告訴CPU,控制器已經轉換完一幀數據,CPU可以把數據從緩沖寄存器中取出。中斷信號INTR會在數據傳輸完后,產生一個正脈沖。在測試接收數據模塊的文件中,使產生一個連續的AAH和56H的串行數據,在圖6中可以看到在Sin信號每接收完一個數據幀后,數據便存入RBR寄存器,RBR寄存器的數據位AAH和56H,并且在AAH傳完后,RxRDYn立即變為低電平。
5 結語
本文在對異步串行通信協議進行分析的基礎上,根據實際工程的需要,對異步串行通信控制器進行了詳細設計,并結合CPLD器件,采用VHDL語言,對設計方案進行了實現和驗證,通過最后時序仿真的波形圖得出了設計方案的正確,而且加載了該設計程序的CPLD在實際工程中能夠很好地與處理器進行連接來收發數據,從而為那些沒有串行異步接口的處理器提供一個比較理想的設計方案。









評論