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

自己做烘焙的网站沈阳优化网站公司

自己做烘焙的网站,沈阳优化网站公司,哪里有零基础网站建设教学公司,苏州百姓网知识点1【DMA的介绍】 直接内存访问(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输,无需CPU的干预,数据可以通过DMA快速地移动,这就节省了CPU的资源,来做其他的操作——提高CPU的效…

知识点1【DMA的介绍】

直接内存访问(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输,无需CPU的干预,数据可以通过DMA快速地移动,这就节省了CPU的资源,来做其他的操作——提高CPU的效率

在STM32F103ZET6中

两个DMA控制器

12个通道:ADC1(7个),ADC2(5个)

每个通道用来专门管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁其来协调各个DMA请求的优先权

下面我分析一下这张框图

1、DMA框图

寄存器是一种特殊的SRAM,CPU可以通过寄存器进行读写,结束寄存器来操作外设,是软件和硬件的桥梁。

总线矩阵左端 是主动单元,拥有主动权,右端是被动单元,会被主动单元读写

DCode专门用来访问Flash的,系统总线用来访问其他东西的。这些了解就好,这里着重介绍于DMA相关的。

以DMA1为例,可见DMA1有7个通道,但是DMA总线只有一条(对于DMA1来说),如果产生冲突就会有仲裁器根据优先级决定哪个通道先使用DMA通道

注意:在总线矩阵处也有一个仲裁器,防止DMA,系统,DCode总线之间的冲突。

AHB从设备,是DMA自身的寄存器,用于配置DMA参数。连接到了被动单元,因此DMA即使总线矩阵的主动单元(可以读写),也是被动单元(可以被CPU所配置)。

DMA请求,外设(寄存器)需要DMA的时候,会向DMA发出硬件触发信号(DMA请求),之后DMA会执行数据转运的操作

补充:Flash一般是只读的,例如系统总线,DMA想要操作Flash都是只读的。如果想要对其写入,就需要借助Flash接口控制器。

因此我们使用DMA进行数据转运的时候,目的地址填写了Flash的地址,就会出错

这里补充一下存储器的地址映像

2、存储器映像

程序是从0地址开始运行,但在0地址会进行映射到目标地址,如Flash会映射到起始地址位为0x0800 0000 的地址块

3、DMA基本结构

大家看江协课程中的这张图片

我们从下向上看

分析

1、软件触发/硬件触发,决定DMA转运的时机,这个是由M2M(memory to memory)决定的

硬件触发:一般都是与外设相关的转运,这些转运需要特定的时机

软件触发:并不是调用某个函数,就触发一次,而是以最快的速度,连续不断地触发DMA,以将计数器减小到0,因此不可与自动重装载同时配置,不然将停不下来。

2、传输计数器,数据转运的的次数,是一个自减计数器,没转运一次就停止转运,减到0后,自增的地址会恢复到起始地址,以方便进行新一轮的转换。

自动重装器:是当计数器减到0后,是否要恢复到最初的值。常与ADC的连续转换模式结合

3、数据可以从外设寄存器转运到存储器,也可以有存储器转运到外设寄存器,这个是由方向寄存器配置的。

数据组成

**起始地址:**发送什么数据

数据宽度:分为字节,半子,字,决定转运数据的大小

地址是否自增:如ADC的扫描模式,外设地址就无需自增,存储器需要自增;但是如果一个数组数据转运到另一个数组,就需要自增了。

注意

外设寄存器(只是个名字)中可以写Flash或SRAM地址

这里注意Flash 的只读属性,图中是单向的。

4、DMA开启条件

1、DMA使能

2、传输计数器大于0

3、触发源

**注意:**写传输计数器的时候,必须关闭DMA。因此

一次数据转运完毕后,需要线关闭DMA,写传输计数器,打开DMA。

上面那张是形象后的图形,手册中的图如下,大家可以看一下

5、DMA的中断请求

6、数据宽度与对齐

大家看下表

总结

1、目标数据位如果大于源数据,高位补0

2、目标数据位如果小于源数据,高位舍弃

知识点2【DMA通道分布】

知识点3【寄存器介绍】

这里我以比较重要的DMA_CCRx 通道x配置寄存器为例

14:软硬件触发选择

12-13:优先级配置(仲裁)

8-9,10-11:数据宽度

6,7:自增模式选择

5:自动重装器配置

4:方向配置

1-3:中断配置

0:DMA使能

这三个寄存器

数目是16位,

地址是32位的,

外设寄存器地址寄存器:CPAR

存储器寄存器地址寄存器:CMAR

知识点4【DMA标准库函数介绍】

每个外设中又有对应的DMA配置函数,但配置的流程都大相径庭。

如ADC中,的

虽然ADC扫描模式在单个通道转换完成后,不产生任何中断和标志位,但会触发DMA进行数据转运

ADC在扫描模式中,由于多通道共用同一个数据寄存器,因此数据覆盖率很高,这导致ADC和DMA经常配合使用

结束

代码重在练习!

代码重在练习!

代码重在练习!

今天的分享就到此结束了,希望对你有所帮助,如果你喜欢我的分享,请点赞收藏加关注,谢谢大家!!!

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

相关文章:

  • 做网站怎样才能接单太原百度网站快速优化
  • 网页美工设计教程seo优化的技巧
  • 设置自己的网站网络营销好学吗
  • 广告联盟的网站怎么做seo俱乐部
  • 做恋足的网站能赚钱吗seo优化效果怎么样
  • 重庆市建设工程信息网资质系统西安分类信息seo公司
  • 属于b2c商城企业的是seo系统优化
  • 昆明建设局网站号码网页设计与制作作业成品
  • 通过wordpress建站手机百度推广怎么打广告
  • 南通制作网站的有哪些公司站长之家ppt素材
  • dw怎么做网站首页世界足球排名
  • 政法网站内容建设百度智能云
  • 怎样建设一个购物网站广州网站关键词排名
  • 网站 html 作用海外网站推广的公司
  • 小荷特卖的网站谁做的女生学电子商务好吗
  • 上海动易 网站seo优化与sem推广有什么关系
  • 乡镇政府网站建设情况爱站网站长百度查询权重
  • 网站建设具体步骤应该怎么做广州推动优化防控措施落地
  • 合肥网站制作价格广东东莞最新情况
  • 培训学做网站要多久深圳网络营销策划
  • 有哪些网站做明星周边如何推广软件
  • 长春制作网站定制沧州网站seo
  • 做传销网站违法的吗百度seo引流
  • 县级政府门户网站建设历程泉州seo报价
  • 国内购物网站排名济南全网推广
  • 预约网免费建站流程seo技巧与技术
  • 网站开发与建设主要干什么网站友情链接怎么弄
  • 邢台网站开发培训学校代写文章兼职
  • 广州建筑公司招聘信息深圳优化网站
  • html5和ria网站设计谷歌浏览器官方app下载