Компоновка платы со смешанным сигналом для PSoC


16

Я занимаюсь разработкой печатной платы для аналоговых датчиков. Он использует внутренний АЦП на PSoC3. Как обычно, приложение очень ограничено в пространстве (11 мм х 21 мм), поэтому мне пришлось пойти на некоторые компромиссы в компоновке печатной платы, чего я бы не сделал на более крупной печатной плате.

PSoC PCB

Плата питается от регулируемых 6 В и содержит два линейных стабилизатора 5 В. MCP1702 для цифрового питания, и MIC5205 для аналогового питания. Плата считывает пять датчиков А1324 с эффектом Холла. Каждый выходной сигнал с эффектом Холла фильтруется RC-фильтром 100nF + 1k. Один датчик находится на самой плате (справа внизу). Другие 4 подключаются к правому 6-контактному разъему.

Микросхема выступает в качестве ведомого SPI, но выборки АЦП всегда проводятся между транзакциями SPI, поэтому SPI не должен мешать аналоговым сигналам.

К сожалению, я все еще вижу некоторый шум (около 1,5 LSB в 12 битах) на аналоговых сигналах, и мне интересно, есть ли что-то, что я мог бы сделать по-другому в макете, чтобы улучшить его.

PSoC Layout

Пожалуйста, откройте изображение в новой вкладке, чтобы увидеть его в более высоком разрешении.


Добавлено:

Другие конструкции печатных плат, которые я сделал, используя MCP3208 , и те же двойные источники питания 5 В, те же датчики и те же фильтры RC, не достигли заметного шума при 12 битах.

АЦП на PSoC3 имеет тип дельта-сигмы. Эта версия PSoC ограничена 12 битами, но другой номер детали имеет 16-битный АЦП (хотя и с более низкой частотой дискретизации).

Я забочусь о шуме и очень хотел бы продвинуть его немного дальше к 12 ENOB. Причина не в точности, а в измерении скорости. В настоящее время этот уровень шума делает невозможным точное управление положением и скоростью робота.


Добавлено:

Схематическое. Извините, это немного тесновато, но вы можете просто прочитать значения.

PSoC электрическая схема


1
Кроме того, прекратите использовать сетевые этикетки! Ваша схема не настолько сложна, чтобы требовать их, и фактически не показывая соединения, вы значительно усложняете поиск соединений. Опять же , цель схемы является сделать предполагаемой функции и функциональные схемы визуально очевидны . Затем вы позволяете компьютеру преобразовать визуальное представление в фактическую физическую компоновку устройств (в этом компьютеры очень хороши).
Коннор Вольф

1
@Rocketmagnet - Они, безусловно, полезны для человека, рисующего схему . Они совершенно отвратительны для всех остальных .
Коннор Вольф

1
Кроме того, если у вас возникли проблемы с необходимостью прокладывать провода из-за нехватки места, вам крайне необходимо изучить функции замены выводов в Altium. По сути, вы можете указать выводы, которые функционально заменяются в определении компонента (IE различные выводы ввода / вывода), а затем, когда вы маршрутизируете PCB, вы можете запустить трассировку для любого из выводов, которые будут работать, а не только для одного Вы указали в схеме. Затем вы можете синхронизировать маршрут, который вы выбрали на печатной плате, со схемой.
Коннор Вольф

1
@FakeName, в то время как соединение с метками может затруднить отслеживание контура, перерисовка каждого символа для создания чистой и чистой схемы с красивыми прямыми линиями может в четыре раза увеличить время ввода схемы. Мне бы очень хотелось увидеть идеальную схему, но я не уверен, что она реалистична.
Фотон

1
@ RocketMagnet, очень маленькая площадь печатной платы не означает, что вы не можете нарисовать свою схему на бумаге размера D.
Фотон

Ответы:


13

Вы всегда будете иметь некоторый шум на АЦП, особенно типы SA (Последовательное приближение) на кристалле микроконтроллера. Сигма-дельта лучше работает для гауссовского шума, поскольку они интегрируют его. Не ожидайте 12 ENOB от 12-битного АЦП.

Шум контроллера является причиной, по которой большинство микроконтроллеров не дают более высокого разрешения, чем 10-битное, а AVR предлагает возможность остановить микроконтроллер во время сбора данных АЦП, что должно подтвердить, что по крайней мере часть шума исходит от контроллера ,

Но вопрос: тебя это волнует? 1,5-битный шум на 12-битном АЦП все еще оставляет вам более 10 бит или лучше, чем 0,1%. Насколько точен ваш датчик Холла? Другие компоненты в цепи?

редактировать
Вы , кажется , использовать внутренний генератор в PSoC, так как я не вижу кристалл на схеме. Все выглядит хорошо: у вас правильная развязка. Помимо внутренних часов, единственной высокоскоростной частью в схеме, кажется, SPI, но вы говорите, что это будет молчать во время измерений. Остальная часть платы имеет постоянный ток или, вероятно, относительно редко, как датчики с эффектом Холла. И это Damn Small ™, который также помогает: более короткие следы улавливают меньше шума. Конечно, я мог бы придираться к MCP1702, который я повернул бы на 90 ° против часовой стрелки, чтобы выходной конденсатор можно было разместить еще ближе к контактам, но это не решит проблемы.

Я вижу только одно изменение в макете, которое может улучшить ваше отношение сигнал / шум:

введите описание изображения здесь

В техническом паспорте предложено разделение аналоговой и цифровой наземных плоскостей на «Оптимальные аналоговые характеристики» (стр. 10).

В остальном: это маленькая доска, как я уже сказал, это означает короткие следы и развязку в пределах нескольких мм. Поэтому я хотел бы еще раз взглянуть на источник шума. Главный подозреваемый - часы PSoC. PSoC может работать при очень низком напряжении питания, и это уменьшит его шум. Конечно, было бы очень полезно, если бы VDDA также пришлось снизить, но я нигде в таблице не читал, что VDDA не должен быть выше, чем VDDD.

Далее АЦП. На странице 55 таблицы указано, что SINAD 66 дБ, это 11 бит, что близко к тому, что вы получаете сейчас. Лист данных A1324 дает нам шум 7 мВрр при напряжении покоя 2,5 В. Это также намного меньше, чем отношение сигнал / шум 72 дБ, которое может дать 12-битное напряжение . Вы можете немного улучшить это с помощью дополнительной фильтрации.

Вы упоминаете о лучшей производительности MCP3208, но это АЦП вдали от микроконтроллера, и это может объяснить, как АЦП SA может работать лучше, чем сигма-дельта с тем же разрешением.

Итак, варианты, которые я вижу: снизить напряжение цифрового источника питания и разделить аналоговое и цифровое заземление.


Это очень интересная идея о снижении цифрового напряжения питания PSoC. VDDA, безусловно, может быть выше, чем VDDD.
Ракетный

Итак, вы думаете, я должен отключить VSSA от термопары? Я фактически отправил это как совершенно новый вопрос .
Ракетный

2

Я согласен с вышеизложенным. 1.5LSB шума довольно разумно. http://www.cypress.com/?docID=39346 показывает минимальный SINAD 66 дБ в 12-битном режиме, предлагая ENOB = 10,7.

Я знаю, что это не прямой ответ на ваш вопрос, но я собираюсь интерпретировать вопрос как «как я могу исправить свои проблемы с контролем скорости?» а не «Как мне получить более 10,5 ENOB?».

Как вы дифференцируетесь? Достаточно ли у вас запасных тактов, чтобы сделать что-то более гладкое, чем центральная разница с двумя точками? Может быть, получится что-то 5 сэмплов, оптимизированное в Matlab?

Кроме того, это может звучать немного забавно, но шум скорости ухудшается, когда вы производите выборку быстрее

1LSВΔT

Не оскорблять, но также быстро взглянуть, чтобы убедиться, что в вашем контроле скорости нет ничего глупого, например, проблемы с преобразованиями между целыми числами со знаком и без знака, и убедиться, что ваши целые числа достаточно широки, чтобы избежать ошибок переполнения при различении , Мои собственные уравнения управления часто бывают достаточно сложными, и я иногда явно разыгрываю каждую операцию.

Наконец, хотя, возможно, наиболее вероятно, вы теряете эффективные биты сверху, не увеличивая почти до полной шкалы? Если это так, вы можете усилить или, возможно, предоставить меньший Vref.


Мы рассчитываем положение и скорость, используя альфа-бета-фильтр . Я понимаю, что скорость шума увеличивается с увеличением частоты дискретизации, если делать это наивно. Я уверен, что шум скорости не из-за ошибки знака. И мы уже почти достигли полной шкалы, так что я больше не могу усилить усиление, не рискуя попасть в верх или низ диапазона.
Ракетный

Не могли бы вы сказать, что в макете нет улучшений?
Ракетный

Пока ничего не вижу. Как вы усиливаете датчики Холла? Вы действительно рассматривали выходные данные фильтров AB и управляющих уравнений как проверку реальности? Заглянул на шум на ваших регуляторах? Возможно, будет полезно сделать формальный бюджет шума для всей системы
Скотт Сейдман

1
Но! Другое преимущество дифференциального режима заключается в том, что он позволяет увеличить частоту дискретизации в 4 раза, что позволяет выполнять передискретизацию. Это должно немного снизить шум.
Ракетный

1
Может быть, заглушка обхода на Vref (не знаю, как это сделать, это в таблице данных). Кроме того, я думаю, что вы очень близки к идеальному ENOB для АЦП PSOC 3 в 12 битах, если не в идеале, так что вы сделали все, что могли!
Скотт Сейдман
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.