DIY Electronic projects

Full Version: RPi Pico
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
https://thepihut.com/collections/raspber...ry-pi-pico

[*]RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
[*]Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
[*]264kB of SRAM, and 2MB of onboard Flash memory. . .
[*]. . . itd.
Da li je ovo bilo neophodno da naprave Smile pored svih ostalih Arduino-like platformi...
Kompletan modul je 4$, što je u cenovnom rangu onih jeftinih STM32 pločica sa alija (blue i black pill) a jača je mašina. Arduino nano, UNO nisu za poređenje sa ovim.
Ima dva Cortex M0 jezgra i dva periferijska I/O kontrolera koja, koliko sam ukapirao na brzinu, možeš iskoristiti da preko DMA skockas neki specifični I/O. Taj I/O radi nezavisno od oba jezgra. Liči mi na one PRU kod BeagleBone Black. Našao sam primer za pogon WS2812 LED kojim se pokazuje kako rade te PIO.
Jazgra su ista i ceo sistem je potpuno simetričan. STM32 ima dvojezgarni MCU ali je tamo aplikacijski M4 kao jedno jezgro i M0 kao drugo. I skuplji je. Na znam kakav je kod NXP (oni imaju neku LPC seriju).
Napucaće veliku zajednicu, gomile primera, tu je i mikropajton, pa s obzirom na nisku cenu mislim da će imati prođu.
USB je 2.0, video sam u datasheet-u.
Evo ovaj lik je napravio DVI interfejs pa vezao TV na Pico. Drugo jezgro slobodno skroz!

https://github.com/Wren6991/picodvi
Da taj Cortex M0 su odlični procesori. Prijatelj i ja koristimo od Cypressa jednu pločicu koja je vrhunska koristi M3 cortex, ima hrpu analogije,digitalije, FPGA napucana sa svime i svačime, i cijena je malo viša oko 15$
Pred praznike mi stigao RPi Zero i RPi4 i jos neki LCD/OLED dodaci ...

Igrao sam se kao malo dete tako sto sam RPi Zero prikacio na STM32F407 i to preko dva interfejsa, jedan SPI gde je STM32 slave i jedan direktan SWD kanal da mogu da programiram taj STM32 odmah tu i da imam dubugger + ceo Linux za razne stvari + WiFi + HDMI ...

Bezicno programiram i debagiram STM32F407 i to na RPi Zero, ne trebaju mi drugi alati, sve je tu na njemu, i radni i pomocni software i prevodioci i debugeri ...

U tom smislu taj Pico malac sa dva M0+ jezgra je zanimljiv ali ipak kombinacija Cortex-M4 sa Cortex-A7 je malo drugaciji ugodjaj.

ST, TI i Microcip su nama poznati i bliski i koristimo ih puno zato sto imaju ne samo ARM jezgro nego sve one dodatne periferije koje se nude, PWM/tajmeri, ADDA konverteri, ovakiv-onakvi interfejsi itd.

Tajmere kao dodatne module koje imaju na primer TI i ST su toliko napredni da retko koja druga firma to ima, slicno i sa ostalim periferijama, mislim znate kada ce taj Pico da ima na primer 5MSPS 12bit A/D koji moze da radi u 16bit sa HW interpolacijom, SiLabs ima na primer A/D sa 24bit rezolucijom, to je njihov "adut", dodatni moduli ne ARM-jezgro jer je inace tako osmisljena ta ARM prica, jedno jezgro a proizvodjaci sami implementiraju periferije pa koliko-ko-dokle dogura.

Apple se mesa debelo u ARM pricu i izgurace je sigurno ali ne verujem da ce njihovi procesori da imaju ovakve stvari poput brzih/preciznih A/D i PWM modula jer jednostavno to nije njihovo polje interesovanja niti imaju iskustva sa tim, drzace se svoji starih sarenih prozorcica i ikonica a A/D i D/A konverterima neka se neko drugi bakce Smile
Za 4$ nema ništa slično, ESP32 pločice, možda. Najjeftiniji Nucleo je 10$.


[*]26 × multi-function GPIO pins
[*]2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels
[*]Accurate clock and timer on-chip
[*]Temperature sensor
[*]Accelerated floating-point libraries on-chip
[*]8 × Programmable I/O (PIO) state machines for custom peripheral support
PS: Uz ovo igranje sam napokon savladao i cross-compile za RPi i STM, mogu da prevodim programe na mom macOS host i da ih samo presnimim (ssh/scp) na RPi i to traje jednu sekundu sto je brze nego da sam prevodio na samom RPi.

Bilo je dosta komplikacija dok sam pohvatao sta tu sve treba i kako da se podesi jer me je malkice zekila bukvalno jedna kompajler opcija koja se razlikuje kod RPi Zero u odnosu na sve ostale, fale mu neki napredni matematicki moduli i mora drugacije da se prevede program i onda radi na svim RPi ... Linux 4.2 headers meni za sad dovovljno : )
(01-21-2021, 09:47 PM)mikikg Wrote: [ -> ]... mislim znate kada ce taj Pico da ima na primer 5MSPS 12bit A/D koji moze da radi u 16bit sa HW interpolacijom, SiLabs ima na primer A/D sa 24bit rezolucijom, to je njihov "adut", dodatni moduli ne ARM-jezgro jer je inace tako osmisljena ta ARM prica, jedno jezgro a proizvodjaci sami implementiraju periferije pa koliko-ko-dokle dogura.

Za $4 ne mora ni da ima nikad ni blizu pomenutih 5MSPS
@gorankg
Cena je stvarno smesna i moze da zavrsi posao za gomilu stvarcica ali znas ono "zafali mi jedna nozica" pa sam tako sa BluePill koji je i dalje vrhunski kontrolercic presao na F407 bazu tako da ja stvarno nemam potrebe za drugim kontrolerima, ako zafali nozica stavicu jos jedan ... cena MCU mi nije primarna stvaka, mnogo mi je bitnije koliko dobro poznajem neki kontroler i njegove periferije i koliko su dobri alati za IDE i prevodjenje ... ako je to sve dobro i radi bez greske, sto se kaze "ispeglano" sve, onda nema sta dalje da se brine, sedi i programiraj samo ...

Meni je trebalo vise godina da savladam F103 i F407 kontrolere, secam se da sam prvo poceo sa F407 i tada mi je to bilo prilicno slozeno, onda sam poceso sa F103 gde je nesto jednostavnija situacija i tek onda mi je i F407 poceo da bude jasan i video koliko on tek ima dobre periferije ... Ne menja mi se tim Smile
(01-21-2021, 10:50 PM)ddanijel Wrote: [ -> ]
(01-21-2021, 09:47 PM)mikikg Wrote: [ -> ]... mislim znate kada ce taj Pico da ima na primer 5MSPS 12bit A/D koji moze da radi u 16bit sa HW interpolacijom, SiLabs ima na primer A/D sa 24bit rezolucijom, to je njihov "adut", dodatni moduli ne ARM-jezgro jer je inace tako osmisljena ta ARM prica, jedno jezgro a proizvodjaci sami implementiraju periferije pa koliko-ko-dokle dogura.

Za $4 ne mora ni da ima nikad ni blizu pomenutih 5MSPS

Ima 500kSPS ... to je malo bolje nego kod nekih nekih 8bit PIC-eva Smile 
STM32F103 "pilulica" procesor od pre 15 godina ima 2.4MSPS ... ST-Microelectronics je ipak malo iskusnija i ozbiljnija firma nego "Raspberry Pi", ne moze to samo od sebe da se napravi, ili ces da kupis licencna prava ili ces sam da razvijas pa kao sto rekoh koliko-ko-dokle dogura, trece nema ...

STM32F103 su "poklanjali" uz Nucleo i Discovery plocice, bilo im glupo da stavljaju FT232 (tudje) USB chipove na svoje dev plocice pa su ih koristili samo kao programatore a naplacivali su PCB i "target" kontrolere.
Tek posle X godina je bilo "cek pa taj F103 malac nije tako los" pa su onda kinezi i ekipa izdvojili samo njega i napravili BluePill ...
@gorankg Ono jes, ako zaista bude 4$ onda je cena definitivno najbolja.

Ja sam prvo pomislio na konkurenciju ovog tipa:
STM32F411
https://www.aliexpress.com/item/4000282242626.html

Ili još moćniji sa H serijom:
STM32H750xB devices are based on the high-performance Arm® Cortex®-M7 32-bit RISC core operating at up to 480 MHz. The Cortex® -M7 core features a floating point unit (FPU) which supports Arm® double-precision (IEEE 754 compliant) and single-precision data-processing instructions and data types. STM32H750xB devices support a full set of DSP instructions and a memory protection unit (MPU) to enhance application security. STM32H750xB devices incorporate high-speed embedded memories with a Flash memory of 128 Kbytes, up to 1 Mbyte of RAM (including 192 Kbytes of TCM RAM, up to 864 Kbytes of user SRAM and 4 Kbytes of backup SRAM)

https://www.aliexpress.com/item/4000300005466.html

Ovde mi je zanimljivo koliko RAM-a imaju ovi STM32H750...

Ipak je verzija sa dual-core MCU skuplja, STM32H743xB, tako da je ovaj RPy Pico što se tiče cene best-buy. Sa druge strane, Cortex M0 i Cortex M4 su ipak prilično različiti.
A zaboravili smo i veoma moćni ESP32 od Espressif-a. Ceo modul sa WiFi konekcijom i BT konekcijom, takođe dual-core, i cena modula je ispod 4$
https://www.aliexpress.com/item/32834130422.html
Pa gde smemo da pomenemo to sa svojih 200 ksps na AD ? Smile (toliko mi izbacio google da ima ali mislim da nema ni toliko)

(01-21-2021, 11:12 PM)mikikg Wrote: [ -> ]Ima 500kSPS ... to je malo bolje nego kod nekih nekih 8bit PIC-eva Smile 
STM32F103 "pilulica" procesor od pre 15 godina ima 2.4MSPS ...

Sve zavisi kome za kakav projekat sta treba. Onome kome treba da sempluje sa vecim rate sigurno nece izabrati ovo to je jasno ali ne prave svi super brze ad/da i slicno tako da ne vidim cemu usporedba i merenje ciji je veci (od proizvodjaca do proizvodjaca).
Za diy-ere i uspeh necega kod vecine diy-era i elektronicara uopste nije preterano bitno sta moze hw nego koliki je comunity i to sam vise puta pomenuo, a cist dokaz je arduino. I esp8266 kao i esp32 da nisu odradili suport na arduino IDE ne bi prodali ni 10% od onoga sto su do danas prodali. Par mojih drugara i ja smo u zadnjih par godina potrosili reda oko 100komada esp8266 na raznim projektima, sto sigurno ne bi bilo da nije bio portovan na arduino i da nema toliku podrsku sa te strane.
Kad spomenusmo A/D, zatekla mi se ovde Nucelo-L476RG za potrebe nekugog drugog projekta i nesto gledam po dokumentaciji i nadjem da imaju "DFSDM" modul ... sta je sad pa to? ...

Digital Filter for Sigma-Delta modulators interface

Kopam dalje i nadjem da je to mnooogo pismena stvar bas specificno za A/D konvertere i vezano je upravo za ono "Pa gde smemo da pomenemo to sa svojih 200 ksps na AD" jer se ne radi samo o sample-rate nego proporcionalo zavisno i o rezoluciji uzorkovanja kod na primer sigma-delta A/D konvertera + mnogo bitna stvar sto je to seriski clokc-ovan stream preko dve data linije tako da je zgodan za galvansko razdvajanje jer je to uvek problem sa A/D konverterima i na to sve ima HW Sin2/3/4/5 filtere za procesiranje signala, sve sinhronizovano i radi preko DMA i interapta ... uradili su ga "boli glava", to je na primer ozbiljan pristup jedoj konkretnoj temi vezanoj za A/D konvertere i inzenjeri periferije su stvarno odradili domacinski posao ... To mi je interesatno za neke high-resolution primene ...

Imaju 1000x HW oversampling, sam uzorkuje i racuna ...

Ja kada sam sa pilulicom radio 1000x (tacnije 1024 jer mi bilo zgodnije za deljenje) oversamplling na 12bit 2.4MSPS neki se smejali ovde ... Big Grin

https://www.st.com/content/ccc/resource/..._DFSDM.pdf

Ovakve stvari sigurno nece skorije da imaju ARM kontroleri firme Apple ili Rasperry Pi, o tome se radi, ne mogu to da naprave tako lako niti im treba u zivotu Smile
Raspberry Pi iskreno je trebao sa ovim Pico kontrolerom da ostane na nekom Cortex-A7 jezgru, kao sto je imao na Zero samo da ga prepakuju u taj format plocice i mozda uSD karticu da sklone i stave neku dobru internu memoriju, to da proizvode i prodaju ...

Cortex-A7 je super "drugar" da se upari/poveze sa bilo kojim drugim MCU, nebitno da li je jezgro 8bit, 16bit i 32bit, jednostavno A7 mnogo dobro radi posao oko Linux i OS generalno dok drugi kontroler radi real-time stvari preko svojih periferija i ta dva konreolera su povezana i zajedno rade sve sto treba vrlo efikasno i brzo.

Spoj Cortex-A i Cortex-M tipova jezgra je poznata stvar da radi dobro, ST-ova nova H7 serija je upravo to, imaju jedno A i jedno M jezgro zajedno i to je sjajan spoj. ST je tu trenutno dostigao "maksimum" integracije, jedno M i jedno A jezgro ...

Texas Instruments sa druge strane su "odleteli" po tom pitanju, imaju modele sa 2-3-4 Cortex-A jezgra + jos 2-3-4 Cortex-M jezgra + dedicated DSP + njihove vrhunske AD/PWM periferije pod istom kapom ... i imaju FRAM u sebi, koriste ga i kao RAM i kao FLASH, isto im se hvata ... mada imaju dodatno i ECC memoriju u sebi ... samo da se zna ko je tu "tata" ... Big Grin ... a oko toga sto takav kontroler kosta preko 100$ na 1000 komada mozemo nekom drugom prilikom ... koliko para toliko muzike ... Smile
Konkretan primer Cortex-M + Cortex-A, STM32F407 spojen na Raspberry Pi Zero.

Ovaj dodatni crveni ST-Link mi je tu privremeno dok ne spojim SWD direktno na RPi, to sam probao na drugom i radi odlicno kada se direktno spoji.

To je dakle ceo Linux racunar sa SSH/SCP konzolom preko WiFi i on je u ovom mom slucaju SPI-master i komunicira sa F407 koji je SPI-slave i koji mogu da konfigurisem i prilagodim za razne potrebe. Na samom RPi mogu da prevedem program za STM32 i preko GDB da imam remote-debugging ako mi zatreba ... 
Juhuuuu, napokon mi je glavanski razdvojen STM32 programator i za bonus dobio sveo ostalo sa Cortex-A i Linux Wink

PS: Ovih 4 jojstika su tu bezveze i samo glume promenljive ulaze u 8 A/D kanala, nemaju nikakvu specificnu svrhu trenutno ...

[Image: attachment.php?aid=35084]
Predhodna verzija kontrolera mi je bila bazirana isto za RPi ali tada su bili samo dosupni modeli RPi-2.

Kada je dosao RPi Zero sve je "leglo" kako treba, sve je ostalo kompatibilno ...

Medjutim, ta plocica je bilo bazirana na Microchip MCP ekspanderima, glupost, nisam trebao to tako da radim i ako sam u startu razmisljao drugacije da uradim a to je ova nova postavka gde umesto glupavih MCP imam ko covek Cortex-M kontroler i sa njim da radim sta hocu.
Imao sam doduse serisku konekciju za dodatni kontroler ali to nije to, tek kada se ovako okaci jedan dobar MCU preko SPI dobije se vrlo mocna kombinacija.

[Image: attachment.php?aid=35087]
Miki ovde si postavio RPy jer ti treba neki HTTP server, GUI ili?



Ja sam i dalje pristalica da se sve to "ubaci" u neki MCU Cortex M4 pa bootloader putam nekog LAN interfejsa...



I dalje sam skeptičan oko Raspbery Pi jer imaju SD card kao nosilac OS-a i svega.

Kupio sam desetak komada Banana Pi M2+ da nešto slično napravim jer ima integrisani eMMC, ali iskreno mnogo tu ima zezanja sa kernel-om, recimo da bi koristio

neke pinove kako želiš mora da se prekompajlira Kernel, pa onda u novim Kernelu izbace neke drajvere itd... Linux mi je još uvek veoma naporan za svakodnevno embedded korišćenje. Ne sporim da je mnooogo moćan i jednostavan za GUI i da sve drajvere IoT securiti dolazu u paketu, ali nekako dok dođem do finalnog proizvoda muka.



Što se tiče GUI-ja, tu sam već napravio sebi neki template framework pod CortexM4 i to radi veoma lepo, fluidno, za sada idem na 480x320pix sa 4", ali je sasvim Ok. Malo je veći izazov bio HTTP web server, još uvek ima par štucanja, ali relativno lepo može da se uklopi. Inače MCU je STM32F407VG...



Zamislite šta može da se uradi sa STM32H7x Smile


Inače fantastičan GUI imate ovde na linku: Kompletno je Free, a mislim da je dečko oduvao i mnogo ozbiljnije i skuplje profesionalne framework-e:
https://lvgl.io/


Na fottografijama je PCB samo za LCD-TFT modul, sličan modul samo sa LAN-om vozi HTTP web server.



[attachment=35094][attachment=35095][attachment=35096][attachment=35097][attachment=35098]
Pages: 1 2