找回密码
 注册
搜索
查看: 1013|回复: 2

[讨论] 关于双模通讯问题,急急急(sc16is750)

[复制链接]
发表于 2010-1-7 10:38:24 | 显示全部楼层 |阅读模式
使用QSC6085和MTK6223的BB,通讯用的是第三方的sc16is750(i2c转UART芯片)

C主控G,G上报数据是通过sc芯片FIFO(64byte)产生中断通知C模块,再由C通过I2C方式去获取FIFO里的值

但是在开机过程中,会造成死机,根据打印信息来看,是由于配置该中断时就走不下去了
出现几率大概是一天一直尝试,大概会有2-4次

围绕此中断做了多种试验:
1)将该中断延后配置,防止G模块开机时发送数据导致中断问题
2)将该中断添加中断保护,即来中断暂停,读完FIFO再开启中断
3)修改sc芯片的中断产生原理,将默认的8byte产生分别修改为16byte和56byte

1)和2)方法都为失败
3)方法中的16byte修改后,出现几率明显降低,但仍会出现,56byte较易出现

有哪位高手有过此类经验,求赐教,急急急!!!
发表于 2010-1-7 13:13:27 | 显示全部楼层
通过文字描述死机相关的信息,前提是你描述现象是正确的.最好是附上assert 信息.不然分析的方向会产生偏离
建设你的描述是正确的.程序走到中断配置就无法走下去了.又根据你的硬件双模的沟通方式,我个人猜测可能是频繁中断引起的死机.
所以我建议你检测如下方面信息
硬件方面:
检查你的iqr signal 是否异常,从而导致中断异常死机.用示波器设置触发模式,触发方式.抓取信号分析.
irq sigal 异常可能的原因,上拉,下拉幅度不足(逻辑0,逻辑1的电平要求,)造成的,也有可能受周围其他器件的干扰(rf)造成信号异常.
软件方面
1:正确配置 modem的 data ind irq.配置前disable 该中断源.sc750的fifo是需要配置一个合适的full thread value.可以用
1/2,1/4,1/8.....这个会影响中断的频繁度.特别是开机的时候,双模通讯非常之频繁.
2:寻找比较合适的boot follow 开启你的 gsm modem(假是可以控制的.在主控端准备好接收数据的时候),并使能中断源
3:irq中断处理,只做data read 操作,并放到 ram buffer中.不要做其他耗时的处理.
4:搭建的硬件通讯最好是可靠的,比如有流控机制.
点评回复

使用道具 举报

发表于 2010-1-7 13:17:37 | 显示全部楼层
如果6223 做modem,可以自己控制与sc750的通讯,那么也可以做一些改善,前提是因为交互频繁造成的.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-25 22:21 , Processed in 0.102470 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表