基于FPGA的数字式光端机的研究与设计

发布时间:2011-3-11 17:58    发布者:1770309616
关键词: FPGA , 数字式光端机
本文介绍了一种基于FPGA的视频、音频、反向数据的远程传输系统的研究与设计,该系统在实际中得到了应用,具有良好的稳定性、实用性和可靠性。

引言
目前在高速公路、交通、电子警察、监控、安防、工业自动化、电力、海关、水利、银行等领域视频图像、音频、数据、以太网、电话等光端机开始普遍大量应用。

由于数字光端机具有传输信号质量高,没有模拟调频、调相、调幅光端机多路信号同传时交调干扰严重、容易受环境干扰影响、传输质量低劣、长期工作稳定性差的缺点,因此许多大型重点工程已普遍采用数字光端机。
系统框架与工作原理
整个系统由核心控制模块FPGA、音频采样编解码模块、视频分离模块、视频放大模块、视频A/D和D/A转换模块、并串/串并转换模块、光纤调制收发模块、电源控制模块和485数据传输模块。图1是该系统的系统框图。


Picture001.jpg

图1 系统结构框图

系统的工作原理为:光端机系统分为两部分,分别为:发射机和接收机。在发射端,来自监视器或其他视频源的视频信号首先经过发射板上的视频滤 波网络去除噪声干扰信号,然后对该视频信号进行视频分离和视频放大。视频分离模块得到视频信号的行、场同步信号以及奇偶场信号、视频钳位等重要的视频信 息。接下来,对放大后的视频信号进行A/D转换,得到的数字化的视频信号送入系统主控核心FPGA中。与此同时,如果系统检测到了有音频信号的存在,则对 其进行音频滤波、音频数字化采样以及音频PCM编码。经过PCM编码后的音频信号,送入系统主控核心FPGA中。反向数据传输主要是485信号,该信号也 送入到FPGA。这样,系统主控核心FPGA对来自不同模块的视频、音频、数据等信号整合,时分复用地将各个信号编码成8位并行信号流送入到并串转换模 块。信号流经过并串转换后变成高速的LVDS信号驱动光纤收发模块以波分复用的方式完成了电/光变化和光发射。在光端机的接收端,经过以上的逆过程,完成 对原始信号的恢复。

系统硬件组成
1 FPGA核心控制器
系统的核心控制部分是整个系统的心脏,为了满足对高速、多 路数据流的实时处理,要求系统核心控制器必须有较高的工作频率和反应能力。其次,对于系统时分复用部分,为了信号的同步化,需要系统核心控制器内嵌RAM 和FIFO等功能块。此外,同时作为嵌入式系统,处理器必须有着低功耗的要求。目前,FPGA处理器已经遍及工业控制、消费电子产品、通信系统等各类产品 市场。按照低成本、低功耗、小体积、多功能及较为强大的数据处理能力,Altera公司CycloneII系列的EP1C3144是一个非常好的选择。


无标题.bmp

图2 视频分离硬件电路

2 视频分离模块
视频信号中除了包含图像信号之外,还包括了行同步信号、行消隐信号、场同步信号、场消隐信号以及槽脉冲信号、前均 衡脉冲、后均衡脉冲等,因此,若要对视频信号进行采集,就必须准确地把握各种信号间的逻辑关系。LM1881就是针对视频信号的同步分离而生产的,它为视 频信号的处理提供了极大的方便。此处电路设计如图2所示。
LM1881可以从0.5~2V的标准负极性NTSC制、PAL制、SECAM制视频信 号中提取复合同步场同步、奇偶场识别等信号,这些信号都是图像数字采集所需要的同步信号,有了它们,便可确定采集点在哪一场,哪一行。LM1881也能对 非标准的视频信号进行同步分离,通过固定的时间延迟产生默认的输出作为场同步输出。


Picture003.jpg

图3 A/D转换硬件电路

3 A/D和D/A转换模块
此处的A/D转换电路主要用来对视频滤波,放大后的视频信号进行数字化变换。电视图像信号的带宽理论计 算值为7.37MHz,实际取5.5275MHz。由香农定理知,ADC的采样频率应该大于2倍的图像最高频率,所以ADC采用ADI公司的 AD9280,工作频率为32MHz。该ADC具有良好的差分非线性度、模拟输入超出转换量程提示、内建自流电平回复和可调片内电压基准源等优势。

此处A/D转换电路设计如图3所示。

接收端A/D转换电路主要完成对数字化后的视频信号的模拟变换,还原出标准的视频信号。此处选用的DAC为ADI公司的高速AD9708。

AD9708采用+3V或+5V单电源供电,两路电流输出,转换速率高达125MHz,建立时间不大于35ns,转换精度为1/4 LSB。在+5V电源供电的情况下,其功耗为175mW;在+3V电源供电的情况下,其功耗为45mW。

为了特殊的需要,AD9708还兼容8位、10位和12位并行数据输入。当AD9708被设置成8位数据输入时,只要把管脚1设为最高输入 有效数据位(MSB),管脚8设为最低输入有效数据位(LSB)即可。引脚1(DB13):最高输入有效数据位;引脚2~13(DB12~DB1):数据 输入端;引脚14(DB0):最低输入有效。

4 并串/串并模块
低压差分信号是由ANSI/TIA/EIA-644-1995定义的用于高速数据传输的物理层接口标准 (LVDS)。它具有超高速(速率可达1.4Gb/s)、超低功耗和低电磁辐射等特性,因而是在铜介质上实现千兆位速率通信的优选方案。而总线形低压差分 信号LVDS是LVDS技术在多点通信领域的扩展,它要求有更大的驱动电流(10mA)和更好的阻抗匹配设计。

SN65LV1023和SN65LV1224是TI公司推出的10位总线型低压差分信号的应用芯片组。其中SN65LV1023是可将10 位并行CMOS或TTL数据转换为具有内嵌时钟的高速串行差分数据流的串化器;而SN65LV1224则是接收该差分数据流并将它们转换为并行数据的解串 器,它同时又可以重建并行时钟。采用该器件组进行数据串化时采用的是内嵌时钟,这样可有效地解决由于时钟与数据的不严格同步而制约高速传输的瓶颈问题。此 处的硬件电路设计如图4所示。

Picture004.jpg

图4 并串转化硬件示意图

系统软件设计
系统软件主要是对系统控制核心的FPGA的编程。整个程序基于模块化、结构化的软件开发思想编写。所用的开发工具是Altera公司出品的FPGA集成开发环境QuartusII,开发语言采用当今比较流行的大规模集成电路Verilog开发语言。

系统软件功能实现了A/D控制模块、语音编码控制模块、并串转换控制模块、串并转换控制模块、D/A控制模块、语音解码控制模块和反向数据的收发控制模块。
1 A/D控制模块
A/D控制模块以FPGA为主控核心,为AD9280提供采样时钟;同时采集AD9280A/D转换后的数字量。

FPGA系统时钟频率为32MHz,对于AD9280的采样时钟为16MHz,对系统时钟进行二分频后提供给AD9280。同时,在分频后的输出时钟的上升沿对A/D转换的结果进行读取,读取的结果存入FPGA中进行下一步应用。程序如下所示。
module AdControl(clk_in,reset,ad_data,clk_out,data_reg);
input clk_in,reset;
input [0:7]ad_data;
output clk_out;
output [0:7]data_reg;
reg [0:7]data_reg;
reg clk_out;
always@(posedge clk_in)
begin
if(reset)
clk_out<=0;
else
clk_out<=~clk_out;
end
always@(posedge clk_out)
begin
data_reg<=ad_data;
end
endmodule
其中,clk_in为FPGA系统输入时钟;clk_out为分频后提供给ADC的采样时钟;reset为复位端,高电平复位;ad_data是A/D转换后得到的数字量;data_reg
用来存储A/D转换后的数字量。

2 语音编码控制模块
语音编码控制模块主要完成对PCM编码芯片提供数据编码时钟、数据使能控制以及编码后的数据接收。
此处程序如下所示。
module PcmControl(clk_in,reset,tdd,tdc,tde,pcm_data);
……
always@(posedge clk_in)
begin
if(reset)
begintdc<=0; end
elsebegin
if(cnt0==7)
begin
tdc<=~tdc;
cnt0<=0;
end
else
cnt0<=cnt0+1;
end
end
always@(posedge tdc)
begin
if(cnt1==140)
begin
tde<=~tde;
cnt1<=0;
end
else
cnt1<=cnt1+1;
end
always@(posedge tdc)
begin
pcm_data<=tdd;
end
endmodule
其中,clk_in是FPGA系统时钟,reset为系统复位信号。信号tdd是PCM编码芯片的输出;信号pcm_data用来存放PCM编码数据;信号tdc是PCM编码时钟信号;信号tde是PCM编码使能时钟。

3 并串转换控制模块
系统主控核心FPGA对数字化的视频、语音信号进行时分复用后,将视频语音混合信号送给并串转换器。并串转换模块主要实现对并串转换器的时序控制,使能控制和数据输入控制。此处的部分程序如下所示。
moduleSnControl (clk_in,fpga_data,sn_clk,sn_data,sncontrol);
input  clk_in;
input [0:9]fpga_data;
output [0:9]sn_data;
output sn_clk,sncontrol;
reg sn_clk,sncontrol;
reg [0:9]sn_data;
always@(posedge clk_in)
  begin
sn_clk<=~sn_clk;
end  
always
begin
  sncontrol<=1;
end
always@(posedge sn_clk)
begin
sn_data<=fpga_data;
end
endmodule
其中,clk_in是FPGA系统时钟,信号sn_clk是并串转换器的转换时钟;信号fpga_data是FPGA对视频、语音时分复用编码后的数据;信号sn_data是并串转换器的输入数据;信号sncontrol是并串转换器的编码使能时钟。

4 D/A控制模块
D/A控制模块主要用来控制AD9708,对来自串并转换后的数据,FPGA首先进行时分解复用,然后将视频信号部分发送给AD9708,同时配合DAC的转换时钟,该时钟信号是通过并串转换器恢复出来的发射端系统的发射时钟。

结语
此套数字式光端机系统,实现了各个监控点和总监控室的信号远程传输。各监控点的摄像头传回视频信号,总监控室通过485数据接口线对各个摄像头进行远程控制。远程两端之间还可以进行话音通信。具有一定的使用价值和工程意义。
本文地址:https://www.eechina.com/thread-58027-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表