STM32F7 2 System and memory overview

Started by tha, October 02, 2022, 09:09:13 AM

Previous topic - Next topic

tha

2 System and memory overview

2.1 System architecture

The main system architecture ขึ้นอยู่กับ 2 sub-systems:
•   An AXI to multi AHB bridge แปลง AXI4 protocol ไปเป็น AHB-Lite protocol:
     –   1x AXI to 64-bit AHB bridge ถูกต่อถึง the embedded flash
     –   3x AXI to 32bit AHB bridge ถูกต่อถึง AHB bus matrix
•   A multi-AHB Bus-Matrix


tha

The multi-AHB Bus-Matrix เชื่อมต่อทุก the masters and slaves เข้าด้วยกันและมันประกอบด้วย:
     –   32-bit multi-AHB Bus-Matrix
     –   64-bit multi-AHB Bus-Matrix: มันเชื่อมต่อระหว่างกัน the 64-bit AHB bus จาก CPU ผ่านทาง the AXI to AHB bridge
          และ the 32-bit AHB bus จาก GP DMAs และ peripheral DMAs ที่ขยายเป็น 64-bit ไปยัง the internal flash.

tha

The multi AHB bus matrix interconnects:
•   12 bus masters:
     –   3x32-bit AHB bus Cortex®-M7 AXI Master bus 64-bits, ที่แยกเป็น 4 masters ผ่านทาง the AXI to AHB bridge.
     –   1x64-bit AHB bus ที่ต่อไปยัง the embedded flash
     –   Cortex® -M7 AHB Peripherals bus
     –   DMA1 memory bus
     –   DMA2 memory bus
     –   DMA2 peripheral bus
     –   Ethernet DMA bus
     –   USB OTG HS DMA bus
     –   LCD Controller DMA-bus
     –   Chrom-Art Accelerator™ (DMA2D) memory bus
•   Eight bus slaves:
     –   the embedded Flash on AHB bus (for Flash read/write access, for code execution and data access)
     –   Cortex® -M7 AHBS slave interface for DMAs data transfer on DTCM RAM only.
     –   Main internal SRAM1 (240 KB)
     –   Auxiliary internal SRAM2 (16 KB)
     –   AHB1peripherals including AHB to APB bridges and APB peripherals
     –   AHB2 peripherals including AHB to APB bridges and APB peripherals
     –   FMC
     –   Quad SPI


tha

2.1.1 Multi AHB BusMatrix

The multi AHB BusMatrix จัดการ the access arbitration ระหว่าง masters ทั้งหลาย. The arbitration ใช้ a round-robin algorithm.

มันจัดให้มี access จาก a master ไปจาก a slave, ทำให้ concurrent access และ efficient operation ถึงแม้เมื่อหลาย high-speed peripherals ทำงานขึ้นพร้อมกัน
The DTCM and ITCM RAMs (tightly coupled memories) ไม่เป็นส่วนหนึ่งของ the bus matrix.
The Data TCM RAM เข้าถึงได้โดย the GP-DMAs และ peripherals DMAs ผ่านทาง specific AHB slave bus of the CPU.
The instruction TCM RAM ถูกสงวนไว้เฉพาะสำหรับ CPU. มันถูกเข้าถึงที่ CPU clock speed ที่มี 0 wait states. The architecture ถูกแสดงใน Figure 1.

tha

2.1.2 AHB/APB bridges (APB)

The two AHB/APB bridges, APB1 and APB2, จัดให้มี full synchronous connections ระหว่าง the AHB and the two APB buses, ช่วยให้การเลือกของ the peripheral frequency ได้อย่างหยืดหยุ่น.

ดูที่ the device datasheets สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ APB1 and APB2 maximum frequencies,และใน Table 1 สำหรับ the address mapping ของ AHB and APB peripherals.

หลังจากแต่ละ device reset, ทุก peripheral clocks ถูกปิดใช้งาน (ยกเว้นสำหรับ the SRAM, DTCM, ITCM RAM and Flash memory interface). ก่อนการใช้ a peripheral สัญญานนาฬิกาของมันต้องถูกเปิดใช้งานใน the RCC_AHBxENR หรือ RCC_APBxENR register.

Note: เมื่อ a 16- or an 8-bit access ถูกกระทำบน an APB register, the access จะถูกแปลงลงใน a 32-bit access: the bridge
          จะสำเนา the 16- or 8-bit data เพื่อป้อน the 32-bit vector.

tha

2.1.3 CPU AXIM bus

bus นี้เชื่อมต่อ the Instruction and data bus of the Cortex®-M7 ที่มี FPU core ไปยัง the multi-AHB Bus-Matrix ผ่านทาง AXI to AHB bridge. มี 4 AXI bus accesses:
     –   CPU AXI bus access 1: เป้าหมายของ AXI bus นี้คือ the external memory FMC ที่บรรจุ code หรือ data. สำหรับ the
          NAND Bank ที่แมปที่ address 0x8000 0000 ถึง 0x8FFF FFFF, the MPU memory attribute สำหรับ space นี้ต้องถูก
          กำหนดค่าใหม่โดย software ไปยัง Device.
     –   CPU AXI bus access 2: เป้าหมายของ AXI bus นี้คือ the external memory Quad SPI ที่บรรจุ code หรือ data.
     –   CPU AXI bus access 3: เป้าหมายของ AXI bus นี้คือ the internal SRAMs (SRAM1 and SRAM2) ที่บรรจุ code หรือ
          data.
     –   CPU AXI bus access 4: เป้าหมายของ AXI bus นี้คือ the embedded Flash ที่แมปบน AXI interface ที่บรรจุ code หรือ
          data.

tha

2.1.4 ITCM bus

bus นี้ถูกใช้โดย the Cortex®-M7 สำหรับ instruction fetches และ data access บน the embedded flash ที่แมปบน ITCM interface และ instruction fetches เฉพาะบน ITCM RAM.

2.1.5 DTCM bus

bus นี้ถูกใช้โดย the Cortex®-M7 สำหรับ data access บน the DTCM RAM. มันยังสามารถถูกใช้สำหรับ instruction fetches อีกด้วย.

tha

2.1.6 CPU AHBS bus

bus นี้เชื่อมต่อ the AHB Slave bus of the Cortex®-M7 กับ the BusMatrix. bus นี้ถูกใช้โดย DMAs และ Peripherals DMAs สำหรับ Data transfer บน DTCM RAM เท่านั้น.

The ITCM bus ไม่สามารถเข้าถึงได้บน AHBS. ดังนั้น the DMA data transfer ถึง/จาก ITCM RAM ไม่ถูกรองรับ. สำหรับ DMA transfer ถึง/จาก Flash บน ITCM interface, ทุก the transfers ถูกบังคับผ่านทาง AHB bus