阅读:2768回复:5
枚举终于成功了,把碰到的问题以及解决方案发上来
处理器用TI公司的2407,USB控制芯片用PDIUSBD12,硬件连接描述如下:DSP外扩一块64K的RAM,映射到数据空间和程序空间,片选使用IS和STRB的逻辑组合,D12映射到DSP的IO空间,片选接IS.
1.碰到的第一个问题是DSP和D12的时序配合问题,在DSP程序中设置等待状态寄存器,插入等待状态,我设置了7个时钟周期,估计还可以小一点. 2.D12可以写入数据但读不出数据,原因是D12和RAM的片选冲突,修改RAM的片选如上所示,问题解决,可以正确读出chipid. 3.还是D12的中断触发方式问题,由于2407的中断是边沿触发,为了配合D12的电平触发,改中断方式为查询方式,即在主循环中查询中断引脚的状态,低电平时调用中断处理函数. 4.数据类型的问题,在2407的编译器中没有8位的数据类型,unsigned char 的长度为16位,所以在移植单片机程序的时候要对数据类型进行一定的处理. 耽搁了半个月,终于看到发现新硬件的字样,感觉真是好啊,现在回头想想,没有什么问题是解决不了的,关键是方法,一定要先分析问题产生的原因,不要盲目的替换,这方面走了不少弯路,自寻了很多郁闷. |
|
沙发#
发布于:2007-06-30 14:01
祝贺你啊!
有问题确实让人郁闷,但成就感让人不忍放弃 |
|
板凳#
发布于:2007-07-03 20:40
能不能把你的固件程序发上来呢??参考一下,,我现在还没头绪呢,,用的是D12, 处理器用的是MSP430
|
|
地板#
发布于:2007-07-04 10:43
我的程序还涉及到一些其他功能,可能比较乱,发一个我参考别人的程序上来吧
|
|
地下室#
发布于:2007-07-09 14:22
恭喜啊,感谢楼主分享
|
|
|
5楼#
发布于:2008-11-21 11:09
good.
|
|
|