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   267 / 1210
(#) pajti2 válasza Hp41C hozzászólására (») Jún 12, 2012 /
 
Opszi, a pipeline-ok átmeneti tárolóinak memóriacelláira nem gondoltam Akkor ez bukta.

(Szerk.: tudnám hogy van az, hogy az adattároló cellák némelyik típuson 64 msec-et is kibírnak, de a belső munka bufferekre 100 nanosec-et sem tartanak ki.)
(#) Hp41C válasza pajti2 hozzászólására (») Jún 12, 2012 /
 
A megfejtés a helyigény: A ram cella csak 1 kisméretű tranzisztor, a buffer általában több és nagyobb tranzisztor (a sebesség igény miatt nagyobb átamokkal dolgozik).
Keresni kell egy régebbi típust:
Esetleg Fast-Page-Mode vagy EDO DRam -ok. Ezekből voltak 4 - 16M byte -os modulok is (computer bontó). Ekkor a tápáram lesz nagy.
Video DRAM?

Kísérletnek: HY5DU281622FTP (HYN) RoHS 128Mb DDR SDRAM 8Mx16 MEM.TSOP-II 66 leszállítva 151.41 Ft + Áfa nagyker áron a Lomexből...
(#) pajti2 válasza Hp41C hozzászólására (») Jún 12, 2012 /
 
Ezekkel a hynix ramokkal ugyan azt a problémát látom: meg van szabva, mekkora lehet a sysclock, és változás is csak autorefresh üzemben engedélyezett az adatlap szerint. Alsó frekire 100 Mhz. Másik gond, hogy ez 2.5v-os elektronika. Ezen a feszültségen már a pic32 is necces.

Edo dram-okból nem vagyok képben, de majd utánuk lesek.

Egykori nagyon régi "alap" dram-ok még nem csak csúnyán spártaiaik voltak, de megabit fölött nem is nagyon találni tokot, ami megint csak nem segítség. Azokat már kizártam.

A video ram-ok ugyanúgy ddr-ek jelen probléma szempontjából (gddr-ek). Növelt pipeline, csökkentett várakozási idő, de alapvetően a minimum sebesség tekintetében semmi különbség.
(#) icserny válasza pajti2 hozzászólására (») Jún 12, 2012 /
 
Idézet:
„És persze vannak a ramtron framok is, de amíg csak lehetőségeket kell tesztelni, nem szivesen adok ki erre 100k+ hufot”
Fejlesztéshez kérhetsz mintát. Például az FM25V20 8 lábú (SPI) és 2 Mbit kapacitású.

A RAMTRON framoknál azonban még ha nagy is, de nem végtelen, hanem korlátos a felülírások száma: 10^14
Ha olyan az alkalmazás, akkor jó. Ha nem, akkor nem jó...
(#) pajti2 válasza icserny hozzászólására (») Jún 12, 2012 /
 
Jellemzően hány darabot jelent / jelenthet egy ilyen minta kérés?
(#) pjg válasza pajti2 hozzászólására (») Jún 12, 2012 /
 
Általában típusonként 2db.
(#) szabo.gth hozzászólása Jún 13, 2012 /
 
Sziasztok!
Az előző hozzászólások olvasgatása közben szöget ütött a fejembe egy kérdés. Valaki említette, hogy 20I/P-t nem tud programozni, csak I/P-t. Ezek igazából mit jelentenek?
Az I, vagy E tapasztalatom szerint azt, hogy milyen hőmérsékleten működőképes, a P pedig azt, hogy PDIP tokozás. (Javítsatok ki, ha tévedek.) De az a 20 mit jelöl? Én ilyet még nem is láttam, csak most itt a fórumon.
Köszi
(#) qvasz2 válasza szabo.gth hozzászólására (») Jún 13, 2012 /
 
20 MHz
(#) Gyimate hozzászólása Jún 13, 2012 /
 
Sziasztok!

Pár éve vettem egy PIC16F84A-s PIC-et, és pár hete pedig egy PICkit2 programozót. Az lenne a kérdésem, hogy az MPLAB-ban miért nem tudom kiválasztani a PICKIT-et programozóként, azt állítja, hogy nem kezeli ezt a PIC-et, de utánaolvastam és csak a 16F84-est nem kezeli. Szerintetek mit rontottam el? Szétnéztem a fórumon, de nem találtam választ a problémámra, még a google-t is megkérdeztem, de semmi. A válaszokat előre is köszönöm!

Üdv gyimate

MPLAB.jpg
    
(#) edison14 válasza Gyimate hozzászólására (») Jún 13, 2012 /
 
Hali. A PICkit2 szoftvere viszont kezeli onnét kell programoznod.
(#) Gyimate válasza edison14 hozzászólására (») Jún 13, 2012 /
 
Kösz, akkor maradok a hosszabb megoldásnál, viszont lenne még egy kérdésem: hogy tudnám arra rávenni az MPLAB-ot hogy legalább lefordítsa a programot, mert rögtön az include fájlban hibát talál, meg még a fuses-ban is. Minden más programot le tudtam fordítani. csak ezt nem. Mellesleg nem tudom, hogy számít-e, de CCS C-ben írom a programokat.
(#) Hp41C válasza Gyimate hozzászólására (») Jún 13, 2012 /
 
Szia!

Számít... A CCS -hez le kell tölteni a MpLab PlugInt -t, telepíteni, beállítani a fordító konyvtárait, CCS C nyelvi beállítással létrehozni a project -et. Aztán menni fog...
(#) Gyimate válasza Hp41C hozzászólására (») Jún 13, 2012 /
 
Köszönöm a segítséget, de ezt már rég megcsináltam és működik is, egyedül a 16f84A.h-val vannak gondjai és nem akarja lefordítani a programot. Ezt a hibaüzenetet kapom valahányszor megpróbálkozom a fordítással : "Error 164 "C:\Program Files (x86)\PICC\devices\16F84A.h" Line 2(9,18): Selected part does not have ICD debug capability".
(#) edison14 válasza Gyimate hozzászólására (») Jún 13, 2012 /
 
Fent a DEBUGGER fülön állítsd be a NONE-t. Elméletileg azt írja hogy az ICD nem támogatja a debugolást. Vagy lehet hogy fent a menüsorban ahol lehet állítani a RELEASE és DEBUG üzemmódot nem RELEASE van beállítva
(#) Hp41C válasza Gyimate hozzászólására (») Jún 13, 2012 /
 
Váltsd át a Debug -ot Release -re. A 16F84A -ban nincs ICD debug lehetőség.
(#) Gyimate válasza Hp41C hozzászólására (») Jún 13, 2012 /
 
Kösz, megoldódott a probléma!
(#) Peet19 hozzászólása Jún 13, 2012 /
 
Üdv!

Ki kellene számolnom egy hullámhosszt amihez levezettem egy számítási módszert de szerintem nem jó. Mi ebben a hiba vagy hogy kell kiszámítani?

Mekkora a hullámhossza 28,5 MHz frekvenciájú rezgésnek?

Először is kiszámítom a periódushosszt. Átváltom a MHz -t Hz -re.
28.5 MHz = 28500 kHz = 285000 Hz

A Hertz -et elosztom 1000 -el és az eredményt megnézem hogy hányszor van meg 1 -ben.
Az eredmény a periódushossz ms -ban.
Akkor 285000 / 1000 = 285 ez 0.003 szor van meg az 1 -ben, vagyis 0.003ms 1 periódus.
Így a hullámhossz a periódus fele vagyis 0.0015?
(#) mps válasza Peet19 hozzászólására (») Jún 13, 2012 /
 
Szia!
A hullámhossz a terjedési sebesség osztva a frekvenciával.
(#) kissi válasza Peet19 hozzászólására (») Jún 13, 2012 /
 
Idézet:
„28.5 MHz = 28500 kHz = 285000 Hz”


Azért ezt leellenőrizném :eek2: !

Idézet:
„Az eredmény a periódushossz ms -ban.”


Ezt a periódusidőnek nevezik.

Idézet:
„vagyis 0.003ms 1 periódus”


Ezalatt az idő alatt ( ha jól számolod ki ! ) megtett út a hullámhossz, azaz a jel terjedési sebességét ( pl. közel fénysebesség!) meg kell szoroznod a periódusidővel!

Ha a mértékegységeket is figyelembe veszed a számoláskor ( SI mértékegység egyik nagy előnye! ), akkor nem rontod el a képletet!



Steve
(#) Peet19 válasza mps hozzászólására (») Jún 13, 2012 /
 
Azt értem, de ahhoz hogy el tudjam osztani ki kell számolni a periódushosszt vagy időt ms -ban.
Ezt viszont nem tudom hogy számoljam ki. Azt értem hogy 1 -et el kell osztani a frekvenciával, de hogy számoljam ki hogy 1 / 28 500 000 ?
Gondolom az eredmény lenne a periódus idő.


Kissi: köszi, igazad van egy kicsit elnéztem. A Hz a 10 a 6. -on MHz esetén. De akkor hogy kell kiszámolni a példa esetén a hullámhosszt?
(#) mps válasza Peet19 hozzászólására (») Jún 13, 2012 /
 
Nem kell periódus idő:
sebesség/freki
MHz esetén:
300:28,5=10,5m
(#) Peet19 válasza mps hozzászólására (») Jún 13, 2012 /
 
Ja, így már értem, köszi. Mármint az eredmény valóban 10.5 a példa szerint, csak nem tudtam hogy jön ki.
Miért 300 -al kell osztani?
(#) mps válasza Peet19 hozzászólására (») Jún 13, 2012 /
 
Nem 300-al, hanem 300 at.
Mert így írhatod MHz-ban, egyszerűbb számolni
Ugye, hogy métert kapj, m/s-ben kell a sebesség, ez a fénysebesség lenne 299 792Km/s, az ~ 300 000 000 m/s, a freki pedig Hz-ben kell, az 28 500 000. Ha osztod mindkettőt 1 000 000-val, akkor jön ki a 300/28,5.
(#) Pepebá hozzászólása Jún 14, 2012 /
 
Hali!
Próbálkozom a PICCOLO projekbe átmenteni a PICula projekböl az USART kezelést és a következő problémám adódott, amihez segítséget kérek:
Az USARTDeviceTasks(); és a InitializSystem(BPS_19200); hivására a fordító hibát ad: 'call of function without prototype, symbol 'BPS_19200' has not been defined'
A Picula_usart.c be van csatolva.
Üdv.
(#) icserny válasza Pepebá hozzászólására (») Jún 14, 2012 / 1
 
Idézet:
„Próbálkozom a PICCOLO projekbe átmenteni a PICula projekböl az USART kezelést és a következő problémám adódott”
Az ilyen típusú kérdéseknek azért nincs értelme, mert fogalmunk sincs, hogy mit műveltél "próbálkozás" címén.
Idézet:
„USARTDeviceTasks(); és a InitializSystem(BPS_19200); hivására a fordító hibát ad”
Ennek oka az, amit a hibajelzés mond: a függvények, illetve a 'BPS_19200' makró nincsenek deklarálva. A PICula projektben ez úgy működik, hogy a főprogram becsatolja a "picula_all.h" állományt, az becsatol továbbiakat (picula_config.h), s ha ezekben (vagy a projekt fordítási opciói között) definiálva van az USE_USART makró, akkor becsatolásra kerül a "picula_usart.h" fejléc állomány is. Ez maradt ki nálad, ezért reklamál a fordító.
Idézet:
„A Picula_usart.c be van csatolva.”
1. Ez változtatás nélkül nem csatolható be (névütközés stb). Nevezd át, mert már nem a PICula projektben használod! Például pepeba_usart.c hogy ne legyen belőle félreértés!

2. Nemcsak erre az esetre, hanem általánosságban igaz: Az önmagában kevés, hogy egy C forrásállámányt hozzácsapsz egy C18 projekthez! A forrásállomány egy önálló fordítási egység, ami lehet, hogy lefordul, de a függvényei ettől még nem elérhetők egy másik fordítási egységben (például a főprogramban). Ezért minden olyan fordítási egységben (itt most csak a főprogramban), ahol meg akarod hívni ezeket a függvényeket (pl. USARTDeviceTasks()) külön deklarálni kell azokat. A forrásfájlokhoz általában tartozni szokott egy fejléc állomány is, amit be kell csatolni minden olyan forrásállományba (most csak a főprogramba), amelyikből hivatkozol ezekre a függvényekre. A BPS_19200-hoz hasonló makrókat pedig eleve a fejléc állomány definiálja. Magyarán: ezek miatt be kell csatolni a "picula_usart.h" fejléc állományt. (De ezt is nevezd át, ha nem a PICula projektben használod! Célszerű, ha az összetartozó forrás és fejléc állomány neve megegyezik (csak a kiterjesztésben különböznek)!

Megoldási javaslat: (itt most próbálom kitalálni, hogy mit csináltál próbálkozás címen, és aszerint adom a javslataimat)
1. Bővitsd ki a piccolo_config.h állományt, hogy lehessen benne USE_USART makrót definiálni (másold át a megfelelő részt a picula_config.h-ból)!

2. A piccolo_all.h állományban bővítsd a feltételes direkttívák sorát az alábbiakkal:
  1. #if defined(USE_USART)
  2. #include "picula_usart.h"   //<--- Ezt nevezd át! Pl. pepeba_usart.h
  3.     #warning * USE__USART      : DEFINIÁLT                 *
  4. #else
  5.     #warning * USE__USART      : NEM DEFINIÁLT             *
  6. #endif


3. Másold be a PICCOLO/include könyvtárba a picula_usart.h állományt, és nevezd át! (pl. pepeba_usart.h)

4. Feltehetőleg már ott van a PICCOLO/common mappában a picula_usart.h átszerkesztett változata, azt is nevezd át! Pl. pepeba_usart.c)

5. Vagy a piccolo_config.h vagy a projekt opciók között definiált az USE_USART makrót!
(#) Peet19 válasza mps hozzászólására (») Jún 14, 2012 /
 
Húú, de király. Na, így már értem. Köszi, jegyzeteltem
Még annyit, hogy ha ez a hullámhossz akkor a periódusidő ennek a 2x -ese?
Mert egy periódusban 2 ugyanolyan hullám van, 1 pozitív és egy negatív?
(#) mps válasza Peet19 hozzászólására (») Jún 14, 2012 /
 
Nos, mivel az egyik pozitív, a másik negatív már nem egyformák. A hullámhossz definíciója: a hullám két maximális értéke közötti távolság, a periódus idő pedig (mint a nevében van) az ugyanezek között eltelt idő. A kettő bár hasonló de nem ugyan az. Ugyebár a vonat indulásáig sem 5m van hátra.
Találtam neked egy ilyet, le van rajzolva.
(#) Pepebá válasza icserny hozzászólására (») Jún 14, 2012 /
 
Hali!
Köszönöm a gyors és hasznos választ.
Azt már megtanultam hogy büntetlenül nem lehet csak úgy hozzácsapni projekthez az állományokat.
Miután igen késő (egy fárasztó nap után) tettem fel a kérdésem, nem volt alapos.
Így pontos:a picula_usart.c átnevezve, az azonos függvényekkel egyetemben, csatolva van a PICCOLO projekthez.
Az USE_USART direktívával is bővítve van a projekt.
Valamit mégis elnéztem. Alaposan átrágom magam ismét a módosításokon.
Gondolom az nem lehet gond hogy au USE_USB is engedélyezve van. Szükségem van rá, mert a cél az hogy az RX-n beolvasott infó, feldolgozva USB kapcsolaton keresztül a PC-re kerüljön.
A baudrate illetve az SPBRG azonos a két PIC-nél? valahol láttam hogy a PIC18f4550-nél, XTAL=20MHZ esetén 9600-nál az SPBRG=129 és nem azonos a PICula projeckben lévővel.
(#) icserny válasza Pepebá hozzászólására (») Jún 14, 2012 / 1
 
Idézet:
„baudrate illetve az SPBRG azonos a két PIC-nél?”
Azonos üzemmódba és frekvencián: igen.

Fcy=20 MHz, BRGH=1, BRG16=1 és 19200 bps seten 259.

Idézet:
„Valahol láttam hogy a PIC18f4550-nél, XTAL=20MHZ esetén 9600-nál az SPBRG=129”
Az egy másik üzemmód: BRGH = 1, BRG16 = 0
(#) Peet19 válasza mps hozzászólására (») Jún 14, 2012 /
 
Értem már, köszi :worship:
Következő: »»   267 / 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