ARM嵌入式学习--第十一天(中断处理 , ADC)

ops/2025/2/2 3:20:34/

--中断的概念

    中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回被暂停的程序继续运行

--CPU处理事情的方式

    -轮询方式

不断查询是否有事情需要处理,如果有则处理。由于需要不断的轮询,效率较低

    -中断方式

当需要CPU处理的时候,产生一个信号,打断CPU正在做的事情,让CPU处理另一件事情,等另一件事情处理完以后,回到打断之前的地方接着执行

    中断处理需要注意的地方:

        1.中断打断了其它程序的执行,所以中断处理的时候需要尽可能的快,不能再中断处理过程中做耗时很长的事情

        2.中断打断了其他程序的执行,所以在中断处理的时候,需要先保存现场(CPU的状态和CPU内部寄存器的值),在中断处理结束的时候,需要恢复现场

--ARM核中断处理过程

    在ARM核心中,中断也是一种异常,与处理异常的过程类似

-异常处理

-IRQ异常指令流水线

     IRQ异常举例

 --中断相关的概念

    1.中断源:产生中断的源头

    2.中断号:是SOC芯片厂家对SOC芯片内部中断源的编号

        (SOC芯片内部中断源表明芯片在设计中已经规定了产生中断的设备

    3,中断处理函数:中断产生之后,需要调用的函数

    4.中断控制器:控制中断的优先级,中断是否允许被处理

    5.内部中断:SOC芯片内部控制器产生的中断,例如:GPT计时器

    6.外部中断:SOC芯片外部管脚通过电平触发产生的中断

                        1>高电平触发

                        2>低电平触发

                        3>上升沿触发

                        4>下降沿触发

                        5>双边沿触发

--ADC

-简介

    ADC即模拟数字转换器(英语:Analog-to-converter)是用于将模拟形式的连续信号转换为数字形式的离散信号的一类设备

-基本原理

  采样

    这一步骤涉及到周期性地采取模拟信号的瞬时值,得到一系列的脉冲样值。采样周期的长短决定了转换结果的精确度。根据奈奎斯特采样定理,采样频率应大于或等于输入模拟信号屏谱中最高频率的俩倍以确保转换的准确性

  保持

    在连续采样俩次采样之间,为了使前一次采样所得信号保持不变,以便进行量化和编码。需要将其保存起来,这通常通过采样-保持电路实现,该电路有存储样值的电容、场效应管及电压跟随运算放大器组成,确保在采样停止期间电容的电压基本保持不变

  量化

    量化是将采样-保持电路的输出信号按照某种近似方式归并到相应的离散电平上,也就是将模拟信号在取值上离散化的过程。离散后的电平称为量化电平,量化误差的大小取决于ADC的分辨率

  编码

    编码是将量化后的结果(离散电平)用数字代码(如二进制数)来表示。编码的本质是输出一串数字代码,这个代码会尽可能地接近当前采样到的模拟值。不同的量化方式决定了编码的规则

A/D转换器的主要技术指标:

    1.测量范围:决定了外接的设备其信号输出电压范围

    2.分辨率:输出二进制的位数表示,位数越多,误差越小,转换精度越高

    3.转换速度:转换速度是指A/D转换器完成一次转换所需的时间

    4.采样时间:保持某一时刻的外部信号,保持时间就是采样时间 


http://www.ppmy.cn/ops/154921.html

相关文章

亚博microros小车-原生ubuntu支持系列:12 URDF 模型

ros2笔记-6.2 使用urdf创建机器人模型_urdf机器人建模-CSDN博客 之前跟小鱼老师大概了解过urdf模型。再贴一下亚博的介绍 4.1、组成部分 link,连杆,可以想象成是人的手臂 joint,关节,可以想象成是人的手肘关节 link与joint的关…

labelme_json_to_dataset ValueError: path is on mount ‘D:‘,start on C

这是你的labelme运行时label照片的盘和保存目的地址的盘不同都值得报错 labelme_json_to_dataset ValueError: path is on mount D:,start on C 只需要放一个盘但可以不放一个目录

π0:仅有3B数据模型打通Franka等7种机器人形态适配,实现0样本的完全由模型自主控制方法

Chelsea Finn引领的Physical Intelligence公司,专注于打造先进的机器人大模型,近日迎来了一个令人振奋的里程碑。在短短不到一年的时间内,该公司成功推出了他们的首个演示版本。这一成就不仅展示了团队的卓越技术实力,也预示着机器…

css中的animation

css的animation animation是一个综合属性,是animation-name, animation-duration, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, animation-fill-mode, animation-play-state, and animation-timeline这些属性的简写 不过在…

UE求职Demo开发日志# 17 物品合成面板数据和功能绑定

1 Pad蓝图里创建OnSelectRecipe函数 1.1 UpdateNeededItemContainer 先移除之前的 数组循环,创建显示信息的UI: 更新新创建UI的信息: 添加到子项: 1.2 UpdateResultItemContainer 与1.1同理 2 动态生成选择按钮 以合成表的长度…

汽车制造案例 | 搭建车间现场数字可视化管理方案(附解决模板)

目录 前言概述 业务背景 典型业务难题 解决方案 1.全程掌控解决方案 2.设备智能运营方案 3.全流程质量追溯方案 4.多维绩效评估方案 总结 生产可视化模板 前言概述 车间现场可视化管理是指利用电子看板、数字大屏等可视化工具,结合结合物联网、大数据分析…

linux 扩容

tmpfs tmpfs 82M 0 82M 0% /run/user/1002 tmpfs tmpfs 82M 0 82M 0% /run/user/0 [输入命令]# fdisk -lu Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors Units: sectors of 1 * 512 512 bytes Sector size (logi…

自定义数据集使用scikit-learn中的包实现线性回归方法对其进行拟合

1. 引言 简要介绍线性回归模型及其在机器学习中的应用。 2. 创建自定义数据集 通过生成一个简单的自定义数据集来模拟问题。可以使用numpy生成数据。 import numpy as np import matplotlib.pyplot as plt# 生成自定义数据 np.random.seed(42) X 2 * np.random.rand(100, …