范例七 USB2ISP-DIP28读取ADC0831数据实验
l 硬件平台 USB2ISP-DIP28和ADC0831
USB-ezIO内部集成了SPI接口的ADC数据读取。支持4线制SPI的字节读写模式以及位读写模式,本范例采用的就是SPI的位读写模式,采用的功能模块是器件-SPI器件-ADC0831。
ADC0831是一个支持差分输入的8位ADC,5V的参考电压,单次转换的时间是32us,支持SPI总线传输,其时序如下所示。
图5.34 ADC0831的时序
CS拉低即开始了ADC的转换,CS拉高停止转换,转换的结果从第2个时钟开始。因此一次ADC0831转换结果的读取最少需要9个时钟。
l 硬件连线
图5.35 ADC0831数据读取的电路原理图
图5.36 ADC0831数据读取实验电路
l 范例步骤
按照SPI协议连接好硬件模块,【启动软件】—【器件】—【SPI器件】—【ADC采样器】—【ADC(8bit)】—【ADC0831】,设置量程范围为0-5000毫伏,采样间隔为200ms,单击开始按钮,即可以开始采样数据。得到如下图所示。
图5.37 ADC0831数据采集模块界面1
通过不断地旋转电位计,我们得到了如下的采集曲线。
图5.38 ADC0831数据采集模块界面2
具体的操作见视频ADC0831.EXE。
为了更好的理解ADC0831的时序,我们采用了USB-ezIO_SDK,以命令行的模式读取ADC0831的数据,这里仅给出了结果的一些说明,具体操作见视频ADC0831-SDK.EXE。
图5.39 ADC0831的操作及其结果
这里传输的字节数为12个,注意每个字节的BIT4对应到MOSI引脚的输出值,BIT7对应到MISO引脚的输入值,BIT0,1,2分别对于这CS0,CS1,CS2的值。我们硬件选择的片选为CS0,因此我们输入的数据流为1 0 0 0 0 0 0 0 0 0 0 1,表示第一个时钟CS0为高,第二个时钟CS0拉低,开始SPI数据传输,直到第11个时钟,第12个时钟时CS再次拉高,表示传输结束。
我们得到的返回值为 1 0 0 1 0 1 1 1 1 0 0 1。按照ADC0831的时序图,返回值应该为0010 1111,换算的电压值为921mv,与实际测量值一致。
文章评论(0条评论)
登录后参与讨论