[ deniah @ 06.09.2008. 20:54 ] @
Napravio sa USB eksperimentalno kolo iz knjige Voje Milanovica ali ne mogu da ostvarim komunikaciju sa PC-jem. U stvari na sporijem racunaru i sa Win2000 sve radi ali na XP-u ne. Evo koda:


Code:
'PicBasic program za podrsku eksperimentalnom kolu
'sa mikrokontrolermo PIC18F2550

DEFINE OSC 8          

BROJ    var     byte      'Pomocna promenljiva  

USBBufferSizeMax   con 8  'Maksimalna velicina bafera
USBBufferSizeTX    con 8  'Ulaz 
USBBufferSizeRX    con 8  'Izlaz

' USB baferi
USBBuffer        Var Byte[USBBufferSizeMax] 
USBBufferCount   Var Byte 

   TRISB = $00    'Port B je izlazni
   TRISA = $FF    'Port A je ulazni
   ADCON1 = 15    'Svi pinovi su digitalni
   Pause 1000

usbinit 'inicijalizacija USB-a
ProgramStart: 
   gosub DoUSBIn
   gosub DoUSBOut
   goto ProgramStart  

'Podprogram za citanje podataka sa PC-a
DoUSBIn:
   USBBufferCount = USBBufferSizeRX              'Velicina RX  bafera
   USBService                                    'Odrzi konekciju
   USBIn 1, USBBuffer, USBBufferCount, DoUSBIn   'Procitja podatke
 
   If USBBuffer[0] = 250 Then
   Portb = USBBuffer[1]
   Endif
   
   Return

'Podprogram za upis podatana na PC-e
DoUSBOut:
   USBBufferCount = USBBufferSizeTX              'Velicina TX bafera
   USBService                                    'Odrzi konekciju
   USBBuffer[0]=251
   
   Broj = 0

   If porta.0 = 1 Then
   Broj=BROJ + 1
   Endif

   If porta.1 = 1 Then
   Broj=BROJ + 2
   Endif

   If porta.2 = 1 Then
   Broj=BROJ + 4
   Endif

   USBBuffer[1]=Broj
   USBOut 1, USBBuffer, USBBufferCount, DoUSBOut 'Posalji podatke
   Return


Mislim da je greska u konfiguraciji osiguraca. Moze li mi neko pomoci?


Pozdrav

[Ovu poruku je menjao deniah dana 07.09.2008. u 00:02 GMT+1]
[ barum @ 07.09.2008. 00:04 ] @
Ako mikrokontroler radi na Win2000 i nisi menjao osigurače u međuvremenu onda sigurno nisu osigurači.
Šta ti prijavljije Windows kada se konektuje uređaj?
Kada odeš u Device Manager da li stoji žuti uzvičnik na uređaju?
Druga mogućnost je da je na sporijem računaru USB1.1 hub a na drugom USB2.0 hub. Trebaće ti kvalitetniji kabli jer su USB2.0 specifikacije nešto strožije.
Treća mogućnost koje trenutno mogu da se setim je da basic ne uspeva da odgovori dovoljno brzo pa hub misli da je uređaj pokvaren.

Koji drajver koristi taj uređaj?
Možeš da ga ubodeš u stariji komp i da tamo odeš u Device Manager da pribeležiš podatke o drajverima koji tamo rade i kako se zovu pa da ih potražiš ima li sličnih u XP-u.



Pozdrav
[ Seme @ 07.09.2008. 21:03 ] @
Koliko vidim kod si prekucao iz knjige. Taj kod provereno radi pod Windows XP - om. Sto se tice USB1.1 i USB2.0 to sigurno nije problem zato sto PIC18f2550 koristi HID drajver koji radi pod daleko manjim brzinama i za usb1.1. Maksimalna brzina za hid drajver je 64B/s. Proveri konfiguracionu rec mikrokontrolera ja sam prvi put sa tim imao problem. Koji programator koristis? Posalji mi konfiguracionu rec pa cu ti reci gde gresis. Pozdrav
[ deniah @ 07.09.2008. 23:58 ] @
Evo kako su konfigurisani osiguraci:

Oscilator - HS oscilator, PLL enabled, HS used by USB
CPU system clock - 96 MHz PLL div2
Osc. selection - Divided by 2 (8MHz input)
vbor - 2.0V
Brown out reset - Enabled in hardw. only (sboren is disabled)
Watchdog - 1:512
FCMEM - On
IESO - On
WDTEN - On
CCP2MX - On
LPT1OSC - On
MCLRE - On
STVREN - On
ICPORT - On
USBPLL - On
VREGEN - On

Konfiguraciona rijec je:

1: CE21
2: 133F
3: 8500
4: 00A1
5: C00F
6: E00F
7:400F

Koristim AllPic programator i WinPic800.


Xp prijavljuje uredjaj nije prepoznat ili nije funkcionalan i ne instalira drajvere. U listi nema usklicnika ali prijavljuje 'Unknown Device'.
Koristio sam kabal od stampaca.
[ barum @ 08.09.2008. 00:24 ] @
Miroslave,
mislio sam možda je samo kabal problem pošto znam da taj PIC ima USB2.0 interni tranrisiver. I kod mene je proradio pod XP-om, no ja sam čačkao malo deskriptore juče pa sam pogrešno slao report deskriptor za jedan bajt duži nego što treba dok nisam pronašao grešku da podaci treba da se završe neparnom adresom. Do trenutka dok nije proradilo kako treba sam naj više sumnjao u drajver ali sada vidim da je XP u redu.


Reljo,
evo greške:

WDTEN - On

treba to isključiti.







[Ovu poruku je menjao barum dana 08.09.2008. u 01:43 GMT+1]
[ deniah @ 08.09.2008. 00:44 ] @
Probao sam sa iskljucenim WDTEN ali nece. Xp javlja istu gresku; 'USB device not recognized'.
[ Seme @ 08.09.2008. 08:46 ] @
Evo konfiguracione reci za PIC18F4550. U sustini ne postoji razlika za 2550 jer su u arhitekturi isti samo sto prvi ima 2 porta vise. Ukoliko ti ne proradi onda si nest zeznuo u hardweru.

Barum: Podrzava taj PIC USB2.0 slazem se sa tobom ali on ne koristi tu brzinu prenosa. Isti pic ima ugradjenu hardwerku podrsku za HID (Human Interface Device) tako da se nikakvi drajveri ne instaliraju po ukljucenju uredaja vec po instaliranju windowsa. Pozdrav
[ barum @ 08.09.2008. 09:48 ] @
Evo primerak koji radi i može da ti posluži za probu da li je problem u hardveru. Dakle za 8MHz i pic18f2550.

Ova verzija koju sam stavio može da se priključi preko max232 na COM port i da se otvori terminal na 115200 bauda pa da se posmatra šta se sve dešava i da se eventualno vidi gde je problem. Ja koristim terminal Realterm.

Imaš li kondezator na pinu broj 14?


[Ovu poruku je menjao barum dana 08.09.2008. u 11:59 GMT+1]
[ deniah @ 08.09.2008. 20:04 ] @
To je to. Sada je u redu. Hvala na pomoci.

Pozdrav

ps. ovaj primjer sam skinuo sa picbasic.co.uk/forum/. Mozda nekom zatreba.
[ barum @ 08.09.2008. 20:08 ] @
I šta je zapravo bilo? Ostavi nas u misteriji!
[ deniah @ 08.09.2008. 20:33 ] @
Kada sam podesio osigurace kako je Miroslav predlozio tada je proradilo.
[ NELEwb @ 19.02.2010. 21:51 ] @
pozz, ja sad pokusavam da napravim interfejs sa PIC-om 18F2550, ali pojavi mi se 1000 problema u tom pokusaju XD Koristim microcode studio 3.0.0.5 i PBP 2.6 compiler, MPASM 5.20, i kad kompajliram neki obican program npr. da se pale i gase LE diode radi ok. Ali kad sam pokusao da kompajlujem neki program za USB komunikaciju prvo se zalilo na PBPPIC18.lib (to je bilo dok sam koristio kompajler koji dolazi uz Microcode Studio) i onda sam skinuo ovaj drugi pa je prestalo da se zali na to . . . E sad, kompajliram onaj potpuno isti program iz knjige od Voje, al' izbacuje sledece greske:

Error[113]c:\pbp\pbppic18.lib 715 : Symbol not previously defined (USBDEVICEINIT)
Error[113]c:\pbp\pbppic18.lib 716 : Symbol not previously defined (USBDEVICEINIT)
Error[113]c:\pbp\pbppic18.lib 715 : Symbol not previously defined (USBDEVICETASKS)
Error[113]c:\pbp\pbppic18.lib 716 : Symbol not previously defined (USBDEVICETASKS)
Error[113]c:\pbp\pbppic18.lib 715 : Symbol not previously defined (GETUSB)
Error[113]c:\pbp\pbppic18.lib 716 : Symbol not previously defined (GETUSB)
Error[113]c:\pbp\pbppic18.lib 715 : Symbol not previously defined (PUTUSB)
Error[113]c:\pbp\pbppic18.lib 716 : Symbol not previously defined (PUTUSB)

jel se nekom na ovom svetu desilo isto i jel zna u cemu je problem?
[ NELEwb @ 23.02.2010. 16:37 ] @
e, ako se nekad nekom na ovom svetu desi isto k'o i meni, greska je bila sa kompajlerom . . . skinuo sam nekoliko razlicitih i ni 1 nije hteo da radi kako treba . . . onda sam zamenio neke fajlove iz jednog u drugi i tako redom pa sam napravio 1 koji radi kako treba . . . tad je hteo da kompajluje fajlove koji dolaze sa CD-a od Voje Milanovica, ali ne i one koje ja napravim koristeci Easy Hid . . . tu je greska bila sa Easy Hid wizard-om pa sam skinuo novi i radi OK . . .