|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
MEGA128与DS12887连接问题 |
作者:赵天云 栏目:单片机 |
我使用MEGA128与DS12887实时时钟芯片连接时,总是不能正确写入和读出时间,请问是怎么回事? 128与12887连线有PA0、RD、WR、ALE、CS;我以前用51系列没有发生任何问题。 我已经允许了128的外部RAM,DS12887作为外部RAM单元读写,也试过了0-3种External Data MEMORY Cycles Wait-state,结果都不行。 请问各位我该如何处理这种情况。是否与DS12887自身的地址锁存有关。 我使用DS1245作为外扩RAM也有同样问题,是否和我使用普通的74HC373有关。 |
2楼: | >>参与讨论 |
作者: jzbox 于 2003/5/23 18:24:00 发布:
RE 1.地址选通线会不会有问题; 2.插入等待时间试一试; 3.如果怀疑373,那把373去掉,只调12887试一试。 |
3楼: | >>参与讨论 |
作者: liuant 于 2003/5/23 18:40:00 发布:
察看你的cs 如果你 的cs 使用的是PORC.X 呵呵.......... 若是用其他口线,有可能在程序初始化中 未定义或错误定义方向寄存器或初始电平。 另外若PA口只用于12887,373可以扔掉。 |
4楼: | >>参与讨论 |
作者: 赵天云 于 2003/5/24 14:54:00 发布:
继续 谢谢两位,首先说我的片选肯定没问题,也不会犯端口定义的错误。 不过我把外扩的RAM和373取了下来,结果还是不能写,已经可读了。 我不能在指令中插入等待时间吧,因为我用的是STS指令和lds指令,其时序是由128自己决定的,我试了four different wait-state setting,结果仍然没有解决问题。 下午,我偶然在允许外部RAM指令后加入了50-100MS的延时,结果可以写入了。问题基本解决了,但是我不明白为什么要在ldi r16,(1<<sre);out mcucr,r16后延时这么久呢?延时10ms同样不行,也就是说不是要等External MEMORY Interface稳定的问题,那时什么原因呢? |
5楼: | >>参与讨论 |
作者: 赵天云 于 2003/5/24 14:58:00 发布:
新问题 上面的问题解决了,但当我把外扩的RAM和373放回去的时候,12887的读出又出现了问题,其中大部分的读结果是错误的,有时对。 我的片选绝对没问题,因为我根本没有使能外扩RAM。 |
6楼: | >>参与讨论 |
作者: 至尊宝 于 2003/5/27 12:35:00 发布:
我的没有问题 你初始化的时候怎么做的,000A和000B操作时涉及到了低4K的读写。 |
7楼: | >>参与讨论 |
作者: jzbox 于 2003/5/27 16:53:00 发布:
会不会373或RAM有问题呢? |
8楼: | >>参与讨论 |
作者: smileyang 于 2004/3/6 11:35:00 发布:
MEGA128里有RTC啊,干吗还要外加一个真浪费 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |