zoukankan      html  css  js  c++  java
  • 【STM32F429开发板用户手册】第3章 STM32F429整体把控

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255

    第3章   STM32F429整体把控

    初学STM32F429一定要优先整体把控芯片的框架,不要急于了解单个外设的功能。

    3.1 初学者重要提示

    3.1 STM32F429框图

    3.2 STM32F429各个型号的区别

    3.2 STM32F429总线框图和时钟

    3.3 STM32F429的AHB 总线矩阵

    3.4 STM32F429的FLASH

    3.5 STM32F429的RAM

    3.6 总结

    3.1   初学者重要提示

    1.   学习一款新的芯片,优先掌握系统框架是比较重要的,建议逐渐养成这种学习习惯,然后各个击破即可。
    2.   本章节提供了多张STM32F429的框图,这些框图都非常具有代表性。很多时候记忆知识点比较费脑子,记录这些框图是一种非常好的方式。
    3.   对于本章节提供的部分知识点,无法理解透彻,暂时没有关系。随着后面的深入学习,基本都可以掌握。

    3.2   STM32F429硬件框图

    学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V6开发板使用的STM32F429BIT6,直接在官方地址:链接(这是超链接)就可以看到对此芯片所做的介绍,页面中有一个如下的框图,对于了解STM32F429整体设计非常方便(当前ST官网显示bug,导致F429系列的框图都被搞丢了,下面先用F407做展示)。

     

    再稍微详细点,就需要大家读页面上的”Key Features”,就是下图所示的内容:

     

    或者直接看数据手册开头的章节即可,也进行了介绍,内容基本都是差不多的,如下图所示(部分截图):

     

    通过框图和Key Features,大家可以方便地了解STM32F4的FLASH、RAM大小以及各种自带外设的信息。

    3.3   STM32F429各个型号的区别

    涉及到芯片选型的时候,需要大家了解各个型号的区别。通过网页链接(这是一个超链接)里面的截图可以方便的了解。最主要的是下面的这个截图:

     

    通过这个截图可以方便地了解不同型号的引脚数、封装、FLASH大小、RAM大小以及是否带HW CRYPTO硬件加密的区别。

    需要了解更详细的对比信息,可以看数据手册。任意下载一个型号的数据手册,在数据手册的的Table 2里面有详细的对比,如下图所示(部分截图):

     

    使用ST提供的软件STMCUFinder或者STM32CubeMX也可以做对比,只是没有上面的表格这么方便,可以一目了然。

    3.4   STM32F429总线框图和时钟

    STM32F429的数据手册里面提供了一张非常棒的框图,大家可以方便地查看每个总线的时钟速度和这个总线所挂的外设。这个在大家配置外设时钟分频的时候还是非常有用的,因为外设的时钟分频就是建立在所挂的总线速度(大家直接在数据手册里面检索Figure 1就可以找到)。

     

    比如我们想得到不同定时器的主频,通过上面的框图,可以方便地获得如下信息:

    SYSCLK(Hz)   = 180MHz

    HCLK(Hz)     = 180MHz

    HCLK = SYSCLK / 1     (AHB1Periph)

    PCLK2 = HCLK / 2      (APB2Periph)

    PCLK1 = HCLK / 4      (APB1Periph)

    因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = PCLK1 x 2 = SystemCoreClock / 2;

    因为APB2 prescaler != 1, 所以 APB2上的TIMxCLK = PCLK2 x 2 = SystemCoreClock;

    APB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13,TIM14

    APB2 定时器有 TIM1, TIM8 ,TIM9, TIM10, TIM11

    3.5   STM32F429的AHB总线矩阵

    下面这个截图比较有代表性,可以帮助大家理解STM32F429总线系统。

     

    通过这个框图我们要了解以下几点:

    1、 32位AHB总线组成的10*8矩阵

    •   7个从接口端

    Flash的ICode和Dcode;SRAM1;SRAM2;SRAM3;AHB1外设;AHB2外设和FMC总线。

    •   8个主接口端

    Cortex-M4内核的I-Bus,D-Bus和S-Bus;DMA1的DMA_MEM1;DMA2的DMA_MEM2和DMA_P2;以太网MAC;USB OTG HS;LCD-TFT控制器;DMA2D。

    2、  并行操作

    由于总线矩阵的存在,8个主接口端都可以发起通信,只要不是访问同一个外设,且通信的通路没有公用,那么就可以并行执行。

    3.6   STM32F429的FLASH

    STM32F429的主频是180MHz,但自带的Flash支持的频率是远低于这个值的。具体延迟数值和主频关系如下:

     

    对于上面的表格,大家可以看到,当延迟等待设置为0的时候,即无等待,单周期访问,速度可以做到30MHz(供电电压选择2.7到3.6V)。增加1个Flash周期后,访问速度可以做到60MHz。当增加到5个Flash周期后,最高速度可以做到180MHz。

    当STM32F429以180MHz运行的时候,每次访问Flash都需要6个时钟周期,时间太长了。为了解决这个问题,STM32F429的Flash做了ART Chrom加速,可以实现Flash操作零等待。

    3.7   STM32F429的RAM

    通过本章的3.5小节,我们了解到,STM32F429由以下几块SRAM组成:

    •   SRAM1,SRAM2和SRAM3区

    这三块SRAM的地址是连续的。

    SRAM1首地址:0x2000 0000,大小128KB。

    SRAM2首地址:0x2001 C000,大小16KB。

    SRAM3首地址:0x2002 0000,大小64KB。

    速度:180MHz。

    •   CCM RAM区

    CCM RAM是直接接到M4内核的D-Bus总线上,优势是M4访问比较快,缺点是这个RAM区不支持DMA,这点要特别注意。

    CCM RAM首地址:0x1000 0000,大小64KB。

    速度:180MHz。

    •   Backup SRAM区

    备份RAM区。

    Backup SRAM首地址0x4002 4000,大小4KB。

    速度:180MHz。

    用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。

    3.8   总结

    本章节就为大家讲解这么多,让大家对STM32F429有个整体的认识,后面章节将逐个进行学习。

  • 相关阅读:
    Binary Tree Maximum Path Sum
    ZigZag Conversion
    Longest Common Prefix
    Reverse Linked List II
    Populating Next Right Pointers in Each Node
    Populating Next Right Pointers in Each Node II
    Rotate List
    Path Sum II
    [Leetcode]-- Gray Code
    Subsets II
  • 原文地址:https://www.cnblogs.com/armfly/p/13031750.html
Copyright © 2011-2022 走看看