Avtor: Brian Millier
E-pošta: bmillier1@gmail.com
Infineon je predstavil majhno razvojno ploščo, ki vsebuje PSoC6 MCU in številne senzorje ter razvojno aplikacijo za strojno učenje (ML), ki je tesno povezana s strojno opremo na tej plošči.
Ta aplikacija za strojno učenje je bila nedavno preimenovana v DEEPCRAFT Studio, razvila pa jo je švedska družba Imagimob, ki je povezana s podjetjem Infineon.
Uporabljal sem prejšnje generacije PSoC mikrokontrolerjev, ko jih je še izdelovalo podjetje Cypress Semiconductor (ki ga je prevzel Infineon). Še posebej so me navdušili MCU-ji PSoC4 in PSoC5LP, ki sem jih uporabil v številnih projektih, od katerih so se nekateri v preteklosti že pojavili v reviji Svet Elektronike. Ko je Infineon napovedal, da bo na sejmu electronica 2024 v Münchnu razdelil te plošče, sem si želel pridobiti eno, da bi jo preizkusil. Zaradi različnih logističnih razlogov do tega razdeljevanja ni prišlo, vendar mi je Infineon nekaj mesecev pozneje poslal ploščo.
Odkar sem jo prejel, sem opravil veliko testiranj s to ploščo in pripadajočo programsko opremo. V tej seriji člankov bom opisal, kaj sem ugotovil. Tovarniška številka plošče je CY8CKIT-062S2-AI, kar je enako poimenovanju, kot ga uporablja večina razvojnih plošč podjetja Cypress Semiconductor. V tej seriji pa jo lahko imenujem tudi PSoC6S2-AI, saj je tako včasih navedena v Infineonovi dokumentaciji.
Ta vsebina je samo za naročnike
Kaj vse je na plošči?
Čeprav je plošča majhna (45 mm x 35 mm), je zelo gosto zapolnjena večplastna plošča. Na sliki 1 je fotografija plošče, ki sem jo posnel ob kleščah, da si boste lažje predstavljali njeno velikost. Na zgornji strani plošče so MCU PSoC6, Wi-Fi/Bluetooth modul z Infineon CYW43439 in radarski modul Infineon XENSIV 60 GHz. Na plošči sta dve USB vtičnici – ena je povezana z vgrajenim razhroščevalnikom, druga pa z vgrajenim priključkom USB na PSoC6.
Na dnu plošče je MCU PSoC5LP, ki je programiran za delovanje kot razhroščevalnik/programator naprav CMS DAP. Na tej strani plošče je tudi veliko različnih senzorjev:
Dva PDM MEMS mikrofona
XENSIV digital barometer
6-osni IMU (pospeškometer + žiroskop)
3-osni magnetometer
Skupaj s temi senzorji je na plošči še 512 MB quad SPI NOR pomnilniški čip.
Čeprav imate na voljo veliko različnih vgrajenih senzorjev, GPIO priključkov ni veliko. Na voljo je 9-pinski 0,1-palčni priključek, ki izpostavlja vseh osem priključkov na Portu 9, ter 6-pinski priključek, ki izpostavlja priključka UART in I2C (ki sta prav tako speljana v vtičnico QUICC). Na voljo je tudi J15, zelo majhna 20-pinska vtičnica, ki bi jo lahko uporabili za povezavo s pomnilniško kartico SDHC. Če Infineon ne bo dobavil dodatne SDHC plošče s potrebnim kablom, si ne morem predstavljati, da bi to vtičnico zaradi njene majhnosti lahko sploh uporabil.
Plošča vsebuje nekaj stikal – Reset in User na zgornji strani ter namensko stikalo na spodnji strani, ki preklaplja PSoC5LP Debugger med dvema precej različnima načinoma.
Prepričan sem, da če bi sešteli stroške vseh senzorjev, NOR Flash pomnilnika in dveh PSoC MCU enot (PSoC6 in PSoC5LP Debugger), bi prišli do številke, ki je višja od cene plošče PSoC6S2-AI, ki znaša 34 EUR. Samo radarski senzor XENSIV 60 GHZ stane 15 EUR.
Programsko okolje za PSoC6S2-AI
Če preberete marketinško literaturo za to razvojno ploščo, boste videli, da Infineon s to ploščo resnično spodbuja za razvoj aplikacij za strojno učenje. Aplikacija DEEPCRAFT Studio je tesno povezana s to ploščo. Plošča CY8CKIT-062S2-AI, ki sem jo prejel, je bila programirana z ugnezdeno programsko opremo, ki je posebej zasnovana za zbiranje podatkov iz večine senzorjev plošče in njihovo pošiljanje v aplikacijo DEEPCRAFT Studio prek vmesnika USB. V programu DEEPCRAFT Studio se tok podatkov senzorja posname, označi z ustreznimi informacijami o uporabniku in nato ustvari model ML (z uporabo Imagimobovega strežnika v oblaku). Nastali model je kodna rutina, ki jo vsebujeta dve datoteki, ki jo lahko nato združite v kodo lastne zasnove.
Po proizvodnji CY8CKIT-062S2-AI kompletov se je podjetje Imagimob odločilo nadgraditi DEEPCRAFT Studio do te mere, da ugnezdena programska oprema v CY8CKIT-062S2-AI ni več delovala. Medtem ko je Infineon izjavil, da je bil to razlog, da so tako pozno poslali razvojne plošče, je plošča, ki sem jo prejel, še vedno vsebovala staro ugnezdeno programsko opremo. Infineon se je zelo potrudil, da je uporabnika o tem obvestil, in mu priskrbel dokumentacijo o tem, kako je treba ploščo nadgraditi s posodobljeno ugnezdeno programsko opremo. Vendar pa sem moral med izvajanjem te nadgradnje ponovno sprogramirati tudi PSoC5LP razhroščevalnik na plošči, saj sem prejel sporočilo, da je tudi ta zastarel.
Ta postopek omenjam, čeprav sumim, da kompleti CY8CKIT-062S2-AI, ki se trenutno prodajajo, zdaj vsebujejo posodobljeno ugnezdeno programsko opremo. Opozoril bom tudi, da so v priročniku za začetek uporabe za to ploščo opisani postopki, ki bi delovali le s staro ugnezdeno programsko opremo. Na moji plošči s posodobljeno strojno programsko opremo niso delovali. To me je takrat zmotilo. Poročal sem o neskladju in ugotavljam, da je v trenutnem priročniku Getting Started Guide opisan nov postopek za testiranje plošče z uporabo programa DEEPCRAFT Studio, ki pravilno deluje z novo ugnezdeno programsko opremo.
Razvijanje rutin ML za MCU je zapleten podvig. DEEPCRAFT Studio ta postopek v veliki meri poenostavi in avtomatizira. Če boste to ploščo in nekatere njene senzorje uporabljali za naloge, povezane z ML, boste na koncu morali razviti razumevanje verige razvojnih orodij, potrebnih za pisanje programov za PSoC6 MCU. Veriga razvojnih orodij za družino MCU PSoC6 je Infineonov Modus Toolbox. Pozneje v članku ga bom imenoval MTB, saj je tako pogosto naveden v dokumentaciji in tudi v imenih map/datotek, ki se uporabljajo v gostiteljskem računalniku.
MTB je veriga orodij, ki jo je Cyress sprejel za družino MCU PSoC6. Pred tem so MCU-ji PSoC3,4 in 5LP uporabljali PSoC Creator IDE/toolchain. Program PSoC Creator sem v preteklosti uporabljal za številne projekte PSoC3,4 in 5LP. Vse tri družine PSoC so vsebovale veliko različnih analognih in digitalnih blokov, ki jih je bilo mogoče povezati in konfigurirati za izvajanje številnih uporabnih funkcij. V ta namen je aplikacija PSoC Creator vsebovala številna grafična orodja, kot so Schematic Capture, Clock Configurator itd. To vam je omogočilo, da ste notranje delovanje MCU-ja opredelili na enak način, kot bi to storili pri risanju običajne sheme. Nato je to pretvoril v jezik za načrtovanje na visoki ravni (kot pri FPGA). Z uporabo tega visokokakovostnega jezika za načrtovanje bi pravilno konfiguriral napravo in vključil vse knjižnice API, potrebne za uporabo teh notranjih analognih/digitalnih blokov.
Družina PSoC6 odstopa od te filozofije analognih/digitalnih blokov, ki jih je mogoče natančno opredeliti. Namesto tega je podobna običajnim ARM MCU-jem, ki vsebujejo namenske funkcionalne bloke, kot so UART, SPI, I2C, SAR ADC itd. Zato številne edinstvene funkcije orodne verige/IDE PSoC Creator niso potrebne, druge funkcije, kot je podpora za dvojne MCU ARM, ki so prisotni v PSoC6, pa je bilo treba dodati.
Priznati moram, da sem se pri delu s starejšimi PSoC MCU-ji s programsko opremo PSoC Creator zelo dobro počutil, vendar sem bil precej zadržan pri preizkušanju orodne verige MTB. MTB sem moral uporabljati pri enem od prejšnjih PSoC6 projektov in ugotovil sem, da se ga je zelo težko naučiti. Čeprav sem vedel, da bo treba MTB uporabiti za vsak projekt, povezan z ML, ki uporablja CY8CKIT-062S2-AI, me je na začetku zanimalo, ali obstaja preprostejši način programiranja. Izkazalo se je, da obstajata še dve drugi možnosti, z obema sem imel že izkušnje. V zadnjih nekaj mesecih sem se navadil na uporabo MTB in to verigo orodij bom obravnaval v drugem delu serije člankov. Vendar si najprej oglejmo ti dve drugi, lažji možnosti za uporabo.
MicroPython na PSoC6
MicroPython in CircuitPython sta podobna tolmača za Python, ki sta zdaj na voljo za številne MCU-je ARM (in nekatere ne-ARM MCU, kot je ESP32). Python je verjetno najpogostejši programski jezik, ki se zdaj uporablja na osebnih računalnikih. Tolmača MicroPython in CircuitPython se namestita na vaš MCU, nato pa z njima razvijete kodo z uporabo preprostega urejevalnika besedil. Zamisli lahko preizkusite tako, da v serijsko konzolo (vgrajeno v obe različici) vnesete kodo Pythona po eno vrstico in opazujete, kako se izvaja. Napake bodo takoj označene in prikazane v serijski konzoli. V MCU lahko naložite tudi celotne programe, ki se samodejno izvedejo ob zagonu. Tudi v tem primeru bodo napake pri izvajanju označene in prikazane – brez potrebe po pisanju lastne razhroščevalne kode v program.
S CircuitPythonom imam nekoliko več izkušenj, ker je bil razvit kot različica MicroPythona, ki jo je razvil Adafruit. Adafruit je znan po izjemni podpori številnim MCU-jem na osnovi ARM-a (ki se uporabljajo na njihovih ploščah in ploščah drugih proizvajalcev). To se kaže v obliki zelo raznolikega nabora programskih knjižnic za Arduino IDE in CircuitPython. Vendar program CircuitPython še ni bil prenesen na PSoC6 MCU.
Če si ogledate spletno stran MicroPython, boste videli, da podpira 9 širokih družin MCU. Najbolj priljubljene med njimi so družine Espressif ESP32/8266, NXP mimxrt, STM STM32 in Atmel/Microchip SamD. Na spletni strani MicroPython ni nikjer omenjena družina Infineon PSoC6.
Le po naključju sem izvedel, da je Infineon prenesel program MicroPython na svojo družino MCU PSoC6. Nisem strokovnjak za take stvari, vendar domnevam, da je Infineon naredil svojo neodvisno različico MicroPythona. Mislim, da je varno domnevati, da prihodnjih izboljšav različnih portov MCU, ki jih podpira organizacija MicroPython, port MicroPython za PSoC6 verjetno ne bo podedoval. Vendar ima obstoječi port PSoC6 MicroPython številne uporabne funkcije in lahko predstavlja vse, kar potrebujete za projekt, ki ga imate v mislih.
Infineonova navodila za nalaganje programa MicroPython na ploščo CY8CKIT-062S2-AI so na voljo na:
https://ifx-micropython.readthedocs.io/en/latest/psoc6/intro.html [1]
Ta navodila veljajo za računalnik z operacijskim sistemom Linux. Imam sekundarni računalnik z operacijskim sistemom Ubuntu Linux in sem ga na začetku uporabil za programiranje MicroPython na CY8CKIT-062S2-AI. Vendar pa je to lažje storiti na računalniku z operacijskim sistemom Windows, kar bom opisal pozneje.
Postopek, ki ga je opisal Infineon na zgornjem URL naslovu pri vas morda ne bo deloval, kot je opisano – pri meni ni deloval. Preden so ukazi, prikazani v tem postopku delovali, sem moral namestiti nekaj drugih aplikacij. Na spletnem mestu Svet Elektronike (v mapi za ta članek) sem vključil besedilno datoteko z imenom „Micropython install script“. Načeloma je tako: ko imate v računalniku z operacijskim sistemom Linux naložene potrebne datoteke, zaženete:
~$ python3 mpy-psoc6.py device-setup
in izberite ID #2, to je CY8CKIT-062S2-AI plošča.
Slika 2 prikazuje konzolno okno na računalniku z operacijskim sistemom Linux po tem, ko sem na ploščo CY8CPROTO-063-BLE namestil program MicroPython. Uporabil sem ga tudi za ploščo CY8CKIT-062S2-AI, le da sem v tem primeru moral izbrati ID #2.
V zgoraj navedeni datoteki „Micropython install script“ je v korakih 7-10 navedenih nekaj dodatnih korakov, ki jih lahko naredite za namestitev „Arduino Lab for MicroPython IDE“, ki ga Infineon priporoča v svojem dokumentu za namestitev MicroPython. Vendar imam raje programsko okolje Thonny IDE, ki sem ga uporabljal pri razvoju kode MicroPython na CY8CKIT-062S2-AI.
Če uporabljate osebni računalnik z operacijskim sistemom Windows, obstaja veliko lažji način nalaganja programa MicroPython od načina, ki ga je podjetje Infineon navedlo v zgornjem opisu. Potrebujete različico programa PSoC Programmer za Windows. Če ste že naložili aplikacijo Modus Toolbox (MTB) , bo programator PSoC Programmer že naložen v vaš računalnik. V nasprotnem primeru ga lahko prenesete z naslednjega URL naslova:
PSoC™ Programmer – Infineon Developer Center [2]
Za razliko od namestitve MTB lahko to aplikacijo prenesete brez (brezplačnega) računa Infineon.
Nato boste potrebovali šestnajstiško MicroPython datoteko, ki jo boste sprogramirali v svoj CY8CKIT-062S2-AI. To lahko najdete na naslovu:
micropython/ports/psoc6/boards at ports-psoc6-main · Infineon/micropython [3]
Ko je plošča CY8CKIT-062S2-AI priključena na računalnik (z vtičnico USB-C, ki je najbolj oddaljena od vtičnice LiPo), odprite programsko opremo PSoC Programmer. V skladu s sliko 3 bi morali okni Programmer Board in Device izgledati, kot je prikazano.
Preden pritisnete gumb Connect, morate v oknu Settings > File (Nastavitve > Datoteka) izbrati ustrezno šestnajstiško datoteko MicroPython, ki ustreza plošči CY8CKIT-062S2-AI. To storite tako, da kliknete ikono s tremi pikami na desni strani tega okna. Nato pritisnite Connect in nato Program. Če ste uspešni, mora vrstica stanja na dnu okna aplikacije Programmer postati zelena in označevati uspeh. Prikazana bodo sporočila o stanju, kot so prikazana na sliki 4.
Povsem mogoče je, da boste pri tem postopku prejeli obvestilo, da je razhroščevalnik KitProg3 na plošči CY8CKIT-062S2-AI zastarel. Sledite navedenim navodilom, da posodobite Kitprog3 na plošči. Spomnim se, da sem moral te posodobitve iz nekega razloga izvesti večkrat.
V programu MicroPython sem preizkusil nekaj perifernih naprav PSoC6. Vse to sem opravil z uporabo okolja Thonny IDE in dostopom do konzole REPL programa MicroPython iz okolja Thonny.
Slika 5 prikazuje Thonny IDE, ki teče v mojem računalniku. Ob zagonu zazna ploščo CY8CKIT-062-AI (če je priključena na USB vrata računalnika). To boste videli v vrstici stanja spodaj desno. Ni vam treba ugotavljati, katera COM vrata so bila dodeljena plošči – vse je samodejno.
Tukaj so nekatera moja opažanja
PWM: Ta funkcija deluje, vendar morate pred spreminjanjem frekvenc uporabiti funkcijo de-init. Parameter delovnega cikla lahko kadar koli spremenite.
I2C: Navesti morate i2c = I2C(scl=‘P0_2‘, sda=‘P0_3‘, freq=400000). S temi parametri i2cscan() vrne 21,89,104,119
To so naslovi I2C različnih senzorjev na plošči in senzorja SGP40, ki sem ga dodal prek vrat QUICC.
LED-ice: LED1 na P5.3 in LED2 na P5.4 sta se prižgali, ko sta ukaza p1=Pin(‚P5_4‘,Pin.OUT,value=1) in p0=Pin(‚P5_3,Pin.OUT,value=1)
bila poslana.
ADC: V sporočilu o napaki je bilo navedeno, da so uporabni samo P10_0 do P10_5. P10_0 in P10_1 se nahajata na vtičnici J17 kot UART_Rx oziroma UART_Tx. Ostali niso priključeni na konektorje.
Tukaj so ukazi, ki sem jih uporabil za branje ADC:
adc = ADC(„P10_0“)
# kreira ADC objekt na ADC priključek
val = adc.read_u16()
# bere neobdelano analogno vrednost
-obseg 0-65535
ali
adc.read_UV
// vrne realno prebrano vrednost
napetosti v µV.
UART: Po uporabi UART priključkov za testiranje ADC sem moral pred testiranjem UART funkcije ponovno zagnati računalnik (da bi sprostil te priključke).
Ukazi so bili:
import machine
import time
from machine import UART
uart = UART()
print(‚start‘)
uart.init(9600, bits=8, parity=None, stop=1, tx=‘P10_1‘,rx=‘P10_0‘,rxbuf=30)
uart.write(‚qwert‘)
time.sleep_ms(10)
str=(uart.read())
print(str.decode(‚UTF-8‘))
Ker ima plošča CY8CKIT-062S2-AI možnost Wi-Fi, lahko s pripomočkom MicroPython, imenovanim WAP, prenesete knjižnice neposredno v datotečni sistem plošče. Če ga želite uporabiti, morate skripto network_connect kopirati v urejevalnik Thonny in jo zagnati (spremenite in v svoje WAP poverilnice)
def network_connect() :
import network
from utime import sleep,sleep_ms
wlan = network.WLAN(network.STA_IF)
if wlan.isconnected():
print(‚[Network] already connected‘)
return
# enable and connect wlan
wlan.active(True)
wlan.connect(‚‘,‘‘)
# wait for the connection to establish
sleep(5)
for i in range(0,100):
if not wlan.isconnected() and wlan.status() >= 0:
print(„[Network] Waiting to connect..“)
sleep(2)
# check connection
if not wlan.isconnected():
print(„[Network] Connection failed!“)
else:
print(wlan.ifconfig())
Ko ga zaženete, se prikaže sporočilo s pridobljenim IP naslovom. Nato v konzoli REPL vnesite:
import mip
mip.install(„ntptime“) #to get the ntptime module,for example
Našel sem knjižnico na MicroPython repositoriju z imenom GetNTPTime.py in jo zagnal. Nato sem vnesel REPL na ukazni vrstici:
rtc= RTC()
print (rtc.now())
kar je vrnilo (2025, 3, 15, 6, 19, 37, 46, 0). To predstavlja čas (Datum + UTC čas)
Če vas ne zanima brezžično nalaganje knjižnic z mipom, lahko to storite ročno, tako da se pomaknete v skladišče na naslednjem naslovu URL:
https://github.com/micropython/micropython-lib [4]
Tukaj se nahajajo trije imeniki:
python-stdlib
python-ecosys
micropython
Ko prenesete te knjižnice, bodo v obliki .mpy. To je pred-prevedena koda, ki jo je mogoče izvesti, vendar je ni mogoče prikazati. Izvirne datoteke .py si lahko ogledate v skladišču micropython-lib.
MicroPython vsebuje sistem datotek z imenom OS. Če ga želite uporabiti morate:
import os
Nakar vnesete ukaz os.listdir() os.chdir(„path‘) os.remove() os.rename() itd.
MicroPython na plošči CY8CKIT-062S2-AI ima dva načina zagona: varen in normalen. V normalnem načinu se samodejno izvedeta datoteki boot.py in main.py. Če način zagona spremenite v varen način, se program MicroPython zažene brez izvajanja datoteke main.py. Za varen način zagona pritisnite in spustite tipko RESET, hkrati pa pritisnite tipko USER (poleg tipke RESET).
Po potrebi lahko odstranite datoteko main.py z vnosom naslednjih dveh ukazov:
import os
os.remove(‚main.py‘)
Če vnesete naslednje ukaze v REPL:
import machine
Help(machine)
bo prikazan spisek vseh MicroPython modulov za to ploščo.
Sparkfun gosti različne MicroPython knjižnice – večinoma so namenjene senzorjem, ki se povezujejo prek I2C. URL tega vira je predolg, da bi ga lahko prikazali na tem mestu, vendar boste z iskalnikom Sparkfun MicroPython libraries v Googlu našli povezavo na to spletno mesto.
Podjetje Infineon je izdalo kratko sporočilo z naslovom „Tišina, spoznajte signal: Vodnik za začetnike po PDM mikrofonih“. Ta MicroPython program je bil zasnovan tako, da vam pokaže, kako zajeti zvok iz PDM mikrofonov plošče CY8CKIT-062S2-AI in ga shraniti v WAV datoteko. To datoteko lahko nato uporabite na primer v programu DEEPCRAFT Studio.
Preizkusil sem ta program in ugotovil, da je nefunkcionalen. Najprej je v glavi WAV datoteke, ki jo določajo, shranjen le delček sekunde, kar ni uporabno. Drugič, čeprav PDM mikrofon deluje, je raven signala tako nizka, da je neuporabna. V programu določajo left_gain in right_gain oba kot nič. To vrednost lahko povečate na 20, kar je opredeljeno v decibelih. Tudi ko sem to storil (in povečal WAV glavo za shranjevanje podatkov za 60 sekund), so bile oblike valovanja mojega glasu na razdalji <30 cm skoraj nevidne očem, predvajanje datoteke pa je povzročilo zelo nizko glasnost in zelo pridušen glas.
Kasneje, ko sem preučil Infineonov primer PDM mikrofona v Modus Toolbox orodjarni, sem ugotovil, da ta primer uporablja tako imenovano „digitalno ojačenje“ skupaj z zgoraj omenjenim levim in desnim ojačanjem. Ta primer deluje pravilno.
O teh težavah sem poročal v razdelku Issues (Težave) v skladišču Github za ta primer. Infineon je sicer potrdil mojo objavo, vendar v zvezi s tem ni bilo storjeno nič. Sam se ne bi trudil s preizkušanjem tega primera, če pa želite, je na voljo na tem naslovu URL:
https://www.hackster.io/Infineon_Team/silence-meet-signal-a-beginner-s-guide-to-pdm-microphones-dd4667 [5]
Infineon je pred kratkim objavil še en primer Micropython „Edge AI Made Easy with DEEPCRAFT™ & MicroPython – Part I“. Ta vključuje brezžično pošiljanje senzorskih podatkov plošče CY8CKIT-062S2-AI v osebni računalnik in od tam verjetno v program DEEPCRAFT Studio. Glede na slabe izkušnje z zgoraj omenjenim primerom tega še nisem preizkusil.
Malo verjetno je, da bo port MicroPython za Infineonove plošče PSoC6 kdaj podprt tako popolno kot podpora, ki jo Infineon zagotavlja z Modus Toolbox IDE. Vendar pa je za nekatere uporabnike MicroPython lahko izvedljivo in enostavno za uporabo programsko okolje za CY8CKIT-062S2-AI ploščo.
Arduino podpora za PSoC6 MCU
Ko mi je Infineon poslal vzorec plošče CY8CKIT-062S2-AI, sem bil pripravljen vložiti čas v učenje Modus Toolbox (MTB) – predvsem zato, ker se nisem zavedal, da sta za to ploščo/MCU na voljo MicroPython ali Arduino IDE. Vendar je zdaj na voljo osnovni paket za podporo plošči Arduino za PSoC6 MCU.
Če ga želite uporabiti, morate uporabljati različico 2.x.x Arduino IDE. Jaz uporabljam različico 2.3.6, zato sem bil pripravljen za delo. Tako kot pri številnih dodatkih za MCU-je Arduino, ki se ne uporabljajo na ploščah Arduino, morate klikniti File > Preferences (Datoteka > Nastavitve) in v oknu Additional Board Manager URLs (Dodatni naslovi URL-jev upravitelja plošč) klikniti ikono za urejanje in dodati naslednjo vrstico:
https://github.com/Infineon/arduino-core-psoc6/releases/latest/download/package_psoc6_index.json
Potem poiščite PSOC6 z uporabo Tools > Boards >Boards Manager in ga dodajte. Nato bo sledil izbor plošč za plošče Infineon PSoC6 – edina navedena plošča bo CY8CKIT-062S2-AI.
Tako kot pri vsaki plošči v Arduinu morate iti v Orodja > Serijska vrata in izbrati ustrezna serijska vrata. Upoštevajte, da morate uporabiti vrata USB0-C, ki so najbolj oddaljena od LiPo vtičnice. V upravitelju naprav sistema Windows (in Tera Term5) se CY8CKIT-062S2-AI prikaže kot KitProg3 USB-UART (COMx). V Arduino IDE pa se prikaže kot COMx.
Ko boste sprogramirali ploščico z ugnezdeno programsko opremo, je CY8CKIT-062S2-AI povsem pregledna – najprej morate izbrati ustrezna serijska vrata. Element menija Burn Bootloader ne deluje – prikaže se „missing programmer“, vendar se zdi, da ta možnost ni potrebna za nič.
Plošče CY8CKIT-062S2-AI nisem veliko testiral z uporabo Arduino IDE. Preizkusil sem primer Arduino Serial ASCII, ki je deloval dobro. Preizkusil sem tudi program I2CScan, ki je našel tri I2C senzorje na plošči.
Ko v Arduino dodate podporni paket za ploščo PSoC6, boste v meniju Primeri našli razdelek „Primeri za CY8CKIT-062S2-AI“. V popolnem svetu bi bili vsi ti primeri preizkušeni s ploščo CY8CKIT-062S2-AI in preverjeno njihovo pravilno delovanje. Dvomim, da to velja za ploščo CY8CKIT-062S2-AI. Preizkusil sem ScanNetworks primer in le-ta je našel kar nekaj brezžičnih dostopnih mest okoli mene. To je dober znak za njegovo zmožnost komuniciranja prek Wi-Fi omrežja, vendar nisem preizkusil nobenega od drugih Wi-Fi primerov. Če želite uporabiti katerega od vgrajenih senzorjev CY8CKIT-062S2-AI, boste morali poiskati ustrezne Arduino knjižnice zanje.
V naslednji številki revije Svet Elektronike bodo opisane moje izkušnje s programsko opremo Modus Toolbox. Ta je za uporabo precej bolj zapletena kot program MicroPython ali Arduino IDE. Vendar sem porabil veliko časa za učenje njene uporabe in ta članek bo vseboval številne nasvete, ki sem jih odkril.
Spletne povezave:
1: https://ifx-micropython.readthedocs.io/en/latest/psoc6/intro.html
2: https://softwaretools.infineon.com/tools/com.ifx.tb.tool.psocprogrammer
3: https://github.com/Infineon/micropython/tree/ports-psoc6-main/ports/psoc6/boards
4: https://github.com/Infineon/micropython/tree/ports-psoc6-main/ports/psoc6/boards
5: https://github.com/Infineon/micropython/tree/ports-psoc6-main/ports/psoc6/boards
https://svet-el.si