当前位置: 首页 > news >正文

理解DMA双缓冲的原理和意义(CPU和DMA:并发并行和回调函数)

这篇文章弄懂了 , 对计算机硬件包括软件编程会上一个很大的台阶

引子

回调函数在函数调用时 , 是并行计算吗?计算单元

这个系统里有很多个计算单元 , CPU 、 FPU 、 ADC 都是计算单元 , 计算单元的本质就是些门电路 , 或者晶闸管之类的东西凑成的触发器, 后来用的是mos管 ,但这些本质都是门电路 , 本质上都是用于计算的 ,除此之外 , MPU 、ETM、 DMA也都具备计算能力

ADC

ADC 本质上也相当于一个CPU ,它也是一个可以参与计算的 , 其原理就是通过电压逐次比较 , 然后计算出来一个字节

并行

前面铺垫了这么多 , 究竟什么是并行, 比方说CPU从ADC里面取数据搬运到SRAM里面 , 但是系统其他计算单元不工作岂不是浪费了 , 我们是不是可以尝试在不冲突的前提下多线运行 , 这时可以让DMA去SRAM里面搬运数据 , 将片1的内存搬运到片2 ,所以CPU在跟ADC搬运前 , 它可以跟DMA” 说句话 “ ,让他在SRAM上将地址片一搬运到地址片2 , 这样在ADC和CPU工作的时候 , DMA也在同时工作

它在干活 , 它也在干活 , 这个就是并行

并发

在一个很短的时间内 , 假如说1ms的时间内, CPU与ADC通信这件事跟DMA搬运SRAM这件事 , 顺序的发生了 , 就叫并发 , 这个时间并不限制与1ms , 只是举个例子 , 也可以是0.5ms

同一个时刻在干两件事情 叫做并行

回调函数在函数调用时 , 是并行计算吗?

情况一:有DMA&并行

这个函数就是回调函数的一种, 在ADC数据搬运完之后 ,怎么告诉CPU呢?

就是通过这个函数 , 进入一个中断

在HAL_ADC_Start_DMA这个函数里,他会把一个回调函数注册给DMA的一个函数指针 , 作为这个回调函数的接口

也就是说ADC的数据传输完成了,DMA就会让CPU来处理这个回调函数 , 来处理ADC

所以这样的话 , 整个系统 , 就是在并行的

情况二:并发

假设在5ms内, 系统有 task1 , task2, task3 几个任务

task1 假设就是HAL_ADC_Start_DMA , 但是没有用DMA

task2 假设是save_ADC

task3 假设是decode_ADC

假设有三个ADC , ADC(1-3)

并没有依次启动1-3 , 当启动到ADC3的时候 , 12其实已经好了 , 但是因为程序流程的问题只能从上执行到下 , 在一个task里面 , 这时就可以用回调函数去解决一个事情 ,假设startADC1执行完以后 , save ADC 1 也完成了 , 就可以发送一个信号量给回调函数 , 告诉他有数据可以进行解包了 ,这个时候decode函数就可进行解码了

这个回调函数的作用就是:启动解包

http://www.jsqmd.com/news/88603/

相关文章:

  • 2025年宝宝取名机构推荐:榜单TOP5机构深度解析 - 十大品牌推荐
  • 电商库存系统实战:SpringAI MCP的工业级应用
  • 传统vsAI:解决status_invalid_image_hash效率对比
  • sqli-labs靶场通关详细讲解(附php源码分析Less-11-16)
  • leetcode 752. Open the Lock 打开转盘锁
  • 贪吃蛇图片
  • 2025年女孩取名机构推荐:权威榜单TOP5机构深度解析 - 十大品牌推荐
  • 告别代码与手册!虎贲等考 AI 让 SPSS+ChatGPT 合体,“对话式分析” 颠覆学术研究
  • AI如何帮你快速解决Python模块调用错误
  • HR实战进阶:人力资源管理五本必看好书推荐
  • 十本最值得读的企业战略书籍推荐,商业精英必看
  • 问卷还在手动搭?5 款 AI 问卷工具实测:有的只敢出题,有的能一键生成 “可写进论文” 的完整调研方案!
  • 企业级Git工作流:git push的最佳实践
  • 2025年女孩取名机构推荐:权威评测榜单TOP5深度解析 - 十大品牌推荐
  • 2025年八字起名公司推荐:2025年权威起名机构榜单深度解析 - 品牌推荐
  • 中国免费API都在这里:一键调用,零成本入门
  • 这个共直流式风光储并网系统有点意思,咱们直接扒开仿真模型看看门道。四个核心模块就像四个性格迥异的兄弟,各自带着看家本事凑成了这个发电系统
  • 一体化系统(九)高级表格自己编程如何选择——东方仙盟练气期
  • 毕设开源 基于深度学习二维码检测识别系统
  • 告别手工打磨!问卷设计 “老匠人” 遇对手,虎贲等考 AI 以 “智能巧匠” 之姿刷新科研新体验
  • 2025年起名改名公司推荐:2025年起名改名机构权威榜单解析 - 品牌推荐
  • 幽冥大陆(四十九)PHP打造Java的Jar实践——东方仙盟筑基期
  • 学术降重 “独行侠” VS “智能神器”!虎贲等考 AI AIGC:开启论文原创新征程
  • 市场营销书单:营销人必看的10本书
  • 2025年起名改名公司推荐:业内权威机构综合评测与排行解析 - 品牌推荐
  • Boost变换器Simulink仿真分析 —— 从开环到双闭环控制
  • 2025年起名机构推荐:2025年起名机构权威榜单TOP5深度解析 - 十大品牌推荐
  • 2025年八字起名公司推荐:权威起名机构排行深度解析 - 品牌推荐
  • 【数学】【微积分】 ① 导数的基础概念与计算法则
  • 新型内置式永磁同步电机设计 随着能源问题的日益突出,环境污染越来越严重,全社会都在提倡绿色环保...