当前位置: 首页 > 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/585983.html

相关文章:

  • 做网站找哪家公司好wordpress 轻博客
  • 长春网站优化教程网站建设客户合同
  • 万户网站建设成都建站seo
  • 网站域名收费标准动画设计工资
  • wordpress增加标签濮阳seo网站建设
  • 网站源码安装步骤未备案网站加速
  • 北京网站设计制作关键词山东省城乡建设网站
  • 徐州做网站建设清溪东莞网站建设
  • 做网站的人跑了网站可以恢复吗seo博客网站
  • 网站建设费用不用摊销做网站广告公司
  • 溧阳网站建设制作做一个专业的网站多少钱
  • 嘉兴网站制作价格杭州建设信息港官网
  • 赔率网站怎么做河南比较出名的外贸公司
  • 厦门中科做网站总打电话来最主流的网页制作软件
  • 交互式手机网站工业互联网平台建设及推广指南
  • 有哪些开发网站公司wordpress下载按钮插件
  • 济南手机网站开发公司wordpress 上传pdf附件
  • 网站打不开第二天不收录啦个人开发网站
  • 东莞网站推广哪些铁法能源公司网站
  • 域名手机网站源码90后做网站
  • 手机h5网站模板下载秦皇岛海三建设工程集团
  • 自动化网站建设红色网站建设的作用和意义
  • 自己怎么做百度网站空间wordpress 编辑分类目录
  • 民治营销网站wordpress注册地址
  • 网站建设费用计入固定资产那个网站做精防手机
  • 网站流量超网站开发代理报价表
  • 做网站要不要服务器深圳比较好的设计公司有哪些
  • ppt插件 网站网站建设wangzhii
  • 做公益的网站wordpress导航菜单函数
  • 青岛网站设计哪家好哪里有网站建设电话