帧同步信号.docx
- 文档编号:8459772
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:11
- 大小:202.01KB
帧同步信号.docx
《帧同步信号.docx》由会员分享,可在线阅读,更多相关《帧同步信号.docx(11页珍藏版)》请在冰豆网上搜索。
帧同步信号
1、ISE简要介绍
Xilinx是全球领先的可编程逻辑完整解决方案的供应商,研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及定义系统级功能的IP(IntellectualProperty)核,长期以来一直推动着FPGA技术的发展。
Xilinx的开发工具也在不断地升级,由早期的Foundation系列逐步发展到目前的ISE12.0系列,集成了FPGA开发需要的所有功能。
1.1主要特点
(1)包含了Xilinx新型SmartCompile技术,可以将实现时间缩减2.5倍,能在最短的时间内提供最高的性能,提供了一个功能强大的设计收敛环境;
(2)全面支持Virtex-5系列器件(业界首款65nmFPGA);
(3)集成式的时序收敛环境有助于快速、轻松地识别FPGA设计的瓶颈;
可以节省一个或多个速度等级的成本,并可在逻辑设计中实现最低的总成本。
(4)FoundationSeriesISE具有界面友好、操作简单的特点,再加上Xilinx的FPGA芯片占有很大的市场,使其成为非常通用的FPGA工具软件。
ISE作为高效的EDA设计工具集合,与第三方软件扬长补短,使软件功能越来越强大,为用户提供了更加丰富的Xilinx平台。
1.2ISE功能简介
ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA软件。
(1)设计输入:
ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(TheISETextEditor),用于原理图编辑的工具ECS(TheEngineeringCaptureSystem),用于生成IPCore的CoreGenerator,用于状态机设计的StateCAD以及用于约束文件编辑的ConstraintEditor等。
(2)综合:
ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify,实现无缝链接。
(3)仿真:
ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDLBencher,同时又提供了使用ModelTech公司的Modelsim进行仿真的接口。
(4)实现:
此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。
(5)下载:
下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,功能是进行设备配置和通信,控制将程序烧写到FPGA芯片中去。
2.原理概述
由通信原理知识可知,PCM30/32系统共分为32个路时隙,其中30个路时隙分别用宋传送30路话音信号,一个路时隙(TS0)用来传送帧同步码,另一个路时隙(TS16)用来传送信令码。
PCM30/32系统在发送端按照某一波特率编排成一定的帧结构形成同步数据流,然后送入信道传送,在接收端从信道恢复出来的同步数据流,则需要进一步解调才能取出有用信息。
对于接收端的数据解调,首先要从同步数据流中提取位同步信息,然后提取帧同步信息。
传统的帧同步提取采用硬件实现,有电路复杂、门限电平不容易调整等缺陷,随着可编程器件的不断发展,VHDL编程语言的出现,用可编程器件来实现数据流中帧同步信号的提取,能使设备简化,检测电平容易控制,同时也提高了设备的可靠性和生产的一致性。
帧同步又称为群同步,实现帧同步的方法主要有两类:
一类是插入特殊码法,即插入式帧同步法,它在数字信息码序列中插入一些特殊码组作为每帧的帧头标志,而在接收端则根据这些码组的位置来实现帧同步。
另一类是利用数据组本身之间彼此不同的特性来实现自同步,不需要专门的帧同步码。
在本课程设计中主要研究插入式帧同步法。
所谓连贯式插入法是指在每帧的开头集中插入帧同步码组的方法。
用做帧同步码组的特殊码组{J1,x,,J1,…,-真c。
)要求具有尖锐单峰性的局部自相关函数。
这个特殊码组是非周期序列或有限序列,在求它的自相关函数时,除了在时延J≠0的情况下,序列中只有部分元素参加相关运算,其表达式为:
我们把这种非周期序列的自相关函数称为局部自相关函数。
下面就目前的一种常用的帧同步码组——巴克码,做简单介绍。
所谓巴克码是一种具有特殊规律的非周期序列。
设一个n位的巴克码组为
3、帧同步信号提取的电路设计思想
提取连贯式插入法的帧同步信号的关键是要把特殊码组从信号流中识别出来。
假如一帧信号是基于32位的信息码组,而巴克码是七位的,由于巴克码作为一帧信号的帧头识别码,所以只需要把巴克码识别出来,就可以把帧同步信号提取出来,这里,在外界提供自动门限信号出来的前提下,我们只是研究简单的提取电路。
具体帧同步信号提取电路设计框图如下:
图1—帧同步信号提取电路设计框图
如上图所示,主要是由七位移位寄存器、译码器和判决器三部分组成。
其中帧同步系统的工作状态分为捕捉态和维持态。
首先假设在同步未建立时,系统处于捕捉态,此时从信道而来的位同步信号由移位寄存器输入端输入,由于七位的巴克码是1110010,所以对D1、D3和D4进行反相输出,这样,移位寄存器完成数据的串行输入,七位并口输出,然后经过3—8线译码器,当D7—D1是1111111时,输出是111;当传输过程中存在一位错码时,即D7—D1中有一位是0,其余是1时,输出是110;译码器的输出即到判决器的输入,当自动门限是7时,则输入是111时,判决输出是1(高电平);若输入为其他(小于7)时,判决输出是0(低电平);当自动门限是6时,则输入是110或111时,则判决输出是1(高电平);若输入为其他(小于7)时,判决输出是0(低电平)。
此时,输出的两个高电平脉冲之间的数据即为所传输的一帧数据。
因此,帧同步信号被提取出来。
三个部分的流程图如下所示:
图2—译码器流程图
图3判决器流程图
图5—信号提取示意图
4、VHDL建模程序设计
4.1七位寄存器的VHDL建模设计程序
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entityusris
Port(datain:
inSTD_LOGIC;
clk:
inSTD_LOGIC;
q:
outSTD_LOGIC_VECTOR(6downto0));
endusr;
architectureBehavioralofusris
signalreg:
std_logic_vector(6downto0);
begin
process(clk)is
begin
ifrising_edge(clk)then
reg<=reg(5downto0)&datain;
endif;
endprocess;
q(0)<=notreg(0);
q
(1)<=reg
(1);
q
(2)<=notreg
(2);
q(3)<=notreg(3);
q(4)<=reg(4);
q(5)<=reg(5);
q(6)<=reg(6);
endBehavioral;
4.2译码器的VHDL建模设计程序
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
----Uncommentthefollowinglibrarydeclarationifinstantiating
----anyXilinxprimitivesinthiscode.
--译码器
entitydecoderis
Port(a:
inSTD_LOGIC_VECTOR(6downto0);
b:
outSTD_LOGIC_VECTOR(2downto0));
enddecoder;
architectureBehavioralofdecoderis
begin
process(a)is
variableeven:
integerrange0to7;
begin
even:
=0;
foriina'rangeloop
ifa(i)='1'then
even:
=even+1;
endif;
endloop;
ifeven=7then
b<="111";
elsifeven=6then
b<="110";
else
b<="000";
endif;
endprocess;
endBehavioral;
4.3判决器的VHDL建模设计程序
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
----Uncommentthefollowinglibrarydeclarationifinstantiating
----anyXilinxprimitivesinthiscode.
--libraryUNISIM;
--判决器
entitycompareis
Port(a:
inSTD_LOGIC_VECTOR(2downto0);
b:
inSTD_LOGIC_VECTOR(2downto0);
c:
outSTD_LOGIC);
endcompare;
architectureBehavioralofcompareis
begin
c<='1'whena>=belse'0';
endBehavioral;
4.4系统主程序
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
----Uncommentthefollowinglibrarydeclarationifinstantiating
----anyXilinxprimitivesinthiscode.
--libraryUNISIM;
--useUNISIM.VComponents.all;
entitymainis
port(datain:
instd_logic;
clk:
instd_logic;
maxim:
instd_logic_vector(2downto0);
sheelout:
outstd_logic);
endmain;
architectureBehavioralofmainis
componentusr
Port(datain:
inSTD_LOGIC;
clk:
inSTD_LOGIC;
q:
outSTD_LOGIC_VECTOR(6downto0));
endcomponent;
componentdecoder
Port(a:
inSTD_LOGIC_VECTOR(6downto0);
b:
outSTD_LOGIC_VECTOR(2downto0));
endcomponent;
componentcompare
Port(a:
inSTD_LOGIC_VECTOR(2downto0);
b:
inSTD_LOGIC_VECTOR(2downto0);
c:
outSTD_LOGIC);
endcomponent;
signaltmp1:
std_logic_vector(6downto0);
signaltmp2:
std_logic_vector(2downto0);
begin
u0:
usrportmap(datain,clk,tmp1);
u1:
decoderportmap(tmp1,tmp2);
u3:
compareportmap(tmp2,maxim,sheelout);
endBehavioral;
4.5、时序仿真
使用XilinxISE软件对程序进行时序仿真,
(1)当门限信号设置为111(即是7)时,仿真波形如下:
图6
(2)当门限信号设置为110(即为6)时,仿真波形如下所示:
图7
5、仿真结果分析
上述系统电路实际上是巴克码识别器电路,移位寄存器部分电路完成将串行传输的数据转化为并行输出的数据,译码器电路部分完成将移位寄存器输出的七位并行数据译码为三位二进制数据,如将“1111111”译码为“111”,如果七位输出码中含有一位“0”码,那么译为“110”,其他输出码,如包含2个或2个“0”以上的,则译为“000”,目的是考虑到门限信号只是设置为“111”和“110”这两种状态,减小假同步出现的概率。
由图6的仿真结果可知,门限信号maxim为111,当输入信号datain是“00000001110010101010101110010011000”时,仅当其中的“1110010”巴克码序列被寄存器和译码器处理后为“111”与门限信号“111”相等,所以,帧同步信号输出端输出高电平脉冲,即帧同步信号被提取出来;其他时候则为低电平,两个高电平之间则为传输的32位帧信号。
由图7的仿真结果可知,门限信号maxim为110,当输入信号datain是“0011100101100110011100101000000111”时,仅当其中的“1110010”巴克码序列被寄存器和译码器处理后为“111”比门限信号“110”大,所以,帧同步信号输出端输出高电平脉冲,即帧同步信号被提取出来;其他时候则为低电平,两个高电平之间则为传输的32位帧信号。
综上,仿真结果与预想的设计思路比较吻合,达到了课题的设计要求。
6、设计小结
在本次课题设计中,我们采用连贯式插入法来提取通信系统中的帧同步信号,研究对象是PCM30/32信号,识别的特殊码是七位巴克码“1110010”,帧同步信号提取系统其实应该包括32分频器、巴克码识别器、自动门限电路、RS触发器和其他门电路,这里我们只是围绕巴克码识别器研究简单的帧同步信号提取方法,并没有研究后面的自动门限和保护电路。
所以,在这里,我们详细分析了巴克码识别器电路,对其进行基于FPGA的VHDL建模设计,设计出程序并进行时序仿真,如上仿真结果可知,仿真结果符合设计要求,能够顺利的把帧同步信号从PCM传输的编码中提取出来,达到设计的目的。
我们还考虑了假同步的情况,所以,我们把门限信号设置了110或111,预防发送方在发送巴克码时存在发错一位误码时依然能够把帧同步信号检测出来,保证数据的准确性。
7、心得体会
通信原理是一门理论与实践紧密结合的课程。
大量的实践有助于进一步理解和巩固理论知识,还有助于提高分析和解决问题的能力。
课程设计需要很好的思维能力,动手能力,语言表达能力,并且更重要的是要有较大的耐心。
它培养了学生的自学能力,这次课程设计主要是自己去查看资料,自学后再去设计。
培养了一个人遇到问题独立思考的能力,也需要我们在遇到某些自己难以一个人解决问题时,与同学之间互相交流,培养了我们的团队合作能力。
总的来说,这次数字信源码产生的课程设计让我受益匪浅,让我学会怎样去接触和学习一项新的知识,怎样克服困难去完成一项任务。
并且让我懂得课本知识与实践的区别,在学习课本知识之余,要多锻炼自己的动手能力。
其次,以前对于通信原理的一些知识点还处于一知半解的状态上,但是经过这次课程设计,我对于数字信源中码产生在数字信源中的作用,数字信源码产生的基本工作原理,其组成模块等等都有了更进一步的掌握。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,但任何事情难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
8、参考文献
[1].段吉海,基于CPLD/FPGA的数字通信系统建模与设计,电子工业出版社,2004
[2].潘松,黄继业,EDA技术与VHDL清华大学出版社,2009
[3].MarkZwolinski,VHDL数字系统设计电子工业出版社,2004
[4].樊昌信,曹丽娜,通信原理(第六版)国防工业出版社,2007
[5].谈世哲、李建,基于xilinxISE的fpga设计与应用电子工业出版社,2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 同步 信号