|
用SRAM25616和EPM240做了个液晶控制器,快完工了,现在碰上了几乎最后的钉子,就是CPU(MEGA64)对SRAM读写有许多错误,不知如何解决。摄像
头自动写入储存器的数据看上去似乎正确。
用CPU对SRAM写入每行从小到大周期变化的数据,液晶显示出从暗到亮的图形,图形中有许多暗的斑点,再次对SRAM写入数据,斑点有所减少,甚至全
无,如果在程序中写储存器时连续写两次同一地址储存器好像没效果,单片机写储存器总线操作或模拟总线效果差不多,单片机对储存器读写的部分
CPLD程序如下,PCK为摄像头写入时钟,OU为摄像头写入过程保持高电平,FWR为CPU的WR的反相信号,可视为写有效信号,RWR、ROE为CPLD读写储存器
信号,这里当单片机写信号有效或摄像头自动写信号有效时,储存器的写信号有效,并且这两个信号有效时储存器的读控制信号为高电平,输出高阻
状态。
assign RWR = WR&&(PCK||!OU);
assign ROE = OU||FWR;
wire [15:0]DX;
assign DA = ((FWR||ALE) ? 8'bzzzzzzzz : DR[7:0]);
assign DX[7:0] = ((FWR) ? DA : S[9:2]);
assign DX[15:8]= ((FWR) ? DA : S[9:2]);
assign DR = ((FWR||OU) ? DX : 16'bzzzzzzzzzzzzzzzz );
程序中DA为CPLD链接CPU的数据线的三态端口,当单片机的写有效或ALE有效时,三态门高阻,否则输出DR信号,DR信号为链接储存器I/O口的16跟数据
线,当单片机写有效或摄像头写有效时该信号有输出,输出为DX,否则输出高阻,DX当单片机写有效时信号为链接单片机数据线信号的信号,否则为
摄像头数据。
上面说了这么多,不知您明白没明白。现在是单片机对储存器的部分数据写入不对,我想写入不对无非储存器的地址不对,数据不对,读写信号有问
题,现在不知那部分出了问题,液晶显示基本没问题,地址应该是对的,储存器是10nS的单片机时钟才7.4728M,改变写时钟宽度,问题没变化,我曾
想CPLD驱动不够,查了查手册储存器输入高电平大于2伏,输入低电平小于0.8伏即可,驱动应该没问题,
这问题出在哪里呢?
研发的地方暂时没网络,手机登陆不上账号,暂时上网只有早晚吃饭时 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|