Передача данных через USB - PullRequest
       6

Передача данных через USB

0 голосов
/ 28 августа 2009

Я хочу разработать код для передачи данных из системы в PIC через USB. Кто-нибудь может дать хорошую ссылку относительно передачи данных через USB. потому что я новичок в этом.

ПРИМЕЧАНИЕ. Очень просто, мне достаточно кода.

Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 28 августа 2009

PIC16F877 не имеет встроенной периферии USB. Я предполагаю, что продукт, который вы создаете, является «USB-устройством» и что «система», на которую вы ссылаетесь, будет обеспечивать функциональность хоста USB. Если это так, то вам придется добавить интерфейсный чип USB к вашему оборудованию для обеспечения асинхронного последовательного подключения к USB. Подходящие устройства производятся TI (серия TUSB) или FTDI. Затем вы подключаете один из них к внутреннему USART PIC и делаете вид, что переносите данные через простой последовательный порт. Если вы используете компьютер, то подключенное устройство будет отображаться как стандартный порт COMn :.

1 голос
/ 29 августа 2009

Я полностью согласен с маршрутом FTDI, однако, если вы не ищете туннель UART через USB, вам нужно немного углубиться.

Вам придется самостоятельно написать подпрограммы USB или найти библиотеки / проекты для вашего процессора. Вам, безусловно, понадобятся быстрые часы - необходимы 12 МГц. Больше, тем лучше, потому что на таких маленьких uC вы будете тратить большую часть своего времени, просто работая с основами USB - сигнализацией и так далее. Вам также понадобится немало памяти, потому что код USB занимает около 1,5 тыс. Я думаю. Затем вам понадобится место для собственного кода.

Я видел V-USB (http://www.obdev.at/products/vusb/index.html). Он предназначен для AVR, а не для PIC, но в нем говорится, что он предоставляет все необходимые вам функции USB и даже предоставляет идентификаторы поставщиков и продуктов для использования ( я считаю, что это некоммерческий проект). Существует также проект PIC для USB, который работает не на том же оборудовании, что и у вас: http://www.alanmacek.com/usb/

Для создания драйвера вам нужно использовать libusb - вот ссылка на версию win32: http://libusb -win32.sourceforge.net /

Это на удивление проще, чем я ожидал, но я просто посмотрел пример кода и фактически ничего не сделал. Удачи!

0 голосов
/ 02 апреля 2010

проверка http://www.beyondlogic.org/usbnutshell/pic16f876.gif наверняка поможет вам также ttp: //www.beyondlogic.org/usbnutshell/usb7.htm, введите h перед 2-ой ссылкой.

0 голосов
/ 28 августа 2009

Поскольку ваша задача будет связана с разработкой драйвера устройства Windows, я рекомендую загрузить и установить WDK и просмотреть примеры драйверов USB.

Это может дать вам некоторые подсказки о сложности темы. Начать разработку драйвера устройства не так просто.

Возможно, вы можете начать с UART-связи (RS232).

...