[导读] STM32F723E主打高速USB PHY特性sizeof,新探索套件还内置一个安捷伦Pmod连接器和新定义的STMod+连接器,后者让用户能够通过所提供的扇出接插板,连接Wi-Fi模块、 SeedStudio Grove模块、MikroElektronika click boards,或者连接电路试验板快速开发原型。
说实话,笔者觉得有点跟不上ST的节奏,sizeof我说的不是ST的全部产品,单是为MCU推出的评估套件这一块,就令人目不睱接。
去年下半年的STM32F769-DISCO还没完全熟悉,然后就是NUCLEOF412/F413系列出来sizeof了。这不,ST又推出了STM32F723E-DISCO及NUCLEO-F722E,前者隶属DISCOVERY阵营,搭载的是 STM32F723IEK6 MCU,主打高速USB PHY特性,后者使用的是STM32F722ZET6 MCU,是了款标准的NUCLEO-144评估板。
在USB 3.0及USB 3.1大行其道的今天,MCU上的USB接口仍然处于相对落后的状态,虽则现有MCU大多提供了USB HS/FS接口,但其速率大多止步于全速USB接口标准,数据吞吐率极其有限,这样限制了MCU在大数据吞吐场合的应用。下表给出了目前USB接口的一参考数据。
STM32F723IEK6微控制器的USB-HS (高速)设备物理层(PHY)芯片的高速USB连接器,以及USB-FS (全速)连接器和TFT 240x240像素LCD触摸屏。该套件还预装演示软件,包括一个WAV音频播放器、简易视频播放器和录音机。
STM32F723E-DISCO不仅为用户带来了高速USB体验,同时秉承了DISCO一贯的主张,板载大量的传感器及LCD,为用户提供丰富的外设接口,带来更好的体验。
STM32F723E-DISCO开发套件包括MEMS麦克风、MEMS传感器、音频编解码器和用户界面显示屏,支持创新应用演示。基于高性能STM32F7微控制器,新探索套件STM32F723E-DISCO标志着下一代灵活性即将到来,为开发人员提供功能更丰富的第三方模块,进一步扩展应用功能。
除Arduino Uno排针外,新探索套件还内置一个安捷伦Pmod连接器和新定义的STMod+连接器,后者让用户能够通过所提供的扇出接插板,连接Wi-Fi模块、 SeedStudio Grove模块、MikroElektronika click boards,或者连接电路试验板快速开发原型。
我要看板子,别废话!行,这就看。
居然象是工包?这次的包装里面居然连用户快速指南都省了,不要怀疑是否二手,货真价实,就是这个样。
套件内包括两块板,其中一块是扩展板,ST管它叫Fanout,提供了目前流行的一些接口,如MikroElektronika Click board兼容接口。
STM32F723E-DISCO提供的主要特性如下sizeof:
● STM32F723IEK6微控制器,512KB Flash,256KB SRAM,UFBGA176封装
● 板载ST-LINK/V2-1调试器
● 240X240分辨率LCD,带触摸屏,大小为1.54英寸
● SAI音频解码器
● 4个ST-MEMS MIC
● 音频输入、输出接口
● 512Mbit QSPI Flash存储器
● 8Mbit PSRAM存储器
● USB OTG HS/FS接口
● ESP-01 WiFi接口
● PMOD连接器
● STMod+连接器
● Fanout扩展板
STM32F723E-DISCO开发板正面的一些主要元器件,主要包括LCD、ESP8266接口、USB OTG接口及PMOD、STMod+连接器等。
STM32F723E-DISCO开发板背面的设备,主要包括有STM32F723MCU,扩展的QSPI及PSRAM存储器,Ardduino UNO V3接口及WM8994音频解码器等。
套件内的Fanout扩展板提供了丰富的其它类型接口,如下图
Fanout扩展板提供了一些其它设备厂商开发的流行设备接口,如Grove System提供的Grove接口,在Arduino及Intel的许多设备上使用非常频繁,Fanout板上提供了两个:UART及I2C接口,可以方便的对接基于Grove接口的外设。另外现在基于Mikrobus的外设也非常多。通过Fanout扩展板,STM32F723E-DISCO的适用性大增强。
STM32F723E-DISCO板载一颗STM32F723IEK6的芯,基于ARM Cortex-M7,最高主频216MHz,支持FPU运算,内置的ART加速技术,结合8KB的数据及8KB的指令缓存,可实现0等待执行操作。该CPU的CoreMark运算得分高达1082。
注意到MCU上的ES标志,这与一般意义是的STM32产品是有区别的,ES或E表明该产品尚未具备正式量产的资格。
STM32F723系列还有一个显著的特性,在MCU内集成了PHY HS。也就意味着使用STM32F723实现USB HS功能时,不需要额外使用外部PHY设备,USB HS通过开板板上的CN19与外部设备连接,实现高速通信。内部连接原理图如下
STM32F723E-DISCO开发板上的LED LD8与USB电源开关连接,用来指示设备工作状态,另外LED LD7用来指示电流是否过载。当使用ST-LINK来供电时,OTG最提供最大100mA的电流输出,如果要输出更高的电流,则只能使用外部电源来给开发板供电。
虽然MCU只提供了512KB/256KB的FLASH/SRAM存储组合,但是根本不用担心STM32F723E-DISCO的存储瓶颈,因为开发板上还集成了一个8-Mbit的PSRAM,PSRAM的型号为IS66WV51216EBLL-55BLI,通过FMC接口来实现访问,可实现16位数据传输及18位寻址能力。
另外STM32F723E-DISCO开发套件上还提供了一颗512Mbit的NOR Flash外部存储芯片,通过QSPI与MCU连接,以实现更多的数据存储能力,NOR Flash的型号为MX25L51245G。
该存储模块大大扩充了开发板的存储能力,可心用来存储字库或图像等比较大的资源。
STM32F723E-DISCO开发板的其它一些图片,供欣赏。
初步认识了STM32F723E-DISCO开发板的外观及一些主要的特性,现在准备给开发板上电,体验预置的程序提供的一些基本功能。
需要完整的体验STM32F723E-DISCO开发板出厂固件提供的功能,需要准备一根OTG数据线,一个U盘或者SD卡(配合读卡器)以及一副耳机。将ST官方提供的Media资源包复制到U盘或TF卡上,供程序读写。
连接好之后的整体效果图,其中OTG连接到开发板的CN19上,耳机连接到开发板的Line Out上,上图是播放音乐的界面。最后是连接ST-LINK给开发板供电。
首次上电,提醒用户校准触屏,点击屏幕上提供的校准点,显示屏的大小为1.54英寸,240X240的分辨率,一般男性使用手指来触摸的话有点难度。
这是系统出厂时提供的演示程序,界面包括4个功能,视频播放、音频播放、时钟及录音功能。
这是播放AVI的效果,播放画面非常流畅,这要归功于微处理器强大的运算能力。
录音效果,开发板上4个MEMS MIC提供了较好的降噪处理能力,实际录音效果不错。
ST一直致力于打造一个良好的生态系统。除了在硬件方面为广大用户提供了丰富的硬件评估套件,软件方面也是不遗余力,配套的STM32CUBEMX图形开发环境及丰富的例程库、代码,能帮助用户快速掌握软件开发过程,累积开发技能并迅速应用到实际工程上。
这里建立一个简单的工程,实现LED灯及UART通信功能,为后面的CoreMark测试为准备。
打开STM32CUBEMX图形化程序,新建一个工程
在这里选择合适的MCU型号,可以使用MCU Filters来迅速找到自己需要的MCU型号,例如这里STM32F723IEKx就是我们需要的。
配置RCC资源,STM32F723E-DISCO开发板上焊接了25MHz的外部晶振,将上图中的Disable选项改为外部晶振适用的选项。
图形化的配置模式结合自动计算功能,可以很快设定时钟树,这里将时钟HCLK设定为216MHz,这也是官方推荐的最高运行频率。其它需要设置的参数还包括LED用到的GPIO,这里使用PA5,其它如UART,这里用到的是UART6,这是开发板上预设的与VCOM进行通信用到的端口。
配置后时钟之后,对设备进行具体参数的设定,这里指定MCU的一些特性,如使用TCM接口来取代AXIM接口,以实现更高的性能。
配置完设备参数之后,导出开发平台相关的工程文件,如下
这里指定的参数主要是工程的名称、位置、IDE的类型(这里使用IAR,也就是EWARM),下面还可以指定工程文件中堆和栈的大小。
STM32CUBEMX生成的只一个工程框架,具体的程序逻辑还需要用户自行设计,输入相应的代码。打开工程中的main.c文件,在程序的主循环中输入如下代码,实现简单的闪烁功能。
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
HAL_Delay(500);
}
/* USER CODE END 3 */
注意代码中的大量注释,STM32CUBEMX生成的工程为用户代码预留了插入位置,将代码写到这些规定的位置以防止再次生成工程时被覆盖。
编译并下载代码到开发板上,与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...rn");
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: %drn", count);
float total_mega_bytes = sectors * 512 * times / 1000.0f / 1000.0f;
sprintf(msg, "total %6.4f MB writedrn", total_mega_bytes);
printf(msg);
sprintf(msg, "transforming rates: %6.4f MB/Secrn", 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,良心再次体现!
参考资源:
STM32F723E-DISCO
X-CUBE-PCROP
COREMARK代码
特别推荐
上一篇: tms软件,tms软件哪个好用
联系电话:18300931024
在线QQ客服:616139763
官方微信:18300931024
官方邮箱: 616139763@qq.com