Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Многофункциональные выводы микроконтроллеров
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
Merovey
На рисунке представлен один из способов решения проблемы с нехваткой ног:


Описание идет такое:
Цитата
Аналоговый вход управляет двумя цифровыми выходами. В этом случае аналоговый вход соединяется с источником опорного напряжения 2.5В. Такое соединение может пригодиться, если в качестве Vref АЦП используется напряжение питания 5В и требуется скорректировать результат преобразования под конкретное значение напряжения питания. Коррекцию можно осуществить с помощью 2.5-В прецезионного источника напряжение (ИОН), если учесть, что значение 2.5В соответствует 128d=80h для 8-битного АЦП.

Вывод МК соединен с двумя входами компараторов. Делитель напряжения устанавливает 3В на неинвертирующем входе компаратора А и 2 В на инвертирующем входе компаратора В. Когда данный вывод программируется как вход, считывается аналоговая величина, а если как цифровой выход, то при НИЗКОМ уровне на нем, выходной уровень компаратора А также будет НИЗКИМ. Если на цифровом выходе появится ВЫСОКИЙ логический уровень, то в НИЗКИЙ уровень перейдет выход компаратора В. Данная схема будет полезна в том случае, когда нет необходимости в одновременном появлении НИЗКИХ логических уровней на выходах обоих компараторов. Подобные методы также применимы и при организации только цифровых входов и выходов, если например, применить резистивный делитель напряжения на двух резисторах вместо источника опорного напряжения 2.5В, когда вывод МК сконфигурирован как цифровой вход.


Со второй частью более менее разобрался. Я так понял, если дадим напряжение более трех вольт на выходе компаратора А получим "0" а компаратора B - "1". В промежутке между 2 и 3 В получаем на обоих выходах 1, и менее 2 В, получаем на выхода А "1", и на выходе В "0". Не понял, какую функцию несет корректирующая часть цепи? и как осуществляется измерение аналогового сигнала (по сути, где вход)?
rezident
Что-то непонятно. Три входа (один МК и два компаратора) соединены вместе, а кто или что в таком случае является источником сигнала, т.е. выходом? cranky.gif Или "аналоговый вход микроконтроллера" нужно читать как "аналоговый вЫход микроконтроллера"? laughing.gif Откуда "дровишки", то бишь эта схема с описанием?
SysRq
Цитата(rezident @ Oct 30 2009, 17:15) *
Или "аналоговый вход микроконтроллера" нужно читать как "аналоговый вЫход микроконтроллера"?
Если назначить ногу порта МК выходом, то можно подать +5 и 0 на компараторы (что не повлияет на 2,5В REF). Если включить альтерантивную функцию входа АЦП на ноге МК, то: а) около ~2.5В попадет на компараторы б) при этом еще оцифровываем некий источник 2,5В REF. Так, вроде smile3046.gif
demiurg_spb
Нахрена козе баян?!
Когда маловато пинов проще подключить на SPI сдвиговый регистр или использовать MCU с большим количеством портов.
Merovey
Цитата(rezident @ Oct 30 2009, 17:15) *
Откуда "дровишки", то бишь эта схема с описанием?


Схема из книги "Аналоговые интерфейсы микроконтроллеров" Стюарта Болла


Цитата(SysRq @ Oct 30 2009, 22:39) *
Если назначить ногу порта МК выходом, то можно подать +5 и 0 на компараторы (что не повлияет на 2,5В REF). Если включить альтерантивную функцию входа АЦП на ноге МК, то: а) около ~2.5В попадет на компараторы б) при этом еще оцифровываем некий источник 2,5В REF. Так, вроде smile3046.gif


Если просто 0-5В тогда пропадает возможность подать на оба выхода компараторов единицы.. нужно напряжение от 2 до 3 В. Каким образом оцифровываем, и куда его подключаем?


Цитата(demiurg_spb @ Oct 30 2009, 23:42) *
Нахрена козе баян?!
Когда маловато пинов проще подключить на SPI сдвиговый регистр или использовать MCU с большим количеством портов.


А если MCU с наибольшем количеством ног не подходит, но не хватает небольшого кол-ва?
vvs157
Цитата(Merovey @ Oct 31 2009, 18:45) *
А если MCU с наибольшем количеством ног не подходит, но не хватает небольшого кол-ва?
HC595 вас спасет
SysRq
Цитата(Merovey @ Oct 31 2009, 18:45) *
Если просто 0-5В тогда пропадает возможность подать на оба выхода компараторов единицы..
Одна и та же нога МК может быть и входом, и выходом. В случае входа на компараторы и попадёт 2,5В.
rezident
Цитата(Merovey @ Oct 31 2009, 20:45) *
А если MCU с наибольшем количеством ног не подходит, но не хватает небольшого кол-ва?
Ну-ка, назовите навскидку хотя бы три разных маловыводных микроконтроллера, имеющих встроенный ЦАП (аналоговый выход). Весьма надуманная, притянутая за уши и другие выступающие части задача. laughing.gif
V_G
Цитата(rezident @ Nov 1 2009, 09:36) *
Ну-ка, назовите навскидку хотя бы три разных маловыводных микроконтроллера, имеющих встроенный ЦАП (аналоговый выход). Весьма надуманная, притянутая за уши и другие выступающие части задача.

Про надуманность согласен полностью. Американам просто для книжек реальных примеров не хватает, также как и в их боевиках.
А если под ЦАП иметь в виду ШИМ с фильтром, то контроллеров гораздо больше трех.
А про маловыводность, если 44 ноги - маловыводный, xmega имеет чистый ЦАП, у picoв тоже что-то есть, но в их сторону особо не гляжу.
rezident
Цитата(V_G @ Nov 1 2009, 06:18) *
А если под ЦАП иметь в виду ШИМ с фильтром, то контроллеров гораздо больше трех.
Это еще более бредовый пример. sad.gif Даже бредовее, чем у топикстартера. На двух пинах GPIO (реализовав I2C) можно сделать как минимум 8*16=128! каналов, причем и ввода и вывода одновременно (PCF8575). А на трех пинах (реализовав SPI) вообще сколько в голову взбредет, цепляя каскадно-последовательно уже упомянутые ранее 74HC595.
Merovey
Цитата(rezident @ Nov 1 2009, 05:04) *
Даже бредовее, чем у топикстартера.


Ну я только начинаю разбираться, поэтому и спрашиваю ).

Цитата(rezident @ Nov 1 2009, 05:04) *
На двух пинах GPIO (реализовав I2C) можно сделать как минимум 8*16=128! каналов, причем и ввода и вывода одновременно


Имеется ввиду типа "монтажного И", как вот здесь http://easyelectronics.ru/montazhnoe-i.html?
AHTOXA
Цитата(Merovey @ Nov 1 2009, 13:19) *
Имеется ввиду типа "монтажного И"


Нет. Имеются в виду микросхемы-расширители ввода-вывода, rezident же привёл ссылки на даташиты. Такая микросхема подключается к контроллеру с использованием двух-трёх ног, и добавляет, скажем 8 ног. Причём подключать можно несколько таких микросхем. Поэтому ухищрения для экономии ножек контроллера становятся не нужны.
Merovey
Цитата(AHTOXA @ Nov 1 2009, 11:25) *
Нет. Имеются в виду микросхемы-расширители ввода-вывода, rezident же привёл ссылки на даташиты. Такая микросхема подключается к контроллеру с использованием двух-трёх ног, и добавляет, скажем 8 ног. Причём подключать можно несколько таких микросхем. Поэтому ухищрения для экономии ножек контроллера становятся не нужны.


Понятно, не сразу сообразил smile.gif. Всем спасибо за ответы!
Merovey
А еще такой вопрос. Как-то встречал информацию, что ПЛИС применяются для решения проблемы с входами ввода-вывода? Это действительно так? И вообще какое место между микроконтроллерами и ПЛИС? Я раньше считал, что ПЛИС и микроконтроллеры, решают примерно один класс задач, и выбор того или того зависит от личных предпочтений. Можно в двух словах объяснить область применения того и другого, и как они согласуются друг с другом? Просто google и поиск по форуму не помог. Как правило, идет описание либо того либо того.
V_G
ПЛИС часто используют для решения относительно простых задач на более высоких частотах, чем МК. ПЛИС, грубо говоря, это схема на традиционных цифровых ИС (элементарной логике, счетчиках, регистрах и пр. ), засунутая в один корпус. И проектируют начинку ПЛИС часто методами схемотехнического проектирования, хотя могут применять и языки типа VHDL, AHDL... Текст на этих языках и программой-то трудно назвать. Это скорее уравнения работы устройства. Можно задавать работу ПЛИС и в виде таблицы состояний, и комбинированно - в виде уравнений и таблицы. Я так делал контроллер индикатора, содержащий дешифратор для семисегметнных индикаторов (4 штуки) и сдвиговый регистр для последовательной закачки данных в индикатор. В общем, нечто вроде интеллектуального расширителя выходов микроконтроллера. Частоты высокой там не требовалось, а вот большое число ножек ПЛИС было весьма кстати.
А МК - чисто программное устройство, гораздо более гибкое, чем ПЛИС, но и менее быстрое в принципе. И пишете вы для него программу на ассемблере или Си, схемотехническое проектирование почти отсутствует.
mempfis_
Цитата(Merovey @ Nov 2 2009, 09:12) *
И вообще какое место между микроконтроллерами и ПЛИС? Я раньше считал, что ПЛИС и микроконтроллеры, решают примерно один класс задач, и выбор того или того зависит от личных предпочтений. Можно в двух словах объяснить область применения того и другого, и как они согласуются друг с другом?


ПЛИС это как бы много одинаковых ячеек содержащих примитивные логические элементы и тригерры, а также цепей соединения между ними. Когда описываете апаратуру (AHDL/VHDL/VERILOG/схема) то программа (например QUARTUS) производит трассировку кристала - т.е. определяет какие ячейки с скакими надо соединить чтобы получить тот или иной элемент (например дешифратор, синхронный счётчик, схему сравнения и т.п.). Т.е. меняя связи между ячейками можете получить широкий набор цифровых схем в одной микросхеме.

Микроконтроллер это большой цифровой автомат (поменять чтолибо в его структуре вы не сможете) который используя программу из энергонезависимой памяти определяет какие он должен выполнить действия, и на основе своего текущего состояния с учётом выполненных действий он переходит в другое состояние.

В ПЛИС можно сделать что угодно из цифровых которые должны выполнять определённые действия (например счётчик считает до 264 и далее сбрасывается в 0). Но если необх. действовать по некоторому алгоритму с учётом многих факторов то тут однозначено рулит мк - например регулирование температуры с периодическим опросом датчиков и учётом требуемомго диапазона.

Вобщем когда пощупаете и то и другое то сами всё поймёте smile.gif
Merovey
Цитата(mempfis_ @ Nov 2 2009, 12:27) *
В ПЛИС можно сделать что угодно из цифровых которые должны выполнять определённые действия (например счётчик считает до 264 и далее сбрасывается в 0). Но если необх. действовать по некоторому алгоритму с учётом многих факторов то тут однозначено рулит мк - например регулирование температуры с периодическим опросом датчиков и учётом требуемомго диапазона.


Т.е. условно говоря, ПЛИС можно рассматривать, либо как расширитель функций микроконтроллера, либо примитивный микроконтроллер (для случаем элементарных задач)?
BORIV
Цитата(Merovey @ Nov 3 2009, 16:06) *
Т.е. условно говоря, ПЛИС можно рассматривать, либо как расширитель функций микроконтроллера, либо примитивный микроконтроллер (для случаем элементарных задач)?

Любую задачу можно решить программно или аппаратно. Решая программно - получаем гибкость, аппаратно - скорость.
Благодаря тому, что быстродействие современных контроллеров, для большинства реальных задач, - велико, они более популярны.
Но ПЛИС вовсе не расширитель микроконтроллера и не примитивный контроллер. ПЛИС - это средство для решения задачи аппаратно, - максимально быстро.
Merovey
Всем спасибо, наконец в голове уложилось biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.