波特率連續(xù)可調(diào)的串口通信技術(shù)
摘要 在基于PCI接口波特率連續(xù)可調(diào)的串口通信技術(shù)中,串口通信模塊作為整個PCI接口功能的本地模塊,是實現(xiàn)PCI接口模塊與外部串口信息的溝通。文中介紹了波特率連續(xù)可調(diào)技術(shù)的實現(xiàn)原理和方法,并基于PCI接口和FPGA技術(shù)完成通信模塊的實現(xiàn)與測試驗證。其具有設(shè)計的靈活性和應(yīng)用的廣泛性。
關(guān)鍵詞 PCI接口;串口通信;波特率連續(xù)可調(diào);DDS;FPGA
基于PCI總線的串口通信技術(shù),在工業(yè)領(lǐng)域中有著重要的應(yīng)用。而目前市場上基于PCI總線的串口通信卡,雖然可以實現(xiàn)多串口收發(fā)且波特率可調(diào),但可調(diào)的波特率只是幾個點,不能實現(xiàn)連續(xù)可調(diào)。但在一些軍事通信中,經(jīng)常會需要波特率連續(xù)可調(diào),以滿足軍事通信中對波特率的特殊要求。文中基于這個要求,采用硬件描述語言,實現(xiàn)這一功能要求在FPGA上的研究、開發(fā)、測試與驗證。
1 波特率連續(xù)可調(diào)的串口通信
1.1 串口通信中的波特率技術(shù)
在數(shù)據(jù)通信中,波特率等于每秒鐘傳輸?shù)臄?shù)據(jù)位數(shù)。在串行通訊中,收發(fā)雙方基于同一波特率實現(xiàn)數(shù)據(jù)的發(fā)送與接收。波特率即為發(fā)送或接收信號的頻率。
1.2 波特率連續(xù)可調(diào)的DDS方法
1.2.1 設(shè)計要求
例如RS232標(biāo)準(zhǔn)中串行通信波特率的一般要求范圍是300~115 200 bit·s-1。而傳統(tǒng)的串行通信卡支持波特率可調(diào)只是在某幾點可調(diào)。文中研究的目標(biāo)是波特率連續(xù)可調(diào),例如要求波特率在300~115 200 bit·s-1之間可以實現(xiàn)步進(jìn)為1 bit·s-1甚至0.1 bit·s-1的調(diào)節(jié)。
改變波特率即改變信號發(fā)送或信號接收時鐘的頻率,可以采用對基準(zhǔn)時鐘進(jìn)行數(shù)據(jù)分頻的方法,但達(dá)不到調(diào)節(jié)的連續(xù)性。文中采用改進(jìn)的DDS方法,實現(xiàn)對發(fā)送時鐘fclk步進(jìn)為1 bit·s-1的調(diào)節(jié)。
1.2.2 DDS原理介紹
直接數(shù)字頻率合成DDS(Direct Digital Synthesis)是種把一系列數(shù)字信號通過D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬信號的合成技術(shù)。傳統(tǒng)DDS的核心結(jié)構(gòu)如圖1所示。
輸出頻率可由式(1)確定。
其中,fclk是時鐘頻率;FCW是頻率控制字;L為相位累加字的字長。
1.2.3 產(chǎn)生頻率連續(xù)可調(diào)的時鐘信號
在傳統(tǒng)的DDS技術(shù)中,頻率最小步進(jìn)值的尾數(shù)不是零,給后續(xù)的頻率合成造成不便,所以采用改進(jìn)的DDS技術(shù),循環(huán)相位累加器設(shè)定一個可調(diào)的最大值作為溢出值,最大值溢出后,以余值而不是以零作為下一次累加的起始值。結(jié)構(gòu)框圖如圖2所示。
改進(jìn)后的DDS輸出頻率可由式(3)確定
最小頻率精度可由式(4)確定
評論