Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Készítettem egy panelt egy PIC32MX470F512H kontrollerrel, hogy USB-vel próbálkozzak. MpLab X v5.20-at használok és Harmony-val szeretném felkonfigurálni a kontrollert, ezen belül is az USB bootloadert. A bootloader host oldalára UnifiedHost letöltőt használnék. Sajnos bárhogyan is próbálkozok, nem jutok semmire, nem látja a kontrollert. Debug módban látom, hogy maga a kontroller fut. A bekötésnek jónak kellene lennie, ami nálam nincs, hogy VBUS-on nincs soros 100R. Ám semmit nem csinál amikor bedugom. Nincs valami jó tutorial, ami leírja, hogy miképpen lehet ezt működésre bírni, esetleg valaki próbálkozott már ezzel, szükséges a 100R? Ezt próbáltam, de sajnos semmi sikerrel. Köszönöm!
Én sajnos a bootloaderes témát sose éreztem magamnak így nem nagyon tudok, direkten segíteni benne.
De esetleg próbálj meg soros portot (CDC) csinálni elsőnek, hogy él e az USB ahhoz van example is én 2.04-el használtam és hibátlanul ment (annyi különbség, hogy én MZ-vel csináltam). (De ahogy láttam bootloader-hez is van example)
Első körben ez lesz valószínüleg. Mint kiderült a Harmony sem kulcsrakész megoldást ad. Ezt viszont egyáltalán nem értem. Adott egy bootloader letöltő hoszt alkalmazás, amit ők készítettek. Gondoltam ha szintén az ő tooljukkal kigenerálok egy eszköz oldali bootloader kódot, akkor a kettő egyből képes lesz működni egymással.
Ahogy jobban belemélyültem, kiderült, hogy ez nem igaz, ami szerintem nonszensz. Kezdek egyre jobban kiábrándulni a Microchip toolchanjéből. Bugos, nincsenek végiggondolva és félkészek.
Hello!
Egy érdekes problémával fordulnék hozzátok. Egy project része a következő: PIC18F4520-al kell kiolvasni két TC74-es hőmérőt, DS3231-es RTC-t és egy INA219-et. Ha mindkét hőmérő a buszon van, akkor az egyik mindig -1°C fokot ad vissza (A1 és A2-es cíművel is próbálkoztam). Címzés tuti jó, mert, ha lehúzom máris ACK hiba keletkezik. Ha a másik TC74-et húzom le (ez A0-s és persze a programból kiveszem), akkor tökéletesen működik vagyis nem elkötési vagy program hiba. Elakadtam, lehetséges, hogy a két szenzor nem "szereti" egymást? A másik két I2C-s eszköz folyamatosan olvasható.
Ajánlom figyelmedbe A TC74 adatlapját. a TC74 szenzoroknak tokozástól függően van különböző címük. Ugyanazon tokban uyanaz a címük, sem szoftveresen, sem hardveresen nem állítható. Ergo nem tudsz 2 egyforma tokozású TC74-et kezelni. Szerintem.
Ezt tudom, ezért írtam A1-et és A2-t. 8 különböző című van, a kép az adatlapból származik
A hozzászólás módosítva: Szept 14, 2020
Ok. Akkor frissítették, vagy rosszul emlékszem, már rég volt a kezemben, de én is megszívtam.
Megnéztem nem-e két egyforma kódút vettél?
Be vannak tartva az előkészítési és tartási idők? Egy analizátoros mérésből kiderülne.
A0: start után van ACK, utána pedig adat, A1 vagy A2 start után van ACK, adat már nem jön
Egyszerre csak egy reagál.
Az adatlapban van egy furcsaság, amit nem nagyon értek:
Idézet: Gondolom a "8-bit" a nyolcadik bitet jelenti. Ez azt jelnetené, hogy az első kommunikációnál mindenképpen írni kell a konfigurációs regiszter? Ha igen, ez be van tartva? „3.4 Address Byte Immediately following the START condition, the host must transmit the address byte to the TC74. The states of A2, A1 and A0 determine the SMBus/I2C address for the TC74. The 7-bit address transmitted in the serial bit stream must match for the TC74 to respond with an Acknowledge (indicating the TC74 is on the bus and ready to accept data). The 8-bit in the address byte is a Read/Write bit. This bit is a ‘1’ for a read operation or ‘0’ for a write operation. During the first phase of any transfer, this bit will be set = 0, indicating that the command byte is being written.”
Az IEC buszon a címek párosak, mivel a 0. bit a Read (1) / Write (0) vezérlés.
Az adatlapon csak 7 bit szerepel. Az írási cím csak A0, A2, A4, A6, A8, AA, AC, AE lehet. A hozzászólás módosítva: Szept 14, 2020
Próbáltam úgyis, hogy a másikat le sem kérdezi meg úgyis, hogy több másodpercet vártam az olvasások között
I2C esetén a 0. bit dönti el, hogy írni vagy olvasni akarjuk az eszközt. Ennél nem muszáj a konfigot írni lehet egyből olvasni is, de persze mindkét verziót megpróbáltam.
Értem én, de az utolsó mondat szerint az LSB nullára lesz állítva. Vagy igen ostobán van megfogalmazva a leírás, mivel kijelenető mondat, nem feltételes.
Sziasztok! Van egy Pickit2 klon programozóm. Ezt 2013-ban vettem és még nem is használtam mert JDM-el programoztam. PIC12F576-ost akartam felprogramozni. Az asztali /nagy/ gépen működött, de többszöri próbálkozás után sem rakta be a HEX-fájlt. Megpróbáltam laptopon és pár percig működött, utána leállt. Nem bírom használni, villog a piros led és a gép sem ismeri fel, se a nagy gép, se a laptop. Van egy kb. 20 Ohmos ellenállás az USB-csatlakozónál és az nagyon melegszik. Átvizsgáltam a panelt, a kondik és a diódák jók. A FET-eknél sem találok zárlatot. pic18lf2550-el van felépítve. Szerintetek mi lehet a hiba? Segítségeteket előre is köszönöm!
Szerintem ez nem PIC kérdés, és nem PIC haladó kérdés. Szimpla hw hiba. Amúgy ez egy duplán obsolete eszköz.
Tipp: a 20R ellenállás az USB 5V ágban van sorosan, a paneleden pedig van egy zárlatos alkatrész.
Szia! Köszönöm az infót! Ezért nem szeretek itt feltenni kérdést, mert általában rossz néven veszi valaki. Általában azért mert hülyeséget kérdezek, vagy nem jó helyen.
Bár van azért, aki segített a fentiektől függetlenül. Csupán azért mertem feltenni, hogy hátha valaki járt már így, mikor PIC-et akart programozni ezzel az eszközzel. Még egyszer elnézést a kérdésért! Minden jót kívánok!
Hali!
Ha már szétszedted, és megtaláltad a melegedő cumót, azt is megnézheted hová van kötve, az többet elárul... Próbálj benne tápot méricskélni, bejövő USB fesz, pic18 tápfesz. A pickit2 gyári kapcsolása publikus, a klónok is kb azonos felépítésűek, segíthet a hibakeresésben, meg hogy mit csinál a 20 Ohm... Win eszközkezelőben mit látsz bedug/kihúzás esetén? Változik valami? Esetleg mplab-ból a szoftverét kézzel frissíteni. A hozzászólás módosítva: Nov 2, 2020
Üdv. Pipi! Köszönöm a segítséget! Táp=4.8V, a PIC táp rendben, FET-eknél nincs zárlat. Ha időm engedi még egyszer átnézem. Még egyszer köszönöm!
A hozzászólás módosítva: Nov 3, 2020
Ha melegszik, az az áram valahová elfolyik, valami felkajálja elsőre ezt kellene megtalálni
Üdv!
Nekem régen volt problémám a PicKit 2-vel, akkor az ESD diódák mentek tönkre a panelen és azok vezettek át. Próbáld meg kicserélni őket. Üdv Máté
Köszönöm a segítségeteket!
Kedves Pipi! Ma járattam a készüléket, de nem melegszik az ellenállás. Gyanús volt egy tantálkondi és egy dióda kiemeltem, megvizsgáltam őket, és jónak mértem. Kedves Gyimate! Bár mértem a diódákat és jót mutatott a műszer, holnap ismét rámérek. Köszönet az infókért! Itt nem akarok tovább foglalkozni vele. Ha még gondom lesz másik topikban teszem fel. Nem akarom ezt a topikot szét offolni! Superuser topiktársnak abban igaza van, hogy nem ide kellet volna feltenni a kérdést! Még egyszer köszönök mindent!
Szerintem ne add fel, a további dolgokat pedig inkább ebbe a topikba írd.
Üdv. Benjami! Köszönöm a biztatást! Én is erre a topikra gondoltam. Most a gyanús forrasztásokat újraforrasztottam és láss csodát, most működik. Már attól féltem, hogy a 2550-es PIC-el van gond.
Sok rajzot átnéztem és tanulmányoztam, sokat segítettek a rajzok, és itt a topiktársak, nem beszélve a Te biztatásodról! Nagyon köszönöm mindenkinek a segítségeket!
Sziasztok!
Segítséget szeretnék kérni. Kísérletezek a dsp.h FFTComplexIP függvénnyel. A demó kód működik, viszont szerettem volna saját adatokkal is kipróbálni. Egyenlőre szimulátorral futtatom a kódot. Matlabbal generáltam példaadatot. Kis keresgéléssel megtaláltam, hogy 1.15 formátumban várja az adatot az FFT, ezt át is alakítottam. Lefuttatva, nem vagyok kimondottan megelégedve a kimenettel, elég össze vissza. 0-20,000 Hz es tartományt vizsgálnék, a mintavételi frekvencia 40 kHz és 512 adatpontot rögzítek. A kimeneten így körülbelül 78.125 Hz / osztás a felbontás. A kód futtatása után van egy tüske ~233 Hz -nél, ez jó. Viszont a másik tüske ~7100 Hz-nél van, ez már nem jó, illetve 12890 Hz-nél, ez se stimmel teljesen. Van ötlete bárkinek, hogy miért lehet ez ennyire elcsúszva? Illetve a mintakódnál a legerősebb frekvenciát szépen visszaadja, viszont nálam, még úgy is, hogy értelmes adatokkal van feltöltve a tömb, nullát ad vissza mindig, a frekvenciára és a Bin -re is. Van esetleg valakinek már tapasztalata az FFT függvényekkel, azoknak a használatával? Esetleg valaki tudna pár példát adni a Microchip sajátjához (nincs túldokumentálva).
Köszönöm!
Anélkül, hogy kicsit is megpróbálnám mélyebben értelmezni, amit kérdezel(mert hogy az is erősen hiányos)..., szemmel látható, hogy egy lassú szinuszon, van legalább még egy, jóval gyorsabb jel is! Ettől kezdve még annyira sem értem, mit kérdezel, mint amennyire addig hittem... )
A Fourier transzformáció egyetlen vonalból álló spektrumot csak egy végtelen tisztán szinuszos jelnél ad (csak egy harmonikus van a jelben). A fenti jel egy összetett jel. A jellemző spektrum vonal mellett más vonalak már attól is megjelennek, hogy a minta véges számú mintából áll.
Ez is csak akkor, ha az a tiszta szinusz jel frekvencia éppen egyezik valamelyik bin frekvenciájával! Ha nem, mert kettő közé esik, akkor tiszta szinusz esetén is egy halom(kb végtelenhez közelítő) értékhalmazt fogsz kapni, egyre csökkenő amplitúdóval az alapharmonikustól kiindulva....
Hogy ezt elkerüljük, alkalmazni kell valamilyen ablakozó függvényt... |
Bejelentkezés
Hirdetés |