Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Измерительные системы и датчики / Курс лекциий ИСУД - часть 1.doc
Скачиваний:
249
Добавлен:
04.06.2015
Размер:
2.61 Mб
Скачать
    1. Согласование кодов при сопряжении средств цифровой измерительной техники с вычислительными средствами

АЦП и ЦАП, как правило, обмениваются данными с микроконтроллерами; цифровые приборы могут включаться в измерительные системы и обмениваться данными с компьютером; все это требует согласования форматов данных и способов их кодирования. Для цифровых приборов до сих пор считалось предпочтительным выражение данных в виде символьных строк кода ASCII, при этом удобно использовать десятичную систему счисления. Стандартные преобразования символьных строк выполняет компьютер. Поэтому ниже речь пойдет в основном о согласовании АЦП и ЦАП с микроконтроллерами.

В ходе развития вычислительной техники были испробованы различные способы кодирования чисел. Вначале использовались двоично-десятичные коды; позже были попытки построения вычислительных устройств в коде Грея. Большое внимание привлекала так называемая система остаточных классов или «код вычетов». В этой системе некоторое число N выражается в виде совокупности остатков от деления его на заранее заданные попарно взаимно простые модули. Например, если подать пачку импульсов на параллельно включенные входы счетчиков на 3, 7 и 11, то при числе N импульсов в пачке, меньшем, чем 3*7*11 = 231, состояния счетчиков позволят однозначно восстановить число N. Достоинствами «кода вычетов» являются высокая скорость выполнения операций сложения и возможность введения избыточных модулей, обеспечивающих работоспособность устройства при частичных отказах.

Однако в микроконтроллерах и компьютерах массового применения для изображения целых чисел используется почти исключительно либо беззнаковый двоичный код, либо, если числа могут менять знак, дополнительный двоичный код. При изображении дробных чисел с фиксированной двоичной точкой положение последней предполагается между знаковым разрядом и следующим за ним старшим разрядом дробной части.

В простейшем случае совпадения разрядности АЦП или ЦАП с разрядностью микроконтроллера и использования параллельного интерфейса единственное, что может потребоваться – это инверсия знакового разряда для перехода от смещенного кода АЦП к дополнительному коду микроконтроллера (или, наоборот, от дополнительного кода микроконтроллера к смещенному коду ЦАП).

При использовании последовательного интерфейса следует обращать внимание на порядок следования битов. Почти все микросхемы АЦП (а также и ЦАП) при обмене данными по последовательному каналу посылают (или соответственно принимают) первым старший бит; а во многих микроконтроллерах, в частности, типа 8051, принят обратный порядок – обмен младшим битом вперед. При их сопряжении приходится в микроконтроллере программно изменять порядок расположения битов в слове, посылаемом в регистр передатчика или получаемом из приемника последовательного канала. Некоторые АЦП, ЦАП и контроллеры допускают изменение порядка следования передаваемых битов; этой возможностью нужно уметь пользоваться.

Довольно типичной является ситуация различия разрядностей АЦП и микроконтроллера.

а)

D11

D10

D09

D08

D07

D06

D05

D04

б)

D11

D11

D11

D11

D11

D10

D09

D08

D03

D02

D01

D00

0

0

0

0

D07

D06

D05

D04

D03

D02

D01

D00

Рис. 3.13.

На рис. 3.13 показаны два варианта расположения данных 12-разрядного АЦП (D00 – младший, D11 – старший бит) в двух словах 8-разрядного или в одном слове 16-разрядного контроллера. Расположение по рис. 3.13,а называется выравниванием влево; остающиеся младшие разряды при этом обычно заполняются нулями. Чаще используется выравнивание вправо, показанное (для знакопеременных данных, выраженных в дополнительном коде) на рис. 3.13,б. Для того, чтобы контроллер правильно воспринял знакопеременные данные, значения битов старших разрядов должны совпадать со значением бита знакового разряда АЦП (на рис. 3.13 это D11). Операция присвоения старшим битам слова в контроллере значения бита знакового разряда АЦП может быть выполнена как аппаратно, так и программно; ее называют распространением (или расширением) знака.