波特率連續(xù)可調(diào)的串口通信技術(shù)
2 任意波特率串口通信模塊
2.1 串口通信模塊的框架
PCI接口模塊向通信模塊傳送頻率控制字,發(fā)送的數(shù)據(jù),發(fā)送命令和接受命令。從通信模塊獲取中斷信號,接收的數(shù)據(jù)。頻率控制字fword經(jīng)過DDS模塊,產(chǎn)生COM模塊所需的發(fā)送時鐘頻率,COM模塊接收數(shù)據(jù)或發(fā)送數(shù)據(jù)受控于PCI接口模塊,實現(xiàn)與外部串口的數(shù)據(jù)溝通,總體框架如圖5所示。本文引用地址:http://butianyuan.cn/article/155189.htm
2.2 串口通信模塊
串口通信模塊COM要實現(xiàn)數(shù)據(jù)的接收和發(fā)送雙向工作,接收和發(fā)送均采用FIFO的方式,發(fā)送FIFO滿,即自動向外部端口發(fā)送數(shù)據(jù),接收FIFO半滿即自動將FIFO中的數(shù)據(jù)向上傳輸。采用FIFO結(jié)構(gòu),而不采用RAM,可以免去復(fù)雜的地址問題。
COM模塊的設(shè)計框架如圖6所示。包括:rcvFIFO實現(xiàn)從串口接收數(shù)據(jù)的和用于Rcv模塊。txmitFIFO實現(xiàn)向串口發(fā)送數(shù)據(jù)的和用于Tmit模塊。
從PCI接口傳送過來的數(shù)據(jù)是32位的,經(jīng)過txmitFIFO,32位數(shù)據(jù)分4次傳送到Txmit模塊。
2.3 設(shè)計方案的驗證
2.3.1 COM中各個模塊的功能驗證
要保證COM模塊可以實現(xiàn)數(shù)據(jù)的發(fā)送與接收,其中的各模塊必須實現(xiàn)各自的功能,再將各模塊連接起來。
例如其中Rcv模塊實現(xiàn)串口數(shù)據(jù)的接收,接收數(shù)據(jù)的頻率由DDS接口產(chǎn)生的時鐘信號fclk控制。接收的數(shù)據(jù)發(fā)送到revFIFO中。Rcv模塊接受數(shù)據(jù)的仿真波形如圖7所示,串口接收的數(shù)據(jù)是1,0,1,0,1,0,1,0,發(fā)出的數(shù)據(jù)是10101010。
2.3.2 COM模塊功能的驗證
各模塊的功能驗證通過后,再將各個模塊連接起來,完成COM模塊的設(shè)計,圖8所示為COM模塊發(fā)送端口的波形圖。頻率控制字是0x00119 400,DDS模塊產(chǎn)生發(fā)送時鐘fclk,Serial_port輸出即為輸出串口。
3 應(yīng)用前景
文中研究的波特率連續(xù)可調(diào)的串口通信模塊是基于PCI接口的,其在工業(yè)控制中有著廣泛應(yīng)用。實現(xiàn)頻率連續(xù)可調(diào)可以滿足很多特殊需求。PCI接口的設(shè)計和通信模塊的設(shè)計可以同時基于FPGA,實現(xiàn)設(shè)計的靈活性。設(shè)計方案中只實現(xiàn)了一收一發(fā)的功能,基于本設(shè)計可以擴展成多串口的波特率連續(xù)可調(diào)的通信卡。
評論