реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> пк <-> usb <-> плис
enzaime
сообщение Dec 4 2015, 10:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 83
Регистрация: 22-08-14
Пользователь №: 82 609



Вопрос такой: как имея микроконтроллер или плис ( не принципиально что, важно только что на нужных ногох в нужные моменты времени можно устанавливать 1 или 0 ) и провод USB ( один конец втыкается в комп, другой в виде 4 проводков (земля, питание,D+,D-) подсоединён к мк или плис, передать для начала 1 байт туда и обратно. Что для этого нужно? (по минимуму). Практического опыта в таких вещах у меня нет. Я представляю это так:

1. написать прошивку для плис/мк
2. используя стандартные средства Windows передать/принять байт. (не писать собственный драйвер, а именно используя стандартные средства, т.е. например винда общается с устройством, думая что это файл ,например, и используя функции записи/чтения в файл обменивается данными или ещё как-то, используя winapi)

Вот вроде бы всё просто, но я не понимаю в каком направлении идти. Хотелось бы найти самый простой путь и не добавляя что-то новое в цепочку (пк<->кабель<->мк/плис)
Go to the top of the page
 
+Quote Post
Amurak
сообщение Dec 4 2015, 10:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 18-11-12
Пользователь №: 74 459



Цитата(enzaime @ Dec 4 2015, 13:08) *
Хотелось бы найти самый простой путь и не добавляя что-то новое в цепочку

Добавьте переходник USB - RS-232 и будет вам счастье.
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 4 2015, 10:33
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Все уже сделали до нас - https://ru.wikipedia.org/wiki/V-USB
Go to the top of the page
 
+Quote Post
enzaime
сообщение Dec 4 2015, 10:38
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 83
Регистрация: 22-08-14
Пользователь №: 82 609



Цитата
Добавьте переходник USB - RS-232 и будет вам счастье.

А в чём его преимущество? Что он делает? Разве так код не усложнится? Как им пользоваться? (хотя бы приблизительно)
Предположим будет такой переходник. Я втыкаю usb в пк. Комп видит новое устройство, я устанавливаю драйвера от производителя. Что дальше? Это так будет выглядеть?
1. подключение библиотеки производителя
2. использовать библиотечную функцию записи байта
3. использовать библиотечную функцию чтения байта
Или всё будет делаться стандартными средствами windows. Опишите, пожалуйста, приблизительную схему как это выглядит.

Цитата
Все уже сделали до нас - https://ru.wikipedia.org/wiki/V-USB

библиотека v-usb работает только с контроллерами или с плис её тоже можно использовать?

Сообщение отредактировал enzaime - Dec 4 2015, 10:38
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 4 2015, 10:40
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(enzaime @ Dec 4 2015, 13:33) *
А в чём его преимущество? Что он делает?
Упрощает жизнь разработчику (причем с обоих сторон)

Цитата
Разве так код не усложнится? Как им пользоваться? (хотя бы приблизительно)
Код не усложнится. Пользоваться элементарно

Цитата
Предположим будет такой переходник. Я втыкаю usb в пк. Комп видит новое устройство, я устанавливаю драйвера от производителя. Что дальше?
Дальше со стороны Windows появится виртуальный COM порт (с точки зрения программы на Windows он будет вполне реальным железным COM портом). Со стороны FPGA будет реальный UART со 2мя линиями TX и RX (можно еще добавить линий до полного RS232, если надо).

Цитата
библиотека v-usb работает только с контроллерами или с плис её тоже можно использовать?
Она сама только с контролерами, но можно посмотреть в ее исходные тексты и адаптировать их для FPGA (но это занятие не из легких sm.gif )
Go to the top of the page
 
+Quote Post
Amurak
сообщение Dec 4 2015, 10:48
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 18-11-12
Пользователь №: 74 459



Цитата(enzaime @ Dec 4 2015, 13:38) *
Опишите, пожалуйста, приблизительную схему как это выглядит.

Дальше либо реализуете UART в ПЛИС (готовых схем полно), либо используете UART в микроконтроллере. Соединяете все это дело проводами. После чего либо берете готовую программу-терминал COM порта и засылаете данные через нее, либо пишете свой терминал на каком-нибудь C#.
Go to the top of the page
 
+Quote Post
enzaime
сообщение Dec 4 2015, 10:49
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 83
Регистрация: 22-08-14
Пользователь №: 82 609



Цитата
Дальше со стороны Windows появится виртуальный COM порт (с точки зрения программы на Windows он будет вполне реальным железным COM портом).

круто, т.е. можно будет программно передавать данные через com порт средствами windows?
Цитата
Со стороны FPGA будет реальный UART со 2мя линиями TX и RX

можете дать ссылку или название как называется модуль который должен быть реализован в плис (что-то вроде хост или slave)? А то мне не совсем ясно что гуглить.

Сообщение отредактировал enzaime - Dec 4 2015, 10:49
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 4 2015, 10:55
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(enzaime @ Dec 4 2015, 13:08) *
Вопрос такой: как имея микроконтроллер или плис ( не принципиально что, важно только что на нужных ногох в нужные моменты времени можно устанавливать 1 или 0 )

На самом деле передать байт не проблема. Проблема в том, что надо передавать Данные и Команды. А потому поверх "байт" появляется "протокол передачи"...
И либо информация передается символьными кодами, либо бит- или байт-стаффинги. Дальше идет определение кадра на передачу-прием... Так что начните с этого...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Corvus
сообщение Dec 4 2015, 10:55
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Цитата(enzaime @ Dec 4 2015, 13:49) *
круто, т.е. можно будет программно передавать данные через com порт средствами windows?

да

Цитата(enzaime @ Dec 4 2015, 13:49) *
можете дать ссылку или название как называется модуль который должен быть реализован в плис (что-то вроде хост или slave)? А то мне не совсем ясно что гуглить.

В ПЛИС у Вас должен быть реализован обычный UART. Например:
http://opencores.org/project,osdvu
Но можно и самому написать для практики.
Go to the top of the page
 
+Quote Post
Amurak
сообщение Dec 4 2015, 10:56
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 18-11-12
Пользователь №: 74 459



Цитата(enzaime @ Dec 4 2015, 13:49) *
круто, т.е. можно будет программно передавать данные через com порт средствами windows?

Ага.

Цитата
можете дать ссылку или название как называется модуль который должен быть реализован в плис (что-то вроде хост или slave)? А то мне не совсем ясно что гуглить.

Гуглить по тегами UART VHDL/Verilog.
Можно также взять из книги: FPGA Prototyping by VHDL Examples.
Можно взять на сайте opencores com, VHDL 16550 UART core.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Dec 4 2015, 10:59
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(enzaime @ Dec 4 2015, 13:49) *
круто, т.е. можно будет программно передавать данные через com порт средствами windows?

можете дать ссылку или название как называется модуль который должен быть реализован в плис (что-то вроде хост или slave)? А то мне не совсем ясно что гуглить.

1. Да, можно

2. Вот здесь можно посмотреть, как сделать простейший UART на ПЛИС:
http://www.fpga4fun.com/SerialInterface.html
Go to the top of the page
 
+Quote Post
enzaime
сообщение Dec 4 2015, 11:01
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 83
Регистрация: 22-08-14
Пользователь №: 82 609



Ух ты здорово. А не подскажите ещё как называются микросхемы которые преобразовывают usb в rs232, ну типа как термин, при названии которого сразу ясно о чём речь, без лишних пояснений.
Go to the top of the page
 
+Quote Post
Corvus
сообщение Dec 4 2015, 11:08
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



http://www.silabs.com/products/interface/u...art-bridge.aspx
http://www.ftdichip.com/Products/ICs/FT232B.htm
и т.д.
Go to the top of the page
 
+Quote Post
enzaime
сообщение Dec 4 2015, 11:10
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 83
Регистрация: 22-08-14
Пользователь №: 82 609



О, спасибо.
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Dec 4 2015, 15:48
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(enzaime @ Dec 4 2015, 13:08) *
Вопрос такой: как имея микроконтроллер или плис ( не принципиально что, важно только что на нужных ногох в нужные моменты времени можно устанавливать 1 или 0 ) и провод USB ( один конец втыкается в комп, другой в виде 4 проводков (земля, питание,D+,D-) подсоединён к мк или плис, передать для начала 1 байт туда и обратно. Что для этого нужно? (по минимуму). Практического опыта в таких вещах у меня нет. Я представляю это так:

1. написать прошивку для плис/мк
2. используя стандартные средства Windows передать/принять байт. (не писать собственный драйвер, а именно используя стандартные средства, т.е. например винда общается с устройством, думая что это файл ,например, и используя функции записи/чтения в файл обменивается данными или ещё как-то, используя winapi)

Вот вроде бы всё просто, но я не понимаю в каком направлении идти. Хотелось бы найти самый простой путь и не добавляя что-то новое в цепочку (пк<->кабель<->мк/плис)

Применяешь микросхему FT2232H - драйвера стандартные для все ОС. Микропрограммирование ненужно, примеров работы с драйвером куча на разных языках. Если нужны подробности пиши.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 03:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.04724 секунд с 7
ELECTRONIX ©2004-2016