|
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, 20:55
|
Участник

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

|
Цитата(kovigor @ Feb 23 2013, 00:26)  Еще один экскаватор в детской песочнице. Задача решается на подвернувшейся под руку АВРке, вообще без внешнего ОЗУ, за один вечер. Записывается в ПЗУ или во внутреннее ОЗУ МК массив отсчетов синусоиды и выдается на ЦАП. Фазу менять можно очень просто - сдвигая указатели в массиве. А можно и без ЦАП обойтись, достаточно использовать ШИМ и затем ФНЧ. У Атмела даже есть такой апп.ноут - генерация DTMF посредством ШИМ. P.S. Решение на спец. МК выйдет гораздо сложнее и гораздо дороже ... вот две штуки подсказали: The TUSB3200A integrated circuit (1С) is a universal serial bus (USB) peripheral interface device designed specifically for applications that require isochronous data streaming. PCM2900 texas instruments. стандартное usb audio устройство. --------------- оба устройства работают в "Изохронные передачи (Isochronous Transfers) " ----------------- осталось демо платы подобные найти! ---------------------------------------- вот могут FT232H или FT2232H - работать в изохронном режиме? было бы идеально!
Сообщение отредактировал ramil111 - Feb 23 2013, 10:36
|
|
|
|
Сообщений в этой теме
ramil111 usb uart с большим буфером Feb 22 2013, 08:44 VCO На мой взгляд, проще, чем на USB-шном микроконтрол... Feb 22 2013, 08:59         ramil111 Цитата(Дмитрий_Б @ Feb 22 2013, 20:52) US... Feb 22 2013, 19:35          Дмитрий_Б Цитата(ramil111 @ Feb 22 2013, 23:35) Дру... Feb 23 2013, 08:40           ramil111 Цитата(Дмитрий_Б @ Feb 23 2013, 12:40) Пр... Feb 24 2013, 06:49           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
|
|
|