数字锁相位同步提取的 VHDL 实现
詹鹏 郭勇 赖武刚 蔡顺燕
(成都理工大学 四川 成都 610059)
摘要:本文设计了一种在数字通信系统中的数字锁相位同步提取方案,详细介绍了本设计的
位同步提取原理及其各个组成功能模块的 VHDL 语言实现,并在 Quartus II 开发平台上仿真
验证通过。本设计采用 VHDL 语言编程且在 FPGA 芯片上实现,具有可移植性好、体积小、
低功耗、可靠性高、方便维护和升级等优点,增强了系统的可靠性和稳定性。经验证该位同
步提取设计方案能够快速的提取位同步时钟,稳定性好。
关键词:位同步;FPGA;VHDL;锁相环;数字通信
分类号:TP311,TN919 文献标识码:B
Implementation of Digital phase-locked Bit Synchronous extract based on VHDL
ZHAN Peng GUO Yong LAI Wu –gang Cai Shun-yan
( Chengdu University Of Technology Si Chuan Cheng Du 610059)
Abstract:This article has designed one kind of digital phase-locked bit synchronous extraction
project in the digital communication system, introduced bit synchronous extraction principles and
VHDL language realization of each composition function module in detail, and have passed the
simulating in the development platform -Quartus II. This design is achieved in a FPGA chip using
VHDL language to program. It has the merits of good transplant、small size、low-power
consumption、high reliability、facilitate to maintain and upgrade, and so on… enhanced the
reliability and stability of digital communication system. This design can complete bit
synchronous clock extraction rapidly and good stability after confirmation.
Key words: Bit Synchronous;FPGA;VHDL;Phase-locked loop;Digital Communication
1.引言
在数字通信系统中,发送端按照一个确定的时钟逐个传送码元。在接收端须有一个准确
的抽样判决时钟才能正确判决所接收到的码元,因此,在接收端需要有一个与发送端的时钟
脉冲序列相一致的确定抽样判决时刻的时钟脉冲序列,在最佳判决时刻对接收到的码元进行
抽样判决,我们把在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称
为码元同步或位同步。
实现位同步的方法有直接法和插入导频法两种,而直接法又分为滤波法和锁相法,本文
讨论的是采用数字锁相法实现位同步提取。在一般数字通信系统设计中,同步单元电路大多
以标准逻辑器件按传统数字系统设计方法设计而成,其缺点是逻辑规模小、功耗大、可靠性
低。随着可编程逻辑器件 FPGA 的广泛应用,数字系统的设计变得更加的方便和灵活。本设
计采用 VHDL 语言编程实现,将位同步提取电路集成在一片 FPGA 芯片上,具有体积小,功耗
低,可靠性高的特点。
2.位同步提取原理
位同步提取总体原理框图如图 1 所示,主要由过零提取、鉴相器、脉冲形成、脉冲加减
控制和 N 分频器几个部分组成。输入的非归零二进制码元经过零提取后送入鉴相器,鉴相
器对过零提取后的输出码元 iu 的相位与位同步提取后输出信号 ou 的相位进行比较,当位同
步提取输出信号 ou 的相位超前时输出一个减脉冲信号 subu ,滞后时输出一个加脉冲信号
addu ,然后送入脉冲加减控制器,脉冲加减控制器根据鉴相器的输出信号 addu 和 subu 来控制
对输入的两路时钟脉冲信号 1p 和 2p 的打开与关闭, 1p 和 2p 是由脉冲形成器送入的两路相
位差为 180 度、频率都是 0Nf 的时钟信号。脉冲加减控制器输出的信号经过 N 分频器后输出
频率为 0f 的同步时钟信号,也就是我们所需要的位同步信号。从框图中可以看到,信号经
鉴相器、脉冲加减控制器和 N 分频器后又回到鉴相器,形成一个锁相闭环回路,此锁相回
路不断的对输出的位同步时钟信号 ou 的相位进行调整,最终达到时钟同步。
码元输入
iu
过零提取
鉴相器
subu
addu
加脉冲
位同步输出
ou
N 分频器
脉冲加减控制
本地时钟
oNf2
脉冲形成
减脉冲
1p
2p
图(1)锁相位同步提取原理框图
要使输出的位同步时钟与接收的码元同步就要根据鉴相器的输出来不断的调整输出的
位同步时钟的相位,由鉴相器输出的加、减脉冲控制信号来相应的增加或扣除脉冲,也就相
应的加快或者延迟了 N 分频器(其实是一个计数器,记满 N 个脉冲后电平翻转)记满 N 个
脉冲的时间,从而调整了位同步输出信号的相位。
3.位同步提取的 VHDL 实现
3.1.过零提取
过零提取的原理是:每当输入码元电平翻转时就产生一个脉冲,这些脉冲反映了发端时
钟的相位信息,以此信息为参考基准经锁相后获得同步时钟。
用 VHDL 实现过零提取的方法是:把输入的二进制码元经过延迟后与未经延迟的二进制
码元相异或即可。数字电路中的延迟可由级连的 D 触发器来实现,改变级连的个数就可以改
变延迟的时间,这在 VHDL 中设几个信号变量就可以实现。以下是用 VHDL 语言实现过零提取
的部分代码:
process(clk)
begin
if clk'event and clk='1' then
d1<=codein;
d2<=d1;
d3<=d2;
end if;
…………………………
end process;
codeout<=(codein and (not d3)) or ((not codein) and d3);
…………………………
完成延迟所需的时钟由本地时钟提供,过零提取所得脉冲信号的电平宽度不能太宽或太
窄,一般取码元周期的 1/10 为宜。
3.2.鉴相器
鉴相器对输出的位同步信号的相位与码元经过零提取后的信号进行比较,判断出位同步
时钟是超前还是滞后,如果相位滞后则发出一个加脉冲信号,使同步时钟相位向前调整,反
之则发出一个减脉冲信号,使同步时钟相位向后调整,最终达到时钟同步。达到同步的时候
既有加脉冲信号也有减脉冲信号,其效果就相当于此时的相位不做调整。可见此时的相位调
整处于动态平衡中,在 VHDL 语言中通过简单的与、非运算就可实现鉴相器的功能。
3.3.脉冲形成
脉冲形成部分的功能是由输入的频率为 0
2Nf 的本地时钟产生两路相位差为 180 度且频
率都是 0Nf 的时钟信号,两路时钟脉冲信号的高电平是错开的,这样就方便脉冲加减控制器
对脉冲进行增加或扣除。在 VHDL 语言中实现时可以设两个信号变量,分别以本地时钟的上
升沿和下降沿为触发信号对本地时钟进行二分频,然后将两个二分频信号变量进行简单的
与、非运算就可以实现。部分代码如下:
process(clk)
begin
if clk'event and clk='1' then
temp1<=not temp1;
end if;
end process;
process(clk)
begin
if clk'event and clk='0' then
temp2<=not temp2;
end if;
end process;
out1<=temp1 and temp2;
out2<=(not temp1) and (not temp2);
………………………………..
3.4.脉冲加减控制
脉冲加减控制器是根据鉴相器输出的加减脉冲控制信号来增加或扣除由脉冲形成器送
入的两路时钟脉冲,由此来调整输出的同步时钟的相位。用 VHDL 语言实现该功能十分方便,
如果要扣出脉冲只需把其中一路信号的脉冲在相应位置与‘0’做‘与’运算,如果要增加
脉冲则把另外一路时钟与第一路时钟在相应位置做或运算即可实现,VHDL 语言部分代码如
下:
process(clk1)
begin
addtemp<=inc and clk1;
end process;
process(clk2)
begin
dectemp<=(not dec) and clk2;
end process;
dout<=addtemp or dectemp;
………………………………………….
4.位同步提取顶层设计与仿真结果分析
本位同步提取方案顶层设计如图 2 所示,各个功能模块均采用 VHDL 语言编程实现,
并在 Quartus II 上仿真通过。
weif en
jianxiang
CODE IN
INPUT
VCC
codeout
clk
codein
wf in
dout
cq
zh
inst
inst3
f enpin
jjkzq
CLK OUT
OUTPUT
cout
clk
f en
inc
dec
clk2
clk1
maicong
out1
out2
clk
INPUT
VCC
40F
inst7
inst5
inst2
图(2)顶层设计图
位同步提取相位锁定的全过程仿真波形如图 3 所示,刚开始时输出的同步时钟超前,鉴
相器输出减脉冲控制信号,使同步输出时钟的相位向后逐渐调整,最后达到相位锁定,即达
到了时钟同步。从波形图可以发现:当相位锁定时,鉴相器输出了加脉冲控制信号后也输出
了减脉冲控制信号,由此可见,相位锁定时相位的调整是处于一个动态平衡之中。
图(3)仿真波形图
5.结论
本设计提取的同步时钟的最大相位误差为
360 度,N 值的大小由编程设定, N 值取的
N/
越大则相位误差越小,但 N 越大则达到同步锁定的速度就越慢。我们应当兼顾速度和精度
来适当的选取 N 的值。
本设计采用 VHDL 硬件描述语言编程实现,并下载到了 FPGA 芯片 EP1C3T144C8 中,
经验证该时钟同步提取的锁定速度快,精度高。采用可编程器件 FPGA 来实现位同步提取
电路,拥有体积小、功耗低、可靠性高等特点,提高了数字通信系统的稳定性和可靠性,降
低了系统的复杂程度,便于系统维护和升级。
参考文献
管立新等 帧同步系统的 FPGA 设计[J] 微计算机信息 2006 年第 9-2 期第 177-178 页
段吉海 黄智伟 基于 CPLD/FPGA 的数字通信系统建模与设计[M] 电子工业出版社 2004
樊昌信等 通信原理(第五版)[M] 国防工业出版社 2003
谭会生 矍逐春 EDA 技术综合应用实例与分析[M] 西安电子科技大学出版社 2004
刘连青 数字通信技术[M] 机械工业出版社 2003
黄正谨等 CPLD 系统设计技术入门与应用[M] 电子工业出版社 2002
作者简介:
詹 鹏(1982- ),男,在读研究生,成都理工大学通信与信息系统专业研究生.
ZHAN Peng (1982- ),Male,Postgraduate Student,Major in communication and information
system of Chengdu University of Technology
郭 勇(1960- ),男,教授,工学硕士,现任成都理工大学电子信息工程系系主任.
GUO Yong(1960- ),Male,Professor,Engineering Master, Director of the information
technology department of Chengdu University of Technology
赖武刚(1982- ),男,在读研究生,成都理工大学通信与信息系统专业研究生.
LAI Wu –gang (1982- ),Male,Postgraduate Student,Major in communication and information
system of Chengdu University of Technology
蔡顺燕(1981- ),女,在读研究生,成都理工大学信号与信息处理专业研究生.
Cai Shun-yan (1981- ),Female,Postgraduate Student,Major in signal and information
processing of Chengdu University of Technology
项目资助: 含流体裂缝非均匀介质电磁场响应的数值计算方法研究
国家自然科学基金,编号:40374027
创新点:采用数字锁相技术实现位同步的提取,且在 FPGA 上实现,具有锁定速度快,精
度高的特点。
经济效益:采用可编程器件 FPGA 来实现位同步提取电路,拥有体积小、功耗低、可靠性高
等特点,提高了数字通信系统的稳定性和可靠性,降低了系统的复杂程度,便于系统维护和
升级。
通信地址: 成都理工大学研究生院榕树园 4 单元 4-3 邮编:610059
Email:zhanp324@163.com