|
usb uart с большим буфером, выход из uart с постоянной скоростью |
|
|
|
Feb 22 2013, 08:44
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 21-11-12
Пользователь №: 74 496

|
Вопрос такой:
нужно от компьютера управлять с периодом 1 миллисекунда - выдавать через 1мс управляющие байты
но! комп на винде не система реального времени, и работает с интервалами 20-100мс
Задача: - создать usb-uart преобразователь с внутренним буфером (фифо) порядка 100кбайт - и из буфера выдавать по одному байту строго через 1 миллисекунду
-------------- Подскажите, как это наиболее просто сделать?
|
|
|
|
|
 |
Ответов
|
Feb 22 2013, 13:39
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 21-11-12
Пользователь №: 74 496

|
Цитата(kovigor @ Feb 22 2013, 13:50)  Прежде всего нужно спросить себя, что будет (c объектом управления), если компьютер зависнет, и в результате поток байтов прервется. А ведь это абсолютно реально. На этом фоне замирание передачи на 20мС просто незаметно, вам не кажется ? Я уже молчу о том, что для реализации надежной передачи данных USB вообще не подходит. Можете рассказать, зачем вам потребовалась такая экзотика ? задача самая простая - сделать генератор сигналов на цап на частоту 50Гц 8 каналов хотелось взять dac8800 и соединить его с компьютером, но! мне рассказали про интервал для потока 20мс нужен буфер порядка на 1 секунду, за которое комп успеет накачать еще данных ------------ "USB вообще не подходит" - на стандартном компе - только он и есть!
|
|
|
|
|
Feb 22 2013, 14:19
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 21-11-12
Пользователь №: 74 496

|
Цитата(kovigor @ Feb 22 2013, 18:12)  Тогда эта задача не должна решаться таким образом. Берете обычный переходник USB <-> COM, и загружаете в ваш генератор данные, хоть из любой стандартной терминалки. Естественно, в генераторе должно быть достаточно памяти для хранения этих данных, что позволит не зависеть от машины и ее тайм-аутов. Для генерации сигналов такой низкой частоты вам хватит обычной микросхемки Serial EEPROM требуемого объема (на скорости 115200 Бит/Сек. секунда примерно соответствует 12 КилоБайтам) и дешевого AVR ... CY7C64225 USB to UART Bridge Controller Integrated 64-byte transmit and 64-byte receive buffer ------------- вот как это прочитал - подумал: может есть такие контьроллеры с буфером в 100 килобайт? было бы идеально!
|
|
|
|
|
Feb 22 2013, 15:30
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 21-11-12
Пользователь №: 74 496

|
Цитата(kovigor @ Feb 22 2013, 18:21)  Зачем ? Копеечный переходник + стандартная терминалка. На стороне генератора - обычный UART, дешевая AVRка и микросхема Serial EEPROM. Какой смысл создавать себе трудности на ровном месте ? P.S. А зачем 100 КБайт ??? Чтобы хранить отсчеты синусоиды, внутренней памяти той же ATMega88 с головой достаточно ... P.P.S. Я уже молчу о том, что вам вполне может хватить ЦАПа на резисторах с повторителем на ОУ: http://easyelectronics.ru/parallelnyj-cifr...sxeme-r-2r.html1) стандартное решение - контроллер с усб интерфейсом и большой памятью, просто хотелось не делать вручную - а максимально использовать готовыt чипы. 2) р-2р - это не кошерно (любительство какое то), dac8800 (или любые dac) - значительно проще и дешевле
|
|
|
|
|
Feb 22 2013, 16:32
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 21-11-12
Пользователь №: 74 496

|
Цитата(kovigor @ Feb 22 2013, 19:36)  Вам виднее. Хотите использовать дорогую и экзотическую элементную базу ? Используйте. Смысла в этом лично я не вижу ... - чем больше стандартных компонент - тем проще в проектировании, - цена пока не играет роли ------------------ "экзотическую элементную базу" - так я и спрашиваю - как проще сделать (не дешевле - а проще для меня). задача в общем тривиальная, но не хочется самому руками что то городить. тем более - что мне нужно минимум 8 каналов цап
|
|
|
|
|
Feb 22 2013, 19:35
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 21-11-12
Пользователь №: 74 496

|
Цитата(Дмитрий_Б @ Feb 22 2013, 20:52)  USB имеет режим доставки данных с заданным темпом: изохронная передача данных. 1 мс - период передачи кадров. Это требование стандарта. Если точность частоты кварца ПК устраивает, то в принципе вопросов нет. Другое дело, сможете ли сделать функцию в соответствии со стандартом. Другое дело, сможете ли сделать функцию в соответствии со стандартом - - уточните, пожалуйста, что Вы имеете ввиду (где проблема): программную реализацию выдачи в usb порт, или аппаратную реализацию usb контроллера (подключенного к usb порту компьютера)?
|
|
|
|
|
Feb 23 2013, 08:40
|
Местный
  
Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195

|
Цитата(ramil111 @ Feb 22 2013, 23:35)  Другое дело, сможете ли сделать функцию в соответствии со стандартом -
- уточните, пожалуйста, что Вы имеете ввиду (где проблема): программную реализацию выдачи в usb порт,
или аппаратную реализацию usb контроллера (подключенного к usb порту компьютера)? Проблема в умении правильно сделать endpoint`ы. Впрочем, я давно не занимался вопросом, возможно готовые микросхемы с хорошей поддержкой есть. Тогда проще. Хотя дескрипторы функции (это терминология стандарта USB) всё равно писать придётся... Ещё не легче - драйвер для вашего приборчика под Windows писать. Хотя опять-таки, если Вы профессиональный программист - то и это решается (хотя мне таких программистов встречать не доводилось). На заре USB аббревиатура расшифровывалась - unused serial bus. У Вас есть повод разобраться - почему...
Сообщение отредактировал Дмитрий_Б - Feb 23 2013, 15:24
|
|
|
|
Сообщений в этой теме
ramil111 usb uart с большим буфером Feb 22 2013, 08:44 VCO На мой взгляд, проще, чем на USB-шном микроконтрол... Feb 22 2013, 08:59           ramil111 Цитата(Дмитрий_Б @ Feb 23 2013, 12:40) Пр... Feb 24 2013, 06:49         kovigor Цитата(Дмитрий_Б @ Feb 22 2013, 20:52) US... Feb 22 2013, 20:26          ramil111 Цитата(kovigor @ Feb 23 2013, 00:26) Еще ... Feb 22 2013, 20:55           kovigor Цитата(ramil111 @ Feb 23 2013, 00:55) ост... Feb 22 2013, 21:06            aaarrr Цитата(kovigor @ Feb 23 2013, 01:06) Прос... Feb 22 2013, 21:31             kovigor Цитата(aaarrr @ Feb 23 2013, 01:31) ТС хо... Feb 22 2013, 21:35  VCO Цитата(ramil111 @ Feb 22 2013, 16:39) зад... Feb 25 2013, 07:40   ramil111 Цитата(VCO @ Feb 25 2013, 11:40) Не понял... Feb 25 2013, 14:42    kovigor Цитата(ramil111 @ Feb 25 2013, 17:42) Это... Feb 25 2013, 14:55     ramil111 Цитата(kovigor @ Feb 25 2013, 18:55) Не ... Feb 25 2013, 15:07     VCO Цитата(kovigor @ Feb 25 2013, 17:55) Нет,... Feb 26 2013, 04:05 SyncLair Цитата(ramil111 @ Feb 22 2013, 12:44) Зад... Feb 22 2013, 09:59
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|