原创 USB2ISP-DIP28读取ADC0831数据实验

2010-8-30 23:25 3514 11 9 分类: 通信

范例七 USB2ISP-DIP28读取ADC0831数据实验   


l        硬件平台 USB2ISP-DIP28和ADC0831


USB-ezIO内部集成了SPI接口的ADC数据读取。支持4线制SPI的字节读写模式以及位读写模式,本范例采用的就是SPI的位读写模式,采用的功能模块是器件-SPI器件-ADC0831。


ADC0831是一个支持差分输入的8位ADC,5V的参考电压,单次转换的时间是32us,支持SPI总线传输,其时序如下所示。


5dde2c10-3d41-4060-a468-c6aa28a82d23.jpg



图5.34 ADC0831的时序


CS拉低即开始了ADC的转换,CS拉高停止转换,转换的结果从第2个时钟开始。因此一次ADC0831转换结果的读取最少需要9个时钟。


l        硬件连线


6d9b8d54-f4b4-4216-a77a-14a37e348c0a.jpg



图5.35 ADC0831数据读取的电路原理图


65d16c6d-b26d-4fa0-813f-6c0113f2c575.jpg



图5.36 ADC0831数据读取实验电路


l        范例步骤


按照SPI协议连接好硬件模块,【启动软件】—【器件】—【SPI器件】—【ADC采样器】—【ADC(8bit)】—【ADC0831】,设置量程范围为0-5000毫伏,采样间隔为200ms,单击开始按钮,即可以开始采样数据。得到如下图所示。


da1ff4e7-9655-46e1-b579-1da10e5b943f.jpg



图5.37 ADC0831数据采集模块界面1


通过不断地旋转电位计,我们得到了如下的采集曲线。


9255b2c3-c101-48c4-b6b4-5d1849bcac0b.jpg



图5.38 ADC0831数据采集模块界面2


具体的操作见视频ADC0831.EXE。


为了更好的理解ADC0831的时序,我们采用了USB-ezIO_SDK,以命令行的模式读取ADC0831的数据,这里仅给出了结果的一些说明,具体操作见视频ADC0831-SDK.EXE。


fd5ab45e-4868-41dc-90d6-f4c5659627e1.jpg



图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,与实际测量值一致。


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条