打印
[ZLG-ARM]

D12初始化求救

[复制链接]
2070|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
straw_2005|  楼主 | 2007-6-17 12:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的CPU是2220,按照2210开发板做了D12,可以控制softconnect,因为可以看到LED在闪,可是每次读D12的
ID都为0x1212,但是用FB命令设置DMA后,然后再读出是对的,也就是读两个字节就错,而且第二个字节跟第一个字节一样,读D12中断寄存器就为0x4040,这个问题我找了很久不知道怎么回事.我在内存里看,当发送读ID命令FD的时候发现从0x82000000(包括)以后的内存区全变为0x1212,而我用好的开发板44B0(D12 USB可以正常运行)发现,当发送FD命令后,相应的内存区(由于CS不同,这里是0x2000000)0x2000000为0x12,0x2000001为0x10,以后的全为0.补充一下,用FB命令发现设置后,0x82000000以后的内存区域也全部为所设置的值,而不是就只有0x82000000 这个地址上为设置的值,郁闷啊,请ZLG给解释一下啊,都急死了,2210跟2220是兼容的吧在这里?

相关帖子

沙发
straw_2005|  楼主 | 2007-6-17 13:01 | 只看该作者

补充相关图片

我用的是ZLG提供的代码,也就是2200开发板光盘里的代码

44B0发送FD命令后
0x02000000  12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x02000010  12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x02000020  12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x02000030  12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x02000040  12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x02000050  12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

2220发送FD命令后

0x82000000  12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 
0x82000010  12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 
0x82000020  12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 
0x82000030  12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 
0x82000040  12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 

使用特权

评论回复
板凳
smartcode| | 2007-6-18 08:32 | 只看该作者

可能是时序问题

D12要求片选信号比读写信号慢结束,而ARM的片选和读写信号是同时开始、同时结束的,所以要在硬件上加延时。
如果上面这点你有做到,那还有可能是你把BANK总线读写速度配置的太快了,速度降低一点试一下。

使用特权

评论回复
地板
straw_2005|  楼主 | 2007-6-18 13:39 | 只看该作者

谢谢关注

恩好的,晚上回去我按照你说的仔细看看,多谢关注哦 

使用特权

评论回复
5
straw_2005|  楼主 | 2007-6-18 15:03 | 只看该作者

一问

D12要求片选信号比读写信号慢结束,而ARM的片选和读写信号是同时开始、同时结束的,所以要在硬件上加延时。----------->我查了下datasheet,参数如下
    Symbol    Parameter                              Min  Max   Unit

d12:tRHCH    RD_N HIGH to CS_N (DMACK_N) HIGH time    5    -     ns
     
2220:tCSHOEH  CS HIGH to OE HIGH                     -5    5     ns

也就是说D12跟LPC2220在读时序上应该是匹配的,应该不需要加硬件延时吧?速度配置我再看代码!

这个问题希望大家能继续讨论下去!

使用特权

评论回复
6
straw_2005|  楼主 | 2007-6-25 19:10 | 只看该作者

请教

(7)工程模板配置外部RAM和外部FLASH ROM总线的访问速度是适应于大部分型号的RAM与FLASH ROM的。对于EasyARM2200开发板上的RAM与FLASH ROM的型号,必须重新配置控制总线有关参数的BCFG0和BCFG1寄存器,这样程序的运行速度才能跟上PDIUSBD12的运行速度。这些值的配置的具体方法见LPC2200数据手册以及你所使用的RAM与FLASH ROM的数据手册。程序的运行速度主要与CPU主频与外部RAM、FLASH速度相关。这方面在模板的target.c的TargetResetInit()函数中修改。如程序清单1所
#ifdef __DEBUG //开发板上JP6接为:Bank0-RAM,Bank1-Flash,JP7接为:OUTSIDE
MEMMAP = 0x3; //remap
BCFG0 = 0x10000400; //外部RAM
BCFG1 = 0x10000460; //外部Flash
#endif
#ifdef __OUT_CHIP //开发板上JP6接为:Bank0-Flash,Bank1-RAM,JP7接为:OUTSIDE
MEMMAP = 0x3; //remap
BCFG0 = 0x10000460; //外部FLASH
BCFG1 = 0x10000400; //外部RAM
#endif
#ifdef __IN_CHIP //开发板上JP6接为:Bank0-RAM,Bank1-Flash,JP7接为:INSIDE
MEMMAP = 0x1; //remap
BCFG0 = 0x10000400; //外部RAM
BCFG1 = 0x10000460; //外部Flash
#endif
请问大侠们下面是什么意思:我的问题可能是这里么?特别请ZLG看下
对于EasyARM2200开发板上的RAM与FLASH ROM的型号,必须重新配置控制总线有关参数的BCFG0和BCFG1寄存器,这样程序的运行速度才能跟上PDIUSBD12的运行速度。

使用特权

评论回复
7
straw_2005|  楼主 | 2007-6-27 22:58 | 只看该作者

失望

没有人知道这个问题么?我对CLKOUT设置后用示波器看了,CLKOUT是可以设置进去的,可就是读ID始终不对,

ZLG的支持感觉也不过如此啊,连这个问题也不敢答复一下郁闷

使用特权

评论回复
8
straw_2005|  楼主 | 2007-7-2 08:39 | 只看该作者

结帖+失望

如题 

使用特权

评论回复
9
zlgarm| | 2007-7-2 12:19 | 只看该作者

解决方法

    LPC22100 的片选信号CS 与OE 几乎同时结束,而PDIUSBD12 要求片选信号比读信号慢结束至少5ns。
    为了解决这个问题,必须延迟CS 信号的结束时间。解决的方法是:在LPC2210 片选CS 输出到PDIUSBD12 的CS_N 引脚之间串两个门,起到延迟信号的作用。
    请发Email到usbdriver@zlgmcu.com,索取一份更加详细的说明.在email中写明你的开发板的序列号及你的要求.

使用特权

评论回复
10
straw_2005|  楼主 | 2007-7-2 13:11 | 只看该作者

没有串门,问题已经解决,谢谢

应该早点给个说明,不过还是挺谢谢的 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

1

粉丝