|
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, 09:59
|
Местный
  
Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197

|
Цитата(ramil111 @ Feb 22 2013, 12:44)  Задача: - создать usb-uart преобразователь с внутренним буфером (фифо) порядка 100кбайт - и из буфера выдавать по одному байту строго через 1 миллисекунду Подскажите, как это наиболее просто сделать? Берёте контроллер USB Cortex M3 что нить из топовых NXP или STM с 96 кб ОЗУ на борут делает хитрое УСБ устройство. Схемотехника простая. Если число экземпляров маленькое -- берёте NXP там перифирия проще если важан цена и серия берёте STM.
--------------------
|
|
|
|
|
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 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|