wxl_972116
驱动牛犊
驱动牛犊
  • 注册日期2007-06-18
  • 最后登录2007-07-09
  • 粉丝0
  • 关注0
  • 积分140分
  • 威望15点
  • 贡献值0点
  • 好评度14点
  • 原创分1分
  • 专家分0分
阅读:2768回复:5

枚举终于成功了,把碰到的问题以及解决方案发上来

楼主#
更多 发布于:2007-06-30 12:44
处理器用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位,所以在移植单片机程序的时候要对数据类型进行一定的处理.

耽搁了半个月,终于看到发现新硬件的字样,感觉真是好啊,现在回头想想,没有什么问题是解决不了的,关键是方法,一定要先分析问题产生的原因,不要盲目的替换,这方面走了不少弯路,自寻了很多郁闷.

zupub
驱动牛犊
驱动牛犊
  • 注册日期2007-06-28
  • 最后登录2008-11-09
  • 粉丝0
  • 关注0
  • 积分232分
  • 威望26点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-30 14:01
祝贺你啊!
有问题确实让人郁闷,但成就感让人不忍放弃
gklz1982
驱动牛犊
驱动牛犊
  • 注册日期2007-06-29
  • 最后登录2008-09-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望22点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-03 20:40
能不能把你的固件程序发上来呢??参考一下,,我现在还没头绪呢,,用的是D12,  处理器用的是MSP430
wxl_972116
驱动牛犊
驱动牛犊
  • 注册日期2007-06-18
  • 最后登录2007-07-09
  • 粉丝0
  • 关注0
  • 积分140分
  • 威望15点
  • 贡献值0点
  • 好评度14点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-07-04 10:43
我的程序还涉及到一些其他功能,可能比较乱,发一个我参考别人的程序上来吧
livaroc
驱动牛犊
驱动牛犊
  • 注册日期2006-11-08
  • 最后登录2007-07-18
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-09 14:22
恭喜啊,感谢楼主分享
驱网无线,快乐无限
schen
驱动牛犊
驱动牛犊
  • 注册日期2008-05-06
  • 最后登录2008-12-31
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望86点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-11-21 11:09
good.
OK
游客

返回顶部