Det har ju varit på tankestadiet under många år och användningsområdet är inte riktigt lika aktuellt idag. Men jag är sugen på att försöka omsätta det i praktiken ändå.
Det är väl egentligen inget nytt utan är akustisk tdoa i en måltavla. Systemen som finns är skitdyra och oftast gammal teknik som inte gjorts om sedan förra seklet.
Men det finns många andra projekt som skulle vara intressanta i lokalisering.
Micke_71 skrev: ↑26 januari 2022, 11:32:39
Ju mer jag tittar på funktionerna i Picon, desto mer roligt hittar jag. PIO och ”state machines” verkar ju vara riktigt intressant.
Just PIO är väldigt intressanta djur som jag ännu inte gjort nånting eget med. Mycket minne har de inte, när maskinerna i en grupp delar på en gemensam pott.
Pico är ju redan väldigt billig, men det finns möjlighet att få gratis... https://maker.wiznet.io/wiznet-ethernet-hat-contest/
Jag fick en W5100S-EVB-Pico. Skickades från Tyskland, så inte ens Postnord borde kunna ställa till det.
Mycket beskrivningar handlar om kommunikation i olika avseenden så man slipper låta mcu ägna sig åt bitbanging.
Jag som inte (just nu i alla fall) är så intresserad av neopixels ser andra enklare uppgifter för dom.
Men jag tror att det blir att kasta ut en tusing på olika litteratur. Jag måste läsa på om assembler, C eller micropython och det fanns dedikerad litteratur för Picon.
PIO är Raspberrys benämning på dessa mycket enkla men självständiga tillståndmaskiner som avlastar huvudprocessorn från att till exempel behöva "bitbanga" olika serieprotokoll.
Fritt ur minnet har maskinerna två register och sammanlagt åtta olika maskinkodsistruktioner. (NOP finns inte men att flytta innehållet från register y till register y blir effektivt "nop".) Maskinerna finns i två grupper om fyra. Gruppen delar på minne (write only ur huvudprocessorns synvinkel) för 32 instruktioner.
Men, jag har inte själv testat att göra nåt med dessa maskiner, men kommer definitivt att göra det.
Låt oss säga att du har ett enkelt kommunikationsprotokoll för krets. Vi antar en linjär bildsensor där du ska klocka i 10MHz och läsa enskilda bitar.
Detta kräver normalt bitbanging och CPU fulla uppmärksamhet.
State machines är 4x2 mini processorer som klarar ett fåtal assembler kommandon och kan flytta data till olika skiftregister och sedan vidare via fifo som ett exempel.
Dessa kan då toggla en klocksignal och flytta data till ett skiftregister och sedan skicka datan vidare helt fristående.
Dessa statemachines har lite sideload funktioner på kommandon som ex 0-31 klockcykler delay, aktivera flera pinnar mm.
Programminnet och antalet funktioner är kraftigt begränsat. Men de kan konfigureras med ex klockdividers för lägre hastighet om så önskas. De kan också startas synkront för att arbeta i fas med varandra.
Om RP2040 är en dubbelkärnig så skulle man fantasifullt kunna säga 10 kärnor men 8st är superfjuttiga.
Jag har rotat o grävt utan svar. State Machines ska tydligen ha DMA. Jag är ute efter att kopiera ett data registervärde och skicka vidare i fifo.
Timelr är det låga 32 bitars värdet av uS räknaren.
Wait 1 gpio 1 ;väntar på gpio 1=1
Här ska vi flytta dataregister till x
Här skickar vi x vidare
Här skriver vi till dataregister och stoppar SM.