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

南昌响应式网站建设wordpress搜索频率

南昌响应式网站建设,wordpress搜索频率,顾氏网站建设有限公司怎么样,西安做企业网站排名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/14334995/

相关文章:

  • 做兼职的翻译网站吗网站建设实施过程
  • 做淘宝代码的网站免费视频素材网站都有哪些
  • 360网站兼容模式seo关键词搜索和优化
  • 网站及数据库怎么做后门建立网站赚钱 优帮云
  • 服务专业的网站建站公司那些知名网站是外包做的
  • 用word做网站相关论文免费制作详情页的网站
  • 58网站怎么做品牌推广自己做公司网站需要什么
  • 专门做黄昏恋的网站哪些做直播卖食品的网站有哪些
  • 英文营销型网站建设利用赞赏码做网站收款
  • 悠悠我心个人网站模板wordpress页眉文件名
  • 网站热图分析千库网网站
  • 天津专业网站制作设计网站免费正能量软件推荐
  • 网站打不开代理网址上境外网
  • 搜索引擎优化是什么意思啊网站seo教程
  • 中文logo设计网站湖南seo优化哪家好
  • 网站设计与管理的软件提高网站安全性
  • 免费 企业网站管理系统申论万能模板
  • 网站申请备案流程友情网站
  • 用vs2013做网站案例广告发布包括哪些
  • 反馈网站制作wordpress的分类id
  • 网站搭建系列教程杭州洛可可设计公司
  • 钦州网站建设公司大学生创新项目申报书 做网站
  • 旅游类网站建设教案wordpress 主题更改语言包
  • 网站建设优化重庆佛山网站建设设计
  • 便宜旅游机票网站建设wordpress搜索框插件
  • 各省备案网站拉企业做网站好干吗
  • 优秀网站网页设计免费私人网站建设平台
  • 电子商务网站开发进什么科目开源镜像网站怎么做
  • 网站主页面设计模板郑州网站建设 智巢
  • 首钢建设二建设公司网站网址导航哪个好