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   769 / 1210
(#) Zsora válasza don_peter hozzászólására (») Ápr 1, 2016 /
 
Kb. mennyi időbe telik az AM28F800 teljes törlése?
(#) don_peter válasza Zsora hozzászólására (») Ápr 1, 2016 /
 
AM29F800 kb 2mp alatt megvan.
Nem mértem, de azt hiszem az adatlapjában pontosabban feltüntetik.
Adatlap szerint 19s, de nincs annyi, kb 2mp alatt megvan..
A hozzászólás módosítva: Ápr 1, 2016
(#) don_peter hozzászólása Ápr 1, 2016 /
 
Próbálgatom a PIC-et állítgatni, de nem tudom, hogy a nagyobb BaudRate sebességet hogy tudom beállítani, vagy hol látom, hogy a 18F442-nek mi a plafon?
256000BaudRate-t még sikerült beállítanom.
6000000BaudRate-t be lehet állítani a PIC-nek?
(#) usane válasza don_peter hozzászólására (») Ápr 1, 2016 /
 
Miért ne lehetne? Kérdés az oszi sebessége. Mint írtam korábban 6M is elbír az usart megfelelő kvarccal, csak a zajra kell figyelni. Én még ugyan nem próbáltam kihajtani egy PIC-ből sem, de elméletben lehetséges. Na ehhez képest az 1MBaud már kismisi. De szerintem azt a már nem fogod tudni feldolgozni 8 bittel.
A hozzászólás módosítva: Ápr 1, 2016
(#) Zsora válasza don_peter hozzászólására (») Ápr 1, 2016 /
 
Nézegetted már az adatlap USART részét? A 169. oldaltól kezdődő táblázatokat ajánlom figyelmedbe. 171. oldal:
Max elméleti érték: 2,5MBaud (40MHz mellett)
Max. gyakorlati érték: 500kBaud (szerintem ez túlléphető)
(#) don_peter válasza usane hozzászólására (») Ápr 1, 2016 /
 
40MHz-en kegyek a PIC.
Legnagyobb osztással a 2457600BR jöhet szóba, úgy 1-et kellene beállítani de ez sajna nem megy így.
A leírás szerint +1 lenne amit be kellene írni SPBRG regiszterbe, de a tapasztalat a -1-et mutatja.
Legalább is nekem így működik..
1228800 BR-t beállítva SPBRG -be 1-et betöltve, 65kbyte/s-ot értem el üresjáratban.
USB CDC sem lenne több szóval, akkor ez a megoldás maradhat is..

Zsora: igen azt nézem, de beállítani hogy tudom?
Mert ezzel:
Idézet:
„Baud Rate = FOSC/(16(X+1))”

Már nulla alatti összeg jön ki, és most tesztelve 2457600BR már nem akar menni.
A hozzászólás módosítva: Ápr 1, 2016
(#) pajti2 válasza Zsora hozzászólására (») Ápr 1, 2016 /
 
Abban a pic-ben éppen az a jó, hogy van benne elég sok ram ahhoz, hogy ne kelljen még külső ramot is használni. A külső rammal mindig az a baj, hogy részint kifelé is küldeni kell, részint befelé is olvasni kell.

A megjelölt flash adatlapja szerint szavas szerkezetben 12 usec az írási ideje (byte-osban 7 usec), az elég gyors ahhoz, hogy biztosan az adatátviteli csatorna legyen lassú, amíg el nem éri a 83.3 kbyte / sec sebességet. Javarészt ami sejthető a gyakorlatban, a 64 kbyte/sec-et elérni már elég lesz.

Apropó kérdés mindenkihez.

A full speed usb-t én is néztem pic32-n, ott sem tudom átlépni generic driverrel pc-ről hajtva a 64 kbyte-sec-et, és nem tudom, miért. Kellene tudnia annak 10x annyit is. Mi korlátozza le annyira? 12 mbit / sec sebességből ha csak 640 kbit / sec marad, az gyanús. Annál még a low-speed usb is gyorsabb kellene legyen a maga 1.5 megabit / sec sebességével. A generic driverrel az a 64 kbyte/sec elérhető low speed-en is?
(#) Zsora válasza don_peter hozzászólására (») Ápr 1, 2016 /
 
A táblázatban benne van hogy a megfelelő BaudRate-hez milyen értéket kell beírni az SPBRG regiszterbe. (BRGH=1)
(2,5MBaud-hoz 0 tartozik - 40MHZ mellett.)
(#) don_peter válasza Zsora hozzászólására (») Ápr 1, 2016 /
 
És ez lenne akkor az említett 2457600BR ?
Vagy ide kerek számot gondoljak?
2500000?
Mert hogy ezt meg kellene adnom a PC programnak is..
És bár elkezdi vagy is az elején még jó, de az adat cserélésnél elszáll az egész..
A hozzászólás módosítva: Ápr 1, 2016
(#) Zsora válasza don_peter hozzászólására (») Ápr 1, 2016 /
 
Igen. 2500000.
BRGH=1, azaz HighSpeed módban a képlet:
BaudRate=Fosc/(16*(X+1))
A hozzászólás módosítva: Ápr 1, 2016
(#) don_peter válasza Zsora hozzászólására (») Ápr 1, 2016 /
 
Igen, így van beállítva, de nem eszi meg ezt sajnos..
Egyelőre nem értem miért..
(#) icserny válasza pajti2 hozzászólására (») Ápr 1, 2016 /
 
"ott sem tudom átlépni generic driverrel pc-ről hajtva a 64 kbyte-sec-et, és nem tudom, miért. Kellene tudnia annak 10x annyit is. Mi korlátozza le annyira?"

Egy végpontot használsz küldésre, s azzal többnyire egyetlen 64 bájtos csomagot tudsz kiküldeni keretenként, egy keretidő pedig 1 msec. Ez korlátoz.

A profik (FTDI, Silicon Labs, Prolific) nagyobb bufferterületet, több végpontot és/vagy nagyobb csomagméretet, és természetesen saját meghajtóprogramot használnak (nem Bill bácsi usber.sys meghajtóját).
(#) sonajkniz hozzászólása Ápr 1, 2016 1 /
 
A rovat címe: PIC kezdőknek.
Ehhez képest több oldal óta olyan kérdések vannak feszegetve, amire ott a haladó, topic. A kezdők meg kiszorulnak. Kérdéseikre nem kapnak választ.
Hp41C! Ezeket a kérdéseket miért nem küldöd nyersen át a megfelelő topicba, mint engem két hete?
(#) pajti2 válasza sonajkniz hozzászólására (») Ápr 1, 2016 /
 
Már ne is haragudj, de ahogy zajlik a téma, kezdők is jöttek is közben, és mindenki választ kapott a saját kérdésére is. Senkit sem hagytunk válasz nélkül a jelenlegi téma terjengőssége végett, és senkinek sem tiltottuk meg, hogy kérdezzen. Vagy vannak esetleg bármelyikre utaló nyomok akárhol ?
(#) don_peter válasza sonajkniz hozzászólására (») Ápr 1, 2016 /
 
Mi a kérdésed?
Tedd fel.
A PIC BaudRata beállítása, optimalizálása szerintem pont ide tartozik.
Az, hogy valamivel kapcsolatban beszéljük ki a témát az hozzá tartozik.
Szívesen segítek, de nem látom a kérdésed..
(#) pajti2 válasza icserny hozzászólására (») Ápr 1, 2016 /
 
Az az 1 msec communication frame 19 packet time-ból áll, úgy lesz a 64 byte x 19 packet x 1000 frame végül = 1 216 000 byte (9 728 000 értékes adat bit, a többi a kommunikációs keret a full speed 12 MBit-jéből per sec). Szóval Bill bácsi meghajtója abból a 19 packet time-ból csak 1-et tud használni. Na az úgy gagyi. Hogyhogy nem írt soha senki egy normálisabb generic driver-t legalább a bulk communication-re?
(#) sonajkniz válasza don_peter hozzászólására (») Ápr 2, 2016 /
 
Idézet:
„Mi a kérdésed?
Tedd fel.”

Megtörtént!
Idézet:
„Szívesen segítek, de nem látom a kérdésed..”

Pont ezért írtam, amit írtam. Annyira egy témán, és olyan gyorsan peregtek a kérdések - válaszok, hogy a nem a témához kapcsolódó kérdést észre sem vettétek.
(#) nedudgi válasza sonajkniz hozzászólására (») Ápr 2, 2016 /
 
Láttam a kérdésed, de nem tudok rá választ, főleg azért, mert nem használok MPLab X fejlesztőrendszert.
(#) don_peter válasza sonajkniz hozzászólására (») Ápr 2, 2016 /
 
Ohh igazad, van és olvastam is..
De sajnos nem használok MPLab X-et ezért nem is tudtam segíteni..
Ha valamiben nem tudok segíteni ahhoz nem is szólok hozzá, mivel teljesen felesleges is lenne.
Sajnos előfordul az ilyen, erre készülj fel, ha jön valaki aki ilyen környezettet használ az tuti segíteni fog, én is mindig jó pár oldalt vissza olvasok mindig.

Bár mint mondottam nem használom az MPLab X-et, de esetleg az MCU beállításánál, konfigurációjánál nem lehet beállítani az Eeprom védelmét?
Lehet azzal egyúttal azt is beállítanád, hogy ne törölje az Eeprom tartalmát minden kódbeírásnál.
Ez csak tipp, mert eddig még nem csináltam ilyet, persze az is lehet, hogy nem lehet ezt beállítani.

Esetleg ezt jobban átböngészve: Bővebben: Link
A hozzászólás módosítva: Ápr 2, 2016
(#) _BiG_ válasza sonajkniz hozzászólására (») Ápr 2, 2016 /
 
Run -> Set Configuration Bits és ott a CPD-t ON-ra kell állítani, vagy a kódba beszúrni ezt:
  1. #pragma config CPD = ON         // Data Memory Code Protection (Data memory code protection is enabled)
(#) pajti2 válasza sonajkniz hozzászólására (») Ápr 2, 2016 /
 
Mplab x-et én sem használok, és igazából erős a gyanúm, hogy itt senki más sem. De ha már annyira fontos külön leírni azt is, hogy "nem tudjuk", kotortam neked egy cikket google-el: Bővebben: Link

Dióhéjban be kell pipálni egy beállítást, de az is csak akkor működik, ha nem állítottál be eeprom olvasási védelmet, mert különben a programozó nem tudja előtte kiolvasni. Az illető ott elfogadta megoldásnak, lehet, hogy nála csak arról volt szó, de nálad valami más is előkerül. Szintén nem tudom.
(#) _BiG_ válasza _BiG_ hozzászólására (») Ápr 2, 2016 /
 
Vagy még van egy beállítás: Run -> Set Project Configuration - Customize.... (ablak)
Ott a Conf: [default] -ban van a PICkit 3 sor, arra kattintva a jobb oldalon kijön a beállítási lehetőség, aminek a legfelső sorában lehet eldönteni, hogy a PCkit válasszon memóriát, avagy manuálisan szeretnéd beállítani.
Ott lehet engedélyezni az EEPROM kezelését, illetve a "Preserve EEPROM memory" bekapcsolásával azt, hogy megőrizze a tartalmát. Utóbbi az automatikus beállítás választásánál is bekapcsolható.
(#) sonajkniz hozzászólása Ápr 2, 2016 /
 
A "Preserve EEPROM memory" bejött!
Sértetlenül hagyja az elmentett tartalmat.
Köszönöm mindenkinek!
(#) cross51 válasza Zsora hozzászólására (») Ápr 2, 2016 /
 
Azért nem megérthetetlen Bővebben: Link innen és microchip MLA-ből PIC16-ra egy egsz jó progamot sikerült összehozni és nem mondom, hogy 100%-osan de egész jól megértettem, 2 EP (EP0, EP1) használó USB HID progit már össze tudok raknaki a több EP-t kezelő program az még nem menne.
A hozzászólás módosítva: Ápr 2, 2016
(#) Hp41C válasza pajti2 hozzászólására (») Ápr 2, 2016 /
 
Legyen az USB buszon egy HUB, azon ( vagy a hozzá kötött több HUB -pkon) néhány ilyen vagy más eszköz. Ekkor már az első HUB és a HOST között az összes packet ki lesz használva. Valószínűleg ilyen meggondolásból van az az 1ms alsó korlát a USB-HID eszközöknél. USB-CDC -re és egyébb eszközökre írtak már "vendor specific" drivert, de annak forrása, működése nem hozzáférhető (tisztelet a kivételnek).
(#) icserny válasza pajti2 hozzászólására (») Ápr 2, 2016 /
 
Általános célú bulk kommunikációra ott a winusb, a MLA is tartalmaz mintapéldát hozzá. Csak abból (legalábbis tudtommal) nem lesz virtuális soros port...
(#) _BiG_ válasza sonajkniz hozzászólására (») Ápr 2, 2016 /
 
Szívesen
(#) pajti2 válasza icserny hozzászólására (») Ápr 2, 2016 /
 
Igen, azt használtam. Konkrétan file nevekre a C# programban a "libusb0.sys" drivert használtam fel (a programba a "libusb0.dll" fordult bele). Bulk adatátvitellel nem tudtam átlépni a 64k-t. Több szálas progi, adatáradat jelleggel toltam neki, ami a csövön kifért. Nem volt hajlandó többet lenyelni. Pic oldalon csak vettem / dobtam el a csomagokat, küldtem vissza számláló értéket, hogy eddig mennyit vettem, nem veszett el semmi, idő arányban számolni tudtam az aktuális eredményt.

Soros portra nincs is szükségem. Az EP-ket használni nem olyan nagy ördöngösség.

Edit: Ja igen, 32mx-et használtam fel. Az mz-knél nem tudom, mi van.
A hozzászólás módosítva: Ápr 2, 2016
(#) icserny válasza pajti2 hozzászólására (») Ápr 2, 2016 /
 
A libusb és a winusb az két különböző dolog. Az MLA USB szekciójában a Device - WinUSB - High Bandwidth Demo-t nézd meg!
(#) pajti2 válasza icserny hozzászólására (») Ápr 2, 2016 /
 
Megvan, köszönöm.
Következő: »»   769 / 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