利用电表SOC芯片RN7211低成本实现三路高精度24位AD采集(带PGA功能)

      RN7211为一款ARM Cortex-M0内核的电表SOC芯片,集成有3通道用于测量计量的高精度差分输入Σ-ΔADC,更新速率7.2KHz,具有128KByte FLASH、16KByte SRAM与32KByteEEPROM,2个DMA,具备硬件自动温补的RTC,另包含1通道10Bit SAR ADC(用自带1.25V参考源)。片内自带参考源及电源系统,可2.8V-5.5V供电,最高工作频率29.4912MHz,外围电路简单。具备3路有效值,2路有功功率、无功功率、视在功率,2路瞬时有功功率、瞬时无功功率、2路有功电能、无功电能、视在电能计量,1路用户自定义功率积分通道等。主要应用于电测仪表。

    在我们实际应用设计中(如传感测量、简易虚拟示波器及信号分析仪等),很多时候需要用到高精度AD,可能会采用单独的AD采集芯片配高性能ARM芯片,此时电路板尺寸增大,同时高精度AD芯片大大拉高了产品成本。而若选用RN7211芯片,将完美解决此问题,同时具备1-16倍PGA功能。本开源演示了如何利用RN7211中3路高精度AD进行信号采集,采用DMA处理方式大大节约了CPU处理资源。

    开发平台搭建及程序文件下载址:http://pan.baidu.com/s/1i5Lkxdb 提取码:e8rb

    开发环境可以是Keil 的MDK-ARM,也可以为IAR,与STM32系列芯片开发基本相似,因产品文件为全中文,阅读理解更加容易上手。

硬件及程序说明:

   晶振:接入13、14脚的XO、XI,32.768KHz ,无需外部补偿电容,系统时钟由该时钟倍频至7.3728MHz

  复位电路:12脚,接1M上拉电阻至电源、0.1uF电容至地。

   其它滤波电容:1脚、10脚、24脚外部分别并10uF与0.1uF电容。

   信号输入:7、8脚为一组、5、6脚为一组、3、4脚为一组,差分输入,最大信号电平 ±1V(后续计算转换参考电压为1V,精度24Bit),IO电压极限-6V至+6V。差分输入电路     有如下两种典型连接方式,连接方式示应用情况选择,下图中R22用于分压、R20、C22、R23、C23用于低通滤波,示具体设计选择。

   本程序中,对应31脚、32脚P81、P80各接有一发光二极管,用于测试调试,对应指示测试程序如下截图(IO输出操作建议使用 置位及清零寄存器,如GPIO->PCSET =0x00000001;GPIO->PCCLR =0x00000001;  同时注意P35、P30等特殊IO的使用限制,LCD复用IO如P101等为无上拉推挽输出):


   按键连接至53脚P10/Key0,用于启动采集测试与其它操作。


   AD采集PGA倍数控制如下:


代码中SYS_PS为解锁与上锁系统配置寄存器



    启动采集函数为CollectionTrigger,程序在app_rn7211.C文件中,启用DMA0进行处理。DMA0中断函数在Drive_ALLINT.C文件中。(EMU相关操作注意关闭写保护,如清除中断标记)

采样数据存于int32_t CollectionData[MaxCollectionGroup][MaxCollectionFrame] 二维数组中,MaxCollectionGroup定义最大采样点,例程里为1024即采集1024点数据,MaxCollectionFrame定义采多少组,如只采集电流A通道,此值为1,采集电流A、B通道,此值为2,采集电流A、B通道与电压通道,此值为3。如果此值为3,CollectionData数组内容为:

{{电流A,电流B,电压},{电流A,电流B,电压},……}

CollectionStatus表示当前采样状态标记 -1代表错误 1代表采样成功 2代表转换成功 3代表校正成功


CollectionChange函数将采样的24位数转换对其到32位



本程序使用电表相关处理时7.2KHz自动启动AD采集完成后中断触发DMA实现AD采集。若要以其它频率采集,建议可定时器触发DMA读取AD值实现。


立创社区发表如下:

http://club.szlcsc.com/article/details_D94A5D0CAE724A3F8FC89DAC572BF9FE_0_1_0_1_1.html

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值