微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于FPGA处理器的数字光端机系统分析

基于FPGA处理器的数字光端机系统分析

时间:12-28 来源:互联网 点击:
系统软件设计

系统软件主要是对系统控制核心的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@(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数据接口线对各个摄像头进行远程控制。远程两端之间还可以进行话音通信。具有一定的使用价值和工程意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top