Ксения (13.02.2005 15:25, просмотров: 1) ответил прохожий на Да вы провидец, любезнейший ак! Лично я, из задаваемого девушкой вопроса, не увидел ничего такого, а хочет она маленький контроллер под УСБ, который она могла запрограммить сама
Разъясняю ситуацию Мой девайс на сегодняшний день это 4 АЦП типа AD7714 (24 бита преобразования), питаемые вместе с м/к AT90S2313 за счет линий RTS И DTR со стороны подключаемого к девайсу компьютера. Высокая разрядность A/D и их количество, гальваноразвязка от компьютера и отсутствие собственного источника питания - требования потребителя, которые никакому послаблению не подлежат.
М/к AT90S2313 здесь используется не только как UART, а еще как устройство обслуживающее события готовности данных у АЦП, забирающее у них эти данные и буферизующее посылки, в которых указывается: номер АЦП, выдавший данные, момент времени этого события по собственным часам. Кроме того в посылку входит состояние внешнего цифрового входа синхронизации, ассоциированного с каждым отдельным АЦП.
Все вроде бы хорошо, за исключением того, что при размере каждой посылки в 7 байт (спецификация посылки строго регламентирована потребителем) канал RS-232 не справляется на повышенных частотах преобразования. А поднять бодовую частоту UART мешает медленная опторазвязка.
Только сейчас у потребителей возникла необходимость увеличения рабочей частоты АЦП. А на меня свалилась задача помочь им в этом. Как видите с одной только программной стороны я этого сделать не смогла. Так ни крути решение задачи требует изменений схемы. Возникают большие бюрократические препоны на пути изменении существующей конструкции. Договор на разводку и изготовление устройств был давно подписан и согласован "высокими сторонами", до которых мне недоплюнуть :-). Именно поэтому я надоедала участникам этого форума просьбами помощь советами на путях, не требующих изменения конструкции (разводки платы), поскольку на этапе впаивания деталей в плату я еще бы могла что-нибудь изменить (например тип оптопары, если цоколевка у нее соответствует старой). А отсутствие моего интереса к решениям, требующим внесения изменений в разводку монтажной платы, были ошибочно расценены, как упрямство.
Даже частичное решение, позволившее лишь задействовать частоту 56 Кбод, позволило бы мне отрапортовать об успехе своего задания :-). Но увы! Все рекомендации, которые мне здесь давали, провести не удалось, т.к. все они требовали резать дорожки и напаивать сверху всякую дребедень, что сходу было отвергнуто "ответственными товарищами", как портящими вид изделия.
В связи в возникшими трудностями потребитель уже склоняется к тому, чтобы инициировать новый проект изделия. А именно дополнительно поддержать интерфейс USB. Именно дополнительно, т.к. на совместимости по каналу RS-232 с ныне производимыми изделиями является непреложным требованием. На этапе разработки проекта я бы могла вмешаться, т.к. к моему мнению возможно прислушались бы.
Поскольку возлагаемая на микропроцессор задача даже менее сложная, чем поддержание протокола USB, то вполне резонно возникла идея использовать программируемый USB-контроллер, который сам по себе справился бы с логикой обслуживания АЦП. Беда только в том, что у большинства таких контроллеров отсутствует порт UART. В то время как на сохранении этого вида коммуникации категорически настаивает заказчик.
В этой связи мне сильно понравилась самая последняя разработка ATMEL - м/к AT76C713, который позиционируется как USB/RS232-мост. С спецификацию смотрю - глазам своим не верю - неужели только 1.6 mA потребляет? Или я не туда гляжу? На сайте фирмы даже доступна программа для такой двусторонней конверсии (AT76C713_usb2ser.zip). Т.е. данные, приходящий из USB трансформируются на передачу в UART и наоборот. Надеюсь, что каждому ясно насколько просто трансформировать программу такого моста для одновременной передачи в обе стороны.
Фирма пишет, что это low-cost, но сколько стоит пока не ясно (чип выпущен в декабре 2004 г., т.е. совсем недавно) и пока вроде нигде в Москве не продается.
Из решений, подсказанных на форуме, интересен C8051F320/1. Вроде экономичный - 500 mA только потребляет. Всем хорош, только вот UART-выхода я у него в цоколевки не нашла. На блок схеме как-то там всё скопом выдается на какой-то CROSSBAR. Как там соединяться пока не разобралась. Видимо через пины какого-то порта. Но скорее всего этот вопрос решаем.
Установка связки процессор+RS2USB мне как-то не очень нравится. USB все равно в компьютере придется представлять как COM-порт (иначе у заказчика не заработает приложение). Сделать это будет проще, если есть доступ к формированию заголовков USB-протокола.
Пока иных возможностей не вижу. На сей день м/к с USB можно пересчитать по пальцам. И все они большие и дорогие.