嵌入式系统中如何管理芯片级通讯总线协议

发布于 2020-11-20 12:17:18

当线程和软件定时器中断都需要访问同一IIC总线时,为避免软件定时器中断服务函数操作的时间太长,应如何管理IIC、SPI总线,才能让系统实时性更高?

查看更多

关注者
1
被浏览
100
2 个回答
aozima
aozima 2020-11-20
拒绝白嫖,拒绝键盘侠!

提高总线速度呗

你先自己分析下你的需求指标,当前方案的数据,以及可能会有的问题。

比如i2c读取数据,线程和定时器各需要1ms。
需求指标要求5ms必须完成,请问如何才能让系统实时性更高?

QIGI_6049
QIGI_6049 2020-11-20

只是我碰到了下面这样一个问题。
已知条件:

1、IIC总线有50ms超时的互斥锁。
2、1ms定时器需要通过IIC获取一些数据,读取数据的过程需要花费十几ms。
3、任务线程里面也需要通过IIC获取一些数据,该线程是100ms调度一次。

产生的现象:

1、在1ms定时器中断里面处理十几ms的数据,这显然是破坏了实时性。
2、由于线程至少是100ms调度一次,当该线程申请到该IIC互斥锁还未来得及释放时,这时候响应了1ms定时器中断,就会导致1ms定时器被拉长至指定的50ms超时时间后才会退出该中断,也是破坏了系统的实时性。

提问:

1、如何合理的管理起IIC、SPI这类的总线协议,才能不破坏系统实时性?

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览