基于DSP无线抄表系统设计
扫描二维码
随时随地手机看文章
1 总体结构
系统采用高精度电能采集芯片CS5460A采集电量,采用DSP2812控制,处理后的数据通过无线收发模块nRF2401A,实现数据的无线传输,接收模块接收到前端采集系统采集的数据传送给上位机,上位机可以显示所需要的一些电参数,实现抄表收费一体化。系统结构如图1所示。
2 电能采集系统设计
选用CS5460A作为电能采集芯片,选用TI公司的TMS320F2812作为控制芯片。Cs5460A是高度集成的A/D转换器,它在单一芯片上结合了两个A/D转换器、高速功率计算功能和一个串行接口。该芯片是为精确测量和计算而设计的,可用于单相2或3线功率测量设备的能量、瞬时功率、瞬时电压、瞬时电流、电流有效值、电压有效值的测量。CS5460A可与一个低成本旁路电阻或变压器相联接以测量电流,也可与电阻分割器或测量用变压器相联接以测量电压。CS5460A带有一个与微控制器通信的双向串口和一个与供电成正比的可编程频率输出。CS5460A的片上功能还包括交流或直流系统校准。
CS5460A可以在单+5 V电源及双极性±5 V电源下运行,电流通道输入范围为50 mA或250 mA,电压通道为250 mV。在单电源供电时CS5460A的共模信号为-0.25 V到VA+。图2是CS5460A在单电源模式下单相2线系统的功率测量的电路图。此接线方式实现与电源线隔离。隔离通过3个变压器实现。一个是普通的变压器,用于提供CS5460A的直流电源。第二个是高精度、低阻抗的变压器(通常称为电压互感器),在较高的滤波下也具有很小的衰减和相位延迟。还有一个电流互感器用于测量电源线电流,一个电阻跨接在电流互感器的次极,对CS5460A的电流通道产生电流感应的电压信号。
3 无线通信系统设计
nRF2401A及其外围电路包括nRF2401A的芯片部分,稳压部分、晶振部分、天线部分。电压+5 V为芯片提供电压;晶振部分包括Y4,C44,C45晶振Y1允许值为:4 MHz,8 MHz,12 MHz,16 MHz,该设计用1 Mb/s的通信速率,则必须选择16 MHz晶振。天线部分电感L1,用来将nRF2401A芯片的ANT1,ANT2管脚产生2.4 GHz电平信号转换为电磁波信号,或者将电磁波信号转换为电平信号输入芯片的ANT1,ANT2管脚。
nRF2401A通信模块原理图如图3所示。该设计只利用通道1的收发通道,通道2为预留通道,PER_UP与DSP2812的GPIOB4口相连控制nRF2401A芯片上电,GPIOB5接CE控制芯片使能。GPIOB6连CS实现。nRF2401A片选,GPIOB7接DR1从而通过DSP控制芯片通道1数据请求,GPIOB8接CLK1控制通道1时钟,GPIOB9和芯片DATA管脚相连,实现DSP与模块之间的数据传输。
4 电能采集软件设计
4.1 程序功能
程序功能包括两方面的关键内容:一是,通过单片机对CS5460A芯片寄存器地址的定义和控制字的写入,另一方面是数据的读取。
4.2 CS5460A的操作
CS5460A的操作主要是通过SPI口写命令,读写不同的寄存器,执行不同的操作;CS5460A的寄存器主要包括状态寄存器、配置寄存器、控制寄存器、各种校准寄存器、数据寄存器等。在进行测量前,要恰当地设置寄存器,以便得到正确的结果。
4.3 系统校准
CS5460A提供数字校准功能,通过写指定的值到校准命令寄存器即可实现系统偏置校准和系统增益校准等。当执行校准时,必须把相应的校准信号到电压电流通道。CS5460A具有一系列的校准寄存器,执行某一校准命令后,相应的寄存器就会保留校准产生的修正值,这些值可以读出;若将其保存在外部非易失存储器,在系统复位后把值写入相应的寄存器,不必重新校准。校准寄存器包括直流电压/电流偏置寄存器,电压/电流增益寄存器,交流电压/电流偏置寄存器。校准之前必须使CS5460A处于活动状态,同时使其准备接收有效命令,并清除状态寄存器的DRDY位,因为DRDY用于判断校准是否完成。在执行偏置校准时,应该输入零信号;在执行增益校准时,应该输入满刻度信号。校准完成后,就可以进行测量。[!--empirenews.page--]
4.4 数据的读写
在进行数据的读写前,应该进行串口的初始化。因为有效指令不会产生动作或者产生错误动作,此时需重新初始化串口。当命令包含写操作时,串口将在下面24个SCLK周期对SDI引脚的数据(从高位开始)记录。寄存器写指令后必须跟24位的数据。比如,写配置寄存器,应先写命令字(0x40)启动写操作,然后,随着24个连续的串行时钟脉冲,CS5460A将从串行输入引脚SDI接收串行输入数据,一旦收到数据,状态机便将数据写入配置寄存器,等待下一个命令。当启动了读命令,串口将在下8个、16个或24个SCLK周期启动SDO脚上的寄存器内容的转移(从高位开始)。寄存器读指令可以终止在8位的边界上(例如,读出时可只读8,16或24位)。同样,数据寄存器读出允许采用“命令链”。因此读寄存器时,微控制器可同时发送新指令,新指令将被立即执行,并可能终止读操作。例如,命令字送入状态机读取某一输出寄存器,进行16个连续的读数据串行时钟脉冲后,执行写命令字(如状态寄存器清零命令),数据从SDI引脚输入,同时剩下的8位读出数据被传送到SDO引脚。又如,用户仅需从读操作中获取16位有效位时,可在SDO读出8位数据后从SDI输入第2个读命令。注意:在读周期,当从SDO引脚输出数据时,必须用SYNC0指令(NOP),使SDI引脚处于选通态。其程序流程如图4所示。
下面是在TI公司的CCS2000编译系统下的读写程序:
5 结 语
这里深入介绍电能采集、传输、接收的过程,系统以TMS320F2812为控制核心,其具有功能强大、功耗低、运算速度快等优点,同时内部又具有128 KB的FLASH,使系统结构紧凑、灵活。CS5460芯片可直接采集电能、电压、电流、功率、功率因数等值。采用高性能RF模块、数据通信等技术,具有长时间存储数据和无线传输数据等功能。