USB - problémy s enumeráciou – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

USB - problémy s enumeráciou – Mikrokontroléry – Fórum – Programujte.comUSB - problémy s enumeráciou – Mikrokontroléry – Fórum – Programujte.com

 

iridium0
Newbie
17. 3. 2017   #1
-
0
-

Dobrý deň.

Mám problém so spustením procesu enumerácie po pripojení môjho PIC16F1454 k počítaču. -PC síce vyšle signál reset, ale nič ďalej sa nedeje. Po správnosti by mal po resete nasledovať od počítača instačný paket, požiadavka na Device Deskriptor. Ale nič také sa nestane. Podľa datasheetu PICka by sa po prijatí paketu mal nastaviť bit TRNIF v registri UIR. Ale nenastaví sa. Čiže žiaden paket s požiadavkou od PCéčka nebol prijatý. Jediné, čo som mohol detekovať, bolo nastavenie a vynulovanie bitu SE0 v registri UCON, ktorý detekuje nulové napätie na zbernici (v tomto prípade sa jedná o signál RESET). A to je všetko. Nič ďalej. Vedel by mi niekto poradiť, kde robím chybu?

Registre obsluhujúce USB kominkáciu mám nastavené tekto:

        movlw    b'00010000'
        movwf    UCFG

        movlw    b'00010110'
        movwf    UEP0

....Čiže sú nastavené bity:

UCFG:

UPUEN (4) = 1 (zaradenie PULL-UP odporu)

FSEN (2) = 0 (nízka rýchlosť komunikácie)

UEP0:

EPHSHK (4) = 1 (Endpoint 0 má povolené Handshake pakety.)

EPCONDIS (3) = 0 (Okrem IN a OUT sú na endpointe 0 povolené aj SETUP prenosy)

EPOUTEN (2) = 1 (Endpoint 0 je povolený pre OUTPUT)

EPINEN (1) = 1 (Endpoint 0 je povolený pre INPUT)

.......A potom v programe zapnem port pomocou:

        bsf        UCON,USBEN

PC mi samozrejme hneď hlási, že "Inštaluje sa ovládač zariadenia" ... a .... "zariadenie nebolo rozpoznané", ale o to tu nejde. Učím sa USB komunikáciu a chcem začať drobnými krôčikmi. Prvý drobný krôčik je úspešne načítať do pamäti PIC-ka instančný paket od PC. Skúšal som všetko možné, ale nedarí sa mi. Poraďte prosím...

Nahlásit jako SPAM
IP: 62.197.243.–
iridium0
Newbie
18. 3. 2017   #2
-
0
-

Takže, už som na to prišiel. Musí sa ešte nastaviť bit UOWN v registroch BD0STAT IN a BD0STAT OUT, ktoré sú po aktivácii endpointu 0 namapované do bežnej užívateľskej pamäti RAM PIC obvodu. Je to jeden zo 4-och registrov tzv BDT (Bufer Descriptor Table), s počiatkom na adrese 0x20. Bez problémov som potom prijal SETUP paket od PC. Ďalší postup a dokončenie enumerácie teraz v pohode okopírujem z tejto prezentácie, kde je to do podrobna znázornené, čo treba robiť. 

Je to však pre mňa iba začiatok. Momentálne neviem ako budem riešiť WinAPI program. Doteraz som bol zvyknutý na funkcie CreateFile(), ReadFile(), WritwFile(), keď som používal prevodník USB/UART. Budú sa dať tieto funkcie používať aj s prepojením priamo na USB ?? (povedzme prostredníctvom nejakého .DLL - ka) ...Za vaše odpovede vopred ďakujem...

Nahlásit jako SPAM
IP: 195.168.45.–
KIIV
~ Moderátor
+43
God of flame
18. 3. 2017   #3
-
0
-

#2 iridium
pokud pouzijes tusim CDC profil a budes se tvarit jako virtual serial port, tak to v systemu uvidis jako dalsi seriovy port. Mozna se i mrkni, jestli uz neco takoveho neresi nejake knihovny.

Nahlásit jako SPAM
IP: 94.113.99.–
Program vždy dělá to co naprogramujete, ne to co chcete...
iridium0
Newbie
18. 3. 2017   #4
-
0
-

#3 KIIV
Dík za radu. Áno, už som na CDC pri štúdiu zopár krát okrajovo narazil. Bližšie podrobnosti som sa ale zatiaľ nedozvedel. -Nebude k tomu treba vytvárať na strane PC ovládač? Viem, že isté ovládače sú vo Windowse už implementované. Bolo by ideálne, keby bol implementovaný aj tento.

Nahlásit jako SPAM
IP: 195.168.45.–
20. 3. 2017   #5
-
0
-

Atmel pro tento účel "ohýbal" HID. Pro inspiraci se podívej do jejich Application Notes.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

USB — založil Goumba

USB — založil Thew

C a USB — založil Yety

USB — založil Decide

Problem s USB — založil Ondřej Karanský

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý