带有SPI接口的非接芯片开发心得
2014-06-17 14:46
176 查看
带有SPI接口的非接芯片开发心得
目前我们使用的非接芯片主要是通过SPI接口来实现通信的,因此本文结合非接芯片As39911和RC663对带有SPI接口的非接芯片操作做了一个总结,可供涉及相关领域的人员参考,同时欢迎与大家的讨论。同时文中也列些测试点,供项目相关人员快速定位问题、解决问题。芯片的具体应用功能不在讨论范围,主控芯片为SM32。
对于SPI接口芯片的操作问题主要归结为管脚配置、单/双工、主/从模式、8bit/16bit帧结构、时序配置、片选控制、波特率、高位/低位在前、CRC配置以及发送/接收模式配置(软件实现)。下面主要对容易出错的时序及发送/接收模式配置部分做深入探讨。
通常SPI通过4个引脚与外部器件相连,除此之外还有中断、复位信号。
●MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。从项目中的应用来看主控芯片为主设备,非接芯片为从设备。
● MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。
● SCK:时钟信号,由主控芯片产生。
● NSS:从设备选择。
对带有SPI接口的芯片进行操作时必须进行时序的配置,主从设备必须具有相同的时序。配置原理如下图1所示。
图1 SPI 接口时序图
对时序图分析后不难得出表1。
通过查看AS3911的芯片手册如图2可以发现,它是在时钟的第二个沿(下降沿)对数据进行采样,此时数据必须保持稳定,也就是满足所谓的建立保持时间,当然这个控制器已经帮我们设好了。因此参照表1,主控芯片的SPI接口必须设为CHPA = 1,CHPL=0。
图2 AS3911 SPI接口写操作
同样的通过分析RC3911的时序如图3,可以看到对于RC663是在时钟第一个沿(上升沿)进行数据采样,同样的数据也需满足建立保持时间。参照表1,可以得到RC663的时序配置,CHPA = 0,CHPL= 0。
图3 RC663 SPI接口时序图
接下来分析As3911的SPI接口传输模式。从AS3911的芯片手册如表2可以看到AS3911的SPI接口传输模式结合芯片功能特性分为五种模式。其中包括写、读、载入FIFO、读FIFO以及直接指令模式。写模式前两个位为00,后6位为需要访问的地址位。读模式前两位为01,后6位为需要访问的地址。载入FIFO直接发送0X80,对应的读FIFO为0xBF。对直接指令模式前两位为11,后6位为需要发送的指令。
未完待续。
转载请注明出处http://blog.csdn.net/gungunchang/。
相关文章推荐
- joomla!的VirtuaeMart和支付宝接口开发心得!
- 两系统之间的数据接口的开发过程与心得
- SPI接口时钟配置心得(转载)
- 关于接口开发的一点心得
- ArcGIS接口详细说明之个人开发心得
- 嵌入式驱动开发之dsp fpga通信接口---spi串行外围接口、emif sram接口
- java 服务器接口快速开发之servlet,自己的一点心得
- 使用GPIO控制SPI接口的AD芯片//来源不详
- 两系统之间的数据接口的开发过程与心得
- ArcGIS接口详细说明之个人开发心得
- 开发接口、接口设计心得
- asp.net mvc短信接口调用——阿里大于API开发心得
- 使用GPIO控制SPI接口的AD芯片 (转)
- 采用SPI接口的芯片
- 网站开发,从需求到前端到后端到部署到申请第三方各种接口,开发下来的心得
- 开发CXF-web项目,第二种发布方式(带有接口的发布方式)
- 复合控件开发中的一点心得
- 开发心得
- SSO接口开发-FAQ
- VC下利用Pro*C开发Oracle接口