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

北京做网站制作公司自己如何注册网站

北京做网站制作公司,自己如何注册网站,宁波优化推广找哪家,建设部标准网站目录 一、简介 二、存储器映像 三、DMA框图​编辑 四、DMA基本结构 五、两个数据转运的实例 一、简介 直接存储器存取简称DMA(Direct Memory Access),它是一个数据转运小助手,主要用来协助CPU,完成数据转运的工作…

目录

一、简介

二、存储器映像

三、DMA框图​编辑

四、DMA基本结构

五、两个数据转运的实例


一、简介

直接存储器存取简称DMA(Direct Memory Access),它是一个数据转运小助手,主要用来协助CPU,完成数据转运的工作。
它能直接访问STM32内部的存储器,包括运行内存SRAM、程序存储器Flash和寄存器等。

DMA可以提供外设(数据寄存器DR)和存储器(SRAM和Flash),或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源。

它有12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道),每个通道都支持软件触发和特定的硬件触发,外设和存储器直接的数据转运,一般使用硬件触发;存储器和存储器之间的数据转运,一般使用软件触发。

STM32F103C8T6 DMA资源:DMA1(7个通道)。

二、存储器映像

STM32中的存储器类型及其对应地址。

ROM:只读存储器,是一种非易失性、掉电不丢失的存储器。
RAM:随机存储器,是一种易失性、掉电丢失的存储器。 

三、DMA框图

上图中,除了CPU外,其他都可以看成是一种寄存器。寄存器是一种特殊的存储器,一方面CPU可以对寄存器进行读写,就像写运行内存一样;另一方面,寄存器的背后,都连接了一根导线,这些导线可以用于控制外设电路的状态,比如置引脚的高低电平、导通和断开开关、切换数据选择器,或者还可以多位结合起来,当作计数器、数据寄存器等等,寄存器是连接软件和硬件的桥梁,软件读写寄存器,就相当于再控制硬件执行。

上图中的总线矩阵的左端,是主动单元,拥有存储器的访问权,右边是被动单元,只能被左边的主动单元读写。
CPU中,Dcode是专门访问Flash的,系统总线是访问除Flash外的其他资源。

DMA1和DMA2各自有一条DMA总线,且它们分别有7个通道和5个通道,各个通道又可以分别设置它们转运数据的源地址和目的地址,都可以独立地工作,但是DMA总线只有一条,所有的通道只能分时复用这条总线,如果产生冲突,就会由冲裁器根据通道的优先级决定先后使用顺序。
AHB从设备是DMA自身的寄存器,它也连接在总线右侧的AHB总线上,因此DMA既是总线矩阵的主动单元,可以读写各类存储器,也是AHB总线上的被动单元,CPU通过AHB总线就可以对DMA进行配置。

各类外设需要触发DMA数据转运时,会通过中间的DMA请求,来向DMA发出硬件触发信号,之后DMA才会执行数据转运的工作。

Flash存储器是只读存储器,如果通过DMA数据转运,就会出错,需要专门用Flash接口控制器对Flash进行写入操作。

四、DMA基本结构

DMA的数据转运可以是从外设寄存器到存储器,也是可以从存储器到外设寄存器,具体由一个方向参数来控制。还有从Flash到SRAM,SRAM到SRAM的数据转运。

两个转运站点各有三个参数,其中:
(1)起始地址决定了数据从哪里来,到哪里去。
(2)数据宽度决定一次转运多大的数据,包括字节Byte(uint8_t,8位)、半字HalfWord(uint16_t,6位)和字Word(uint32_t,32位)。如果站点之间的数据宽度不一样,把小的数据转到大的数据中,高位会补0;如果把大的数据转到小的数据中,那么大的数据高位就会被舍弃掉,只存了大数据的低位。
(3)地址是否自增这个参数是指一次转运完成后,下一次转运是否把地址移到下一个位置去,相当于指针中的p++作用。

传输计数器,这个是用来指定转运次数的,每次转运完成后,这个计数器都会自减1,减到0以后,DMA就不再进行数据转运了,并且站点的自增地址也会恢复到起始的位置。比如这个传输计数器写入5,那么DMA就只能进行5次数据转运。
自动重装器的作用是在传输计数器减到0以后,是否要自动恢复到最初的值,这个可以理解成是循环模式。

最下面就是DMA的触发控制,包括硬件触发(外设到存储器)和软件触发(存储器到存储器),具体触发方式由M2M参数决定,如果写入0,就是硬件触发,写入1,就是软件触发。这个参数的执行逻辑不是调用一次,触发一次,而是以最快的速度,连续不断地触发DMA,迅速把传输计数器清零,完成这一轮的转运。这里的触发可以理解成是连续触发的。

注:软件触发和循环模式不能同时使用,软件触发是把传输计数器清零,而循环模式是清零后自动重装,如果同时使用,DMA就停不下来了。

DMA初始化步骤:
(1)RCC开启DMA时钟;
(2)配置DMA结构体参数,包括起始地址、数据宽度、地址是否自增、方向、传输计数器、是否自动重装、选择触发源和通道优先级。
(3)通过函数DMA_Cmd,打开DMA;

五、两个数据转运的实例

用DMA来进行数据转运,这里的数据转运是一种复制转运,转运完成后,数据仍然会存在。

用DMA来配合ADC的扫描模式。

ADC的扫描模式触发一次后,7个通道依次进行AD转换,转换结果都放在ADC_DR数据寄存器中。
在每次转换完成后,都需要进行一次DMA数据转运,并且目的地址进行自增,防止数据被覆盖

http://www.dtcms.com/wzjs/385625.html

相关文章:

  • 海珠建网站公司武汉seo优化服务
  • 网站前置审批项 教育外链seo推广
  • 域名注册和网站建设全网络品牌推广
  • 四川有什么好的网站建设公司企业网络营销推广方案
  • 济南集团网站建设百度一下 你就知道官方
  • wordpress主题添加一个自定义页面抖音矩阵排名软件seo
  • 高级网站设计师手写代码篇如何建立自己的博客网站
  • 网页建站专业公司知名品牌营销案例100例
  • 旅游网站建设与网页设计意义推广网址
  • 泉州免费网站制作个人网站制作教程
  • 网站建设摘要江门网站优化公司
  • 连云港网站建设推广江门网站定制多少钱
  • 工程建设领域专项治理工作网站西安网站seo费用
  • 小企业网站建设源代码湖南关键词优化快速
  • 外国人爱做视频网站阿里指数
  • 做网站赚钱的时代过去了吗厦门人才网官网招聘信息网
  • 宁波四方网络网站建设搜索引擎和浏览器
  • 阿里云国际站官网手机系统流畅神器
  • 网站开发服务合同今日新闻快报
  • 政府电子政务与网站建设总结肇庆百度快速排名
  • 云南楚雄彝族自治州seo外包公司需要什么
  • 芜湖高端网站建设游戏优化大师官方下载
  • 政府部门网站建设的目的百度指数查询网
  • wap网站 全屏姓名查询
  • 四川省工程项目建设投标发布网站地推接单平台网
  • 网站访问量大打不开网站推广沈阳
  • 网站需要做实名认证如何做关键词排名优化系统
  • 怎么做有声小说网站播音员免费发广告的网站大全
  • 电子商务网站业务流程分析seo网站优化经理
  • 中国建设部网站失信名单西安竞价托管公司