Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   795 / 1210
(#) Lamprologus válasza cross51 hozzászólására (») Máj 17, 2016 /
 
Ezt a részt megtaláltam a leírásban ...
Csak kicsit macerás az, ha a keresőben leszűkítem a lehetséges "áldozatokat" 10-15-re, mindnek letöltögetni az adatlapját és abban kibogarászni, hogy milyen a lábkiosztás. Abban bíztam van ennél egyszerűbb lehetőség is, vagy ha a TQFP 64 lábú eleve csak 0.5mm-es kiosztással van akkor nem is keresgélek tovább.
(#) don_peter válasza Zsora hozzászólására (») Máj 17, 2016 1 /
 
Olyat nem találok egyelőre.
A 10K-os ellenállásra csak ötletnek gondoltam, hogy az áramerősséget korlátozzam ami a PIC-en keresztül vezetődne le. Na mindegy akkor ezt hagyjuk is.
Akkor marad az NPN tranzisztor GND-re való kapcsolása.
(#) pajti2 válasza don_peter hozzászólására (») Máj 17, 2016 /
 
Idézet:
„Motorola 68K Reset lábát”

Jó lenne tudni a pontos típusjelet. TTL bemeneteknél jellemzően 1.6 mA kimeneti áramot kell tudni lenyelni. Ha CMOS a bemenet, akkor kvázi csak feszültségszint van, és nem utolsó ötlet még egy kondenzátort odarakni sem. Az adatlapon ott lenne a bemenet típusa, de vakon kitalálni nem tudom.

Még ha 5v / 3.3v külön feszültségű elektronikákat használsz is, több lehetséges megoldás van. Az egyik, hogy külön bekötni gnd felé egy npn tranzisztort, és az a legtisztább. A másik, hogy lehet "okosan" bánni a pic kimenetekkel is, és nem lehetetlen megspórolni egy tranzisztort, ha éppen nincsen hely a nyákon úgy vezetékezni, de akkor tényleg ne programozd és ne kösd félre, mert egy tévedésbe kinyúvadhat valamelyik áramköröd.

Azonnal végleges nyákra kőbevésve kell a megoldás, ergo tilos tévedni, vagy kezdésnek moduljaid vannak, amiket drótozhatsz / dugaszpanelozhatsz?
A hozzászólás módosítva: Máj 17, 2016
(#) don_peter válasza pajti2 hozzászólására (») Máj 17, 2016 /
 
68K-ról kép, rajta a típus jelzés: Bővebben: Link

Azonnal a végleges nyák lesz, nem lesz dugaszolás, amikor már a 68K-t tesztelem.
Már kipróbáltam egy szál vezetékkel lehúztam GND-re a reset lábát és szépen resetelt is.
Szerintem is az NPN tranyó lesz a jó megoldás, és tán ennyi helyem még van is.
(#) Hp41C válasza don_peter hozzászólására (») Máj 17, 2016 / 1
 
E szerint a rajz szerint egy 10µF kondenzátort kell kisütni a WRES jelet alacsony szintre való kényszerítésekor.
(#) don_peter válasza Hp41C hozzászólására (») Máj 17, 2016 /
 
Nem tudom ezt hol látod, de én inkább azt látom, hogy egy 510K-os ellenálláson keresztül húzza le 0 szintre a WRES lábat.
Csatoltam a képet róla, illetve a tranzisztoros megoldásomat is.
(#) pajti2 válasza don_peter hozzászólására (») Máj 17, 2016 /
 
Felkutattam ugyan az adatlap-ot is megnézni a 10-7 oldalon, hogy 2.0V-nál már érzékelni fogja a magas szintet, lehúzni pedig max 0.8V feszültséggel már elég, és az input leakage max 20 uA, ergo ha semmi más nem lenne, direktbe összeköthetnéd a pic kimenetével, de ott a 68k eredeti reset logikája is a környezetében, és azzal el kell tudni boldogulni. Annyival biztosan jobb a tranzisztor.

Apropó az open collectorral én még sorba kötnék legalább egy 470 ohm-os ellenállást, mert az m68k környezetében ha ott a 10 uF, és megindul 50 uC löket a tranzisztoron, az áramkorlát nélkül nem túl egészséges.
(#) Hp41C válasza don_peter hozzászólására (») Máj 17, 2016 /
 
A rajzon sok *RES van. Most látom csak, hogy a CN3 Cartrige csatlakozón a MRES (B2) jelen kívül a VRES (B27) is rajta van. A VRES -t alacsony szintre kell húzni és 47k a felhúzó ellenállása. A WRES egy harmadik jel, amit nem találok a CN3 -on. Azonban a WRES jelet a táp fele kellene húzni.
Idézet:
„Már kipróbáltam egy szál vezetékkel lehúztam GND-re a reset lábát és szépen resetelt is.”

Melyiket próbáltad?
(#) don_peter válasza pajti2 hozzászólására (») Máj 17, 2016 /
 
pajti2: igazad van, oda még beteszek sorba akkor egy ellenállást.

Hp41C: közben szét szedtem a SEGA-t, hogy megnézzem még is mit tett még a reset gomb környékére.
Visszamérve élesben, az általad linkelt sematikus rajzon a 68K reset lába a 315-5354-es IC-be megy bele, majd onnan egy teljesen másik lábon egyszerűen egy sima gombra megy amin se ellenállás sem kondi, semmi nincs.
Ami még biztos, hogy nem a 68K reset lábát húzza le közvetlen a reset gomb, hanem valahogy közvetett módon reseteli 68K-t a 315-5354-es IC-én keresztül.

A kazetta B27-es RESET PIN (rajzon az a VRES) pedig a 68K-t reseteli.
Szerintem ez a tranzisztoros megoldás lesz még a legelfogadhatóbb megoldás.
(#) don_peter hozzászólása Máj 18, 2016 /
 
Uraim!
PIC32MX795F512L és PIC32MX460F512L közt csak annyi a különbség, hogy 460-ban nincs Ethernet és CAN?
Vagy van más egyéb is ami fontos lehet?
(#) Poostmaster hozzászólása Máj 18, 2016 /
 
Tudna valaki egy véletlenszám generátort összedobni 887-es csipre, Mplab XC-ben?
Köszi.
(#) don_peter válasza Poostmaster hozzászólására (») Máj 18, 2016 /
 
Nem kimondottan XC, de C és talán érthető is a kód.
  1. // Random szám generálása meghatározott számok közt
  2. unsigned int random_szam(unsigned int mettol, unsigned int meddig){
  3.     return rand() % (meddig-mettol+1) + mettol;
  4. }
Meghívása pedig:
  1. randszam = random_szam(2,6);    // Új véletlen számot kérünk be

Bár lehet ez inkább C programozás topikba való: PIC programozása C nyelven, C-Compiler
A hozzászólás módosítva: Máj 18, 2016
(#) cross51 válasza don_peter hozzászólására (») Máj 18, 2016 / 1
 
Nem csak az a 795-ben 2 db 32 bites timer van 6 db UART 4 db SPI 5db i2c 8db DMA csatorna míg a 460-ban 1db 32 bites timer és 2 db UART SPI i2c 4db DMA csatorna és a 795-ben több RAM van.
(#) don_peter válasza cross51 hozzászólására (») Máj 18, 2016 /
 
Igen tényleg, a memórián átsiklottam, bár nem szükséges nekem olyan sok.
PM = program memória
DM = adat memória
PIC32MX795F512L 100 PT 512 + 12(1)PM 128DM
PIC32MX460F512L 100 PT 512 + 12(1)PM 32DM

Lenne itt még valami.
Ezekben a PIC-ekben már nincs EPROM memória, melyik memóriát lehet kisebb saját adatok mentésére, tárolására használni és hogyan?
Csak egy rövid eszmefuttatást várok, nem a pontos programozási módszerét.
(#) cross51 válasza don_peter hozzászólására (») Máj 18, 2016 / 1
 
Ahogy észre vettem egyre kevesebb PIC-be raknak EEPROM-ot mivel olyan flasht raknak bele ami program futás közbe is írható és a 8 bitesnél (csak ott használtam eddig) ugyanaz mint az EEPROM irás csak a flashbe történik. A PIC32-nél azt hiszem NVMCON-ra halgat (de nem biztos) és van róla Reference Manual, hogy mit hogy kell.
(#) don_peter válasza cross51 hozzászólására (») Máj 19, 2016 /
 
Értem, pont ezt akartam olvasni, hogy hasonlóan működik mint a régebbieknél a EEPROM használata. Köszi.
(#) Hp41C válasza don_peter hozzászólására (») Máj 19, 2016 /
 
Eltérően működnek:
Hagyományos adat EEProm: Nem kell törölni, egy automatikus byte -os törlés előzi meg a beírást.
Flash: Beírás előtt törölni kell. Pontosabban nem írható be olyan adat, ami egy biten 1 -et tartalmaz és az előzőleg beírt adat azon a biten 0 volt. Törlés nem byte - os, hanem egy lapot kell törölni. Ha már a lapot töröltük az adatokat különböző címre tetszőleges időben írhatjuk be. Egy adat módosításához ki kell olvasni a legkisebb törölhető lapnak megfelelő adatmennyiséget RAM -ba, törölni kell a lapot, módosítani az adatot a RAM -ban és végül visszaírni a teljes lapot. Az újabb típusoknál kevesebb számú újraírhatóságot adnak meg, mint a régebbi adat EEPromoknál.
Idézet a PIC32MX5XX/6XX/7XX adatlapból (DS60001156H):
Idézet:
„D130 EP Cell Endurance 1000 — — E/W,
D130a EP Cell Endurance 20,000 — — E/W See Note 4
Note 4: This parameter only applies to PIC32MX534/564/664/764 devices”
A hozzászólás módosítva: Máj 19, 2016
(#) don_peter válasza Hp41C hozzászólására (») Máj 19, 2016 /
 
Akkor ez még sem olyan egyszerű.
Majdnem olyan, ha nem teljesen mint a Flash memória kezelése.
Mindegy mert mindenképpen kelleni fog, ha csak nem tervezek fel még egy EEPROM-ot a panelre.
(#) pajti2 válasza don_peter hozzászólására (») Máj 19, 2016 /
 
Nagyon feladatfüggő, hogy éppen milyen különbség a fontos. Néha a kevés dma miatt megy a szitkozódás (a kommunikáció anélkül rendesen enni tudja a magot), néha a ram a kevés (a több buffer nagyobb kényelem, sose becsüld azt alá), néha meg spi-ből kellene csak még +1, és ha pont nincs, akkor kényelmetlen kompromisszumoknak nézel elébe. A többivel sokkal ritkábban van para.

Epromokkal meg idővel mindenki beleszalad, hogy a több a jobb, és sd kártya a vége. A foglalat mechanikailag macerás, igazán gyárthatnának már valami 2.54 raszterhálóra igazodó foglalatot is, de én még nem találtam olyat, breakoutokat venni meg nem igazán költséghatékony, sem nem helytakarékos. Viszont egy 8 gigás emmc már csak 1k huf. Nagyon mennek lefelé a flash kártya árak, csak pislogok rajta.
(#) don_peter válasza pajti2 hozzászólására (») Máj 19, 2016 /
 
Igazából a mostani projektem szempontjából vizsgálgatom ezt a két PIC-et. (32MX795 vs 32MX460)
1db SPI-re lesz szükségem, sok IO lábra a 16bit-es 128Mbit NOR FLASH kezelésére, 1db USB-re, és úgy 10-12kb program memóriára a kódokhoz.
Ezen felül lesz majd szükségem valami olyan PIC-es meómra területre amiben eltárolhatok néhány maximum 10byte-nyi adatot. (ha nagyon problémás az adatmentés, akkor lehet még felvarázsolok egy SPI-s vagy I2C-s EEPROM-ot)
Akkor a bootloader miatt lesz szükség gondolom még plusz memória területre, amit lefoglal magának, és ezzel ki is fújt a dolog.
Ami bosszantó még az, hogy minél nagyobb lábszámmal dolgozok annál kényelmetlenebb az optimális elvezetés. Sok IO láb, sok munka

Ami még szempont, hogy azért árban is van különbség a két PIC közt, nem sok, de több esetében akár ez jelentős is lehet.
(#) nedudgi válasza don_peter hozzászólására (») Máj 19, 2016 /
 
Nem tudjuk, mekkora, milyen gyakorisággal írt nem felejtő memóriaterületről van szó, de ha a PIC flash memória írása korlátozott számú, jobb, ha egy külön EEPROM be van építve, tervezve az áramkörbe.
(#) don_peter válasza nedudgi hozzászólására (») Máj 19, 2016 /
 
Az a baj, hogy ez egy elég gyakori változó adat lenne amit folyton minden memória féltöltésnél írni kell.
Az adat kb 3-4byte lenne, de maximum 10byte.
Gondolkodom egy külső EEPROM-on, persze azon is, hogy van e értelme annak, hogy a feltöltések számát számoljam és tároljam. Kár, hogy a flash-ek nem számolják magukban.
(#) usane válasza don_peter hozzászólására (») Máj 19, 2016 /
 
Az "elég gyakori " relatív fogalom. Számolgass kicsit néha, ne vessz el az adatokban.
pl:
Ha a memória feltöltés alatt azt érted amikor a sega progidat rátolod, és feltöltésenként csak 1x kell írni ezt a néhány 10bájtot akkor sokáig tart. Tegyük fel naponta 10x lecseréled rajta a progit, és az év minden napján megteszed ezt, és a flash-re 20000 írási ciklus van megadva akkor is 5 évig megy, és ez egy nagyon-nagyon túllőt felhasználási becslés volt.
Persze nem tudom, hogy fog működni a programod és mit hányszor ír a flashre, ezért számold ki magad mennyi is az az elég gyakran.
(#) cross51 válasza pajti2 hozzászólására (») Máj 19, 2016 /
 
Esetleg megoldás lehet igaz nem a foglalat igazodik raszterre, de a semminél több: Bővebben: Link.
(#) diablo válasza cross51 hozzászólására (») Máj 19, 2016 /
 
Szerintem erre írta, hogy nem költséghatékony.
Nekem mondjuk jó az smd foglalat is, én nem félek tőle, csak egy tű hegyes pákahegy kell hozzá. Én nem szeretek raszter panelra tervezni, így elég itthonra egy darab olyan foglalat mint amilyet linkeltél.
(#) nedudgi válasza cross51 hozzászólására (») Máj 19, 2016 /
 
Ez sem illeszkedik raszterhez?
A hozzászólás módosítva: Máj 19, 2016
(#) cross51 válasza nedudgi hozzászólására (») Máj 19, 2016 /
 
Nem azért írtam, hanem mert ha jól olvastam pajti2, olyan SD tokra gondolt ami alapból DIP-es kivitelű nem ilyen breakout-os.
(#) pajti2 válasza nedudgi hozzászólására (») Máj 19, 2016 /
 
nedudgi: azért a linkért örök hálám

cross51: köszönöm neked is, de az árversenyt @nedudgi nyerte, plussz az a cucc 1 soros csatlakozós.

Amúgy a cél pontosan az, hogy berakni breakoutba, vagy univerzális nyákba (pld ilyesmibe), és azért jobb, ha csak 1 sorban vannak a csatlakozók. Meg persze imádok smd-t forrasztani is, de sajnos nem vagyok elég ügyes a pici mütyürökkel, és valamelyik ujjamat minden alkalommal megégetem. A furatossal sokkal könnyebb az élet, és sokkal kevésbé fáj
(#) cross51 válasza pajti2 hozzászólására (») Máj 19, 2016 /
 
Jó én az elsőt másoltam ami 1000 Ft alatt volt lusta voltam keresni
(#) eSDi válasza pajti2 hozzászólására (») Máj 19, 2016 /
 

Idézet:
„...nem vagyok elég ügyes a pici mütyürökkel, és valamelyik ujjamat minden alkalommal megégetem.”


Ezért találták fel a csipeszt, és nagyító/mikroszkóp sem árt az SMD forrasztáshoz, ha már nem olyan jó a szeme az embernek.
Következő: »»   795 / 1210
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