dmzdmz666666 发表于 2023-8-24 11:52

【HC32F448测评】+用定时器和QSPI测评W25Q64的读写速度

<h1 align="center"><span style="color:#8e44ad;"><b>第五篇:用定时器和QSPI测试W25Q64的读写速度</b></span></h1>

<p ><b>这篇文章将来测评HC32F448的硬件QSPI驱动板载的SPI Flash W25Q64。同时利用定时器来测量其读写时间用来对比不同读写模式下的速度。</b></p>

<p ><b>这里需要用到的资源包括定时器和QSPI。</b></p>

<p ><b>首先,在Hardware文件夹中新建Timer0.c、qspi_flash.c等C文件及其对应的h头文件。这里使用的是基础定时器Timer0,参考的例程为</b><b>HC32F448_DDL_Rev1.0.0\HC32F448_DDL_Rev1.0.0\projects\ev_hc32f448_lqfp80\examples\timer0\timer0_basetimer。</b><b>同时小华半导体提供的SDK包括W25Q64的驱动例程,这点很赞。</b></p>

<p ><b>同时还要添加hc32_ll_qspi.c和hc32_ll_tmr0.c的库函数。还要记得使能hc32f4xx_conf.h的对应组件。</b></p>

<p ><b>Timer0选择PCLK1时钟,不分频,A通道,开启中断,设置的中断时间为10us,通过在中断里面翻转PA2验证了中断时间。</b></p>

<p > &nbsp;</p>

<p > &nbsp;</p>

<p ><b>对W25Q64的驱动和QSPI基本参考SDK,这里不再赘述。</b></p>

<p ><b>HC32F448的QSPI有多种读取模式,分别对应程序中的这六种。</b></p>

<p > &nbsp;</p>

<p > &nbsp;</p>

<p ><b>然后通过定时器Timer0对W25Q64写入数据和读取数据进行计数,乘上每一次计数所对应的时间间隔,即可计算出用时。</b></p>

<p ></p>

<p ><b>通过打印出来的时间来对比不同读取模式下的速度。</b></p>

<p ></p>

<p ><b>最后的结果如下,可以看到写入数据比读取数据慢很多,其中四线式输入输出快速读取最快,可以看到QSPI读写速度还是非常快的。</b></p>

<p ></p>

<p><b>至此,QSPI 定时器和W25Q64就测评好啦</b></p>

lugl4313820 发表于 2023-8-24 12:00

这评测,看来很容易呀,例程一跑,任务完成!

wangerxian 发表于 2023-8-24 13:40

<p>4线和1线的,写的速度居然没有太大的差距?<br />
读数据,我的理解是4线的会比1线的快四倍。</p>

freebsder 发表于 2023-8-29 14:19

<p>提升没有想象中大啊</p>

dmzdmz666666 发表于 2023-8-31 19:48

freebsder 发表于 2023-8-29 14:19
提升没有想象中大啊

<p>我也不知道为什么</p>

dmzdmz666666 发表于 2023-8-31 19:49

wangerxian 发表于 2023-8-24 13:40
4线和1线的,写的速度居然没有太大的差距?
读数据,我的理解是4线的会比1线的快四倍。

<p>其实我也感觉应该快4倍 但我实测好像一倍都不到 蛮奇怪的哦</p>

wangerxian 发表于 2023-9-1 10:38

dmzdmz666666 发表于 2023-8-31 19:49
其实我也感觉应该快4倍 但我实测好像一倍都不到 蛮奇怪的哦

<p>4和1的时序可以看看,那个时钟是否一致?</p>

nicehui999 发表于 2024-1-26 17:34

<p>请问TEST_DATA_SIZE是多大<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/loveliness.gif" width="48" /></p>

huo_hu 发表于 2024-8-12 10:45

<p>这个要看写入前有没有擦除操作,提前擦好就快很多</p>
页: [1]
查看完整版本: 【HC32F448测评】+用定时器和QSPI测评W25Q64的读写速度