4.1 获取和验证ADC样品的程序

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • 4.1 获取和验证ADC样品的程序
  • 登录
[音乐播放] 在本视频中,在使用独立ADC部分的 培训系列分相电能表 设计软件中, 我们讨论了初始化ADS131ML4, 从设备中获取样本, 并通过计算CRC校验 来验证样本的完整性的过程。 在左边,我们看到用于 初始化ADS131ML4的进程。 当MSP432单片机复位后, 第一次设置ADS131ML4时, 以及每次执行校准时,都会执行此过程。 在设置ADS131ML4设备之前, 禁用了ML4的调制器时钟, 以防止ML4在尝试设置它时 生成新的样本。 调制器时钟是通过 禁用MSP432单片机上的 SM时钟输出来禁用的, 它被输入到引脚时钟 ADS131ML4上。 禁用SM时钟输出只需要 在校准后执行, 而不需要在MSP432微控制器设置事件后执行, 因为在MSP432微控制器重置后, SM时钟输出将自动不输出。 禁用SM时钟输出后, 将MSP432单片机的 eUSCI B0 SPI模块 配置为与ADS131ML4设备通信。 eUSCI B0 SPI模块专门配置为 掩模设备,使用三线模式, 在该测试软件中手动插入芯片选择信号, 而不是使用间谍模块的芯片 选择功能。 此外,SPI时钟据说是8.192兆赫, 这是从8.192兆赫SM时钟 派生出来的。 SPI设置好后,禁用所有中断, 并使用SPI将复位命令 从MSP432微控制器发送到ADS131ML4。 然后重新启用中断, MSP432微控制器向ADS131ML4发送命令来配置其寄存器。 此时,请注意调制时钟尚未 由MSP432微控制器输出, 这意味着采样尚未开始。 通过使用SPI 向ADS131ML4发送命令, 配置了ADS131ML4寄存器, 特别是针对所选CRC的 将字大小设置为24位。 当没有新的ADC样本时, DRDY被设置为高值, 当ADC样本准备好时, DRDY被设置为低值。 此外,PGA增益被设置为所有通道的增益之一。 此外,禁用当前检测模式。 对于这些设计,相位增益校准寄存器没有使用, 因为这是在软件中完成的。 然而,ADC有能力做增益校准, 相位校准作为 条件选项。 最后,该设备的OSR配置为512。 启用所有通道,选择 高分辨率调制功率模式。 在正确初始化 ADS131ML4寄存器后, 将MSP432微控制器配置为 在D级引脚上发生跌落边缘时产生较差的中断, 这表明ADS131ML4具有 新的电流样本电压可以使用。 接下来,MSP432单片机将SM时钟 输出到ADS131ML4,开始电压 和电流采样过程。 顶部的图片显示了 采样电压和电流时发生的不同事件。 在顶部的图片中,绿色的项目 是由硬件设置 自动完成的项目。 为了复习图中所示的过程, 每一个新的样品都准备好了有效的OSR, 即512为本设计的调制时钟周期。 一旦新的样品准备好, DRDY引脚被ADS131ML4插入低电平。 ADS131ML4上的DRDY引脚导致GPIO端口中断, 从而触发MSP432上的端口ISR。 在ISR端口内,将ADS131ML4芯片 选择行插入到较低的位置,以便与设备通信。 然后,DMA被设置为自动发送 对ADS131ML4最新样本, N-1样本的请求,并接收 来自ADS131ML4的数据包响应。 对电流和电压样本的请求 和接收由DMA模块自动完成。 在接收来自ML4的最新电压 和电流样本的同时, 对之前的样本, 即从ADS131ML4获得的 N-2减去2个样本, 进行单样本处理。 ADS131ML4目前正在采集 下一个电压和电流样本, 也就是第N个样本。 这种逐样处理用于 更新计算计量参数的 中间点积 数量。 当DMA从ML4获得整个N-1包时, DMA ISR将被自动调用。 在DMA ISR中,如果CRC检查通过, 则解析N-1包,以便 在下一次调用每个样本TSP时, 将其用于电压和电流样本。 对于每个电压和电流样本, 都要遵循这个过程。 下图显示了 由MSP432微控制器的DMA 传输的数据包, 以及由DMA接收并采样的ADS131ML4的 响应数据包。 传输和接收包 包含六个单词,每个单词有三个字节长。 当为ADS131ML4设备请求ADC数据时, 必须发送到 ADS131ML4的第一个单词 是命令单词。 由于测试软件不需要更改ML4的设置, 也不需要在典型的ADC样本 读取期间读取任何寄存器, 并且没有任何命令被发送到ML4, 这允许您在不改变设备状态的情况下 从ML4获得ADC样本, 命令的实际大小为16位。 但是,由于使用了24位,所以16位命令 必须在包的末尾填充一个 额外的值0x00。 因此,No命令将发送一个值0x000000。 当MSP432微控制器移出命令字时, MSP432同时将响应 字移到前一个包的 命令字。 No命令的响应字 是状态寄存器的内容。 在设计中不使用状态寄存器的内容, 因此将忽略从ADS131ML4接收到的第一个单词。 在编写命令字之后, 需要对要读取的每个字节 执行虚拟写入。 虚拟写人是启用SPI时钟所必需的, SPI时钟是从ADS131ML4设备读取字节所必需的。 对于每个W字节的写入, 都将一个值0x00写入SPI传输寄存器。 在写入命令字节之后, 立即写入3个虚拟字节,允许MSP432微控制器 从ML4的通道0接收3字节ADC值。 接下来的9个伪字节分别获得 通道1、通道2和通道3的 ADC数据。 在读取通道3示例之后, 接下来的三个虚拟字节将得到CRC字节。 CRC字是24位。 但是,请注意,实际的CRC 只有16位,它们被放在 24位单词中最重要的位中。 因此,在解析CRC字时, 不需要最后一个字节。 不过请注意,对于正确的ADS131ML4操作, 这个零模式字节的哑字节仍然必须发送。 ADS131ML4发送的包中的最后一个字节 是CRC字节。 CRC可用于验证 从ADS131ML4发送的数据 是否已被MSP432正确接收。 ADS131ML4支持两种类型的 CRC计算。 对于本设计,使用 CRC16-CCITT CRC选项, 因为我们可以使用 MSP432 CRC模块 加速这些计算,因为MSP42 CRC模块 专门使用CRC类型。 对于这种CRC类型, CRC是基于使用这里显示的多项式 对ADS131ML4进行多项式除法得到的。 当DMA从ADS131ML4接收到 一个完整的数据包时, DMA ISR将被自动调用。 在ISR中,CRC 通过五个命令和ADC单词计算,总共15个字节。 该CRC计算使用 MSP432微控制器的CRC模块。 由于CRC模块使用偶数个字节, 但是总共有15个字节可用, 所以前14个字节使用CRC模块。 最后的CRC由软件 根据CRC模块的结果和第15个字节计算得到。 注意,软件CRC 对最后一个字节的计算 是必要的,因为在本设计中, 字长可能是三个字节。 如果单词大小被选择为2字节, 或者改为4字节,则不需要 软件CRC计算,因为将有 偶数个字节。 下面的代码片段使用 MSP432 CRC模块和软件 计算15字节以上的CRC。 在这个代码片段中,您可以看到 MSP432上的CRC模块首先被初始化。 然后将ML4数据包 一次两个字节地输入到 MSP432 CRC模块, 直到输入了前14个字节为止。 然后将ML4包的第15个字节 和前14个字节的CRC结果输入软件算法, 该算法由一个 MSP432 CRC代码示例获得, 计算最终的CRC。 在包上计算CRC之后, 将它与ML4发送的包中 获得的CRC进行比较。 发送的CRC从ML4包的字节16 和字节17解析出来。 如果计算的CRC 与解析的CRC相等, 则通过CRC校验,解析ADC数据, 得到N-1电压 和电流样本值。 解析后的电压和电流样本 被放入临时缓冲器中, 以便下次在下一次中断时 调用解析后的样本DSP函数时使用它们。 在DMA中断结束之前,芯片选择行 再次被拉回高位,这样我们就可以
课程介绍 共计10课时,1小时18分49秒

如何使用独立计量 ADC 设计高精度 CT 分相电表

ADC 高精度 电表 计量 CT 分相

提供有关分流器和电流互感器特性的详细信息。 讨论了三种不同的架构,用于检测用于计算计量参数的电压和电流样本。 讨论了TIDA-010037参考设计中ADS131M04独立ADC和MSP432计量/主机微控制器的功能。 概述了TIDA-010037参考设计。 简要讨论了TIDA-010037中用于提供具有过压和欠压保护的限流轨的电路。 讨论了TIDA-010037参考设计中使用的电路,用于将电源电压和电流转换为ADS131M04检测到的电压范围。

推荐帖子

各种二次回路图及其讲解
1、图E-103为直流母线电压监视装置电路图,请说明其作用。       答:直流母线电压监视装置主要是反映直流电源电压的高低。KV1是低电压监视继电器,正常电压KV1励磁,其常闭触点断开,当电压降低到整定值时, KV1失磁,其常闭触点闭合, HP1光字牌亮,发出音响信号。KV2是过电压继电器,正常电压时KV2失...
fish001 模拟与混合信号
如何设计电路
如何设计电路,使八段数码管连接到msp430上,通过I/O控制使数码管显示相应的数字。 (有电路图更好)...
wangpeng428 TI技术论坛
AT45DB161用MSP430F149普通I/O口模拟SPI读写数据状态寄存器读数总是0x00
#include  <msp430x14x.h>   unsigned char Flash_Data[512];  unsigned char Flash_Data1[512];void AT45DB161_cs_low(void);void AT45DB161_cs_high(void);void AT45DB161_si_low(void)...
nothingo 微控制器 MCU
WEBENCH, 使设计简单化, 还有大礼等着拿!
WEBENCH, 使设计简单化。 在设计开关电源时,只用输入要求(条件),即可得出设计的全套数据,这无疑给工程师们带来了福音。 一、打开WEBENCH设计中心,http://www.ti.com.cn/lsds/ti_zh/analog/webench/overview.page 二、输入设计要求,点开始设计 三、你相中哪个器件了就点“开始设计” 四、点打印,即可将设计文件输出P...
dontium 模拟与混合信号

推荐文章

TQ210搭载Android4.0.3系统构建之ADC从驱动到HAL到JNI到应用程序(驱动篇) 2024年12月16日
ADC的驱动也采用platform设备驱动的方式进行编写,platform_device为platform_driver提供ADC控制器/ADC数据存储器/ADC延时器的地址,在platform_driver的probe函数在进行ioremap的映射,进而操作相应的寄存器。 对于ADC寄存器的操作,可分为三步: 1.使用clk_get获取adc时钟,接着使用clk_e...
TQ210搭载Android4.0.3系统构建之ADC从驱动到HAL到JNI到应用程序(HAL篇) 2024年12月16日
其实ADC的HAL层和BEEP、LED的就HAL层很像,所以注释就很少了,详情见BEEP、LED的HAL层 直接上源码吧 adc_under_hal.h #ifndef __ADC_UNDER_H #define __ADC_UNDER_H #include hardware/hardware.h #include stdint.h #include sys/cd...
TQ210搭载Android4.0.3系统构建之ADC从驱动到HAL到JNI到应用程序(JNI篇) 2024年12月16日
ADC的JNI层采用的方式与BEEP中JNI层采用的方式是一致的,采用Java+包名+类名+方法名,具体见BEEP的JNI层 直接上源码 adc_under_jni.c #include android/log.h #include jni.h #include hardware/hardware.h #include hardware/adc_under_...
TQ210搭载Android4.0.3系统构建之ADC从驱动到HAL到JNI到应用程序(应用程序篇) 2024年12月16日
adc的上层应用:在UI主线程中,通过Handler机制,在自定义的线程与主线程之间进行消息的传递,从而更新文本控件显示ADC转换的值 AdcActivity.java package com.under.adc; import java.text.DecimalFormat; import android.os.Bundle; import...

lai28450748

学习了

2020年01月03日 14:00:44

百万千万

AFE和独立ADC有意思

2019年10月20日 14:59:59

shakencity

如何使用独立计量 ADC 设计高精度 CT 分相电表

2019年09月24日 15:24:37

zwei9

学习学习

2019年09月12日 17:17:42

dl265361

这个课程不错,值得学习

2019年09月12日 13:16:57

大明58

如何使用独立计量 ADC 设计高精度 CT 分相电表

2019年09月02日 16:51:28

zly1986ZLY

课程不错,学习了,呵呵

2019年08月17日 17:37:59

hellokt43

好好学习天天向上。。。。

2019年08月02日 16:14:53

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved