A/D转换器CS5550与单片机的接口程序设计
从图3及其数据手册中的相关说明可知。CS5550读取SDI线上的命令发生在SCK的上升沿,而其会在SCK下降沿发生后20 ns(典型值)之内将下一位数据发送到SDO线上。根据以上分析,可以得到图4所示的SPI接口函数编写流程。本文引用地址:https://www.eepw.com.cn/article/173394.htm
若仍以实现CS5550单次转换、单片机读取其数据寄存器为例,则CS5550的采集函数编写流程图与第3部分中的图2相同,只需要利用这个软件模拟的SPI接口函数替换前面流程中对SPDR寄存器的读写即可。
4 硬件设计与软件模拟SPI接口的比较
从上述讨论看出,硬件SPI接口的工作独立于CPU内核,这使得SPI数据的收发与CPU内核运算并行执行,提高单片机的工作效率。由于数据的收发完全由硬件完成,软件的编写不涉及具体收发细节,程序简单、速度快。而采用软件模拟实现SPI接口的方法则具有端口定义灵活、使用方便的特点。可以在不增加硬件成本的情况下,给不含SPI接口的单片机增加SPI通信功能。但软件模拟SPI需要占用CPU处理时间,故一般只在通信数据量不太大的情况下使用。
5 结束语
模数转换器和单片机在智能化仪表的应用广泛,本文讨论的CS5550与单片机的两种接口方式具有普遍意义,对其他类似的设计提供参考。目前,以上两种方法均已被应用到某基于CS5550的工业测温仪表中,取得较好效果。
评论