aliao
驱动牛犊
驱动牛犊
  • 注册日期2004-11-21
  • 最后登录2006-01-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4872回复:5

转发:1394调试手记

楼主#
更多 发布于:2004-11-23 20:19
 说实话,接手调试1394这个子项目时心里真没底,在一个月内把它搞定有点太鲁莽。虽然是我负责了这块原理图,但我不能确定它的接线是否正确,当时也没有时间仔细看datasheet,几乎就是把aa82的评估板完全copy(后来证明有很大的问题)。我对1394的协议几乎就没有什么了解,只知道一些性能方面的知识。介绍1394协议中文的书籍好像只有两本,我们只买了西电的那本,英文的协议资料找到的只有1394OHCI的协议。示波器也只有可怜的100M,后面经理虽说可以买高档一点的,但这个子项目并不是十分关键的,十来万的代价可能有点太大,所以没敢继续提。拼命在网上找资料,除了TI自己提供的,其他几乎就是没有,更不要说aa82与C6000连接相似的资料。计算机没有现成的1394接口,买的卡没有专门的驱动或调试程序。宝狮的1394卡在海龙卖的挺多的,打电话去它公司要一些这方面的支持,对方态度很好,但他们公司这方面的研发都在台北。唉,这么一点要求也泡汤了。
    困难重重,只能硬上。好事多磨,开始就极不顺利。配置CFR寄存器计划用3天,实际上用了3个星期。真郁闷。因为这个子项目不是强制要上的,这么一开始就没有头绪,有时真的想放弃,但自尊强迫我必须面对这个挑战,妈的,不到最后关头决不缴械,输也要输得绝望,否则我这辈子会后悔死的。一点点,一滴滴,仔细地分析时序,逻辑,连接,布线,发觉我们的数据总线的连接有问题,不能照搬评估板的,单片机与我们的DSP还是有区别的。改!切,切,切,把8跟数据线全移过去,把的地址数据配置也切掉(心想,这帮设计芯片的家伙累不累,一定要搞出这么多种连线方式,HOST 接口有4种,DMA接口有A-H种,烦不烦,既把自己累死,还害得我们受累)。果然有效果,00的CFR的高8位有戏了,靠,惊喜耶。终于向前进的方向挪动了一点点,尽管发了一些时间去熟悉协议,代码,资料,测试方法调研,但居然发了10天时间,太恐怖了。我以为接下来的路会比较顺,然而电路板又一次嘲笑了我。除了00的高8位像样,其余的寄存器就是乱来,最可恨的低8为不是FF就是00,CCS还经常死机。总线上可能还有问题。必须把其他的挂在总线的设备去,有4个芯片,由于板子上芯片比较密集,这四个有没有标准的的热吹风机接口。只能靠手工了。可废了一翻力气,但毕竟把他们弄下来了,原始的方法还是最管用的耶,窃喜,尽管几个焊盘,管脚被我搞掉了。还是不顶用。怪了!剩下的只有CPLD芯片了,疯狂地改代码,xinlin的破软件还不好使,编一次还重新分配管脚,真麻烦。期间,由于AA82的管脚比较密集,跳线的手艺不高,断一根8根几乎都要重新来焊接,没少折腾。靠!还是不管用,老天这不是消遣我嘛。先把它们移调再说,以后其他衔接的事情以后办。传说中的32位ID终于梦魇般地出现。是值得庆祝一下了,可事情还没有了结。读到地数据跟默认值不对。仔细地分析这些数据,发现一个规律,寄存器地值移了四个字节。虽然软件可以做到偏移,但毕竟没有硬件好。我们的DSP的最低位是A3,好把它抛掉,把A4移上来。结果一出来,居然移了8个字节,反了,只能用软件偏了,8个就8个,照偏。读回来值对了,写进去也有反应了,不错,总算有点进展了。
    时间不多了,后面的路还很长,必须加班加点了。接下来开始移值程序,初始化,配置ROM,硬件层协议,应用层程序,传输层协议我们暂时没用。初始化时遇到一点障碍,收不到中断,我们用软件“解决”了。我估计对协议,芯片还不是很了解,猛啃资料,晚上的时光好啊,周末一两天终于把那本书吃个透,现在讲它里面一些工作模式,机制,优缺点,接口原理并不会比TI1394培训人员差。接下来复位中断还是很少收到。中断写的可能有问题,倒腾一下把DSP的外部中断搞定,还是不正常。只能在分析资料,分析协议,各个环节尽可能的排除差错。终于在字里行间中找到了一点启示。改掉试试。OK!中断屡试不爽,百中百中。快了!现在信心逐渐地恢复,胜利再望。接下来接收数据的中断收到,接下来能够正确的发送数据……
    一个月过去,总算有了个交代。期间,历尽坎坷,感触颇多,才有此文,与大家一起分享,希望大家能吸取我的经验教训,少走弯路。最后说上几句对调试的总结吧,首先,一定要有信念,没有爬不过的山,坚信自己必胜,少给自己少后路,打退堂鼓。其次,要有吃苦精神,一定要敢啃硬骨头,该啃下的书,资料,一定要把它OVER掉。再次,一些调试方法,手艺还是蛮重要的。
dx166
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-24 10:24
这篇文章虽长
但其实什么都没说,看的人完全学不到东西,不知道一些对于调试起关键作用的东西,尽说一些什么“切,切,切”,“移过来”,怎么可能懂?
rifter
论坛版主
论坛版主
  • 注册日期2002-03-20
  • 最后登录2006-02-28
  • 粉丝1
  • 关注0
  • 积分65分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-23 22:08
这篇文章虽长
但其实什么都没说,看的人完全学不到东西,不知道一些对于调试起关键作用的东西,尽说一些什么“切,切,切”,“移过来”,怎么可能懂?



1个月的时间算很快了,

人家是在回忆自己收获的喜悦嘛
分数 你想要吗?
whale8888
驱动牛犊
驱动牛犊
  • 注册日期2004-04-27
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-15 15:36
你说的评估板那里有买,我想买一块.
ilovedrv
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望49点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-07-01 15:13
[quote] 首先,一定要有信念,没有爬不过的山,坚信自己必胜,少给自己少后路,打退堂鼓。其次,要有吃苦精神,一定要敢啃硬骨头,该啃下的书,资料,一定要把它OVER掉。再次,一些调试方法,手艺还是蛮重要的。

说的很有道理,碰到一次困难就退缩,以后就很难树立解决难题的信心了。
xzz88
驱动牛犊
驱动牛犊
  • 注册日期2008-11-16
  • 最后登录2018-08-15
  • 粉丝1
  • 关注2
  • 积分35分
  • 威望351点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2010-07-15 20:48
我看到一点自己的影子了
新手上路,请多关照!
游客

返回顶部