打印
[STM32F7]

【分享评测】STM32F767ZI Nucleo-144评测

[复制链接]
4156|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fyaocn|  楼主 | 2016-8-10 13:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、概述
STM32F767是和STM32F765xx,STM32F767xx, STM32F768Ax and STM32F769xx 一样属于ARM®Cortex®-M732-bit RISC 内核高性能MCU的产品序列,最高216 MHz。以内置浮点处理单元(FPU) 和全套DSP指令为特征的配备ARM® Cortex®-M7内核的STM32F7系列超高性能MCU
利用START Accelerator™L1缓存,STM32F7器件实现了Cortex-M7的最大理论性能——无论是从嵌入式闪存还是外部存储器来执行代码:216 MHz 处理器频率下性能达到 1082 CoreMark/462 DMIPS
其另外一个特征就是配备新型外设集的智能架构,STM32F7系列采用新型Cortex-M7内核:

  • 面向内核、外设和存储器互连的AXI和多AHB总线矩阵
  • 两个通用DMA控制器和用于以太网、高速USB OTG 接口和Chrom-ART图形加速器的三个专用DMA
  • 外设速度独立于CPU速度(双时钟支持),使得系统时钟变化不影响外设工作
  • 更多外设,例如带有SPDIF输出支持的两个串行音频接口(SAI),带有SPDIF输入支持的三个I²S半双工传输,带有专用供电的两个USB OTG和双模QuadSPI Flash
  • 分散结构的大容量SRAM


    • 320 KB通用数据存储器,其中包括64 KB紧密耦合数据存储器(DTCM),用于时间关键数据处理(栈、堆......
    • 16 KB的紧密耦合指令存储器(ITCM),用于时间关键程序
    • 4KB的备份SRAM,用于最低功耗模式下保存数据
同时作为M系列的MCU,继续保持了对于能效的专注,1.8 V下高达7 CoreMark / mW,而且在所有寄存器和SRAM内容都能继续保持的停止模式下,具有100µA的典型电流消耗。
同时在巨大的体系变化情况下,还保持了M7向下兼容Cortex-M4指令集以及STM32F7系列与STM32F4系列引脚兼容的特性。这个实在是有些难啊,这个是为了不让客户前期的产品开发浪费,提高产品上市周期的一个策略。
Nucleo-144Nucleo的一个重要变化,从Nucleo-32的小型化到Nucleo-144的大型化,都是在保持nucleo的高度标准化和兼容性下对不同适用场景的有效变化。即使这样,仍然力求对包括arduino端口等的兼容性。
具体系列产品见下图
2、规格参数
STM32F767ZIT6U控制器特性:
        32位ARM Cortex-M7内核,最大216 MHz,可达462 DMIPS/2.14 DMIPS/MHz,DPFPU, ART Accelerator™ 和 L1-cache: 16 Kbytes I/D cache,支持DSP指令.
        2 MbytesFlash内存,SRAM 512 Kbytes (包括128 Kbytes实时数据,和16 K实时指令,以及4k备用SRAM,配备灵活外存控制器支持32位数据总线: SRAM, PSRAM, SDRAM/LPSDR SDRAM, NOR/NAND
        双模 Quad-SPI
        支持图像加速器Chrom-ART Accelerator™ (DMA2D), 硬件JPEG解码,LCD-TFT控制器(XGA)
        3×12-bit, 2.4 MSPS ADC
        2×12-bit D/A
        通用 DMA
        调试方式:SWD & JTAG interfaces和Cortex®-M7 Trace Macrocell™
        最大168个 I/O
        最多 28通讯端口
        4 I2 C interfaces (SMBus/PMBus)
        4 USARTs/4 UARTs (12.5 Mbit/s, ISO7816 interface, LIN, IrDA, modem control)
        6 SPIs (up to 54 Mbit/s), 3 with muxed simplex I2 S for audio
        2 x SAIs (serial audio interface)
        3 × CANs (2.0B Active) and 2x SDMMCs
        SPDIFRX
        HDMI-CEC
        MDIO slave interface
        USB 2.0 full-speed device/host/OTG controller with on-chip PHY
        USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI
        10/100 以太网MAC with dedicated DMA: supports IEEE 1588v2 hardware, MII/RMII
        摄像头8- to 14-bit up to 54 Mbyte/s
        96位ID
Nucleo-144板载资源包括:
•        两种扩展接口:1、Arduino Uno 3 接口   2、ST Morpho接口
•        板载SWD接口的ST-Link/V2-1 调试编程器:通过选择不同的跳线方式可以作为单独的ST-Link调试器使用
•        灵活的供电方式:1、USB或外部供电(3.3V,5V,7~12V)    2、电源管理接口
•        三个用户LED
•        两个按键:用户按键和复位按键
•        支持三种不同接口的USB:1、虚拟串口  2、大容量存储设备  3、调试接口
•        10/100Mbps以太网接口
•        USART


这样的性能其实已经可以独立成为一个具有视频输出功能的小型智能终端,而不需要更多的外部芯片了。是一个高性能高集成的智能芯片。


3、开发和介绍
对于开发工具,ST一直具有最大的适应性和兼容性。同时还要多样的中间件和开发库供使用。
而对于mbed的支持,是ST的一贯特性,更是提高了使用的方便性和特征。
3.1 板载范例和测试
新到手的板子跳线已经设好,只是需要核对一下JP1,JP3和JP5这3组选择了合适的供电方式。



具体控制,Button1reset键,button2负责在红蓝绿之间切换。
显示见视频。
1.rar (69 Bytes)


沙发
fyaocn|  楼主 | 2016-8-10 13:47 | 只看该作者
3.2 采用mbed
登录mbed的compile选项就可以进入程序编写和调试的环境了。
选择F7467-nucleo,对比参数
•        STM32F746ZGT6 in LQFP144 package
•        ARM®32-bit Cortex®-M7 + FPU + Chrom-ART™ Accelerator
•        216 MHz max CPU frequency
•        VDD from 1.7 V to 3.6 V
•        1 MB Flash
•        320 KB SRAM
•        GPIOs (168) with external interrupt capability
•        12-bit ADCs with 24 channels (3)
•        12-bit DAC channels (2)
•        USART/UART (8)
•        I2C (4)
•        SPI (6)
•        Advanced-control Timer (2)
•        Low-power Timer (1)
•        General Purpose Timers (12)
•        Watchdog Timers (2)
•        CAN 2.0B active (2)
•        SAI (2)
•        USB 2.0 OTG HS
•        USB 2.0 OTG FS
•        Ethernet
主要是在内存的容量上有较大的区别,其余基本兼容,因此可以作为目标板来选择。

选择标准的程序blink
#include "mbed.h"

DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}
编译并下载bin文件,直接复制到新增加的NODE-F767ZI上。就实现了下载,重新上电就可以实现该功能。

使用特权

评论回复
板凳
fyaocn|  楼主 | 2016-8-10 15:28 | 只看该作者
本帖最后由 fyaocn 于 2016-8-10 15:30 编辑

4、micropython开发
在STM32F767上是可以支持微型操作系统micropython的。
首先需要安装micropython的系统,这里采用F746的firmware,直接复制到新增的盘符上。
然后再连接USB OTG接口,自动寻找驱动后出现micro Flash端口,按照这个端口号用串口监视程序,115200bps的波特率访问。这事就可以出现micropython的用户界面,包括boot.py和main.py等文件。这是就可以在这个工作环境下用python语句进行程序编写和开发了。
当然,因为使用的是F746的firmware,所以应该有些pin是访问不了的,这时需要对照开发的芯片引脚对照进行开发。
firmware.rar (289.92 KB)





使用特权

评论回复
地板
fyaocn|  楼主 | 2016-8-10 15:42 | 只看该作者
5、总结
这个是一款高性能的芯片,从目前看,适应的应用场景丰富,开发工具多样,还能支持micropython这样的开发环境。目前是用串口模拟的,如果街上LCD屏,其实可以非常快速地搭建一个HMI工作平台,非常适合快速上手,快速开发。其Flash内存达到2M,其实已经接近极限了,用973K的micropython.boot正好。值得推荐。

使用特权

评论回复
5
fyaocn|  楼主 | 2016-8-10 16:04 | 只看该作者
6、建议的应用场景和后续开发设想
在评测的过程中,逐步发现这个芯片的功能丰富。对于常规的功能都有很大的提升,而且可用资源数量足够丰富。需要慢慢深入研究。
不过这个丰富的同时也带了了难度和兼容性的测试。这样的芯片在视觉识别,人工智能等都是会带来很多想象力的应用。如果在扩展SD卡的内存,应该讲,这个芯片可以独立单挑树莓派了。(当然,不在同一个级别上,树莓派是1G主频,但是功能的丰富应该是差距不大的。)

使用特权

评论回复
6
mmuuss586| | 2016-8-10 16:27 | 只看该作者
不错,谢谢分享;

使用特权

评论回复
7
fyaocn|  楼主 | 2016-8-11 11:27 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

19

帖子

0

粉丝