Н. Ракович
Расширение функциональных возможностей сети microLAN
В предыдущих статьях, посвящённых сети MicroLAN, были рассмотрены принципы построения и приборы для создания первичной сети, микросхемы устройств хранения информации и измерения температуры.
Однако, существует ряд приборов, которые позволяют значительно расширить функциональные возможности сетей и применить нестандартные способы решения задач управления и контроля.
Аналого-цифровой преобразователь DS2450
О необходимости применения АЦП в системах управления и контроля было сказано достаточно много, поэтому не будем утомлять Вас ещё одной “песней во славу” АЦП.
DS2430 является аналого-цифровым преобразователем последовательного приближения с аналоговым мультиплексором 4®1. Каждый порт имеет свой регистр, в котором хранятся диапазон входных напряжений, разрешение и пороговые значения. При условном поиске пороговые значения используются как флаги при выходе измеряемого напряжения за пределы заданного диапазона. Флаг устанавливается без обращения к ведущему шины для выполнения сравнения (на каждый порт приходится по два флага) в том случае, если измеренное напряжение слишком велико или слишком мало. Ведущим шины инициализируется каждое аналого-цифровое преобразование. Особенностью мультиплексора является возможность работы порта как в режиме аналогового входа, так и цифрового выхода с открытым стоком. После установки режима цифрового выхода ведущий шины может непосредственно включать или отключать транзистор с открытым стоком выбранного порта.
Все установки хранятся в статическом ОЗУ, пока прибор использует “паразитное питание” от однопроводной шины или подключен к отдельному источнику через вывод Vcc. При подаче питания устанавливается флаг сброса, что говорит ведущему шины о необходимости восстановления установок микросхемы до начала работы.
Блок-схема прибора представлена на рис. 1. Как и все приборы MicroLAN, DS2450 содержит ПЗУ с уникальным серийным номером, групповым кодом и контрольной суммой. “Паразитного” питания хватает только на работу в режиме связи с ведущим шины. Для аналого-цифрового преобразования необходимо подключение шины к дополнительному источнику напряжения 5 В или подача питания на вывод Vcc.
Рис. 1. Структурная схема АЦП DS2450
Принцип аналого-цифрового преобразования (АЦ-преобразования) с последовательным приближением подробно описан в литературе по применению АЦП и ЦАП. Поэтому перейдём к рассмотрению регистров микросхемы DS2450.
Все регистры DS2450 расположены в 24 соседних байтах и организованы в виде трёх 8-байт страниц. Первая страница (страница 0), названная страницей чтения преобразования (conversion read-out), содержит область памяти, где размещаются результаты АЦ-преобразования для последующего чтения их ведущим шины. Начиная с младшего адреса порта А, каждому порту отведено 16 бит для хранения результата преобразования (табл. 1). При подаче питания во все регистры чтения преобразования по умолчанию записываются нули. Старший значащий бит результата преобразования всегда находится на одном месте, независимо от требуемой разрядности. При разрядности меньше 16 бит для формирования 16-бит результата младшие значащие биты будут дополняться нулями. Если в конкретном случае используются не все четыре порта, то для первого порта будет применён вход D, для второго — С и так далее. При этом минимизируется загрузка однопроводной шины и сокращается время проверки правильности передачи данных.
Таблица 1. Страница чтения преобразования (страница 0)
Адрес |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
00 |
А |
А |
А |
А |
А |
А |
А |
мл.бит |
01 |
ст.бит |
А |
А |
А |
А |
А |
А |
А |
02 |
В |
В |
В |
В |
В |
В |
В |
мл.бит |
03 |
ст.бит |
В |
В |
В |
В |
В |
В |
В |
04 |
С |
С |
С |
С |
С |
С |
С |
мл.бит |
05 |
ст.бит |
С |
С |
С |
С |
С |
С |
С |
06 |
D |
D |
D |
D |
D |
D |
D |
мл.бит |
07 |
ст.бит |
D |
D |
D |
D |
D |
D |
D |
Управление портами и информация о состоянии этих портов расположена на странице 1 (табл. 2). Как и в случае страницы чтения преобразования, на каждый порт отведено по 16 бит. Четыре младших бита RC3-RC0 — двоичное представление числа преобразованных бит. Код 1111 (1510) формирует 15-бит результат. В случае полного 16-бит преобразования должен быть код 0000.
Таблица 2. Страница управления и состояния портов (страница 1)
Адрес |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
08 |
OE-A |
OC-A |
0 |
0 |
RC3-A |
RC2-A |
RC1-A |
RC0-A |
09 |
POR |
0 |
AFH-A |
AFL-A |
AEH-A |
AEL-A |
0 |
IR-A |
0A |
OE-B |
OC-B |
0 |
0 |
RC3-B |
RC2-B |
RC1-B |
RC0-B |
0B |
POR |
0 |
AFH-B |
AFL-B |
AEH-B |
AEL-B |
0 |
IR-B |
0C |
0E-C |
0C-C |
0 |
0 |
RC3-A |
RC2-A |
RC1-A |
RC0-A |
0D |
POR |
0 |
AFH-C |
AFL-C |
AEH-C |
AEL-C |
0 |
IR-C |
0E |
0E-D |
0C-D |
0 |
0 |
RC-3 |
RC2-D |
RC1-D |
RC0-D |
OF |
POR |
0 |
AFH-D |
AFL-D |
AEH-D |
AEL-D |
0 |
IR-D |
Биты ОС (управление выходом) и ОЕ (разрешение выхода) управляют работой порта на выход. При работе порта как аналогового входа (приём данных) бит ОЕ должен быть установлен в “0”, при этом состояние бита ОС игнорируется. Если бит ОЕ установлен в “1”, то при установке ОС в “0” выходной транзистор данного порта будет открыт, а при ОС = 1 — заперт. Например, при подключении резистора нагрузки на “плюс” питания, бит ОС будет непосредственно преобразовываться в напряжение, эквивалентное его логическому состоянию.
С помощью бита IR во втором байте управления и состояния выбирается диапазон входных напряжений. Установка IR в “0” позволяет получить максимально возможный результат преобразования при напряжении 2,25 В. При IR = 1 получение такого же результата возможно при входном напряжении 5,1 В.
Битами AEL и AEH устанавливается разрешение ответа прибора на команду Условного Поиска в случае, когда результаты преобразования выше (AEH) или ниже (AEL) пороговых значений, определённых при установке. Флаги AFL и AFH указывают ведущему шины на превышение установленных порогов при последнем преобразовании. Флаги сбрасываются автоматически, если результат нового преобразования не выходит за установленные пределы.
Бит POR (сброс по включению питания) автоматически устанавливается в “1” на всё время выполнения цикла сброса установок прибора при включении питания. Пока этот бит установлен, прибор будет отвечать на команду Условного Поиска для того, чтобы сообщить ведущему шины о том, что данные управления и пороги не действительны. По завершении цикла сброса бит POR сбрасывается ведущим шины. Это может выполняться одновременно с установкой данных управления и порогами, при этом ведущий шины записывает в POR “1”. В этом случае прибор отвечает на команду Условного Поиска, но не генерирует сброса.
Регистры пороговых напряжений каждого порта расположены на странице памяти 2, начиная с младшего бита нижнего порога. При включении питания по умолчанию устанавливаются: нижний порог — 00h, верхний порог — FFh. Размер порогов всегда составляет 8 бит. Когда разрешение больше или равно 8 бит, то флаг превышения порога будет установлен, если 8 старших значащих бит результата преобразования дают число, большее содержимого регистра AFH или меньшее содержимого регистра AFL. При разрешении менее 8 бит младшие значащие биты регистров пороговых напряжений игнорируются.
Кроме этих страниц, существует ещё одна страница памяти (адрес — 18…1F), используемая для калибровки АЦП при его изготовлении. Доступ к этой странице возможен через команды Чтение памяти или Запись в память. Изменение данных на этой странице приведёт к нарушению калибровки прибора или неработоспособности. При подключении микросхемы к внешнему источнику питания аналоговая часть прибора должна находиться в активном состоянии, что реализуется записью значения 40h по адресу 1С после включения питания.
Аналого-цифровое преобразование
АЦ-преобразование для одного или нескольких портов с разрешением, определённым на странице 2 (табл. 3), выполняется по команде “Преобразование” (Convert). Преобразование занимает от 60 до 80 мкс на бит плюс время выхода (160 мкс) после завершения команды преобразования. Например, для четырёх портов с 12-бит разрешением время выполнения команды преобразования составит 4х12х80 мкс + +160 мкс = 4 мс. Если DS2450 подключен к внешнему источнику питания через вывод Vcc, то ведущий шины в это время может работать с другими приборами сети. В случае питания прибора от однопроводной шины ведущий шины не может связываться с другими приборами, так как он должен обеспечить питанием DS2450 на всё время преобразования.
Таблица 3. Страница пороговых значений (страница 2)
Адрес |
Бит7 |
Бит6 |
Бит5 |
Бит4 |
Бит3 |
Бит2 |
Бит1 |
Бит0 |
10 |
СБМБ* |
A |
A |
A |
A |
A |
A |
МБМБ*** |
11 |
СБСБ** |
A |
A |
A |
A |
A |
A |
МБСБ**** |
12 |
СБМБ |
B |
B |
B |
B |
B |
B |
МБМБ |
13 |
СБСБ |
B |
B |
B |
B |
B |
B |
МБСБ |
14 |
СБМБ |
C |
C |
C |
C |
C |
C |
МБМБ |
15 |
СБСБ |
C |
C |
C |
C |
C |
C |
МБСБ |
16 |
СБМБ |
D |
D |
D |
D |
D |
D |
МБМБ |
17 |
СБСБ |
D |
D |
D |
D |
D |
D |
МБСБ |
*СБМБ - старший бит младшего байта;
**СБСБ - старший бит старшего байта;
***МБМБ - младший бит младшего байта;
****МБСБ - младший бит старшего байта
Цифровой потенциометр DS2890
Среди приборов, позволяющих расширить функциональные возможности сети microLAN, особое место занимает микросхема DS2890. Этот прибор представляет собой управляемый потенциометр с линейной характеристикой, сопротивлением 100 кОм и шагом 1/256. Управление потенциометром осуществляется по однопроводной шине. Широкий диапазон рабочих напряжений (0ё11 В), независимость напряжения на выводе потенциометра от напряжения питания и от напряжения, приложенного к другим выводам потенциометра, делает DS2890 идеальным средством для использования во многих системах управления.
Потенциометр имеет два вывода — RL и RH, между которыми расположены 255 резистивных сегментов (рис. 2). Сопротивление между движком и одним из выводов RL или RH устанавливается через однопроводную шину. При отключении питания или перезапуске состояние прибора устанавливается по умолчанию. Из рис. 2 видно, что в состав DS2890 входит 5 основных элементов: функциональный контроллер однопроводной шины, контроллер потенциометра, 64-бит ПЗУ, резистивная матрица и схема “паразитного” питания. Как уже упоминалось, управление DS2890, включающее выбор прибора, позиционирование/считывание движка потенциометра и текущего состояния прибора, осуществляется по однопроводной шине. Выполнение функций потенциометра возможно только после успешного завершения команды функций ПЗУ.
Рис. 2. Стуктурная схема потенциометра DS2890
В табл. 4 и 5 показана структура регистра параметров потенциометра, который представляет собой байт чтения и содержит свойства DS2890 и перспективных однопроводных потенциометров.
Таблица 4. Структура регистра параметров потенциометра
Параметры |
Бит |
Описание |
PC: характеристика потенциометра |
0 |
0: логарифмическая 1: линейная |
WSV: энергозависимость положения движка |
1 |
0: положение движка энергонезависимо 1: положение движка сохраняется только при наличии питания |
NP: число потенциометров |
2..3 |
00: один потенциометр 01: 2 потенциометра 10: 3 потенциометра 11: 4 потенциометра |
NWP: число положений движка |
4..5 |
00: 32 положения 01: 64 положения 10: 128 положений 11: 256 положений |
PR: сопротивление потенциометра |
6..7 |
00: 5 кОм 01: 10 кОм 10: 50 кОм 11: 100 кОм |
Таблица 5. Структура регистра параметров потенциометра
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
PR |
NWP |
NP |
WSV |
PC |
Для включения/отключения подкачки заряда (описание работы приводится далее) DS2890 и управления параметрами перспективных однопроводных потенциометров, которые могут иметь в своём составе несколько резисторов, применяется регистр управления потенциометром. Структура и описание этого регистра приведены в табл. 6 и 7.
Таблица 6. Структура регистра управления потенциометром
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
X |
CPC |
X |
X |
инвертный WN |
WN |
Для прибора DS2890 регистр управления имеет следующий вид:
- Х0ХХ1100 — подкачка заряда отключена;
- Х1ХХ1100 — подкачка заряда включена.
Надо отметить, что изменение состояния прибора не происходит при неверной установке регистра управления.
Таблица 7. Структура регистра управления потенциометром
Параметры |
Бит |
Описание |
WN: номер управляемого движка |
0..1 |
00: Движок потенциометра 1 01: Движок потенциометра 2 10: Движок потенциометра 3 11: Движок потенциометра 4 |
инвертированный WN: номер управляемого движка |
2..3 |
11: Движок потенциометра 1 10: Движок потенциометра 2 01: Движок потенциометра 3 00: Движок потенциометра 4 |
CPC: управление подкачкой заряда |
6 |
0: подкачка заряда включена 1: подкачка заряда отключена |
X: не используется |
4,5,7 |
Биты зарезервированны для дальнейших разработок |
Подкачка заряда
На рис. 3 приведена упрощённая схема резисторной матрицы прибора DS2890, где сопротивление транзисторов движка rDS представлено сопротивлением движка RWIPER. Значение RWIPER изменяется в зависимости от конфигурации прибора, рабочего состояния и напряжения на выводе движка. Применение так называемой подкачки заряда позволяет значительно уменьшить сопротивление движка (рис. 4), однако при этом возрастает ток потребления прибора. Это приводит к необходимости использования внешнего источника питания в режиме подкачки заряда.
Рис. 3. Упрощенная схема резистивной матрицы
Конфигурация прибора DS2890 в корпусе ТО-92 с тремя выводами — упрощённый вариант конфигурации, изображённой на рис. 2. Она представляет собой переменный резистор с двумя выводами, один из которых подключен на “землю”: выводы RL, движка и внешнего питания подключаются на “земляной” вывод, а подкачка заряда должна быть отключена.
Рис. 4. Зависимость сопротивления движка от напряжения на нем при влюченной подкачке (а) и при отключенной подкачке (б)
Таймер DS2415
Однопроводные таймеры представляют собой часы/календарь реального времени, реализованные в виде двоичного счётчика. Минимальные требования к аппаратному обеспечению, наличие встроенного источника питания и встроенный контроллер для работы в сети MicroLAN позволяют легко использовать таймеры для работы с любыми типами электронных приборов или с микроконтроллерами. Таймер может использоваться не только как часы/календарь реального времени, но и как ярлык времени/даты или журнал регистрации событий. Надо отметить, что выполнение функций часов и календаря начинается только после завершения установки протокола работы ПЗУ.
Блок-схема таймера DS2415 приведена на рис. 5. В качестве задающего генератора для счётчика часов реального времени используется кварцевый резонатор 32,768 кГц. Включение или отключение задающего генератора осуществляется программным способом. Счётчик часов выполнен с двойным буфером, что позволяет ведущему шины считывать значение реального времени без изменения данных. Моментальный снимок содержимого счётчика передаётся в буфер чтения/записи, доступный пользователю.
Рис. 5. Структурная схема таймера DS2415
Управление задающим генератором осуществляется через байт управления прибором. Чтение и запись данных в этот байт выполняется с помощью команд Функции Часов. Состав байта управления прибором приведён в табл. 8.
Таблица 8. Структура байта управления таймером DS2415
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
U4 |
U3 |
U2 |
U1 |
OSC |
OSC |
0 |
0 |
Биты 0-1 не используются. Биты 2-3 управляют работой кварцевого резонатора. Если кварц работает, то в обоих битах записаны “1”. При отключенном кварце в битах записаны “0”. Биты 4-7 являются битами общего назначения. Данные в эти биты могут быть записаны и считаны с применением конкретного программного обеспечения и сохраняться до тех пор, пока подключено внешнее питание.
Часы реального времени выполнены в виде 32-разрядного счётчика, который инкрементируется один раз в секунду. Емкость счётчика такова, что переполнение произойдёт через 136 лет. Время/дата представлены числом секунд, а начало отсчёта определяется пользователем. Например, точкой отсчёта может быть 12:00 1 января 1970 года.
Таймер DS2417
Этот прибор отличается от DS2415 способностью формирования имЭтот прибор отличается от DS2415 способностью формирования импульсов прерывания через равные промежутки времени. Интервал между прерываниями устанавливается пользователем с помощью байта управления прибором, структура которого приведена в табл. 9.
Таблица 9. Структура байта управления таймером DS2417
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
IE |
IS2 |
IS1 |
IS0 |
OSC |
OSC |
0 |
0 |
Биты 0-3 аналогичны битам DS2415.
Биты 4-6 определяют интервал между импульсами прерывания. Соотношение между установкой битов и временными интервалами приведены в табл. 10.
Таблица 10
IS2 |
IS1 |
IS0 |
Временной интервал |
0 |
0 |
0 |
1 с |
0 |
0 |
1 |
4 с |
0 |
1 |
0 |
32 с = 0,53 мин |
0 |
1 |
1 |
64 с = 1,07 мин |
1 |
0 |
0 |
2048 с = 34,13 мин |
1 |
0 |
1 |
4096 с = 68,27 мин |
1 |
1 |
0 |
65536 с = 18,20 часа |
1 |
1 |
1 |
131072 с = 36,41 часа |
Бит 7 предназначен для разрешения формирования импульсов прерывания с заданным интервалом. Для этого данный бит устанавливается в “1”.
В заключительной статье этого цикла мы рассмотрим конкретную реализацию сети MicroLAN.
Подробную информацию о сети MicroLAN и компонентах для её построения можно получить по адресу www.rainbow.msk.ru.
Тел.: (10-37517) 249 8273
E-mail: chip@by.rainbow.com
|