Отговори на тема  [ 29 мнения ]  Отиди на страница Предишна  1, 2
Проблем с УСБ комуникация 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Проблем с УСБ комуникация
Код:
rom kernel mode: You can force a specific USB device to be re-connected, as if it was unplugged and replugged again, by sending an IOCTL_INTERNAL_USB_CYCLE_PORT to its PDO. (This can only be done from a kernel mode, e.g. through a helper driver.) This 'cycle' operation will cause a USB reset to occur, after which the device would be re-enumerated. For example, if the device comes back with a different USB device descriptor, a different driver may be matched for it.

From user mode: You can do this by ejecting the device through the CfgMgr API. For example, to go over all USB hubs and eject all devices:

    Find all devices having device interface GUID_DEVINTERFACE_USB_HUB with SetupDiGetClassDevs(... DIGCF_DEVICEINTERFACE).
    Enumerate over the returned device information set (SetupDiEnumDeviceInfo).
    For each device, get the DevInst member:
        Invoke CM_Get_Child(DevInst) and then CM_Get_Sibling repeatedly to go over all child nodes of the hub (i.e. the USB devices).
        For each child node, call CM_Request_Device_Eject.




http://stackoverflow.com/questions/9879 ... indows-api


Сря Авг 03, 2016 8:26 pm
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Съб Май 21, 2016 9:47 pm
Мнения: 577
Местоположение: Бургас
Мнение Re: Проблем с УСБ комуникация
И аз имах подобни премеждия докато наглася да комуникацията с този ПИК, но успях да си намеря грешката. Симптомите бяха подобни- зависване на програмата на компютъра, като ПИКа си показваше, че е свързан и Windows също го виждаше като устройство. В крайна сметка се оказа грешка и в двата края- в определен момент вместо един фрейм се предаваха фрейм и нещо поради накъсване на процеса на предаване/приемане от един глупав таймер (т.е. започваше да се предава следващия фрейм преди да е свършил предния) и/или компютъра чака данни или/и ПИКа.


Пет Авг 05, 2016 2:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: Проблем с УСБ комуникация
Аз изпуснах момента, че когато при изключване на PIC-а от USB се ресетва и цялата му програма, все пак спира захранването.

_________________
https://github.com/slav4ocom/


Пет Авг 05, 2016 5:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Проблем с УСБ комуникация
А аз какъв проблем имам не е истина! Имам един PIC18F45K50 свързан през USB към комп! Когато пусна програмата през дебъгер, всичко е 6 (тествах многократно и за дълги периоди). Когато обаче заредя програмата, през примерно 3-4 мин се ресетва и чупи връзката. Никакви промени не правя в програмата.
Дори не знам как да видя restart cause понеже не дебъгер не го прави...
Винаги захранвам от външен източник. Мислех за някакви проблеми с осцилатора. Използвам 12MHz кварц. Опитах с допълнителен резистор в паралел(1Mohm) - без резултат. Използвам настройка HSH(въпреки, че в документацията пише HSM, защото така работи по-добре, но ще пробвам и с HSM). Нямам подходящ интерфейс, на който да извеждам restart cause. Имам само глупав LED.
Някакви идеи?
Използвам MPlab X, XC8 и майкрочипския USB стек!

_________________
www.elkran.com


Пон Авг 08, 2016 5:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Проблем с УСБ комуникация
проблеми с масата на интерфейса.


Пон Авг 08, 2016 7:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Проблем с УСБ комуникация
stefan63 написа:
проблеми с масата на интерфейса.

Добро предположение! Утре ще проверя. Може някаква студена спойка да имам или кабелът да се е разхлабил...

_________________
www.elkran.com


Пон Авг 08, 2016 7:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Проблем с УСБ комуникация
Пробвай откъм пика да не е свързана тенекийката на конектора към маса. По принцип е грешно, ЕМИ тстове няма да мине, но пробвай и така - срещал съм го.


Пон Авг 08, 2016 8:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Проблем с УСБ комуникация
100% не е свързана на проект, но ме съмнява да като съм огъвал двете пластинки, които захващат конектора към платката, да не съм притиснал нещо.

_________________
www.elkran.com


Пон Авг 08, 2016 8:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Проблем с УСБ комуникация
E, пробвай и двата варианта.


Пон Авг 08, 2016 8:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Проблем с УСБ комуникация
Изглежда контролерът се е прецакал! В момента не мога да се свържа с него - връща грешно ID(0000ffe0). Смених осцилатора и кондензаторите му, пробвах различни захранвания... Четох на едно място, че може да е сетнат вътрешния осцилатор, а не външния. Но не успях нищо да направя с tool-а за тази работа. Отново не го разпознава...

_________________
www.elkran.com


Вто Авг 09, 2016 11:08 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Проблем с УСБ комуникация
Ако ядрото може да презаписва флаша си - търси си софтуерна грешка.


Вто Авг 09, 2016 9:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Проблем с УСБ комуникация
Връщаше грешно ID. Смених го и сега е 6! То уж казват, че ID-то readonly ама нещо ... И най-неприятното беше, че не връща само 0-ли или F, а някакъв адрес...

_________________
www.elkran.com


Чет Авг 11, 2016 8:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: Проблем с УСБ комуникация
То това е сигурно ако решиш, освен code protect да сложиш и протект да не те разконспирират какъв пик си изпляскал на платакта.
А този пик ти как го ползваш ? С кварц ли ? Защото може да се синхронизира клока по USB.

_________________
https://github.com/slav4ocom/


Пет Авг 12, 2016 3:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Проблем с УСБ комуникация
Ами с кварц. То стандартния USB стек изисква 48MHz clock.
Понеже Стефан спомена за проблеми с GND, искам да попитам нещо! Задължително ли е като се прави USB да се прави полигон с GND на платката, за да не се получават такива неща?! Питам понеже искам да сложа USB на едно у-во, където е лоша идея да има полигон. Да знам да се насоча към друг интерфейс(LAN примерно), ако е проблем!
Благодаря!

_________________
www.elkran.com


Пет Авг 12, 2016 4:31 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 29 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 12 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни