打印

关于cs8900中断问题

[复制链接]
3142|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
deyeok|  楼主 | 2007-6-14 16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是s3c2410的cpu,接收帧设置的是接收广播和个人地址,采用的是中断接收,在启动之后第一次中断得到CS8900的ISQ寄存器数据是0x904,然后就不再产生中断了,后来发现在中断服务程序中连续读几次ISQ寄存器只有读到ISQ寄存器数据是0的时候才能产生下次中断,比如读3次ISQ数据依次是0x904,0x4,0,下一次中断就肯定能发生,如果读到的最后一次数据不是0则下一次中断就不能发生。并且ISQ读到的数据有时候连续多个值都不为0。仔细看了下芯片资料,发现ISQ为0的时候表示是无中断服务器的时候的值。这个问题一直不明白是怎么回事,是什么限制了中断的下次发生?有没有碰到过这种情况的?能否讲解一下啊?

相关帖子

沙发
阿南| | 2007-6-14 19:52 | 只看该作者

没有发现过该问题。请问楼主能否正确读出CS8900的ChipID:630e

使用特权

评论回复
板凳
deyeok|  楼主 | 2007-6-15 10:25 | 只看该作者

可以阿,id读出来是正确的,我怀疑还是初始化有问题.

但是看不出来什么问题,我的初始化:
1首先复位,给复位bit位置位.
2设置物理接口,选择10BASE-T
3设置全双工模式
4设置接收帧类型,选择RXOK,IA地址,广播地址3个bit位置1
5设置接收中断类型,RXOKiE位
6设置发送配置
7设置发送中断类型,不产生中断
8选择中断管脚位
9设置中断使能
10设置接收发送使能
请给看下流程有没有问题

使用特权

评论回复
地板
armecos| | 2007-6-15 11:20 | 只看该作者

看样子是中断操作引起的问题

    你先用查寻方式编程,看是否能正常驱动网络。
    因为不同CPU的中断处理机制不同,所以没有统一的中断处理程序。你用的中断是电平触发还是边沿触发?需要撤除中断吗?有顺序要求吗?中断在什么位置应答的?中断号是否设置正确?有无引脚复用问题?复用的话,他们之间是什么关系?接口是8bit还是16bit的?16bit时的顺序等等。这些细节都可能影响中断的正常处理。至于你所说的现象,明显是中断多次重入造成的,你调试中断程序就能发现问题。
    
    www.armecos.com提供的《ecos增值包》里有解决方案,网卡驱动支持基于中断的模式、8bit/16bit接口自由转换、单机/广播/组播,在ecos、VxWorks、u-boot、uClinux下均已成功运行。同时提供万能中断模板,适合各种CPU架构,包括2410。还提供中断调试环境,让您能进入中断调试。尤其特别适合EasyARM2200和SmartARM2200的用户。

使用特权

评论回复
5
飞儿369| | 2007-6-16 22:23 | 只看该作者

使用特权

评论回复
6
deyeok|  楼主 | 2007-6-27 09:11 | 只看该作者

现在用查询方式已经可以ping通了

但是中断方式还是没解决,CS8900用的中断方式是电平触发,没办法用边沿触发,具体电平触发应该是如何去做,现在还不是很清楚。我试过在中断服务程序里面开始先屏蔽掉该中断,等处理完成之后再打开仍然只能收到一次。中断服务程序具体步骤是:1屏蔽该中断。2清除中断标志位。3读ISQ寄存器,如果是04寄存器则再判断RXOK位是否置位,如果置位则发出一个信号。4打开该中断,整个中断服务程序完成。

使用特权

评论回复
7
deyeok|  楼主 | 2007-6-27 09:12 | 只看该作者

有没有哪位大虾有关于CS8900中断方式的驱动给发一份

谢谢了!email:deyeoksu@126.com

使用特权

评论回复
8
armecos| | 2007-6-27 17:34 | 只看该作者

你的处理步骤正确,

    但是你的分析不对,你怎么肯定只收到一次中断呢?证据何在?
    遇到这种问题不用问别人,直接调试就清楚了。
    另,《ecos增值包》提供针对8019的调试环境。

使用特权

评论回复
9
deyeok|  楼主 | 2007-6-29 09:22 | 只看该作者

中断调试

cs8900是高电平触发中断,第一次产生中断去读ISQ,中断管脚就变为低,以后就不再变为高了,只有在读出ISQ为0的时候才能产生下次中断。这可能就是芯片资料里说的中断队列问题吧,就是说一次中断可能有多个中断事件发生,只有在ISQ读到为0时才说明该次中断队列全部处理完成,ISQ不为0,就不会触发下次中断。我理解的是这样,不知道对不对。

使用特权

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

本版积分规则

11

主题

23

帖子

0

粉丝