嵌入式软件的模拟量数字化处理

2023-12-14 13:44

本文主要是介绍嵌入式软件的模拟量数字化处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 引言

在嵌入式系统中,模拟量通过采样调理电路,转换为电压信号,送入MCU的AD采样口,由MCU的A/D转换单元,实现模数转换,MCU通过PWM(或其他的DA方式)实现了数模转换。此外MCU对外存在对外的通信接口,使得MCU内的数据实现了可视化。

2.模拟量在嵌入式系统的功能

在嵌入式系统中,数字化的模拟量,在MCU内的处理主要包含了如下环节:A/D采样单元、数字控制单元、PWM调制单元,计算单元、检测及保护单元、通信单元等组成。

3.常见的模拟量数字化处理方式

在实际操作中,常见有如下三种处理方式:

(1)AD结果直接应用的方式:该方式将AD结果读取后,直接作为模拟量的数字化结果应用于图 2所示的各个功能模块。各个功能模块内的比较、计算的数值经过线下计算后应用于嵌入式软件内。

(2)AD结果标幺后应用的方式;该方式根据系统的额定设置值,将当前值与额定值得比值作为当前该模拟量的数值,再应用于图 2所示的各个功能模块。各个模块内的比较、计算的数值经过线下(或线上)的计算获得相应的标幺值,应用于嵌入式系统中。

(3)AD结果“归一”后应用的方式;该方式的“归一”指的是“归一”到国际单位。即将模拟量采样的数值经过一定的数值变换,转换为与国际单位一样的数值,再应用于图 2所示的各个功能模块。各个模块内的比较、计算的数值直接应用于嵌入式系统中。

4.“归一”的AD采样方式

(1)“归一”的AD处理方式

模拟信号的A/D采样如图3所示(以TIDSP为例),模拟信号经过相应的采样调理电路,输入AD采样口,DSP内的AD采样单元读取采样结果后置于寄存器内,嵌入式软件读取相应结果,进行如下的软件处理:

(1)扣除叠加的1.5V偏置(如果硬件电路添加了偏置电路):采取A:-2048*16;B:^0x8000

(2)零偏校准;

(3)“归一”化A/D处理:*Ksoft,获得与国际单位相同的模拟量

    1. (2)“归一化处理的优缺点

优点:

  • 经过AD处理完成的模拟量,用于数字控制、计算、检测及保护、PWM调制、通信等单元的数值只有一种数据格式,软件格式清楚
  • 软件清晰,有利于简化程序,提高程序的可继承性、可移植性;
  • 数据结构清晰,减少编程人员犯错的机会,较少Bug,利于软件调试(尤其是控制部分的调试)

缺点:

  • 需要充分考虑数值范围、数据溢出的情况:过度的提高数值范围,使得精度大大缩减,影响了数值的精度;
  • 需要充分考虑数据精度问题:过度考虑数值精度,将影响数值的范围。同时,无意义的提高数值精度也是无意义的。

这篇关于嵌入式软件的模拟量数字化处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/492755

相关文章

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Java异常捕获及处理方式详解

《Java异常捕获及处理方式详解》异常处理是Java编程中非常重要的一部分,它允许我们在程序运行时捕获并处理错误或不预期的行为,而不是让程序直接崩溃,本文将介绍Java中如何捕获异常,以及常用的异常处... 目录前言什么是异常?Java异常的基本语法解释:1. 捕获异常并处理示例1:捕获并处理单个异常解释:

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

MySQL中处理数据的并发一致性的实现示例

《MySQL中处理数据的并发一致性的实现示例》在MySQL中处理数据的并发一致性是确保多个用户或应用程序同时访问和修改数据库时,不会导致数据冲突、数据丢失或数据不一致,MySQL通过事务和锁机制来管理... 目录一、事务(Transactions)1. 事务控制语句二、锁(Locks)1. 锁类型2. 锁粒

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避