1.4 时钟模块的接口设计
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:RST复位端;I/0数据线;SCLK串行时钟时钟。RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。 DS1302工作时功耗很低保持数据和时钟信息时功率小于1 mW。其接口电路如图5所示。
1.5 E2PROM模块的接口设计
该芯片内的串行E2PROM是具有Xicor公司块锁的保护功能的CMOS串行E2PROM,它被组织成8位结构,由一个四线构成的SPI总线方式进行操作,其擦写次数至少有l 000 000次,并且能保存数据长达100年。X5045的接口电路如图6所示。
1.6 ZLG500C的接口设计
为了能减少I/0口的占用,提高系统的集成度,本系统采用ZLG500C读卡器模块来进行开发。ZLG500C以MFRC500为主体,该系列模块具有如下特点:四层电路板设计,双面表贴工艺,EMC性能优良;采用PHILIPs高集成度读卡芯片MFRC500;具有控制线和可控蜂鸣器信号输出;能读写 MFRC500内E2PROM;支持Mifarel S50,Mifarel S70,MifareUltraLight,Mifare Light。
在使用时只需将Rx,Tx和相应控制接口接入MAX485的相应端口即可,模块中所具有的微控制器能根据特定的数据格式,进行网络层和数据链路层的格式转换,使得ZLG500C和单片机之间进行通讯。
2 系统软件设计
2.1 系统主体程序框架设计
整个系统软件由主程序与数据采集子程序、数据记录子程序、数据通信子程序、异常处理子程序、显示子程序等组成。如图7所示。
2.2 CS5460A的程序设计
2.2.1 CS5460A的校准
为了能使提高CS5460A的实际测量准确度,在开始测量前要对其进行校准。CS5460A提供AC和DC校准。用户通过设置校准命令字中的相应位来决定执行那种校准,不管是那种校准都有两种模式:系统偏移校准和系统增益校准。无论是AC还是DC校准,用户部必须提供正的满量程信号以完成系统增益校准以及参考地电平以完成系统偏移校准,用户提供的校准信号的差分电压必须限定在差分电压输入范围内。因为本文使用的是市电即交流信号(220 V,50 Hz),所以校准均采用AC校准。AC偏移校准时需提供零电压和零电流信号,最后得到的实际测量值=线性值+偏移值;AC增益校准实质是对CS5460A 的电压电流有效值寄存器、电能寄存器进行系统刻度校准,需提供满量程电压电流信号。最后使得对应输入端校准参考信号电平的电压有效值寄存器(RMS)的值为0.6。然而,每次复位会将偏移寄存器清O和增益寄存器置1,因此,将第一次校准得到的偏移寄存器值、增益寄存器值保存在E2PROM,每次复位后,CS5460A初始化时将这些值重新装入对应的寄存器中。校准的一般流程如图8所示。
来源:电子工程世界