Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1243 / 1318
(#) whipeer válasza Bakman hozzászólására (») Jan 25, 2017 /
 
Ilyet honnam szerezek? Vagy lehet epiteni?
(#) adamhollos hozzászólása Jan 26, 2017 /
 
Sziasztok!

PIC18f25K80-at programozok épp XC8-ban.

A/D convertelnél hogyan tudom kikapcsolni a Special Event Trigger-elést? Csak úgy, hogy beállítom, hogy olyantól várja, aki tudom, hogy nem fog küldeni?
Mert, adatlapban csak azt találtam, hogy hogyan lehet választani aközött, hogy CCP2-től, Timer1-től, CTMU-tól vagy ECCP-től várja, de teljes figyelmen kívül hagyást nem.
(#) ktamas66 válasza adamhollos hozzászólására (») Jan 26, 2017 / 1
 
Igen. Alapértelmezetten ECCP-n áll, ott pedig egy spéci üzemmódot kell beállítani, ha mégis szeretnéd, hogy triggert kapjon.
(#) pajti2 válasza Wezuv hozzászólására (») Jan 28, 2017 /
 
A harmonyról továbbra is nagyon sok a szitkozódás. Kotord csak fel a webet, jó szó egy darab sincsen róla. A legvalószínűbb, hogy a cégen belüli rugdosódások áldozatává vált a teljes 32mz vonal.

Amíg az mz-ről nincsenek normális adatlapok sem, addig biztosan csak időpocsékolás foglalkozni vele. Ami szoftveres sdk-t a jelenlegi hozzáállással akarnak építeni, azt biztosan nagyon pofátlanul fizetőssé fogják tenni, ergo ha végre ki is csiszolják normálisra (talán valamikor 30 év múlva a jelenlegi sebességgel), köszönet abban sem lesz egy szemernyi sem.

Az mx-ek a régebbi mla-kkal is használhatóak, ott open source minden, és nem kell azokhoz harmony sem.

Részemről kacsingatok az nxp-re. Ha az mc túl sokat bénázik, be fogják előzni őket, és érdemesebb lesz áttérni.
(#) Wezuv válasza pajti2 hozzászólására (») Jan 28, 2017 /
 
Van benne valami, de nem olyan vészes a dolog. Találtam egy olyan hibát, amit nem is értek hogyan lehetséges, mert az egész projectben nincs egy sor se, ami az érintett bitet törli. Pontosabban van egy sor, de oda nem fut a szál. Ez a bit a Framework-ben van, ott kellett módosítanom a forrást (drv_tmr.c). A bit a pDcpt->tmrInstance.status. Ezt kellett itt visszaállítanom SYS_STATUS_READY-re. Innentől minden ment. A megoldás hasonló egy biztosíték 100-as szöggel való helyettesítéséhez, de működik.
Jelenleg ezeket az elemeket próbálom sikerrel: HTTP szerver (NVM, MPFS2 (in flash), SDcard(SPI 20MHz, FAT32 8GB), SQI(Flash 16MByte 25MHz), EEPROM(I2C), RTC2025S (I2C), TFT (SSD1963, 7" 800*480), USB (2.0 Hi), UART(2db, RS485 MODBUS). Tehát nem olyan nagy gáz, csak kellett egy év majdnem, mire kezdem megérteni mi hogyan működik és így át tudom írni azokat a részeket is, amiket nem jól generál le a Configurator, mert van ilyen bőven. Persze az is lehet, hogy nem állítok be valamit jól és ezért nem generálódik le a kívánt kód, de sok esetben könnyebb belekotorni, mint megtalálni a megfelelő beállításokat. Az tetszik, hogy sok app szálat lehet generálni amiket saját célra lehet használni. Teljesen normálisan használják az állapotgépet és generálnak hozzá alap jelzőket, így el lehet különíteni a fő szálakat, így olvashatóbb lesz a kód.
Saját régi könyvtárakat is gond nélkül hozzá lehet adni a generálthoz és további generálásokat is meg lehet tenni(pl. pin módosítás, vagy Driver hozzáfűzés), csak nem szabad engedni, hogy a saját belekontárkodásokat felülírja. Jobban örülnék én is egy régi vágású mla-nak, de ez van.

Az EF-es sorozat már stabilan működik nálam. (EFH1xx) és az errata is jelentősen lerövidült.
(#) Droot hozzászólása Feb 4, 2017 /
 
Sziasztok!

PIC32MZ2048EFH100-al egy komolyabb panelt építek. A lábainak 75%-a fel van használva valamilyen IO vagy I2C, SPI buszra.
A kérdés az, hogy programozatlanul először az analóg be-ki meneteket fogom tesztelni, hogy a külső OPA-s kiegészítő áramkörök jól mennek-e.
Problémát jelenthet ha a PIC minden lába programozatlanul kimenet (mivel ha TRISx=0 akkor kimenet), ilyenkor ha pont H szintet kap az OPA kimenetéről gond lehet.
Probramozatlanul milyen állapotban kell lennie az IO lábaknak?
(#) Wezuv válasza Droot hozzászólására (») Feb 4, 2017 /
 
Analog bemenet, vagy digit bemenet. (Adatlapban benne van a TRISx regek alap értékei és a harmony pin configban is jól látható, hogy alapból milyenek a lábak és milyenekre lehet átkonfigolni...)
A hozzászólás módosítva: Feb 4, 2017
(#) cross51 válasza Droot hozzászólására (») Feb 4, 2017 /
 
Nálam nem EFH hanem EFG van RESET-kor mint a 8 biteseknél analóg és bemenet minden láb.

he.png
    
(#) Droot válasza Wezuv hozzászólására (») Feb 5, 2017 /
 
Az adatlapban azt találtam, hogy POR után minden láb bemenet.
Hogy egy kicsit jobban megismerjem az adatlapot... megmutatod, hogy hányadik oldalon találtad meg?
(#) Kovidivi válasza Droot hozzászólására (») Feb 5, 2017 /
 
Teljesen logikátlan lenne, ha kimenet lenne reset után minden láb, hiszen programból mindet bemenetnek állítani sok idő, addig meg fogyaszt folyamatosan? Indulásnál óriási áramlökéssel indulna az uC? Biztosan nincs ilyen az adatlapban, nem fogja a kérdező megtalálni.
A hozzászólás módosítva: Feb 5, 2017
(#) Droot válasza Kovidivi hozzászólására (») Feb 5, 2017 /
 
Elég baj az, hogy nincs benne. Nekem is logikus, közben már találtam erre utaló megjegyzést.
(#) Wezuv válasza Droot hozzászólására (») Feb 5, 2017 /
 
Keress rá az adatlapban a "I/O Ports Control Registers" -re. Itt találod a TRIS regisztereket, amik az irányokat, az ANSEL regisztereket, amik az analog digitál beállításokat végzik. A jobb szélső oszlopban látod az All Resets állapotokat. Ha átfordítod binárisra, akkor ami 1-nek adódik az a TRIS-eknél bemenet. Nem árulok el titkot, hogy minden használt láb bemenet, azaz 1. Az ANSEL-nál hasonló, nézzd meg, mikor milyen a láb (kifejtik a megfelelő regiszterek magyarázatánál, (ANSELx).
(#) Droot válasza Wezuv hozzászólására (») Feb 5, 2017 /
 
Rosszul mondod a titkot... nézd csak meg jobban és ne csak leírd, van olyan ahol ismeretlen értéket vesz fel. Ha jobban megnézed az I/O portos doksit, abban pedig az van, hogy POR után mindig bemenet minden.
(#) Wezuv válasza Droot hozzászólására (») Feb 6, 2017 /
 
Én két regiszter csoportot említettem, amelyek meghatározzák a bemeneteket (TRIS, ANSEL) ezek beállása egyértelmű. A többi regiszter értéke, mint pl. LAT és PORT mindegy, és ezekhez ír bizonytalant. Tehát én úgy érzem jól írtam le a titkot.
(#) bistvan196700 hozzászólása Feb 6, 2017 /
 
Sziasztok! Azt szeretném megkérdezni, hogy van egy PIC aminek többek között termék számolást kellene végeznie, de tuti biztosan. Ipari környezetben áramszünet, véletlen kikapcsolás esetén is tárolnia kellene a darabszámot. Ha jól tudom az eeprom egy millió írást visel el. Tehát az állandó eeprom-ba írogatás nem jó megoldás, mivel évekig kellene, hogy működjön a dolog. Igazából 8 óránként nullázva lesznek a számlálók a pic-ben pc- rs485 kommunikációval. Tehát napi 3-szor lesznek kiolvasva a számlálók és nullázva, viszont atombiztosnak kell lennie. Legegyszerűbben, hogyan lehet ezt megoldani? Gondoltam esetleg az alacsony feszültség figyelésre csak ilyenkor mentené az eeprom-ba. Ez sem biztos, hogy évtizedekig működne. Esetleg külső ROM?
(#) GPeti1977 válasza bistvan196700 hozzászólására (») Feb 6, 2017 /
 
A PFC8583 IC nek van eseményszámoló funkciója, 3V elemről táplálod és I2C buszon keresztül írod olvasod, használhatod a saját eseményszámlálóját vagy a RAM szabad területébe írhatsz.
(#) nedudgi válasza bistvan196700 hozzászólására (») Feb 6, 2017 /
 
Serial EERAM: Nem felejtő RAM memória, áramkimaradás esetén ír csak az EEPROM terültre.
A hozzászólás módosítva: Feb 6, 2017
(#) bistvan196700 hozzászólása Feb 6, 2017 /
 
Köszönöm mindkettőtöknek, utána nézek amit írtatok.
(#) Bakman válasza bistvan196700 hozzászólására (») Feb 6, 2017 /
 
Ilyen írási tempó mellett az FRAM túléli a teljes gépsort.
(#) Bakman válasza bistvan196700 hozzászólására (») Feb 6, 2017 /
 
Most látom csak, nem említettél írási gyakoriságot. 10^14 írást bír ki átlagoan egy FRAM. Pl.: FM24W256G. Különösen jó tulajdonsága, hogy egy címzés után végigírható vagy olvasható a teljes memóriaterület, nem szükséges lapozni.
(#) pajti2 válasza bistvan196700 hozzászólására (») Feb 6, 2017 /
 
Szerintem semmi extra nem kell hozzá. Fail safe tápot építesz az áramkörnek, és sima munkamemóriában megmaradnak az adatok arra az időre, amíg a táp visszajön. Nyilván nem az egész rendszert rakod fail safe vonalra, csak magát a munka adatokat tároló eszközt.

Tipp 1:
Léteznek szünetmentes tápegységek nagyon olcsón. A pic-es cuccokat olyan 230-as hálózatra rakod, amit szünet mentesen kötsz keresztül, az ő tápegységeik onnét kapjanak tápot.

Tipp 2:
Úgy építed meg az áramkör tápellátását, hogy a külső tápról egy saját akkut töltsön (egy diódán keresztül, ami garantálni fogja, hogy az maximum tölteni tud, lemeríteni nem), illetve tartson full feltöltve, és az akkuról táplálod meg a saját áramkörödet.

Kiegészítő gondolatok:
Valós fizikai folyamatokhoz képest egy 32 KHz-es órajelel hajtott "digitális gép" is van annyira gyors, ami már elég, és azon a frekvencián a pic-ek uA-es üzemi áramot fogyasztanak. Hamarabb merül le az akku önkisülés végett hónapokkal később, semhogy az áramkör lemerítené, és gondolom, csak nem lesz lepurcanva a táp hálózat egy ipari gyártó üzemben hónapokon keresztül. Ha nagyon gáz, egy folyadék kristályos kijelzőt még rátehetsz az áramkörökre (azoknak a fogyasztása gyakorlatilag nulla), hogy végső soron hónapokkal később valaki egyszer végigjárkál, és ceruza / jegyzettömb összeírja a számlálók értékeit.
(#) bistvan196700 válasza pajti2 hozzászólására (») Feb 7, 2017 /
 
Arra az elgondolásra jutottam, hogy külön kismegszakítóra kötöm a pic tápegységet a géptől függetlenül. Ha kikapcsolják a berendezést a pic akkor is működik tovább. Valójában áramszünet esetén ami nagyon ritkán fordul elő kell rom-ba menteni a számlálókat. "Tipp 2:" Így akku sem szükséges. Ez szerintem hosszútávra garantálja a működést az eeprom használatát figyelembe véve. Majd kiderül. Nagyon köszönöm a te hozzászólásodat is.
(#) Wezuv válasza bistvan196700 hozzászólására (») Feb 7, 2017 /
 
"Érdekes" megoldások születnek. Az EERAM lenne tökéletes megoldás, de hát van amit addig gurítanak, míg lekopik kerekre, aztán mikor már gurulna, felemelik és viszik...
(#) bistvan196700 válasza Wezuv hozzászólására (») Feb 7, 2017 /
 
Én magam azt vallom, hogy törekedni kell a lehető legegyszerűbb megoldásokra. Ha mégse válik be akkor érdemes bonyolítani. Az az igazság még csak tanulmányozom a feladatot, így is lesz egy rakás induktív érzékelő, fotókapu miegymás. Még magam sem látom át teljesen, valószínűleg lesz még kérdésem.
(#) Wezuv válasza bistvan196700 hozzászólására (») Feb 7, 2017 /
 
Én is ezt vallom, pl. azt, hogy a megfelelő alkatrészt a megfelelő helyre. Örülnöd kellene, hogy kapható ilyen alkatrész és helyetted megold mindent tökéletesen.
A hozzászólás módosítva: Feb 7, 2017
(#) matheattila válasza bistvan196700 hozzászólására (») Feb 8, 2017 /
 
Szerintem meg elég lenne az adatokat csak a RAM-ban tárolni és ott növelni/nullázni és csak áram kiesés esetén menteni el EEPROM-ba (pl. PIC belső EEPROM-jába ha van neki, mert gyorsabb). Áramkimaradás esetén nagyobb kondik (pár 10/100uF) biztosítanák a kellő időt az EEPROM-ba mentéshez, majd végül a PIC leállásra vár (ameddig ki nem sülnek a kondik).
Ha visszajön az áram akkor EEPROM-ból visszatölti az adatokat és folytatja ahonnan abba hagyta. Ha netán ez az áram kimaradás olyan rövid lenne, hogy a PIC még nem állt le akkor természetesen folytatja tovább. Ezt az áramkimaradást természetesen a kondi előtt kell figyelni, úgy hogy a kondi előtt legyen egy dióda ahogy azt pajti2 is említette az akkuval.
(#) bistvan196700 válasza matheattila hozzászólására (») Feb 8, 2017 /
 
Igen én is úgy értettem, hogy csak ram-ba történik a számolás. Akkor mentene EEPROM-ba ha áramszünet történik, ami szerencsére ritkán fordul elő. Természetesen ezt az elvi megoldást a gyakorlatban is tesztelni fogom.
(#) Wezuv válasza matheattila hozzászólására (») Feb 8, 2017 /
 
Egy EERAM mit csinál? Ráadásul itt nem nagy méretű adatokról van szó, csak egy nagy számról, ami néhány bájton elfér. "Atombiztos" csak így lesz...
(#) Tasznka válasza Wezuv hozzászólására (») Feb 8, 2017 /
 
Egy kis ismertető.
(#) pajti2 válasza Wezuv hozzászólására (») Feb 8, 2017 /
 
Gyártottak a srácok olyan "nem felejtő" memóriát, ami mikroelektronika szintjén egybeintegrált flash / statikus ram adat cella. Normál esetben a ram oldalt látod csak, az áramkör arról alapinitel, azt írod / olvasod. Amikor a tápfesz elkezd esni, átírja a ram adatot a flash-be egy külön csatlakoztatott kondenzátor energiáját felhasználva. Ügyes kis cucc.
Következő: »»   1243 / 1318
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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