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

南昌响应式网站建设水滴信用企业查询官网

南昌响应式网站建设,水滴信用企业查询官网,兰州企业网络优化服务,网站设计 素材SD卡是一个嵌入式中非常常用的外设#xff0c;可以用于存储一些大容量的数据。但用单片机读写SD卡速度一般都有限#xff08;对于高速SD卡#xff0c;主要是受限于单片机本身的接口速度#xff09;#xff0c;在高速、实时数据存储时可能会有影响。但具体速度可以达到多少…SD卡是一个嵌入式中非常常用的外设可以用于存储一些大容量的数据。但用单片机读写SD卡速度一般都有限对于高速SD卡主要是受限于单片机本身的接口速度在高速、实时数据存储时可能会有影响。但具体速度可以达到多少呢今天就来实际测试一下。SD卡一般有两种常用的接口SPI和SDIOSDIO又有1线和4线之分。很多单片机没有SDIO接口但SPI接口就比较常用今天主要来测试一下SPI接口读写SD卡的速度主要是写入速度。 测试条件单片机STM32L433CCT6编译环境MDK 5.30HAL库SD卡32Gbit SDNAND型号米客方德MKDV32GCL-STH文件系统FatFS R0.12c 1.单纯SPI接口测试非DMA我们知道想SD卡之类的Flash存储器一般都是按扇区擦除整块数据。因此每次写入字节数是扇区整数倍时效率会比较高。同时每次写入数据时都需要先发送一些SD卡的指令所以单次写入数据量越大平均速度也就越快。了解了这些我们就知道如何进行测试了。首先SD卡底层驱动使用的是HAL库函数单字节读写没有任何改动和优化uint8_tSPI_ReadWriteByte(uint8_t TxData) { uint8_t RxData 0;HAL_SPI_TransmitReceive(hspi3,TxData,RxData,1,100);return RxData; }接下来我们先确定SPI和时钟频率多少合适经过测试发现20MHz的时钟频率比较合适10MHz时读写速度会降低再高的时钟频率对速度的提升也很小。因此我们这里用20MHz的时钟。然后我们分别测试单次写入4KB、8KB、16KB时的速度为多少测试结果如下可以看到单次写入数据量越大平均速度就越快。当单次写入数据达到32KB时速度提升不明显。而且一般单片机内部RAM缓存也有限单次写入16KB是一个比较合适的选择。看到这个不到100KB/S速度我还是有的不敢相信的毕竟20MHz的时钟理论上速度可以达到2MB/S左右考虑到一些文件系统等协议的消耗能到1/3差不多那也得600多KB现在的速度差距有点大。当然这个使用的HAL库函数有关HAL_SPI_TransmitReceive函数效率比较低内部做了大量的判断等操作而且单字节传输也严重影响效率。如果自己优化一下相信效率会有很大的提升。有兴趣的小伙伴可以试试。我们这次其实主要是测试SPIDMA的速度所以就不在这里纠结了。2.SPIDMA接口测试DMA可以在外设和内存之间搬运数据而不需要CPU的参与。其优势在于大量数据传输时比如SD卡读写、SPI接口的液晶屏刷屏等。如果只是读写几个字节的数据比如一些SPI接口的AD、DA等DMA的优势就不明显。因为SPI接口的设备一般都不是纯数据传输都要配合一些指令等。所以即使使用DMA也是要等待DMA传输完成再进行其它操作。当然这期间CPU可以通过中断方式去处理一些其它事情。SPIDMA写数据函数如下使用的也是HAL库没有进行优化。 int8_t SD_WriteBuffer_DMA(const uint8_t *TxData, uint16_t Size) {uint32_t i 0; // 循环变量SPI3_DMA_Flag 0;SPI_TransmitReceive_DMA(HSPI_TF, (uint8_t*)TxData, txrxdata, Size); /* 等待DMA传输完成 */while (1){if(SPI3_DMA_Flag 1)break;i;if (i 0xFFFFFF){return 1; /* 超时退出 */}}return 0; }以向SD卡写数据为例需要改为DMA的地方有2处写命令和写扇区数据因为这两处发送的字节数比较多。一些SD卡的起始、结束、应答等单字节的数据传输使用的还是非DMA方式传输。下面是部分程序我们进行了两种测试只使能DMA写扇区数据以及使能DMA写扇区数据和发送指令。都是按照单次写入16KB进行测试测试结果如下可以看到速度提升非常明显。数据和指令都用DMA传输时速度最快。如果再进行一些底层函数的优化速度还会有提升。最后我们对读取速度也进行了测试使用DMA方式使能DMA读扇区数据和发送指令测试结果如下读取速度可以达到1.1MB~1.2MB/S。3.总结SPIDMA的方式读写SD卡速度优势明显推荐使用。当然这跟非DMA方式的底层函数效率低下有很大的关系。但DMA的另一个更重要的优势在于读写数据时可以大部分释放CPU资源。比如我之前的一个应用需要以1KHz的频率在外部中断中去读取一些数据每次大约需要几十uS。如果使用非DMA方式频繁的中断且几十uS时间也不短会导致SD卡写入出错。而使用DMA方式则不会有这个问题。驱动程序https://download.csdn.net/download/zhang062061/87554323
http://www.hkea.cn/news/14526892/

相关文章:

  • 网站白名单 是什么怎样做网络推广营销方案
  • 网页制作与网站建设期末考试购物网站每个模块主要功能
  • 绍兴网站建设技术外包中国最新消息新闻
  • 网站推广的平台排名super cache wordpress
  • wp做网站需要多久广告传媒公司
  • 网站在线备案北京律师网站建设推荐
  • 网络网站建设推广微网站和微信
  • 校园网站建设宣传网站建设工程师的职位要求
  • 横沥建设网站广告设计公司属于什么行业
  • 网站建设说课ppt网站建设实训的目的
  • 做国外有那些网站网站建设 中企动力福州阀门
  • 怎么做视频平台网站删除自豪地采用wordpress
  • 西安网站建设培训学校微信网站有什么作用
  • 丹东谁做微网站二手网站怎么做
  • 如何把jQuery特效做网站背景一站式服务大厅
  • 牛天下网站建设北京 网站建设 招标信息
  • 搜狗网站优化软件手机网站内容管理
  • 建立中文网站的英文wordpress婚礼主题公园
  • 网站建设需要了解的智慧门店管理服务平台
  • 渭南网站建设公司定制网站建设公司手机网站大全1
  • 同仁微网站建设工作室工业设计在线官网
  • 建设部机关服务中心网站哪个网站可以做视频
  • 丰台深圳网站建设公司如何辨别官方网站
  • 网站常规seo优化步骤建设网站cms
  • 如何做电影网站赚钱wordpress搜索结果页样式
  • 大学专业网站wordpress 手机维修
  • 运营什么网站好拍摄网
  • 宝塔面板怎么建设网站网站建站费用多少钱
  • 建设网站需要的编程800元五合一建站
  • 泰州市建设工程质量监督站网站wordpress修改域名文件