基于FPGA处理器的数字光端机系统分析
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@(posedgeclk_in)
begin
if(reset)
clk_out<=0;
else
clk_out<="clk_out;
end
always@(posedgeclk_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@(posedgeclk_in)
begin
if(reset)
begintdc<=0; end
elsebegin
if(cnt0==7)
begin
tdc<="tdc;
cnt0<=0;
end
else
cnt0<=cnt0+1;
end
end
always@(posedgetdc)
begin
if(cnt1==140)
begin
tde<="tde;
cnt1<=0;
end
else
cnt1<=cnt1+1;
end
always@(posedgetdc)
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@(posedgeclk_in)
begin
sn_clk<="sn_clk;
end
always
begin
sncontrol<=1;
end
always@(posedgesn_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数据接口线对各个摄像头进行远程控制。远程两端之间还可以进行话音通信。具有一定的使用价值和工程意义。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码