Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ToPNoTCH
Inlägg: 4891
Blev medlem: 21 december 2009, 17:59:48

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av ToPNoTCH »

DanielM skrev: 23 mars 2021, 17:53:51 Jag har som mål att lära mig, men om det skiljer sig så mycket med registerprogrammering för alla plattformar så anser jag att det finns ingen motivering att lära sig register då HAL eller CubeMX uppfanns av just den anledningen.
HAL & CubeMX löser inte alls den problematiken då dom inte är plattformsoberoende. Dom är till för ST Micro's prylar.

Snarare tvärt om skulle jag säga. Om man lär sig pilla till register för en plattform är det inte så knivigt att göra det för en annan om man vill lära sig.
Att lära sig CubeMX och STM HAL gör att du står på ruta noll om du vill byta MCU märke.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

ToPNoTCH skrev: 23 mars 2021, 21:15:11 Att lära sig CubeMX och STM HAL gör att du står på ruta noll om du vill byta MCU märke.
Exakt!
Så om jag inte vill stå där, så bör jag skriva mina två kort som jag håller på bygga, enbart med register?

CAN
Ethernet
Encoder
ADC
DAC
GPIO
FSMC
DCMI

Problemet är att ST ger bara ut stöd och utbildning inom HAL + CubeMX. Alla deras exempelkod är endast HAL.

Hur ser verkligheten ut?
Låt oss säga att du blir nyanställd på ett jobb och du ska pilla lite med hårdvaruprogrammering.
Vad får du göra? Får du börja från grunden, eller får du börja på ett existerat projekt?
Hur är detta projektet strukturerat?

Jag är Msc inom maskinteknik och när jag jobbar så brukar jag oftast få ansvara för ett komplett projekt helt själv, eller så brukar jag få en del av projektet att pilla med. Då är det oftast dom som bestämmer verktygen, men verktygen är så pass enkla så det är inga problem. Dessa verktyg är skapade för att man inte ska betrakta dom som svåra. Man ska alltså kunna sätta idioter framför datorn och säga "Nu! Fixa problemet!".

Men jag vet inte hur det för elektrinikingenjörer? Ni kanske håller på med raketforskning och enorm analys för att göra ett litet optimalt kretskort?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av TomasL »

Varken AVR eller PIC är "Fattigare" än STN32, vissa av dem dessutom betydligt mer avancerade.

Många AVR-processorer är i princip identiska med ST32, då de använder samma processor i botten, dvs ARM-processorn.
PIC32 bygger på MIPS-kärnan, som i många fall är mer kraftfull än ARM.
MIPS tenderar i många fall vara snabbare och mer kompakt kod än ARM.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

PIC32 bygger på MIPS-kärnan, som i många fall är mer kraftfull än ARM.
MIPS tenderar i många fall vara snabbare och mer kompakt kod än ARM.

Konstigt då att ARM kärnan dominerar marknaden...

Vad jag kan se är STM32 överlägsen PIC32:
PIC32 - 252 MHz/415 DMIPS performance
STM32 - 550 MHz fCPU, 2778 CoreMark /1177 DMIPS
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

Jag har gjort 7 processorbyten i min yrkeskarriär.

I samtliga fall har det varit relativt smidigt och applikationen funkade utan några större problem tack vare konstruktionen med ett eget plattformalager. I de flesta fall var det mellan olika STM32 och där bestod det egna plattformslagret av anrop till ST std peripheral lib eller HAL/LL så det är ett sätt jag rekommenderar.

Ibland användes CubeMX för vissa delar av koden, men det mesta kom ifrån HAL bibliotekets exempelkod.

Ibland gjorde vissa platformsfunktioner med "register"

Sen vilken processorfamilj man väljer beror oftast på vad man är van jobba med, då det tar mycket tid lära sig en ny processor.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Rick81 skrev: 23 mars 2021, 22:55:07 Jag har gjort 7 processorbyten i min yrkeskarriär.

I samtliga fall har det varit relativt smidigt och applikationen funkade utan några större problem tack vare konstruktionen med ett eget plattformalager. I de flesta fall var det mellan olika STM32 och där bestod det egna plattformslagret av anrop till ST std peripheral lib eller HAL/LL så det är ett sätt jag rekommenderar.

Ibland användes CubeMX för vissa delar av koden, men det mesta kom ifrån HAL bibliotekets exempelkod.

Ibland gjorde vissa platformsfunktioner med "register"

Sen vilken processorfamilj man väljer beror oftast på vad man är van jobba med, då det tar mycket tid lära sig en ny processor.
Jag har inte denna tid. Läser franska samtidigt. Men för mig har STM32 alltid fungerat. Men jag klarar mig inte utan HAL + exempel. Skulle jag få en processor och folk säger "Programmera denna". Det enda jag har att gå på är databladet och referensmanualen. Då är det kokt för min del.

Så du har gjort 7 processorbyten och de flesta av dom har varit mellan olika STM32. Jag tycker inte det ska uppfattas som processorbyten då dom alla är lika.

Jag uppfattade först som att du har gjort 7 processorbyten av olika märken så som AVR, PIC, ARM, Infineon, SiliconLabs, Intel osv :)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av TomasL »

Rick81 skrev: 23 mars 2021, 22:30:02
PIC32 bygger på MIPS-kärnan, som i många fall är mer kraftfull än ARM.
MIPS tenderar i många fall vara snabbare och mer kompakt kod än ARM.

Konstigt då att ARM kärnan dominerar marknaden...

Vad jag kan se är STM32 överlägsen PIC32:
PIC32 - 252 MHz/415 DMIPS performance
STM32 - 550 MHz fCPU, 2778 CoreMark /1177 DMIPS
Det handlar väl om marknadsföring och annat.
Dock är det så att antalet DMIPS inte säger nånting, egentligen.
MIPS-processorn är snabbare på taskswitchning om man kör ett RTOS, snabbare vid interrupthantering, detta då CPU-registren inte behöver sparas på stacken.
MIPS-processorn har en komplett uppsättning skuggregister, som den switchar till vid interrupt och liknande, när intterruptet är färdigt, skiftas den över till huvudregistren och den avbrutna koden kan fortsätta.
Den har också 32 CPU-32-bitarsregister, vilket gör att stacken inte behöver användas speciellt ofta.
Vidare kan den inline köra 16-bitars instruktioner, vilket tar mindre plats, och kan exekveras snabbare.
Den har NULL implementerat som ett CPU-register vilket i vissa lägen sparar en hel del kod.
Och många fler unika saker.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

Så du har gjort 7 processorbyten och de flesta av dom har varit mellan olika STM32. Jag tycker inte det ska uppfattas som processorbyten då dom alla är lika.
Går väl diskuteras men i samtliga fall behövde koden portas. 5 byten var STM32
Dock är det så att antalet DMIPS inte säger nånting, egentligen.
MIPS-processorn är snabbare på taskswitchning om man kör ett RTOS, snabbare vid interrupthantering, detta då CPU-registren inte behöver sparas på stacken.
MIPS-processorn har en komplett uppsättning skuggregister, som den switchar till vid interrupt och liknande, när intterruptet är färdigt, skiftas den över till huvudregistren och den avbrutna koden kan fortsätta.
Den har också 32 CPU-32-bitarsregister, vilket gör att stacken inte behöver användas speciellt ofta.
Vidare kan den inline köra 16-bitars instruktioner, vilket tar mindre plats, och kan exekveras snabbare.
Den har NULL implementerat som ett CPU-register vilket i vissa lägen sparar en hel del kod.
Och många fler unika saker.
Inte en chans du kan kompensera dubbla DMIPS med snabbare interupthantering. I så fall får typ köra ett interupt var 10 klockcykel eller nåt sånt. I så fall kan du antingen inte skriva kod för inbyggda processorer eller vet inte vad man har DMA till.

STM32 har också 16 bits instruktioner, kallas Thumb.
Janson1
Inlägg: 1352
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Janson1 »

Jag har läst lite om stegsvar och jag tror inte det har någon som helst betydelse i dina kopplingar. Jag tror inte ens det kan bli så i dom enskilda op-arna. Sen vilken spänning du kör så kan det lika gärna vara åt andra hållet i dom förstorade graferna. Oavsett så ser jag det som ett ickeproblem!
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Okej tack!

Men borde jag inte få bättre linjäritet om jag har t.ex. -12V och +12V på en OP-amp? Eller GND till +VDC kanske räcker där VDC är matningsspänningen.
bobobo
Inlägg: 677
Blev medlem: 10 november 2007, 22:18:30
Ort: Kungsbacka

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av bobobo »

Det handlar väl om vid vilken spänning din utgång ligger?
Om du har gnd/vdc matning så jobbar den ju dåligt nära de spänningarna. Men vad är op-amparnas utgångsspänning vid 4 resp 20mA?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av TomasL »

Rick81 skrev: 24 mars 2021, 00:08:37
Så du har gjort 7 processorbyten och de flesta av dom har varit mellan olika STM32. Jag tycker inte det ska uppfattas som processorbyten då dom alla är lika.
Går väl diskuteras men i samtliga fall behövde koden portas. 5 byten var STM32
Dock är det så att antalet DMIPS inte säger nånting, egentligen.
MIPS-processorn är snabbare på taskswitchning om man kör ett RTOS, snabbare vid interrupthantering, detta då CPU-registren inte behöver sparas på stacken.
MIPS-processorn har en komplett uppsättning skuggregister, som den switchar till vid interrupt och liknande, när intterruptet är färdigt, skiftas den över till huvudregistren och den avbrutna koden kan fortsätta.
Den har också 32 CPU-32-bitarsregister, vilket gör att stacken inte behöver användas speciellt ofta.
Vidare kan den inline köra 16-bitars instruktioner, vilket tar mindre plats, och kan exekveras snabbare.
Den har NULL implementerat som ett CPU-register vilket i vissa lägen sparar en hel del kod.
Och många fler unika saker.
Inte en chans du kan kompensera dubbla DMIPS med snabbare interupthantering. I så fall får typ köra ett interupt var 10 klockcykel eller nåt sånt. I så fall kan du antingen inte skriva kod för inbyggda processorer eller vet inte vad man har DMA till.

STM32 har också 16 bits instruktioner, kallas Thumb.
Du borde ju i alla fall jämföra processorer med samma klockfrekvens.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

Varken AVR eller PIC är "Fattigare" än STN32, vissa av dem dessutom betydligt mer avancerade.

Många AVR-processorer är i princip identiska med ST32, då de använder samma processor i botten, dvs ARM-processorn.
PIC32 bygger på MIPS-kärnan, som i många fall är mer kraftfull än ARM.
MIPS tenderar i många fall vara snabbare och mer kompakt kod än ARM.
Du borde ju i alla fall jämföra processorer med samma klockfrekvens.
Nej, din kommentar ovan påstår att PIC32/MIPS är snabbare än STM32/Arm Cortex M7, vilket inte är sant.

Men oavsett är STM32F7 på en lägre frekvens snabbare än PIC32:
STM32F7 - 216 MHz 462 DMIPS
PIC32 - 252 MHz/415 DMIPS performance
Janson1
Inlägg: 1352
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Janson1 »

Daniel: Nu är det många frågor, undringar och påståenden om den här 4-20 mA drivern. Linjäriteten hör inte ihop med om dess omslag lutar eller ej. Om jag skulle ha linjäritetsproblem så skulle jag justerat det i coden tills det blir acceptabelt. Det här stegsvar gäller nog bara om det är en komplex styrning som då ev överstyr lite precis vid kraftiga omslag, dom graferna du visade var ju över flera sekunder, helt orelevant för dig då op aldrig kan ge mer än din drivspänning minus ev framspänningsfall. Sen, nu vet jag inte riktigt på rak arm vilken som blir/blev din sista skarpa koppling men... Det var ibland med en kondensator på jag tror 100 nF mellan utgång och minusingång. Den borde ge fenomenet den lutande grafen, är det något som du vill ha eller inte?
E Kafeman
Inlägg: 3260
Blev medlem: 29 april 2012, 18:06:22

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av E Kafeman »

DanielM skrev: 23 mars 2021, 14:56:44 För en erfaren reglertekniker så förstås det att dessa bilder illustrerar bara ett andra och ett första grads stegsvar. Jag tänkte att OP-amp har väll samma utgångstyp som svar.
Den reglertekniker är måhända erfaren enligt dina referenser men dina referenser börjar nu se en aning vissna ut.
Det är en oduglig reglertekniker som tror att det är ett andragrads stegsvar. Erfarenhet kan denna reglerteknikern ha, men inte inom sitt fack, där är han inte ens nybörjare.

Om man läser matte på första året på gymnasiet brukar man få lära sej hur andragrads kurvor ser ut. Detta är ett exempel: y=x2+x2+3
Kurvorna du klistrade in är bägge typiska förstagrads kurvor i en öppen, ej återkopplad PID-reglering där förstärkningen av I (integralen) troligen ökat i andra kurvan. Det är således samma uttryck, bara olika numeriska värden på integralen.
I synnerhet om man klistrar in kurvorna och påstår vad de föreställer bör man ha lite koll, då man annars sprider falska påståenden.
Sådant tycker jag är mindre bra, de som klistrar upp felaktigheter i allmänna forum i syfta att sprida osanningar.

En påminnelse till dej, innan du kommer med fler träffsäkra omdömen:
DanielM skrev:Dave Jones på tuben och det är en av världens mest kunnigaste inom elektronik så till och med du + TomasL skulle framstå som nyexaminerade."
Jag vet till skillnad från dej vad Dave kan och det händer att jag tittar på hans videos, men det är absolut ingen högre teknisk nivå han sysslar med. Det är lättsam elektronik-underhållning på den lägre nivån, om du nu trodde annat. Det är elektronikens Bollibompa.
Anledningen till att jag tittar är att det finns intresse att se de ibland udda saker han plockar sönder. Vill jag se video med någon som begriper vad han pekar på när det börjar bli komplicerat finns en annan kanal. Det är fortfarande på underhållningsnivån då teori-biten underförstås att man behärskar och att man kanske är van vid att arbete med de instrument han visar så det är ingen undervisning på den delen.
Det han kanske gjort sej mest känd för är att han felsöker trasiga instrument med hög analyssäkerhet, trots att det inte alltid finns bra scheman.
Vill man komma upp på en högre nivå av elektronik-design, lära sej teorin för att klara egna jobb, sådant finns inte på Youtube.

Hade inte Dave's underhållning varit på låg teknisk nivå hade det blivit svårt att underhålla en bredare massa. Han kan inget av det som "Signal Path" visar men han har 10-20 ggr fler prenumeranter då det är en lägre nivå som även hoobyister kan ta till sej.
Du tror fortfarande Dave är "världen mest kunniga" baserat på samma kunskapsnivå som du behärskar "svansar" som egenskap av en OP's transient-svar.

Du sätter du dej på höga hästar genom att hävda att vi skulle vara mindre kunniga inom elektronik än en Youtube-are som inte ens kan få ett välbetalt elektronik-relaterat jobb och är ljusår från att ha skapa något unikt.
Finns säkert 50 personer i Daves hemstad som visat att de bedrivit utforskning av något djupare ämne genom att ha skrivit ett whitepaper om något nytt inom elektronik. Dave har inget. Han har inte fått ens ett omnämnande som referen i patenthandlingar från hans förra företag.

Skulle jag lämna dina påståenden opåtalade kan någon med liknande dina referensramar tro att du har belägg för detta, att vi forummedlemmar får det påklistrat att våran kunskaps-nivå är låg relativt av dej utnämnda "världen mest kunniga".

Jag fantiserar inte , ljuger inte, lämnar inte falska påståenden. och har kunskap nog att se skillnad på enkla matematiska uttryck.
Du ser "världens kunnigaste " på youtube men har inte en minsta aning om varifrån kunskapen kommer som byggde det som Dave plockar sönder. Logiskt tänkande på en rätt bristande nivå.

Vad hoppas du på att få i gengäld för omdömena du klistrar på mej och andra?
Du är ju inte precis snabbtänkt själv. Fixa korrektion av kass layout-tänkande efter ett antal påpekanden? Hur många påpekanden behövde du och ändå inte kom helt i hamn?

Jag vet att jag inte alltid skriver "gör si gör så , koppla A till B" utan jag skriver hellre "har du övervägt alternativ att ändra denna detalj". Det gynnar dina egna möjlighet att lära av fel på ett konstruktivt sätt, men det kräver att man kopplar in hjärnan och börjar arbeta sammanhängande några minuter.
Du verkar föredra arbetssättet enligt denna videon. Det är en hamburgerrestaurang på en flygplats, och killen räknar med att snabbt avancera till flygkapten.

Tänk efter två gånger så inser du att det jag försöker påtala är välmenade för din möjlighet att lära dej mer om ett komplicerat teknik-område.

Bara som ytterligare ett exempel i en lång rad av design-fel du gjort och som jag hintat dej om ett antal gånger:
Till och med Dave skulle se hur illa du tänkte ur design-synpunkt med strömgeneratorn. Du missade det mest elementära förarbetet trots att du redan blivit tipsad ett flertal gånger och generatorerna kommer därför inte att fungera.
Kurvorna kan nog ha något med att göra med blåröks-intensiteten relativt tidsaxeln från tiden vid aktiveringen av generatorn.

Detta är ytterligare ett exempel där jag tipsar dej att tänka på egen hand åtminstone en del av sträckan. Det kan tyckas bli mycket fel på tekniskt låg nivå för dej men mycket bottnar nog i att du hoppas kunna passera denna teknik-nivån utan att ha någon egentlig kunskap.
Även om du tror det, sådant fungerar inte i längden. Det är som att tro sig kunna bli mattestjärna men hoppas kunna hoppa över den krångliga multiplikationen och gå vidare på en högre nivå.

Ta dej tiden att läsa någon enklare elektronik-kurs om det är sådant du vill lära dej så slipper du göra grundläggande enkla misstag fullt så ofta. Det handlar inte om att du är korkad, utan det handlar om att du behöver lära dej lite hyfs och få kunskap nog att sluta göra totala nybörjar-missar om t.ex. vem som har kunskap nog att begripa än så länge låg nivå av elektronik och matematik. Låg nivå är i sammanhanget första året på gymnasiet eller motsvarande lärt på annat sätt. Det är där andragrads-ekvationer och de inledande lärospånen om elektriska kretsar brukar ta sin början.

Gör du någonsin reflektioner när du ser att du får så mycket om bakfoten? Tar du någon lärdom om det?
Funderar du var du stå kunskapsmässigt relativt de du klassar som "nyutexaminerade"?
Hur tror du ditt eget renommé ser ut från de som ger dej korrekt, icke lögnaktig information, när du betalar med att påstå att de är sämre än din favorit-Bollibompa?

Jag får uppfattningen att du fäller ner skygglapparna när din kunskap saknas och när du tvingas möta andras kunskap, precis som killen i videon. Beskylla andra för nybörjare när den egna insikten tryter är efter standardmodellen mycket vanligt. "Surt sa räven" men det är inte särskilt utvecklande för dej själv. Misstänker att du inte är den som riktigt förstår innebörden av liknelsen, eller kan se varför andra eventuellt ser din roll i videon.
Jag skriver helst motiverande om elektronik, förklarar konsekvens, orsak, följder och samband utan att peka på direkt svaret, för att du då kan lära av det till nästa gång. Blir lite längre texter men det är nödvändigt om den som man försöker ge information har svårt att förstå att huvudet måste användas för att ta till sej ny kunskap och gör enkla liknelser för att bättre förklara samband.
Lite som att ge en man en fis alternativt lära honom fiska. Det ena föder honom för en dag, det andra kan föda honom för livet.
Du vill hellre få exakta instruktioner utan att du ska tänka själv, koppla si eller så, som killen i videon (han med kassaapparaten).

Eventuella brister i min grammatik bör inte vara dej till hinder, jag hittar inte på felaktiga fakta åtminstone.
Tänk nu efter, videon, är den helt missvisande, eller är det möjligt att andra faktiskt ser dej på det sättet och att det verkligen är ditt nuvarande sätt att försöka bli en stjärna inom elektronik-design? (eller flygpilot).

Att läsa en bok eller två om analog elektronik kommer inte sitta i vägen för dej om du vill designa en fungerande elektriska kretsar.
Kasta skygglapparna och ta mitt råd att läsa databladet denna gången. :D
Du får gärna tacka på hyffsat sätt för hjälpen när du begriper mina råd och det går upp för dej att jag givit dej något som bygger dej ny kunskap.
Tyvärr pekar jag inte ut var knapparna sitter, men jag strösslar spåret till dom åt dej i förhoppning att du klarar resten själv.
DanielM skrev:Tips. Sluta skriva massa romaner.
Jag är säker på att han med kassa-apparaten inte heller läser allt för långa instruktioner. I synnerhet de som även förklara "varför" vilket kräver tyngre tankearbete av mottagaren.
Är du snabbtänkt skulle du fattat påtagliga fel du gör redan i första och inte 10:e påpekandet som dessutom gör att du då inte förstår varför eftersom du nöjer dej med att få knapparna utpekade istället för att "läsa romanen" för att kunna tänka på egen hand.
Är du snabbtänkt skriver jag bara "tänk på databladet" så fattar en mer tänkande var problemet ska sökas och eftersom felet är så uppenbart är det lätt funnet.
Inte ens pin-numreringen eller okunskapen att man inte ska lämna dinglande ben gick fram på första eller andra meddelandet så i det avseendet har du en del att förbättra.

Tack för den goda informationen om att dinglande ben är usel design.

Nu får du hitta knapparna själv om du ska försöka bli elektronik-designer på någon nivå alls. Dvs något som inte brinner när det kopplas in.
Skriv svar