采集控制模块(Ctrol)是整个设计的时序控制核心,它输出的ctrol与16位二进制加减计数模块(bit16addsub)的EN向连接便可实现自动控制计数的启动,待计数周期溢出时停止,计数完成后由stopsign后给出高电平信号通知MCU。其完整代码如下:
module Ctrol(input wire reset, //复位信号
input wire cpu_alw, //MCU允许信号
input wire chop_in, //斩光器输入计数
input wire [16:0] status_in, //计数周期数值
output reg ctrol, //加减计数器的启停控制信号
output reg stopsign //计数完成信号
);
reg [16:0]num_count;//内部计数周期寄存器
always @(posedge reset or posedge chop_in)
begin
if(reset)//复位
begin
num_count<=status_in; //读入计数周期
ctrol<=0; //停止计数
stopsign<=0; //没有完成计数
end
else if(chop_in==1&&cpu_alw==1)//允许计数
begin
if(num_count>0) //采集未完成
begin
ctrol<=1; //16加减计数器使能
num_count<=num_count-1;//计数周期减一
end
else
begin
ctrol<=0; //计数停止
stopsign<=1; //通知MCU
end
end
end
endmodule
读写接口模块(Addselec)在编程时采用通用的双向数据总线输入输出方法,经过a2_0的3线译码选择寄存器地址,可对计数周期和预置数进行赋值,并可读出最后计数结果。表1给出了译码对应的寄存器地址。
图4给出了使用ModelSim 软件对写信号有效的仿真波形,显示最后计数周期低、高8位写入的数值为00000101、00000000,预置数低、高8位数值为00000011、00000000。

4 背景噪声扣除电路与MCU接口及软件操作

采用上述设计的集成背景噪声扣除电路在与MCU接口时十分方便。以MCS51系列单片机8051为例,最简单的连接方式为采用P1口与CLR、 cpu_alw、stop_sign相连接,址线与CS、a2_0连接(可据电路规模设置片选方式),数据线、读写正常连接即可。软件操作不需要中断,操作流程如图5所示。更简单的做法是在系统初始化时将预置数和计数周期赋值为固定值即可。
5 结束语
本文介绍了采用计数器与门电路组成的背景噪声扣除电路的实现原理和工作方式,并分析了其局限性,然后提出了一种基于VerilogHDL 语言的背景噪声扣除电路的设计,使电路接口更为简单,软件更易操作,增强了移植性。该设计已经应用于在研的紫外遥感仪器中,为仪器的更新换代提供了技术支持。本文以通用性和简便性出发设计的背景噪声扣除电路的设计,将适用于以光电调制微弱直流量转换为交流信号测量的方案。
本文作者创新点:针对原有背景噪声扣除功能单元的局限性,用VerilogHDL语言设计出了接口方便、易操作的背景噪声扣除电路,使其有具备了较强的通用性和适用性。
参考文献
[1]汪龙祺等. 基于单片机控制的增益自动转换设计[J].微计算机信息,2007.8
[2]李俊一等. 基于Verilog HDL设计的多功能数字钟[J].微计算机信息,2006,04-2:79-81
[3]宋克非. 一种用于空间辐射测量的信号检测方法[J].光学精密工程,1999.7-3
[4]曾庆勇. 微弱信号检测[M] .浙江大学出版社1994.1
[5]王冠等. Verilog HDL与数字电路设计[M]. 机械工业出版社 2006.1
