国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

波特率連續(xù)可調(diào)的串口通信技術(shù)

2011-05-08 02:09:56曹賽男
電子科技 2011年12期
關(guān)鍵詞:累加器波特率串口

曹賽男,劉 方

(南京航空航天大學(xué)電子信息工程學(xué)院,江蘇南京 2 10016)

基于PCI總線[1]的串口通信技術(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)[2]如圖1所示。

圖1 傳統(tǒng)DDS的核心結(jié)構(gòu)圖

輸出頻率可由式(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ù)[3],循環(huán)相位累加器設(shè)定一個(gè)可調(diào)的最大值作為溢出值,最大值溢出后,以余值而不是以零作為下一次累加的起始值。結(jié)構(gòu)框圖如圖2所示。

圖2 改進(jìn)之后的DDS結(jié)構(gòu)圖

改進(jìn)后的DDS輸出頻率可由式(3)確定

最小頻率精度可由式(4)確定

其中,Mode為循環(huán)相位累加器的最大值,即模值,可以預(yù)先設(shè)定。N為一個(gè)周期所包含的采樣點(diǎn)數(shù)。Mode,N的取值要綜合考慮fclk和FCW的值,以獲得一個(gè)隨FCW線性變化的fclk,即實(shí)現(xiàn)了fclk隨FCW變化而變化的連續(xù)可調(diào)。

1.2.4 采用的DDS技術(shù)

針對(duì)RS232標(biāo)準(zhǔn)中串行通信中波特率的一般要求范圍300~115 200 bit·s-1,采用改進(jìn)的DDS技術(shù),基于FPGA,設(shè)計(jì)如圖3所示的DDS模塊。

圖3 采用改進(jìn)的DDS技術(shù)設(shè)計(jì)時(shí)鐘信號(hào)發(fā)生器

其中的循環(huán)相位累加器模塊DDS_adder模塊,相位寄存器模塊DDS_addr_gen是基于硬件描述語言設(shè)計(jì)的模塊,ROM模塊DDS_ROM是基于FPGA的宏模塊[4]。

在本設(shè)計(jì)中實(shí)現(xiàn)發(fā)送時(shí)鐘fclk在300~115 200 bit·s-1范圍內(nèi)步進(jìn)為0.1 bit·s-1的調(diào)節(jié)。其中,Mode取7 812 500,N取4,fclk為外部晶振提供的頻率為50 MHz時(shí)鐘。

因此,有ΔF=1.6 FCW。其中,F(xiàn)CW為應(yīng)用程序所傳送的實(shí)際控制頻率的10倍,根據(jù)UART協(xié)議,發(fā)送時(shí)鐘的頻率至少是串口通信波特率的16倍。所以,以上的參數(shù)設(shè)置即實(shí)現(xiàn)了步進(jìn)為0.1 bit·s-1的連續(xù)可調(diào)的波特率設(shè)置。

1.2.5 連續(xù)可調(diào)信號(hào)的驗(yàn)證

文中DDS技術(shù)是基于FPGA實(shí)現(xiàn)的。根據(jù)不同的頻率控制字fword輸入,經(jīng)過幾個(gè)過渡時(shí)鐘后,DDS模塊即可以穩(wěn)定產(chǎn)生隨頻率變化的時(shí)鐘信號(hào)fclk。

在圖4的仿真中,所仿真的頻率點(diǎn)是115200Hz,9600Hz,1200Hz。對(duì)應(yīng)的fword為0x00119400,0x00017700,0x00002EE0。

圖4 時(shí)鐘信號(hào)發(fā)生器所產(chǎn)生的時(shí)鐘信號(hào)圖

2 任意波特率串口通信模塊

2.1 串口通信模塊的框架

PCI接口模塊向通信模塊傳送頻率控制字,發(fā)送的數(shù)據(jù),發(fā)送命令和接受命令。從通信模塊獲取中斷信號(hào),接收的數(shù)據(jù)。頻率控制字fword經(jīng)過DDS模塊,產(chǎn)生COM模塊所需的發(fā)送時(shí)鐘頻率,COM模塊接收數(shù)據(jù)或發(fā)送數(shù)據(jù)受控于PCI接口模塊[5],實(shí)現(xiàn)與外部串口的數(shù)據(jù)溝通,總體框架如圖5所示。

圖5 整體設(shè)計(jì)框架圖

2.2 串口通信模塊

串口通信模塊COM要實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送雙向工作,接收和發(fā)送均采用FIFO的方式[4],發(fā)送FIFO滿,即自動(dòng)向外部端口發(fā)送數(shù)據(jù),接收FIFO半滿即自動(dòng)將FIFO中的數(shù)據(jù)向上傳輸。采用FIFO結(jié)構(gòu),而不采用RAM,可以免去復(fù)雜的地址問題。

COM模塊的設(shè)計(jì)框架如圖6所示。包括:rcvFIFO實(shí)現(xiàn)從串口接收數(shù)據(jù)的和用于Rcv模塊。txmitFIFO實(shí)現(xiàn)向串口發(fā)送數(shù)據(jù)的和用于Txmit模塊。

圖6 COM模塊的設(shè)計(jì)框架圖

從PCI接口傳送過來的數(shù)據(jù)是32位的,經(jīng)過txmitFIFO,32位數(shù)據(jù)分4次傳送到Txmit模塊。

2.3 設(shè)計(jì)方案的驗(yàn)證

2.3.1 COM中各個(gè)模塊的功能驗(yàn)證

要保證COM模塊可以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收,其中的各模塊必須實(shí)現(xiàn)各自的功能,再將各模塊連接起來。

例如其中Rcv模塊實(shí)現(xiàn)串口數(shù)據(jù)的接收,接收數(shù)據(jù)的頻率由DDS接口產(chǎn)生的時(shí)鐘信號(hào)fclk控制。接收的數(shù)據(jù)發(fā)送到rcvFIFO中。Rcv模塊接受數(shù)據(jù)的仿真波形如圖7所示,串口接收的數(shù)據(jù)是1,0,1,0,1,0,1,0,發(fā)出的數(shù)據(jù)是10101010。

圖7 Rcv模塊的仿真圖

2.3.2 COM模塊功能的驗(yàn)證

各模塊的功能驗(yàn)證通過后,再將各個(gè)模塊連接起來,完成COM模塊的設(shè)計(jì),圖8所示為COM模塊發(fā)送端口的波形圖。頻率控制字是0x00119400,DDS模塊產(chǎn)生發(fā)送時(shí)鐘fclk,Serial_port輸出即為輸出串口。

圖8 COM模塊發(fā)送端口仿真圖

3 應(yīng)用前景

文中研究的波特率連續(xù)可調(diào)的串口通信模塊是基于PCI接口的,其在工業(yè)控制中有著廣泛應(yīng)用。實(shí)現(xiàn)頻率連續(xù)可調(diào)可以滿足很多特殊需求。PCI接口的設(shè)計(jì)和通信模塊的設(shè)計(jì)可以同時(shí)基于FPGA,實(shí)現(xiàn)設(shè)計(jì)的靈活性。設(shè)計(jì)方案中只實(shí)現(xiàn)了一收一發(fā)的功能,基于本設(shè)計(jì)可以擴(kuò)展成多串口的波特率連續(xù)可調(diào)的通信卡。

[1]PCI Special Interest Group.PCI local bus specification(v2.2)[EB/OL].(2003-08-07)[2011-03-15]http://www.pcisig.com.

[2]李春劍,吉望西,劉達(dá)倫.基于VerilogHDL的DDS設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù),2008,33(20):51-53.

[3]李曉芳,常春波,高文華.基于FPGA的DDS算法的優(yōu)化[J].儀器儀表學(xué)報(bào),2006,27(6):896-898.

[4]Altera Corp.Megafunction overview user guide[EB/OL].(2003-08-07)[2011-03-15]http://www.altera.com/literature/lit-ip.jsp.

[5]李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.

猜你喜歡
累加器波特率串口
密碼累加器研究進(jìn)展及應(yīng)用
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
智能制造(2020年5期)2020-07-03 06:24:00
基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
Fpga的信號(hào)發(fā)生器設(shè)計(jì)原理
基于霍夫變換的工位點(diǎn)識(shí)別算法設(shè)計(jì)與實(shí)現(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
用于時(shí)間延遲積分型圖像傳感器的流水采樣列級(jí)運(yùn)放共享累加器*
基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
蒙城县| 营山县| 萨迦县| 渝中区| 姜堰市| 年辖:市辖区| 宜兰市| 辉县市| 油尖旺区| 禹城市| 甘泉县| 偃师市| 商水县| 耒阳市| 张掖市| 金湖县| 仙游县| 怀宁县| 太仓市| 霍林郭勒市| 大安市| 印江| 仁寿县| 含山县| 新竹县| 上饶市| 威宁| 浏阳市| 玛曲县| 霸州市| 上饶县| 若尔盖县| 康平县| 华蓥市| 吉木萨尔县| 分宜县| 南召县| 景德镇市| 康平县| 石家庄市| 万全县|