Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 09.10.2007, 12:23  
VVK
Частый гость
 
Регистрация: 10.12.2004
Сообщений: 35
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
VVK на пути к лучшему
По умолчанию

Сообщение от tempora
Сообщение от VVK
Мне вот только непонятно как таким модулем будут распознаваться несколько устройств подключённых к шине на выходе USB модуля?
Если я правильно понял, то предполагается, что со стороны UART будет подключен мелкоконтроллер, так? Ну, так вот - он пусть и распознаёт, или, наоборот, кодирует. Предположим, что нужно передавать данные измерений от нескольких термометров, тогда каждая посылка данных должна содержать маркер начала посылки и N пакетов измерений, каждый из которых может, к примеру, содержать номер датчика, его тип и измеренную величину.
Работа с USB в такой схеме вообще не ведётся - он существует только, как транспорт - программа его "не видит"... ага?
Да! Так вот мне как раз научиться бы это делать - то есть
чтобы передавать данные от нескольких устройств. Только у меня будет не микроконтроллер а FPGA (Spartan3E-1600E), хотя принцип наверно схожий. Если кто знает дружелюбное к юзерам введение в то как прочитать данные от нескольких устройств,
может что подскажете, особенно как назначать номера датчиков
и где в формате USB данных этот номер указывается?
Реклама:
VVK вне форума  
Непрочитано 09.10.2007, 12:55  
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Сообщение от VVK
О чём и речь! Зачем "изобретать велосипед" если FTDI продаёт уже готовые модули с user mode driver в виде .dll (который инсталируется с помощью Мастера Нового Оборудования). Например модуль UM245R имеет USB вход (тип B) а выход - параллельный порт.
Мне вот только непонятно как таким модулем будут распознаваться несколько устройств подключённых к шине на выходе USB модуля?
Так ведь если Вы подцепите несколько FTDI к компу, то они поставятся с разными логическими именами (LPT2, LPT3, и т.д.) Но зачем Вам подключать несколько FTDI?
По параллельному (или последовательному) порту Вы передаете адрес регистра, затем код операции, затем читаете или пишите данные. Примерно так. Все зависит от поставленной задачи. Т.е. Вы используете регистр порта не для прямого чтения данных (если у Вас несколько регистров), а используете его для организации шины. Протокол обмена и формат данных зависит от конкретной задачи. И тогда Вам не ныжно несколько FTDI. ИМХО.
Удачи.
nokazus вне форума  
Непрочитано 09.10.2007, 12:58  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от VVK
Да! Так вот мне как раз ...особенно как назначать номера датчиков
и где в формате USB данных этот номер указывается?
Или, несмотря на "Да", предполагается всё же что-то другое, а не цифровой девайс, прицепленый к USB-мосту, или ты зациклился на каком-то документе, описывающем USB-протокол, настолько, что никак не можешь отойти. Я еще раз повторюсь - ни девайс, ни программа на компе про то, что данные передаются через USB-канал, даже не подозревают - в том-то и вся фишка.
1.Программа на компе читает/пишет в COM-порт компа.
2.Цифровой девайс общается с FT232, как с UART'ом
3.Так как на поток данных, передаваемых в последовательном канале, никто никаких ограничений не накладывает, ты можешь запихать туда, кроме собственно измеряемых величин, любые служебные данные, не только номера датчиков, но, скажем, дату время, когда они осуществили свои замеры и так далее. Номера можешь назначать сам, если влом привязываться к существующим раскладам, а можешь, к примеру, использовать 1-wire датчики и считывать их уникальные номера. И в том, и в другом решении есть свои преимущества и недостатки.
Если же ты хочешь сделать так, чтобы каждый датчик цеплялся к своему USB-порту и комп мог распознавать эти устройства на уровне USB-протокола (там устройство передает строку-идентификатор типа устройства), то это и есть кастомайзинг - на сайте chip45.com (ссылку я давал) есть всё необходимое и про кастомайзинг железа и про кастомайзинг дров в комп.
tempora вне форума  
Непрочитано 09.10.2007, 13:17  
VVK
Частый гость
 
Регистрация: 10.12.2004
Сообщений: 35
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
VVK на пути к лучшему
По умолчанию

Сообщение от nokazus
Сообщение от VVK
О чём и речь! Зачем "изобретать велосипед" если FTDI продаёт уже готовые модули с user mode driver в виде .dll (который инсталируется с помощью Мастера Нового Оборудования). Например модуль UM245R имеет USB вход (тип B) а выход - параллельный порт.
Мне вот только непонятно как таким модулем будут распознаваться несколько устройств подключённых к шине на выходе USB модуля?
Так ведь если Вы подцепите несколько FTDI к компу, то они поставятся с разными логическими именами (LPT2, LPT3, и т.д.) Но зачем Вам подключать несколько FTDI?
По параллельному (или последовательному) порту Вы передаете адрес регистра, затем код операции, затем читаете или пишите данные. Примерно так. Все зависит от поставленной задачи. Т.е. Вы используете регистр порта не для прямого чтения данных (если у Вас несколько регистров), а используете его для организации шины. Протокол обмена и формат данных зависит от конкретной задачи. И тогда Вам не ныжно несколько FTDI. ИМХО.
Удачи.
Спасибо! Несколько USB модулей конечно не нужно - одного вполне хватит Просто я совсем новичок в том что делать дальше, а именно - как организовать шину. Как я понял,
обычно пишется программа для микроконтроллера, но я бы хотел сделать всю цифровую систему, в том числе и свои устройства, на FPGA. То есть, можно ли сделать так - выходы от USB модуля подключить к input/output линиям FPGA и организовать шину на FPGA (как это сделать я пока не знаю). Спасибо.
VVK вне форума  
Непрочитано 09.10.2007, 13:35  
VVK
Частый гость
 
Регистрация: 10.12.2004
Сообщений: 35
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
VVK на пути к лучшему
По умолчанию

Сообщение от tempora
Так как на поток данных, передаваемых в последовательном канале, никто никаких ограничений не накладывает, ты можешь запихать туда, кроме собственно измеряемых величин, любые служебные данные, не только номера датчиков, но, скажем, дату время, когда они осуществили свои замеры и так далее.
А вот тут, если можно, поподробнее. Как именно это делается?
VVK вне форума  
Непрочитано 09.10.2007, 13:57  
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Цитата:
То есть, можно ли сделать так - выходы от USB модуля подключить к input/output линиям FPGA и организовать шину на FPGA (как это сделать я пока не знаю).
Пожалуйста, делайте на FPGA, никто Вам не мешает. Встает вопрос о разделении данных, передаваемых через порт и их интерпретации. Можно разделять данные по времени (не самый лучший способ, тем более для WinXP), а можно по содержанию, т.е. ввести маркер (разделитель, признак) начала пакета данных. С FPGA слепить протокол обмена будет посложней, но все же можно. Я так понимаю, что хост будет компьютер, а ведомое устройство собрано на FPGA и сообщается через мост FTDI-USB с компом.
Простейшая реализация на FPGA. Пусть байт, передаваемый от компа, содержит адрес регистра и один из битиков признак операции (запись или чтение). FPGA распознает команду и отрабатывает диаграмму обмена с регистром.
Удачи.
nokazus вне форума  
Непрочитано 09.10.2007, 14:08  
VVK
Частый гость
 
Регистрация: 10.12.2004
Сообщений: 35
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
VVK на пути к лучшему
По умолчанию

Сообщение от nokazus
Пожалуйста, делайте на FPGA, никто Вам не мешает. Встает вопрос о разделении данных, передаваемых через порт и их интерпретации. Можно разделять данные по времени (не самый лучший способ, тем более для WinXP), а можно по содержанию, т.е. ввести маркер (разделитель, признак) начала пакета данных. С FPGA слепить протокол обмена будет посложней, но все же можно. Я так понимаю, что хост будет компьютер, а ведомое устройство собрано на FPGA и сообщается через мост FTDI-USB с компом.
Простейшая реализация на FPGA. Пусть байт, передаваемый от компа, содержит адрес регистра и один из битиков признак операции (запись или чтение). FPGA распознает команду и отрабатывает диаграмму обмена с регистром.
Удачи.
Спасибо, впереди - вагон работы .. но это и радует, ведь это же интересно!
VVK вне форума  
Непрочитано 09.10.2007, 14:16  
ices
Частый гость
 
Регистрация: 02.04.2007
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
ices на пути к лучшему
По умолчанию

Только не понимающий с чем связывается может начать мутить USB в FPGAхе
У Атмела есть апликэйшин (скачать можно здесь)на тему USB и AtTiny2313, там кратко описана суть работы интерфейса.

В "железе" реализовать USB конечно можно, я более чем уверен что уже все сделано до вас, надо только найти/купить, но там очень много нюансов и сам бы я это делать не стал, а использовал уже готовый мост FT232R или FT245, хотя бы даже по той причине, что это сожрет много места в ПЛИСине. Вам в качестве наводящего вопроса: драйвера вы тоже сами писать будете?
ices вне форума  
Непрочитано 09.10.2007, 14:28  
VVK
Частый гость
 
Регистрация: 10.12.2004
Сообщений: 35
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
VVK на пути к лучшему
По умолчанию

Сообщение от ices
Только не понимающий с чем связывается может начать мутить USB в FPGAхе
У Атмела есть апликэйшин (скачать можно здесь)на тему USB и AtTiny2313, там кратко описана суть работы интерфейса.

В "железе" реализовать USB конечно можно, я более чем уверен что уже все сделано до вас, надо только найти/купить, но там очень много нюансов и сам бы я это делать не стал, а использовал уже готовый мост FT232R или FT245, хотя бы даже по той причине, что это сожрет много места в ПЛИСине. Вам в качестве наводящего вопроса: драйвера вы тоже сами писать будете?
Вообще-то речь была о том что USB модуль и драйвер - от FTDI (то есть стандартный девайс с .dll драйвером) а шина и сами устройства - уже на FPGA.
VVK вне форума  
Непрочитано 09.10.2007, 15:02  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от VVK
А вот тут, если можно, поподробнее. Как именно это делается?
Да тут никаких "поподробнее" и не предполагается - как сам придумаешь, так и будет.
Пусть, к примеру, эта железяка периодически опрашивает ряд датчиков и накопленные данные отсылает в комп в виде потока байт, тогда этот самый поток можно было бы организовать таким образом:
1. Маркер начала набора данных - 1байт
2. Счетчик числа пакетов измерений (N) - 1 или 2б (если датчиков может быть больше 255)
теперь повторяющиеся N пакетов измерений:
3. Идентификатор типа датчика - 1б (например)
4. Величина - 1б(или 2, или 4 - см. какие датчики)
после всех пакетов измерений - "хвост":
5. Контрольная сумма
6. Маркер конца набора данных

Только правильно говорят - делать такое на ПЛИСе неправильно - это задача для мелкоконтроллера, большой скорострельности здесь не требуется, зато его гибкость будет спасением!
tempora вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться со схемой. я не могу понять что не так. sofist Источники питания и свет 17 15.11.2007 15:52
Помогите понять что с телеком!!! sergey-k Видеотехника 38 09.11.2006 18:41
Не могу понять про float в PicBasicPro Raushan Микроконтроллеры, АЦП, память и т.д 3 13.06.2005 13:57
[Решено] Народ, помогите инфой... не хотелось бы, чтобы проект умер xASM Делимся опытом 2 03.09.2004 15:20


Часовой пояс GMT +4, время: 17:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot