Fórum témák

» Több friss téma
Fórum » ARM - Miértek hogyanok
 
Témaindító: gtk, idő: Jún 26, 2007
Lapozás: OK   156 / 177
(#) csatti2 válasza Jonni hozzászólására (») Márc 13, 2021 / 1
 
Van egy csomó feladat, amire nem elég a 32 bit. Csak azokat nem mikrokontrollerekkel szokták megoldani.
Már a 32 bites busz is akkora címteret tesz lehetővé, aminek teljes kihasználása mikrokontrollerek esetében jelenleg egyszerűen nem reális.
(#) Jonni válasza csatti2 hozzászólására (») Márc 13, 2021 /
 
Értem. Köszi
(#) jefflynn válasza Jonni hozzászólására (») Márc 13, 2021 /
 
PIC-ek között is érdemes körülnézni, tapasztalatom szerint alacsonyabb fogyasztás érhető el mint ARM kontrollerrel. Csatti2 jól mondja, erre így nehéz válaszolni. Jó lenne tudni, mi a feladat, milyen teljesítmény kell hozzá, milyen perifériákat használnál, lehet-e altatni a kontrollert vagy folyamatosan kell mennie stb...
(#) cross51 válasza ha1drp hozzászólására (») Márc 13, 2021 /
 
Pedig igyekeztem, hogy ne legyen full katyvasz, de lényeget láttad így is nem jó a kód.

Az spi kijelzőt nem hajtod non-stop csak frame update-kor meg nem 17*2 byteokat küldesz latch-onként.
Én SRAM1-re 10-20k tömböt megállás nélkül söpörtem ki DMA-n maga a kód futott így is csak a MIDI UART-ja ha IT-vel ha DMA-ra (magasabb prioritéssal) raktam valahogy mindig adatvesztés történt és mivel DMA-val sem ment így bus foglaltságra gyanakodtam így átraktam ezt a tömböt SRAM2-be, aztán így se volt teljes a kép így megállítottam a DMA periodikusan.

Mivel még ekkor is folyamatosan változott a kód nem tudom, hogy a kód volt a hibás vagy a rossz volt hw kihasználás, de most már más a kód bőven csak tesztelni nem tudok, mert épp a haverom teszteli MIDI oldalról.

Persze én is át szoktam állítani az optimalizációt Release-ben, de magam felé elvárás, hogy 2 hw-t (ráadásul mindkettő DMA-val megy) használó kódnak ne "számítson" már az optimalizáció.
(-o0-án szerint a GCC katasztrófa, nem teljesen értem, hogy nincs optimalizáció a fordító miért ilyen "hülye")

F7-tel pötyögtem már egy kicsit grafikus könyvtár szerűt fejlesztettem rajta mert F746-is kithez jobb kijelzőt adnak mint F429-eshez de ott nem foglalkoztam a cache-el mivel SDRAM-ba ment minden de, gondolom chache-nél DMA előtt cache flush vagy hasonló kell.
(#) cross51 válasza jefflynn hozzászólására (») Márc 13, 2021 /
 
Én MZ/MX-re nézve nem éreztem, hogy optimális lenne low-energyre 1 mA alá sosem mentem velük, de a 32MM lehet jobb ezen a téren, de azt meg csak breaboardon használtam. (mondjuk már 2 éve nem néztem a tájékukra az MPLAB X tönkre tett)

De szerintem, ha alacsony energiafogyasztás akkor Silicon Labs nekik a kit-jeik többségén direkt lehet is mérni a fogyasztást és a legtöbb example is arról szól, hogy hogyan tudsz energia optimalizáltan kódót írni.

A silabs eredetileg nem gyártott controllert, hanem megvették az energy micro-t a régi név talán utal arra, hogy mi a fő cél ezekben a controllerekben.
(#) jefflynn válasza cross51 hozzászólására (») Márc 13, 2021 /
 
A PIC32-t nem ismerem, mert amikor szükségem lett 32 bites teljesítményre, akkorra már annyira megutáltam az MPLAB X-et és az ICD3-at, hogy ARM-ra váltottam. Kisebb PIC-eket használok, azoknak elég jól vissza lehet fogni a fogyasztását.
(#) Jonni válasza jefflynn hozzászólására (») Márc 14, 2021 /
 
A PIC programozást nem ismerem és még az is baj , hogy ahhoz kell külön programozó + kicsit macerás (arduino-hoz nem kell). A lényeg az lenne olyan mcu-t használjak ami a legjobb fogyasztást éri el ha pl elemről kell táplálni. Altatni nem akarom. Az stm32 teljesítménybe is nagyon jó állítólag (feladat még nincs egyelőre csak a lehető legkisebb fogyasztású kontrollert keresem)
(#) vargham válasza Jonni hozzászólására (») Márc 14, 2021 / 1
 
Idézet:
„Altatni nem akarom.”

Miért? Összességében az számít a leginkább, hogy mennyit tud aludni a CPU.

Idézet:
„feladat még nincs”

Pedig az sokat számít. Feladathoz érdemes megoldást találni, és nem fordítva.
(#) Jonni válasza vargham hozzászólására (») Márc 14, 2021 /
 
Én fordítva csinálom . Bármi legyen a cél hardware, plusz fogyasztást még akkor sem akarok ha csak milliwatt-os különbségek vannak.
(#) icserny válasza Jonni hozzászólására (») Márc 14, 2021 / 1
 
Szerintem ezt az oldalt kerested.

Az általad említett Cortex M0-nál korszerűbb (nagyobb teljesítményű és kisebb fogyasztásúak) az M0+ sorozat (pl. STM32L0 sorozat, vagy az NXP (leánykori nevén Freescale) Kinetis KL25Z sorozat.

Nyilván számít a csíkszélesség is (az STM32U5 sorozatnál írják, hogy 40 nm-es technológiával készül).

"Altatni nem akarom"
Pedig az energiatakarékos módok az altatást különböző szintjeit jelentik.
(#) Jonni válasza icserny hozzászólására (») Márc 14, 2021 /
 
A leírás alapján nagyon jók.
(#) bbalazs_ hozzászólása Márc 15, 2021 /
 
Urak, kérdésem lenne. Hoverboardokban használt gd32f103c6t6 vagy c8t6 chipekről lenne szó.
Eddig a kettős meghajtásban az rct 64 lábúak simán programozhatóak voltak st-linkkel.
Ezek az egymotoros meghajtók a fenti chipekkel viszont furcsaságokat produkálnak.
Egy c8t6-os simán ment, szépen forgatta a kereket, míg a párját (teljesen identikus másik panel) nem is látja a programozó. Nem tud csatlakozni. Ezek önálló egységek...
A másik fajta egymotoros paneleken levő c6t6-osakat pedig nem tudja olvasni - írásvédettségre hivatkozva - míg ha kiütöm ezt, akkor tudja...csak éppen a program nem indul el valamiért. Ellenőriztem, jól írja be, legalábbis a flash-t. Utána ismét hibát jelez olvasásra.
Mindkét board így viselkedik. Később vettem észre csak, hogy 32f130-as környezetben fordítottam mindent, a c8t6 - ben mégis tökéletesen teszi a dolgát ugyanaz a program.
Okozhat ez ilyen hibát? A config byte-ok ugyanott vannak?
Tudom és megkaptam már párszor, hogy miért nem a gd hivatalos cuccait használom - de a neten mindenkinek működik ez a klón is.
Valami ötlet, hogy mi okozhat ilyen hibát? Mit ellenőrizzek még?
(#) vargham válasza bbalazs_ hozzászólására (») Márc 16, 2021 /
 
Biztos, hogy GD? Én a CS32F103C8T6 mikrokontrollerrel jártam így. (Sajnos ilyennel küldték STM32 helyett, és későn vettem észre.)
(#) bbalazs_ válasza vargham hozzászólására (») Márc 16, 2021 /
 
Ez van rászitázva - nincs okom, hogy ne higgyem el.
(#) vargham válasza bbalazs_ hozzászólására (») Márc 16, 2021 /
 
Nekem eddig nincs jó tapasztalatom a Kínából érkezett STM32 és klónjaival.
Pár éve még rendben voltak.
Aztán elkezdték GD majd CS mikrokontrollerekkel kiváltani őket a termékekben. Némelyek még azt is megteszik, hogy lecsiszolják, és rászitáznak mást. Így fordulhatott elő, hogy a szitázás alapján STM32 bluepill nem programozható. A korábbiakkal összehasonlítva gyanúsan más a szitázás kinézete.
Szóval ez egy tipp, hogy miért viselkedik az egyik így, a másik úgy.
(#) noi hozzászólása Márc 16, 2021 /
 
Sziasztok! Javaslatot szeretnék kérni.
STM32 IC-ket nézegetem, ebből kellene olcsó modul, minél több ADC lábbal.
Eddig ezt találtam:
Ali: STM32F407VGT6
Ez 3 darab ADC-t tartalmaz, 16 darab 12-bites megosztott csatornán, 2,4 MSPS sebességgel.
Ára középárfolyamon 2814 HUF (3 darab esetén).
Tudtok ettől olcsóbbat, több csatornával?

Szeretném az itthoni 230 Voltos hálózat áramköreit monitorozni. Sajnos a kész eszközök drágák, és kevés csatornásak. Arduino alapok vannak hozzá írva (emonTx, ATmega328-ra), de fenti sokkal gyorsabb processzor. Egyelőre 37 áramköröm van, +3 csatorna kell a 3 fázis feszültség monitorhoz. Áram és feszültség transzformátorokkal akarom kapcsolni a modult a hálózatra.
Előre is nagyon köszi!
(#) kapu48 válasza noi hozzászólására (») Márc 16, 2021 /
 
Megjegyezném, hogy az F407VG-nek csak 25 pinje használható ADC-ként.
A F407ZET-nek viszont 32 pinjére választható ADC bemenet.
A nagyobb lábszám miatt az utóbbi ezért jobb választás le3nne!
Bővebben: Link
(#) bbalazs_ válasza vargham hozzászólására (») Márc 16, 2021 /
 
Közben fejlemények vannak
Ami nem csatlakozott, az egyszerűen hibás chip volt, kicseréltem és megjavult - de ezek mind 130-asok voltak, így nem csoda,hogy fut rajta a 130-asra fordított progi. Egy kollegám hívta fel a figyelmemet erre, én vak voltam
Szóval valószínű más tipusra írt progit akartam futtatni, már eleve a kortex más (m0 vs. m3).
(#) Peter65 válasza noi hozzászólására (») Márc 17, 2021 /
 
Nem tudom mi a célod a hálózati áram és feszültség monitorozásával. Amire fel szeretném hívni a figyelmedet, hogy a kommersz trafók viszonylag nagy amplitúdó és fázis hibát visznek bele a mérésbe. Pontos méréshez ezeket ki kell kompenzálni, vagy más, pontosabb leválasztási megoldást kellene keresni.
(#) Jonni hozzászólása Márc 17, 2021 /
 
Sziasztok.

Nézegettem ezt a nucleo panelt. Van hozzá adatlap de azt nem találom , hogy cn7 és cn10 , 40 pines konnektor lábainak mi a szerepe?
(#) noi válasza Peter65 hozzászólására (») Márc 17, 2021 /
 
Csak saját részre, hobbiból, mert szeretek mérni. Kíváncsi vagyok, mi eszi meg a sok áramot, hol lehetne javítani a fogyasztáson. Illetve lehetne riasztás, ha valamely készülék bekapcsolva felejtődött. Azt láttam, hogy kalibrálni kell ezeket a trafókat. Szoftveresen fogom finomhangolni. Ha 3%-ig beleférek a pontosságba, azt még el tudom fogadni.
(#) noi válasza kapu48 hozzászólására (») Márc 17, 2021 /
 
Amit találtam ezekhez specit, abban az F407Vx-hez 16 csatornát ír, az F407Zx-hez pedig 24 csatornát. Tudnál linkelni egy olyan specit, amiben 25/32 pin(channel) van?
(tegnap óta az általam linkelt board-hoz a posta 4-ről 66 dollárra ment fel )
(#) benjami válasza Jonni hozzászólására (») Márc 17, 2021 /
 
Ha kevés az analóg csatorna miért nem használsz cd4067 vagy hasonló analóg multiplexert?
(#) vargham válasza noi hozzászólására (») Márc 17, 2021 /
 
Használd a CubeMX vagy az MCU selector szoftvert! Mindenféle paraméterre lehet szűrni az STM32 MCUkat.
(#) kapu48 válasza noi hozzászólására (») Márc 17, 2021 /
 
Igazad van 24 ADC pin van. Figyelmetlen voltam és bele számoltam az ADC_EXTIxx-ket is.

Amit tudok ajánlani bővítőt: MCP3008, 8 csatornás ADC, SPI vezérléssel.
Nekem ez bevált, jobb mint az I2C-s bővítések.
(#) noi válasza kapu48 hozzászólására (») Márc 17, 2021 /
 
Az MCP3008 sajnos nem jó nekem, mert csak 10 bites, és lassú (200 ksps max. sampling rate at VDD = 5V• 75 ksps max. sampling rate at VDD = 2.7V). Ahhoz, hogy power factort is számolhassak, minél nagyobb frekvencián kell a mintavételezést csinálni.
A CD4067 multiplexer jó lehet, ott a leglassabb verzió 60 nanosec, tehát 16,6 mega per sec a kapcsolása. Ami az STM32 2,4 MSPS-e felett van.
(#) kapu48 válasza noi hozzászólására (») Márc 17, 2021 /
 
A multiplexer nem mér csak kapcsolgatja a bemeneteket, utána még ki kel várni az ADC mérés idejét. Ami 12 biten több mint 10 biten.
(Szerintem 10 bit is bőven elég, a 12 biten már a zaj is jóval nagyobb. Ezért több mérés átlagát kel venni, a pontosság kedvéért.)

De ha már van 3 + 1 ADC, nem kel kivárni a mérés időt, ha aktiválod a megszakítást, vagy még jobb DMA-ra fűzni a sorozatos beolvasást.
Mérhetsz egyszerre 4 bemeneten, közben ki értékelheted az adatokat
A hozzászólás módosítva: Márc 17, 2021
(#) icserny válasza Jonni hozzászólására (») Márc 17, 2021 /
 
"cn7 és cn10 , 40 pines konnektor lábainak mi a szerepe? "
Kivezeti a mikrovezérlő lábait. A 64 vagy még több lábúaknál fontos ez különösen.
(#) benjami válasza noi hozzászólására (») Márc 17, 2021 /
 
Most ez komoly, hogy az 50Hz-et megasample/sec nagyságrenddel akarod mintavételezni? Én lehet hogy abban gondolkodnék, hogy egy SPI-is ADC-t galvanikus leválasztás nélkül megfelelő osztókkal ráakasztanék a 3 fázisú mérendő áramkörre, az SPI-t meg optocsatolókkal oldanám meg, és így a kontroller már galvanikusan független lenne.
(#) noi válasza benjami hozzászólására (») Márc 17, 2021 /
 
Tudtommal ez a 2,4 MSPS eloszlik a csatornákon, tehát pl. ennek a 16-od részét tudom elérni (=150 KSPS), mert belül multiplexel. Az igaz, hogy ezekben van 3 ADC, de a 3. csak 8 csatornás. Az áram görbe pedig tud érdekes lenni egy DC-vel táplált terhelés esetén, ahol jól jön a nagyobb felbontás. például
Ha direkt ADC-vel akarom mérni az ármot, akkor azt invazív kell megoldanom, mangán-réz sönttel. Itt az opto és a csatlakozók árát kell párba állítanom a CurrentTransformer-rel.
Következő: »»   156 / 177
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem