Upozornenie!
Vitajte na našej novej stránke! Treba sa znova registrovať .
Popis:
Choo! Choo! Toto je linka metra RP2040, ktorá má všetky zastávky na staniciach „Dual Cortex M0+ mountain“, „264K RAM kruhový objazd“ a „16 megabajtov mesta Flash“. Tento vlak je nabitý hardvérom, ktorý dopĺňa čip Raspberry Pi RP2040, čo z neho robí vynikajúcu vývojovú dosku pre projekty, ktoré chcú kompatibilitu s Arduino tvarom alebo len potrebujú extra priestor a ladiace porty.
Možno vás zaujíma prepínač RX-TX: pridali sme to, pretože tradičná doska Arduino začína počítať GPIO pre digitálne kolíky s 0-7 a potom 8-13. Piny D0/D1 sú však tradične aj hardvérové UART Serial1, kde D0 je Rx a D1 je Tx. Na RP2040 sú však kolíky UART iné: D0 je Tx a D1 je Rx. Teda prepínač DPDT: otočte jedným smerom, aby GPIO prešlo v poradí 0-7, otočte druhým spôsobom, aby boli logické umiestnenia hardvérového UART správne, ale poradie pinov je teraz 1, 0, 2, 3...7 . Samozrejme je to tiež praktické, ak si ako my často vymieňate kolíky - teraz už nepotrebujete vyžadovať ani rezať/spájkovať stopy!
O RP2040
RP2040 je výkonný čip, ktorý má taktovaciu rýchlosť ako náš M4 (SAMD51) a dve jadrá, ktoré sú ekvivalentné nášmu M0 (SAMD21). Keďže ide o čip M0, nemá jednotku s pohyblivou rádovou čiarkou ani hardvérovú podporu DSP - takže ak robíte niečo s ťažkou matematikou s pohyblivou rádovou čiarkou, bude to vykonané softvérovo, a teda nie tak rýchlo ako M4. Pre mnoho ďalších výpočtových úloh dosiahnete rýchlosti blízke M4!
Pre periférne zariadenia existujú dva ovládače I2C, dva ovládače SPI a dva UART, ktoré sú multiplexované cez GPIO - skontrolujte piny, na ktoré sa dajú nastaviť. K dispozícii je 16 PWM kanálov, každý kolík má kanál, na ktorý sa dá nastaviť (takisto na kolíku).
Všimnete si, že tu nie je žiadne periférne zariadenie I2S, SDIO alebo kamera, čo s tým? Namiesto špecifickej hardvérovej podpory pre periférie podobné sériovým dátam, ako sú tieto, RP2040 prichádza so systémom stavového automatu PIO, čo je jedinečný a výkonný spôsob vytvárania vlastnej hardvérovej logiky a blokov spracovania dát , ktoré bežia samostatne bez zaberá CPU. Napríklad NeoPixels – často používame protokol špecifický pre časovanie týchto LED. Pre RP2040 namiesto toho používame objekt PIO, ktorý načítava dátovú vyrovnávaciu pamäť a nataktuje správny bitový tok s dokonalou presnosťou. To isté s I2S audio vstupom alebo výstupom, LED maticovými displejmi, 8-bitovými alebo SPI založenými TFT, dokonca aj VGA ! V MicroPythone a CircuitPythone môžete vytvoriť riadiace príkazy PIO na skriptovanie periférneho zariadenia a jeho načítanie za behu. K dispozícii sú 2 periférne zariadenia PIO so 4 stavovými automatmi.
Existuje skvelá podpora C/C++ , neoficiálna (ale naozaj dobrá) podpora Arduina, oficiálny port MicroPython a port CircuitPython ! Samozrejme odporúčame CircuitPython, pretože si myslíme, že je to najjednoduchší spôsob, ako začať , a má podporu väčšiny našich ovládačov, displejov, senzorov a ďalších podporovaných hneď po vybalení, takže môžete sledovať naše projekty CircuitPython a tutoriály.
Zatiaľ čo RP2040 má veľa vstavanej pamäte RAM (264 kB), nemá vstavanú pamäť FLASH. Namiesto toho to poskytuje externý flash čip QSPI. Na tejto doske je 16 MB , ktoré je zdieľané medzi programom, na ktorom je spustený, a akýmkoľvek úložiskom súborov, ktoré používa MicroPython alebo CircuitPython. Pri použití C/C++ získate celú flash pamäť, ak používate Python, zostane vám asi 7 MB na kód, súbory, obrázky, fonty atď.
Vlastnosti čipu RP2040:
Description:
Choo! Choo! This is the RP2040 Metro Line, making all station stops at "Dual Cortex M0+ mountain", "264K RAM round-about" and "16 Megabytes of Flash town". This train is piled high with hardware that complements the Raspberry Pi RP2040 chip to make it an excellent development board for projects that want Arduino-shape-compatibility or just need the extra space and debugging ports.
You may be wondering about the RX-TX switch: we added this because traditional Arduino board start counting the GPIO for the digital pins with 0-7 and then 8-13. However, the D0/D1 pins are also traditionally the hardware UART Serial1, where D0 is Rx and D1 is Tx. On the RP2040, however, the UART pins are the other around: D0 is Tx and D1 is Rx. Thus a DPDT switch: flip one way to have the GPIO go in order of 0-7, flip the other way to have the logical locations of the hardware UART correct but now the pin order is 1, 0, 2, 3..7. Of course, it's also handy if, like us, you often swap the pins - now you don't need to require or cut/solder traces!
The RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and two cores that are equivalent to our M0 (SAMD21). Since it is an M0 chip, it does not have a floating point unit or DSP hardware support - so if you're doing something with heavy floating-point math, it will be done in software and thus not as fast as an M4. For many other computational tasks, you'll get close-to-M4 speeds!
For peripherals, there are two I2C controllers, two SPI controllers, and two UARTs that are multiplexed across the GPIO - check the pinout for what pins can be set to which. There are 16 PWM channels, each pin has a channel it can be set to (ditto on the pinout).
You'll note there's no I2S peripheral, or SDIO, or camera, what's up with that? Well, instead of having specific hardware support for serial-data-like peripherals like these, the RP2040 comes with the PIO state machine system, which is a unique and powerful way to create custom hardware logic and data processing blocks that run on their own without taking up a CPU. For example, NeoPixels - often we bitbang the timing-specific protocol for these LEDs. For the RP2040, we instead use PIO object that reads in the data buffer and clocks out the right bitstream with perfect accuracy. Same with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA! In MicroPython and CircuitPython, you can create PIO control commands to script the peripheral and load it in at runtime. There are 2 PIO peripherals with 4 state machines each.
There is great C/C++ support, unofficial (but really good) Arduino support, an official MicroPython port, and a CircuitPython port! We, of course, recommend CircuitPython because we think it's the easiest way to get started, and it has support with most of our drivers, displays, sensors, and more, supported out of the box so you can follow along with our CircuitPython projects and tutorials.
While the RP2040 has lots of onboard RAM (264KB), it does not have built-in FLASH memory. Instead, that is provided by the external QSPI flash chip. On this board, there is 16 MB, which is shared between the program it's running and any file storage used by MicroPython or CircuitPython. When using C/C++, you get the whole flash memory, if using Python, you will have about 7 MB remaining for code, files, images, fonts, etc.
Buďte prvý, kto napíše príspevok k tejto položke.
Len registrovaní používatelia môžu pridávať príspevky. Prosím prihláste sa alebo sa zaregistrujte.