我对AD采集的数据进行1s统计,统计 完后直接由串口发往上位机,现在1s统计量也能正常统计(共6个字节),串口也能以1s间隔往上位机上传数据,但是发现串口往上位机传输的一直都是6个字节的00,也就是说统计量没有正确地输送给串口模块。我把统计量传递给串口模块的程序贴上,还有SignalTap II上看到的1s统计量截图贴上。截图上Dataout数据就是1s统计量 2B0H,可以看到在1s定时(timer1s信号)到来时,统计量也相应出现了数据,但是Dataout传递给串口的数据rData可以看到却是00,也就是没传递过来,为什么?另外,从RTL电路图上看,数据之间的传输线是连接上的,因此,问题有点疑惑。
在其它论坛也问过了,可是一直没弄好,因此发到这里再来问问。 下面是我数据传递的程序。
module control_module
(
clk_a,RSTn,
TX_Done_Sig,
timer1s,
Data_out,
TX_En_Sig,TX_Data
);
input clk_a;
input RSTn;
input TX_Done_Sig;
input timer1s;
input [47:0] Data_out;
output TX_En_Sig;
output [47:0] TX_Data;
reg isEn;
reg [47:0] rData;
always @ ( posedge clk_a or negedge RSTn )
begin
if ( !RSTn )
begin
isEn <= 1'b0;
rData <= 0;
end
else if ( TX_Done_Sig )
begin
isEn <= 1'b0;
end
else if ( timer1s ) //1s定时到,统计量Data_out传递给rData用于串口传输
begin
rData <= Data_out;
isEn <= 1'b1;
end
end
assign TX_Data = rData;
assign TX_En_Sig = isEn;
endmodule
(, 下载次数: 0)
上传
点击文件名下载附件
此帖出自
小平头技术问答
波特率绝对正确,这个都是直接利用现有模块!
一周热门 更多>