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

经营网站备案查询淳安县住房和城乡建设局网站首页

经营网站备案查询,淳安县住房和城乡建设局网站首页,敬请期待的意思,营销推广软件有哪些最近一段时间做了一个mems的项目,项目的方案是stm32g071做主控,读写3颗asm330l的硬件形态。最初是想放置4颗imu芯片,因为pcb空间布局的问题,改放了3颗。但对于软件方案来说无所谓,关键是如何优化spi的传输速率&#xf…

        最近一段时间做了一个mems的项目,项目的方案是stm32g071做主控,读写3颗asm330l的硬件形态。最初是想放置4颗imu芯片,因为pcb空间布局的问题,改放了3颗。但对于软件方案来说无所谓,关键是如何优化spi的传输速率,满足系统采样率1.667khz的帧率要求。因为如此高的采样率,意味着大量的数据传输处理,那么传输速率也需要很快才行。

一、SPI的三种读写模式

        stm32提供了3种hal层读写接口形式。

xxx_IT和xxx_DMA是带有指定中断回调函数的接口,其中xxx_DMA不言而喻采用了dma资源。

每种接口在对应的场景下才能发挥作用,并非一味地说dma就一定比cpu快,根据开发过程,我们一点点来梳理总结。

二、CPU读写模式

        cpu读写模式,我指的是用cpu来搬移数据,从spi接口的数据寄存器获取数据,或者赋值给spi接口的数据寄存器,接口是上图的第一和第二种。贴个波形来窥探这种方式的特点。

        下面绿色的波形是时钟,可以看到1个写时钟+14个连续读时钟,上面黄色的是mosi指令。

乍看上去是不是有点奇怪,为什么每8bit的sck会有几个us的间隙,是什么地方的耗时呢?直接上代码。如下图,原来mcu的DR数据寄存器在取值和赋值的过程中,会一边判定一边移位,直到处理完当前的8bit数据。那这里已经到了硬件映射层,没有办法再优化了。cpu做搬移数据的极限也就这个耗时附近了。可以裁剪些hal库的冗余代码,但影响都不大,可做可不做。

        可以看到,读取14B,spi时序的耗时约60+us左右,注意这里指的是spi时序。

三、DMA读写模式

        dma读写模式指的是用dma通道做数据搬移,同样贴个图形来看下。

         这个图像有特点。相比cpu做搬移,有2个大的不同。第一,写时钟后的时间明显加长了;第二,连续读取的时钟间隙消失了,为什么,都是有逻辑的。

        首先来讲为什么写时钟后间隙为什么明显变长了,同样直接上代码。因为系统触发dma写完成后,会切入中断系统,进入tx通道完毕中断,再退出。整个进出中断+中断内处理,都增加了明显的耗时。设想一下,如果拿中断来每次传输1B,耗时会减少吗?答案是明显的。

        然后来讲下为什么读时钟没有8bit的间隙呢?同样直接上代码。

        dma传输配置完成后,不管你是多少长度(只要不超过缓冲区,默认一般是4096字节),源地址、目地址一次性梭哈。但是,重点,这里只是开启,并不等于执行完这段代码,dma就真正执行搬移完数据,怎么才知道执行完呢?spi接口的state状态必须重新变成ready值。

        什么意思呢?dma真正意义的传输完成,是dma重新进入可ready状态,它会主动抛中断告诉系统,与上面的写完成是一样的机制。

        所以写到这里,dma真的能节省耗时吗?答案是要做在特定场景下,比如连续传输超多数据的前提下。别老提dma多牛逼是吧,不会用等于反作用。

四、CPU和DMA混合模式

         既然dma写时钟耗时非常大,那能不能用cpu来做命令写入,dma做数据读出呢?可以。直接贴时序。

        写入指令的时钟后间隙是不是直接短了一截,最后采用了这种方式,最终耗时60+us优化到45+us,dma在数据量小(当前是14B)的前提下,整体优化性能也提升不明显。

         

        下一篇,讲讲怎么使用stm32的dma初始化编程。

http://www.yayakq.cn/news/676787/

相关文章:

  • 微信公众号与网站绑定建网站的域名是什么意思
  • 镇江住房和城乡建设局网站如何用电脑主机做网站主机
  • 唐山做网站建设的公司志鸿优化设计官网
  • jsp网站开发外文翻译装完wordpress怎么IP访问
  • 网站 后台 设计云浮新增病例详情
  • 官方网站建设合同百度推广开户多少钱
  • 天津网站开发工资水平蚁百杭州网站seo优化
  • 我做网站可以赚钱吗建站工具cms
  • 富阳区建设局网站首页房地产销售现状
  • 加盟网站制作推广网站部分网页乱码
  • 新衡阳网站WordPress模仿腾讯
  • 交互有趣的网站重庆市建设工程信息网 施工许可
  • 设计平面广告公司自动优化网站软件没有了
  • 公司网站非响应式模板如何给别人做网站
  • vuejs 网站开发一个电脑建设多个网站
  • 缙云 网站建设网站的容量
  • 中山网站快照优化公司怎么做交易猫钓鱼网站
  • iis7搭建网站教程大型网站建设地址
  • 网站开发用到的编程移动网站建设专业论文
  • 做ppt的网站叫什么名字柳州制作网站
  • 制作企业免费网站公司简介展板图片
  • 深圳建站哪家专业购物咨询主题WordPress
  • 网站群建设模板迁移原站迁移pc做药的常用网站有哪些
  • 美食网站开发的目标docker wordpress安装目录
  • 网站建设静态部分总结广州小程序商城开发公司
  • 企业做企业网站的好处城乡住房建设部网站
  • 局域网建立网站教程百度一下电脑版网页
  • 网站后台邮箱设置电子商务网站建设论文资料
  • 网站首页被k 不恢复烟台做公司网站
  • 做视频直播的网站有哪些北京美陈设计制作公司