Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   324 / 1318
(#) watt válasza Adam1985 hozzászólására (») Okt 28, 2008 /
 
Azért az a 10µF még kéne oda!
(#) icserny válasza trudnai hozzászólására (») Okt 28, 2008 /
 
Vajon mi gyorsul az USB kapcsolaton kívül? Mert a leírásból kiderül, hogy High Speed USB-re váltottak. (Az egy kicsit égő, hogy a saját USB vezőrlőik mellett ehhez FPGA kell, de sajna ez van...)
A PIC programozás gyorsaságának határt szab az adott PIC adatlapja. A debug-olásnak pedig a PIC és az ICD közötti soros kommunikácó sebessége.

Meglepő, hogy a belinkelt weboldalon szó sincs a JTAG debugolásról. Azt majd csak az ICD4 fogja tudni?
(#) potyo válasza icserny hozzászólására (») Okt 28, 2008 /
 
Valószínűleg debuggolásnál lesz majd érezhető a különbség, főként a 24F, 24H, dsPIC és PIC32 családoknál. Az ICD2-ben egy 20MHz-en járó 16F877 van. Ez a kontroller elméletben 5 MIPS-et tud, gyakorlatilag ez kevesebb. Mivel szoftveresen állítja elő az órajelet a PGC lábra, meg közben vagy kirakja, vagy beolvassa a soron következő bit értékét, így igen optimista becsléssel is csak 1MHz jelet tud produkálni a PGC lábon, ami 1Mbps sebességet jelent(ene elméletben, gyakorlatban jóval kevesebbet). Ha viszont a PGC láb eltűr akár 10MHz-es sebességet is, akkor egy FPGA azt meg tudja kergetni 10MHz-en gond nélkül. A Hi-Speed USB kapcsolat meg szintén győzi a PC felé átvinni az adatokat, bár ha a fentiek szerint végiggondoljuk, az ICD2-nél sem az USB kapcsolat a szűk keresztmetszet.

Nekik tudtommal nincsen Hi-Speed USB-re képes kontrollerjük, így aztán mástól veszik, ami kell. Amíg nem volt Full Speed-es USB kontrollerjük, addig is a Cypress-től vették az ICD2-höz a kontrollert. Aztán lett nekik is, Cypress meg abbahagyta a gyártását, akkor áttértek a sajátjukra.
(#) trudnai válasza icserny hozzászólására (») Okt 28, 2008 /
 
Idézet:
„Vajon mi gyorsul az USB kapcsolaton kívül?”


Gondolom ugyanugy ahogy a legujabb PICkit2 ez is fogja tudni hasnzalni a Programming Executive (PE) -et, amivel a 24H es dsp (no meg a 32 bitesek) joval gyorsabban tudnak kommunikalni a programozo / debuggerrel.

Idézet:
„Az egy kicsit égő, hogy a saját USB vezőrlőik mellett ehhez FPGA kell, de sajna ez van...”


Na igen, Hi-Speed-et nem kepesek a PIC kontrollerek (egyenlore). De ugy tudom egy mikrokontroller sem, javitsatok ki ha tevedek. Ugy tudom az osszes eszkoz ami tud 480Mpbs-et az FPGA-s alapu.

Amugy ha bele gondolunk, hogy par kByte-ot atvinni mar azert idobe telik meg 12Mbps-en is, es hat ugye az USB protokollbol adodoan az a 12Mbps sem annyi a valosagban, hanem annal joval kevesebb.
(#) PLaci válasza watt hozzászólására (») Okt 28, 2008 /
 
Szia!
Nagyon szépen köszi! Ha nég mindig van türelmed a bajommal foglalkozni, légyszi küld el azt a mintafilet. Legalább az eldől, hogy a programom a rossz, vagy az MPLab simulátorát nem tudom használni . Egyébként az én forrásom, amivel küzdök 18F2221-re készült.
(#) potyo válasza trudnai hozzászólására (») Okt 28, 2008 /
 
Vannak Hi-Speed képes kontrollerek Cypressnél, Texasnál, egyebeknél. De az usb eleve sokmindent hardverből intéz, a full speed-es kontroller is gyakorlatilag egy sima kontroller+usb modul (ezt szokták SIE néven emlegetni a pic-ek adatlapjában) egybeépítve. Ugyanígy építhető Hi-Speed modul is a tokba. Talán a PIC32-nél lesz is előbb-utóbb ilyen, mivel az már teljesítményben túltesz a Full-Speed képességein, így lenne értelme a Hi-Speed modulnak.
(#) trudnai válasza potyo hozzászólására (») Okt 28, 2008 /
 
Igen, ez nyilvanvalo, de szerintem a korlat a memoria eleresben lehet. A 4550-esben az a 12Mbps nem jelenthet nagy gondot (ugye 12MHz olvasasi sebesseg, azaz 83ns eleres) mig egy 480Mpbs-hez kellene 2ns eleresu RAM ha jol szamolok.
(#) icserny válasza trudnai hozzászólására (») Okt 28, 2008 /
 
Idézet:
„480Mpbs-hez kellene 2ns eleresu RAM ha jol szamolok.”

Nem jól számolsz, mert nyilvánvalóan nem kell bitenként letárolni. Bőven elég bájtonként, vagy szavanként, s akkor 8-szor, vagy még többször ennyi idő áll rendelkezésre. Sőt, váltott bankos (átlapoló ciklusú) memóriakezeléssel is lehet szélhámoskodni...
(#) watt válasza PLaci hozzászólására (») Okt 28, 2008 /
 
Csatoltam.
(#) szigetivan hozzászólása Okt 28, 2008 /
 
Sziasztok!

Hogy kell olyan interruptot készíteni PIC16F690-hez mely a kontrollert sleep állapotba juttatja és olyan 10 perc múlva felébreszti??
(#) potyo válasza icserny hozzászólására (») Okt 28, 2008 /
 
Akkor is egy bit tárolását átmenetileg meg kell oldani 2ns ideig, majd arrébbléptetni, és ismét tárolni 2ns-ig, és így tovább, amíg bejön egy bájt (az usb bájtokkal dolgozik). Ha a léptetőregiszter kimenetén van egy puffer, akkor onnan a memóriába írásra már van 16ns idő, tehát oda már valóban elég az alacsonyabb sebességű memória is.
(#) rhino válasza watt hozzászólására (») Okt 28, 2008 /
 
nyelem, vazze, tennap óta
(#) watt válasza rhino hozzászólására (») Okt 28, 2008 /
 
Na ez már beszéd! Csak pozitívan! Gond egy szál se, nem vesszük le a fejed, és itt mindenki tévedhet, és az csak plusz erény, ha belátja. Ez nálam piros pontot ér!
(#) potyo válasza szigetivan hozzászólására (») Okt 28, 2008 /
 
Pl. lehet úgy, hogy a Timer1 külső oszcillátorát engedélyezed, teszel rá egy 32,768kHz-es kvarcot 4-es prescalerrel, és a kontrollert meg SLEEP-be küldöd. Amikor a Timer túlcsordult, akkor felébreszti a kontrollert, ekkor egy változó tartalmát megnöveled egyel, és ismét SLEEP. Ezzel 8 másodpercenként ébred fel néhány us időre. Amikor a változód elért 75-re, akkor telt le a 10 perc, nullázod a változót, és megcsinálod, amit kell. Ezután kezdődik előlről.
(#) icserny válasza potyo hozzászólására (») Okt 28, 2008 /
 
Azt nem vitattam, hogy a SIE shift regisztere és mindenféle egyéb regisztere, dekódere nagyon kell, hogy csipkedje magát.

Én még nem szedtem szét az USB diszkemet, de volt már, aki szétkapta a sajátját. Némelyikben ilyen, vagy ehhez hasonló USB vezérlő ketyeg 400 Mbiten.

Kép: Hivatkozás
(#) szilva válasza potyo hozzászólására (») Okt 28, 2008 /
 
Ráadásul, ha jól emlékszem, akkor a bitek körül is van egy kis csavarás, mert ha túl sok egyforma jönne egymás után, akkor kerül egy extra jelváltás a fizikai rétegen a kommunikációba. Szóval nem egy egyszerű shift regiszter, hanem kell abba egy kis okosság is, szerintem ezért is hívják Serial Interface Engine-nek az ilyen eszközöket.

Ha jól láttam, amikor nézegettem ezeket, akkor talán léteznek is külső, önálló SIE chipek, amik byteok vagy keretek vételére alkalmasak, és így az MCU oldalán sokkal kisebb erőforrásokra, sebességekre van szükség, mintha a bitdekódolást is azzal akarod csinálni. Azt nem tudom, hogy high speed SIE önálló chipben létezik-e.
(#) potyo válasza icserny hozzászólására (») Okt 28, 2008 /
 
Nemszeretem ezeket a nevesincs gyártókat, mert sosem lehet beszerezni a termékeiket. Múltkor is szétkaptam egy USB-IDE átalakítót, Genesis Logic nevű gyártó chipje van rajta. Ezelőtt sosem hallottam róla, mint ahogy erről az Oxford Semiconductorról sem. Nekem gyanús, hogy ezek mögött ilyen TI, Cypress, NXP és hasonlók állnak. Múltkor is szerettem volna Hi-Speed USB hub chipet venni, természetesen sehol nem találni (normális áron) beszerezhető chipet, vagy nem embernek szánt tokban van (BGA meg hasonlók).
(#) potyo válasza szilva hozzászólására (») Okt 28, 2008 /
 
Persze, nem csak egy léptetőregiszter, de azzal kezdődik a dolog, annak kell a leggyorsabbnak lennie.

Microchipnek is van ilyen külső FS USB chipje, SPI-n köthető kontrollerhez. De szerintem több erőforrást igényel a kezelése, és biztosan lassúbb, mint a belső SIE. Persze ha nincs belső (mint mondjuk Ethernet vagy CAN buszos PIC kontrollereknél), akkor jól jöhet a külső is. Amit lehet, a chip elintéz hardverben, de ezt ugyanúgy megtenné akkor is, ha a kontrollerrel egy tokban van. A HS jó kérdés, még nem láttam olyant.
(#) frecsko válasza watt hozzászólására (») Okt 28, 2008 /
 
Lenne egy kérdésem.
Én az ICD 2-t laptopról működtetem. Befolyásolja e az égetőfeszültséget, hogy nem a "normális" usb-ről működtetem? Olvastam, hogy az ilyen emulált vagy milyen usb portok elég kevés teljesítményt adnak le, és ezért nem bírja nekem meghajtani az ICD-m.
Kicsit zagyván sikerült, bocsi.
(#) watt válasza frecsko hozzászólására (») Okt 28, 2008 /
 
Mérd meg az 5V-ot. Ha az megvan ,akkor a Vpp áramkörének(DC/DC átalakító) elő kell tudnia állítani a feszt. Ha nincs, akkor gáz van.
(#) szilva válasza frecsko hozzászólására (») Okt 28, 2008 /
 
Szerintem az USB az USB, mindegy, hogy laptop vagy desktop gépről van szó. Az USB-n 5V-nak kellene lennie, ezt mérd meg egy multiméterrel!

Az is lehet, hogy nagy az áramfelvétele az ICD2-nek, és emiatt leesik a tápfesz, esetleg az USB kábel ellenállása miatt (nálam volt ilyen). Mérd meg az USB feszültséget üresen és ICD2-vel terhelve is, valamint mérd meg ohmmérővel az USB kábeled ereinek ellenállását!
(#) potyo válasza frecsko hozzászólására (») Okt 28, 2008 /
 
Olyan nincs, hogy emulált és normális usb. Esetleg lehet hub útközben, de én is hub-ról használom az ICD2-t, és megy így is.

Befolyásolja, ha a porton a feszültség jelentősen alacsonyabb, mint 5V. A Vpp feszültség beállításához az ICD2 tápját használja referenciaként, és így pl. 4,5V-os tápnál a 11,7V-ról azt hiszi, hogy az 13V. Ha ez a helyzet, akkor kösd ki az ICD2 táplálását az USB portról, és adj neki valahonnan stabil 5V-ot, például egy 7805-ös stabkockával.
(#) trudnai válasza frecsko hozzászólására (») Okt 28, 2008 /
 
Feszultsegben is lehet elteres, 4.5V - 5V -ig minden elofordulhat, meg leadott aramban is, foleg a mobil keszulekek hajlamosak arra, hogy nem adjak le a kivant aramot. Mericskeles az elektromosok modszere, meg kell merni mindent - de ezt nem irtuk mar? Ha megvannak a feszultsegek (iras kozben, nem elotte es nem utana!), szoval ha megvannak akkor nem az a gond, persze ettol meg lehet zaj a vonalon, de ha ott vannak a szuresek akkor csak nem lesz gond azzal sem. Hibakeresesben amugy a szisztematikussag a lenyeg, ki kell zarni a lehetosegeket, az egyszerubtol megy az ember a bonyolultabb hibak fele, hatha az egyszerubb eset all fent - pl szakadas, hideg forrasztas, nem megfelelo tap stb...
(#) Mate78 hozzászólása Okt 28, 2008 /
 
Sziasztok,

megint én vagyok.
Ha van egy táblázatom pl a 560h programmemória címen,akkor melyik adat hova kerül?

A köv.kóddal tárolom: db 0x20,0x30

Tehát melyik érték lesz az 560h címen,és melyik érték lesz az 561h címen?Kiolvasáskor tudnom kell.

köszi

üdv
(#) potyo válasza Mate78 hozzászólására (») Okt 28, 2008 /
 
Szimulátorral próbáld ki, én is úgy csinálnám.
(#) trudnai válasza Mate78 hozzászólására (») Okt 28, 2008 /
 
Most ha olyanokat mondok, hogy 'little endian', meg 'alignment' meg 'packed data' akkor ezeknek utana olvasol? Mert lehet az 561h cimen neked egy hatalmas nulla lesz... MPLAB help, MPASM Assembly szekcio, ott keress ra ezekre a szavakra, peldak is vannak boven!
(#) icserny hozzászólása Okt 28, 2008 /
 
Ledvillogtatás FlashForth-ban, HPC Explorer kártyán (mert mivel is kezdje az az emberfia a programozást, ha nem a led-ek villogtatásával? )

A D portra vannak kötve a ledek, ezért TRISD és PORTD matatás kell a villogtatáshoz. A regiszterek szimbolikus címzéséhez ennyivel beérhetjük:

  1. $ff83 constant portd
  2. $ff95 constant trisd
  3. $ff8c constant latd


A regiszterbe írás a "!" utasítással, olvasása a "@" utasítással történik. Kézivezérléssel így meg a villantás:

  1. 0 trisd !
  2. 0 portd !  
  3. $ff portd !


Persze, bitenként is matathatjuk a portot, az mclr és az mset (ez a maszkolt bit törlés és bit beállítás).

Írjunk egy rövid programot... akarom mondani definiáljunk egy blink parancsot, ami a harmadik ledet villogtatja kb. 400 ms periódusidővel, végtelen ciklusban, amíg egy billentyűt le nem ütünk. Utána próbáljuk is ki.

  1. decimal
  2. : blink 4 trisd mclr
  3.         begin
  4.            200 ms
  5.            4 portd mset
  6.            200 ms
  7.            4 portd mclr
  8.         key? until
  9.         key drop ;
  10.  
  11. blink


Természetesen a késleltetést változtathatónak is hagyhatjuk. Ekkor a villogtatás előtt be kell írni, hogy hány ms legyen a Ton és Toff idő. Háromféle késleltetéssel is kipróbálom.

  1. : vblink ( n -- )
  2.         4 trisd mclr
  3.         begin
  4.            dup ms
  5.            4 portd mset
  6.            dup ms
  7.            4 portd mclr
  8.         key? until
  9.         key 2drop ;
  10.  
  11. 100 vblink
  12. 250 vblink
  13. 500 vblink
(#) icserny válasza frecsko hozzászólására (») Okt 28, 2008 /
 
Idézet:
„Én az ICD 2-t laptopról működtetem.”

Én meg a PICkit2-t. Múltkor mértem, s csak 4,74 V jött ki belőle 5,0 V helyett. Ehhez képest elég jól szuperál...
(#) icserny válasza szilva hozzászólására (») Okt 28, 2008 /
 
Idézet:
„Azt nem tudom, hogy high speed SIE önálló chipben létezik-e.”

Nehéz meghúzni a határvonalat, de jószerivel ez az Oxford chip is csak arról regél, hogy DMA-n keresztül 16 bites szélességben nyomja az adatot a processzorba. Tehát csak USB vezérlőnektekintik. Ehhez képest sok mindent önállóan elvégez.

Potyo-nak: Természetesen az Oxford chip is kapható BGA tokozásban...
(#) dolfin hozzászólása Okt 29, 2008 /
 
Üdv

Hogyan lehet fordulatszám mérő progit írni PIC-be?
A progit meg tudom írni, csak az elméletben nem tudom, hogy mit és hogyan.
Úgy kellene hogy ha közben jön egy IOC akkor is folytassa a számolást, illetve lehet olyat hogy közben a lábakon jel is változik? A fordulatot egy optokapu érzékelné.
Tehát az elmélete kellene hogy min alapszik a mérés.

Köszi
Következő: »»   324 / 1318
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