孫志雄+謝海霞
摘要: 在數(shù)字通信系統(tǒng)的數(shù)據(jù)傳輸中,多數(shù)通信數(shù)據(jù)為串行方式,而大多數(shù)處理器要求數(shù)據(jù)以并行方式存儲(chǔ)和處理,所以經(jīng)常需要將串行傳輸?shù)臄?shù)據(jù)變換成并行傳輸,或者將并行傳輸?shù)臄?shù)據(jù)變換成串行傳輸,這時(shí)就需要串并/并串轉(zhuǎn)換器。在此介紹了串并/并串轉(zhuǎn)換器基本原理,并通過Quartus Ⅱ仿真平臺(tái)進(jìn)行仿真驗(yàn)證,最后下載到FPGA芯片EP1K30QC208?2實(shí)現(xiàn)了串并/并串轉(zhuǎn)換器的設(shè)計(jì),仿真及實(shí)驗(yàn)結(jié)果表明采用此設(shè)計(jì)方案是可行的。
關(guān)鍵詞: 串并轉(zhuǎn)換; 并串轉(zhuǎn)換; VHDL; FPGA
中圖分類號(hào): TN919?34; TP391文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 1004?373X(2014)08?0151?02
Design of high?speed serial parallel / parallel serial converter based on FPGA
SUN Zhi?xiong, XIE Hai?xia
( College of Electronics and Information Engineering , Qiongzhou University, Sanya 572022, China)
ABSTRACT:In data transmission of digital communications, the majority of communication data is transmited in serial mode, but data storage and processing of most processors are required in parallel, so a serial to parallel or parallel to serial converter is needed to transform data serial transmission into parallel transmission, or transform data parallel transmission into serial transmission. The basic principles of serial parallel and parallel serial converters are introduced in this paper. The serial parallel and parallel serial converters was verified with VHDL language on Quartus II. The design of the serial parallel and parallel serial converter was implemented with The programming data files downloaded to FPGA chip EP1K30QC208?2. The simulation and experiment results indicate that this design scheme is feasible.
Keywords: serial parallel conversion; parallel serial conversion; VHDL; FPGA
隨著信息技術(shù)的高速發(fā)展與通信方式的多樣化,為了滿足數(shù)據(jù)通信的需要,出現(xiàn)了各種各樣的電子通信設(shè)備,這些電子通信設(shè)備中的數(shù)據(jù)傳輸有并行和串行傳輸。這樣在數(shù)據(jù)傳輸過程中,就需要將串行傳輸?shù)臄?shù)據(jù)變換成并行傳輸,或者將并行傳輸?shù)臄?shù)據(jù)變換成串行傳輸,這時(shí)就需要串并/并串轉(zhuǎn)換器。串并/并串轉(zhuǎn)換器實(shí)現(xiàn)串并轉(zhuǎn)換和并串轉(zhuǎn)換的功能。串并轉(zhuǎn)換是在時(shí)鐘驅(qū)動(dòng)下,將單比特的位數(shù)據(jù)流輸入寄存器,并依次逐位移動(dòng),直到寄存器滿了為止,然后直接讀取并行輸出。并串轉(zhuǎn)換是載入并行的數(shù)據(jù),在同步信號(hào)為有效電平時(shí),寄存器內(nèi)的數(shù)據(jù)被逐位移出。一般實(shí)現(xiàn)串并、并串轉(zhuǎn)換的功能可用數(shù)字電路的移位寄存器、數(shù)據(jù)選擇器等集成電路完成,但是其不利于擴(kuò)展。本文通過VHDL語(yǔ)言編程與原理圖設(shè)計(jì)相結(jié)合,通過現(xiàn)場(chǎng)可編程門陣列FPGA進(jìn)行實(shí)現(xiàn),對(duì)改變串并轉(zhuǎn)換的數(shù)據(jù)位寬、數(shù)據(jù)存儲(chǔ)與處理等都比較方便,也便于對(duì)電路進(jìn)行改進(jìn)與擴(kuò)展[1?6]。
1串并轉(zhuǎn)換電路設(shè)計(jì)及仿真
在串并轉(zhuǎn)換電路設(shè)計(jì)中,設(shè)輸入數(shù)據(jù)為8 b位寬,由輸入端輸入到串并轉(zhuǎn)換電路中,將其轉(zhuǎn)換為連續(xù)并行輸出且位寬為16 b的數(shù)據(jù)流,見圖1。其中的模塊均為基于VHDL語(yǔ)言設(shè)計(jì)的電路符號(hào),freqdiv為時(shí)鐘的分頻電路,對(duì)輸入時(shí)鐘clock進(jìn)行2分頻。lpm_ff0為8bit位寬的D觸發(fā)器,lpm_ff1為16 b位寬的D觸發(fā)器。圖2為串并轉(zhuǎn)換的仿真圖,其中clock為輸入時(shí)鐘信號(hào),在串并轉(zhuǎn)換電路中,由于輸出數(shù)據(jù)位寬16 b是輸入數(shù)據(jù)位寬8 b的2倍,因此數(shù)據(jù)的輸入時(shí)鐘頻率和輸出時(shí)鐘的頻率之比為2∶1,這就需要分頻器模塊freqdiv對(duì)輸入時(shí)鐘進(jìn)行2分頻。在輸入時(shí)鐘clock的上升沿對(duì)輸入數(shù)據(jù)data進(jìn)行操作,第一個(gè)lpm_ff0的輸出為qo[15..8],是輸入數(shù)據(jù)data[7..0]延時(shí)一個(gè)時(shí)鐘周期的輸出,第二個(gè)lpm_ff0的輸出為qo[7..0],是輸入數(shù)據(jù)data[7..0]延時(shí)兩個(gè)時(shí)鐘周期的輸出,這兩個(gè)D觸發(fā)器的輸出并置后,就組成了位寬為16bit的輸出數(shù)據(jù)qo[15..0]。模塊lpm_ff1為16bit位寬的D觸發(fā)器,它的工作時(shí)鐘是輸入時(shí)鐘clock的1/2,在時(shí)鐘的上升沿,對(duì)數(shù)據(jù)qo[15..0]進(jìn)行觸發(fā)輸出,得到串并轉(zhuǎn)換后的輸出數(shù)據(jù)q[15..0],從仿真圖(見圖2)可看出其實(shí)現(xiàn)了串并轉(zhuǎn)換的功能[7?8]。
圖1 串并轉(zhuǎn)換電路的結(jié)構(gòu)
圖2 串并轉(zhuǎn)換的仿真圖
2并串轉(zhuǎn)換電路設(shè)計(jì)及仿真
并串轉(zhuǎn)換電路是在輸入時(shí)鐘的作用下,將16 b位寬的輸入數(shù)據(jù)轉(zhuǎn)換為連續(xù)輸出的8bit位寬的串行數(shù)據(jù)輸出。其電路結(jié)構(gòu)見圖3,其中l(wèi)pm_mux0為二選一的數(shù)據(jù)選擇器,工作時(shí)鐘為clock,模塊lpm_counter為計(jì)數(shù)器,工作時(shí)鐘為輸入時(shí)鐘clock的兩倍。
圖3 并串轉(zhuǎn)換電路結(jié)構(gòu)圖
圖4為并串轉(zhuǎn)換電路的仿真圖,clock為輸入時(shí)鐘,data為位寬為16 b的輸入數(shù)據(jù),clk_en為計(jì)數(shù)器使能端,當(dāng)其為高電平時(shí)進(jìn)行并串轉(zhuǎn)換,q為并串轉(zhuǎn)換的輸出,從仿真圖可以看出其實(shí)現(xiàn)了并串轉(zhuǎn)換的功能。
3串并/并串轉(zhuǎn)換電路總體設(shè)計(jì)與仿真
將串并轉(zhuǎn)換電路和并串轉(zhuǎn)換電路兩個(gè)模塊連接起來(lái),就可以實(shí)現(xiàn)串并/并串轉(zhuǎn)換電路。在串并/并串轉(zhuǎn)換電路的整體設(shè)計(jì)中,首先是數(shù)據(jù)的輸入,對(duì)于不同的數(shù)據(jù)格式將進(jìn)行不同轉(zhuǎn)換。如果輸入的數(shù)據(jù)為串行數(shù)據(jù),將進(jìn)入串并轉(zhuǎn)換模塊,將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)輸出。如果輸入的數(shù)據(jù)為并行數(shù)據(jù),將進(jìn)入并串轉(zhuǎn)換模塊,將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)輸出。圖5為是串并轉(zhuǎn)換電路和并串轉(zhuǎn)換電路總體電路,其中stp為串并轉(zhuǎn)換電路模塊,pts為并串轉(zhuǎn)換電路模塊。
圖4 并串轉(zhuǎn)換的仿真圖
圖5 串并/并串轉(zhuǎn)換電路總體結(jié)構(gòu)圖
圖6為串并/并串轉(zhuǎn)換電路總體仿真圖,clock為輸入時(shí)鐘,data為位寬為8 b的輸入數(shù)據(jù),clk_en為計(jì)數(shù)器使能端,當(dāng)其為高電平時(shí)進(jìn)行并串轉(zhuǎn)換,po為串并轉(zhuǎn)換的輸出,q為串并轉(zhuǎn)換和并串轉(zhuǎn)換后的輸出,從仿真圖可以看出其實(shí)現(xiàn)了串并/并串轉(zhuǎn)換的功能。
圖6 串并/并串轉(zhuǎn)換電路總體仿真圖
4結(jié)語(yǔ)
串并轉(zhuǎn)換和并串轉(zhuǎn)換在很多電路系統(tǒng)中都有廣泛的應(yīng)用,而基于VHDL硬件描述語(yǔ)言設(shè)計(jì),F(xiàn)PGA可編程實(shí)現(xiàn)的方法,具有設(shè)計(jì)周期短、速度快、可靠性高、方便修改及易于大規(guī)模集成的優(yōu)點(diǎn)。
參考文獻(xiàn)
[1] 仲建鋒,胡慶生,孫遠(yuǎn).基于FPGA的多路高速串并轉(zhuǎn)換器設(shè)計(jì)[J].電子器件,2008(2):657?660.
[2] 焦鍵,鄭雪嬌.基于VHDL的16位串入串出移位寄存器設(shè)計(jì)[J].科技信息,2011(16):612.
[3] 景興紅,劉陳,王澤芳.基于VHDL的移位寄存器設(shè)計(jì)[J].科學(xué)咨詢(科技·管理),2011(9):78?80.
[4] 胡遠(yuǎn)望,廖冬初.基于VHDL的高速串行AD轉(zhuǎn)換器控制設(shè)計(jì)與實(shí)現(xiàn)[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(1):28?31.
[5] 伊鑫,黃利彬,吳克啟.基于PLD與VHDL的多路輸入多路輸出數(shù)據(jù)選擇器的設(shè)計(jì)[J].信息化研究,2010,36(9):43?45.
[6] 季曉松,李正生.一種基于CPLD的串行碼發(fā)生器設(shè)計(jì)[J].電子測(cè)量技術(shù),2010,33(9):70?72.
[7] 江國(guó)強(qiáng).EDA技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[8] 褚振勇,齊亮,田紅心,等.FPGA設(shè)計(jì)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2006.
摘要: 在數(shù)字通信系統(tǒng)的數(shù)據(jù)傳輸中,多數(shù)通信數(shù)據(jù)為串行方式,而大多數(shù)處理器要求數(shù)據(jù)以并行方式存儲(chǔ)和處理,所以經(jīng)常需要將串行傳輸?shù)臄?shù)據(jù)變換成并行傳輸,或者將并行傳輸?shù)臄?shù)據(jù)變換成串行傳輸,這時(shí)就需要串并/并串轉(zhuǎn)換器。在此介紹了串并/并串轉(zhuǎn)換器基本原理,并通過Quartus Ⅱ仿真平臺(tái)進(jìn)行仿真驗(yàn)證,最后下載到FPGA芯片EP1K30QC208?2實(shí)現(xiàn)了串并/并串轉(zhuǎn)換器的設(shè)計(jì),仿真及實(shí)驗(yàn)結(jié)果表明采用此設(shè)計(jì)方案是可行的。
關(guān)鍵詞: 串并轉(zhuǎn)換; 并串轉(zhuǎn)換; VHDL; FPGA
中圖分類號(hào): TN919?34; TP391文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 1004?373X(2014)08?0151?02
Design of high?speed serial parallel / parallel serial converter based on FPGA
SUN Zhi?xiong, XIE Hai?xia
( College of Electronics and Information Engineering , Qiongzhou University, Sanya 572022, China)
ABSTRACT:In data transmission of digital communications, the majority of communication data is transmited in serial mode, but data storage and processing of most processors are required in parallel, so a serial to parallel or parallel to serial converter is needed to transform data serial transmission into parallel transmission, or transform data parallel transmission into serial transmission. The basic principles of serial parallel and parallel serial converters are introduced in this paper. The serial parallel and parallel serial converters was verified with VHDL language on Quartus II. The design of the serial parallel and parallel serial converter was implemented with The programming data files downloaded to FPGA chip EP1K30QC208?2. The simulation and experiment results indicate that this design scheme is feasible.
Keywords: serial parallel conversion; parallel serial conversion; VHDL; FPGA
隨著信息技術(shù)的高速發(fā)展與通信方式的多樣化,為了滿足數(shù)據(jù)通信的需要,出現(xiàn)了各種各樣的電子通信設(shè)備,這些電子通信設(shè)備中的數(shù)據(jù)傳輸有并行和串行傳輸。這樣在數(shù)據(jù)傳輸過程中,就需要將串行傳輸?shù)臄?shù)據(jù)變換成并行傳輸,或者將并行傳輸?shù)臄?shù)據(jù)變換成串行傳輸,這時(shí)就需要串并/并串轉(zhuǎn)換器。串并/并串轉(zhuǎn)換器實(shí)現(xiàn)串并轉(zhuǎn)換和并串轉(zhuǎn)換的功能。串并轉(zhuǎn)換是在時(shí)鐘驅(qū)動(dòng)下,將單比特的位數(shù)據(jù)流輸入寄存器,并依次逐位移動(dòng),直到寄存器滿了為止,然后直接讀取并行輸出。并串轉(zhuǎn)換是載入并行的數(shù)據(jù),在同步信號(hào)為有效電平時(shí),寄存器內(nèi)的數(shù)據(jù)被逐位移出。一般實(shí)現(xiàn)串并、并串轉(zhuǎn)換的功能可用數(shù)字電路的移位寄存器、數(shù)據(jù)選擇器等集成電路完成,但是其不利于擴(kuò)展。本文通過VHDL語(yǔ)言編程與原理圖設(shè)計(jì)相結(jié)合,通過現(xiàn)場(chǎng)可編程門陣列FPGA進(jìn)行實(shí)現(xiàn),對(duì)改變串并轉(zhuǎn)換的數(shù)據(jù)位寬、數(shù)據(jù)存儲(chǔ)與處理等都比較方便,也便于對(duì)電路進(jìn)行改進(jìn)與擴(kuò)展[1?6]。
1串并轉(zhuǎn)換電路設(shè)計(jì)及仿真
在串并轉(zhuǎn)換電路設(shè)計(jì)中,設(shè)輸入數(shù)據(jù)為8 b位寬,由輸入端輸入到串并轉(zhuǎn)換電路中,將其轉(zhuǎn)換為連續(xù)并行輸出且位寬為16 b的數(shù)據(jù)流,見圖1。其中的模塊均為基于VHDL語(yǔ)言設(shè)計(jì)的電路符號(hào),freqdiv為時(shí)鐘的分頻電路,對(duì)輸入時(shí)鐘clock進(jìn)行2分頻。lpm_ff0為8bit位寬的D觸發(fā)器,lpm_ff1為16 b位寬的D觸發(fā)器。圖2為串并轉(zhuǎn)換的仿真圖,其中clock為輸入時(shí)鐘信號(hào),在串并轉(zhuǎn)換電路中,由于輸出數(shù)據(jù)位寬16 b是輸入數(shù)據(jù)位寬8 b的2倍,因此數(shù)據(jù)的輸入時(shí)鐘頻率和輸出時(shí)鐘的頻率之比為2∶1,這就需要分頻器模塊freqdiv對(duì)輸入時(shí)鐘進(jìn)行2分頻。在輸入時(shí)鐘clock的上升沿對(duì)輸入數(shù)據(jù)data進(jìn)行操作,第一個(gè)lpm_ff0的輸出為qo[15..8],是輸入數(shù)據(jù)data[7..0]延時(shí)一個(gè)時(shí)鐘周期的輸出,第二個(gè)lpm_ff0的輸出為qo[7..0],是輸入數(shù)據(jù)data[7..0]延時(shí)兩個(gè)時(shí)鐘周期的輸出,這兩個(gè)D觸發(fā)器的輸出并置后,就組成了位寬為16bit的輸出數(shù)據(jù)qo[15..0]。模塊lpm_ff1為16bit位寬的D觸發(fā)器,它的工作時(shí)鐘是輸入時(shí)鐘clock的1/2,在時(shí)鐘的上升沿,對(duì)數(shù)據(jù)qo[15..0]進(jìn)行觸發(fā)輸出,得到串并轉(zhuǎn)換后的輸出數(shù)據(jù)q[15..0],從仿真圖(見圖2)可看出其實(shí)現(xiàn)了串并轉(zhuǎn)換的功能[7?8]。
圖1 串并轉(zhuǎn)換電路的結(jié)構(gòu)
圖2 串并轉(zhuǎn)換的仿真圖
2并串轉(zhuǎn)換電路設(shè)計(jì)及仿真
并串轉(zhuǎn)換電路是在輸入時(shí)鐘的作用下,將16 b位寬的輸入數(shù)據(jù)轉(zhuǎn)換為連續(xù)輸出的8bit位寬的串行數(shù)據(jù)輸出。其電路結(jié)構(gòu)見圖3,其中l(wèi)pm_mux0為二選一的數(shù)據(jù)選擇器,工作時(shí)鐘為clock,模塊lpm_counter為計(jì)數(shù)器,工作時(shí)鐘為輸入時(shí)鐘clock的兩倍。
圖3 并串轉(zhuǎn)換電路結(jié)構(gòu)圖
圖4為并串轉(zhuǎn)換電路的仿真圖,clock為輸入時(shí)鐘,data為位寬為16 b的輸入數(shù)據(jù),clk_en為計(jì)數(shù)器使能端,當(dāng)其為高電平時(shí)進(jìn)行并串轉(zhuǎn)換,q為并串轉(zhuǎn)換的輸出,從仿真圖可以看出其實(shí)現(xiàn)了并串轉(zhuǎn)換的功能。
3串并/并串轉(zhuǎn)換電路總體設(shè)計(jì)與仿真
將串并轉(zhuǎn)換電路和并串轉(zhuǎn)換電路兩個(gè)模塊連接起來(lái),就可以實(shí)現(xiàn)串并/并串轉(zhuǎn)換電路。在串并/并串轉(zhuǎn)換電路的整體設(shè)計(jì)中,首先是數(shù)據(jù)的輸入,對(duì)于不同的數(shù)據(jù)格式將進(jìn)行不同轉(zhuǎn)換。如果輸入的數(shù)據(jù)為串行數(shù)據(jù),將進(jìn)入串并轉(zhuǎn)換模塊,將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)輸出。如果輸入的數(shù)據(jù)為并行數(shù)據(jù),將進(jìn)入并串轉(zhuǎn)換模塊,將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)輸出。圖5為是串并轉(zhuǎn)換電路和并串轉(zhuǎn)換電路總體電路,其中stp為串并轉(zhuǎn)換電路模塊,pts為并串轉(zhuǎn)換電路模塊。
圖4 并串轉(zhuǎn)換的仿真圖
圖5 串并/并串轉(zhuǎn)換電路總體結(jié)構(gòu)圖
圖6為串并/并串轉(zhuǎn)換電路總體仿真圖,clock為輸入時(shí)鐘,data為位寬為8 b的輸入數(shù)據(jù),clk_en為計(jì)數(shù)器使能端,當(dāng)其為高電平時(shí)進(jìn)行并串轉(zhuǎn)換,po為串并轉(zhuǎn)換的輸出,q為串并轉(zhuǎn)換和并串轉(zhuǎn)換后的輸出,從仿真圖可以看出其實(shí)現(xiàn)了串并/并串轉(zhuǎn)換的功能。
圖6 串并/并串轉(zhuǎn)換電路總體仿真圖
4結(jié)語(yǔ)
串并轉(zhuǎn)換和并串轉(zhuǎn)換在很多電路系統(tǒng)中都有廣泛的應(yīng)用,而基于VHDL硬件描述語(yǔ)言設(shè)計(jì),F(xiàn)PGA可編程實(shí)現(xiàn)的方法,具有設(shè)計(jì)周期短、速度快、可靠性高、方便修改及易于大規(guī)模集成的優(yōu)點(diǎn)。
參考文獻(xiàn)
[1] 仲建鋒,胡慶生,孫遠(yuǎn).基于FPGA的多路高速串并轉(zhuǎn)換器設(shè)計(jì)[J].電子器件,2008(2):657?660.
[2] 焦鍵,鄭雪嬌.基于VHDL的16位串入串出移位寄存器設(shè)計(jì)[J].科技信息,2011(16):612.
[3] 景興紅,劉陳,王澤芳.基于VHDL的移位寄存器設(shè)計(jì)[J].科學(xué)咨詢(科技·管理),2011(9):78?80.
[4] 胡遠(yuǎn)望,廖冬初.基于VHDL的高速串行AD轉(zhuǎn)換器控制設(shè)計(jì)與實(shí)現(xiàn)[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(1):28?31.
[5] 伊鑫,黃利彬,吳克啟.基于PLD與VHDL的多路輸入多路輸出數(shù)據(jù)選擇器的設(shè)計(jì)[J].信息化研究,2010,36(9):43?45.
[6] 季曉松,李正生.一種基于CPLD的串行碼發(fā)生器設(shè)計(jì)[J].電子測(cè)量技術(shù),2010,33(9):70?72.
[7] 江國(guó)強(qiáng).EDA技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[8] 褚振勇,齊亮,田紅心,等.FPGA設(shè)計(jì)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2006.
摘要: 在數(shù)字通信系統(tǒng)的數(shù)據(jù)傳輸中,多數(shù)通信數(shù)據(jù)為串行方式,而大多數(shù)處理器要求數(shù)據(jù)以并行方式存儲(chǔ)和處理,所以經(jīng)常需要將串行傳輸?shù)臄?shù)據(jù)變換成并行傳輸,或者將并行傳輸?shù)臄?shù)據(jù)變換成串行傳輸,這時(shí)就需要串并/并串轉(zhuǎn)換器。在此介紹了串并/并串轉(zhuǎn)換器基本原理,并通過Quartus Ⅱ仿真平臺(tái)進(jìn)行仿真驗(yàn)證,最后下載到FPGA芯片EP1K30QC208?2實(shí)現(xiàn)了串并/并串轉(zhuǎn)換器的設(shè)計(jì),仿真及實(shí)驗(yàn)結(jié)果表明采用此設(shè)計(jì)方案是可行的。
關(guān)鍵詞: 串并轉(zhuǎn)換; 并串轉(zhuǎn)換; VHDL; FPGA
中圖分類號(hào): TN919?34; TP391文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 1004?373X(2014)08?0151?02
Design of high?speed serial parallel / parallel serial converter based on FPGA
SUN Zhi?xiong, XIE Hai?xia
( College of Electronics and Information Engineering , Qiongzhou University, Sanya 572022, China)
ABSTRACT:In data transmission of digital communications, the majority of communication data is transmited in serial mode, but data storage and processing of most processors are required in parallel, so a serial to parallel or parallel to serial converter is needed to transform data serial transmission into parallel transmission, or transform data parallel transmission into serial transmission. The basic principles of serial parallel and parallel serial converters are introduced in this paper. The serial parallel and parallel serial converters was verified with VHDL language on Quartus II. The design of the serial parallel and parallel serial converter was implemented with The programming data files downloaded to FPGA chip EP1K30QC208?2. The simulation and experiment results indicate that this design scheme is feasible.
Keywords: serial parallel conversion; parallel serial conversion; VHDL; FPGA
隨著信息技術(shù)的高速發(fā)展與通信方式的多樣化,為了滿足數(shù)據(jù)通信的需要,出現(xiàn)了各種各樣的電子通信設(shè)備,這些電子通信設(shè)備中的數(shù)據(jù)傳輸有并行和串行傳輸。這樣在數(shù)據(jù)傳輸過程中,就需要將串行傳輸?shù)臄?shù)據(jù)變換成并行傳輸,或者將并行傳輸?shù)臄?shù)據(jù)變換成串行傳輸,這時(shí)就需要串并/并串轉(zhuǎn)換器。串并/并串轉(zhuǎn)換器實(shí)現(xiàn)串并轉(zhuǎn)換和并串轉(zhuǎn)換的功能。串并轉(zhuǎn)換是在時(shí)鐘驅(qū)動(dòng)下,將單比特的位數(shù)據(jù)流輸入寄存器,并依次逐位移動(dòng),直到寄存器滿了為止,然后直接讀取并行輸出。并串轉(zhuǎn)換是載入并行的數(shù)據(jù),在同步信號(hào)為有效電平時(shí),寄存器內(nèi)的數(shù)據(jù)被逐位移出。一般實(shí)現(xiàn)串并、并串轉(zhuǎn)換的功能可用數(shù)字電路的移位寄存器、數(shù)據(jù)選擇器等集成電路完成,但是其不利于擴(kuò)展。本文通過VHDL語(yǔ)言編程與原理圖設(shè)計(jì)相結(jié)合,通過現(xiàn)場(chǎng)可編程門陣列FPGA進(jìn)行實(shí)現(xiàn),對(duì)改變串并轉(zhuǎn)換的數(shù)據(jù)位寬、數(shù)據(jù)存儲(chǔ)與處理等都比較方便,也便于對(duì)電路進(jìn)行改進(jìn)與擴(kuò)展[1?6]。
1串并轉(zhuǎn)換電路設(shè)計(jì)及仿真
在串并轉(zhuǎn)換電路設(shè)計(jì)中,設(shè)輸入數(shù)據(jù)為8 b位寬,由輸入端輸入到串并轉(zhuǎn)換電路中,將其轉(zhuǎn)換為連續(xù)并行輸出且位寬為16 b的數(shù)據(jù)流,見圖1。其中的模塊均為基于VHDL語(yǔ)言設(shè)計(jì)的電路符號(hào),freqdiv為時(shí)鐘的分頻電路,對(duì)輸入時(shí)鐘clock進(jìn)行2分頻。lpm_ff0為8bit位寬的D觸發(fā)器,lpm_ff1為16 b位寬的D觸發(fā)器。圖2為串并轉(zhuǎn)換的仿真圖,其中clock為輸入時(shí)鐘信號(hào),在串并轉(zhuǎn)換電路中,由于輸出數(shù)據(jù)位寬16 b是輸入數(shù)據(jù)位寬8 b的2倍,因此數(shù)據(jù)的輸入時(shí)鐘頻率和輸出時(shí)鐘的頻率之比為2∶1,這就需要分頻器模塊freqdiv對(duì)輸入時(shí)鐘進(jìn)行2分頻。在輸入時(shí)鐘clock的上升沿對(duì)輸入數(shù)據(jù)data進(jìn)行操作,第一個(gè)lpm_ff0的輸出為qo[15..8],是輸入數(shù)據(jù)data[7..0]延時(shí)一個(gè)時(shí)鐘周期的輸出,第二個(gè)lpm_ff0的輸出為qo[7..0],是輸入數(shù)據(jù)data[7..0]延時(shí)兩個(gè)時(shí)鐘周期的輸出,這兩個(gè)D觸發(fā)器的輸出并置后,就組成了位寬為16bit的輸出數(shù)據(jù)qo[15..0]。模塊lpm_ff1為16bit位寬的D觸發(fā)器,它的工作時(shí)鐘是輸入時(shí)鐘clock的1/2,在時(shí)鐘的上升沿,對(duì)數(shù)據(jù)qo[15..0]進(jìn)行觸發(fā)輸出,得到串并轉(zhuǎn)換后的輸出數(shù)據(jù)q[15..0],從仿真圖(見圖2)可看出其實(shí)現(xiàn)了串并轉(zhuǎn)換的功能[7?8]。
圖1 串并轉(zhuǎn)換電路的結(jié)構(gòu)
圖2 串并轉(zhuǎn)換的仿真圖
2并串轉(zhuǎn)換電路設(shè)計(jì)及仿真
并串轉(zhuǎn)換電路是在輸入時(shí)鐘的作用下,將16 b位寬的輸入數(shù)據(jù)轉(zhuǎn)換為連續(xù)輸出的8bit位寬的串行數(shù)據(jù)輸出。其電路結(jié)構(gòu)見圖3,其中l(wèi)pm_mux0為二選一的數(shù)據(jù)選擇器,工作時(shí)鐘為clock,模塊lpm_counter為計(jì)數(shù)器,工作時(shí)鐘為輸入時(shí)鐘clock的兩倍。
圖3 并串轉(zhuǎn)換電路結(jié)構(gòu)圖
圖4為并串轉(zhuǎn)換電路的仿真圖,clock為輸入時(shí)鐘,data為位寬為16 b的輸入數(shù)據(jù),clk_en為計(jì)數(shù)器使能端,當(dāng)其為高電平時(shí)進(jìn)行并串轉(zhuǎn)換,q為并串轉(zhuǎn)換的輸出,從仿真圖可以看出其實(shí)現(xiàn)了并串轉(zhuǎn)換的功能。
3串并/并串轉(zhuǎn)換電路總體設(shè)計(jì)與仿真
將串并轉(zhuǎn)換電路和并串轉(zhuǎn)換電路兩個(gè)模塊連接起來(lái),就可以實(shí)現(xiàn)串并/并串轉(zhuǎn)換電路。在串并/并串轉(zhuǎn)換電路的整體設(shè)計(jì)中,首先是數(shù)據(jù)的輸入,對(duì)于不同的數(shù)據(jù)格式將進(jìn)行不同轉(zhuǎn)換。如果輸入的數(shù)據(jù)為串行數(shù)據(jù),將進(jìn)入串并轉(zhuǎn)換模塊,將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)輸出。如果輸入的數(shù)據(jù)為并行數(shù)據(jù),將進(jìn)入并串轉(zhuǎn)換模塊,將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)輸出。圖5為是串并轉(zhuǎn)換電路和并串轉(zhuǎn)換電路總體電路,其中stp為串并轉(zhuǎn)換電路模塊,pts為并串轉(zhuǎn)換電路模塊。
圖4 并串轉(zhuǎn)換的仿真圖
圖5 串并/并串轉(zhuǎn)換電路總體結(jié)構(gòu)圖
圖6為串并/并串轉(zhuǎn)換電路總體仿真圖,clock為輸入時(shí)鐘,data為位寬為8 b的輸入數(shù)據(jù),clk_en為計(jì)數(shù)器使能端,當(dāng)其為高電平時(shí)進(jìn)行并串轉(zhuǎn)換,po為串并轉(zhuǎn)換的輸出,q為串并轉(zhuǎn)換和并串轉(zhuǎn)換后的輸出,從仿真圖可以看出其實(shí)現(xiàn)了串并/并串轉(zhuǎn)換的功能。
圖6 串并/并串轉(zhuǎn)換電路總體仿真圖
4結(jié)語(yǔ)
串并轉(zhuǎn)換和并串轉(zhuǎn)換在很多電路系統(tǒng)中都有廣泛的應(yīng)用,而基于VHDL硬件描述語(yǔ)言設(shè)計(jì),F(xiàn)PGA可編程實(shí)現(xiàn)的方法,具有設(shè)計(jì)周期短、速度快、可靠性高、方便修改及易于大規(guī)模集成的優(yōu)點(diǎn)。
參考文獻(xiàn)
[1] 仲建鋒,胡慶生,孫遠(yuǎn).基于FPGA的多路高速串并轉(zhuǎn)換器設(shè)計(jì)[J].電子器件,2008(2):657?660.
[2] 焦鍵,鄭雪嬌.基于VHDL的16位串入串出移位寄存器設(shè)計(jì)[J].科技信息,2011(16):612.
[3] 景興紅,劉陳,王澤芳.基于VHDL的移位寄存器設(shè)計(jì)[J].科學(xué)咨詢(科技·管理),2011(9):78?80.
[4] 胡遠(yuǎn)望,廖冬初.基于VHDL的高速串行AD轉(zhuǎn)換器控制設(shè)計(jì)與實(shí)現(xiàn)[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(1):28?31.
[5] 伊鑫,黃利彬,吳克啟.基于PLD與VHDL的多路輸入多路輸出數(shù)據(jù)選擇器的設(shè)計(jì)[J].信息化研究,2010,36(9):43?45.
[6] 季曉松,李正生.一種基于CPLD的串行碼發(fā)生器設(shè)計(jì)[J].電子測(cè)量技術(shù),2010,33(9):70?72.
[7] 江國(guó)強(qiáng).EDA技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[8] 褚振勇,齊亮,田紅心,等.FPGA設(shè)計(jì)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2006.