基于STM32F103C8T6的电容采集系统
概要
主控:SMT32F103C8T6
采集芯片:PCAP01AD(可实现多路采集的ADC)
电源:两块TPS7333分别给上述两颗IC供电
电路原理图
PCAP01AD寄存器配置
void pcap01_init(void)
{
SPI_Enable();
delay_ms(1);
//8bit操作码88H表示复位所有状态
write_date_8(0x88);
delay_ms(1);
spi_test();
//SPI_Enable();
//delay_ms(1);
//write_date_8(0x88);
//delay_ms(1);
write_firmware();
//寄存器0设置
SPI_Disable();
__3nop();
write_date_32(0xc04200FF);
//寄存器1设置
SPI_Disable();
__3nop();
write_date_32(0xC1201022);
//寄存器2设置
SPI_Disable();
__3nop();
write_date_32(0xc21f150B);
//寄存器3设置
SPI_Disable();
__3nop();
write_date_32(0xc3062001);
//寄存器4设置
SPI_Disable();
__3nop();
write_date_32(0xc4080510);
//寄存器5设置
// SPI_Disable();
// __3nop();
// write_date_32(0xc5000000);
//寄存器6设置
// SPI_Disable();
// __3nop();
// write_date_32(0xc6004140);
//寄存器7设置
SPI_Disable();
__3nop();
write_date_32(0xc71F0000);
//寄存器8设置
SPI_Disable();
__3nop();
write_date_32(0xc8800010);
//寄存器9设置
// SPI_Disable();
// __3nop();
// write_date_32(0xc9BF208F);
//寄存器10设置
SPI_Disable();
__3nop();
write_date_32(0xca180047);
//Param2寄存器设置
// SPI_Disable();
// __3nop();
// write_date_32(0xcd000007);
//Param3寄存器设置
// SPI_Disable();
// __3nop();
// write_date_32(0xce002ff0);
//Param4寄存器设置
// SPI_Disable();
// __3nop();
// write_date_32(0xcf000000);
//Param7寄存器设置(写配置)
SPI_Disable();
__3nop();
write_date_32(0xD2000000);
__3nop();
//Param8寄存器设置
// SPI_Disable();
// __3nop();
// write_date_32(0xD3200000);
// __3nop();
//寄存器20设置
SPI_Disable();
__3nop();
write_date_32(0xD4000001);
__3nop();
//8bit操作码8AH表示复位
SPI_Disable();
__3nop();
write_date_8(0x8a);
__3nop();
//8bit操作码8CH表示开始一次电容测量
SPI_Disable();
__3nop();
write_date_8(0x8c);
}
其中寄存器2决定着采集通路数以及采集模式,该芯片主要有接地和漂移两种测量方案,具体可以看数据手册。