PIC18F2550 USB - устройство и хост принимают только нули

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Открыл глаза
Сообщения: 55
Зарегистрирован: Пт авг 28, 2015 21:36:42

Сообщение stas0 »

Все привет!

Собрал устройство PIC18F2550 USB HID и отправляю данные с хоста через свою программу написанную на C# с использованием библиотеки HIDSharp, на симуляторе(Proteus) все работает хорошо. В реальность ничего работает не все гладко: устройство видит приходящие данные, но в виде одних нулей, та же ситуация, когда отправляются данные обратно на хост - одни нули.

Такая вот схема:
Изображение

Что подскажите, уже не знаю что делать. Тестировал разными программами и больше всего мне кажется, что проблема в железе и при отправке/получении, данные теряются. Что это может быть?
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1489
Зарегистрирован: Вс май 13, 2012 00:01:54

Сообщение Ariadna-on-Line »

Я не спец в этом вопросе, но вот что бросилось в глаза:
1/ Обычно один из D имеет подтягивающий резистор, чтобы хост знал скоростной тип слейва - Full или Low speed.
2/ Кварц, его кондеры и их земля ставятся прямо рядом с процессором, а никак не через проводильники.
3/ Последовательно в D линии ставят 20-50 омные резисторы, чтобы давить отраженки сигналов.
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Сообщение shindax »

Ariadna-on-Line писал(а):...Обычно один из D имеет подтягивающий резистор,
чтобы хост знал скоростной тип слейва - Full или Low speed....
У PIC18F2550 вся USB-обвязка есть внутри, резисторы можно не устанавливать.
Резисторы в цепи D+ и D- так-же не нужны.
2TC. Скачайте MLA и XC8 от Microchip.
Там есть готовый пример HID-устройства под этот чип. В решении много воды,
но по крайней мере всё работает, после допилите под себя и выкинете всё лишнее.
Открыл глаза
Сообщения: 55
Зарегистрирован: Пт авг 28, 2015 21:36:42

Сообщение stas0 »

Я брал пример от сюда http://jasuramme.blogspot.ru/2015/01/5- ... 12015.html

Добавлено after 4 hours 3 minutes 47 seconds:
Взял прошивку с MLA и вы знаете, то же самое. У меня падает подозрение на очень длинный USB кабель - 2 метра почти, плюс кустарный переходник для макетной платы. USB кабель без ферритового фильтра и похоже даже не экранирован. Может ли быть в этом проблема?
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 55
Зарегистрирован: Пт авг 28, 2015 21:36:42

Сообщение stas0 »

Разобрался!

Я брал проект из MLA, но те что я брал за основу, что-то не шли, потом решил попробовать другой: C:\microchip\mla\v2017_03_06\apps\usb\device\hid_custom\firmware\picdem_fs_usb.x и похоже ошибка была всего лишь в конфигурационных битах. Вот этот проект сделан для PIC18F4550 но если в настройках изменить на PIC18F2550, то нужно будет немного подредактировать некоторые участки кода, чтобы не было ошибок компиляции. Так что если у кто-то столкнулся с такой проблемой, то знайте, вам нужно выбрать правильный проект или настроить верно конфигурационные биты.
Реклама
Ответить

Вернуться в «PIC»