Тимофей Носов
Аналогово-цифровой преобразователь на 128 входов(материал представлен тезисно, более подробно в прилагаемых файлах см внизу)
Адресация входов.
Основой АЦП-128 является однокристальный микроконтроллер компании Microchip. Расширение числа входов АЦП до 128 выполнено за счет использования аналоговых мультиплексоров. Это предопределяет особую специфику адресации.
Входы сгруппированы в две матрицы по 64 входа.
Каждая матрица содержит 8 модулей.
Каждый модуль содержит 8 входов.
Таким образом, количество входов рассчитывается как
(2 матрицы) * {(8 модулей) * (8 входов)} = всего 128 входов
Для лучшего восприятия организации матриц входов их можно представить в виде двух таблиц, где каждая таблица – это матрица, строки – это модули, а столбцы – это входы в модулях. Это в свою очередь определяет адресацию каждого входа.
Матрица 1
|
Вход "1"
|
Вход "2"
|
Вход "3"
|
Вход "4"
|
Вход "5"
|
Вход "6"
|
Вход "7"
|
Вход "8"
|
Модуль 1-1
|
1-1-1
|
|
|
|
|
|
|
1-1-8
|
Модуль 1-2
|
|
1-2-2
|
|
|
|
|
1-2-7
|
|
Модуль 1-3
|
|
|
1-3-3
|
|
|
1-3-6
|
|
|
Модуль 1-4
|
|
|
|
1-4-4
|
1-4-5
|
|
|
|
Модуль 1-5
|
|
1-5-2
|
|
1-5-4
|
1-5-5
|
|
|
|
Модуль 1-6
|
|
|
1-6-3
|
|
|
1-6-6
|
|
|
Модуль 1-7
|
|
1-7-2
|
|
|
|
|
1-7-7
|
|
Модуль 1-8
|
1-8-1
|
|
|
|
|
|
|
1-8-8
|
См. выделенное белым: второй вход в пятом модуле в первой матрице будет иметь адрес 1-5-2.
Опрос входов.
Каждый вход имеет адрес в формате "Матрица-Модуль-Вход". Для опроса определенного входа в сторону АЦП надо послать запрос из трех символов десятичных цифр, например 152 (без пробелов и тире).
Допустимые диапазоны значений десятичных цифр для параметров
"матрица" – [1…2]
"модуль" – [1…8]
"вход" – [1…8]
Существует специальный запрос вида 000 , который опрашивает все 128 входов одновременно, начиная с первой матрицы, первого модуля, первого входа. На все остальные комбинации символов в запросе – АЦП возвращает фразу Error request! - Ошибка запроса!
Расчет значения измерения.
Обмен данными с АЦП построен на принципе запрос-ответ. В ответ АЦП возвращает 10-битный результат преобразования – два числа в 16-ричном формате (т.е. первый старший "hi" второй младший "lo" байт).
Расчет по формуле:
( hi*256 + lo ) * 5вольт / 1024 = напряжение на входе.
Например, в ответ на запрос пришло два числа 03 F0 (т.е. число 3 и 240 в десятичном формате): (3*256+240) *5 /1024 = 4,9218 вольт.
В ответ на спец запрос 000 будет возвращено 128*2 = 256 чисел в 16-ричном формате.
Описание узлов АЦП (плат).
1) Плата сопряжения с ПК + питание
(фото нет, только рисунок платы)
2) Базовая плата контроллера с расширителем
Базовая плата имеет 16 штук т.н. Z-входов. Каждый вход маркирован цифрами, например, Z-2-4. Это означает, что на этот вход адресует 4 модуль во второй матрице. Т.е. Z-вход является индивидуальным для каждого модуля входов.
Шина селекторов – три линии s0, s1, s2 является общей для всех модулей как для первой матрицы, так и для второй. См. схему.
Предполагается, что в одном корпусе будут находиться:
– плата сопряжения с ПК и
– базовая плата с контроллером.
Линии в сторону модулей входов целесообразно сделать на разъемных соединениях, например, розетки на корпус и вилки на шнур типа DB9.
Всего требуется 6 линий в сторону каждого модуля входов:
1) минус питания – общий провод;
2) плюс питания;
3) линия селектора s0;
4) линия селектора s1;
5) линия селектора s2;
6) линия индивидуального Z-выхода.
3) Модуль входов (всего 16 модулей по 8 входов каждый)
Модуль имеет 8 конечных входов. Упрощенно говоря, в готовой конструкции первые две цифры в адресе конкретного входа будут определяться местом включения индивидуального Z-входа; т.е. один и тот же модуль может быть подключен к любому из 16 входов.
Организация питания модулей
Необходимо обеспечить питание модулей входов от терминальных площадок, т.к. съем питания с других линий может привести к погрешностям измерений (микроконтроллеру требуется стабильное опорное напряжение).
Необходимо соблюдать условие общей земли (минусовая линия); это правило касается случая альтернативного питания. Разъемы альтернативного питания можно не устанавливать на плату.
Ну и самое главное, схема
ПС
Демо прошивка позволяет испыть работу АЦП128 по всем матрицам и модулям. Ограничение касается адресации выбора входов у модулей. В демо прошивке жестко прописан вход №1 для каждого модуля.
Также заблокирован опрос всех входов.
Прошивка подходит для микроконтроллеров типа PIC16F873A PIC16F876А.
Файлы: (чтобы такого вам дать...)
Печатные платы
Прошивка (демо)
Справочное руководство
Описание работы модуля АЦП
Полезные ссылки:
Попробуй сделать печатную плату на кухне
Собери себе подходящий программатор
Узнай как прошить микроконтроллер прошивкой
Научись программировать и делать прошивки
Задай вопрос или найди ответ в форуме
|