·上一文章:基于ARM+FPGA的重构控制器设计
·下一文章:基于AD9850的信号发生器的设计与实现
2.2.2 CS5460A的初始化
在该系统中,CS5460A的工作时钟MCLK选定为4.096 MHz,分频系数K设为1,循环计数寄存器的N值设为4 000,则一个基本的计算周期为(1 024×N)/(MCLK/K)=1 s。
CS5460A与单片机的接口非常简单,但它的初始化命令较多,使用上有一定的技巧,如使用不当有时可能初始化不成功,引起芯片的转换出错,使系统不能正常工作。所以在使用过程中将初始化过程反复调试,编成通用子程序,使用时调用,可确保每次运行的准确、可靠。CS5460A初始化子程序框图如图9所示。
CS5460A初始化程序如下:
CS5460A WriteReg(0x40); //写配置寄存器
CS5460A_WriteReg(0x78); //写控制寄存器
CS5460A WriteReg(0x74); //写屏蔽寄存器
read byte(); //从E2PROM中读取校准值
CS5460A_WriteReg(Ox60); //写交流电流偏移寄存器
CS5460A_WriteReg(Ox62); //写交流电压偏移寄存器
CS5460A_WriteReg(0x44); //写交流电流增益寄存器
CS5460A_WriteReg(0x48); //写交流电压增益寄存器
CS5460A_WriteCommand(0xe8); //写入开始转换命令
2.3 ZLG500C的程序设计
ZLG500C模块通过对上位机电能数据的存取,和对非接触IC卡的值操作,可以实现对电表的远程付费。