segment
Apr 21 2010, 15:04
Добрый день.
Стоит задача сделать устройство АЦП-USB на 8-10 каналов/16-bit, это студенческая работа, поэтому готовые модули не предлагать.
Основная мысль - использовать внешнее АЦП + микроконтроллер LPC1751 -> SPI -> DMA -> USB 12mbit/s
Было бы прикольно использовать просто usb Cypress чипы, но не ясно можно ли напрямую подключить микросхему АЦП к этим чипам..
Интересуют следующие вопросы:
- может есть более рациональные варианты?
- как организовывать входы АЦП к микросхеме АЦП? ( то есть можно ли просто вывести их на разъем?)
- Если нет, то какие схемы включения нужно использовать?
- Может есть схемы аналогичных не очень навороченных устройств?
Спасибо.
FT2232 в режиме MPSSE (SPI/I2C) или FT232R в synchronous bit-bang.
свободными выводами можно управлять коммутатором входа АЦП.
Цитата
- как организовывать входы АЦП к микросхеме АЦП? ( то есть можно ли просто вывести их на разъем?)
как минимум нужна защита и входной буфер на ОУ, переключатель коэф.усиления
segment
Apr 21 2010, 18:09
Да, действительно, FT2232D отличный вариант.
Выбрал ADS7871IDB в качестве SPI АЦП. Еще как раз имеется программируемый усилитель.
Итого 14 бит * 8 каналов * 48.000 семплов = 5.4 Мбит/c что влезает в пропускную способность FT2232D.
А есть какие-нибудь готовые решения по "защита и входной буфер на ОУ" ?
"переключатель коэф.усиления" я так понял уже присутствует в ADS7871IDB
Цитата
А есть какие-нибудь готовые решения по "защита и входной буфер на ОУ" ?
резистор + TVS ?
также можно подумать о защите компа - гальваноразвязке (ADuM1xxx, Si84xx, ISO72xx).
segment
Apr 21 2010, 20:05
Ясно, самая простая защита.
Диапазон входных напряжений будет 0-2.5 В, значит резистор нужно подбирать 100-300 Ом? И какие диоды порекомендуете?
А что насчет гальваноразвязки USB ? Видел микруху ADuM4160 - но стоит под 600р,
и еще развязка питания ADuM5000 тоже примерно столько же стоит.. это дорого или нет? Денег не жалко на пару плат, но интересно, может есть более дешевые реализации.
ЗЫ
Более внимательно посмотрел на ADuM4160 - увидел что она сразу и питание от USB развязываетЗЗЫ
Еще более внимательно почитал - не развязывает она питание, по крайней мере я запутался, и везде говорят использовать дополнительный dc-dc типа ADuM5000
Вот нашел схему для развязки. Пока только запутался с какой стороны должно быть устройство, а с какой разъем подлючения..
Цитата
Диапазон входных напряжений будет 0-2.5 В, значит резистор нужно подбирать 100-300 Ом?
можно и больше - у вас вх.частота невысокая
Цитата
И какие диоды порекомендуете?
диоды спасут от пониженного напряжения, но не спасут от повышенного. лучше стабилитрон или TVS с низкой емкостью.
Цитата
А что насчет гальваноразвязки USB ? Видел микруху ADuM4160 - но стоит под 600р,
для развязки SPI хватит ADuM1401. DC-DC из дешевых SFT01L05, DET01L05, VA-0505S1.
1. на казусе активно обсуждается тема, сделайте поиск по ключевому слову "usbee" - практически все что вам надо. hi-speed usb, + ацп по требованию.
2. зависит от того, какой входной сигнал - диапазон напряжений, частот, расстояния до источника сигнала, выходное сопротивление источника сигнала и т.д. по миинмуму - последовательный резистор между разъемом и входом ацп.
3. см. п. 2.
4. см. п.1. единственное что надо сделать - завести на порт где лог. входы вторые 8бит ацп и к оставшемуся порту прикрутить управление ацп.
segment
Apr 22 2010, 17:14
Спасибо, совсем забыл по казусу поискать =)
Но на данный момент пока устраивает текущий вариант.
Вместо развязки USB получается будет развязка SPI и питания. Если ставить SFT01L05, то после него нужно фильтровать дросселем и линейный стабилизатор ставить? Ну в любом случае мне нужно 3.3В получить..
И еще, не подскажите оптимальный TVS, лучше что имеется в наличии в Мега-Электронике (megachip . ru) или Терраэлектронике, а то выбор большой..
Цитата(Сега @ Apr 21 2010, 22:09)

Да, действительно, FT2232D отличный вариант.
Выбрал ADS7871IDB в качестве SPI АЦП. Еще как раз имеется программируемый усилитель.
Итого 14 бит * 8 каналов * 48.000 семплов = 5.4 Мбит/c что влезает в пропускную способность FT2232D.
А есть какие-нибудь готовые решения по "защита и входной буфер на ОУ" ?
Вы всерьез надеетесь запихнуть оцифровку 14*8*48000 семплов через ftdi в usb ???
Моя смеяться (бугога...)
Идите в интерфейсный подфорум и изучайте работу usb.
segment
Apr 27 2010, 18:21
И тут тролли..
stoker
Apr 27 2010, 19:06
В вашей студенческой работе есть требования к полосе? Вам надо звук оцифровывать? Нужны ли вам реально 16/14 бит?
А то может быть достаточно 10? Взять LPC2148 подключить его как стандартное аудио устройство и наслаждаться...
segment
Apr 28 2010, 04:43
Да особо нет, просто нужно обосновать выбор аппаратного обеспечения, и ставить микроконтроллер только для того чтобы юзать АЦП как-то не очень.. первый вариант у нас был как раз на LPC1751, но больше привлекает идея с мостом SPI-USB через ftdi.
stoker
Apr 28 2010, 09:53
Цитата
...просто нужно обосновать выбор аппаратного обеспечения...
Если нужно обосновывать, значит поставлена задача, вы можете ее озвучить? А то может вам нужно медленные процессы мерить? Сигма-дельта + ваш любимый FTDI.
segment
Apr 28 2010, 13:22
Задача стоит измерять показания с шести компонентного датчика и со стенда вращающегося трансформатора, а также его хотят где то еще применять.
Там есть и быстрые процессы и медленные
stoker
Apr 28 2010, 20:45
Цитата(Сега @ Apr 28 2010, 17:22)

Задача стоит измерять показания с шести компонентного датчика и со стенда вращающегося трансформатора, а также его хотят где то еще применять.
Там есть и быстрые процессы и медленные
Имейте в виду, если у вас будут быстрые процессы и нужно что то регулировать в реальном времени о USB можно забыть.
segment
Apr 30 2010, 09:43
Предполагается только измерения, просто студентам будут показывать как изменяются соответствующие величины.
"Вместо развязки USB получается будет развязка SPI и питания. Если ставить SFT01L05, то после него нужно фильтровать дросселем и линейный стабилизатор ставить? Ну в любом случае мне нужно 3.3В получить..
И еще, не подскажите оптимальный TVS, лучше что имеется в наличии в Мега-Электронике (megachip . ru) или Терраэлектронике, а то выбор большой.."
segment
May 3 2010, 19:25
Во, вот такая защита пойдет ESDA6V1L?
Насчет SFT01L05 попробую сформулировать вопрос по-другому.
Нужно ли после SFT01L05 ставить сглаживающий фильтр, если после него дальше идет линейный стабилизатор со свой стандартной обвязкой в пару конденсаторов?
Цитата
Во, вот такая защита пойдет ESDA6V1L?
в АЦП какой опорник ? 2.5В ? ставьте на 3.3В. нехорошо уводить в насыщение встроенные защитные диоды. Среди PESD3V3xxx есть по несколько штук в одном корпусе.
Цитата
Нужно ли после SFT01L05 ставить сглаживающий фильтр, если после него дальше идет линейный стабилизатор со свой стандартной обвязкой в пару конденсаторов?
можно, хоть и не обязательно
segment
May 4 2010, 17:54
А мне подойдет однонаправленный TVS диод? (как на картинке в моем пред посте) Или нужен двунаправленный?
для однополярного входа нужен однонаправленный
segment
May 5 2010, 05:53
Кстати, а если в АЦП менять входы с одно полярных на дифференциальные (на разных стендах разные измерения, допустим), то ставить нужно TVS двунаправленный? Вообще нормально будет использовать двунаправленный TVS для одно полярного входа?
Цитата
Вообще нормально будет использовать двунаправленный TVS для одно полярного входа?
нет.
на вход АЦП подается только положительное напряжение ( Absolute maximum ratings / Input voltage в даташите). Если нужно измерять отрицательные напряжения - нужен сдвиг уровня на операционнике.
Цитата(ukpyr @ May 5 2010, 10:25)

нет.
на вход АЦП подается только положительное напряжение ( Absolute maximum ratings / Input voltage в даташите). Если нужно измерять отрицательные напряжения - нужен сдвиг уровня на операционнике.
Ну, почему нет? Соблюдение полярности входных напряжений - это само собой. А двунаправленный TVS использовать можно, хоть и смысла в этом нет. Разве что пристроить имеющиеся.
segment
Aug 7 2010, 10:53
Пришли компоненты, кончился отпуск, нужно доделывать =)
Набросал схему, конечно не по ГОСТ, так как еще не знаю как рисовать по стандартам, но это уже будет позже.
Пожалуйса, посмотрите на наличие косяков, делал все по даташитам, но вдруг есть проектный косяк.
1) По ADS7871 не скажу, но в общем случае CS выброшен зря, он в начальное состояние приводит логику SPI. Любая помеха, давшая лишний импульс на SCK или его потрею — и до выключения питания бардак. Подача/снятие CS приводит фазировку в порядок.
2) У FT2232C/L/D частота SPI устанавливается как 6MHz/N, возможные частоты 6, 3, 2, 1.5 MHz и так далее, смотрите, влезете ли в сетку так, чтобы и данные протолкать, и АЦП на такой частоте работал.
FT2232H (внимание, другой корпус!) — это уже Hi-speed USB и сетка частот SPI идёт как 30MHz/N. И предельная частота выше, и в районе 3-6 МГц можно с меньшим дискретом частоту подобрать.
segment
Aug 7 2010, 11:34
1) Я тоже над этим думал, вернул обратно CS, благо на гальваноразвязке есть под него пин.
2) Частота у АЦП SCLK в даташите максимальная 20МГц. А стоит FT2232D, у которого Full Speed USB. Я подумал что если поставить High Speed то быстрее оцифровывать не станет, или я не прав? На первой странице я прикидывал "Итого 14 бит * 8 каналов * 48.000 семплов = 5.4 Мбит/c что влезает в пропускную способность FT2232D."
Быстрее оцифровывать не станет, но быстрее передавать и, как следствие, стабильнее работать - вполне.
Если при обмене с АЦП при приёме данных ему надо что-то передавать (например, задания на следующий канал), то придётся использовать SPI обмен в обе стороны и тогда 5.4мбит/с с точки зрения USB удваиваются. Ешё какие-от задержки и совсем приплыли.
Нужно внимательно смотреть и аккуратно всё считать - что, как и куда пересылается в циклах обмена, включая команды MPSSE для управления CS и возможные задержки, обусловленные характером работы USB.
Да, кстати, SPI по сути байтовый, 14 бит надо бы как 16 гнать, 16*8*48000 уже больше 6 мегабит, а если в две стороны, как в предыдущем абзаце из-за одновремённой передачи команд, то уже со свистом вылетели за 12-мегабитный USB.
У FT2232 можно некратные остакти передавать/принимать, но это лишние команды и снижение средней скорости.
Если устройство единичное, то лучше сразу поставить FT2232H, у которой ещё и FIFO большие, и не думать о скорости.
Кстати, ещё же и требования к равномерности сетки оцифровки какие-то же должны быть.
Так что "микроконтроллер только для того чтобы юзать АЦП" может и имеет смысл, можно будет гарантировать что-то на тему "реальности времени".
segment
Aug 7 2010, 14:37
Да, с обменом по SPI нужно пошаманить, все выяснить. Скорее всего я пока сделаю на FT2232D, переделать под FT2232H не составит труда, плата разводится с нуля за один день, переделывается быстрее.
А вот с требованиями к равномерности сетки оцифровки пока никто не заморачивается, так как требуется просто точность и зрительное наблюдение измерений. Просто если делать более серьезное устройство - то его аналогов много готовых, с кучей плюшек. А так, для лабораторных стендов, думаю пойдет.
segment
Aug 7 2010, 16:51
Вот набросал двухслойную платку под небольшой корпус. Есть пара вопросов:
1) полигон верхний для "бутерброда" нужен?
2) можно ли оставлять полигоны земли на всей плате или необходимо полигоны земли проводить только в окрестностях микросхем?
Цитата(Сега @ Aug 7 2010, 20:51)

1) полигон верхний для "бутерброда" нужен?
Думаю, что нужен, но его размеры можно уменьшить. При этом корпус разъёма USB и его земляной контакт можно и нужно посадить на этот полигон, а корпус 15-контактного разъёма и монтажные отверстия оконтурить изолирующими кольцами бОльшей ширины, чем сейчас, или просто обойти этим полигоном. Корпус 15-контактного разъёма полезно соединить с нижним полигоном. Тоже самое можно сказать про монтажные отверстия, находящиеся в зоне нижнего полигона.
Цитата
2) можно ли оставлять полигоны земли на всей плате или необходимо полигоны земли проводить только в окрестностях микросхем?
Мне думается, что можно и так, и так, но текущий вариант логичнее с точки зрения ЭМС. Да, кстати, у Вас 8-вывод 15-контактного разъёма попал прямо на изоляционную зону совершенно необоснованно (последнюю спокойно можно сдвинуть выше).
Маленькое замечание по схеме. Вход EN2 у ADUM1401 не рекомендуется оставлять неподсоидененным.
"In noisy environments, connecting VE2 to an external logic high or low is recommended."
segment
Aug 8 2010, 17:38
Внес поправки.
EN1, EN2 у ADUM подключил к VCC1, VCC2 соответственно. Корпус USB и DB-15 подключил к земле GND1, GND2 соответственно. Уменьшил полигоны до рабочей зоны. Удалил "антенки", образовавшиеся в полигонах. Увеличил зазоры между полигонами и монтажными отверстиями до 0.5.
ЗЫ: загрузил в картинках, так как с pdf у altium морока ужасная. Если кому очень надо - я могу в pdf выложить, как в предыдущий раз.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.