上位机图像处理和嵌入式模块部署(h750 mcu和ad/da电路)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        大部分同学学习mcu的时候,都会把重点放在232、485、can、usb、eth这些常规的通信接口上面。还有一部分同学,可能会对lcd、camera这些有着丰富信息的外设感兴趣。但是,mcu真正和自然界打交道的部分,其实是ad/da功能。也就是说,mcu本身其实是通过ad/da ip和真实的物理世界打交道的。

        当然,ad/da作为基本功能,从低端的stm32f103就开始支持,这一点大家注意下。

1、什么是ad/da

        所谓的ad/da,就是模拟量转成数字量、数字量转成模拟量。真实的世界,是没有数字量的,但是mcu本身数据处理的时候,又是没有办法处理模拟量的,所以这就出现了ad/da这两个ip。ad多用于数据输入,da多用于数据输出。

2、ad/da的评判标准

        通常来说,ad做起来会稍微难一点,我们评价ad的好坏,通常就是看它的转换精度和转换速度是多少。因为mcu上面的ad/da都是集成上去的,作为一般的工业控制问题不大。如果需要高精度、高速度的ad转换,那么就需要独立ad芯片的帮助了。

        da的话,一般相对容易一点,代码量也少很多。

3、一般调试方法

        通常情况下,一般先调试da,也就是我们通过da输出不同的电压。这样,mcu接一个示波器之后,就可以确认不同的电压数值了。da调试好了之后,就可以把da生成的电压,用短接线转到ad上面,此时可以通过上位机控制输出电压,结合mcu上面的打印,就知道ad有没有采样正确了。

4、电商开发板的测试方法

        如果是开发板的话,测试ad的时候,可以把对应的pin脚先后接到3.3v、gnd上面,这个时候查看下,对应的打印是不是正确。接着测试da的时候,原来可能输出的是一个正弦波,手边没有示波器的话,比较麻烦,我们可以把正弦波转成常数,

#if 0
const uint16_t Sine12bit[32] = {2048	, 2460	, 2856	, 3218	, 3532	, 3786	, 3969	, 4072	,4093	, 4031	, 3887	, 3668	, 3382	, 3042	, 2661	, 2255	, 1841	, 1435	, 1054	, 714	, 428	, 209	, 65	, 3		,24		, 127	, 310	, 564	, 878	, 1240	, 1636	, 2048
};
#else
uint16_t Sine12bit[32] = {0};
#endif

        想要设置成什么电压,直接赋值即可,

	for (Idx = 0; Idx < 32; Idx++){Sine12bit[Idx] = 4093;}

5、什么时候需要独立ad/da芯片

        mcu集成的ad/da虽然比较方便,但是在采样数量、精度和速度上面和专业的ad/da芯片还是有差距。如果是需要在工业、车辆、医疗和军工能领域,希望对信号进行精确的采样和输出,最好还是使用专业的ad/da芯片。接口的话,一般就是spi接口。

6、数字电路、模拟电路layout分开

        ad和da中有一部分是模拟电路,这和我们之前纯数字电路还是稍有不同的。实际layout实现的时候,模拟电源、模拟地和数字电源、数字地最好区分开来,不要相互串扰。

7、ad/da不一定同时使用

        有的场景下,ad只是为了监测使用的,这种情况下,就不需要da部分了。比如说,我们需要mcu检测温度、湿度、压力、压强、有毒气体浓度等等,如果是这种情况的话,那么就不需要da部分,直接通过ad采样,接着通过232/485或者是eth,把数据送出去就可以了。

8、ad/da一般需要搭配集成运放电路

        很多时候,da/ad采集的信号是有范围要求的,比如说输入、输出不能超过3.3v。但是外部信号传递过来的时候,可能是-24v到24v,这种情况下,就需要把电压映射在0~3.3v之间。输出其实也是一样。要做到这一点,就要把读书时候学到的运放电路用起来了。所以,我们看电路板的时候,除了电源部分有很多的模拟器件,在ad/da部分也有一些模拟电路的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础5】JDK、JRE和JVM的区别与联系

JDK、JRE和JVM的区别与联系 Java是一种广泛使用的编程语言&#xff0c;它的跨平台特性得益于Java虚拟机&#xff08;JVM&#xff09;。然而&#xff0c;在Java的世界里&#xff0c;JDK、JRE和JVM这三个术语常常让人感到困惑。本文将阐述它们各自的功能&#xff0c;以及它们是如…

【設計モードの特性に基づく動的ルーティングマッピングモード】

ASP.NET Coreでは、HTTP要求を対応するコントローラ操作にマッピングするためのルーティングはコア機能の1つです。「ルーティング駆動設計モデル」は私が作りあげたばかりの設計モデル名ですが、ASPに基づくことができます。NET Coreのルーティング特性は、ルーティングを中心…

Codeforces Round 953 (Div. 2 ABCDEF题) 视频讲解

A. Alice and Books Problem Statement Alice has n n n books. The 1 1 1-st book contains a 1 a_1 a1​ pages, the 2 2 2-nd book contains a 2 a_2 a2​ pages, … \ldots …, the n n n-th book contains a n a_n an​ pages. Alice does the following: She …

【HTML01】HTML基础-基本元素-附带案例-作业

文章目录 HTML 概述学HTML到底学什么HTML的基本结构HTML的注释的作用html的语法HTML的常用标签&#xff1a;相关单词参考资料 HTML 概述 英文全称&#xff1a;Hyper Text Markup Language 中文&#xff1a;超文本标记语言&#xff0c;就将常用的50多个标记嵌入在纯文本中&…

spark常见面试题

文章目录 1.Spark 的运行流程&#xff1f;2.Spark 中的 RDD 机制理解吗&#xff1f;3.RDD 的宽窄依赖4.DAG 中为什么要划分 Stage&#xff1f;5.Spark 程序执行&#xff0c;有时候默认为什么会产生很多 task&#xff0c;怎么修改默认 task 执行个数&#xff1f;6.RDD 中 reduce…

从0到1上线小程序的步骤

文章目录 一、开发前的准备二、开发中三、开发完成的上线部署相关资料和网址 开发一个小程序&#xff08;例如微信小程序&#xff09;涉及到多个阶段&#xff0c;每个阶段都有特定的步骤和要求。以下是详细的步骤及相关资料和网址&#xff0c;帮助你在开发前、开发中和开发完成…

镜像源问题:pip,npm,git,Linux,docker

镜像源的作用 提高下载速度&#xff1a;镜像源通常位于全球不同的地理位置&#xff0c;用户可以选择离自己最近的镜像源下载软件或更新&#xff0c;从而大大提高下载速度和效率。 负载均衡&#xff1a;通过将下载请求分散到多个镜像源&#xff0c;可以减轻主服务器的负载&…

RabbitMQ 入门

目录 一&#xff1a;什么是MQ 二&#xff1a;安装RabbitMQ 三&#xff1a;在Java中如何实现MQ的使用 RabbitMQ的五种消息模型 1.基本消息队列&#xff08;BasicQueue&#xff09; 2.工作消息队列&#xff08;WorkQueue&#xff09; 3. 发布订阅&#xff08;Publish、S…

RIP、OSPF、IS-IS学习

文章目录 RIP (Routing Information Protocol) 路由信息协议OSPF (Open Shortest Path First) 开放最短路径优先IS-IS (Intermediate System to Intermediate System) 中间系统到中间系统 RIP (Routing Information Protocol) 路由信息协议 特性&#xff1a; 基于距离向量&am…

设计模式-面向对象设计原则

设计模式-面向对象的设计原则 依赖倒置原则开闭封闭原则单一职责原则Liskov替换原则接口隔离原则面向对象优先使用对象组合&#xff0c;而不是类继承。封装变化点针对接口编程&#xff0c;而不是针对实现编程 变化是复用的天地。面向对象设计最大的优势在于抵御变化。 重新认识…

【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction

论文链接 代码链接 多摄像头三维感知已成为自动驾驶领域的一个重要研究领域&#xff0c;为基于激光雷达的解决方案提供了一种可行且具有成本效益的替代方案。具有成本效益的解决方案。现有的多摄像头算法主要依赖于单目 2D 预训练。然而&#xff0c;单目 2D 预训练忽略了多摄像…

【深度学习】GPT-3,Language Models are Few-Shot Learners(一)

论文&#xff1a; https://arxiv.org/abs/2005.14165 摘要 最近的研究表明&#xff0c;通过在大规模文本语料库上进行预训练&#xff0c;然后在特定任务上进行微调&#xff0c;可以在许多NLP任务和基准上取得显著的进展。虽然这种方法在结构上通常是任务无关的&#xff0c;但…

走进Web3时代的物联网领域:科技的无限可能

随着Web3技术的迅速发展&#xff0c;物联网&#xff08;IoT&#xff09;领域正迎来一场深刻的变革。本文将深入探讨Web3时代如何重新定义物联网的边界和未来发展的无限可能性&#xff0c;从技术原理到应用案例&#xff0c;为读者呈现一个充满挑战和机遇的全新科技景观。 1. Web…

GPU微架构综述

GPU微架构综述 摘要 图形处理单元&#xff08;GPU&#xff09;已成为现代计算系统中的关键组成部分&#xff0c;不仅在图形渲染方面发挥重要作用&#xff0c;还广泛应用于高性能计算、机器学习和科学计算等领域。本文综述了GPU微架构的发展历程和设计理念&#xff0c;探讨了其…

ffmpeg压缩视频

最近需要压缩视频&#xff0c;windows下没找到好的工具&#xff08;大部分工具需要收费&#xff09;&#xff0c;于是想到通过ffmpeg工具进行压缩&#xff1b;ffmpeg不仅是一款强大的视频、图片处理工具&#xff0c;还是一款开源的多媒体框架。 windows下可以下载ffmpeg&#…

【数据结构】练习集

数据的逻辑结构说明数据元素之间的顺序关系&#xff0c;它依赖于计算机的存储结构。&#xff08;F&#xff09; 在顺序表中逻辑上相邻的元素&#xff0c;其对应的物理位置也是相邻的。&#xff08;T&#xff09; 若一个栈的输入序列为{1, 2, 3, 4, 5}&#xff0c;则不可能得到…

mediasoup源码分析(三)channel创建及信令交互

mediasoup源码分析--channel创建及信令交互 概述跨职能图业务流程图代码剖析 概述 在golang实现mediasoup的tcp服务及channel通道一文中&#xff0c;已经介绍过信令服务中tcp和channel的创建&#xff0c;本文主要讲解c中mediasoup的channel创建&#xff0c;以及信令服务和medi…

HTML|02HTML标签

HTML标签的语义化 语义化就是&#xff1a;标签的含义HTML标签 排版标签标题标签h<h1></h1> 标签有h1-h6&#xff0c;没有h7段落标签p<p></p>水平线标签hr<hr /> 单标记换行标签br<br />div span标签用来布局的 文本格式化标签<b>&…

编程用什么电脑不卡的:深度解析与推荐

编程用什么电脑不卡的&#xff1a;深度解析与推荐 在编程的世界里&#xff0c;一台流畅不卡的电脑无疑是每个开发者的得力助手。然而&#xff0c;面对市场上琳琅满目的电脑品牌和型号&#xff0c;如何选择一台适合编程的电脑却成为了一个令人困惑的问题。本文将从四个方面、五…

如何避免接口重复请求(axios推荐使用AbortController)

前言&#xff1a; 我们日常开发中&#xff0c;经常会遇到点击一个按钮或者进行搜索时&#xff0c;请求接口的需求。 如果我们不做优化&#xff0c;连续点击按钮或者进行搜索&#xff0c;接口会重复请求。 以axios为例&#xff0c;我们一般以以下几种方法为主&#xff1a; 1…