source: trunk/hardware/notizen.txt@ 8

Last change on this file since 8 was 8, checked in by f.jahn, 3 weeks ago
File size: 7.2 KB
Line 
1EVAL Boards:
2--------------
3
4- STM32N6570-DK
5
6Mit STM32N657X0H3Q Controller. Controller ist bei mouser auf Lager. 13,67EUR
7Der größte Controller aus der Serie mit AI und Crypto
8VFBGA 264pins aber mit freundlichen 0,8mm Raster
9Der gleiche Chip ohne Crypto und ai 12,13, aber nicht auf Lager
10
11User Manual: https://www.st.com/resource/en/user_manual/um3300-discovery-kit-with-stm32n657x0-mcu-stmicroelectronics.pdf
12
13-> 128Mbit Flash über Okto SPI
14-> USB Type-C® with USB 2.0 HS interface, dual‑role‑power (DRP)
15-> USB Type-A with USB 2.0 HS interface, host, 0.5 A max
16-> 1‑Gbit Ethernet with TSN (time-sensitive networking) compliant with IEEE‑802.3‑2002 • SAI audio codec
17-> 256-Mbit Hexadeca‑SPI PSRAM
18-> microSD™ Card
19-> Stereo headset jack including analog microphone input
20
21
22The Octo‑SPI flash memory has the following characteristics: 1-Gbit, 1.8 V, 200 MHz, DTR, read while writing. It is connected to the OCTOSPI interface of the STM32N657X0H3Q microcontroller on the STM32N6570-DK board. Since the NRST (system reset) is at 3.3 V level, while the reset of the flash memory is 1.8 V in this design, a diode (D4) is used to adapt the reset signals.
23
24
25Der Chip ist ein MX66UW1G45GXDI00. Mouser ab Oktober verfügbar und kostet 30EUR!!!!, Digikey: Kein Bestand und 27EUR
26
27
28
29microSD™ card A slot (CN13) for microSD™ card (UHS-I supported) is available on the STM32N6570-DK board and is connected to the SDMMC2 interface of STM32N657X0H3Q. The uSD_Detect signal (PN12) manages the microSD™ card detection. When a microSD™ card is inserted into the slot, the uSD_Detect signal level is LOW, otherwise, it is HIGH. The SD_SEL signal (connected to PO5) manages the power selection (1.8/3.3 V). The system reset (NRST) and PWR_SD_EN(PQ7) signals enable or disable the power switch. PWR_ON pulls up these two signals.
30
31
32The STM32N6570-DK board supports 10/100/1000-Mbit Ethernet communication with a PHY and integrates an RJ45 connector (CN16). The Ethernet PHY is connected to the STM32N657X0H3Q microcontroller via an RGMII interface. The 25 MHz clock of the PHY is generated from the X4 crystal.
33
34
35Audio
36Audio STM32N6570-DK features audio characteristics such as: • An audio codec with an SAI interface and a 3.5 mm audio jack connector (for stereo earphones and one analog microphone) • A digital MEMS microphone and microphone daughterboard connector Audio codec An audio codec is driven through the I2C2 interface (100 kHz). The I2C write/read address is 0x34/0x35. An SAI interface transfers audio data. A dedicated I/O (Audio_INT, PB1, active LOW) is used for the IRQ interrupt. Warning: The SAI signals are multiplexed with trace signals.
37
38
39Schaltplan:
40https://www.st.com/resource/en/schematic_pack/mb1939-n6570-c02-schematic.pdf
41
42
43
44---------------------------------
45NUCLEO-N657X0-Q
46
47Mit STM32N657X0H3Q controller
48Usermanual: chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.st.com/resource/en/user_manual/um3417-stm32n6-nucleo144-board-mb1940-stmicroelectronics.pdf
49
50-> USB Type-C® DRP with USB 2.0 high-speed interface, dual‑role‑power (DRP)
51-> 64Mb Flash über Okto SPI
52
53
54
55
56Schaltplan
57https://www.st.com/resource/en/schematic_pack/mb1940-n657x0q-c02-schematic.pdf
58
59Flash:
60MX25UM51245GXDI00
61Lieferzeit???? Preis ab 13 EUR
62Bei Farnell ab März 2027
63
64Aus der gleichen Serie scheint MX25UM25645GMI00 aktuell verfügbar mit 256Mbit --> 32Mbyte
65Achtung: Lieferbeschränkung!!!!
665,88 EUR
67
68
69
70
71MX25UM51345G ist bei mouser verfügbar
72--> langsamer lt. ki, nicht komplett gleiche register--> Stimmt das wirklich?
73
74
75BGA Raster ist 1mm bei Macronix.
76
77
78
79------
80Programmierung:
81Nein, durch das reine Start-Alignment geht kein nennenswerter Speicher verloren.
82Das Alignment bezieht sich lediglich auf die Startadresse des gesamten Arrays im RAM. Der Compiler sorgt damit nur dafür, dass das erste Byte des Puffers an einer durch 32 teilbaren Adresse im Speicher liegt (z. B. 0x30000000 statt 0x30000001). Dadurch verlierst du im schlimmsten Fall maximal 31 Byte vor dem ersten Puffer – was bei einem über 3,6 Megabyte großen Grafikspeicher absolut vernachlässigbar ist. [1]
83Innerhalb des Arrays liegen alle deine RGB888-Daten (Pixel für Pixel, Zeile für Zeile) absolut lückenlos und ohne "Gaps" (Verschnitt) hintereinander.
84Es gibt jedoch ein wichtiges technisches Detail beim STM32N6 und dem Zusammenspiel von RGB888 und Grafik-Hardware, das du kennen musst:
85## 1. Zeilenlängen-Vorteil (Stride / Pitch) bei 1024×600
86Bei vielen Grafikauflösungen führt Hardware-Alignment dazu, dass am Ende jeder einzelnen Displayzeile ungenutzte Füllbytes (Padding) eingefügt werden müssen, damit die nächste Zeile wieder sauber ausgerichtet startet (sogenannter Stride oder Pitch). [2, 3]
87Bei deiner gewählten Auflösung hast du jedoch Glück:
88
89* Eine Zeile hat 1024 Pixel.
90* Bei RGB888 (3 Byte pro Pixel) entspricht das: 1024 × 3 = 3072 Byte pro Zeile.
91* Da 3072 exakt durch 32 teilbar ist (3072 / 32 = 96), ist jede einzelne Zeile deines Displays automatisch perfekt auf das 32-Byte-Raster ausgerichtet!
92* Ergebnis: Es entsteht an den Zeilenenden absolut kein Speicherverschnitt. Der Puffer bleibt komplett "packed" (kompakt). [3]
93
94## 2. Eine wichtige Hardware-Falle beim STM32N6 (NeoChrom GPU)
95Wenn du den STM32N6 nutzt, gibt es bezüglich RGB888 eine entscheidende Besonderheit des Grafikbeschleunigers: Die im STM32N6 verbaute NeoChrom GPU unterstützt nativ oft kein direktes Schreiben/Rendern in 24-Bit-RGB888-Framebuffer. [4, 5]
96Um dieses Problem ohne Speicherverschwendung zu lösen, nutzt STMicroelectronics ein cleveres Hardware-Feature: die GFXMMU (Graphics Memory Management Unit). [4, 5]
97
98* Deine Software (z. B. TouchGFX oder LVGL) "denkt", sie rendert in einen 32-Bit-Puffer (ARGB8888). [4, 5]
99* Wenn die GPU auf den Speicher zugreift, fängt die GFXMMU diesen Zugriff ab und packt die Daten in Hardware transparent als 24-Bit-RGB888 in den echten RAM. [4, 5]
100* Der reale Speicherverbrauch in deinem RAM bleibt dadurch bei den berechneten 1,84 MB pro Puffer, obwohl die Grafiksoftware performant mit 32-Bit-Adressierung arbeitet. [4, 6]
101
102Zusammenfassend: Durch das Alignment verlierst du keinen Speicher, und dank der Breite von 1024 Pixeln entstehen auch keine Performance-Einbußen durch künstliches Zeilen-Padding. [3]
103Möchtest du wissen, wie die GFXMMU-Konfiguration in den STM32Cube-Werkzeugen eingerichtet werden muss, damit dieses hardwareseitige 32-zu-24-Bit-Mapping für deine Auflösung korrekt funktioniert?
104
105[1] [https://stackoverflow.com](https://stackoverflow.com/questions/8516835/alignment-of-c-structure-in-internal-flash-memory)
106[2] [https://electronics.stackexchange.com](https://electronics.stackexchange.com/questions/640680/stm32-ltdc-difference-between-pitch-and-line-length)
107[3] [https://community.st.com](https://community.st.com/stm32-mcus-touchgfx-and-gui-33/support-for-padding-in-frame-buffer-47990)
108[4] [https://support.touchgfx.com](https://support.touchgfx.com/docs/development/scenarios/touchgfx-on-gpu2d)
109[5] [https://support.touchgfx.com](https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-ltdc-parallel-rgb)
110[6] [https://medium.com](https://medium.com/@pkusolruangchai/exploring-stm32n6-f41df8e2e516)
111
Note: See TracBrowser for help on using the repository browser.