I2C读取AD
MCP3421 为单通道低噪声、高精度、差分输入A/D转换器,分辨率高达18 位,提供微型SOT-23-6 封装。片上精密2.048V 参考电压使得差分输入电压范围为±2.048V (电压 = 4.096V)。该器件使用2 线I2C兼容串行接口,并采用2.7V 至5.5V 单电源供电。用户通过2 线I2C 串行接口对控制配置位进行设定,该器件提供两种转换模式:a) 连续转换模式; b) 单次转换模式。在单次转换模式下,器件在完成一次转换后自动进入低电流待机模式,这样可显著降低空闲期间的电流消耗。(MCP3421中文数据手册)
本例程通过Express Pi扩展口I2C对ADC芯片MCP3421进行AD采集。
1、界面
2、根据MCP3421数据手册,我们准备配置为单次16位的数据采集模式,配置字节值为 0x88 (1000 1000)
3、系统控件device.io.i2c提供了轮询事件,我们使能轮询来进行读写I2C。MCP3421芯片的总线选择地址是出厂值 0xD0 (7位地址1101 000, 1位读写控制位), 在Express Pi上我们使用的是8位的地址,0xD0转换为8位的地址即为0x68 ( 0 110 1000),先写入MCP3421的配置字节,因为MCP3421芯片没有寄存器地址,所以只需要写入配置字节0x88。写完配置寄存器后,接着再读取2个字节的数据(该芯片没有寄存器地址,读数据时寄存器地址传-1),最后换算成实际的电压值 (我们的测试板VIN-接的是地,所以电压值范围为0~4V)。
本实例完整工程,请在WeStudio中打开例程中的“综合演示”