
3 工作原理和SPI接口通信
3.1 SA9903B的工作原理
SA9903B为混合模拟/数字信号的CMOS集成电路,内部含有两个16位二阶的∑-△模/数转换器,分别对电压和电流模拟信号进行数字化处理,将瞬时电压与瞬时电流直接相乘得到瞬时功率。瞬时功率经低通滤波处理可获得瞬时有功功率,而瞬时无功功率是通过对电流信号移相90°后得到。瞬时有功功率和瞬时无功功率经过数字/频率转换器转换成正比的脉冲信号。这个信号被有功电能和无功电能计数器随时间累加。器件内部设有电压过零检测电路。电压每过一次零点产生一个占空比为50%的脉冲,频率寄存器将其累加。电压有效值是通过累加每个瞬时电压采样值并进行数字处理后得到的,可直接测量电路的4个参数:有功电能、无功电能、电压有效值和频率值。
3.2 SPI接口通信
SA9903B具有SPI串行通信接口,易于实现与单片机的通信。SPI通信是通过DI、DO、CS和SCK等4个引脚实现的。为保证能正确读取SA9903B的24位数据寄存器,要严格按照通信命令格式及时序的要求进行。读取寄存器命令格式见表1,命令序列由9位二进制数组成,前导位是3位固定值“110”,不能更改,后6位A5~A0为寄存器的地址码,表中“X”为0或1均可,未用位。图2为9位数据的操作时序。每个寄存器可以单独读取,也可以连续读取多个寄存器,DO引脚随时钟下降沿变为低电平,此后每个时钟的下降沿,DO引脚数据有效。24位数据是以先高位后低位的顺序移出。
