基于FPGA的高速串并/并串转换器设计

时间:2022-10-30 05:09:48

基于FPGA的高速串并/并串转换器设计

摘要: 在数字通信系统的数据传输中,多数通信数据为串行方式,而大多数处理器要求数据以并行方式存储和处理,所以经常需要将串行传输的数据变换成并行传输,或者将并行传输的数据变换成串行传输,这时就需要串并/并串转换器。在此介绍了串并/并串转换器基本原理,并通过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.

上一篇:荆门市优化价格环境的做法、问题及建议 下一篇:银行理财产品真实收益率分析