孫志雄+謝海霞
摘要: 在數字通信系統的數據傳輸中,多數通信數據為串行方式,而大多數處理器要求數據以并行方式存儲和處理,所以經常需要將串行傳輸的數據變換成并行傳輸,或者將并行傳輸的數據變換成串行傳輸,這時就需要串并/并串轉換器。在此介紹了串并/并串轉換器基本原理,并通過Quartus Ⅱ仿真平臺進行仿真驗證,最后下載到FPGA芯片EP1K30QC208?2實現了串并/并串轉換器的設計,仿真及實驗結果表明采用此設計方案是可行的。
關鍵詞: 串并轉換; 并串轉換; VHDL; FPGA
中圖分類號: TN919?34; TP391文獻標識碼: A文章編號: 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
隨著信息技術的高速發展與通信方式的多樣化,為了滿足數據通信的需要,出現了各種各樣的電子通信設備,這些電子通信設備中的數據傳輸有并行和串行傳輸。這樣在數據傳輸過程中,就需要將串行傳輸的數據變換成并行傳輸,或者將并行傳輸的數據變換成串行傳輸,這時就需要串并/并串轉換器。串并/并串轉換器實現串并轉換和并串轉換的功能。串并轉換是在時鐘驅動下,將單比特的位數據流輸入寄存器,并依次逐位移動,直到寄存器滿了為止,然后直接讀取并行輸出。并串轉換是載入并行的數據,在同步信號為有效電平時,寄存器內的數據被逐位移出。一般實現串并、并串轉換的功能可用數字電路的移位寄存器、數據選擇器等集成電路完成,但是其不利于擴展。本文通過VHDL語言編程與原理圖設計相結合,通過現場可編程門陣列FPGA進行實現,對改變串并轉換的數據位寬、數據存儲與處理等都比較方便,也便于對電路進行改進與擴展[1?6]。
1串并轉換電路設計及仿真
在串并轉換電路設計中,設輸入數據為8 b位寬,由輸入端輸入到串并轉換電路中,將其轉換為連續并行輸出且位寬為16 b的數據流,見圖1。其中的模塊均為基于VHDL語言設計的電路符號,freqdiv為時鐘的分頻電路,對輸入時鐘clock進行2分頻。lpm_ff0為8bit位寬的D觸發器,lpm_ff1為16 b位寬的D觸發器。圖2為串并轉換的仿真圖,其中clock為輸入時鐘信號,在串并轉換電路中,由于輸出數據位寬16 b是輸入數據位寬8 b的2倍,因此數據的輸入時鐘頻率和輸出時鐘的頻率之比為2∶1,這就需要分頻器模塊freqdiv對輸入時鐘進行2分頻。在輸入時鐘clock的上升沿對輸入數據data進行操作,第一個lpm_ff0的輸出為qo[15..8],是輸入數據data[7..0]延時一個時鐘周期的輸出,第二個lpm_ff0的輸出為qo[7..0],是輸入數據data[7..0]延時兩個時鐘周期的輸出,這兩個D觸發器的輸出并置后,就組成了位寬為16bit的輸出數據qo[15..0]。模塊lpm_ff1為16bit位寬的D觸發器,它的工作時鐘是輸入時鐘clock的1/2,在時鐘的上升沿,對數據qo[15..0]進行觸發輸出,得到串并轉換后的輸出數據q[15..0],從仿真圖(見圖2)可看出其實現了串并轉換的功能[7?8]。
圖1 串并轉換電路的結構
圖2 串并轉換的仿真圖
2并串轉換電路設計及仿真
并串轉換電路是在輸入時鐘的作用下,將16 b位寬的輸入數據轉換為連續輸出的8bit位寬的串行數據輸出。其電路結構見圖3,其中lpm_mux0為二選一的數據選擇器,工作時鐘為clock,模塊lpm_counter為計數器,工作時鐘為輸入時鐘clock的兩倍。
圖3 并串轉換電路結構圖
圖4為并串轉換電路的仿真圖,clock為輸入時鐘,data為位寬為16 b的輸入數據,clk_en為計數器使能端,當其為高電平時進行并串轉換,q為并串轉換的輸出,從仿真圖可以看出其實現了并串轉換的功能。
3串并/并串轉換電路總體設計與仿真
將串并轉換電路和并串轉換電路兩個模塊連接起來,就可以實現串并/并串轉換電路。在串并/并串轉換電路的整體設計中,首先是數據的輸入,對于不同的數據格式將進行不同轉換。如果輸入的數據為串行數據,將進入串并轉換模塊,將串行數據轉換成并行數據輸出。如果輸入的數據為并行數據,將進入并串轉換模塊,將并行數據轉換成串行數據輸出。圖5為是串并轉換電路和并串轉換電路總體電路,其中stp為串并轉換電路模塊,pts為并串轉換電路模塊。
圖4 并串轉換的仿真圖
圖5 串并/并串轉換電路總體結構圖
圖6為串并/并串轉換電路總體仿真圖,clock為輸入時鐘,data為位寬為8 b的輸入數據,clk_en為計數器使能端,當其為高電平時進行并串轉換,po為串并轉換的輸出,q為串并轉換和并串轉換后的輸出,從仿真圖可以看出其實現了串并/并串轉換的功能。
圖6 串并/并串轉換電路總體仿真圖
4結語
串并轉換和并串轉換在很多電路系統中都有廣泛的應用,而基于VHDL硬件描述語言設計,FPGA可編程實現的方法,具有設計周期短、速度快、可靠性高、方便修改及易于大規模集成的優點。
參考文獻
[1] 仲建鋒,胡慶生,孫遠.基于FPGA的多路高速串并轉換器設計[J].電子器件,2008(2):657?660.
[2] 焦鍵,鄭雪嬌.基于VHDL的16位串入串出移位寄存器設計[J].科技信息,2011(16):612.
[3] 景興紅,劉陳,王澤芳.基于VHDL的移位寄存器設計[J].科學咨詢(科技·管理),2011(9):78?80.
[4] 胡遠望,廖冬初.基于VHDL的高速串行AD轉換器控制設計與實現[J].常州信息職業技術學院學報,2007(1):28?31.
[5] 伊鑫,黃利彬,吳克啟.基于PLD與VHDL的多路輸入多路輸出數據選擇器的設計[J].信息化研究,2010,36(9):43?45.
[6] 季曉松,李正生.一種基于CPLD的串行碼發生器設計[J].電子測量技術,2010,33(9):70?72.
[7] 江國強.EDA技術與應用[M].北京:電子工業出版社,2011.
[8] 褚振勇,齊亮,田紅心,等.FPGA設計及應用[M].西安:西安電子科技大學出版社,2006.
摘要: 在數字通信系統的數據傳輸中,多數通信數據為串行方式,而大多數處理器要求數據以并行方式存儲和處理,所以經常需要將串行傳輸的數據變換成并行傳輸,或者將并行傳輸的數據變換成串行傳輸,這時就需要串并/并串轉換器。在此介紹了串并/并串轉換器基本原理,并通過Quartus Ⅱ仿真平臺進行仿真驗證,最后下載到FPGA芯片EP1K30QC208?2實現了串并/并串轉換器的設計,仿真及實驗結果表明采用此設計方案是可行的。
關鍵詞: 串并轉換; 并串轉換; VHDL; FPGA
中圖分類號: TN919?34; TP391文獻標識碼: A文章編號: 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
隨著信息技術的高速發展與通信方式的多樣化,為了滿足數據通信的需要,出現了各種各樣的電子通信設備,這些電子通信設備中的數據傳輸有并行和串行傳輸。這樣在數據傳輸過程中,就需要將串行傳輸的數據變換成并行傳輸,或者將并行傳輸的數據變換成串行傳輸,這時就需要串并/并串轉換器。串并/并串轉換器實現串并轉換和并串轉換的功能。串并轉換是在時鐘驅動下,將單比特的位數據流輸入寄存器,并依次逐位移動,直到寄存器滿了為止,然后直接讀取并行輸出。并串轉換是載入并行的數據,在同步信號為有效電平時,寄存器內的數據被逐位移出。一般實現串并、并串轉換的功能可用數字電路的移位寄存器、數據選擇器等集成電路完成,但是其不利于擴展。本文通過VHDL語言編程與原理圖設計相結合,通過現場可編程門陣列FPGA進行實現,對改變串并轉換的數據位寬、數據存儲與處理等都比較方便,也便于對電路進行改進與擴展[1?6]。
1串并轉換電路設計及仿真
在串并轉換電路設計中,設輸入數據為8 b位寬,由輸入端輸入到串并轉換電路中,將其轉換為連續并行輸出且位寬為16 b的數據流,見圖1。其中的模塊均為基于VHDL語言設計的電路符號,freqdiv為時鐘的分頻電路,對輸入時鐘clock進行2分頻。lpm_ff0為8bit位寬的D觸發器,lpm_ff1為16 b位寬的D觸發器。圖2為串并轉換的仿真圖,其中clock為輸入時鐘信號,在串并轉換電路中,由于輸出數據位寬16 b是輸入數據位寬8 b的2倍,因此數據的輸入時鐘頻率和輸出時鐘的頻率之比為2∶1,這就需要分頻器模塊freqdiv對輸入時鐘進行2分頻。在輸入時鐘clock的上升沿對輸入數據data進行操作,第一個lpm_ff0的輸出為qo[15..8],是輸入數據data[7..0]延時一個時鐘周期的輸出,第二個lpm_ff0的輸出為qo[7..0],是輸入數據data[7..0]延時兩個時鐘周期的輸出,這兩個D觸發器的輸出并置后,就組成了位寬為16bit的輸出數據qo[15..0]。模塊lpm_ff1為16bit位寬的D觸發器,它的工作時鐘是輸入時鐘clock的1/2,在時鐘的上升沿,對數據qo[15..0]進行觸發輸出,得到串并轉換后的輸出數據q[15..0],從仿真圖(見圖2)可看出其實現了串并轉換的功能[7?8]。
圖1 串并轉換電路的結構
圖2 串并轉換的仿真圖
2并串轉換電路設計及仿真
并串轉換電路是在輸入時鐘的作用下,將16 b位寬的輸入數據轉換為連續輸出的8bit位寬的串行數據輸出。其電路結構見圖3,其中lpm_mux0為二選一的數據選擇器,工作時鐘為clock,模塊lpm_counter為計數器,工作時鐘為輸入時鐘clock的兩倍。
圖3 并串轉換電路結構圖
圖4為并串轉換電路的仿真圖,clock為輸入時鐘,data為位寬為16 b的輸入數據,clk_en為計數器使能端,當其為高電平時進行并串轉換,q為并串轉換的輸出,從仿真圖可以看出其實現了并串轉換的功能。
3串并/并串轉換電路總體設計與仿真
將串并轉換電路和并串轉換電路兩個模塊連接起來,就可以實現串并/并串轉換電路。在串并/并串轉換電路的整體設計中,首先是數據的輸入,對于不同的數據格式將進行不同轉換。如果輸入的數據為串行數據,將進入串并轉換模塊,將串行數據轉換成并行數據輸出。如果輸入的數據為并行數據,將進入并串轉換模塊,將并行數據轉換成串行數據輸出。圖5為是串并轉換電路和并串轉換電路總體電路,其中stp為串并轉換電路模塊,pts為并串轉換電路模塊。
圖4 并串轉換的仿真圖
圖5 串并/并串轉換電路總體結構圖
圖6為串并/并串轉換電路總體仿真圖,clock為輸入時鐘,data為位寬為8 b的輸入數據,clk_en為計數器使能端,當其為高電平時進行并串轉換,po為串并轉換的輸出,q為串并轉換和并串轉換后的輸出,從仿真圖可以看出其實現了串并/并串轉換的功能。
圖6 串并/并串轉換電路總體仿真圖
4結語
串并轉換和并串轉換在很多電路系統中都有廣泛的應用,而基于VHDL硬件描述語言設計,FPGA可編程實現的方法,具有設計周期短、速度快、可靠性高、方便修改及易于大規模集成的優點。
參考文獻
[1] 仲建鋒,胡慶生,孫遠.基于FPGA的多路高速串并轉換器設計[J].電子器件,2008(2):657?660.
[2] 焦鍵,鄭雪嬌.基于VHDL的16位串入串出移位寄存器設計[J].科技信息,2011(16):612.
[3] 景興紅,劉陳,王澤芳.基于VHDL的移位寄存器設計[J].科學咨詢(科技·管理),2011(9):78?80.
[4] 胡遠望,廖冬初.基于VHDL的高速串行AD轉換器控制設計與實現[J].常州信息職業技術學院學報,2007(1):28?31.
[5] 伊鑫,黃利彬,吳克啟.基于PLD與VHDL的多路輸入多路輸出數據選擇器的設計[J].信息化研究,2010,36(9):43?45.
[6] 季曉松,李正生.一種基于CPLD的串行碼發生器設計[J].電子測量技術,2010,33(9):70?72.
[7] 江國強.EDA技術與應用[M].北京:電子工業出版社,2011.
[8] 褚振勇,齊亮,田紅心,等.FPGA設計及應用[M].西安:西安電子科技大學出版社,2006.
摘要: 在數字通信系統的數據傳輸中,多數通信數據為串行方式,而大多數處理器要求數據以并行方式存儲和處理,所以經常需要將串行傳輸的數據變換成并行傳輸,或者將并行傳輸的數據變換成串行傳輸,這時就需要串并/并串轉換器。在此介紹了串并/并串轉換器基本原理,并通過Quartus Ⅱ仿真平臺進行仿真驗證,最后下載到FPGA芯片EP1K30QC208?2實現了串并/并串轉換器的設計,仿真及實驗結果表明采用此設計方案是可行的。
關鍵詞: 串并轉換; 并串轉換; VHDL; FPGA
中圖分類號: TN919?34; TP391文獻標識碼: A文章編號: 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
隨著信息技術的高速發展與通信方式的多樣化,為了滿足數據通信的需要,出現了各種各樣的電子通信設備,這些電子通信設備中的數據傳輸有并行和串行傳輸。這樣在數據傳輸過程中,就需要將串行傳輸的數據變換成并行傳輸,或者將并行傳輸的數據變換成串行傳輸,這時就需要串并/并串轉換器。串并/并串轉換器實現串并轉換和并串轉換的功能。串并轉換是在時鐘驅動下,將單比特的位數據流輸入寄存器,并依次逐位移動,直到寄存器滿了為止,然后直接讀取并行輸出。并串轉換是載入并行的數據,在同步信號為有效電平時,寄存器內的數據被逐位移出。一般實現串并、并串轉換的功能可用數字電路的移位寄存器、數據選擇器等集成電路完成,但是其不利于擴展。本文通過VHDL語言編程與原理圖設計相結合,通過現場可編程門陣列FPGA進行實現,對改變串并轉換的數據位寬、數據存儲與處理等都比較方便,也便于對電路進行改進與擴展[1?6]。
1串并轉換電路設計及仿真
在串并轉換電路設計中,設輸入數據為8 b位寬,由輸入端輸入到串并轉換電路中,將其轉換為連續并行輸出且位寬為16 b的數據流,見圖1。其中的模塊均為基于VHDL語言設計的電路符號,freqdiv為時鐘的分頻電路,對輸入時鐘clock進行2分頻。lpm_ff0為8bit位寬的D觸發器,lpm_ff1為16 b位寬的D觸發器。圖2為串并轉換的仿真圖,其中clock為輸入時鐘信號,在串并轉換電路中,由于輸出數據位寬16 b是輸入數據位寬8 b的2倍,因此數據的輸入時鐘頻率和輸出時鐘的頻率之比為2∶1,這就需要分頻器模塊freqdiv對輸入時鐘進行2分頻。在輸入時鐘clock的上升沿對輸入數據data進行操作,第一個lpm_ff0的輸出為qo[15..8],是輸入數據data[7..0]延時一個時鐘周期的輸出,第二個lpm_ff0的輸出為qo[7..0],是輸入數據data[7..0]延時兩個時鐘周期的輸出,這兩個D觸發器的輸出并置后,就組成了位寬為16bit的輸出數據qo[15..0]。模塊lpm_ff1為16bit位寬的D觸發器,它的工作時鐘是輸入時鐘clock的1/2,在時鐘的上升沿,對數據qo[15..0]進行觸發輸出,得到串并轉換后的輸出數據q[15..0],從仿真圖(見圖2)可看出其實現了串并轉換的功能[7?8]。
圖1 串并轉換電路的結構
圖2 串并轉換的仿真圖
2并串轉換電路設計及仿真
并串轉換電路是在輸入時鐘的作用下,將16 b位寬的輸入數據轉換為連續輸出的8bit位寬的串行數據輸出。其電路結構見圖3,其中lpm_mux0為二選一的數據選擇器,工作時鐘為clock,模塊lpm_counter為計數器,工作時鐘為輸入時鐘clock的兩倍。
圖3 并串轉換電路結構圖
圖4為并串轉換電路的仿真圖,clock為輸入時鐘,data為位寬為16 b的輸入數據,clk_en為計數器使能端,當其為高電平時進行并串轉換,q為并串轉換的輸出,從仿真圖可以看出其實現了并串轉換的功能。
3串并/并串轉換電路總體設計與仿真
將串并轉換電路和并串轉換電路兩個模塊連接起來,就可以實現串并/并串轉換電路。在串并/并串轉換電路的整體設計中,首先是數據的輸入,對于不同的數據格式將進行不同轉換。如果輸入的數據為串行數據,將進入串并轉換模塊,將串行數據轉換成并行數據輸出。如果輸入的數據為并行數據,將進入并串轉換模塊,將并行數據轉換成串行數據輸出。圖5為是串并轉換電路和并串轉換電路總體電路,其中stp為串并轉換電路模塊,pts為并串轉換電路模塊。
圖4 并串轉換的仿真圖
圖5 串并/并串轉換電路總體結構圖
圖6為串并/并串轉換電路總體仿真圖,clock為輸入時鐘,data為位寬為8 b的輸入數據,clk_en為計數器使能端,當其為高電平時進行并串轉換,po為串并轉換的輸出,q為串并轉換和并串轉換后的輸出,從仿真圖可以看出其實現了串并/并串轉換的功能。
圖6 串并/并串轉換電路總體仿真圖
4結語
串并轉換和并串轉換在很多電路系統中都有廣泛的應用,而基于VHDL硬件描述語言設計,FPGA可編程實現的方法,具有設計周期短、速度快、可靠性高、方便修改及易于大規模集成的優點。
參考文獻
[1] 仲建鋒,胡慶生,孫遠.基于FPGA的多路高速串并轉換器設計[J].電子器件,2008(2):657?660.
[2] 焦鍵,鄭雪嬌.基于VHDL的16位串入串出移位寄存器設計[J].科技信息,2011(16):612.
[3] 景興紅,劉陳,王澤芳.基于VHDL的移位寄存器設計[J].科學咨詢(科技·管理),2011(9):78?80.
[4] 胡遠望,廖冬初.基于VHDL的高速串行AD轉換器控制設計與實現[J].常州信息職業技術學院學報,2007(1):28?31.
[5] 伊鑫,黃利彬,吳克啟.基于PLD與VHDL的多路輸入多路輸出數據選擇器的設計[J].信息化研究,2010,36(9):43?45.
[6] 季曉松,李正生.一種基于CPLD的串行碼發生器設計[J].電子測量技術,2010,33(9):70?72.
[7] 江國強.EDA技術與應用[M].北京:電子工業出版社,2011.
[8] 褚振勇,齊亮,田紅心,等.FPGA設計及應用[M].西安:西安電子科技大學出版社,2006.