TI中文支持网
TI专业的中文技术问题搜集分享网站

如何设计一个高效、低功耗的spi驱动程序

spi的配置方法与uart差不多,但使用过程中总感觉不如uart灵活。例如,通常单片机在spi中处于主机地位,其发送和接收都是主动的,因此这两个中断的意义就不是很明显。作为主机要想得到spi的数据,就必须发送无效字符来产生spi的时钟。

如何利用spi的发送中断和接收中断,来编写较高效率的驱动程序呢,使得其占用较少的cpu资源,减少系统功耗。各位有什么好的解决方案吗?

灰小子:

还是要利用好msp430的低功耗模式,在不进行spi通讯时进入低功耗

Lichen Wang:

如果能增加一條信號線, 讓外圍用來要求主機中繼, 主機接到此中斷後才用 I2C 接收外圍的要求.  這樣可以避免主機不斷使用 I2C, 勞而無功.

此外也可以用 Timer 定期起動 I2C, 來探測外圍. 這樣也可以降低使用 I2C 的頻率.

Lichen Wang:

回复 Lichen Wang:

我上一個貼子說的是 I2C. 其實 SPI 也是一樣的。

Ken Wang:

楼主,

  解决办法有几个选择:

1. 配合使用DMA,减少CPU的work load

2. 尽量多使用低功耗模式

3.增加一根信号线,当从机有数据发送时,拉低,触发主机的I/O中断,然后发送时钟,收取数据。

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » 如何设计一个高效、低功耗的spi驱动程序
分享到: 更多 (0)