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