ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ. Кодирование информации.

 

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

Из двоичных кодов наиболее известным является код BCD (сокращение от словосочетания Binary-Coder-Decimals – двоично-кодированные десятичные числа) .

В BCD-коде каждая десятичная цифра задается группой из 4 двоичных цифр, или битов. Веса, т. е. величины, на которые мы должны умножать биты, являются степенями основания, равного 2. BCD-код десятичных цифр определяется по правилам перехода от десятичных к двоичным числам.

На рис.1. двоично-десятичный код приведен в табличной форме

 

десятичное Вес
число

Отдельные цифры каждого десятичного числа можно представить 4-разрядными группами. Например, число 526 записывается с помощью двоичных цифр следующим образом:

5 2 6

 

Код с избытком три также является двоично-десятичным кодом, однако веса, соответствующие каждому биту, в нем не являются степенями числа 2. К каждой группе из 4 битов, соответствующих десятичной цифре, в этом коде добавлено число 3. Пример этого кода в табличной форме приведен ниже:

 

 

десятичное Вес
число 1 +3

 

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

 
 
5 2 6

 


 

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

Код Грея является кодом с обменом единицей, т.е. при последовательном переходе от одной цифры этого кода к другой всегда изменяется только один из двоичных разрядов. Таблица для кода Грея выглядит следующим образом:

 

десятичное Вес
число        

 

В управляющих модулях и счетчиках этот обмен единицей имеет преимущество: команда на ввод следующего шага воздействует только на один триггер соответствующего модуля или счетчика.

Другое преимущество заключается в том, что здесь при декодировании триггерных состояний, как правило, не возникает никаких затруднений, связанных с помехами типа «иголки» (короткие импульсы, которые появляются на выходе в то время, когда счетчик еще не перешел в определенное состояние). При переходе же из одного состояния в другое изменяется только один бит, после чего счетчик оказывается в следующем состоянии.

Преобразование регулярного двоично-десятичного кода в код Грея осуществляется довольно просто. Старший бит переходит непосредственно в соответствующий бит кода Грея. Следующий бит из BCD-кода суммируется по модулю два со старшим битом и дает второй бит кода Грея. В дальнейшем суммируются два следующих бита из BCD-кода, которые дают третий бит кода Грея. Вычисление продолжается до тех пор, пока не будет определен младший бит кода Грея.

Принцип перевода числа из BCD-кода в код Грея можно схематически изобразить следующим образом:

 

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

Принцип перевода числа из кода Грея в BCD-код можно схематически изобразить следующим образом:

 

 

Код Грея широко применяется в управляющих и контролирующих модулях. Вычисления производятся не с помощью двоично-десятичных конфигураций, т.е. 4-разрядных групп, а в двоичном коде по правилам преобразования, описанных выше. Таблица кода Грея для чисел от 0 до 15 включительно приведена ниже:

 

десятичное Вес
число        

 

1.2. Цифровые микросхемы.

 

В настоящее время элементной базой промышленной электроники, вычислительной техники, систем автоматики и связи являются в основном интегральные микросхемы.

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

Схемная реализация всего многообразия цифровых микросхем осуществляется на основе логических элементов (ЛЭ), которые представляют собой схемы, выполняющие элементарные логические функции: И, ИЛИ, НЕ.

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

По технологическим признакам цифровые микросхемы выпускаются сериями. Серией называют группу микросхем различного функционального назначения, выполненных по одинаковой технологии, имеющие сходные технические характеристики и предназначенных для совместной работы в аппаратуре. В состав современных серий входят десятки типов микросхем - от логических элементов до функционально законченных узлов: счетчиков, регистров, сумматоров, запоминающих устройств и других.

 

1.3. Отрицательная логика

 

В ТТЛ и КМОП цифровых устройствах логические состояния представляются двумя уровнями напряжения: высоким, близким к напряжению источника питания, и низким, близким к нулю.

Два уровня напряжения, характеризующие логические состояния, определяются просто как более высокий и низкий. Эти два значения называются логическими уровнями. Часто названия логических уровней пишут заглавными буквами: ВЫСОКИЙ и НИЗКИЙ, и обозначают латинскими буквами H и L (от англ. слов: HIGH - высокий и LOW - низкий).

Существует так называемое логическое соглашение, определяющее, каким уровнем напряжения представлять логическую 1 и логический 0. В положительной логике более высокий уровень напряжения (H) соответствует логической 1, а низкий (L) - логическому 0 (H=1, L=0). В отрицательной логике - наоборот (L=1, H=0).

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

В отрицательной логике элементы И функционируют как элементы ИЛИ, а элементы ИЛИ соответственно как И. Таким образом, после инверсии сигнала происходит переход от положительной логики к отрицательной, а после еще одной инверсии обратный переход от отрицательной логики к положительной. Знание особенностей работы логических элементов в положительной и отрицательной логике позволяет проводить правильный анализ работы цифровых устройств.

Так, если по заданию требуется применять в разрабатываемом устройстве только логические элементы И-НЕ, то первая от входов устройства линейка логических элементов будет работать как элементы И-НЕ, а вторая – как элементы ИЛИ-НЕ, третья – как И-НЕ, и т.д

 

1.4. Неиспользуемые входы логических элементов

 

Часто при реализации логических функций на реальных микросхемах остаются неиспользуемые входы логических элементов. Например, при реализации функции на микросхеме К561ЛА8, имеющей структуру 2х4И-НЕ, будет два неиспользуемых входа.

На практике с неиспользуемыми входами поступают следующим образом:

- объединяют с неиспользуемыми с учетов выполняемых данным входом функций, если это не ведет к превышению нагрузочной способности предшествующего каскада;

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

- для создания уровня лог.1 на свободных входах их соединяют с шиной питания Uпит.

Следует помнить, что входы КМОП микросхем (в отличие от ТТЛ) оставлять свободными недопустимо. Если какой-нибудь вход окажется неподсоединенным, на нем могут возникнуть непредсказуемые напряжения за счет наводок и связей через паразитные емкости. Следствием этого может быть неверное действие микросхемы. Чаще всего при не подключенных никуда входах на выходе микросхемы появляется сигнал с частотой сети переменного тока 50 Гц .

 

1.5. Генераторы импульсов на цифровых микросхемах

 

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

Большинство импульсных устройств на логических элементах основано на том, что логические элементы – это своего рода усилители с коэффициентом усиления 20 … 100 и с частотой среза fсреза у ТТЛ схем - 5 … 50 МГц, а у КМОП

fсреза – 1 … 10 МГц. Аналитический расчет линейного режима цифровой микросхемы нецелесообразен, т.к. конкретные характеристики элементов могут существенно отличаться от типовых, ведь завод-изготовитель эти характеристики не регламентирует. На практике нужный режим находят подбором сопротивлений внешних резисторов или введением стабилизирующих обратных связей.

На рис.8 приведена схема генератора с конденсатором в цепи обратной связи временные диаграммы его переключений.

а) б)

 

Рис.8. а) схема генератора с конденсатором в цепи обратной связи

б) временные диаграммы его переключений

 

Для ТТЛ микросхем R1 выбирают R1 = 150 …680 Ом, а для КМОП микросхем - R1 = 10 кОм …10 МОм. Резистор R1 выполняет две функции: смещает рабочую точку логического элемента ЛЭ1 на крутой участок передаточной характеристики, обеспечивая этим мягкое самовозбуждение, и вместе с конденсатором C служит времязадающим элементом. Длительность каждого полупериода колебаний Т1 и Т2 примерно равна 2∙ R1∙C.

Для ТТЛ микросхем этот процесс несколько ассиметричен, поскольку при входном напряжении ЛЭ1 большем, чем напряжение переключения Uперекл , входной ток его не превышает десятков микроампер – это ток утечки закрытого эмиттерного перехода МЭТ, т.е. среднее входное сопротивление ЛЭ1 здесь порядка 100 кОм.

При входном напряжении меньшем, чем напряжение переключения Uперекл входной ток возрастает почти до 1мА, следовательно, среднее входное сопротивление здесь порядка 1 кОм и это низкое входное сопротивление логического элемента, действуя параллельно времязадающему резистору R1, уменьшает время заряда конденсатора C в полупериод Т2 на 10-20% (по сравнению с Т1). Для выравнивания полупериодов Т1 и Т2 иногда параллельно резистору подключают цепочку из диода D и резистора R2, где R2 выбирают в 5 …10 раз большим, чем R1.

Рис.9. Схема генератора на основе мультивибратора (нерекомендуемая)

 

В данном симметричном мультивибраторе нет отрицательной обратной связи для стабилизации рабочей точки ЛЭ на крутом участке переходной характеристики чтобы обеспечить мягкое самовозбуждение, как в предыдущей схеме.

В данной схеме прохождение постоянной составляющей входного тока ЛЭ через резистор 1кОм создает на нем падение напряжения порядка 1,8 В, что и является смещением рабочей точки на сравнительно крутой участок переходной характеристики. Невысокая стабильность рабочей точки такого генератора к нестабильному самовозбуждению, поэтому данную схему не рекомендуется использовать, несмотря на то, что она довольно часто встречается в литературе.

Нестабильность, неточность установки частоты всех рассмотренных ранее генераторов может достигать 30%.

Наилучшую стабильность частоты среди генераторов на ЛЭ имеют генераторы с кварцевым резонатором, включенным вместо времязадающего конденсатора (рис10).

Рис.10. Генератор с кварцевым резонатором

 

Резисторы R1 и R2 выбирают так же, как и для генератора с емкостной ПОС. Фильтрующий конденсатор Cф вводят в ТТЛ схемах на частотах ниже 1МГц для предотвращения звона на фронтах импульсов (против вспышек генерации с частотой порядка 30 МГц).

Переходной конденсатор Cпер выбирают из расчета:

на рабочей частоте ωр.

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

Обычные кварцевые резонаторы имеют относительную нестабильность чистоты резонанса порядка 10-6. Основным дестабилизирующим фактором является зависимость частоты кварца от его температуры. Например, очень распространенный для применения в часах кварцевый резонатор РК 72 на 32.786 кГц имеет допустимое относительное изменение частоты в диапазоне температур 0 ….50 ˚С (причем, допустимое относительное изменение частоты колебаний за первый год составляет ±3∙10-6).

Это означает, что часы, работающие с таким кварцевым резонатором при температуре 0 ….50˚С, могут иметь неточность хода за сутки (т.е. за T = 24·60·60=86400сек): .

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

Так, для 155 АГ1 приводятся данные о погрешности длительности импульса порядка 0.5%, в то время, как обычные одновибраторы, собранные на логических элементах И-НЕ, ИЛИ-НЕ, D-триггерах или триггерах Шмита, имеют погрешность длительности импульса порядка 30%.

Одновибратор 155АГ1 (рис.11.а) может срабатывать от положительных фронтов по входу B или от обратных им импульсам по инверсным входам А1 и А2 в соответствии с таблицей (рис. 11.б).

 

А1 А2 В Q
X
X
X X
X
           
           
    X        
  X          

 

а) б)

 

Рис.11 а) условное обозначение микросхемы 155 АГ1

б)таблица ее переключений

 

Входная схема с триггером Шмита обеспечивает надежный запуск одновибратора по входу В при пологих фронтах импульсов запуска. Внешние резистор R и конденсатор С определяют длительность выходного импульса tим 0.7∙R∙C, они могут быть выбраны в пределах R =1.5 … 50 кОм; С = 0 … 1000 мкФ. В микросхеме 155 АГ1 имеется внутренний резистор RJ (JNTERNAL - внутренний), включенный между выводами RJ и , сопротивлением примерно 2 кОм. Во многих случаях можно обойтись этим внутренним резистором, не используя внешний резистор R . Для этого надо к источнику питания (Uпит.) подключать вывод RJ внутреннего резистора (вместо внешнего резистора R).

Минимальная длительность выходного импульса микросхемы 155 АГ1 составляет 35 нс.

Когда одновибратор 155 АГ1 запущен, то вовремя формирования выходного импульса он не реагирует на новые входные импульсы по любому из запускающих входов А1, А2 или В2, т.е. 155 АГ1 – одновибратор без перезапуска, в отличие от одновибраторов 155 АГ3 и 564 АГ1.

 

Условное обозначение и таблица состояний микросхемы 155 АГ3 приведены на рис. 12.

R А В Q
X X
X X
X X
           
           
           

 

а) б)

 

Рис.12 а) условное обозначение микросхемы 155 АГ3

б) таблица ее переключений

 

В одном корпусе 155 АГ3 два одновибратора, которые отличаются от 155 АГ1 отсутствием одного триггера Шмита и внутреннего резистора, а также повторный запуск то время, пока не закончилось формирование выходного импульса; при этом длительность выходного импульса увеличивается на интервал времени между первым и последующим запусками. Это называется перезапуском.

Автогенератор коротких инверсных импульсов (рис.13) длительностью t0имп≈ 30 нс с периодом повторения T=R1∙C1. Чтобы увеличить длительность t0имп в цепи обратной связи можно включить интегрирующую цепь RиCи, но погрешность длительности этих импульсов t0имп будет такой же, как при использовании логических элементов – порядка 10 … 20%, в то время как интервал между импульсами T=R1∙C1 , будет выдерживаться с погрешностью около 1%.

Рис.13. Автогенератор коротких инверсных импульсов длительностью t0имп

≈ 30нс с периодом повторения T=R1∙C1

 

Генератор на двух одновибраторах 155 АГ3 (рис.14) работает трех режимах:

1. G = = 1 – автоколебательный режим;

2. = 1 – стартстойный – генератор пачки импульсов на интервале G = 1;

3. = 0 – одновибратор, формирующий выходной импульс на перепад 01 сигнала G.

 

Рис. 14. Генератор на двух одновибраторах 155 АГ3

 

 

1.6. Полиномиальные кодеры и фильтры (декодеры) циклических кодов.

 

С выхода любого триггера сдвигового регистра полиномиального счетчика можно снимать выходную псевдослучайную последовательность. Параллельный псевдослучайный код можно снять с выходов нескольких или всех триггеров полиномиального счетчика.

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

Термин «полиномиальные» для обозначения узлов, построенных на базе сдвигающих регистров и сумматоров по модулю 2, отражает способность этих узлов аппаратно реализовать ряд операций над полиномами (многочленами), имеющими двоичные (бинарные) коэффициенты при степенях переменной x. Эти операции позволяют построить целый класс циклических кодов, которые широко используются для обнаружения или исправления ошибок при передаче и хранении данных.

Некоторый полином с бинарными коэффициентами (т.е. с коэффициентами, которые могут принимать значения только лишь 0 и 1), например,, можно записать в более развернутой форме:

В отличие от обычной записи здесь старшие степени x удобнее писать справа. Такая запись позволяет поставить в соответствие полиному код значений коэффициентов при степенях x: 10010. Тогда умножению полинома на x будет соответствовать сдвиг его кодового эквивалента вправо:

Кодовый эквивалент равен 01001, т.е. коду исходного полинома A, равного 10010, но сдвинутого вправо.

Далее над бинарными полиномами вводится операция, которую из-за сходства с операцией алгебраического перемножения также называют перемножением полиномов. При этом показатели степеней x перемножаемых членов суммируют, как обычно, по арифметическим правилам, но коэффициенты при получившихся одинаковых степенях x суммируются по модулю 2.

Например:

.

Или более детально, выделив для каждой степени x отдельный столбец:

  x0 x1 x2 x2 x3 x4 x5 x6
A 1   + x3 Множимое множитель    
G 1+ x + x3
A∙1 = 1   + x3        
A∙x = x +          
A∙x3 =     x3 x4 +   x6
A∙G = 1+ x   0∙x3 x4 +   x6

 


 

 

Если полиномы представить их кодовыми эквивалентами, то эту же операцию можно записать следующим образом:

 

A 1001 ∙G 1101
1001
1001
K=A∙G 1100101

 

       
 
 
   

 


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

Второй полином - задан структурной схемой: в первой схеме расположением мест ввода в регистр входного кода, а во второй схеме – расположением выводов на общий сумматор по модулю 2. Именно такая конфигурация обеспечивает сложение трех копий входного кода А, взаимно сдвинутых в соответствии с кодом множителя из примера.

Процесс продвижения кода А из сдвигающего регистра источника через вторую схему в сдвигающий регистр приемника выглядит следующим образом:

№ такта А Q1 Q2Q3 K
   
0 1
0 0 1
  1 0 0
  1 0
 
    1100101

 

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

 

№ такта Q1 Q2Q3
   
 
0 1  
0 0 1  
1 0 0
0 0 1
  0 0 0
  1001

 

Остаток A

 

Узлы умножения и деления на полиномы широко используются в схемах контроля.

1 способ. Перед подачей исходный код А кодера умножается на некоторый порождающий полином G, и в линию связи (или в память) передается кодовое слово K=A∙G. На приемной стороне кодовое слово в фильтре (декодере) делится на тот же полином G.

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

2 способ. Вместо передачи по линии связи кодового слова K=A∙G передается сам код A и следом за ним – остаток от деления его на порождающий полином G . На приемном конце еще раз выполняется деление A:G и оба остатка сравниваются, если они не равны, следовательно произошла ошибка.

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

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

Разработаны коды этого класса способные исправлять следующие ошибки при передаче данных:

- одиночные ошибки в слове (коды Хэмминга – HAMMING CODES);

- компактные группы (пакеты) ошибок длинной не более l (коды Файра – FIRE CODES);

- группы, числом не более t произвольно разбросанных по слову ошибок (код Боуза – Чоудхри – Хокенгхема) - BCH CODE – BOSE – CHAUDHURL – HOCQUENGHEM CODE.

Параметры l и t также определяются видом порождающего полинома .

На основе этого кода разработана микросхема циклического регистра диагностики ошибок КР 1818 ВЖ1.

Узлы деления полиномов используют также при контроле правильности работы логических схем методом сигнатурного анализа (SIGNATURE ANALISIS).

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

Сигнатура неисправной схемы иная, причем благодаря тому, что при делении на полином разряды кода сильно «перемешиваются», любые небольшие отличия получающихся кодов резко усиливаются.

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

Распространен 16-ти разрядный сигнатурный анализатор с обратными связями, обеспечивающими формирование последовательности максимальной длины (216-1 тактов).

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

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

Т
Т
Т
М2
Т
Т
Т
М2
       
 
 
   
Т
Т
Т
М2
Т

<== предыдущая лекция | следующая лекция ==>
Основные теоретические положения | Огляд навчальних програм

Дата добавления: 2022-02-05; просмотров: 84;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.058 сек.