首页 > 评测 > 高速USB+Fanout——STM32F723E-DISCO开发板评测
高速USB+Fanout——STM32F723E-DISCO开发板评测
- [导读]
- STM32F723E主打高速USB PHY特性,新探索套件还内置一个安捷伦Pmod连接器和新定义的STMod+连接器,后者让用户能够通过所提供的扇出接插板,连接Wi-Fi模块、 SeedStudio Grove模块、MikroElektronika click boards,或者连接电路试验板快速开发原型。
编译并下载代码到开发板上,与PA5对应的LED灯就会开始闪烁了。基本的功能测试完毕,可以将CoreMark的代码插入到现有工程中,使用CoreMark平台来测试硬件性能。CoreMark的STM32移植,请参考官方的移植资料,这里不赘述。
这是使用IAR对工程进行优化编译后得到的CoreMark测试结果,看到得分为1056,与官方宣称的1082非常接近,反映了STM32F7的真实性能。
接下来测试USB PHY的性能。STM32F723内置USB PHY,能够实现USB高速数据传输,理论上最高可达480Mbps的速度,不过受外部其它因素的影响,如存储介质的性能,传输的具体实现方法等约束,实际传输速度肯定会大打折扣。
测试方案如下,使用U盘连接到开发板的OTG HS接口,使用FatFS文件系统写入一定量的数据,计算使用的时间,最后粗略得到一个测试的结果,部分代码如下
//reading sectors
volatile static int32_t count = 0;
volatile static int32_t times = 8000;
volatile static int32_t sectors = 4;
char msg[100] = {0};
char buff[4096] = {0};
DRESULT status = RES_ERROR;
printf("start reading...\r\n");
count = HAL_GetTick();
for(int32_t i = 0; i < times; i ++) {
//res = f_write(&MyFile, wtext, sizeof(wtext), (void *)&byteswritten);
status = disk_read(0, buff, 156, sectors);
if((status != RES_OK))
printf("Error Writing sectors...");
}
count = HAL_GetTick() - count;
printf("total ticks: %d\r\n", count);
float total_mega_bytes = sectors * 512 * times / 1000.0f / 1000.0f;
sprintf(msg, "total %6.4f MB writed\r\n", total_mega_bytes);
printf(msg);
sprintf(msg, "transforming rates: %6.4f MB/Sec\r\n", total_mega_bytes * 1000.0f / count );
printf(msg);
使用FatFs中的标准配置,每扇区大小为512字节,执行连续的扇区读操作,读取的扇区数为4个,连续读取8000次,最后计算得到的数据吞吐率,测试的结果如下
写入速度只有4.28Mps的样子,已经超过了FS的标准,确实是使用HS的模式来操作。为了对比FS模式下的数据传输率,同样的代码,通过FS接口重新来测试一遍,得到的测试结果如下
这里的结果显示为0.85MB/Sec,只有全速标准一半的样子。
通过前面的对比测试不难发现高速USB PHY确实是工作的,HS相比FS的效率已大大提高,其实前文已提及到,USB数据吞吐率受多方面的影响,硬件只是其中一个要素,其它如存储介质的性能、读写方式设置的差异,都会影响到整体效果,木桶效应的消除,需要权衡各方面的要素。
这次的STM32F722/723还带来一个新的技术,Proprietary code read out protection (PCROP),即私有代码的读写保护功能。PCROP技术通过将需要保护的代码放入指定扇区(0到7)来防止来自最终用户的修改或读取操作,任何试图通过ITCM或AXI总线读取操作都会触发如下错误:
• 总线错误
• FLASH_SR的RDERR标志被置位,同时触发中断
这部分代码只能通过fetch的方式来获取,最终保护用户的利益。该区域的内存映射如下
这是一种层次授权机制,典型的情况是level n用户编写一段代码,授权给level n+1用户调用,这是一种灵活的授权机制,在保证了代码私有的情况下,提供了更灵活的使用方式。
ST提供了X-CUBE-PCROP库,专门用于帮助用户快速掌握该技术,库包含STM32F4、STM32F7及STM32L4三种版本的源码供用户参考。
最后的结论,STM32F723E-DISCO开发板非常不错,自ST将自家的开发板重新分类以后,NUCLEO主打核心MCU功能,EVAL一直高高在上,平民百姓难得一见,只有DISCO系列似已成为ST新技术试验的温床,各种新技术、新功能都能在DISCO板上找到影子,而且DISCO上集成的诸多外设,让评估用户无需了解太多细节,通过HAL库提供的相关示例代码,可以迅速评估并做出初步决策,的确为研发人员省心不少。STM32F723E-DISCO的官方报价为$39,良心再次体现!
参考资源:
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前