Текст
                    ОГЛАВЛЕНИЕ

Предисловие............................................................ 3

•Глава 1. Синтез комбинационных схем . . . ;............................ 6

§ 1.1.	Особенности проектирования комбинационных схем	.	6

§ 1.2.	Дешифраторы, шифраторы и дешифраторы-демульти-
плексоры ................................................. 6

§ 1.3.	Мультиплексоры и демультиплексоры............. 9

§ 1.4.	Синтез комбинационных схем на мультиплексорах	.	11

§ 1.5.	Схемы равнозначности кодов................... 13

§ 1.6.	Схемы сравнения двоичных чисел............... 15

§ 1.7.	Двоичные сумматоры........................... 19

§ 1.8.	Прямой и дополнительный коды................. 21

§ 1.9.	Обратный код и сумматоры для чисел, представленных
в прямом коде............................................ 24

§ 1.10.	Десятичные сумматоры................................ 27

§ 1.11.	Пороговые схемы и мажоритарные элементы ...	31

§ 1.12.	Преобразователи двоично-десятичного кода в двоичный
„ код...............................’.................... 34

§ 1.13.	Преобразователи двоичного кода в двоично-десятич-
ный код.................................................. 39

§	1.14.	Взаимное преобразование двоичного	кода и кода Грея .	44

Глава 2.	Синтез цифровых автоматов.................................. 46

§	2.1.	Асинхронные потенциальные	триггеры................... 46

§	2.2.	Синхронные триггеры.................................. 48

§ 2.3;	Регистры памяти и оперативные запоминающие уст-
ройства ................................................. 51

§ 2.4.	Сдвигающие	регистры ................................. 53

§ 2.5.	Счетчики по	mod М..................................... 56

§ 2.6.	Счетчики на сдвигающих регистрах ....	. .	65

§ 2.7.	Реверсивные	счетчики.................................. 69

§ 2.8.	Счетчики с переменным коэффициентом пересчета и
цифровые фазовращатели................................... 74

§ 2.9.	Последовательные двоичные сумматоры и цифровые
интеграторы.............................................. 77

§ 2.10.	Последовательная схема равнозначности кодов ...	80

§ 2.11.	Последовательная схема сравнения двоичных чисел . .	82

Глава 3. Элементы и узлы аналого-цифровых преобразователей ...	84

§3.1.	Роль операций аналого-цифрового преобразования в
устройствах обработки информации .......................... 84

§ 3.2.	Аналоговые ключи................................ 86

§ 3.3.	Мультиплексоры аналоговых сигналов..............100

§ 3.4.	Аналоговые компараторы напряжения...............104

§ 3.5.	Схемы выборки и запоминания аналоговых сигналов	,	109

§ 3.6.	Цифро-аналоговые преобразователи код—напряжение	.	112

§ 3.7.	Аналого-цифровые преобразователи напряжение^-код	.	117

Глава 4. Проектирование цифровых устройств обработки сигналов в
радиотехнических системах ........................................ 124

§ 4.1.	Особенности построения и основные узлы радиотехни-
ческой аппаратуры обработки сигналов...................... 124

,	§ 4.2. Устройства поиска и обнаружения импульсных сигналов. 129

§ 4.3.	Устройства временной фиксации и дискриминирования
сигналов ..................................................155

Гл-ава 5. Построение микропрограмм иых дискретных устройств . . .	164

§ 5.1.	Микропрограммные дискретные устройства и порядок их
проектирования.............................................164

§ 5.2. Построение У А с жесткой логикой................ § 5.3' . Построение У А с программируемой логикой на основе § 5.4. Построение УА на основе программируемых логических матриц................................................... Глава 6. Построение дискретных устройств иа основе микропроцессо- ров .............................................................. § 6.1. Общая структура микропроцессорного вычислительного устройства .............................................. § 6.2. Сведения об отечественных микропроцессорных комплек- тах ..................................................... § 6.3. Организация памяти в МПВУ........................ § 6.4. Организация обмена информацией между’МПВУ и внеш- ними устройствами ....................................... Глава 7. Построение вычислительных устройств на основе однокри- стального микропроцессора ........................................ § 7.1. Центральный процессорный элемент серии К580 и его система команд........................................... § 7.2. Элементы программирования ....................... § 7.3. Построение структурной схемы МПВУ................ § 7.4. Методика проектирования микропроцессорного вычис- лительного устройства ................................... Глава 8. Применение БИС микропроцессорного комплекта серии К580 § 8.1. Параллельный периферийный адаптер.......................... § 8.2. Универсальный синхронно-асинхронный приемопередат- чик ..................................................... § 8.3. Программно-управляемый таймер.................... § 8.4. Контроллер прямого доступа к памяти............... § 8.5. Программируемый контроллер прерываний ... Глава 9. Построение МПВУ на основе секционированного микропро- цессора .......................................................... § 9.1. Центральный процессорный элемент серии К584 . . . § 9.2. Система микрокоманд ЦПЭ серии К584 .......... § 9.3. Микропрограммирование МП серии К584 ............. § 9.4. Построение структурной схемы МПВУ на основе ЦПЭ серии К584 .................................... Глава 10. Микропроцессоры в радиотехнических системах .... § 10.1. Область применения МП в микро-ЭВМ в РТС . . . § 10.2. Особенности проектирования РТС с использованием микропроцессоров......................................... § 10.3. Проектирование радиотехнических измерителей коор- динат на основе однокристальных МП...................... § 10.4. Проектирование цифровых фильтров на основе много- кристальных микропроцессоров............................ § 10.5. Применение МПВУ в комплексированных радиотехни- ческих системах ........................................ Приложения......................'................................ Использованная литература ....................................... Список основных сокращений....................................... Предметный указатель.......................................... • 172 177 183 183 186 189 192 196 196 200 213- 217 223- 228 234 240 246- 254 254 259' 264 269 272 272 274 276 293 300 307 312 315 316
ПРЕДИСЛОВИЕ Повышение интеграции микросхем и связанное с этим расширение их функциональные возможностей оказало существенное влияние на построение цифровых устройств радиотехнических систем и в зна- чительной мере изменило характер их проектирования, производства и эксплуатации. Исключительное значение имеет внедрение в радио- техническую практику универсальных БИС с программируемой ло- гикой, называемых микропроцессорами (МП). В Основных направлениях экономического и социального разви- тия СССР на 1981—1985 годы и на период до 1990 года [39] указано, что на основе использования достижений науки и техники необходимо развивать производство и обеспечивать широкое применение автома- тических манипуляторов (промышленных роботов), встроенных систем автоматического управления с использованием микропроцессоров и микро-ЭВМ, создавать автоматизированные цехи и заводы. Важная роль в развитии теории дискретных автоматов принадлежит советским ученым. Основополагающие исследования в области цифровых авто- матов выполнены акад. В. М. Глушковым. Большое внимание в оте- чественной литературе [6—9, 14, 22, 32, 51] уделено вопросам проекти- рования и применения микропроцессоров. Собственно МП, который часто называется центральным процес- сорным элементом (ЦПЭ), вместе с другими БИС (устройства памяти, ввода и вывода информации и др.), входящими в микропроцессорный комплект (МПК), позволяет организовать микропроцессорное вычис- лительное устройство (МПВУ) для решения конкретных, в том числе и специфических радиотехнических задач. При проектировании МПВУ радиоинженер должен не только уметь выбрать соответствующий поставленной задаче МПК, но и владеть применяемыми методами программирования, способами сопряжения МПВУ с радиотехническими устройствами, входящими в проектируе- мую’ систему. Интенсивное внедрение МП в радиотехническую практику требует серьезной перестройки образования радиоинженера, для которой необходимо создание соответствующих учебных пособий. Решению этой задачи и должна помочь предлагаемая книга. Гл. 1 и 2 посвящены синтезу комбинационных схем и цифровых автоматов с применением современных серий микросхем, позволяю- щих при рациональном проектировании наиболее полно использовать функциональные возможности всех логических элементов. Для эф- фективного использования материала этих глав необходимо знать основы алгебры логики и теории переключательных функций, а так- же элементы теории цифровых автоматов, относящихся к классам асинхронных потенциальных и синхронных автоматов. Проектирование цифровых устройств в составе радиотехнической системы неизбежно связано с преобразованием аналоговых сигналов в цифровую форму и обратно. Элементы и узлы аналого-цифровых преобразователей рассматриваются в гл. 3. Здесь приводятся функ- циональные схемы различных вариантов таких устройств, сравни-
ваются их характеристики, определяющие возможности использова- ния в конкретных радиотехнических системах. В гл. 4 рассматриваются особенности построения и проектирова- ния устройств обработки сигналов в радиотехнических системах. На основе известных результатов, вытекающих из теории статистиче- ского синтеза алгоритмов обнаружения сигналов, и оценки их пара- метров, излагаются возможности практической реализации таких устройств на современной элементной базе, в частности на микропро- цессорной. Специфика микропроцессорной реализации радиотехниче- ских устройств заключается в разделении алгоритмов обработки на тесно взаимодействующие между собой аппаратную и программную части. С этих позиций рассмотрены особенности проектирования уст- ройств поиска и обнаружения, временной фиксации и дискриминиро- вания сигналов. В гл. 5 излагаются методы проектирования устройств, в которых применяется принцип микропрограммного управления. Микропро- грамма используется как форма представления функции устройства, на основе которой определяются его структура и порядок функцио- нирования. В гл. 6 кратко рассматриваются общие вопросы применения микро- процессоров различных серий, излагаются основные принципы по- строения МПВУ, приводится обобщенная структурная схема МПВУ; показаны особенности основных типов МП — однокристальных и сек- ционированных, макро- и микропрограммируемых, обсуждаются про- блемы организации памяти и обмена информацией МПВУ с внешни- ми устройствами, приводятся структурные схемы устройств сопря- жения. Гл. 7 и 8 посвящены проектированию МПВУ на основе однокрис- тального МП. Здесь излагается конкретная методика построения спе- циализированных вычислительных устройств на основе БИС МПК серии К580, даются практические рекомендации и приводится необ- ходимый материал справочного характера; даны сведения о системе команд МП, приводится описание приемов программирования, изла- гается методика проектирования устройства, реализующего заданный алгоритм обработки информации; сформулированы практические ре- комендации применения БИС, предназначенных для расширения функ- циональных возможностей устройств, построенных на основе МП серии К580. В гл. 9 обсуждаются особенности проектирования МПВУ на ос- нове секционированного МП, в качестве которого выбран МП серии К584, рассматривается структура МП секций, в сжатой форме дается система микрокоманд, приводятся варианты структуры МПВУ и об- суждается специфика реализации микропрограммного управления. Гл. 10 содержит конкретные примеры применения МП в радио- технических системах. Здесь подчеркивается разделение процесса про- ектирования на программную и аппаратную части, детально рассмат- риваются примеры проектирования радиодальномера, цифровых фильтров и комплексной системы радионавигации. Выбранные приме- ры позволяют обсудить проблемы, связанные с выбором типа обмена
между, МПВУ и блоками радиоаппаратуры, с программированием алгоритмов и составлением программ, использованием периферий- ных БИС и оценкой вычислительных затрат. В основу настоящего пособия положены курсы лекций, прочи- танные авторами на кафедре радиосистем ЛЭТИ им. В. И. Ульянова (Ленина) для студентов радиотехнических специальностей и слуша- телей факультета повышения квалификации преподавателей, а также для работников промышленных предприятий. Гл. 1 и 2 написаны Г. И. Пухальским; гл. 3 — Г. В. Мармузо- вым; гл. 4, а также § 3.6, 3.7, 8.3 — В. М. Катковым; гл. 5, 7, 8, 9 — В. Н. Номоконовым; гл. 6 — Ю. М. Казариновым; гл. 10 — Ю. П. Гришиным. Авторы признательны рецензентам—коллективам кафедры радио- приемных устройств Харьковского института радиоэлектроники и кафедры радиотехнических систем Рязанского радиотехнического института, канд. техн, наук, доц. И. Н. Преснякову, канд. техн, наук, доц. А. Н. Зеленскому, канд. техн, наук, доц. Н. И. Сальникову, канд. техн, наук, доц. Д. И. Попову, канд. техн, наук В. Н. Локтю- хину за ценные критические замечания, учтенные при окончательном редактировании книги. Отзывы и пожелания просим направлять по адресу: 101403, Моск- ва, ГСП-4, Неглинная ул., 29/14, изд-во «Высшая школа». Авторы
Глава 1 СИНТЕЗ КОМБИНАЦИОННЫХ СХЕМ § 1.1. ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ КОМБИНАЦИОННЫХ СХЕМ Серии микросхем, выпускаемые промышленностью, содержат ши- рокую номенклатуру элементов, выполняющих не только простейшие логические функции (И—НЕ, ИЛИ—НЕ и т. д.), но и более сложные операции (например, выполняемые мультиплексорами и двоичными сумматорами), что коренным образом изменило подход к логическому проектированию цифровых устройств радиотехнических систем. Если несколько лет назад серии микросхем имели в своем составе в качестве базового логического элемента (ЛЭ) только ЛЭ И—НЕ или только ЛЭ ИЛИ—НЕ, то в настоящее время серии микросхем вклю- чают такие ЛЭ, как И, ИЛИ, И—НЕ, ИЛИ—НЕ, НЕ, «исключающее ИЛИ» и др. Поэтому не может быть речи о синтезе комбинационных схем (КС) в каком-либо определенном базисе, а следует наиболее полно использовать функциональные возможности всех ЛЭ. Для понимания данной главы необходимо знать основы алгебры логики и теории переключательных функций (аксиомы, теоремы и тож- дества алгебры логики, формы представления переключательных функций и методы их минимизации), см. § 8.2—8.4 [53] или § 1.2—1.4 152]. Во всех примерах проектирования цифровых узлов будут исполь- зованы микросхемы серий 155 и 564 [4,63], однако при необходимости эти же узлы можно будет выполнить и на микросхемах других серий по изложенной в данной главе методике. | 1.2. ДЕШИФРАТОРЫ, ШИФРАТОРЫ И ДЕШИФРАТОРЫ-ДЕМУЛЬТИПЛЕКСОРЫ Полным дешифратором называется КС, имеющая п входов и 2га выходов и реализующая на каждом выходе функцию, представляю- щую собой минтерм п переменных Кг(>) [52, 53], где v = (хь...,хп); хр — входные сигналы (р = 1,2 и), I = 0, 1,2 2га—1. В пол- ном дешифраторе каждой комбинации значений входных сигналов соответствует сигнал, равный 1, только на одном выходе. На рис. 1.1, а показана принципиальная схема дешифратора, имеющего два входа xt и хг и реализующего четыре минтерма Ко, Ki> Кг и Кз (дешифратор 2x4). Условное графическое обозначение данного де- шифратора приведено на рис. 1.1, б. В левом поле указаны веса вход- ных сигналов xt и х2, комбинации значений которых рассматриваются в качестве двоичных чисел. Каждому входному двоичному числу со- ответствует сигнал, равный 1 только на выходе, номер которого, ука- занный в правом поле, совпадает с двоичным числом.
Дешифраторы могут быть неполными, реализующими т < 2п минтермов. Такие дешифраторы используются, например, для пре- образования двоично-десятичного кода в код, предназначенный для управления десятичным индикатором (дешифраторы 4X10). На рис. 1.2 показано условное графическое обозначение дешифратора 4х 10 (например, микросхемы 155ЙД1 и 564ИД1). Микросхема 155ИД1 предназначена для управления высоковольтным десятичным индика- тором (лампами с холодным катодом типа ИН с системой цифр от 0 до 9). Рис. 1.1. Дешифратор 2X4 Рис. 1.2. Дешифратор 4X10 (микросхемы 155ИД1 и 564ИД1) Дешифраторы являются преобразователями кодов, выполняющих преобразование двоичного и двоично-десятичного кодов в унитарный код. Унитарный код двоичного n-разрядного числа [62] представляется 2" разрядами, только один из разрядов которого равен 1. Шифраторы выполняют функцию, обратную дешифраторам, т. е. преобразуют унитарный код в двоичный или двоично-десятичный. На основе полных дешифраторов строятся дешифраторы-демульти- плексоры, выполняющие функции ft = GKt(y), где v = (xlt ... , хп); i = 0, 1, 2, ..., 2й—1, т. е. используется дополнительный вход G, сиг- нал с которого подается на все ЛЭ И полного дешифратора (рис. 1.3). Рис. 1.3. Четырехкаиаль- ный дешифратор-демульти- плексор Рис. 1.4. 16-канальный дешифратор-де- мультиплексор 155ИДЗ (а) и 32-канальный дешифратор-демультиплексор, выполнен- ный иа микросхемах 155ИДЗ (б)
Рис. 1.5. Сдвоенный четырехканальный дешифратор-демультиплексор 155ИД4 (а) и восьмиканальный дешифратор- демультиплексор, выполненный на мик- росхеме 155ИД4 (6) Микросхема 155ИДЗ представляет собой дешифратор-демультиплек- сор (рис. 1.4, а), выполняющий функции ft = GtG3Kt(Xt, х2, х3, х4), где / =0,1, 2, ..., 15, т. е. данный дешифратор-демультиплексор пред- ставляет собой коммутатор, который передает сигнал GtG2 на один из 16 выходов в зависимости от значений сигналов на четырех адрес- ных входах 1, 2, 4 и 8. При Gt = G2 = 0 микросхема 155ИДЗ выполня- ет функции дешифратора 4x16 с инверсными выходами. В левом верхнем поле (рис. 1.4, а) указаны веса входных сигналов хр (р = = 1, 2, 3, 4), комбинации зна- чений которых рассматриваются в качестве двоичных чисел. При G, = G2 = 0 каждому входному двоичному числу соответствует сигнал, равный 0, только на выходе, номер которого, указан- ный в правом поле, совпадает с двоичным числом. Использование двух допол- нительных входов Gt и Gz поз- воляет достаточно просто по- строить 32-канальный деши- фратор-демультиплексор и 64- канальный дешифратор с инвер- сными выходами (дешифратор 6x64). На рис. 1.4, б показана схема 32-канального дешифратора-демультиплексора, построенного на ос- нове двух 16-канальных дешифраторов-демультиплексоров (микро- схемы 155ИДЗ). В этой схеме входы Gz используются в качестве пятого адресного входа, имеющего вес 16, а на вход Gt подается коммутируемый на 32 выхода сигнал G, т. е. схема выполняет функ- ции ft = G/Q(v) и fj = fi±t6 == GKi+l6(y), где v = (xI( xz, x3, x4, x5); i = 0, 1, 2, ..., 15. При G=0 данная схема представляет собой де- шифратор 5x32 с инверсными выходами. Для построения дешифрато- ра 6x64 необходимо использовать четыре микросхемы 155ИДЗ, в ко- торых все дополнительные входы Gt и Gz должны быть адресными входами (на входы G} и G2 каждой микросхемы следует подать одну из четырех комбинаций из прямых и инверсных сигналов Gt и Gz, причем все четыре комбинации должны быть исполь- зованы). В виде микросхем выпускаются также сдвоенные четырехканаль- ные дешифраторы-демультиплексоры, например микросхема 155ИД4 (рис. 1.5, а). Данная микросхема выполняет функции ft — GtG^tfy) и ф, = WtW2Kt(y), где v = (Xi, xz); i = 0, 1,2, 3. При Gt = Wt = ==1^2=0 и Gz=l получается сдвоенный дешифратор 2x4 с инверсными выходами. Если же положить Gi=IV,I=G и Gz=lV'z=xi, где входы Gz и W2 используются в качестве третьего адресного входа, то получится 8-канальный дешифратор-демультиплексор (рис. 1.5, б), выполняю-
щий функции ft = G/Ci(v) и fj — fi+i = GKi+i(v), где v = (xi( xz,xs); i = о, 1, 2, 3. При G=0 данная схема представляет собой дешифратор 3X8 с инверсными выходами. § 1.3. МУЛЬТИПЛЕКСОРЫ И ДЕМУЛЬТИПЛЕКСОРЫ! Мульти плексором называется КС, имеющая т 4- 2т входов и один выход, где т — число адресных входов, а 2т — число информационных входов мультиплексора. Адреса представляются в двоичном коле и им присваива- ется номер ]. Каждому адресу с номером / соответствует свой ин- формационный вход Aj, сигнал с которого при данном адресе проходит на выход. Основным назначением мультиплексора яв- ляется коммутация 2т входных сигналов на один выход. Таким образом, мультиплексор выпол- няет функцию 1 f = V VU*), (1.1) /=0 где V = (*!, ... , хт), Хр — ад- ресные сигналы; р = 1, 2, ..., m; Aj — входные информацион- Рис. 1.6. Четырехканальиый мульти- плексор (а) и сдвоенный четырех каналь- ный селектор-мультиплексор 155КП2(б) ные сигналы мультиплексора. Принципиальная схема четырехканального мультиплексора, имею- щего два адресных входа xt и xz, показана на рис.. 1.6, а. В настоящее время промышленностью выпускаются серии микросхем, в состав которых входят мультиплексоры, имеющие число адресных входов т — 2, 3 и 4, причем при числе адресных входов т = 2 выпускаются сдвоенные четырехканальные (2т~ 4) мультиплексоры, число входных информационных сигналов которых равно 2т + 2т = 8 (данные мультиплексоры имеют два выхода, а адрес с номером / управляет двумя входными информационными сигналами Aj и Bj). Условное гра- фическое обозначение сдвоенного четырехканального мультиплексора со стробированием приведено на'рис. 1.6,6 (микросхема 155КП2). з Данный мультиплексор выполняет функции! f1==Vi\/ А}К}(у), i=o з _ _ fz =^2 V где v — (*i> хг); V1 И Vz — стробирующие входы. 7=0 Стробирующие входы используются для построения коммутаторов с k-2m информационными входами (k = 2, 3, 4, ...) на основе 2т - канальных мультиплексоров. На рис. 1.7 показан 16-канальный ком- мутатор, выполненный на восьми канальных мультиплексорах (ми- кросхемы 155КП7). Данный коммутатор выполняет функцию: 15 _ / == V Д/A/v), где V = (хъ х2, х3, х4), т. е. стробирующий вход V ио- 7=о
пользуется в качестве дополнительного адресного входа Микро- схема 155КП1 представляет собой 16-канальный мультиплексор со стробированием (селектор-мультиплексор). Из двух микросхем 155КП1 по указанному принципу можно выполнить 32-канальный мульти- плексор. Для получения 64-канального мультиплексора следует использовать четыре микросхемы 155КП1 и ЛЭ И—НЕ, имеющий четыре входа, а управление входами V необходимо производить ин- версным четырехразрядным унитарным кодом, для получения кото- рого удобно использовать четырехканальный дешифратор-демульти- плексор 155ИД4 в режиме Рис. 1.7. 16-канальный мультиплексор, вы- полненный на двух восьмиканальных селек- торах-мультиплексорах 155КП7 дешифратора (см. рис. 1.5, а), т. е. при 0^01102=1. В этом случае на выходах ft (i =0, 1, 2, 3) в зависи- мости от значений адрес- ных сигналов xt и х2 будут получаться четырехразряд- ные кодовые комбинации 1110, 1101, 1011 и 0111, т. е. четырехразрядный ин- версный унитарный код. Мультиплексоры можно выполнять на основе дву- направленных аналоговых ключей. Такие мультиплексоры выпускаются в сериях ИМС со структурой КМОП, например 564КП1 — сдво- енный четырехканальный мультиплексор и 564КП2 — восьми канальный мультиплек- сор [4]. В этих мультиплексорах при значении стробирующего сигнала V = 1 устанавливается высокий выходной импеданс, что озволяет при йостроении коммутаторов с числом информационных входов k-2m, где k = 2, 3, ..., 16, объединять выходы мультиплексо- ров с помощью «монтажное ИЛИ» (схема 16-канального коммутатора подобна схеме рис. 1.7, за исключением того, что отсутствует элемент И—НЕ и мультиплексоры имеют соединенные вместе прямые выходы). Демультиплексоры выполняют функцию, обратную мультиплексо- эам, т. е. производят коммутацию одного информационного входного сигнала на 2Ш выходов, где т — число адресных входов. Дешифра- горы-демультиплексоры были рассмотрены в § 1.2 (см. рис. 1.3 и 1.4, а). Они могут быть использованы в качестве дешифраторов и де- мультиплексоров. Мультиплексоры, выполненные на основе аналого- вых двунаправленных ключей (например, 564КП1 и 564КП2), могут выполнять функции и демультиплексоров. В этом случае информаци- )нные входы Aj являются выходами fit а выход f — входом G.
§ 1.4. СИНТЕЗ КОМБИНАЦИОННЫХ (JXEM НК МУЛЬТИПЛЕКСОРАХ Кроме основного назначения (коммутации сигналов) мультиплек- соры могут быть использованы для построения постоянных запоми- нающих устройств (ПЗУ) объемом 2тх1 бит (т — число адресных входов) и для синтеза КС, выполняющих любую функцию f(v). При использовании мультиплексоров в качестве ПЗУ на информационные г) д) Рис. 1.8. Синтез комбинационных схем на мультиплек- сорах 2 Б Б 2 3 7 7 3 1 5 5 1 0 4 4 0 1 3 3 1 1 3 3 1 0 2 2 0 0 2 2 0 5 7 3 1 5 7 3 1 4 Б г 0 4 Б 2 0 входы подаются не изменяющиеся во времени сигналы 0 и 1. Считы- вание данных сигналов производится подачей соответствующих сиг- налов на адресные входы. В этом случае мультиплексор реализует некоторую функцию, представленную в совершенной дизъюнктивной нормальной форме (СДНФ). Действительно, если в выражении (1.1) положить Aj =а} = 0и 1, то мультиплексор будет выполнять функ- цию 2т-1 f(v)= V «Лт-Н, (1.2) ;=о где v = (Xj, ..., хт). Как известно [52, 53], соотношение (1.2) представ- ляет собой СДНФ функции /(v). Рассмотрим методику синтеза КС на мультиплексорах. Пусть требуется реализовать функцию fi(v), заданную диаграммой Вейча (рис. 1.8, а). Минимальная нормальная форма (МНФ) данной функ- ции в базисе И—НЕ [52, 53] имеет вид Для реализации этой функции на восьми канальном мультиплексоре адрес будем определять числом / = е^4(хр = ер = 0 или 1, р =
= 2, 3, 4). Нумерация клеток диаграммы Вейча числами / показана на рис. 1.8, б. Каждому адресу j = 0, 1, 7 соответствует свой ин- формационный вход Aj. Необходимо найти минимальную форму вось- ми функций Aj = fj(xt). Это легко выполнить с помощью диаграммы Вейча на рис. 1.8, а, учитывая, что числа / произвели ее разбиение на восемь частей, т. е. на восемь диаграмм Вейча для одной перемен- ной состоящих из двух клеток. Из рис. 1.8 а, б следует, что Ао — == х1( At = хъ А2 = 1, А3 = xir А4 == 1, As = 0, Ае = xlt А? = xt. Рис. 1.9. Комбинаци- о иная схема, выпол- ненная на восьми ка- наль ном мультиплек- соре 564 КП2 Схема реализующая функцию fi('v), приве- дена на рис. 1.9 (мультиплексор 564КП2). Основной задачей при синтезе КС на мультиплексорах является оптимальный вы- бор переменных, подаваемых на его адресные входы, так как сложность функций Aj, а зна- чит и КС, в общем случае зависит от сделан- ного выбора. В рассмотренном примере на информационные входы Aj должны подавать- ся функции одной переменной хр (р = const): О, 1, и хр, так как три из четырех пере- менных подаются на адресные входы. Крите- рием оптимальности выбора адресных пере- менных в данном случае может .служить ко- личество функций Aj, равных 0 и 1, так как такие информационные входы А} не будут нагружать цепи, формирующие сигналы хр и хр. Правило выбора адресных переменных можно установить на ос- новании рассмотрения МДНФ реализуемой функции. Очевидно, что для наиболее рационального использования адресных входов на них следует подавать те переменные, от которых наиболее сильно зависит МДНФ функции. Так, например, если в МДНФ функции какая- либо переменная хр вообще не входит, то нет смысла использовать ее в качестве адресной переменной, так как соответствующий адресный вход не будет нести никакой логической нагрузки. Поэтому в качестве адресных переменных следует использовать те переменные хр, которые вкодят в МДНФ наибольшее число раз как с инверсией (хр), так и без нее (хр). Из рис. 1.8, а следует, что МДНФ функции /i(v) имеет два пред- ставления fl (Д —* *1*3 \/ *2 *3 *4 \/ *1 *2 *3 \/ *1 ’ —ХхХ3 \/ Х2 Х3 Х4 \/ Х4 Х2 Х3 \/ Х2 Х3 Х4. Переменная х4 в оба представления МДНФ входит наименьшее число раз по отношению к остальным переменным, поэтому в качестве ад- ресных переменных предпочтительнее выбрать переменные xlt х2 и х3. На рис. 1.8, в показана нумерация клеток диаграммы Вейча числа- ми j = е^грз (хр = ер = 0 или 1, р = 1, 2, 3), производящим!! раз-
биение диаграммы Вейча на восемь частей иным спосо ом, чем пока- зано на рис. 1.8, б. Из рис. 1.8, а, в следует, что Ао = 1, А = х4, Д2 = х4, А3 = О, А4 = О, А5 = 0, А6=р х4 и А1 = 1. В данном слу- чае пять функций Aj равны 0 и 1, в то время как в предыдущем приме- ре только три функции А} равны 0 и 1. Рассмотрим совместную минимизацию двух функций /\(v) и f2(v), заданных диаграммами Вейча на рис. 1.8, а, г, на сдвоенных четырех- канальных мультиплексорах^Из рис. 1.8, г следует, что МДНФ-функ- ции: fziy) Х1Х2Хз\/х2ХзХ4\/ х^х2хзх4. В данном примере основной задачей является также оптимальный выбор двух переменных, подаваемых на адрес- ные входы. Так как эти входы управ- ляют обеими частями сдвоенного четы- рехканального мультиплексора, то сле- дует отыскать те две переменные, ко- торые суммарно входят в МДНФ функций fi(v) и f2(y) наибольшее число раз. Из приведенных МДНФ функций /i(v) и f2(y) следует, что такими пере- Рис. 1.10. Комбинационная схема, выполненная на сдвоен- ном четырехканальном муль- типлексоре 564КП1 менными являются переменные х2 и xs. На рис. 1.8, <? показана нумерация клеток диаграммы Вейча числами / = = е2е3(хр = ер = О или 1, р = 2, 3),. которые производят разбиение диаграмм Вейча для четырех переменных на четы- ре части (на четыре диаграммы Вейча для двух переменных jq и х4 — каждые четыре клетки, имеющие одинаковые номера /). Произведя миминизацию функций Аг = f(xit х4) для функции ft(v) и В} = ф/хь х4) для функции /Ду),_получим Ло = х1( At = х^4, А2 = х4, Аз=хъ В0 — х4, В1 = х4х4 = At, В2 = 0, Вз = х4. Соответствующая этим схемам функция показана на рис. 1.10 (мультиплексор 564КП1). Аналогичным способом выполняется синтез КС, закон функциони- рования которых задается и не полностью определенными функциями. При этом задача синтеза может несколько усложниться из-за появле- ния большего числа эквивалентных представлений МДНФ функций. В заключение отметим, что мультиплексоры могут быть исполь- зованы для преобразования параллельного кода, подаваемого на ин- формационные входы А,, в последовательный, снимаемый с выхода, если адреса задавать счетчиком, состояния которого изменяются так- товым сигналом. § 1.5. СХЕМЫ РАВНОЗНАЧНОСТИ КОДОВ Метод минимизации переключательных функций е помощью диаг- рамм Вейча. эффективен только при небольшом числе переменных (п < 6). При решении же частных задач диаграммы Вейча достаточно просто могут быть использованы и для синтеза КС, описываемых
переключательными функциями п переменных. большинстве же случаев синтеза КС, широко применяемых в цифровых устройствах, число переменных п > 8. Поэтому при синтезе таких КС задачи синте- за сводятся к меньшему числу переменных на основании некоторого алгоритма, имеющего место для любого числа переменных п. В этом случае метод минимизации функций с помощью диаграмм Вейча мож- но использовать только как вспомогательный аппарат, а основные же выражения для функций п переменных необходимо получать анали- тическим методом, т. е. проектировщику КС необходимо в совер- Рис. 1.11. Схемы равнозначности четырехразрядных кодов шенстве овладеть методами преобра- зований логических выражений с помощью тождеств алгебры логики. Далее часто используется опера- ция «сумма по модулю два», поэтому приведем ее определение и основные свойства. Операция «сумма по моду- лю два» (исключающее ИЛИ, логи- ческая неравнозначность) обозначает- ся символом ф и определяется со- отношением: xQ}y—xy\/ ху = (х\/у) X X (х\/у). Легко убедиться, что 0ф0= = 1ф1 = 0, 0ф1 = 1ф0 = 1. Опе- рация «сумма по модулю два» ком- мутативна, ассоциативна и дистрибутивна относительно операции конъюнкции, т. е. х ф у = у ф х, х ф (у ф г) = (х ф у) ф z, Ay ф z) = ху ф xz. Для операции «сумма по модулю два» справедливы следующие тождества: х © 0 = х, х © 1 = х, х © х = О, х ф х = 1, х© у = ху\/ xy—(x\J y)(x\J у)= х© у — х© у. Пусть заданы две совокупности переменных v'(Xi, ..., хр, ..., хп) и v" = (У1, .... уР, ..., Ут,). Так как хр = 0 или 1 и ур = 0 или 1, то каждая из совокупностей переменные / и v" имеет 2" комбинаций значений переменных хр и ур. Для краткости такие совокупности зна- чений переменных принято называть кодами, а величины хр и ур — разрядами кодов КС, реализующая функцию f(v) = f(y', у"), где v = (хъ ..., xn, yit ..., уп), которая равна I только при хр = ур для всех р =1,2, .... п, называется схемой равнозначности кодов. Разряды хр и ур равны толь- ко в том случае, если хр ф ур = I, поэтому функция п f (v) = П ^хр ®йр)= © уР) p=i принимает значение, равное 1, только при попарном равенстве всех одноименных разрядов кодов. На рис. 1.11, а, б показаны две схемы, реализующие функцию /(v) и построенные для п = 4 на основании полученного выражения.
§ 1.6. СХЕМЫ СРАВНЕНИЯ ДВОИЧНЫХ ЧИСЕЛ Пусть заданы два «-разрядных числа X и Y. Введем для них сим- волические обозначения: X = (хп, xt), Y = (уп......... yt), где Хп и уп — старшие разряды. Соотношения между числами X и Y опи- сываются пятью функциями: F(XZ >У) = 0, если 1, если X S х: ^у, F > У, (X = У) = F(X : >У) = 0, если 1, если х< X СУ, >у, F(X- <У) = ( °’ если х> У F(X < п = 11, если X < У О, если X Y 1, если X = Y Г 0, если Х>У, ( 1, если Х<У, (1-3) Легко заметить, что F(X > Y) = F(X Y) и F(X <Y)= F(X > Y), поэтому можно рассматривать только три функции: F(X > Y), F(X = У), F(X = Y) и F(X < Y). Далее не представляет труда уста- новить, что F(X>Y) = F (X <Y)-F(X = У), F(X<Y) = = F(X>Y)F(X=Y), поэтому в качестве основных можно использовать либо функции F(X > Y) и F(X = Y), либо функции F(X < У) и F(X = У). Соотношения между числами в позиционных системах счисления, в которых вес любого старшего разряда больше веса любого младшего разряда, довольно просто могут быть установлены на основании по- следовательного сравнения их одноименных разрядов. Сравнение чи- сел можно производить, начиная как с младшего, так и со старшего разряда. Первый вариант сравнения чисел предпочтительнее, так как допускает более естественный способ наращивания их разряд- ности (от младших разрядов к старшим). Для описания схем сравнения двоичных чисел введем в рассмот- рение функции- fn = fn(X. У) = f 0’ если X ( 1, если X < У, <Рп= Фп(Х, У) = | 0, если X У, 1 1, если X = У, (1-4) гдеХ = (хп, ..., %1), У = (уп, У1), хп и уп—старшие разряды. Срав- нение чисел будем производить, начиная с младшего разряда. Из со- отношений (1.4) следует, что /п(рп=Э. Табл. 1.1 задает функции Д и для одноразрядных двоичных чи- сел X и У (п = 1). Из данной таблицы следует, что функции fi = Х1У1> Ф1 ~ х,© ух. (1.5)
*1 */т f, <Р1 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 Пусть теперь имеются функции Ц и Ф1 для младших разрядов Xi и у1г а числа двухразрядные, т. е. X — (х2, х4) и У = (у2, У1). Составим Рие. 1.12. Синтез схемы сравнения дво- ичных чисел таблицу истинности для функ- ций /2 и ф2, аргументами ко- торых являются величины fi, Ф1, х2 и у2 (табл. 1.2). В строках с номерами i — 12, 13, 14, 15 значения функций не определены (f2 = Ф и ф2 == ф), так как функции fi и ф1 не могут одновременно быть равными 1 (fnq>n = 0). Функция f2 = 1 при х2 < у2 (старший разряд числа X меньше старшего разряда числа F), а также при /i= I и х2 = Уъ- Функция ф2 = 1 только при ф! = 1 и х2 — у2. Из диаграмм Вейча (рис. 1.12), построенных на основании табл. 1.2, следует, что f2= х2у2 Vfl (х2 © у2), ф2 = Фх (х2 © у2) (1-6) (функция fa представлена не в минимальной форме). Если теперь составить таблицу истинности для функций fs и ф3, аргументами которых являются величины f2, ф2, х3 и у3, то она будет иметь такой же вид, что и табл. 1.2, а значит fs = x3y3\/f2(x3®ys), Ф3 = f2(x3@y3). (1.7) Из соотношений (1.5)—(1.7) следует общая рекуррентная формула fn = хпуп V fn-i (хп © Уп), <Pn = <Pn-i (хп © Уп). (1-8) в которой необходимо задать значения f0 и ф0, равные 0 или 1. Из вы- ражений (1.8) следует, что fl = Хгу^ \/fо (хг @ У]), ф] = Фо(хх © 1/1), <рп = <₽оПц,®уР). ₽=1 (1.9)
1 fi ЧР* *2 02 fi <₽2 0 0 0 0 0 0 0 1 0 0 0 1 1 • 0 2 0 0 1 0 0 0 3 0 0 1 1 0 0 4 0 1 0 0 0 1 5 0 1 0 1 1 0 6 0 1 1 0 0 0 7 0 1 1 1 0 1 8 1 0 0 0 1 0 9 1 0 0 1 1 0 10 1 0 1 0 0 0 II 1 0 1 1 1 0 12 1 1 0 0 ф ф 13 1 1 0 1 ф ф 14 1 1 1 0 ф ф 15 1 1 1 1 ф ф Поскольку значения функций (1.8) зависят не только от значений чисел X и У, но и от значений f0 и tp0, то целесообразно для них ввести обо- значения: fn = fn (X, Y/f0), <Pn = <Pn(X, Г/ф0). Введем в рассмотрение также функцию . gn(X, Y/fM=fn(X,y/f0) • Фп(А,Г/<р0). (1.10) Если в соотношения (1.9) подставить значения f0 = 0, <p0 = 1 и n = 1, то получатся соотношения (1.5), т. е. /1(Х, У/0) = xt ylt <Pi(X, У/1) = Xi ф yit поэтому fn(X, У/0) = F(X < У), <pn(X, У/1) = = F(X = У), gn(X, У/0, 1) = F(X > У). Подставив в выражения (1.9) значения <р0 = /о = 1 и п = 1, получим А(Х, у/1)=х1у1 У1Щ\1^(Х, У/\). Из соотношений (1.6) следует, что fa(X, У/1)=адМ(ВДШХ, 171)](*2©S/2) = = f2(X, У/0)УФ2(Х, У/1), ’ поэтому /П(Х, У/1) = /п(А, y/0)V4>n(X, У/1) = Г(Х<У), gn[X, У/1,1) = Е(Х>У).
При фо = 0 функция срп(Х, И/О) = О, поэтому на основании выражения (1.10) можно получить gn(X, Y/f0, 0)=fn (X, r/f0) = | F(X >Г) при fo = 0, F(X>Y) при f0=l. Таким образом, имеют место соотношения: м*. Y/f0)= 1 F (X < Y), если /о = О, , v , . ( 0, если <Р„ (X, Г/Фо) = J 1 F (X = Y), если Фо = 0, <Ро= 1. gn (X. Y/f0, %) = { F (X > У), если F (X > У), если (111) fo = <Ро = 0, foV4>o= 1- На рис. 1.13 показана КС, реализующая функции /4(Х, Y/f0) и Ф4(Х, К/(ро). где каждый элемент, обозначенный прямоугольником, выполняет элементарные функции (1.9) ft и ф4. Недостатком этой КС является низкое быстродействие, так как сигналы и yt, соответству- ющие младшим разрядам сравниваемых чисел, последовательно про- ходят через все элементы, имеющие конечное быстродействие. Досто- инством же данной КС является простота реализации функций ft и фр Из выражений (1.11) видно, что совокупность fn, ф„ и gn позволяет реализовать все соотношения (1.3) между сравниваемыми двоичными числами. Схемы сравнения двоичных чисел выпускаются в виде микро- схем. Например, микросхема 564ИП2 [4] выполняет функции fn(X, Y/f0), срп(Х, У/фо) и Vgn(X, Y/f0, фо). Эта система функций от- личается от системы функций (1.11) только введением стробирующего сигнала V для разрешения и запрета сравнений вида F(X > Y) при fo = <Ро = 0 и F(X > У) при f0 \/фо = 1. На рис. 1.14 показана схе- ма сравнения восьмиразрядных двоичных чисел, выполненная на двух микросхемах 564ИП2. Таким же способом можно построить схему сравнения 4-^-разрядных чисел (k — 3, 4, 5 ...). Стробирование функ- ции gih(X,Ylf0, фо) осуществляется подачей сигнала V на вход V последней микросхемы. На все же остальные микросхемы можно по- Рис. 1.13. Схема сравнения четырехраз- рядных двоичных чисел Рис. 1.14. Схема сравнения вось. миразрядных двоичных чисел
дать значения сигнала V = 0 или 1. Наличие входов f0, <р0 и V позво- ляет осуществить микропрограммное управление процессом сравнения чисел. Очевидно, что микросхемы 564ИП2 можно использовать и для сравнения двоично-десятичных чисел. § 1.7. ДВОИЧНЫЕ СУММАТОРЫ Способы выполнения арифметических операций сложения и вы- читания с помощью КС будем рассматривать только для целых двоич- ных чисел, что значительно облегчает изложение методики их синтеза Целые положительные «-разрядные двоичные числа будем обозначать через X = (хп, .... xt) и Y = (уп, yt), где хп и уп — старшие раз- ряды, а числа любого знака — теми же буквами со штрихом. Тогда будем иметь: X' = ±Х, Y' = ±У, [Х'1 = X, [К'] = Y. КС, выпол- няющие операции сложения и вычитания чисел, называются комби- национными сумматорами, так как X — Y — X + + (-Г). Операция сложения положительных двоичных чисел определяется правилами двоичной арифметики: 1) значение переноса zp+1 в (р + +• 1)-й разряд равно 1, если две или три величины из хр, ур и гр равны 1, где хр и ур — разряды чисел X и Y, а гр — перенос из (р —1)-го разряда; 2) значение р-го разряда sp суммы чисел X и Y равно I, если нечетное число величин хр, ур и zp равно 1. Для наглядности поясним эти правила примером: 6 5 4 3 2 1 — номера разрядов, 32 16 8 4 2 1 — веса разрядов, -4- 0 1 1 0 0 1 ~ X = 25, -4- 0 1 1 1 0 1 ~ Y = 29, 1 1 0 0 I 0 ~ Z — перенос, 1 1 0 I I 0 ~ S =- 54 —сумма. Понятно, что значение переноса в первый разряд всегда равно 0, т. е. 21^0. Если при сложении разрядная сетка не переполняется, то пере- нос в старший (n Т- 1)-й разряд отсутствует (zn+1 = 0) и Z = (zn, ..., 2г. 0), S = (sn, ..., sf). В общем случае необходимо производить сло- жение и вычитание как положительных, так и отрицательных чисел. Таблица истинности (табл. 1.3), описывающая закон функциони- рования одноразрядного двоичного сумматора, составляется на ос- новании сформулированного выше правила сложения положительных чисел. Таблица 1.3 i “р UP гр V гр+1 1 хр «р гр sp . 2р+1 0 0 0 0 0 0 4 1 0 0 1 0 1 0 0 1 1 0 5 1 0 1 0 1 2 0 1 0 1 0 6 1 1 0 0 1 3 0 1 1 0 1 7 1 1 1 1 1
Из диаграммы Вейча для функций sp и zP+1 (рис. 1.15) следует, что sp = xp@yp@zp, ZP+i = ХрУр \JXpZp\JУр Zp, (1.12) ХрУР Хр 2р ур Zp. На рис. 1.16 показана КС, выполненная в соответствии с полу- ченными формами функций sp и zp+1. Понятно, что для сложения двух «-разрядных чисел X и Y требуется использовать п одноразрядных Рис. 1.15. Синтез двоичного Рис. 1.16. Схема двоичного одноразрядного сумматора одноразрядного сумматора сумматоров. На рис. 1.17 представлен сумматор для трехразрядных чисел X — (х3, х2, %i) и Y = (у3, у2, yi). В настоящее время в виде мик- росхем выпускаются одно- (155ИМ1), двух- (155ИМ2) и четырехразряд- ные (155ИМЗ, 564ИМ1) двоичные сумматоры. На рис. 1.18, а показано условное графическое обозначение четырехразрядного двоичного сум- матора (Лг и Bt — входы для подачи разрядов чисел, — выходы разрядов суммы чисел, i — номер разряда, Р} — перенос). Входы At, Bi и Ро логически равноценны (имеют вес, равный 1). Также логически равноценны входы At и Bt, где i = 2, 3, 4. Поэтому в дальнейшем для двоичных сумматоров будем использовать упрощенное, но со- Рис. 1.17. Схема трехразрядного дво- • ичного сумматора Pk Рис. 1.18. Условные графи- ческие обозначения четы- рехразрядных двоичных сумматоров 8 4 2 7 SM № 8 4 2 1 б)
держащее больше информации, условное гра ическре обозначение, показанное на рис. 1.18, б (в левом и правом полях указаны веса входов и выходов сумматора).. § 1.8. ПРЯМОЙ И ДОПОЛНИТЕЛЬНЫЙ коды П рямым кодом числаХ' = ±(хп, ..., %i) называется ве- личина [Х']„ = (хп+1, X) = [ (°’ Х)’ еСЛИ Х' °’ + 1 1(1, X), если X'с О, где X = |Х'|, (xn+1, X) = (хп+1, хп, ..., Xt). Таким образом, прямой код числа X' произвольного знака получается добавлением к модулю числа | X' | знакового разряда xn+i, значение которого определяет знак числа. Прямой код используется при умножении чисел, так как для этого необходимо перемножать модули чисел | X' | и | Y' | и вычислять знак произведения zm, который определяется только значениями знаков чисел X' и Y'. Знак произведения zm = хп+1 ф уп+1, где т = 2n + 1. Теперь перейдем к рассмотрению дополнительного кода. Пусть требуется выполнить вычитание двух целых положительных «-раз- рядных чисел: X = (хп, ..., Xi) и Y = (уп, у±), где X > О, Y >> 0. Так как разность S' = X — Y = X + (—У), то вычитание экви- валентно сложению с отрицательным числом — У. В десятичной сис- теме счисления X =хп • 2”-1 + хп_, • 2«*2 + . . . + х22! + Х]2° - хр 2р-\ p=i Максимальное значение X получается при хр = 1 для всех р = 1, 2, п: п Хшах= J]2P-1=2«-1. (1.13) p=i Таким образом, 0<Х< 2"—1 и О <С Y < 2"—1. Разность S'=X— Y = Х— 2П + (2П— У)=Х— 2« + И7, (1.14) где W = 2"—Y. Так как 0 < Y < 2"—1, то 0 < W < 2". Поло- жительное число W = 2"—Y называется дополнением Y др 2”. Из соотношения (1.14) следует, что X—Y -f- 2" = X + W, т. е. вычи- тание сводится к сложению, но результат надо скорректировать на 2е (вычесть из равности 2"). Из выражения (1.13) следует, что
поэтому = 2(1 -^2P~1 + 1 = 2ур'2/,-1+1’ p=l P=1 так как 1 — yv — yp. Поскольку 0 < W < 2", to W = (wn, . . . wx)=(yn , У1) +1 = Y 4- 1, где У = (yn, у J, 4-1 = (0, 0, 0, 1). Разность (1.14) можно представить в виде S' = X — 2'! + ^ = (0-2«4-Х) + (— 1-2" +IF). Обозначим (0-2"-4 X) = (0, хп, . . . xt), (—1-2" 4 IF) = (1, wn, ...» ffi’i). Величина (0, хп, ..., х4) называется дополнительным ко- дом положительного числа X (совпадает с прямым кодом), а величи- на (1, wn, ay() — дополнительным кодом отрицательного числа—У. Здесь значение (п 4- 1)-го разряда определяет знак числа (0 — число положительное, 1 — число отрицательное). Если число У может иметь любой знак, то дополнительный. код [У']я = ( (0’ Г)’ если У' >0, (1.15) I (1, Г), если У'<0, где У = |У'| = (уп, ..., у,}, W = (wn, wj = У + 1 = 2"-У. Дополнительный код отрицательных чисел можно представить также в виде [—У]я = (1, У) + 1. Из определения (1.15) следуют правила получения дополнитель- ного кода отрицательных чисел (правила преобразования прямого кода в дополнительный). Для этого необходимо: 1) записать модуль У = |У'| отрицательного числа У в двоичной системе счисления; 2) взять инверсию от каждого разряда числа У, т. е. вычислить чис- ло У = (z/n, у^\ 3). сложить полученное число У с единицей, т. е. вычислить число У 4- 1; 4) записать 1 в (п-М)-й разряд. отыскание дополнительного В качестве примера рассмотрим кода числа У = —24: 16 8 4 2 1 — веса разрядов 1 1 0 0 0 ~ |У'| = 4-24, 0 0 1 1 1 ~ У , 4- 0 0 0 0 1 -41, 0 1 ООО - Y 4 1 = W, 1. 0 1 0 0 0 ~ [У'1д
(для наглядности знаковый разряд будем отделять точкой). Сложение двоичных чисел X' и Y', представленных в дополни- тельном коде, основывается на теореме (приводится без доказательст- ва): дополнительный код арифметической суммы S' двух чисел X' и Y’ любых знаков равен арифметической сумме дополнительных ко- дов чисел, т. е.: [$')д = [X' + У']Д = 1Х']Д + [^']д, причем при сложении чисел одинакового знака должно выполняться условие: |Х'| |У'| < 2"—1, т. е. разрядная сетка не должна переполнять- ся. Если X’ > О, Y' > 0 и |Х'| + |Е'| 2", то происходит потеря значения +2" и изменение знака остатка суммы на противоположный. Если же X' < 0 и Y' <z 0, то потеря значения —2" и изменение зна- ка остатка суммы на противоположный происходит при |Х'| + |У'| Из теоремы следует, что для сложения и вычитания двоичных чисел, представленных в дополнительном коде, может быть использован сумматор, приведенный на рис. 1.17. Рассмотрим теперь преобразование дополнительного кода (1.15) отрицательных чисел в прямой код. Так как W = 2" —W. Поэтому 2п — п 2Р-1 + 1 п Wp) 2? 1 + 1 = p=i ₽=1 ₽=1 = W + 1, где W — (wn, ..., Wf). Из этого следует, что правила обратного пере- вода дополнительного кода в прямой аналогичны правилам перевода прямого кода в дополнительный. В заключение рассмотрим пример вычисления суммы чисел X — = +56 и Y' = —98 (S' — +56 — 98 = —42) в дополнительном коде. Сначала необходимо представить числа X и Y' в дополнительном коде: 64 0 32 1 16 1 8 1 4 0 2 0 1 0 — веса разрядов, - X = + 56, 0. 0 1 1 1 0 0 0 ~ [Х]д. 1 1 0 0 0 1 ' 0 ~ |К'| =-- У = + 98 0 0 1 1 1 0 1 ~ Y, + 0 0 0 0 0 0 1 ~ + 1, 0 0 1 1 1 1 0 ~ Y + 1=Г, 1. 0 0 1 1 1 1 0 ~ [Е']д. Затем вычисляем арифметическую сумму дополнительных кодов [Х]Д и [У']д: 0. 0 1 1 1 0 0 0 - - [Х]Д, + 1. 0 0 1 1 1 1 . 0 ' - [Е']д, 1. 1 0 1 0 1 1 0 - - [Х]д+ [У'1д= [5'1д.
Далее выполняем перевод дополнительного кода [S']д — (1, V) суммы 5' = х + У’ в прямой код: 1-10 10 110- {5']д, 0 1 0 1 0 0 1 - V, +0 0 0 0 0 0 1 - + 1, О 1 0 1 0 1 0 - S = + 42, 1-0101010- [S']n. Очевидно, что все изложенное относительно двоичных сумматоров и дополнительного кода справедливо не только для целых, но и для дробных чисел. § 1.0. ОБРАТНЫЙ КОД И СУММАТОРЫ ДЛЯ ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ В ПРЯМОМ КОДЕ Для суммирования чисел X' и У любого знака часто используется их представление в обратном коде, который определяется соотноше- нием rv/l ( (0> ^)> если > 0, I-** If) " \ — | (1, X), если X' С о, где X = (хп, ..., xj, X = (хп, ..., Xi). Число нуль в обратном коде имеет два представления (0, 0, ..., 0) — положительный и (1, 1, ...,1)— отрицательный нули. Прямой, дополнительный и обратный коды по- ложительных чисел совпадают. Сравнив последнее выражение с вы- ражением (1.15) для дополнительного кода, легко заметить, что об- ратный и дополнительный коды отрицательных чисел связаны соот- ношением [—Х]о = I—Х]д—1, так как [—XJ0 = (1, X), а [—Х]д = = (1, Х) + 1. Установим правило сложения чисел в обратном коде, используя связь между прямым и дополнительным кодами. Для этого покажем, что это правило определяется соотношением [S'lo = [X'lo + 1И0 + Pnt-V где дп+2 — перенос в (п-[-2)-й разряд из знакового разряда, т. е. пере- нос рп+2 следует подать на вход переноса первого разряда двоичного сумматора (рп+2 = 0 или 1). Будем полагать, что при сложении чисел X' и У разрядная сетка не переполняется, а значит не изменяется знак суммы S' на противоположный. Справедливость правила сложения чисел в обратном коде для слу- чаев X' 0 и У = 0 (X' = 0 и Г 5 0) проверяется непосред- ственно на основании приведенного определения этого правила. Например, при X' = У = 0 получим, что [S'lo = Ю]о + [0]о + ^+2 = (1, 1, ... , 1)4-(1, 1. 1)4-^п+2- Из данного соотношения видно, что из знакового разряда возникает перенос, т. е. pn+2 = 1. Поэтому обратный код суммы [S'J0 = (1, 1,.,.
j)__отрицательный нуль. Рассмотрим другие возможные случаи сложения чисел X' и У. Пусть X' < 0 и У > 0, т. е. суммируются положительные числа X и У. В этом случае сумма S' !> О и дополнительный код суммы: [5'] = [Х]д + И7]д — (О, X) + (О, У). Из данного выражения видно, что перенос из знакового разряда возникнуть не может, т. е. перенос рп+2 = 0, а значит [S']o = [Х]о + [Е)о = [S']B, так как обратный и дополнительный коды положительных чисел совпадают. Таким образом, сформулированное правило сложения чисел в обрат- ном коде справедливо при X' > 0 и У > 0. Пусть X' > 0 и У' <; 0, т. е. суммируются числа Хи У = — У. В этом случае сумма S' может иметь любой знак. Дополнительный код суммы определяется соотношением [S']n = (Х]д + f— У]д = (0, X) + (1, F)+l. Если сумма S' <Z 0, то перенос из знакового разряда не возникает (Рп+2 = 0), так как иначе знак суммы изменился бы на противополож- ный. Поэтому обратный код суммы: [S']o = (Х]о + [—У]о = [5']д—1, как и должно быть на основании связи обратного и дополнительного кодов отрицательных чисел. Если же сумма S' > 0, то из выражения для дополнительного кода суммы следует, что должен возникать пере- нос из знакового разряда (рп+2 = 0» так как в противном случае знак суммы изменился бы на противоположный. Поэтому обратный код суммы [S']o = [Х]о + [- Г]о + 1 = [S']n, как и должно быть, так как обратный и дополнительный коды поло- жительных чисел совпадают. При У = —X сумма S' = 0 и обратный код суммы [S']o = [Х]о 4- [—Х]о = (0, X) + (1, X) = (1, 1.1), т. е. в результате суммирования получается отрицательный нуль- Положительный и отрицательный нули при выполнении арифметиче- ских операций эквивалентны друг другу, т. е. появление отрица- тельного нуля не приводит к ошибкам в вычислительном процессе. Таким образом, при X' > 0, У <С 0 сформулированное правило сло- жения чисел в обратном коде справедливо. Случай X' <0 и У > 0 аналогичен случаю X' > 0 и У < 0, поэтому рассматривать его нет необходи мости. Пусть, наконец, X' < 0 и У < 0, т. е. суммируются отрицатель- ные числа. В этом случае сумма S' < 0 и дополнительный код суммы [S'h = [—Х]д + 1- Ид= (Ь Х)+1+(1. У) + 1. Так как сумма S' < 0, то должен возникать перенос от знакового разряда (рп+2 = 1), так как в противном случае знак суммы изменился бы на противоположный. Поэтому обратный код суммы: [S']o = = [—х]0 + I—У)о + 1 = IS']д—1, как и должно быть на основа- нии связи обратного и дополнительного кодов отрицательных чисел.
Таким образом, сформулированное правило сложения чисел в обрат- ном коде справедливо при X' <0и Y' < 0. Преимуществом обратного кода является простота его получения. В частности, для получения обратного кода положительного числа X, умноженного на —1, достаточно проинвертировать все разряды об- ратного кода этого числа X. Недостатком использования обратного кода является меньшее быстродействие сумматора, так как перенос из последнего (знакового) разряда подается на вход переноса первого Рис. 1.19. Схема преобра- зования четырехразрядного дополнительного кода в прямой код и четырехраз- рядного прямого кода в до- полнительный код разряда, что при равенстве данного пе- реноса единице может заново вызвать в сумматоре переходный процесс. Рассмотрим теперь суммирование чи- сел, представленных в прямом коде. В этом случае суммирование можно вы- полнить с помощью предварительного преобразования прямого кода в допол- нительный или обратный код. Чтобы сумму представить в прямом коде, не- обходимо выполнить обратное преобра- зование. При использовании дополни- тельного кода указанные преобразова- ния наиболее просто осуществляются с помощью ЛЭ, выполняющих операцию «сумма по модулю два», и двоичных сумматоров на основании правил, приведенных в § 1.8. Так как правила преобразования прямого кода в дополнительный и дополни- тельного в прямой идентичны, то эти преобразования выполняются одной и той же схемой. На рис. 1.19 показана схема преобразования четырехразрядных кодов (х4 — знаковый разряд). Поясним работу схемы. Рис. 1.20. Схема сумматора для четырехразрядных двоичных чисел, представленных в прямом коде
Пусть на вход подается прямой код [ (0, х3, х2, X,), если X' г>0, In ' Ч XZ/ I (1, х3, х2, Xj), если X Со- Если х4 = 0 (число положительное), то а,р = хр ф 0 — хр и рр = хр (р = 12, 3), т. е. код не изменяется. Если х4=1, то ар= хр ф! = хр и сумматор производит вычисление суммы (1, X) + 1 = (1, х3, х2, х~) + 1 (₽4 — знак числа). Отрицательный нуль прямого кода пере- водится при этом в дополнительный код нуля. Если на вход данной схемы подать дополнительный код, то на выходе получим прямой код. На рис. 1.20 показана схема сумматора для четырехразрядных чисел X’ и Y', представленных в прямом коде. С помощью сумматора Di производится преобразование прямого кода числа X' в дополни- тельный код. Сумматор £)2 используется как для преобразования пря- мого кода числа V в дополнительный, так и для сложения дополнитель- ных кодов чисел X' и Y'. С помощью сумматора D3 производится пре- образование дополнительного кода суммы в прямой (если это требуется). Для выполнения рассмотренных в § 1.8 и 1.9 операций можно использовать микросхему 155ИПЗ, представляющую собой арифме- тико-логическое устройство (АЛУ), реализующее 16 логических и 16 арифметических операций. Выбор операции, выполняемой АЛУ, за- дается пятиразрядным кодом, подаваемым на его управляющие входы. § 1.10. ДЕСЯТИЧНЫЕ СУММАТОРЫ Десятичные сумматоры применяются в тех случаях, когда числа X' и Y' представлены в десятичной системе счисления и нежелательно вводить преобразование десятичных чисел в двоичные. В этом случае можно использовать независимое преобразование каждой десятичной цифры в код с избытком 3 [48]. Это проще выполнить, чем преобра- зование всего десятичного числа в двоичный код. Для представления любой десятичной цифры 0, 1, ..., 9 достаточно использовать четыре символа 0 и 1. На практике широко применяется четырёхразрядный код 8—4—2—1 (двоично-десятичный код). Числа 8, 4, 2 и 1 являются весами разрядов. Таким образом, запись десятич- ной цифры в коде 8—4—2—1 совпадает с записью двоичных чисел от 0 до 9 (например, 0101 ~ 5), а «-разрядное десятичное число представ- ляется с помощью тетрад, каждая из которых состоит из четырех дво- ичных разрядов (например, 283 ~ 0010.1000.0011). Такое представле- ние десятичных чисел будем считать исходным. Код 8—4—2—1 неудобен для выполнения арифметических опера- ций, в частности из-за сложности обнаружения переноса в следующую тетраду при Хр + Yp 10 (Хр и Yp — р-ые разряды десятичных чисел X и Y). Код 8—4—2—1 для числа Хр + 3 называется кодом с избытком 3 числа Хр и обозначается через [Xpj [46]. Для сложения четырехразрядных кодов [Хр] и |КР} можно использовать четырех- разрядные двоичные сумматоры, описанные выше. Рассмотрим осо- бенности сложения положительных чисел Хр и Yp в коде с избытком 3.
Если XP + YP> 10, то {Хр} + {Ер} = Хр + 3 + Yp + 3 ^16 и на выходе двоичного сумматора возникает перенос (р4 = 1 на рис. 1.18, а) в следующий двоичный разряд, а остаток суммы будет ра- вен {Хр} + {Ер} — 16, в то время как он должен быть равен {Хр + + Yp - 10} = Хр + Yp - 10 + 3 = {Хр} + {Ур} -16 + 3. По- этому к остатку суммы {Хр} + {Ер} — 16 следует прибавить число 3. Если Хр + Yp < 10, то {Хр} + {Ур} < 16 и на выходе двоично- го сумматора перенос отсутствует (р4 = 0 на рис. 1.18, а), а сумма {Хр} + {Ур} = [Хр + Ур} + 3. Поэтому из суммы {Хр} + {Ур} следует вычесть число 3, чтобы по- Рис. 1.21. Схема одноразрядного десятичного сумматора для чисел, представленных в‘коде с избытком 3 лучить величину {Хр+ Ур,} кото- рая является кодом с избытком 3 суммы Хр + Ур. Как было пока- зано в § 1.8, вычитание какого- либо числа эквивалентно сложению с его дополнением до 2я, поэтому вместо вычитания числа 3 можно прибавить число 24 — 3 = 13 = = (1, 1, 0, 1). Таким образом, если перенос возникает, то к остатку суммы следует прибавить число 3, а если он отсутствует, то к сумме следует прибавить число 13. На рис. 1.21 показана схема одноразрядного сумматора для чисел, представленных в коде с избытком 3, выполнен- ная в соответствии с установленными правилами. На вход левого двоич- ного сумматора подаются коды разрядов чисел с избытком 3 {Хр} = = {Хр,^, %р,з, Хр,2, Xp,j), {Ур} — (_Ур,4, Ур,2> Ур>1.) и перенос из предыдущего десятичного разряда zp. Данный сумматор вычисляет сумму {Хр} + {Ур}. Если перенос в следующий десятичный разряд Zp+i — 0, то на правый сумматор подается число (1, 1,0, 1) = 13, а если zP+1 = 1, то подается число (0, 0, 1,1) = 3. На выходе этого сумматора получается значение суммы {Sp} = = (Sp,4, Sp,3, Sp,2, sp,i) разрядов Xp и Yp, представленной в коде с из- бытком 3, с учетом переноса. Итак, одноразрядный сумматор для чисел, представленных в коде с избытком 3, описывается соотношениями: ( 0, если {Хр} + {Ур} +zp< 16, | 1, если {Хр} + {Ер} -j-Zp 16, I {-Хр} + {Ер} + Zp + 13, если zp+1 — 0, I {-Хр} Ч- {Ер} + Zp + 3, если zp+1 = 1, где Zp+i — перенос в следующий десятичный разряд; {Sp} — зна- чение р-го разряда суммы чисел X и Е; zp = 0 или 1 — перенос из предыдущего десятичного разряда (перенос из предыдущей тетрады). Прибавление чисел 3 и 13 называется коррекцией суммы и выполняется правым сумматором (рис. 1.21). Следует иметь в виду,
что возникающий при коррекции перенос теряется (не передается в следующую тетраду). С помощью последовательного соединения п одноразрядных сумматоров- (рис. 1.21) можно получить «-разрядный сумматор. Для перевода кода с избытком 3 в код 8—4—2—1 следует из кода с избытком 3 произвести поразрядное вычитание числа 3, что эквивалентно прибавлению числа-13. Рассмотрим пример, поясняющий работу сумматора для чисел, представленных в коде с избытком 3. Пусть требуется сложить два числа X — 326 и Y = 475 (S = X + _]_ У = 801). Все операции по преобразованию числа описываются схемой: 1 ООП. 0010. оно ~ X = 326 (коде—4—2—1), ООН. ООН. ООН — внесение избытка 3, оно. 0101. 1001 ~ {X}, + 0100. 0111. 0101 ~ У = 475 код (8—4—2— 1), ООН. ООН. ООН — внесение избытка 3, 0111. 1010. 1000 ~ {Г}. + оно. 0101. 1001 ~ {X}, 0 1 1 1 1110. 0000. 0001 ~ {X} + {У}, I 1101. ООН. ООН — коррекция, 1 юн. ООН. 0100 ~ {S}= {Х+У}, 1 1101. 1101. 1101 — перевод в код 8—4—2—1, 1000. 0000. 0001 — {SJ = 801 (код 8—4—2-—1 (над точками в строке (X) + (У) указаны переносы в следующую тет- раду)- Рассмотрим теперь вычитание «-разрядных десятичных чисел X и У с использованием кода с избытком 3. Так как S' = X — У = Х — 10” + (10« — У)=Х — 10« + №, где W = 10” — У, то вычитание из X числа У эквивалентно сложе- нию X с дополнением У до 10” с коррекцией результата на 10” (сле- дует вычесть 10”). Введем в рассмотрение прямой и дополнительный коды с избытком 3 для десятичных чисел X' любого знака. Прямой код с избытком 3 определяется соотношением Н*'}1п= { (0, (X)), если X' >0, (1, {X}), если X' <0, где X = |Х'|. Дополнительный («+1)-й разряд, равный 0 или 1, определяет знак числа. Дополнительный код с избытком 3 определя- ется соотношением 1И')]д = { (0, {X}), если X' ^0, (1, (IT)), если Х'<0,
где W = 10"—X; X = |Х'|. Полезно сравнить это соотношение с вы- ражением (1.15) для дополнительного кода двоичных чисел. Поскольку операция вычитания из X числа Y заменяется опера- цией сложения X, с дополнением W, то основным требованием к ко- дам, используемым для выполнения арифметических операций сло- жения и вычитания, является схемотехническая простота отыскания дополнения W. Код с избытком 3 относится к классу самодополняю- щихся кодов: |ХР} + {Хр} = 9 для любых |ХР} = {0}, {!}, .... {9}. Действительно, пусть Хр = 4 = (0, 1, 0, 0). Тогда {Хр} = (0, 1, 1, 1), [Х^ = (1, 0, 0, 0) и {Хр} + (Х^Г = (1, 1,1,1)- (0, 0, 1, 1) = = (1, 1, 0, 0) = {9}. Поэтому для дополнительного кода с избытком 3 имеет место соотношение: [157} = {У} + 1, из которого следует алгоритм получения дополнения W в коде с избытком 3 (аналогичное соотношение было получено и для двоичного дополнительного кода). Правила преобразования прямого кода с избытком 3 в дополнитель- ный с избытком 3 и правила обратного преобразования такие же, как и для двоичного дополнительного кода. Правило сложения чисел, пред- ставленных в дополнительном коде, определяется соотношением, [{3'}1Д = [{Х'}]Д + [(У'}]д при условии, что нет переполнения раз- рядной сетки (совпадает с правилом сложения двоичных чисел в до- полнительном коде). Используя данные правила, рассмотрим числовой пример. Пусть требуется вычислить сумму S' чисел X' и Y', где X' = +257, Y’ = = —648. Все необходимые для этого преобразования чисел X' и Y' описываются схемой: 0010. 0101. 0111 ~ X = 257 (код 8- -4—2—1), + ООП. ООП. ООП — внесение избытка 3, 0101. 1000. 1010 ~ W, + оно. 0100. 1000 ~ Y = 648, ООН. ООН. ООН — внесение избытка 3, 1001. 0111. юн ~ {П. + оно. 1000. 0100 ~ {V), 0000. 0000. 0001 ~ 1, оно. 1000. 0101 ~ (И7} = {Й + 1, 1. оно. 1000. 0101 + о. 0101. 1000. 1010 ~ |{Х'}]д, 0 1 0 1. 1100. 0000. 1111 ~ [{Х'Яд + НП] д» + 0. 1101. ООП. 1101 — коррекция, 1. 1001. ООН. 1100 Убедимся, что полученная сумма S' = 257 — 648 = —391. Для этого преобразуем [(S'} |д в значение, представленное в прямом коде 8—4—2—1. Преобразования определяются схемой:
1. 1. 1001. оно. ООН. 1100. 1100 ООН ~ [{S'JU ~ {S'}, + 0. 0000. 0000. 0001 ~ + 1, 1. оно. 1100. 0100 ~ [{S'}]n = {S'} + 1, + 0. 1101. 1101. 1-101 — перевод в прямой код 8—4—2—1 1. ООН. 1001. 0001 - ~[S']n 391 (код 8—4—2—1) Из рассмотренного примера видно, что все операции выполняются с помощью ЛЭ «исключающее ИЛИ» и двоичных четырехразрядных сумматоров (подобно тому, как показано на рис. 1.20). Из сказанного следует, что одноразрядные десятичные сумматоры, показанные на рис. 1.21, можно использовать как для сложения, так и для вычитания «-разрядных двоичных чисел, если они представ- лены в дополнительном коде с избытком 3. В заключение отметим, что иногда возникает необходимость ис- пользования шестиричной системы счисления (например, при постро- ении многоканальных таймеров на основе оперативных запоминаю- щих устройств). В этом случае сложение и вычитание проще всего вы- полнять в дополнительном трехразрядном двоичном (4—2—1) коде с избытком 1 или в дополнительном четырехразрядном двоичном (8—4—2—1) коде с избытком 5. Эти коды обладают теми же свойствами, что и дополнительный код с избытком 3 для десятичной системы счисления. Дополнение W числа X в шестиричной системе счисления определяется соотношением: W = 6"—X, где X — «-раз- рядное шестиричное число. § 1.11. ПОРОГОВЫЕ СХЕМЫ И МАЖОРИТАРНЫЕ ЭЛЕМЕНТЫ Пороговой схемой & из « называется КС, имеющая « входов и один выходи реализующая функцию f(v), равную 1 только в тех случаях, когда не менее k входных сигналов равны 1. Пороговые схемы используются в обнаружителях сигналов, работающих по прин- ципу k из « (« - число выборочных значений случайного процесса, k — число выборочных значений, превысивших заданный порог, т. е. анализируемые случайные величины принимают только два значения 0 или 1). В этом случае символы 0 и 1 являются числами 0 и 1, поэтому такие КС могут быть реализованы с помощью двоичных сумматоров. Так как все входные переменные имеют одинаковый вес — 1, то для их сложения с целью последующего сравнения с порогом k требуются одноразрядные двоичные сумматоры. Чаще всего в сериях микросхем выпускаются четырехразрядные сумматоры, использование которых в качестве одноразрядных сумматоров неэффективно. Покажем, что четырехразрядный сумматор можно использовать в качестве двух одноразрядных сумматоров. Сумматор, показанный на рис. 1.18, а, описывается функциями: = Aj © Вг ©Ро, s2 = A2Q)Ри s3 = Ajф В3фР2, s4 = А4 © В4 ф Р3, Р4 = А 4В4 V Л Л V В4Р3,
где Pi = AiBi V^oV^A; Pz = AZBZ\/ A2Pi\/ BzPi, P3 = Л3В3у \/ А3Рг\/ B3P2— внутренние сигналы микросхемы. Подставив в эти функции значения Az = Bz = О, А3 — В3 — Ро, Л4 = Ai и В& = — Bi (рис. 1.22, а), получим «2 = Pv s3 = 0» s4 = Al ф в'1 ф Р'о = , Р4 = А Biv AiP'o \/B'iP'0=P'i, т. е. четырехразрядный сумматор при указанных на рис. 1.22, а со- единениях входов может быть использован в качестве двух независи- мых одноразрядных сумматоров. а) • Л» Рис. 1.22. Два независимых одно- разрядных сумматора: а — на одном четырехразрядном сумма- торе, б — их условное обозначение При использовании четырехраз- рядных сумматоров в режиме двух одноразрядных используют упро- щенное графическое обозначение (см. рис. 1.22,6). При реализации пороговых схем в МНФ в базисе И—НЕ по- требовалось бы в первом ярусе ЛЭ И—НЕ, так как наименьшее число сочетаний входных сигналов, достигающих в сумме порога k, рав- но К1 Второй ярус состоит из одно- входов j = 9 и & = го ЛЭ И—НЕ с числом Пусть требуется синтезировать пороговую схему для п =6. При реализации данной пороговой схемы в СНФ в базисе И—НЕ потребовалось бы g j + 1 = • + 1 — 85 ЛЭ И—НЕ. Такой способ реализации неудовлетворителен. На рис. 1.23 показана эта же пороговая схема, реализованная на шести одноразрядных сумматорах и одном ЛЭ ИЛИ. Если на вход сумматора подается переменная, имеющая вес 2т, то выход суммы имеет также вес 2т, а перенос — вес 2m+1. На все три входа сумма- тора можно подавать только переменные, имеющие одинаковые веса. С помощью сумматоров Di, Dz и верхней части сумматора D3 произ- водится обычное сложение двоичных чисел. Выходными сигналами этой части схемы являются сигналы у}, j = 0, 1,2, 3. Так как k — — 6 — четное число, то переменная у0, имеющая вес 1, не может ока- зать влияния на превышение суммой переменных хр (р = 1, 2, ..., 9) порога k, т. е. эту переменную можно исключить из дальнейшего рас- смотрения. Таким образом, остались три переменные: yi — пере- менная, имеющая вес 4, и переменные yz и у3, имеющие вес 2. Очевидно, что порог k — 6 будет превышен только в двух случаях: 1) если yi = 1 и yz = 1, 2) yi — 1 и у3 = I. Поэтому для окончатель- ного построения пороговой схемы надо реализовать функцию f(v) я
= у\Уз- Для реализации этой функции можно использовать вто- рую часть сумматора Ds. Так как Л = ЛДХ/ЛЛХ/ЙЛ и % = = А2 © В2 ® (см- Рис- 1-22> й)> то> положив Ai = ylf Bi = О и р0 == у2\/ у3, получим, что f(v) = Pi = s2, поскольку Л2 = В2 = _ 0. Аналогичным образом можно реализовать любую пороговую схему при сколь угодно большом числе входных сигналов п. Мажоритарным элементом называется пороговая схема с нечетным числом входов п, выходной сигнал которой равен 1 только при поступлении на ее входы k = (п-\А)/2 или большего числа входных сигналов хр, равных 1. При реализации мажоритарного элемента, имеющего п = 13 входных сигналов хр (р = 1, 2, 13), в СНФ в базисе И—НЕ по- требовалось бы (131/716!) + + I = 1717 ЛЭ И—НЕ. На рис. 1.24 показана схема такого мажоритарного элемента, выполненная на че- тырех одноразрядных (£>! и D2), двух двухразрядных (О3 и Z)4 — 155ИМ2) и одном че- тырехразрядном (G5) двоич- ных сумматорах. На один из входов сумматора D3 подан сигнал, равный 1. Тем самым порог k = 7 изменяется на k — 8. Выходной сигнал с ве- сом 8 сумматора Ds будет равен 1, если семь или боль- шее Число входных сигналов Рис. 1.24. Тринадцативходовой мажори- тарный элемент
Хр примут значение 1. Таким же способом можно синтезировать лю- бой мажоритарный элемент. § 1.12. ПРЕОБРАЗОВАТЕЛИ ДВОИЧНО-ДЕСЯТИЧНОГО КОДА В ДВОИЧНЫЙ КОД Преобразователи кодов используются для шифрации и дешифра- ции цифровой информации и имеют п Входов и k выходов. Соотношения между числами п и k могут быть любыми: п = k, nZ> k и п <Z k. Пре- образователи кодов можно разделить на два типа: 1) с невесовым пре- образованием кодов; 2) с весовым преобразованием кодов. Примером преобразователей первого типа являются широко известные преобра- зователи двоично-десятичного кода в код семи сегментного индикатора десятичных цифр. Преобразователи второго типа используются, как правило, для преобразования числовой информации. Для построения преобразователя двоично-десятичного кода в двоичный код необходимо спроектировать некоторый элементарный преобразователь кодов и установить правила соединения таких пре- образователей для получения схемы, позволяющей преобразовывать многоразрядные двоично-десятичные числа в двоичные числа. Из- вестно [33], что преобразование двоично-десятичного кода в двоичный легко выполняется с помощью операции сдвига числа в сторону млад- ших разрядов и коррекции числа, получаемого после сдвига. Сдвиг двоичного числа на один разряд в сторону младших разрядов, т. е. на один разряд вправо, эквивалентен делению числа на два без учета младшего разряда, который теряется или поступает в другой сдвигаю- щий регистр. При сдвиге двоично-десятичного числа на один разряд вправо получаемое число не равно исходному, деленному на два. Что- бы в результате сдвига получалось такое число, необходимо произво- дить коррекцию результата сдвига (табл. 1.4). В табл. 1.4 использо- ваны обозначения: ДЧ — десятичное число, ДДЧ — двоично-деся- тичное число, С — сдвиг, К — коррекция, МР — младший разряд. Если в старший“разряд тетрады, имеющей множитель 10^, поступает единица, то она приобретает вес 8- ЮЛ До сдвига эта единица имела вес 10у+1, поэтому для получения при сдвиге деления на два ей сле- дует приписать вес 2-1- 1(У+1. Из этого следует, что необходимо про- извести коррекцию на число 8-107—2-1- 1(У+1, т. е. вычесть число Таблица 1.4 ДЧ 9 6 5 3 МР Вес ю3 8 4 2 1 102 8 4 2 1 ю1 8 4 2 1 10° 8 4 2 1 ДДЧ С к ДДЧ ДЧ « 10 0 1 0 10 0 0 0 0 0 0 10 0 4 0 110 10 11 0 0 11 10 0 0 8 0 10 1 0 0 10 0 0 0 0 0 0 10 2 0 0 11 10 0 1 0 0 11 0 110 6 1 1
3- Ю7'. Если в старший разряд какой-либо тетрады поступает нуль, то коррекцию производить не нужно. Из табл. 1.4 видно, что после сдвига числа 9653 и соответствующей коррекции действительно полу- чается число 4826, отличающееся от 9653- 2-1 на единицу, которая является младшим разрядом младшей тетрады двоично-десятичного кода и младшим разрядом двоичного кода. Если произвести еще один сдвиг и коррекцию, то будет получено число 2413, а младший разряд младшей тетрады числа 4826 даст вто- рой разряд двоичного числа, так как младшие разряды двоично-деся- тичного и двоичного чисел всегда совпадают. Если двоично-десятичное число состоит из т тетрад, то преоб- разование двоично-десятично го числа в двоичное получается с помощью 4m сдвигов с соответствующими коррекция- ми при каждом сдвиге. Командой для производства коррекции является по- ступление единиц в старшие разряды тетрад. Описанные операции можно вы- полнить также с помощью КС. Рис. 1.25. Условное графичес- кое обозначение элементарно- го преобразователя двоично- десятичного кода в двоичный код с четырьмя входами и че- тырьмя выходами Пусть КС имеет четыре входа и че- тыре выхода. Операция сдвига реализу- ется подачей на три входа КС трех стар- ших разрядов /-й тетрады и на четвер- тый вход — первого разряда (/+1)-й тетрады. Установим, какие двоичные четырехразрядные числа X = (х4, х3, х2> -Ч) могут поступать на вход преобразователя кода. Эти числа легко определить, исходя из минимального Дт;г1=(0, 0, 0, 0) и мак- симального Лтах =(1, 0, 0, 1) чисел /-й тетрады и поступления или непоступления единицы (bt =1) из младшего разряда (/4-1)-й тетрады: 1) если bi — 0, то Xmin = (0, 0, 0, 0) = 0, Хпах = (0, 1, 0, 0) = = 4; 2) если bi = 1, то Xmin = (1,0, 0, 0) = 8, Xmax = (1, 1, 0, 0) = = 12. Таким образом, преобразователь кода должен выполнять функцию (с учетом коррекции — вычитания числа 3 при bi — 1) Y = f (X) = | “ ° С Х ^4 ’ (1.16) [X — 3, если 8 с X С 12, где Y — двоичное число, получаемое на выходе преобразователя кода. Числа X = 5, ..., 7, 13, ..., 15 не могут поступать на вход преобра- зователя. На рис. 1.25 показано условное графическое обозначение рассмот- ренного преобразователя кода. В левом и правом дополнительных полях указаны веса, с которыми воспринимаются и выдаются вход- ные и выходные сигналы. Вес старшего входного разряда в соответст- вии с соотношением (1.16) на три меньше, чем вес выходного старшего разряда. В дальнейшем на схемах множители 107 будем учитывать на основном поле преобразователей кодов.
Правило построения преобразователя двоично-десятичного кода в двоичный поясним на примере преобразователя трехразрядного двоично-десятичного числа в двоичный код (рис. 1.26). Так как самый младший разряд двоично-десятичного кода совпадает с младшим раз- рядом двоичного кода, то этот разряд не преобразуется, т. е. подается со входа на выход. Следующие по старшинству разряды подаются со сдвигом на входы двух преобразователей кодов (производится сдвиг на один разряд). Другой сдвиг на один разряд осуществляется с по- Рис. 1.26. Схема преобразователя трехразрядного двоично-десятичного кода в двоичный код мощью следующих двух преобразователей кодов и т. д. Правила со- ставления преобразователя двоично-десятичного кода в двоичный мож- но сформулировать следующим образом: 1) веса разрядов входных сигналов всех преобразователей кодов должны находиться в соотно- шении 1:2:4:5; 2), так как каждый преобразователь кодов преобразует только один двоично-десятичный разряд в двоичный разряд (вес 5 изменяется на вес 8), то преобразователь двоично-десятичного кода в двоичный должен иметь пирамидальную структуру; 3) пирамида строится из преобразователей кода до тех пор, пока не будут получены выходные сигналы со всеми весами 2Р, где р = 0, 1, 2, ..., при условии, что полученное двоичное число не меньше исходного двоично-десятич- ного числа. Таблица 1.5
На рис. 1.26 цифрами 0 и 1, указанными на входах и выходах пре- бразователей кодов, показаны преобразования десятичного числа 853, представленного в двоично-десятичном коде, в двоичный код. Сделаем синтез преобразователя кодов, задаваемого соотношением (1.16), которому соответствует таблица истинности (табл. 1.5). Составив диаграммы Вейча дляфункций ylt ..., yi, получим: у^ = xt Q) Q) Х4, У2 Х2 ^'1-^4» Уз ' Х3Х4 \J X V Х4Х3Х4, у^ = Х3Х4 \J Х]Х2Х^, Из соотношения (1.16) можно сделать вывод, что более экономичную схему преобразователя кода можно получить на основе сумматора. Действительно, если значение х4 — 1, то от числа X — (х4, х3, х2, Xj) следует отнять число 3, что эквивалентно сложению числа X = = (0, х3, х2, Xi) с дополнением числа 3 до 23, т. е. сложению с числом 5. Схема данного преобра- зователя кода, выполненная на сумматоре, по- казана на рис. 1.27. Преимуществом комбинационных преобра- зователей двоично-десятичного кода в двоичный является малое время преобразования, которое определяется только суммарной задержкой в максимальном числе последовательно включен- ных преобразователей кодов. В преобразовате- лях же двоично-десятичного кода в двоичный, ментарного преобра- зователя двоично-де- сятичного кода в дво- ичный код, выпол- ненная на четырех- разрядном сумматоре выполненный на регистрах сдвига, время пре- образования равно 4-тТн, где т — число тетрад, Тн — период тактовых сигналов. Минимальное значение Тн определяется быстро- действием элементов памяти (ЭП), на которых выполнен сдай таю- щий регистр. Быстродействие ЭП такого же порядка, как быстро- действие преобразователя кодов. Недостатком данного преобразова- теля является относительная сложность схемы. Более экономичную схему преобразователя двоично-десятичного кода в двоичный можно получить на основе преобразователей кодов, имеющих по пять входных и выходных сигналов, которые выполняют преобразование не одного, а двух двоично-десятичных разрядов в дво- ичные. Условное графическое обозначение таких преобразователей кодов показано на рис. 1.28, а (сигналы с весами 5 и 10 преобразу- ются в сигналы с весами 8 и 16). Такие преобразователи выпускаются, например, в виде микросхем в серии 155 — микросхема 155ПР6 (рис. 1.28, б). Данная микросхема выполнена в виде постоянного за- поминающего устройства (ПЗУ) 32x8 бит, выполняющего функцию X, если 0 < X 4, X — 3, если 8 X С 12, X — 6, то же 16 С X С 20, X — 9, « > 24 < X < 28, где X = (х5, х4, х3, х2, %,), Y = (у3, у3, Уз, Уз, У<). Значения X = 5, 6, 7; 13, 14, 15; 21, 22, 23; 29, 30, 31 не могут появляться на входах пре-
образователя кода. Значения входных сигналов хр (р = 1, 5) за- дают адрес ПЗУ, по которому происходит считывание выходных сиг- налов ур. Правила составления схемы преобразователя двоично-деся- тичного кода в двоичный с использованием данных преобразователей идентичны описанным ранее. На рис. 1.29 показана схема преобра- зователя четырехразрядного десятичного числа, представленного в двоично-десятичном коде, в двоичный код, составленная на основании этих правил. На схеме цифрами 0 и 1 пояснено преобразование деся- тичного числа 9999 в двоичное число. х-Ш- •Ч 11 ? 13 Х5--- 10 Х/У 1 2 ❖ 8 16 г* & —ys те В С 2 4 V Рис. 1.28. Условное обозначение элементарного преобразователя вдвоично-десятичного кода в двоичный код: а — с пятью входами и пятью выходами, б — микросхема 155ПР6, выпол- няющая функции данного преобразователя Рис. 1.29. Схема преобразователя четырехразрядного двоично-десятичного ко- да в двоичный код, выполненная на микросхемах 155ПР6
Микросхема 155ПР6 имеет стробирующий вход V: при V = О производится считывание информации, записанной в ПЗУ, а при V = = 1 все выходные сигналы принимают значение, равное 1, Кроме то- го, данная микросхема имеет еще два применения при использовании выходов B(z2) и C(zs): 1) при xs = 0 производится преобразова- ние двоично-десятичного числа X = (х4, xs, х2, xt) в дополнение Wf до числа 9 по правилу: = 9 — X = (z3, z2, х2 zj; 2) при х5 = 1 — преобразование двоично-десятичного числа X = (х4, xs, х2, xt) в допол- нение 1F2 до числа 10 по правилу: U^2 — (z3, z2, 10 — X, если 1 С X 9, 0, если X = 0. § 1.13. ПРЕОБРАЗОВАТЕЛИ ДВОИЧНОГО КОДА В ДВОИЧНО-ДЕСЯТИЧНЫЙ КОД Если представить себе передачу информации на схемах, изображен- ных на рис. 1.26 и 1.29, в обратном направлении, то получим преоб- разователи двоичного кода в двоично-десятичный код. Из этого сле- дует, что в качестве элементарных преобразователей кодов можно использовать преобразователи, показанные на рис. 1.25 и 1.28, а, произведя взаимную замену соответствующих весов, указанных на дополнительных полях (рис. 1.30, а, б). Рассмотрим преобразователь, имеющий четыре входа и четыре вы- хода (рис. 1.30, а). Он должен выполнять функцию, обратную функ- ции (1.16), т. е. при X > 5 надо производить сложение числа X = = (-Ч. х3, х2, Xi) с числом 3. Таким образом, данный преобразователь выполняет функцию Y = 1 X, если 0 < X -С 4, ( X + 3, если 5 С X < 9. (1.17) Числа 10 , ..., 15 не могут появляться на входе данного преобра- зователя. В качестве примера на рис. 1.31 приведена схема преобра- зователя девятиразрядного двоичного числа в трехразрядное десятич- ное число, представленное в двоично-десятичном коде. а) 6) в) Рис. 1.30. Условные обозначения элементарных преобразова- телей двоичного кода в двоично-десятичный код: а — с четырьмя входами и четырьмя выходами, б — четырьмя входами и пятью выходами, в — пятью входами и шестью выходами, выполненного в виде микросхемы 155ПР7
правила составления прео разователй двоичного кода в двоично- десятичный код: 1) веса разрядов входных сигналов всех преобразо- вателей кодов должны находиться в отношении 1:2:4:8; 2) так как каж- дый преобразователь кодов преобразует только один двоичный разряд в двоично-десятичный разряд (вес 8 изменяется на вес 5), то преобра- зователь двоичного кода в двоично-десятичный код имеет пирамидаль- ную структуру; 3) построение пирамиды продолжается до тех пор, Рис. 1.31. Схема преобразователя восьмиразрядного двоичного кода в двоично-десятичный код, выполненная на элементарных преобразовате- лях с четырьмя входами и четырьмя выходами пока не будут получены веса Ю^1, где / = О, 1,2, ... (за исключе- нием старшего десятичного разряда); 4) на преобразователи нельзя подавать двоичные числа, превышающие сумму весов выходных сиг- налов 5 + 4 4- 2 4- 1 = 12. Последнее правило относится к преобразователям, составляющим нижний ряд схемы преобразователя двоичного кода в двоично-деся- тичный код (см. рис. 1.31). По этим правилам можно составить схему преобразователя для любого «-разрядного двоичного числа. Сделаем синтез преобразователя, описываемого соотношением (1.17), условное графическое обозначение которого представлено на рис. 1.30,а
Составив диаграммы Вейча (рис. 1.32), можно получить; yt = Xj V Xj х3 х4 V лу х3 = х1 ® г/4; У% = X1X2 V ^4 V *3» Уз “ -^1-^4 V -^1 Xg Х35 г/4 = -^4 V *1*3 V Vs- Поскольку в интегральном исполнении выпускаются микросхемы средней степени интеграции (двоичные сумматоры и мультиплексоры), Рис. 1.32. Синтез элементарного пре- Рис. 1.33. Схема элементарного пре- образователя двоичного кода в дво- образователя двоичного кода в дво- ично-десятичный код с четырьмя вхо- ично-десятичный код с четырьмя дами и четырьмя выходами входами и четырьмя выходами, вы- полненная на четырехразрядных сумматорах выполняющие более сложные переключательные функции, чем логи- ческие элементы И—НЕ (ИЛИ—НЕ), то следует рассмотреть синтез преобразователя (1.17) на двоичных сумматорах и мультиплексорах. Так как при 5 < X < 9 функция Y = X + 3, то необходимость опе- рации суммирования с числом 3 можно установить с помощью сум- матора, вычисляющего сумму X 4- 11, поскольку при X > 5 возникает перенос Р4 = 1, а при X < 5 — перенос Р4 = 0. Тогда, использовав второй двоичный сумматор (рис. 1.33), легко реализовать функцию (1.17). Действительно, при Р4 = 0 второй двоичный сумматор вы- числяет сумму (X 4- 11)4-5 = 164-Х. Так как выходами схемы являются выходы второго сумматора s4, ..., s4, то число 16, которое появляется на выходе Д4, теряется. Если же Р4 = 1, то второй дво- ичный сумматор вычисляет сумму (X 4- 11) 4- 8 = X 4- 19 = 16 4- 4- (X 4- 3). Итак, схема на рис. 1.33 действительно выполняет функ- цию (1.17). Сделаем синтез этого же преобразователя на сдвоенных четырех- канальных мультиплексорах (см. рис. 1.6,6). Для этого используем методику синтеза, изложенную в § 1.4. В этом параграфе указывалось,
что сложность получаемой в результате синтеза КС зависит от выбора переменных, используемых в качестве адресных переменных мульти- плексора. Если в качестве адресных переменных для функций у^ и у4 использовать переменные xt и х3, а для функций у3 и у3 — переменные xt и х2, то будет получена Наиболее экономичная КС. Рис. 1.34. Синтез элементарного пре* образователя двоичного кода в двоично- десятичный код с четырьмя входами и четырьмя выходами на мультиплексорах Для мультиплексоров, реа- лизующих функции: У! и у^ (см. рис.1.32 и 1.34, а, б); Ао = 1, Ai — Хг, Л г = А3 = х4, Bq = О, Bi = х2, В2 = х4, В3 = х4; ^2_и Уз (рис. 1.35) Ло = 1; Л1 = х3, Л2 — О, Л3 = х4, Bg = Bi = О, В2 ~ х4, В3 = х3. Недостатком рассмотренных преобразователей кодов (см. рис. 1.30, а) является то, что сумма весов входных сигналов (8 4- 4-4 4-2-1- 1 = 15) больше, чем сумма весов выходных (5 4-4 4- 4- 2 4- 1 = 12), что вызывает необходимость подачи сигнала «0» на некоторые преобразователи (см. рис. 1.31). На рис. 1.30,6 показан элементарный преобразователь кодов, имеющий четыре входа и пять выходов, сумма весов выходных сигналов которого (10 4- 5 4- 4 4- 4- 2 4* 1 = 22) больше суммы весов входных сигналов (8 4- 4 4- 2 4- 4- 1 = 15). Такой преобразователь позволяет уменьшить число микро- схем, используемых для построения преобразователя двоичного кода в двоично-десятичный код (рис. 1.36), так как на значения двоичных чисел, подаваемых на входы элементарных преобразователей, сняты ограничения. Рис. 1.35. Схема элементарного преобразователя двоичного ко- да в двоично-десятичный код с четырьмя входами и четырьмя выходами на двух сдвоенных четырехканальных мультиплексо- рах 564КП1
двоично-десятичный код ~ 57/ 511- двоичный код ---------------- Ъ110в 1101 510г Рис. 1.36. него кода ментарных Схема преобразователя восьмиразрядного двоич- в двоично-десятичный код, выполненная на эле- преобразователях с четырьмя входами и пятью выходами Рис. 1.37. Схема преобразователя 12-разрядного двоичного кода в дво- ично-десятичный код, выполненная на микросхемах 155ПР7
На рис. 1.30,в показан преобразователь кодов, имеющий пять входов и шесть выходов (V — дополнительный стробирующий вход). Такой преобразователь выпускается в серии 155 микросхем (микро- схема 155ПР7, которая выполнена в виде ПЗУ). Понятно, что чем больше двоичных разрядов преобразуется в двоично-десятичные раз- ряды, тем проще будет схема преобразователя многоразрядного дво- ичного кода в многоразрядный двоично-десятичный код. На рис. 1.37 показана схема преобразователя 12-разрядного двоичного кода в двоично-десятичный код, выполненная на основе микросхем 155ПР7. Правила составления схемы данного преобразо- вателя такие же, как и схемы преобразователя, представленного на рис. 1.36. Таким же образом можно составить схему преобразова- теля для любого «-разрядного двоичного кода. § 1.14. ВЗАИМНОЕ ПРЕОБРАЗОВАНИЕ ДВОИЧНОГО КОДА И КОДА ГРЕЯ Запишем «-разрядное число X, заданное в двоичной системе счис- ления, в символической форме: X = (хп, хр, xj, где хр — зна- чения разрядов числа; Xj — младший разряд. Любое число X можно представить и в непозиционной системе счисления, выполнив некоторое взаимно-однозначное преобразование А(Х). В практике широко при- меняется специальное преобразование А(Х), в результате которого получается код Грея: кодовые комбинации Л(Х) и А(Х 4- 1) отлича- ются значением только одного разряда, причем комбинации Д(0) и А(2п—1) также различаются значением одного разряда. Код Грея используют в преобразователях аналоговых физических сигналов (например, угла поворота вала) в цифровые сигналы с погрешностью, не превышающей значения младшего разряда двоичного числа X. По- лучение кода Грея из двоичных чисел X основано на теореме (приво- дится без доказательства): преобразование Д(Х) = (а„, ар, . . ., ах), Рис. 1.38. Схема преобра- зования двоичного четы- рехразрядного кода: а — в код Грея, б — в двоич- ный код где ар = хр © хр+1, если р = 1, 2, ..., « — 1 хп, если р ~ п, определяет алгоритм построения кода Грея [661. Преобразование А(Х) для четырехраз- рядных двоичных чисел X = (х4, х3, х2, xt) показано в табл. 1.7, а соответствующая данному преобразованию схема — на рис. 1.38, а. Преобразование кода Грея в двоичный получается непосредственно из соотноше-

Глава 2 СИНТЕЗ ЦИФРОВЫХ АВТОМАТОВ § 2.1. АСИНХРОННЫЕ ПОТЕНЦИАЛЬНЫЕ ТРИГГЕРЫ В микросхемном исполнении выпускаются как синхронные, так и асинхронные потенциальные триггеры, существенно отличающиеся по своим свойствам. Однако используемые условные графические обозначения и способы описания законов функционирования тригге- ров не позволяют установить это различие. Например, по справоч- нику [63] невозможно определить, какие из микросхем 155ТМ2, 155ТМ5 и 1Б5ТМ7 представляют собой синхронные, а какие асинхрон- ные потенциальные D-триггеры*. Основное различие синхронных и асинхронных триггеров заклю- чается в том, что первые имеют информационные и тактовый входы, а последние только информационные. Однако в настоящее время один из информационных входов асинхронных D-триггеров обозначается буквой С, как и тактовый вход синхронных триггеров, и обоим им придается одинаковый смысл. Чтобы исключить неоднозначность интерпретации условных графических обозначений синхронных и асинхронных триггеров, информационные входные сигналы последних будем обозначать буквами со штрихами, а вход С — буквой F'. Такие изменения в обозначениях связаны также с тем, что при использовании формальных методов синтеза цифровых автоматов основной задачей является отыскание функций возбуждения информационных входов, тогда как тактовый сигнал при синтезе не учитывается, а значит нель- зя одной и той же буквой С обозначать входы, имеющие совершенно различное функциональное назначение. Принципы построения и синтез асинхронных и синхронных триг- геров основных типов из ЛЭ И—НЕ подробно изложены в [52, 53]. Здесь ограничимся только рассмотрением некоторых особенностей их законов функционирования и описанием триггеров, входящих в состав серий 155 и 564 микросхем. На рис. 2.1, а приведено условное графическое обозначение D'- F'-триггеров микросхемы 155ТМ7 [63]. Эти триггеры описываются функциями переходов $r = D'r Р' \/QrP'> г = 1,2, (2.1) т. е. четыре D’-F’-триггера разделены на две независимые группы и каждая имеет свой, но один и тот же информационный сигнал F’. Микросхема 155ТМ5 также содержит четыре асинхронных D’-F’- триггера, разделенных на две независимые группы (отличается от мик- росхемы 155ТМ7 отсутствием инверсных выходов триггеров). На_ос- новании функции переходов’(2.1) легко убедиться, что Q+=D'F' V QP'< * В дальнейшем термин «потенциальный» часто будем опускать.
т. е. при изменении функции возбуждения D' нй инверсную D' прямой Q и инверсный Q выходы D'-F'-триггера меняются местами. На рис. 2.1, б приведено условное графическое обозначение D'-F'- триггеров микросхемы 564ТМЗ. Данные триггеры описываются функ- циями переходов Q+r--=DrF' V QrF', (2.2) где г =1, 2, 3, 4, F'=Fi ф F2, т. е. триггеры имеют общий вход F', формируемый из сигналов F\ и F2 с помощью входной логики Рис. 2.1. Асинхронные потенци- альные триггеры типа D'—F' 155ТМ7 (а) и 564ТМЗ (б) ные потенциальные триггеры типа R'—S' 564ТР2 (используется отрицание операции «сумма по модулю два»). Из соот- ношения (2.2) следует, что С D Р \/Q.r F', если F = 1, Г 1 V Г 1 2 ’ DP, V Qr Р'х > если F'=0, т. е. при F2 = 1 следующее значение выходного сигнала триггера (£=Dr при Fi = 1, а при F2 = О сигнал Qr=Dr при Fi = 0. Та- ким образом, с помощью сигнала F2 можно изменять воздействующее на триггер значение сигнала Fi (0 или 1). Данные триггеры являются асинхронными потому, что изменять их состояние могут оба информационных сигнала D' и F', а в син- хронных их состояние способен изменять только тактовый сигнал, т. е. в D'-F'-триггерах сигнал F' не может быть использован в качест- ве тактового сигнала. Так, из соотношения (2.1) следует, что при F'=l следующее состояние триггера Qr=Dr, а значит при любом изменении сигнала Dr будет изменяться и выходной сигнал триггера. Микросхема 564ТР2 [4] содержит четыре P'-S'-триггера (рис. 2.2), описываемых функциями переходов Q*=S' VQr’R'. Sr R'r = °’ r =1’2’ 3.4 (2-3)
при значении сигнала V = 1 (при V = 0 выходы триггеров Qr имеют высокий выходной импеданс). При Sr = 1 триггер устанавливается в состояние 1, а при Дг=1 — в состояние 0. Подача комбинации зна- чений сигналов *S,=7?r=l запрещена (всегда должно выполняться ус- ловие SrRr = 0)- Из /^'-S'-триггера можно получить D'-F'-триггер, если положить S’=D'F' и R'=D’F'—S'F'. Действительно, если под- ставить эти значения сигналов S' и R' в выражения (2.3), то получим функцию переходов (2.1) D'-F'-триггера. Методика синтеза асинхронных потенциальных автоматов (отыс- кание функций возбуждения информационных входов R' и S', D' и F') из триггеров типов R'-S' ч D'-F' изложена в [52, 53]. § 2.2. СИНХРОННЫЕ ТРИГГЕРЫ Синхронные триггеры с одним и двумя информационными входами в общем виде описываются одной из функций переходов [42, 531: 1 (24) (vAVv/2)^ = o, ) Q+ = QdfJ.H) V Qd(I2H}, 1 (2 5) (v/iVv/2)^ = o, J где Ii и 12 — информационные входы (сигналы); H — тактовый сиг- нал; d и v — операторы переходов, определяемые соотношениями . dx = x(t — А/) •%(/) = х*х, \/х = dx \/ dx. (2.6) Из выражений (2.6) следует, что сигнал dx — 1 только при изме- нении потенциального сигнала х с 1 на 0, а \х — 1 при любом изме- нении потенциального сигнала (dx — 1 только при изменении потен- циального сигнала х с 0 на 1). На рис. 2.3 показаны временные соот- ношения между сигналами х, dx, dx и v х (абстрактные импульсные сигналы dx, dx и \х имеют бесконечно малую длительность). Рассмотрим свойства триггеров, описываемых функцией перехо- дов (2.4). Состояния триггеров могут изменяться только в моменты времени, когда сигнал dH = 1, т. е. когда сигнал Н изменяется с 1 на 0. Действительно, при dH = 0 из первого соотношения (2.4) сле- дует, что состояния триггеров не могут изменяться (Q+=Q). В момен- ты изменения информационных сигна- лов / (у/ = 1) они имеют неопределен- ное значение (1—Ф), поэтому в синхрон- ных автоматах недопустимо изменение информационных сигналов в моменты времени, когда dH = 1, что задается вторым соотношением (2.4). Так как функции возбуждения информационных входов I триггеров, входящих в состав dx dx | Дх | Рис. 2.3. Потенциальные и им- пульсные сигналы
синхронного автомата, зависят от входных сигналов автомата Хр (р = 1, 2, п) и выходных сигналов других триггеров, то не- допустимо изменение входных сигналов автомата в моменты времени, когда сигнал dH = 1, а переходные процессы в автомате должны за- канчиваться до следующего момента изменения тактового, сигнала с 1 на 0. При использовании в синхронных автоматах триггеров, описы- ваемых функцией переходов (2.5), функции возбуждения информа- ционных входов I не должны изменяться на интервале времени, когда тактовый сигнал Н — 1, т. е. на этом интервале не должны изменяться входные сигналы автомата хр, а переходный процесс, вызванный в автомате сигналом dH = 1, должен заканчиваться до изменения тактового сигнала 77 с 0 на 1. Из этого следует, что быстродействие синхронных автоматов (максимально допустимое значение частоты тактового сигнала Н) при использовании триггеров первого типа вы- ше, чем при использовании триггеров второго типа, так как в первом случае на переходные процессы отводится больше времени (период тактового сигнала Н), чем во втором (половина периода тактового сигнала Н). Наличие тактового сигнала Н позволяет рассматривать поведе- ние синхронного автомата только в дискретные моменты времени, когда импульсный сигнал dH = 1. Это позволяет при синтезе син- хронных автоматов тактовый сигнал исключить из рассмотрения. Подставив в функцию переходов (2.4) значение dH = 1, получим Q+ = QZ1VQ/’2, (2.7) где /1 и /2 — функции возбуждения триггера, которые необходимо определить при синтезе синхронного автомата. Функция переходов (2.5) при dH = 1 также определяется соотношением (2.7), так как d(IiH) = IidH и d(I2H) = l^dH при учете условия (уЦ \/ yl^H = = °- _ Если в соотношении (2.4) положить Ц — D и /2 = D, то легко по- казать, что Q* = DdH У QdH. (2.8) Данная функция переходов описывает синхронные D-триггеры, вы- пускаемые в сериях 155 и 564 микросхем (155ТМ2 и 564ТМ2). Однако эти триггеры имеют и асинхронные потенциальные входы R' и S', поэтому полностью их функции переходов описываются выражениями Q+ = S' V R'(DdH V Q dH), R'S'=0. (2.9) Если S'—R' = 0, то получим функцию переходов (2.8) D-триггера, если же dH = 0, то из соотношения (2.9) следует, что Q+=S' V Q7?', R'S' = 0 — функция переходов асинхронного /^'-S'-триггера. Из соотношений (2.9) следует также, что при R' = 1 или S' = 1 такто- вый сигнал Н не может изменять состояние триггера. Следует от- метить, что часто используются инверсные входы R' и S', т. е. на триг- гер воздействуют значения сигналов на этих входах, равные не еди-
нице, а нулю. Так, микросхема 155ТМ2 (рис. 2.4, а) имеет инверсные входы R' и S', а микросхема 564ТМ2 (рис. 2.4, б) — прямые входы R' и S'. Тактовый вход в синхронных триггерах помечается знаком о или <1 (знаком о помечается инверсный тактовый вход, т. е. если на триггер воздействует сигнал dH = 1). Микросхема 155ТМ8 со- держит четыре синхронных D-триггера с общими инверсными так- товым С и установочным R' входами. Рис. 2.4. Синхронные тригге- ры типа D 155ТМ2 (а) и 564ТМ2 (б) Если в (2.4) и (2.5) положить 7]=7 и Iz—К, то получим функцию переходов /-/^-триггеров двух типов ф = QJdH\/Q KdH, (2.10) Q+ = Qd (JH) \/Qd(KH). (2.11) Преимуществом второго типа тригге- ров является то, что их можно исполь- зовать в качестве асинхронных импульс- ных триггеров с двумя импульсными входами dJ и dR. Действительно, если в соотношении (2.11) положить 77=1, то получим функцию переходов dJ-dK- триггера [52, 53] Q+ = Q dJ V Q dK. (2-12) Использование таких триггеров позволяет уменьшить затраты на реа- лизацию цифровых автоматов. Выпускаемые в виде микросхем /-Д-триггеры имеют также асин- хронные потенциальные входы R' и S'. На рис. 2.5 показано условное графическое обозначение J-TC-триггера с входной логикой ЗИ по вхо- дам J и К и прямым тактовым входом (микросхема 155ТВ1). Микро- схема 564ТВ1 содержит два J-TC-триггера с инверсным тактовым вхо- дом и прямыми асинхронными входами R' и S' [данные триггеры описываются функцией переходов (2.10), т. е. их нельзя использовать в качестве dJ-dTC-триггеров]. Если в (2.11) положить J=R=T, то получим функцию переходов Т-триггера Q+ = Qd(TH) V Qd(TH) = Q®d(TH). (2.13) Такие триггеры удобно использовать при построении двоичных и дво- ично-десятичных счетчиков, выполняемых в виде микросхем средней степени интеграции. 7-триггер можно получить также из D-триггера, и ЛЭ И—НЕ. Действительно, если в (2.8) подставить D=Q, а сигнал Н заменить на TH, то получится функция переходов (2.13). Схема такого Т-триггера приведена на рис. 2.6, а (если у D-триггера так- товый вход прямой, то следует использовать ЛЭ И). На рис. 2.6, б показано условное графическое обозначение данного триггера. Триг- гер срабатывает при значении сигнала d(TH) = T*dH\/ H*dT == 1.
Из этого следует, что информационный сигнал Г не должен изменяться с 1 на 0 при значении тактового сигнала Н = 1. Если в (2.7) положить, что = S, I2=R и RS = 0, то получим функцию переходов синхронного А’-Л’-триггера Q+ = S\/QA, А5 = 0, (2.14) на основании которой производится синтез синхронных автоматов из триггеров этого типа. Из (2.7) следуют также функции переходов Рис. 2.5. Синхронный триггер типа J-K 155ТВ1 Рис. 2.6. Синхронный триггер типа Т (а) и его условное графическое обозначение (б) D-триггера (/^D, /2=D), /-/(-триггера (/i=J, /2=/0 и Т-триггера Q+ = D, q+=qj\/Q R, (2.15) (2.16) (2-17) используемые для синтеза цифровых автоматов из триггеров данных типов. Синтез синхронных триггеров типов D и J-K, описываемых функ- циями переходов (2.8), (2.10) и (2.11) из ЛЭ И—НЕ, асинхронных элементов задержки D' и асинхронных A'-S'-триггеров приведен в [52, 53]. Там же изложены методы синтеза синхронных автоматов на триггерах типов D, R-S, J-R и А на основании функций переходов (2.14)—(2.17). § 2.3. РЕГИСТРЫ ПАМЯТИ И ОПЕРАТИВНЫЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА Регистры памяти и оперативные запоминающие устройства (ОЗУ) используются для записи, хранения и считывания цифровой инфор- мации. Регистры памяти целесообразно использовать только для хра- нения небольшого объема информации (одного или двух байтов;
байт — 8 бит). Для приема, хранения и считывания п бит информации регистр памяти должен состоять из п триггеров и п схем И. На рис. 2.7 показан четырехразрядный регистр памяти, выполненный на микро- схемах 155ТМ7 и 155ЛИ1. Из рис. 2.7 и соотношения (2.1) следует, что ccr = xTyi \/ aryi. При уг = 1 происходит параллельная запись значений сигналов хг в регистр памяти, так как при данном значении У± сигналы аг = хт. При yi = у2 = 0 записанная информация хранится в регистре памяти и при у2 = 1 производится параллельное считыва- Рис. 2.7. Четырехразрядный ре- гистр памяти Рис. 2.8. Оперативное запомина- ющее устройство 564РУ2 ние информации (выходные сигналы zT = аг-у2). Для построения ре- гистров памяти можно использовать и синхронные D-триггеры, на- пример, микросхемы 155ТМ8. Для записи, хранения и считывания большого объема информации (256 бит и более) используются ОЗУ с адресной организацией записи и считывания, которая позволяет осуществить доступ к большому числу элементов памяти, выполненных в одном корпусе с ограничен- ным числом выводов. На рис. 2.8 показано ОЗУ на 256х 1 бит (микро- схема 564РУ2), которое имеет восемь адресных входов At и Bt (i = = 1, 2, 3, 4), что обеспечивает доступ к 28 = 256 элементам памяти, т. е. ОЗУ позволяет производить запись, хранение и считывание 256 одноразрядных слов. При = 1 производится запись в ОЗУ по за- данному адресу информации, поступающей на вход D, а при = = 0 — считывание информации по заданному адресу. ОЗУ имеет пря- мой Q и инверсный Q выходы. При V2 = 1 устанавливается высокий выходной импеданс, что позволяет объединять выходы Q(Q) несколь- ких микросхем (до 16) с помощью «монтажное ИЛИ». При соединении таким способом k микросхем (k = 2, 3, ..., 16) получается ОЗУ на k- 256 бит. На одноименные адресные входы всех этих микросхем долж- ны подаваться одни и те же управляющие сигналы, а по входам 1/2 микросхемы должны управляться /г-разрядным инверсным унитарным кодом. Для правильной работы ОЗУ при изменении адреса на вход V2 с некоторым опережением необходимо подавать сигнал, равный 1, длительностью порядка 100 нс.
Микросхема 155РУ2 представляет собой ОЗУ на 16x4 бит и имеет четыре адресных входа, четыре информационных входа DT и четыре выхода Qr (г = 1, 2, 3, 4). Такое ОЗУ позволяет производить запись, хранение и считывание 16 четырехразрядных слов. $ 2.4. СДВИГАЮЩИЕ РЕГИСТРЫ На рис. 2.9 показан цифровой автомат, состоящий из т последо- вательно соединенных £>-триггеров, функции возбуждения которых имеют вид Dx=x, Dr = Qr_1, г = 2,3, .... zn, (2.18) Из соотношения (2.18) следует, что информация, хранящаяся в триггер QT, т. е. производится сдвиг информации от триггера к тригге- ру. Такие автоматы называются сдвигающими регистра- ми и используются для сдвига m-разрядных чисел в одном направле- нии (значение входного сигнала х, соответствующее некоторому такту, появляется на выходе сдвигающего регистра Qm через т тактов). Если Qm — старший разряд, то имеет место сдвиг в сторону стар- ших разрядов, или влево. Если же Qm считать младшим разрядом, то будет иметь место сдвиг в сторону младших разрядов, или вправо. Кроме основного назначения (сдвиг чисел) сдвигающие регистры ис- пользуются и для сдвига нечисловой информации (например, при построении из них счетчиков). На рис. 2.10 показан восьмиразрядный сдвигающий регистр, вы- полненный на микросхеме 564ИР2, представляющей собой сдвоенный четырехразрядный сдвигающий регистр. Асинхронные входы R' пред- назначены для установки сдвигающего регистра в нулевое состояние. Данный сдвигающий регистр может быть использован для преобразо- вания последовательного кода в параллельный (считывание в этом случае производится с восьми выходов регистра с помощью схем И после ввода в него восьмиразрядного кода). Сдвигающий регистр можно выполнить и из Д-5-триггеров. Дейст- вительно, подставив в функцию переходов (2.14) значения S=D и R—D (R=S), получим функцию переходов Q+=D, т. е. функции возбуждения 5Г и Rг сдвигающего регистра, выполненного из /?-5-триггеров, на, Основании (2.18) описываются выражениями: Si=x, Sf-Q^, Rt= х
Rr=QT_i, г = 2, 3,..., m, или St—x, Sr=Qr_1} r —2,3, ..., m, Rr=ST, r = 1, 2, m. Часто требуются более сложные сдвигающие регистры: с парал- лельной синхронной записью информации, реверсивные, реверсивные с параллельной синхронной записью информации. Такие регистры называются универсальными. Микросхема 155ИР1 представляет собой четырехразрядный сдви- гающий регистр с синхронной записью информации (рис. 2.11), вы- Рис. 2.10. Восьмиразрядный сдвигающий регистр, выпол- ненный на микросхеме 564ИР2 Рис. 2.11. Сдвигающий регистр с синхронной параллельной записью 155ИР1 полненный на основе четырех Af-S-триггеров. Функции возбуждения 5Г и RT этих триггеров определяются соотношениями Sj = V D V, ST = DrV VQr_! V, r = 2,3,4, (2.19) a Rr— Sr, где r=l, 2, 3, 4. ВходО является входом последовательного ввода информации. Через Нт будем обозначать сигнал, подаваемый на тактовый вход r-го триггера даже в том случае, если Нг ие зависит от г. В зависимости от внутренней структуры триггеров воздейство- вать на них могут сигналы dHT либо dHT. В данном случае Нт = = VC2 V VCt и dHr = V V*dCr V W*dC2 V C\C2dV V Сг C2dV (2.20) (преобразования проведены на основании тождеств, приведенных в [52]). Из этого соотношения видно, что на триггеры могут воздейст- вовать сигналы dClt dC2, dV и dV. Так как сигнал V входит в функции возбуждения (2.19), то его изменения не должны воздействовать на триггеры. Из (2.20) следует, что для этого сигнал V должен изменяться только при значениях (?!= =С2 = 0 или Ci=C2 = 1. В этом случае dHr = VV^sdC1\/VV*dC2 (2-21) (здесь, например, множитель VV* означает, что сигнал V не должен изменяться с 0 на 1 при dC2 = 1).
Из (2.19) и (2.21) следует, что при V = 0 функции возбуждения S1==D, <Sr=Qr_i и сигнал dHr=dCi, т. е. схема работает как сдвигающий регистр по отрицательному перепаду (с 1 наО) сигнала Съ а при V = 1 функции возбуждения Sr—Drn сигнал dHr=dC2, т. е. схема работает в режиме синхронной записи в регистр значений сигналов Dr по отри- цательному перепаду сигнала С2. Если в (2.21) положить Ct = С2 = С, то получим, что сигнал dHT—dC, т. е. в зависимости от значения сиг- нала V будет производиться запись или сдвиг по отрицательному пе- репаду одного и того же сигнала С. 74 16 18 20 08 06 07 01 02 03 00 05 VI V2 15 17 19 21 8 10 4 6 Рис. 2.13. Восьмиразрядный ре- версивный сдвигающий регистр с синхронной параллельной за- писью 155ИР13 Рис. 2.12. Восьмиразрядный реверсив- ный сдвигающий регистр, выполненный на двух микросхемах 155ИР1 01 02 03 Д4 05 06 07 08 -Ж" 13 Из (2.19) и (2.20) следует, что при V=С2 функции возбуждения Sl—DiC2\/DC2, Sr^DrC2\/Qr_iC2ii сигналdHг=С'2dCi\/С\dC2, т. е. при Ct — 0 происходит запись информации в регистр по отри- цательному перепаду сигнала С2, а при С2 = 0 — сдвиг ее по отри- цательному перепаду сигнала На основании (2.19) и (2.20) легко убедиться, что при V = возможна только запись информации по отрицательному перепаду сигнала Cj при значении сигнала С2 = 1. Если в сдвигающем регистре (см. рис. 2.9) изменить направление сдвига информации, то функции возбуждения D-триггеров будут опре- деляться соотношениями Dr = Qnl, г=1, 2, m—l, Dm = y. (2.22) Если функции возбуждения (2.18) и (2.22) объединить следующим образом: Di = Q2V V х V, Dr = Qr+1V VQr-j У, г = 2,3...m-1, Dm = yWQm_1V, (2.23)
то получим реверсивный сдвигающий регистр (при V = 0 — сдвиг влево, а при V = 1 — вправо). На микросхемах 155ИР1 можно вы- полнить реверсивный сдвигающий регистр, если для сдвига вправо использовать входы Dr, предназначенные для параллельной син- хронной записи информации. Эта возможность следует из сравнения соотношений (2.19) и (2.23). На рис. 2.12 показан восьмиразрядный реверсивный сдвигающий регистр, выполненный на двух микросхемах 155ЙР1. Возможность параллельной записи в данном регистре от- сутствует. Для сдвига влево можно было бы использовать тактовый вход С\, а для сдвига вправо — тактовый вход С2. С выходов Zt и г2 снимается последовательный код при сдвиге вправо и влево. Микросхема 155ИР13 представляет собой восьмиразрядный ре- версивный сдвигающий регистр с параллельной синхронной записью информации (рис. 2.13), выполненный на основе 7?-5-триггеров. Функции возбуждения Sr и Rr этих триггеров описываются выра- жениями S1 = Q,V1\JDr V^DiViV^, sr = Qr+iVi V Qr-rV^DrViV2, r = 2,3, ...,7, S8 = Z}z.V1VQ7V2V'D8l/^2.^r=Sr, r=l,2,..., 8, (2.24) где Dn и Dl — входные сигналы при последовательном вводе инфор- мации при сдвигах влево и вправо. Импульсный тактовый сигнал dHT, воздействующий на триггеры, определяется соотношением dHr = d [(v ) С] = (V, V v2)* d С V C*d (Vx Vv2). (2.25) Из этого соотношения следует, что сигналы и V2 не должны изменяться при значении сигнала С = 0, так как они входят в функ- ции возбуждения (2.24), а сдвиг и запись информации происходят по положительному перепаду (с 0 на 1) сигнала С при Vi\/V2 — 1. Из выражений (2.24) видно, что при = 0 и V2 = 1 происходит сдвиг информации вправо, при = 1 и Р2 = О — влево, а при — V2 — = 1—запись информации в регистр. Регистр имеет асинхронный потенциальный вход R' для установки нулевого состояния регистра. §2.5 . СЧЕТЧИКИ ЯО MOD М Любой счетчик можно выполнить в виде синхронного, асинхронно- го потенциального или асинхронного импульсного автомата. Асин- хронные потенциальные счетчики [52] ввиду их сложности использо- вать нецелесообразно. Асинхронные импульсные счетчики могут быть получены из синхронных счетчиков с помощью некоторых пре- образований, описанных в [52]. Поэтому рассмотрим в основном син- хронные счетчики и счетчики смешанного типа (синхронные счетчики с асинхронной потенциальной установкой некоторого внутреннего состояния). Синхронным счетчиком по mod М называется цифро- вой синхронный автомат без входов, имеющий М различных внутрен-
них состоянии, которые циклически изменяются под воздействием из- менений тактового сигнала Я с 1 на 0 (или с 0 на 1). В отличие от ре- версивных счетчиков и счетчиков с переменным коэффициентом пере- счета счетчики по mod М не имеют входных сигналов х, управляющих переходами между внутренними состояниями. Одно из М внутренних состояний счетчика выбирают в качестве начального. Так как внутренние состояния счетчика изменяются циклически, то после М изменений тактового сигнала с 1 на 0 (или Рис. 2.14. Графы переходов счетчиков по mod 2 (а) и mod 7 (6) Рис. 2.15. Граф перехо- дов счетчика по mod 7 с 0 на1) счетчик возвращается в начальное состояние, что свидетель- ствует о его переполнении. Если счетчик находился в начальном со- стоянии и тактовый сигнал Н изменился N раз, то при N > М по ко- нечному состоянию счетчика можно определить лишь остаток от де- ления числа Н на М, т. е. счет ведется по модулю М. Число М назы- вается коэффициентом пересчета счетчика. Простейшим счетчиком является счетчик по mod 2, представляю- щий собой 7-триггер при 7W1 (см. рис. 2.6). Действительно, из (2.13) следует, что при Т = 1 следующее состояние триггера Q+ = Q ф dH, а при dH = 1 состояние Q+ = Q, т. е. состояния триггера 0 и 1 цикли- чески изменяются при каждом изменении тактового сигнала Н с 1 на 0. Граф переходов счетчика по mod 2 представлен на рис. 2.14, а. На рис. 2.14, б показан граф переходов счетчика по mod 7, внут- ренние состояния которого обозначены цифрами от 1 до 7. Для по- лучения семи различных внутренних состояний необходимо исполь- зовать не менее трех триггеров. Способ кодирования внутренних состояний счетчика может быть произвольным (важно только, чтобы все внутренние состояния были различны). В общем случае от выбран- ного способа кодирования внутренних состояний автомата зависит его сложность. Закодируем внутренние состояния счетчика значениями Таблица 2.1 1 Q, q2 Qi о+ 2 е+ i <2s Q, Qi <2+ 2 4 1 0 0 0 0 1 5 1 0 1 1 1 1 1 0 0 1 0 1 0 7 1 1 1 1 1 0 2 0 1 0 0 0 0 6 1 1 0 1 0 0 0 0 0 0 1 0 1
выходных сигналов трех триггеров Q2 и Q3 так, как показано на рис. 2.15. На основании рис. 2.15 составляется таблица истинности (табл. 2.1) и диаграммы Вейча для функций Q3, Q2h QT (рис. 2.16). Для синтеза счетчиков, как и любых цифровых автоматов, можно использовать триггеры любого типа: D, Т и J-K. Сложность автомата в общем слу- чае зависит от используемых типов триггеров. Следует иметь в виду, что в одном и том же автомате можно использовать триггеры различ- ных типов. Сделаем синтез счетчика по mod 7 из триггеров типов D, Т и J-K- Для этого нужно найти их функции возбуждения DT, Тт, Jr и Kr(r= 1, 2, 3). Рис. 2.16. Диаграмма Вейча для функции переходов счетчика по mod 7 Из функции переходов D-триггера (2.15) следует, что функции возбуждения Dr = Qr+, (2.26) поэтому функции возбуждения триггеров счетчика по mod 7 находятся непосредственно по диаграммам Вейча, представленным на рис. 2.16: Dj — Qj Q2 v Q2Q3, D2 — Qj, D3 — Q2Q3 VQ1Q3 V Qi Q2 Qa- Из функции переходов D-триггера (2.17) и свойств операции «сум- ма по модулю два» следует, что функции возбуждения Tr = Qr ф Qr, т. е. Тт если = О, (2.27) . Qr1', если Qr = 1. На основании данного соотношения заполняются диаграммы Вейча для функций возбуждения Т\, Т2 и Т3 (рис. 2.17) — в половину диа- граммы Вейча, отмеченную буквой QT, заносятся значения Qr, а в другую половину — значения Qr из диаграмм Вейча для функций Qr (см. рис. 2.16). Из рис. 2.17 следует, что функции возбуждения D-триггеров счетчика по mod 7 7\ = ф Q2 V Q2Q3, Т2 = Qt ф Q2, Т3 = QiQz- + Из функции переходов ./-/^-триггера (2.16) следует, что Qr = = QrJT V QrKr — логическое уравнение с двумя неизвестными JT и Кт, которое нужно решить относительно этих неизвестных. Так как
для функций возбуждения Jr и Кг необходимо составлять только диаграммы Вейча по диаграммам Вейча для функций Q*, то можно воспользоваться следующим методом. Пусть QT = 0, тогда Q* = ’== 0- Jr \/0- Кг- Из последнего уравнения следует, что Jr=(£, а /Сг=Ф — произвольные значения. Пусть теперь Qr = 1, тогда Q* = = Т- JT V 1- Кг- Из данного уравнения следует, что /Г=Ф, а KT==Q+r. Ог az °г Рис. 2.17. Синтез счетчика по mod 7 на триггерах типа Т Объединив оба решения при Qr = 0 и Qr = 1, получим Действительно, из данных выражений следует, что Qr+, если Qr = О, Ф, если Qr = 1, Qt, если QT=l, Ф, если Qr = 0. (2.28) Диаграммы Вейча для функций возбуждения JT и Кт (рис. 2.18) заполняются по аналогии с заполнением диаграмм Вейча для функций возбуждения Тт. Из рис. 2.18 следует^ что функции возбуждения J-Д-триггеров счетчика по mod 7: Jt=Q2, Ki — Q2 V $з, A — Qi, K2 — Qi, Jg— K3— Qi Q2. Построим принципиальную схему счетчика по функциям возбужде- ния Di, D2 и Т3. Для этого преобразуем функцию возбуждения Рис. 2.18. Синтез счетчика по mod 7 на триггерах типа J-K
к виду: D1=Q2Q1Qs. Если вместо прямого входа D используется инвер- сный вход, то выходы триггера Q и Q меняются местами. На рис. 2.19 показана принципиальная схема счетчика по mod 7, выполненная на микросхемах серии 155 в соответствии с полученными функциями возбуждения Dlr D2h Т (если на вход элемента серии 155 не подается никакого сигнала, то это эквивалентно подаче на данный вход сигнала 1). Следует иметь в виду, что при изменении функции возбуждения D на D асинхронные потенциальные входы R' и S' также меняются местами. Рис. 2.19. Схема счетчика по mod 7 на триггерах типов D и Т Построим принципиальную схему счетчика по mod 7, используя функции возбуждения Ki, D2, J3 и Кз на микросхемах серии 155 (рис. 2.20). Так как /-/(-триггеры срабатывают при значении сигнала dH — 1, а D-триггер — при значении сигнала dH — 1, то моменты срабатывания триггеров необходимо согласовать с помощью ЛЭ НЕ. При проектировании цифровых устройств особое значение имеют двоичные и двоично-десятичные счетчики, кодирование внутренних состояний которых выполнено с помощью двоичных и двоично-деся- тичных чисел. Двоичный счетчик, построенный из m триггеров, имеет 2т внутренних состояний, т. е. является счетчиком по mod 2m. Ко- дирование внутренних состояний двоично-десятичных счетчиков про- изводится кодом 8—4—2—1, т. е. эти счетчики синтезируются из че- тырех триггеров и являются счетчиками по mod 10. Рис. 2.20. Схема счетчика по mod 7 на триггерах типов J-K и D Рис. 2.21. Граф переходов дво- ичного счетчика по mod 8 111 'Л J
Таблица 2.2 На рис. 2.21 показан граф переходов двоичного счетчика по mod 23. Сделаем синтез этого счетчика на 7-триггерах. Составив по графу переходов таблицу истинности (табл. 2.2), а затем диаграммы Вейча для функций Qr и Тт (рис. 2.22), можно получить Ts=Qlt T^Q^. (2.29) Если сделать синтез счетчика по mod 24, то функции возбуждения 7-триггеров будут иметь вид: 7Х = 1, 72 = Qx, 73 = QA. Ti = QxQ2Q3. (2.30) Сравнив выражения (2.29) и (2.30), легко заметить, что функции возбуждения первых трех триггеров не изменились. Из этого можно сделать вывод, что функции возбуждения счетчика по mod 2m должны описываться выражениями 7Х = 1, Тт = г = 2.3............tn. (2.31) /=1 В соответствии с этими функциями возбуждения выполнен шести- разрядный двоичный счетчик в микросхеме 155ИЕ8. Выражения (2.31) легко преобразовать к виду Л=1, = = ' = 2,3, .... tn. (2.32) Рис. 2.22. Синтез двоичного счетчика по mod 8 на триг- герах типа Т
Схема двоичного счетчика, соответствующая этим функциям возбуж- дения, значительно проще, чем схема счетчика, сответствующая функ- циям возбуждения (2.31), однако быстродействие меньше из-за после- довательного включения ЛЭ И (максимально допустимое значение час- тоты тактового сигнала Н будет меньше). На рис. 2.23 показана часть двоичного счетчика, выполненная в соответствии с функциями воз- буждения (2.32). Рис. 2.23. Схема двоичного счетчика по mod 2m На рис. 2.24 представлен граф переходов двоично-десятичного счетчика (счетчика по mod 10). Если по данному графу переходов сделать синтез синхронного счетчика на триггерах типов J-K и Т, то можно получить А — — 1 > J z~Qi Qtt Кz ~ Qi> Кз= А = QiQa> = (2.33) Л = 1, т2 = Q, q4, т3 = Q&, Ti = q4q4 VQi Qz Qs- По полученным функциям возбуждения можно построить принципи- альные схемы двоично-десятичных счетчиков. На рис. 2.25 представ- лена схема такого счетчика, выполненная на /-^триггерах (микро- схемы 155ТВ1; неиспользуемые входы не показаны). Обычно счетчики по mod М выполняются так, что в них имеется триггер (или ЛЭ), выходной сигнал которого изменяется с 1 на 0 (или с 0 на 1) только в момент возвращения счетчика в начальное (нулевое) состояние. Этот сигнал свидетельствует о переполнении счетчика при Рис. 2.24. Граф переходов дво- ично-десятичного счетчика Рис. 2.25. Схема двоично-десятичного счет- чика
поступлении на его вход М импульсов (dH = 1) и может быть ис- пользован в качестве входного сигнала другого счетчика. Счетчики по inodAfj (/ = 1, 2, k) можно соединять последовательно (рис. 2.26) для получения счетчиков по mod (Mi М2 ... Mk). Если по- следовательно соединить т счетчиков по mod 2, то получится двоичный счетчик по mod 2m. Таким способом выполнен счетчик по Рис. 2.26. Структурная схема асинхронного импульсного счет- чика Нк mod ик mod 23 в микросхеме 155ИЕ5 (в данной микросхеме имеется еще счет- чик по mod 2, что позволяет получить счетчик по mod 24). Хотя каж- дый из счетчиков по mod Л47- является синхронным, однако счетчик по mod (MiM2 ... Мк) будет уже асинхронным, так как отсутствует единый тактовый сигнал для всего счетчика (в каждом счетчике по modAlj используется свой тактовый сигнал Hs). Недостатком таких счетчиков является их последовательное срабатывание, что вызывает запаздывание срабатывания последнего счетчика относительно такто- вого сигнала первого. Микросхема 155ИЕ2 (рис. 2.27) содержит счетчик по mod 2 и счетчик по mod 5, последовательное соединение которых (пунктир на рис. 2.27) дает двоично-десятичный счетчик (код 8-4-2-1). Счетчик но mod 5 выполнен в виде асинхронного импульсного счетчика. Счет- чик имеет асинхронные потенциальные входы R' и Sg для установки нулевого (0 0 0 0) и девятого (10 0 1) состояний. На рис. 2.28 показа- ны временные диаграммы выходных сигналов данного счетчика по mod 10. Используя асинхронные входы R' и Sg, на основе микросхемы 155ИЕ2 можно сделать счетчики по mod М, где М <_ 10. На рис. 2.29 показан счетчик по mod 7, работа которого поясняется графом пере- ходов (рис. 2.30) и временными диаграммами (рис. 2.31). Как только Рис. 2.27. Двоично-деся- тичный счетчик, выпол- ненный на микросхеме 155ИЕ2 Рис. 2.28. Временные диаграммы дво- ично-десятичного счетчика
счетчик установится в состояние 6 (0 1 1 0), на выходах Q2h Q3 появят- ся значения сигналов 1, которые по входам Ss переведут счетчик в состояние 9 (10 0 1) — пунктир на рис. 2.30. Длительность пребы- вания счетчика в состоянии 6 определяется быстродействием тригге- ров Q2 и Сз, которые по входам S9 устанавливаются в состояние 0. Рис. 2.29. Счетчик по mod 7 с асинхронными потенци- альными обратными связя- ми Рис. 2.30. Граф переходов счетчика по mod 7 с асинхрон- ными потенциальными обрат- ными связями Недостатком такого способа построения счетчиков является критич- ность их работы — при большом разбросе времени срабатывания триггеров некоторые из них могут не установиться в требуемое состоя- ние. Если обратные связи (см. рис. 2.29) завести на входы R', а не на Sg, то получится счетчик по mod 6. Аналогичным способом можно получить и другие коэффициенты пересчета. Микросхема 564ИЕ10 представляет собой сдвоенный счетчик по mod 16, в котором триггеры срабатывают по сигналу d (С^Сг) = = C\dC2\/ C2dCi — 1 (если С2 = 1, то счетчик запускается поло- жительными перепадами сигнала а если С1 = 0, то отрицатель- ными перепадами сигнала С2). На рис. 2.32 показан счетчик по mod 10s, выполненный на основе этой микросхемы с использованием асинхрон- Рис. 2.32. Счетчик по mod 10а с асинхронными потенциаль- ными обратными связями Рис. 2.31. Временные диаграммы счетчика по mod 7 с асинхронными потенциальными обратными связями
ной установки счетчика в нулевое состояние по входу Надежность работы данного счетчика достаточно высокая, так как ЛЭ И—НЕ и НЕ вносят запаздывание в цепь асинхронной обратной связи. В настоящее время в виде микросхем выпускаются счетчики са- мого различного назначения. Так, микросхемы 176ИЕЗ и 176ИЕ4 представляют собой счетчики по mod 6 и mod 10 с дешифратором для семисегментного индикатора. Микросхема 564ИЕ9 содержит счетчик по mod 8 и полный дешифратор с прямыми выходами, а микросхема 176ИЕ5 — счетчик по mod 216. Выпускаются также и другие счет- чики. § 2.6. СЧЕТЧИКИ НА СДВИГАЮЩИХ РЕГИСТРАХ Для построения таких счетчиков необходимо использовать спе- циальное кодирование их внутренних состояний. Если на вход х (см. рис. 2.9) подать некоторую периодическую последовательность сим- волов 0 и 1, то внутренние состояния сдвигающего регистра (комбина- ции значений сигналов Qr) будут также периодически повторяться, т. е. сдвигающий регистр будет представлять собой счетчик по не- которому mod М, если указанная периодическая последовательность сформирована самим сдвигающим регистром. Из этого следует, что кодирование внутренних состояний, например, счетчика по mod 5 Qs Q2 Qi может быть задано схемой -(—ООО 1 1. 0 00 1 1. Продвигая через регистр, состоящий из трех триггеров Qi, Q2 и Q3, данную периодиче- скую последовательность символов 0 и 1, получим пять различных кодовых комбинаций (внутренних состояний): ООО, 001, 011, НО, 100. При дальнейшем сдвиге получаются те же кодовые комбинации, так как последовательность символов 0 и 1 периодическая. На рис. 2.33 показан граф переходов счетчика по mod 5 с полу- ченным способом кодирования внутренних состояний. Составив по графу переходов диаграмму Вейча для функции Q( (рис. 2.34), полу- чим Di=Q2Q3. Диаграмма Вейча легко составляется по графу перехо- дов без составления таблицы истинности. Например, рассмотрим переход между внутренними состояниями 000 и 001. Состояние 000 является исходным (Q3 = 0, Qz = 0, Qi = 0), поэтому соответствую- щее ему двоичное число определяет номер клетки в диаграмме Вейча i = 0. Состояние же 001 для данного перехода является следующим, поэтому функции (2з = 0, = 0, Qi = 1. Из этого следует, что в Рис. 2.33. Граф переходов счетчика по mod 5, выполнен- ного на сдвигающем регистре Рис. 2.34. Синтез счетчика по mod 5 на сдвигающем регистре
Рис. 2.35. Схема по mod 5 на сдви гающем регистре клетку диаграммы Вейча для функции Qi с номером i = 0 следует занести значение функции Qi — 1. Таким способом заносятся все пять значений функции Qi. В клетки, оставшиеся незаполненными, за- носятся произвольные значения Ф, так как три внутренних состояния не используются. Функции возбуждения £>2= Qi и £>3=Q2 (на основании использован- ного метода кодирования внутренних состояний), в чем легко убедить- ся, составив диаграммы Вейча для функций Q2 и Q3. Если при по- строении принципиальной схемы использовать функцию возбуждения D1=Q2Q3> т0 получим схему, пока- занную на рис. 2.35. При кодировании внутренних состояний счетчиков с помощью периодической последовательности символов 0 и 1 следует руководст- воваться правилами: 1) число символов М в одном периоде последо- вательности определяет коэффициент пересчета счетчика; 2) мини- мальное число триггеров т находят из условия получения при сдвиге периодической последовательности символов 0 и 1 М различных ко- довых комбинаций. Сделаем синтез счетчика по mod 8, заданного периодической ко- довой последовательностью 00001111.00001111. Если взять три триг- гера (23 = 8), то при сдвиге будут получены внутренние состояния 000,000,001, 011, 111, 111, ПО и 100, среди которых имеются оди- наковые. Значит, нужно увеличить число триггеров. Если взять че- тыре триггера, то кодирование внутренних состояний будет опре- Q& Q3 Q2 Qi делиться схемой: -<-0 0001 111.0 0001 1 11. В этом случае все восемь внутренних состояний будут различными. Граф переходов, соответствующий данному кодированию внутренних состояний, по- 'казан на рис. 2.36, а. Составив диаграмму Вейча для функции Q^ (рис. 2.37), получим Dj —Qi = Q4. Счетчик по mod 8, составленный из четырех триггеров, имеет восемь неиспользуемых состояний. Не- обходимо проверить, как он будет себя вести, если случайно (в момент включения или при сбоях) попадет в одно из неиспользуемых состоя- ний. Предположим, что счетчик оказался в состоянии 0010 (Q4 = 0, Q3 = 0, Qz = 1, Qi = 0). Тогда функции возбуждения Dr примут Рис. 2.36. Графы переходов счетчика по mod 8, выполненного на сдвигающем регистре
значения: £>!=Q4=O=1, Z)2=Q1 = 0, D^=Q2= 1, D4=Q3=0, а следо- вательно следующее внутреннее состояние будет 0101 (Q4=£\=0, (2з=£>з=1, Q?=£)2=0, Qi =£>! = !). Сделав анализ переходов счетчи- ка для других неиспользуемых внутренних состояний, легко убеди- ться, что он будет функционировать согласно графу переходов, показанному на рис. 2.36,6, т. е. счетчик по mod 8 имеет кодирование внутренних состояний, не соответствующее заданному. Чтобы исклю- чить это явление, нужно или принудительно установить счетчик в одно из используемых состояний (например, в нуле- вое) после его перехода по каким-либо причинам в £l неиспользуемое состояние, или изменить функцию Ф 0 Ф Ф возбуждения первого триггера так, чтобы он авто- °? Ф 0 1 1 Q матически переходил в используемое состояние. ф ф ф 1 ' Например, если, использовав другой способ дооп- 0 0 Ф 7 ределения функции Qi (рис. 2.37), реализовать — функцию возбуждения Dt в форме _ _ _ Рис. 2.37. Синтез = Q4VQ1Q3—Q4 » (2.34) счетчика по mod 8 на сдвигающем ре- ТО счетчик будет самостоятельно выходить из всех гистре неиспользуемых состояний (рис. 2.38), в чем легко убедиться, проделав анализ переходов по методике, изложенной ранее. Принципиальная схема счетчика по mod 8, выполненная в со- ответствии с функцией возбуждения Dt (2.34), показана на рис. 2.39, а временные диаграммы, поясняющие его работу, — на рис. 2.40 (сдвигающий регистр выполнен на микросхеме 155ИР1). Из рис. 2.40 видна простота построения полного дешифратора (требуются только двухвходовые ЛЭ И). Сделаем синтез счетчика по mod 10, кодирование внутренних со- стояний которого задается периодической кодовой последовательностью 0000011111.0000011111. В этом случае для получения десяти раз- личных внутренних состояний необходимо использовать пять тригге- ров, тогда счетчик будет функционировать согласно графу переходов, показанному на рис. 2.41 (вместо кодов внутренних состояний ука- заны соответствующие им десятичные цифры, т. е. для получения Рис. 2.38. Полный граф переходов счетчика по mod 8 на сдвигающем регистре, автоматически выходящего из • неиспользуемых внутренних со- стояний Рис. 2.39. Схема счетчика по mod 8 на сдвигающем регистре
кодов внутренних состояний десятичные числа нужно перевести в Двоичные). Составив по графу переходов диаграмму Вейча для функции Q, (рис. 2.42), можно получить минимальную форму Di=Qrj. Если сделать анализ переходов счетчика для неиспользуемых состояний, то полу- Рис. 2.40. Временные диаграммы счет- чика по mod 8 на сдвигающем регистре Рис. 2.41. Граф переходов счетчика по mod 10, выполнен- ного на сдвигающем регистре Рис. 2.42. Синтез счетчи- ка по mod 10 на сдви- гающем регистре Рис. 2.43. Граф переходов для не- используемых состояний счетчика по mod 10 на сдвигающем регистре чим граф переходов, приведенный на рис. 2.43,. В зависимости от того, в каком неиспользуемом состоянии окажется счетчик, он может функ- ционировать как счетчик по mod 10 при кодировании внутренних со- стояний, не соответствующем заданному, или даже как счетчик по Таблица 2.3 м Кодовая последователь- ность т Jl K1 3 001 2 Qb 1 4 ООН 2 q2 Qb 5 00011 3 0й Оз Qb Q2 6 000111 3 Оз V Qi 0й Qa Q2Q3 7 0000111 4 Чз Qi Qi Q3 8 00001111 4 Qt V Qi Qa Qi Q3Q4 10 0000011111 5 Qs V Qi Qi Qt QiQs
на сдвигающих регистрах, а также Рис. 2.44. Граф переходов генерато- ра одиннадцатисимвольного кода Баркера mod 2. Изменив функцию возбуждения первого триггера на Di=Q5\/ V QiQ4=Q5QiQ4> можно убедиться, что счетчик самостоятельно выйдет из неиспользуемых состояний. В табл. 2.3 указаны функции возбуждения Di для некоторых счет- чиков по mod М, выполненных функции возбуждения Jt и если в качестве триггера Qj ис- пользованы /-К-триггеры. Счетчики часто используют- ся в генераторах кодовых по- следовательностей. В качестве примера рассмотрим синтез ге- нератора одиннадцати символь- ного кода Баркера 4—|—|—.----- 4------1—. Если задать счетчик периодической кодовой последовательностью 11100010010.11100010010, то внутренние состояния всех триггеров будут изменяться в соответ- ствии с кодом Баркера, т. е. выходом генератора может служить выход любого триггера. Для получения 11 различных внутренних состояний необходимо использовать пять триггеров. Тогда генератор кода Баркера будет задаваться графом переходов, показанным на рис. 2.44. Проделав синтез автомата, можно получить = = С2С5'СзС5, Ki — Q'zQs'QsQs- Принципиальная схема генератора приведена на рис. 2.45. На выходах Qi, Q2, ..., Q5 получаются пять сдвинутых друг относительно друга последовательностей символов кода Баркера. § 2.7. РЕВЕРСИВНЫЕ СЧЕТЧИКИ Реверсивные синхронные счетчики имеют один информационный вход, на который подается сигнал х, задающий направление счета (сло- жение или вычитание) числа изменений тактового сигнала с 1 на 0 Рис. 2.45. Схема генератора одиннадцатисимвольного кода Баркера
или с 0 на 1). В дальнейшем будем полагать, что при х = О произво- Дится сложение, а при х=1 — вычитание. Наибольший практический интерес представляют двоичные и двоично-десятичные (код 8—4— 2—1) реверсивные счетчики. На рис. 2.46 представлен граф переходов трехразрядного ревер- сивного счетчика. Ветви этого графа обозначены значениями сигналов x/ziz2, где х — входной информационный сигнал; Zj — выходной сиг- нал, свидетельствующий о положительном переполнении счетчика; Рис. 2.46. Граф переходов четырехразрядного двоич- ного реверсивного счетчика z2 — выходной сигнал, свидетельствую- щий об отрицательном переполнении счетчика. Около узлов указано число сосчитанных счетчиком с учетом знака значений сигналов dH = 1 (счетчик пе- реполняется при переходе из состояния 011 в состояние 100 — положительное переполнение и при переходе из состоя- ния 100 в состояние 011 —отрицатель- ное). Легко заметить, что реверсивный двоичный счетчик производит счет зна- чений сигналов АН = 1 в дополнитель- ном коде (полностью справедлива теоре- ма для дополнительного кода, приведенная в § 1.8). Значение сигнала Q3 определяет знак числа (Q3 = 0 — положительное число, Q3 = 1 — отрицательное). Составив по графу переходов (см. рис. 2.46) таблицу истинности (табл. 2.4) для функций Qr (г — 1, 2, 3), zf и г2и диаграммы Вейча для функций Qr и функций возбуждения Тг триггеров типа Т (рис. 2.47), можно получить Л = 1, Т2 = xQxV^Qi, Т3 = х QiQ2 V xQxQ2- (2.35) Из табл. 2.4 следует, что Zj = xQiQ2Q3, z2 = xQj Q2 Q3. (2.36) Та блица 2.4 i x Qs Q2 Qi <2+ 2 <2+ 1 21 *2 i X Q3 Qe Qi <2+ 2 21 *8 0 0 0 0 0 0 0 1 0 0 8 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 9 1 0 0 1 0 0 0 0 0 2 0 0 1 0 0 1 1 0 0 10 1 0 1 0 0 0 1 0 0 3 0 0 1 1 1 0 0 1 0 11 1 0 1 1 0 1 0 0 0 4 0 1 0 0 1 0 1 0 0 12 1 1 0 0 0 1 1 0 1 5 0 1 0 1 1 1 0 0 0 13 1 1 0 1 1 0 0 0 0 6 0 1 1 0 1 1 1 0 0 14 1 1 1 0 1 0 1 0 0 7 0 1 1 I 0 0 0 0 0 15 1 1 1 1 1 1 0 0 0
Если в выражениях (2.36) сигнал Qs заменить на инверсный Qs, то получатся функции Р и W, представляющие собой перенос в следую- щий двоичный разряди заем переноса из следующего двоичного разря- да: Р = XQ1Q2Q3, W = xQxQ2Qb- Сигналы Р и W используются для последовательного включения двоичных реверсивных счетчиков с целью увеличения их разрядности. 0 1 1 0 0 7 0 1 0 7 7 0 1 0 1 0 0 0 0 0 0 0 / 1 0 и 0 0 7 7 0 0 Рис. 2.47. Синтез двоичного реверсивного счетчика Если сделать синтез двоичного реверсивного счетчика, имеющего 24 внутренних состояний, то функции возбуждения Тг (г = 1,2, 3, 4) и функции выхода счетчика и z2 будут иметь вид: 1\ = 1, Т2 = xQx V *Qi, Т3 = xQA V xQ, Q2, >(2.37) Ti — xQjQ^Qs \/ xQt Q2 Qg, zt — xQ1 Q2 Q3 Q«, z2 — xQt Q2 Qg Q$- Сравнив (2.37) c (2.35) и (2.36), можно сделать заключение, что если двоичный реверсивный счетчик состоит из m Т-триггеров, то функции возбуждения Тг и функции Zj и z2 должны определяться соот- ношениями: г—1 г—1 Л = 1, Тг V х П^’г = 2> Zj — х Qm [ Qj, z2 xQm J-[ Qj, /=i /=i где Qm — сигнал, определяющий значение знакового разряда. Функции возбуждения У-триггеров (2.38) легко преобразовать к виду: 1\ = 1, Тт = xQr_i7\_i V г = 2,3....т. Полученные
функции возбуждения можно представить также в форме: Tj = 1, л = (хфеи-Тм- На рис. 2.48 показана схема трехразрядного двоичного реверсив- ного счетчика, выполненная на основании последних выражений из Т-триггеров, условное графическое обозначение которых приведено на рис. 2.6, б. При увеличении числа разрядов счетчика структура каждого разряда будет такой же, Как и структура третьего разряда. Рис. 2.48. Схема двоичного четырехразрядного реверсивно- го счетчика Из выражений (2.38) следует, что , г-1 г-1 _ Т1-Н = Н = Н^Н2, Тг- /=1 /=1 где Hi=xH, Н2~хН и Н±Н2 = 0, т. е. в двоичном реверсивном счетчике можно использовать два тактовых сигнала Hi и Н2, что в совокупности с сигналами переноса Р и заема переноса W позволяет увеличивать разрядность счетчика. Так, микросхема 155ИЕ7 представляет собой четырехразрядный двоичный реверсивный счетчик, выполненный по данному принципу. На рис. 2.49 показана схема восьмиразрядного двоичного реверсивного счетчика, построенного на основе двух микро- схем 155ИЕ7 (Q8 — знаковый разряд). 71-триггеры микросхемы 155ИЕ7 также имеют асинхронные по- тенциальные входы Dr (г = 1, 2, 3, 4) и F', используемые для записи Рис. 2.49. Схема восьмиразрядного двоичного ревер- сивного счетчика на микросхемах 155ИЕ7
любого числа от 0 до 15, а также асинхронный потенциальный вход У?' для установки нулевого состояния счетчика. Триггеры по входам Dr и F' представляют собой D'-F'-триггеры, описываемые функцией переходов (2.1). Сигналы переноса Р и заема W описываются выра- жениями: Р = HiQiQzQsQi, W = HzQiQ.zQ.3Qa и используются для запуска следующего счетчика. Рассмотрим теперь принцип построения двоично-десятичного ре- версивного счетчика, граф переходов которого показан на рис. 2.50 (ветви графа переходов обозначены сигналами x/PW, где х— сигнал, задающий направление счета; Р — перенос в следующую декаду; W — заем переноса из следующей декады). Если по графу переходов сде- лать синтез счетчика из Т-триггеров, то функции возбуждения Тт и функции Р и W с учетом тактового сигнала И будут иметь вид: т1 = н = н1 ун2, Т2 = Н& V Н2 Qt(Q2 VQ3 VQJ, Т3 = ад<22V#2Qi Q2 (Q2VQ3VQJ. Л = (ШV VQ1Q2Q3)v^2Qr 02Оз, p = w — h2Ql q2q3q* где Hi — xH, H2 — xH. Микросхема 155ИЕ6 представляет собой ре- версивный двоично-десятичный счетчик, выполненный на основании этих функций (как и в двоичном реверсивном счетчике имеются также асинхронные потенциальные входы Dr; F' и R', где г = 1, 2, 3, 4). На рис. 2.51 показана схема реверсивного счетчика, состоящего из двух десятичных разрядов и знакового триггера, выполненного на D-триггере. Тактовые сигналы' Hi и Н2 могут быть сформированы так, как показано на рис. 2.49. Если счетчик работает без переполнения (максималь- ные положительное и от- рицательное числа равны +99 и —100), то значение сигнала Qs = 0 свидетель- ствует о положительном числе, a Q9 = 1 — об от- рицательном, записанном в счетчике. Модуль отри- цательного числа (при Q6 — 1) определяется как дополнение числа, запи- санного в двух десятичных разрядах, до числа 102. Для получения модуля от- рицательных чисел можно использовать микросхемы 155ПР6. Наличие у микросхем 155ИЕ6 и 155ИЕ7 входов Рис. 2.50. Граф переходов двоично-деся- тичного реверсивного счетчика Рис. 2.51. Схема двоично-десятичного ре- версивного счетчика на микросхемах 155ИЕ6
Рис. 2.52. Схема счетчика с програм- мируемым коэффициентом пересчета Dr и F' для параллельной запи- си кода позволяет использовать их в режиме программируемых счетчиков. На рис. 2.52 пред- ставлена схема счетчика по mod М, коэффициент пересчета которого определяется соотно- шением М = а + 2Ь + 4с + + 8d + 10 (е + 2/ + 4g + 8h), при использовании микросхем 155ИЕ6 и соотношением М = = а- 2°' + b- 21 + с- 22 + d- 23 + + е-24 + f-25 4- g-26 + /г-27 при использовании микросхем 155ИЕ7 (счетчики работают в режиме вычитания). Числа, записываемые в двоично-десятичные счетчики, не должны превосходить числа 9. § 2.8. СЧЕТЧИКИ С ПЕРЕМЕННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА И ЦИФРОВЫЕ ФАЗОВРАЩАТЕЛИ Счетчики с тремя коэффициентами пересчета Mit М2 и М3 исполь- зуются для построения цифровых фазовращателей, являющихся ис- полнительным органом цифровых следящих систем, а также в имита- торах сигналов для задания скорости движения объектов. Для полу- чения счетчика с тремя коэффициентами пересчета он должен иметь два входа, на которые подаются управляющие сигналы и х2, пере- ключающие счетчик с одного коэффициента пересчета на другой. Сде- лаем синтез такого счетчика на сдвигающем регистре при условии, Т а б л и ц а 2.5 «1 Qs Q2 <?. 3 q+ 0 ф 0 0 0 0 0 1 0 ф 0 0 1 0 1 1 5 0 ф 0 1 1 1 1 0 0 ф 1 1 0 1 0 0 0 ф 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 4 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 1 6 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0
что необходимо получить счетчик по mod 4 при xt = 1 и х2 = 0, счет- чик по mod 5 при = 0 и хг = Ф и счетчик по mod 6 при х} = ~х2 = I. На рис. 2.53 показан граф переходов трехразрядного сдвигающего регистра (в узлах указаны десятичные числа, соответствующие двоич- ным, записанным в регистре, а ветви подписаны значениями входного сигнала регистра х). По графу переходов выбираем порядок изменения внутренних состояний при различных коэффициентах пересчета: Рис. 2.53. Граф переходов трехразрядного сдвигающе- го регистра Рис. 2.54. Синтез счет- чика с тремя коэффици- ентами пересчета на сдвигающем регистре 1) 0-> 1->2->4->0 при Mi = 4; 2) 0-> 1-> 3-> 6-> 4-> 0 при Л42 = 5; 3) 0-> 1—>- 3—> 7-> 6-> 4-> 0 при Л43 = 6. На основании выбранных последовательностей составляем таблицу истинности (табл. 2.5) и диаграмму Вейча для_функции Q+i (рис. 2.54), из кото- рой следует, что Qt = QtQ2Qs V V Из функции переходов /-^триггера (2.16) следует, что. при Qt = = 0 получается функция возбуждения а при Qi = 1 — функция возбуждения /(j, поэтому из последнего выражения видно, что = = Q2Q3, Ki — XiQ2 XiXzQs- Рис. 2.56. Временные диаграммы, поясняющие работу цифрового фазо- вращателя
При использовании счетчиков с переменным коэффициентом пере- счета в качестве цифровых фазовращателей необходимо выполнить привязку временного положения сигнала xt к тактовому сигналу Н, причем длительность сигнала х± = 1 следует сделать равной Тн Mk, где Тн — период тактового сигнала, Mh = 4 и 6. На рис. 2.55 пока- зана схема цифрового фазовращателя со схемой временной привязки, выполненной на D-триггерах Q4 и Qs. Изменение коэффициента пере- счета счетчика производится по команде dyt =1, а сигнал Xj = Qs Рис. 2.57. Граф переходов цифрового фазовращателя, вы- полненного на микросхеме 155ИЕ6 Работу схемы поясняют временные ди- аграммы, представленные на рис. 2.56 (сигнал х2 = 1, что соответствует коэф- фициенту пересчета7И3 = 6 при xt = 1). Выходной сигнал цифрового фазо- вращателя Q3 подается далее на такто- вый вход счетчика по mod М. При зна- чении сигнала хА = 0 период выходного сигнала счетчика по mod М будет ра- вен То = М2МТН = 5МТН. Если за М циклов сигнал у изменится с 0 на 1 m раз, то в зависимости от значения сиг- нала х2 = const период выходного сиг- нала счетчика по mod М Т = (5714 ± т)Тн = То± пгТн, т. е. положение момента изменения с I на 0 выходного сигнала счетчика по mod 714 изменится на ±тТн. Чем выше частота тактового сигнала Н, тем выше инструментальная точность цифрового фазовращателя (обычно величина периода Тн = 100 4- 200 нс). Если сигнал у из- меняется с 0 на 1 с частотой /(Гц), то скорость перемещения фронтов выходного сигнала счетчика по mod 714 относительно сигнала с пери- одом То V =±THf (мкс/с). Цифровой фазовращатель можно построить и на двоично-десятич- ном и двоичном реверсивных счетчиках, используемых в режиме про- граммирования коэффициента пересчета. На рис. 2.57 показан граф переходов двоично-десятичного счетчика в режиме программирования коэффициентов пересчета 714й = 4, 5 и 6. Из графа переходов следует, что для получения данных коэффициентов пересчета с помощью сиг- нала W необходимо записывать в счетчик числа 4, 5 и 6. На основа- нии этого составляют таблицу истинности (табл. 2.6) для функций а, Ь, с и d (см. рис. 2.52), из которой следует, что а = х1( b = х^, с = 1 и d = 0. Таблица 2.6 Х1 х2 d с ь а uk 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 5 5 4 6
Рис. 2.58. Схема цифрового фазовращателя на микросхеме 155ИЕ6 На рис. 2.58 показана схема цифрового фазовра- щателя со схемой времен- ной привязки, выполнен- ная в соответствии с полу- ченными функциями. Вре- менные диаграммы, пояс- няющие работу данного фазовращателя, представ- лены на рис. 2.59, а —для 7И2==5, рис. 2.59,6 — для Л43 = 6 и рис. 2.59, в — для = 4. Следует иметь в виду, что быстродействие этого фазовращателя ниже быстродействия фазовра- щателя , выполненного в виде чисто синхронного автомата (из рис. 2.59 вид- но, что счетчик срабаты- вает как по отрицательно- му, так и по положитель- ному перепадам тактового сигнала Н2). нг-^ О,-- о— °з~Г ' J ТП£ _Г Г J' П-П£ -г - х,— а,— ог— Рис. 2.59. Временные диаграммы, поясня- ющие работу цифрового фазовращателя на микросхеме 155ИЕ6 § 2.9. ПОСЛЕДОВАТЕЛЬНЫЕ ДВОИЧНЫЕ СУММАТОРЫ И ЦИФРОВЫЕ ИНТЕГРАТОРЫ Рассмотрим последовательный двоичный сумматор, который дол- жен производить сложение двух чисел, поступающих на его входы, начиная с младших разрядов. Числа вводятся в сумматор последо- вательно, разряд за разрядом, синхронно с тактовым сигналом. Сумма- тор в каждом такте должен вычислять значение разряда суммы при поступлении на его входы соответствующих разрядов слагаемых с учетом переноса из предыдущего разряда. При этом в сумматоре долж-
на запоминаться (задерживаться на один такт) единица пе-реноса в следующий разряд. В соответствии с этим словесным описанием син- хронный автомат, выполняющий функции двоичного сумматора, дол- жен иметь два входа, на которые подаются сигналы (двоичные разряды) х и у, один выход z и один элемент памяти (триггер) Q для запомина- ния переноса в следующий разряд. На основании законов двоичной арифметики составляются таб- лица истинности х Q* (табл. 2.7) и диаграммы Вейча для функций z, Q+, J и К (рис. 2.60), из которых следу- 1 1 1 п 0 1 0 0 X Z 0 1 0 1 1 0 1 0 ет, что D = ху\/ xQ\y yQ, z = х ф ф У ф Q, J = ху, К = ху. На рис. 2.61 показана схема по- Рис. 2.60. Синтез последователь- ного двоичного, сумматора следовательно го двоичного суммато- ра, выполненная на 7-/<-триггере (микросхема 155ТВ1). Последовательные двоичные сум- маторы часто используются в циф- ровых следящих системах с астатиз- мом второго порядка для реализации интегратора. В этом случае требуется фиксировать переполнение разрядной сетки интегратора с учетом знака переполнения. Сигналы положитель- ного Zt и отрицательного zz переполнений интегратора используются в цифровых следящих системах в качестве команд, по которым производится отработка рассогласования в ту или другую сторону с помощью цифрового фазовращателя. Суммирование чисел X' и V любого знака в последовательных двоичных сумматорах производится в дополнительном коде. Про- стейшая структурная схема интегратора представлена на рис. 2.62 (ЗГ —-= задающий генератор). Синхронизатор С, представляющий со- бой делитель частоты со схемами формирования тактового сигнала Н и сигнала w, временное положение которого определяет момент по- ступления на последовательный двоичный сумматор (ПДС) знаковых разрядов чисел X’ и Y’ из сдвигающих регистров РгХ и РгР, управ- ляет работой интегратора. Регистр РгХ имеет входы для параллель- ной записи числа X'. Если числа X' и Y' «-разрядные, то тактовый сигнал Н представляет собой группы из п импульсов, следующие с некоторым периодом Т пТн, где Тн — период тактового сигнала Таблица 2.7 X У Q 0+ 2 к У Q Q+ Z 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1
Н внутри группы. Значение Т задает коэффициент передачи интегра- тора. Составим таблицу истинности (табл. 2.8), определяющую закон функционирования ПДС. Значения функций Q+ (перенос) и г3 (сумма) при w = 0 должны совпадать с соответствующими значениями функ- ций Q+и г в табл. 2.7, так как при этом производится сложение разря- Рис. 2 61. Схема последова- тельного двоичного сумматора Рис. 2.62. Структурная схема цифрового интегратора дов чисел с учетом переноса до появления знаковых разрядов. В этом случае функция zs = x®y®Q. (2.39) Переполнение разрядной сетки можно обнаружить только после сло- жения чисел X' и Y', поэтому при w = 0 значения функций z± = zz = = 0. Перенос из знакового разряда должен отсутствовать, так как в противном случае он поступил бы в первый разряд при следующем цикле сложения, поэтому при значении сигнала w = 1 следует поло- жить, что функция Q+ = 0. Разрядная сетка может переполняться только в тех случаях, когда суммируются числа одинакового знака, т. е. если х = у при w — 1. Переполнение разрядной сетки интеграто- ра можно фиксировать в моменты времени, когда происходит изме- нение знака суммы чисел X' и Y' на противоположный знак. Подста- Таблица 2.8 W к У Q <2+ 21 22 28 W х У Q 0+ 2, г2 Ze 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1
вив значения х = у в выражение (2.39), получим, что функция z3 = Q. Поэтому если х = у = 0 (числа X' и Y' положительные), a Q = 1, то имеет место положительное переполнение разрядной сетки, т. е. значение функции = 1. Если же х = у = 1, a Q = 0 (числа X' и Y' отрицательные), то имеет место отрицательное переполнение разрядной сетки, т. е. значение функции z2= 1. Для восстановления знака остатка суммы при переполнении раз- рядной сетки функцию г3 при значении сигнала w = 1 следует опре- делить соотношением z3 = х ф у ф Q ф z± ф z2. Составив по табл. 2.8 диаграммы Вейча, можно получить D = w V У VQ -х yQ, Zj=wxy\/Q, z2 = wyx V Q, zg = x® y®Q®zx z2. В данном представлении функций не требуется получать инверсные сигналы у и w. По полученным функциям можно построить схему ПДС. На основании рис. 2.62 легко понять, что если число X' = const, то значение числа Y' с поступлением каждой группы тактового сиг- нала Н, состоящего из п импульсов, будет изменяться в соответствии с некоторой линейной функцией. В общем случае цифровой интегра- тор до момента переполнения разрядной сетки описывается функцией m где Y'o — начальное значение, записанное в РгЕ. При поступлении групп тактового сигнала //, состоящих из п импульсов, параллельная запись в РгХ производиться не должна. § 2.10. ПОСЛЕДОВАТЕЛЬНАЯ СХЕМА РАВНОЗНАЧНОСТИ КОДОВ На последовательную схему равнозначности кодов (ПСРК) разря- ды кодов (хп, ..., х^ и (уп, ..., У1) подаются последовательно разряд за разрядом синхронно с тактовым сигналом Н. ПСРК должна содер- жать, по крайней мере, один триггер для запоминания результата сравнения предыдущих разрядов. Будем полагать, что б исходном состоянии выходной сигнал триггера Q = 0, а положение последних сравниваемых разрядов задается значением сигнала w = 1. Зададим алгоритм работы синхронного автомата (ПСРК) следующим образом: 1) автомат находится б состоянии Q = 0 до тех пор, пока значения 000/0 v 0///0м __ 001/Ом ow/о Off/о мюцом no/ом qo\~ "(г® м100/1 м 111/1 ^~^~1ФФ/0 разрядов х и у кодов совпадают; 2) первое несовпадение значений раз- рядов х и у кодов переводит авто- мат б состояние Q = 1 и в этом Рис. 2.63. Граф переходов после- довательной схемы равнознач- ности кодов состоянии автомат остается до окончания подачи разрядов кодов; 3) решение о равнозначности (г =1)
или неравнозначности (z = 0) сравниваемых кодов принимается при подаче последних разрядов кодов (если при подаче последних раз- рядов кодов автомат будет находиться в состоянии Q = 0 и значения последних разрядов совпадают, то выходной сигнал z = 1); 4) после подачи последних разрядов чисел автомат должен возвращаться в исходное состояние Q = 0. Рис. 2.64. Синтез последовательной схемы равнозначности кодов Рис. 2.65. Последовательная схема равнозначности кодов На основании данного словесного описания закона функциони- рования ПСРК составляется граф переходов (рис. 2.63; ветви подпи- саны значениями сигналов wxylz), а затем таблица истинности (табл. 2.9) и диаграммы Вейча (рис. 2.64) для функций Q+ и z. Из диаграмм Вейча следует, что D — Q+ = wQ(x ф у), z — w\J Q(x ф у). На рис. 2.65 показана схема автомата, выполненная в соответст- вии с полученными формами функций. Такая схема при большом числе сравниваемых разрядов проще комбинационной схемы равно- значности кодов, рассмотренной в § 1.5. Однако существенным не- достатком ПСРК является большое время выполнения операции срав- нения кодов (п тактов, где п — число разрядов кодов). Указанная связь между простотой схемы и длительностью выполнения операции над многоразрядными кодами (числами) справедлива для любых по- следовательных и комбинационных схем, выполняющих одни и те же функции. Таблица 2.9 W X У Q <2+ 2 W X У <2 2 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0
§2.11. ПОСЛЕДОВАТЕЛЬНАЯ СХЕМА СРАВНЕНИЯ ДВОИЧНЫХ ЧИСЕЛ Полагаем, что сравниваемые двоичные числа X = (хп, ..., xj и Y = (уп, ..., z/i) подаются на схему последовательно разряд за разря- дом, начиная с младшего разряда, синхронно с тактовым сигналом Н. Необходимо реализовать функции [ О, ( О, X 1 О, Х>У, Z, = ( Z2 = ( Z» = ( 1 I 1, X>Y, 1 1, X<Y. Понятно, что синхронный автомат, реализующий их, должен содер- жать два триггера для запоминания результата сравнения предыду- 000/000v011/000v100ll00v111/100vl01/001v110l010 OOO/OOOv v0/1/000* Cf V001/000 ~ ог ' 001/000 ою/ооо 01) I ~(100I001v111/001v'^100/010^111/010v vWl/001vlW/010 ''101/001*110/010 001/000 __ OOO/OOOv 011/000 v v 010/000 Рис. 2.66. Граф переходов последовательной схемы сравнения двоичных чисел ;щих разрядов. Полагаем, что в исходном состоянии выходные сиг- налы триггеров Qi = Q2 ~ 0, а положение последних сравниваемых разрядов задается значением сигнала w = 1. Алгоритм работы автомата можно описать следующим образом: 1) автомат находится в состоянии = <?2 = 0 до тех пор, пока зна- чения разрядов х и у двоичных чисел X и Y совпадают; 2) автомат пе- реходит в состояние = 1, Q2 — 0 при х > у и в состояние = О, Q2 = 1 при х < у, 3) решение о значениях функций z1( z2 и zs прини- мается при подаче последних разрядов чисел (если, например, при поступлении последних разрядов чисел автомат будет находиться в состоянии Qi = 1, Q2 = 0 и выполняется соотношение х у, то вы- ходные сигналы примут значения z, = 0, z2 = 1 и zs = 0); 4) после подачи последних разрядов чисел автомат должен возвращаться в исходное состояние Qt = Q2 = 0. На основании данного словесного описания закона функциониро- вания автомата составляется граф переходов (рис. 2.66; ветви подпи- саны значениями сигналов wxylziz2z2), а затем таблица истинности (табл. 2.10). Состояние автомата Q, = Q2 = 1 не может возникнуть в процессе работы, поэтому соответствующие этому состоянию строки не включены в табл. 2.10. Если по этой таблице составить диаграммы Вейча для функций Q2, zit г2 и z3, то при использовании /^-триг- геров можно получить Jt = wxy, Xi = U)\/xy, J2 = wx у, K2 =w\Jxy, z^ = wQ1Q2(x®y),z2 = w(xy\/xQ1\/yQl), Zg = w(xy\/ xQ2 VyQz)-

Глава 3 ЭЛЕМЕНТЫ И УЗЛЫ АНАЛОГО-ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ § 3.1. РОЛЬ ОПЕРАЦИЙ АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАНИЯ В УСТРОЙСТВАХ ОБРАБОТКИ ИНФОРМАЦИИ Электрические сигналы, являющиеся объектом обработки в радио- технических системах (РТС), по своей физической природе являются аналоговыми, т. е. представляют собой непрерывные функции напря- жения или тока от времени. Поэтому в процессе формирования и об- работки таких сигналов с помощью цифровых устройств важную роль играют операции преобразования в цифровую форму и обратно. Для выполнения этих' операций служат аналого-цифровые и цифро-анало- говые преобразователи (АЦП и ЦАП). Первые обеспечивают сопря- жение источников аналоговых сигналов (например, радиоприемных устройств) с цифровыми устройствами обработки, а вторые предназна- чены главным образом для сопряжения цифровых устройств форми- рования и обработки сигналов с аналоговыми потребителями инфор- мации (например, визуальными индикаторами). В радиотехнических системах широко применяются следующие разновидности устройств аналого-цифрового преобразования: преоб- разователи код—напряжение (ПКН), напряжение-—код (ПИК), вре- мя—код (ПВК) и код—время (ПКВ). Последние два вида преобразо- вателей (ПВК и ПКВ) входят в устройства обработки сигналов РТС, использующих в качестве переносчика информации временные пара- метры сигнала (например, импульсные радиодальномерные системы). Принципы построения и функциональные схемы таких устройств по- дробно рассмотрены в [53], а особенности их применения в РТС, ис- пользующих программную обработку сигналов на базе вычислитель- ных средств (микро- и мини-ЭВМ), отражены в [22]. Поэтому в даль- нейшем остановимся только на рассмотрении устройств аналого-циф- рового и цифро-аналогового преобразования, называемых ПНК и ПКН. Такие преобразователи являются неотъемлемой частью боль- шинства РТС, использующих цифровую обработку сигналов, особенно если она выполняется на базе универсальных или специализированных вычислительных средств. Смысл операции аналого-цифрового преобразования напряжения заключается в замене непрерывно-изменяющегося электрического сигнала u(t) его значениями (выборками) ut = соответствующими дискретным моментам времени tt = iAi (i = 0, 1,2, ...) (отстоящим друг от друга на интервал дискретизации А/), с последующим циф- ровым кодированием выборочных значений нг- (например, в виде параллельного двоичного кода). Операция замены непрерывной функ- ции u(t) ее выборочными значениями ut в дискретные моменты времени ti (рис. 3.1) называется дискретизацией по времени. Чем меньше интервал дискретизации А/, тем точнее отображается ис-
ходный сигнал u(t) и тем больше объем'отображаемой информации, приходящийся на единицу времени обработки сигнала. Следователь- но, увеличение точности операции временной дискретизации сигнала сопровождается увеличением объема памяти и повышением быстро- действия устройств обработки. Поэтому при выборе интервала дис- кретизации А/ обычно руководствуются известной теоремой Котель- никова, определяющей верхнюю границу этого интервала, исходя из максимальной частоты спектра сигнала /тах: А/ < 1/2/тах. Операция цифрового кодирования выборочных значений ut, называемая uft> также квантованием сигна- к ла по уровню (в отличие от к дискретизации по времени), состоит в » разбиении априорного интервала изме- ЛаГ нения функции u(t) на ряд дискретных ! уровней, различающихся между собой о на Ап (называемую интервалом квантования), и присвоении ана- логовой выборке иг целочисленного значения (или цифрового кода) Д', если Ui попадает в интервал [ДАн, (Д + 1)Ан] Рис. 3.1. Пояснение процессов дискретизации по времени и квантования по уровню непре- рывной функции u(t) (см. рис. 3.1). Ясно, что точность этой операции кодирования определяется числом уровней квантования, или разрядностью цифрового кода. При этом повышение точности (так же как при операции временной дискретизации) сопряжено с увели- чением объема памяти и повышением быстродействия устройств циф- ровой обработки сигналов. Поэтому на практике стремятся к минималь- но возможной разрядности ПИК, исходя из допустимых погрешностей преобразования, которые определяются заданными требованиями к характеристикам цифрового устройства обработки. При объединении операций временной дискретизации и квантова- ния по уровню в едином устройстве аналого-цифрового преобразо- вания возникают специфические погрешности, связанные с конечным временем операции цифрового кодирования, которое определяет та- кую важную характеристику ПИК, как быстродействие, или время преобразования Тпр. Быстродействие ПИК ограничивает частоту вре- менной дискретизации сигнала u(t), так как должно выполняться ус- ловие А/> Тпр. Если сигнал u(t\ изменяется во времени, то конечное время преобразования приводит к динамической погрешности, кото- рая определяется как един (^i) du (t) I гр ~ dt Ц np' Чтобы устранить эту погрешность, время преобразования Тпр и ошибка дискретизации преобразования (интервал квантования) Aw должны удовлетворять условию du(t)ldt которое можно рассматривать как ограничение возможностей ПИК по скорости из- менения преобразуемого сигнала. Из рассмотренных особенностей операции аналого-цифрового преобразования следует, что основными
характеристиками, определяющими качество работы соответствующих устройств преобразования (ПНК), являются время преобразования Тар и ошибка дискретизации Ац. Кроме того, к важным характе-' ристикам ПНК следует отнести диапазон изменения уровня входного напряжения, который определяет число двоичных разрядов преобра- зователя. Аналогичные характеристики присущи и устройствам циф- ро-аналогового преобразования, выполняющим обратную операцию, т. е. преобразование код—напряжение. Эта операция применяется для сопряжения цифровых устройств формирования и обработки сигналов с аналоговыми элементами, узлами и блоками РТС. Указанные характеристики являются основой для выбора прин- ципа построения ПНК и ПКН, разработки их функциональных схем и практической реализации соответствующих устройств на приемле- мой элементной базе. § 3.2. АНАЛОГОВЫЕ КЛЮЧИ Эти ключи предназначены для коммутации аналоговых сигналов от источника на нагрузку с малыми искажениями. Они широко при- меняются в ЦАП, АЦП, устройствах выборки и запоминания сигна- лов, для коммутации аналоговых сигналов многих источников на об- щую нагрузку и для других целей. Аналоговые ключи могут коммути- ровать ток или напряжение. Для коммутации напряжения можно использовать либо однополюсный последовательный ключ (прерыва- тель), либо переключатель на два положения (нагрузка подключа- ется к источнику напряжения или к общей точке схемы). При комму- тации же тока необходим переключатель на два положения (ток ис- точника никогда не должен прерываться, а лишь переключаться в различные ветви цепи). Требования к характеру нагрузки должны быть различными для ключей тока и напряжения. В цепи для коммутации напряжения на- грузка должна иметь достаточно высокое сопротивление по сравне- нию с выходным сопротивлением источника сигнала, а для коммута- ции тока — наоборот. Реальные аналоговые ключи вносят погреш- ность при передаче сигнала (тока, напряжения) от источника в на- грузку. Основными параметрами ключа, определяющими величину погрешности, являются: остаточное напряжение на замкнутом ключе, остаточный ток разомкнутого ключа и конечное время переключения. Основной задачей проектирования аналоговых ключей является ми- нимизация перечисленных параметров, и тем самым уменьшение по- грешности, вносимой ключами при коммутации сигналов. Диодные ключи. На рис. 3.2, а приведена схема переключения тока на двух диодах. Статические вольт-амперные характеристики и процессы переключения диодов подробно изложены в литературе [53, 68J и здесь не рассматриваются. При подаче на управляющий вход положительного напряжения (рис. 3.2, в) Uynp = Et> Urk + + wnP2 диод Д1 закроется и ток 1 = Е/R от источника тока (£, R) через открытый диод Д2 проходит в нагрузку 7?н (u^H — падение напряжения на нагрузке RH, RH < R, иар2 — напряжение на проводя-
Рис. 3.2. Диодный переключа- тель; а—принципиальная схема; б — струк- турная схема; в — управляющее нап- ряжение щем диоде Д2 при токе /). Диод Д, будет заперт под воздействием напряжения «д, = Идн+пПр2 — Et < 0 Для переключения тока I в другую ветвь цепи (рис. 3.2, б) на управляющий вход необходимо по- дать отрицательное напряжение пупр = Е2, превышающее по абсо- лютному значению напряжение на открытом диоде Д1 при токе /: |Е2| > “npi- Диод Д, будет открыт, а диод Д2 закрыт под дейст- вием напряжения ид2 = Е + «пР1 < 0. Необходимые перепады управляющего напряжения для та- ких ключей составляют единицы вольт. Основным фактором, определяю- щим нестабильность тока в нагрузке Дн, является зависимость прямого напряжения на диоде Д2 и обратных токов диодов от изменения окружаю- щей температуры. Прямое напряже- ние на диоде имеет отрицательный температурный коэффициент (2—4 мВ/°С) [68]. Нестабильность тока в нагрузке, вызванная изменением пря- мого напряжения, А/н = Днпр2//^. Обратный ток диодов с увеличением температуры возрастает по экспонен- циальному закону. При увеличении температуры на 10° С он увеличивается приблизительно в два раза. Обратные токи современных кремниевых диодов (КД503А, КД504А, КД509А, КД512А и др.) при комнатных температурах и допустимых обратных запирающих напряжениях составляют 2—10 мкА, а при малых обратных напряжениях равны единицам наноампер (нА). Быстродействие диодного ключа определяется процессами пере- зарядки паразитных емкостей схемы и переключения диодов. Малые перепады напряжения на элементах схемы и низкоомные нагрузки обеспечивают быструю перезарядку паразитных емкостей. Высокую скорость переключения имеют современные импульсные планарные диоды с тонкой базой и диоды Шоттки. Примером диодов с тонкой базой является диод КД512А, имеющий время восстановления обрат- ного сопротивления 1 нс. В диодах Шоттки отсутствует явление на- копления и рассасывания заряда. Инерционность процессов в таком диоде в основном определяется временем зарядки и разрядки барьер- ной емкости, которая значительно меньше, чем в диодах других типов Диодные ключи (см. рис. 3.2, а) широко применяются в цифро аналоговых преобразователях для коммутации токов в цепи с весовы ми резисторами. Они входят в состав микросхем 228ПП1, 228ПП2, 265ПП1, 265ПП2, выполняющих функции декодирующих преобразо- вателей. Эти микросхемы содержат по шесть диодных ключей, управ- ляются перепадами напряжений ±1 В, каждая потребляет мощность не более 70 мВт от источника питания. Для коммутации напряжения наиболее распространенным вариан- том диодного ключа является мостовой ключ (рис. 3.3, а). Его пре-
имуществом является хорошая развязка между входом и выходом и способность пропускать широкополосные одно- и двуполярные сиг- налы без существенных искажений. Входное напряжение пЕХ подается в точку А соединения диодов Дг и Д2, а выходное напряжение снимается с сопротивления нагрузки RK. Управляющее ключом биполярное напряжение (рис. 3.3, б) по- дается на другую диагональ моста (точки В и Г). Если wynpi < О и tfynp2 > 0, то диоды Д5, Д6 не проводят, а диоды мостовой схемы Рис. 3.3. Схема ^диодного мостового ключа напряжения: а — принципиальная схема; б — управляющее напряжение; в — структурная схема Рис. 3.4. Упрощенная схема диодного мостового ключа микросхемы 265КН1 Д1—Дц оказываются проводящими. Если при этом схема полностью симметрична, то точки А и Б имеют один и тот же потенциал, т. е. входное напряжение передается на выход (ывых = wEX). При изме- нении полярности управляющего напряжения на противоположную диоды Дй, Де открываются, а Д1—Д^ закрываются и ключ размыка- ется (рис. 3.3, в). Точки А и Б будут отделены друг от друга доста- точно большим сопротивлением. Коэффициент передачи ключа равен ДН/(ДИ + Дн + Дпр), где Дпр — сопротивление проводящего ключа. Для управления ключом необходимо выполнять соотношение: |Е| > |t/Bxmax| + ппр, где нпР — падение напряжения на проводящем диоде; |пвхтахГ — мак- симальное абсолютное значение входного напряжения. Ошибка в передаче напряжения существенно зависит от идентич- ности диодов мостовой схемы, постоянства Есми Rit диапазона измене- ний тока нагрузки и температуры. Как показано в [12, 68], разброс вольт-амперных характеристик диодов и токов смещения /см вызыва- ет появление напряжения на замкнутом ключе до 30 мВ. При инте- гральном исполнении диодов мостовой схемы разброс прямых ветвей вольт-амперных характеристик уменьшается, что позволяет снизить остаточное напряжение на замкнутом ключе. К недостаткам мостовых диодных ключей следует отнести необходимость формирования би- полярного управляющего напряжения, а также тщательный отбор диодор для балансировки схемы.
На рис. 3.4 приведена упрощенная схема диодного-мостового клю- ча, выполненного в виде интегральных микросхем 265КН1 и К265К.Н1 [63]. Транзисторная схема управления диодным ключом позволяет осуществлять непосредственное соединение микросхем с ТТЛ-схемами. Отношение выходного напряжения замкнутого и разомкнутого ключей при частоте' входного сигнала 15 МГц и сопротивлении нагрузки 300 Ом равно 100, что соответствует развязке между входом и выхо- дом ключа 40 дБ. Коэффициент передачи замкнутого ключа состав- ляет 0,8. Верхний уровень управляющего напряжения 2,5 В, а ниж- ний — 0,5 В. Рис. 3.5. Схемы простейших транзисторных ключей: с*-схема с общим эмиттером; б — схема с общим эмиттером при инверс- ном включении транзистора, в — схема с общим коллектором Ключи на биполярных транзисторах. Эти ключи могут переключать напряжение и ток. На рис. 3.5, а приведена схема простейшего ключа напряжения (прерывателя) на биполярном транзисторе по схеме с общим эмиттером. Источником питания такого ключа служит комму- тируемое напряжение нЕХ, значение которого может изменяться в широких пределах и достигать весьма малых значений (десятков мил- ливольт). При подаче отрицательного управляющего напряжения ЦупР < 0 транзистор закрывается, через резистор будет проте- кать тепловой ток коллектора и напряжение между коллектором и эмиттером икэ = цЕХ — /к0Дк ~ квх- Пусть под действием отпираю- щего напряжения цупр > 0 в базовой цепи проходит ток /б (на рис. 3.5 направление токов показано для линейного и насыщенного режимов транзистора). Для всех значений коллекторного тока /к <. < Р^б (Л< = ubJRk> Р — коэффициент передачи базового тока) тран- зистор будет насыщен и напряжение нкэ очень мало. В режиме насы- щения коллекторный и эмиттерный переходы открыты, выходное напряжение икэ — ивэ — «бк. При глубоком насыщении транзистора (/бр//к > 34-4) остаточное напряжение на замкнутом ключе [64] ивэ Фт/Р/ + Z6 Гэн, (3.1) где Р/ — коэффициент передачи базового тока при инверсном вклю- чении транзистора; <рт — тепловой потенциал, пропорциональный абсолютной температуре (при 300 К <рт 26 мВ); гэн — объемное сопротивление области эмиттера насыщенного транзистора. Выходное сопротивление насыщенного транзистора (сопротивление
замкнутого ключа) ДЕЫХ обычно составляет единицы и десятки ом и может быть определено по формуле [64] Ут (₽/ 4-1) /б + ^ЭН 4~ ГКН> (3.2) где гкп — объемное сопротивление области коллектора насыщенного транзистора. В ключах прерывателя наиболее распространены транзисторные схемы с общим эмиттером при инверсном включении транзистора (рис. 3.5, б) и общим коллектором при нормальном включении тран- зистора (рис. 3.5, в). Эти схемы обеспечивают минимальное падение напряжения на насыщенном транзисторе, что позволяет повысить точ- ность передачи напряжения «Ех. Рассмотрим кратко особенности ра- боты этих ключей. При запертых переходах транзистора (иупр < 0) через резистор Rg (см. рис. 3.5,6) проходит ток /эП = /коР//₽ и напряжение иак — иъ —Ig0Rg^uSx. При положительном управ- ляющем напряжении («упр > 0) откроется коллекторный переход и транзистор будет находиться в линейном инверсном режиме. Дальней- ший рост напряжения «упр приведет к открыванию также эмиттерного перехода и насыщенному режиму транзистора. В режиме насыщения иупр > иак, 1д < [3/ /б> Л) = ^Вх/Дэ. При глубоком насыщении транзистора остаточное напряжение замкнутого ключа [64] 4- ^КН» (3.3) а его выходное сопротивление ^выхн (Ч’т/Ру ^б) 4* гэн 4~ гкн- (3-4) Как показано в [64], соотношения (3.3) и (3.4) справедливы и для транзисторного ключа с общим коллектором (см. рис. 3.5, в). Из выражений (3.1) и (3.3) следует, что остаточное напряжение замкнутого ключа при инверсном включении транзистора значительно меньше, чем при прямом (неинверсном), так как |3 > р;. Кроме того, параметры замкнутого ключа существенно зависят от тока базы насы- щенного транзистора. Как следует из соотношений (3.1)—(3.4), с рос- том базового тока увеличивается остаточное напряжение и уменьшается выходное сопротивление ключа. Рассмотрим влияние цепи управления на свойства ключа. На рис. 3.6, а приведена схема ключа с простой гальванической цепью управления. Состояние его определяется уровнем управляющего напряжения иупР и значением сопротивления Дб- Отметим, что схема может коммутировать как положительное, так и отрицательное на- пряжение иЕх. При отрицательном управляющем напряжении (7упр (рис. 3.6, б) транзистор должен быть заперт («бк < 0, «бэ < 0) и напряжение «ЕЫХ = 0. Если на входе действует положительное напряжение 6/упр, транзистор будет насыщен, а напряжение «вых = «вх. В насыщенном режиме в схеме установятся следующие токи: I6 = (Uynp—иеэ— —— = ^6 /н.
Транзистор будет находиться в режиме насыщения, если t/ynp » «вхтах + «бэ> где ывхп,ах — максимальное значение переключае- мого напряжения. Для получения достаточно глубокого насыщения необходимо, чтобы напряжение £/упр превышало значение ыВхП1ах + _|_ иба. Для запирания транзистора необходимо выполнить условия: t/упр < wBxmin. t/ynP<0, где ttBxmin — минимальное значение переключаемого напряжения. Для ускорения выхода из режима на- сыщения при закрывании транзистора необходимо в базу подать ток обратного направления, поэтому Дупр по абсолютному значению должно пре- вышать величину wBxmin. Таким образом, перепад управляющего напряжения ДСупР = ^упр — ^упр должен превы- шать диапазон изменения переключае- мого напряжения. Характерной особенностью ключей с гальванической цепью управления является зависимость тока базы от значения переключаемого сигнала, что приводит к непостоянству напряжения икэ и выходного сопротивления /?выхи Рис. 3.6. Транзисторный ключ с гальванической цепью уп- равления: a — схема ключа; б — управляю- щее напряжение насыщенного транзистора, а также к изменению глубины насыще- ния транзистора. Эти зависимости приводят к дополнительным ошибкам в переключении сигнала и непостоянству времени пере- ключения ключа. Кроме того, для управления подобными ключами требуются достаточно большие перепады управляющего напряжения. Особенностью гальванического управления является и то, что часть базового тока насыщенного транзистора /и = 7б—Iв проходит по цепи переключаемого сигнала, создавая на выходном сопротивлении падение напряжения, вносящее погрешность в коммутируемый сигнал. Влияние базового тока на точность работы ключа можно умень- шить, если задавать управляющий ток от источника с большим вы- ходным сопротивлением. Однако это приведет к значительному увели- чению перепадов управляющего напряжения. В [12, 401 приведен ряд схем со стабилизацией управляющего тока. Если управление клю- чом будет производиться от генератора тока, то зависимость пара- метров ключа от уровня переключаемого сигнала полностью исклю- чается. Преимуществом рассматриваемых ключей является простота схе- мы. Они в основном применяются для переключения постоянных по значению напряжений с низкоомным выходным сопротивлением. Оста- точное напряжение ключей нЭк на одиночных биполярных транзисто- рах составляет 0,3—2 мВ, а прямое сопротивление ключа колеблется от единиц до десятков ом. Скорость переключения рассматриваемых ключей определяется процессами накопления и рассасывания заряда неосновных носите- лей в базе транзистора, перезарядом барьерных емкостей транзисторов и нагрузочных емкостей. Полный цикл переключения состоит из от-
срывания и закрывания транзисторов, а также рассасывания избы- точного заряда из области базы. Длительность стадий зависит от частотных свойств транзистора, параметров коммутирующих сигна- лов и нагрузки. Переходные процессы ограничивают частоту пере- ключений и тем самым быстродействие преобразователей. Процессы переключения ключей на одиночных биполярных транзисторах с ак- тивной нагрузкой и токовым управлением рассмотрены в [53, 64, 68]. Для уменьшения остаточного, напряжения на замкнутом ключе при- меняют встречное включение двух транзисторов (рис. 3.7). При таком Рис. 3.7. Ключ со встречным Рис. 3.8. Схема ключа с транс- форматорным управлением включением транзисторов включении транзисторов остаточное напряжение ключа является раз- ностью остаточных напряжений отдельных транзисторов (пост = = wocti —“оста) и может быть получено очень малым. Основная слож- ность применения таких ключевых элементов состоит в усложнении схемы цепи управления, которая должна быть изолирована от источ- ника сигнала и нагрузки. При гальванической связи цепи управления с цепью переключаемого сигнала компенсация остаточных напряжений отдельных транзисторов затруднена из-за нарушения идентичности условий работы транзисторов [4, 40]. На рис. 3.8 приведена схема компенсированного ключа (прерывателя) с трансформаторным управ- лением, позволяющим развязать гальванически цепи сигнала и уп- равления (базовые управляющие токи /б1 и /б2 не протекают через сигнальную цепь). В интегральных ключах (прерывателях) типов 101КТ1, 124КТ1, 162ДТ1 применяют встречное включение транзисторов [4, 63]. Эти схемы содержат по два идентичных интегральных транзистора с об- щим коллектором (рис. 3.9). Так как интегральные транзисторы имеют высокую степень идентичности характеристик, то остаточное на- пряжение между эмиттерами при насыщении транзисторов можно получить очень малым (например, для прерывателя типа 101К.Т1 остаточное напряжение составляет 50 мкВ). Их прямое сопротивле- ние в два раза больше,чем у прерывателей на одиночном транзисторе, и составляет порядок 100 Ом. Время переключения указанных пре- рывателей 0,4 мкс. Прерыватели на двух биполярных транзисторах используют в интегральных аналоговых ключах среднего быстродействия типа
273КТ1 (гибридная интегральная схема) [4, 63]. -Для управления прерывателем используется трансформатор, позволяющий выпол- нить развязку цепей управления й коммутируемого сигнала. Управ- ляющим сигналом является последовательность высокочастотных импульсных сигналов (динамическое управление). Управляющие сиг- налы можно подавать на ключ непосредственно с выходов ТТЛ-схем.' Аналоговый ключ 273КТ1 имеет следующие параметры: прямое сопротивление не более 100 Ом; ток утечки в состоянии «выключено» 100 нА; время задержки включения порядка 1 мкс; время задержки выключения не более 5 мкс. Рис. 3.9. Интегральные ключи (прерыватели): а — типа 101КТ1, б — типа 124КТ1 Рис. 3.10. Ключ с управлени- ем режимом работы операци- онного усилителя На рис. 3.10 приведена схема аналогового ключа, выполненного на биполярном транзисторе типа п-р-п и операционном усилителе 140УД12 [2]. Ключ имеет высокое входное сопротивление и управ- ляется небольшими перепадами напряжений, подаваемыми на вход транзистора. При отрицательном управляющем напряжении транзис- тор закрыт, через резистор /?2 проходит только тепловой коллекторный ток транзистора, операционный усилитель закрыт и входной сигнал пвхна выход не передается. Когда управляющий сигнал приводит транзистор в режим насыщения, через резистор Т?2 (его значение сотни кОм) от источника питания усилителя £/и.п проходит управляющий ток 7У я» UK.nlRi (десятки микроампер), операционный усилитель переходит в нормальный режим работы и входной сигнал передается на выход. В ключах тока (в отличие от ключей напряжения) биполярные транзисторы работают в ненасыщенном режиме, поэтому быстродей- ствие их велико и составляет единицы и десятки наносекунд. ОднакО' биполярные транзисторы не всегда пригодны для переключения тока, так как ток управления ключа проходит по сигнальной цепи. Поэтому входной ток будет отличаться от выходного на величину управляю- щего тока. Особенности построения токовых ключей на биполярных транзисторах рассмотрены в [12, 39]. Аналоговые ключи на полевых транзисторах с управляющим р-п- переходом. Полевые транзисторы разделяются на п- и р-каналъные.
Транзисторы с каналом п-типа имеют лучшие частотные свойства, так как подвижность электронов выше подвижности дырок. Полевые тран- зисторы управляются напряжением, не потребляют в статических режимах ток от источника управляющих сигналов, имеют высокую сте- пень гальванической развязки между сигнальной и управляющей цепями. В запертом состоянии они имеют малые токи утечки (единицы наноампер при комнатной температуре), а в открытом — остаточное напряжение, близкое к нулю. Отмеченные свойства позволяют строить Рис. 3.11. Выходная (а) и передаточная (6) характеристики n-каналЁного транзистора с управляющим р-п-переходом на полевых транзисторах точные ключи напряжения и тока. К недо- статкам ключей на полевых транзисторах следует отнести большие пе- репады управляющего напряжения для переключения транзистора из режима отсечки в проводящее состояние, а также относительно низкое быстродействие. Сопротивление открытого ключа (сопротивление сток—исток при нулевом напряжении между затвором и каналом) зависит от типа проводимости канала и его геометрических размеров. У п-канальных транзисторов это сопротивление составляет от 5 до 100 Ом. При из- менении температуры окружающей среды сопротивление изменяется приблизительно линейно на 0,6% на 1° С 1701. На рис. 3.11, а, б приведены типовые выходная и передаточная характеристики п-канального транзистора. Выходная имеет две ха- рактерные области: крутую I и пологую 2. В крутой области ток стока <с возрастает линейно с увеличением напряжения сток—исток пси при постоянном напряжении на затворе относительно истока, что свидетельствует о постоянстве сопротивления канала транзистора в этом режиме. В пологой области характеристик ток стока <с почти не зависит от напряжения пси, а зависит лишь от напряжения затвор— исток пзи. Точка а на характеристике соответствует току стока насы- щения /сн при напряжении «аи = 0. При любом другом отрицатель- ном напряжении справедливо следующее соотношение для тока стока 1701: СН ( 1 отс) »
где Uото — напряжение отсечки канала, при котором ток стока мож- но считать с определенной точностью равным нулю (в паспортных данных Uma дается для тока tc = 16 ~ 20 мкА). Схема последовательного ключа напряжения с цепью управления, состоящей из диода Д и конденсатора С, на n-канальном транзисторе приведена на рис. 3.12, а. Для размыкания ключа (закрывания тран- зистора) необходимо подать на затвор отрицательное напряжение (рис. 3.12, б), превышающее по абсолютному значению напряжение отсечки (l^/ynpl > |ДОТС|). При этом необходимо иметь в виду, что Рис. 3.12. Схема ключа на «-канальном транзисторе с управляющим р-п-переходом (а) и управляющее напряжение (б) Рис. 3.13. Зависимость оста- точного напряжения на откры- том транзисторе от управляю- щего сигнала напряжение отсечки имеет большой разброс. Через сопротивление нагрузки RH будет протекать только очень малый ток утечки закры- того транзистора (единицы наноампер). Для полного отпирания тран- зистора необходимо подать управляющее положительное напряжение Пупр — нВх- В этом случае напряжение «зи = 0, канал транзистора полностью откроется и ток стока: ic = (wBx—u^/R^, где цют — остаточное напряжение сток—исток на открытом транзисторе. Для уменьшения напряжения необходимо, чтобы рабочая точка на- ходилась в крутой области выходных характеристик и транзистор работал с малыми значениями тока ic. На рис. 3.13 приведена зави- симость остаточного напряжения zzOCT на открытом транзисторе при малых значениях тока стока 1С и различных значениях управляюще- го напряжения «8И. При напряжении «5И = 0 сопротивление открыто- го транзистора ЛВЬ1хП — исн^с будет наименьшим. Напряжение иса прямо пропорционально току 1С и равно нулю при 1С = 0. Диод Д в схеме рис. 3.12, а необходим для фиксации потенциала затвора на уровне напряжения ывх при коммутации изменяющегося по величине напряжения. Когда напряжение «вх< U"vtsp, диод за- крывается, через обратное сопротивление его и прямо смещенный пе- реход затвор—исток транзистора протекает уравнительный ток, под действием которого фиксируется потенциал затвора на уровне напря- жения ивх. Отсутствие фиксирующего диода привело бы к изменению напряжения на переходе затвор—исток и тем самым к модуляции со- противления открытого канала транзистора. Для отрицательного
управляющего напряжения диод открыт и практически не влияет на работу схемы. Включение конденсатора С ускоряет процесс перезаряда емкостей затвор—исток и затвор—сток и тем самым сокращает время отпира- ния транзистора. Однако емкость С существенно нагружает источник коммутируемого сигнала. Рассмотрим разновидности ключей на полевых транзисторах. На рис. 3.14 приведена схема ключа, где потенциалы затвора и стока .выравниваются с помощью резистора R. При запертом диоде ток через Рис. 3.14. Схема ключа со стабилизацией напря- жения затвор—канал с помощью резистора Рис. 3.15. Схема ключа на п-ка- нальном полевом транзисторе с управлением от типовых логи- ческих схем ;резистор практически отсутствует, потенциалы затвора и стока равны между собой, канал транзистора полностью открыт. Когда транзистор заперт, через резистор R в цепь управления проходит ток, нагружаю- щий источник входного сигнала. Это является существенным недо- статком схемы. Как уже отмечалось, для управления ключами на полевых тран- зисторах необходимы большие перепады управляющего напряжения. Ключами можно управлять от типовых логических схем на биполяр- ных транзисторах, если использовать буферные каскады. На рис. 3.15 приведена схема ключа прерывателя [40], управление которым осу- ществляется с помощью буферного каскада, выполненного на транзис- торе Ti. При низком уровне управляющего напряжения транзистор насыщен, а полевой Т2 открыт. Диод Д заперт и потенциал затвора транзистора Т2 зафиксирован на уровне wEX. Когда на входе действует высокий уровень управляющего напряжения, транзистор заперт, диод Д открыт, а полевой транзистор Т2 переведен в запертое состоя- ние под действием напряжения Е. Схема управления полевым транзистором с р-п-переходом, исполь- зующая КМОП-транзисторы, приведена на рис. 3.16. Положительный управляющий сигнал £/упр открывает n-канальный транзистор 1\ .и закрывает р-канальный транзистор Т2. Отрицательное напряжение Е через небольшое сопротивление открытого транзистора Ti посту- пает на затвор ключевого транзистора Т3 и закрывает его. При отри- цательном управляющем напряжении Дупр транзистор закрыт, а Т2 открыт. При этом затвор и исток ключевого транзистора Ts оказы-
ваются соединенными между сооой через малое сопротивление прово- дящего канала транзистора Т2, что-обеспечивает полное отпирание транзистора Т$ и исключает модуляцию сопротивления канала напря- жением затвор—исток. Аналоговые ключи на МОП-транзисторах. Эти ключи отличаются от ранее рассмотренных аналоговых ключей на биполярных и поле- вых транзисторах простотой схемы управления и более высокой сте- пенью интеграции. МОП-транзисторы могут быть с индуцированными и встроенными каналами и иметь проводимость канала п- или р-типа. Рис. 3.16. Ключ на п-канальном полевом транзисторе со схемой управления на КМОП-транзис- торах Рис. 3.17. Схема ключа на МОП- транзисторе с индуцированным каналом р-типа Большинство выпускаемых интегральных микросхем на МОП-струк- турах основано на МОП-транзисторах с индуцированным каналом p-типа. В отличие от полевых транзисторов с управляющим р-п-пере- ходом МОП-транзисторы, имея изолированный затвор, сохраняют вы- сокое входное сопротивление (1012—1014 Ом) независимо от значе- ния и полярности входного напряжения на затворе. На рис. 3.17 приведена схема простейшего ключа напряжения на МОП-транзисторе с индуцированным каналом p-типа. Управляю- щее напряжение подается непосредственно на затвор. Транзистор бу- дет заперт, если напряжение затвор—исток ызи = ыупр—«вх пре- вышает напряжение отсечки 7/ото. Для МОП-транзисторов p-типа от- рицательное напряжение отсечки составляет единицы вольт (—34- 4—6 В). Токи утечки запертого транзистора малы (единицы и де- сятки наноампер), а поэтому выходное напряжение ивых = 6. Для полного отпирания транзистора необходимо, чтобы потенциал затвора был ниже потенциала истока не менее чем на £/отс. Выходное напря- жение замкнутого ключа ивЫХ = uBXRK/(RB + Rnp), где Rnp— сопротивление проводящего канала транзистора. Рассматриваемый ключ может коммутировать как положительное, так и отрицательное входное напряжение. Существенным недостатком данного ключа является зависимость сопротивления Rnp от значений напряжения затвор—исток. На рис. 3.18 приведена типовая зависимость сопротивления Rnp от на-
пряжения затвор—исток транзистора p-типа проводимости. Сопро- тивление jRnp достигает наименьшего значения при максимальном по абсолютному значению напряжении на затворе, которое ограничи- вается допустимым межэлектродным напряжением. При изменении напряжения ивх меняется значение напряжения затвор—исток, что и приводит к модуляции проводимости канала входным сигналом и возникновению дополнительных ошибок в передаче сигнала на нагруз- ку. Уменьшить это влияние можно, увеличивая сопротивление на- грузки RK. Рис. 3.18. Зависимость прямого сопротивления МОП-транзистора от на- пряжения затвор—исток Рис. 3.19. Схема ключа на КМОП- транзисторах Необходимо также отметить, что напряжение, приложенное к подложке, существенно влияет на проводимость канала МОП-тран- зистора. Повышение напряжения смещения подложки при постоянном напряжении на затворе приводит к уменьшению проводимости канала. Для транзисторов с проводимостью p-типа напряжение подложки должно превышать напряжение на стоке (истоке). Быстродействие ключей на МОП-транзисторах, как и ключей на полевых транзисторах с управляющим р-п-переходом, определяется процессами перезаряда нагрузочной емкости и межэлектродных ем- костей транзистора. Здесь также имеет место прохождение сигналов из цепи управления на выход ключа. На рис. 3.19 приведена схема ключа на комплементарных МОП- транзисторах (КМОП), позволяющая существенно уменьшить влия- ние изменения входного аналогового напряжения на величину пря- мого сопротивления замкнутого ключа [40, 70]. Непосредственно ключ содержит два параллельно включенных транзистора 7\ и Т2 с индуцированными каналами различных типов проводимости (один с р-, а другой с n-каналом). МОП-транзистор с n-каналом в основном аналогичен МОП-транзистору с p-каналом, если полярности всех на- пряжений изменить на противоположные. Управление ключом осу- ществляется с помощью инвертора, выполненного на КМОП-тран- зисторах Т3 и Ti. Инвертор потребляет мощность только в процессе переключения из одного статического состояния в другое. В статиче- ских состояниях один из транзисторов заперт.
При управляющем напряжении «упр = —Е транзистор Т4 заперт, Тз открыт и аналоговый ключ разомкнут (7\ и Т2 заперты). Ключ бу- дет замкнут при одновременной подаче отрицательного напряжения на затвор р-каналыюго МОП-транзистора 7\ и положительного на- пряжения на затвор n-канального МОП-транзистора Т2. Такое состоя- ние ключа будет при подаче управляющего напряжения «упр = +£. Диапазон изменения входного напряжения для рассматриваемого ключа «вх = ±Е. При нвх = 0 напряжение затвор—исток 7\ и.лпТ, = —Е, а напряжение затвор—исток транзистора Т2 иакТ, = +Е. Транзис- торы Т1 и Т2 открыты, а прямое сопротивление замкнутого ключа /?пр равно параллельному соединению сопротивлений открытых тран- зисторов. Когда «вх = +£> транзистор Т2 заперт, так как напряже- ние u3Wr, = 0, а транзистор 7\ открыт под действием напряжения нзи7, = —2£. Прямое сопротивление ключа /?пр определяется сопротивлением полностью открытого транзистора 7\ и примерно равно сопротивлению ключа при нвх = 0. Аналогично, при wBX — = —Е транзистор Т\ заперт, а транзистор Т2 открыт под действием на- пряжения изит2 = +2Е и прямое сопротивление остается примерно прежним. Таким образом, изменение входного напряжения wBX влияет на сопротивление каналов транзисторов 7\ и Т2 противоположным об- разом, и в результате прямое сопротивление ключа меняется в небольших пределах. При соответствующем подборе транзисторов ключа и изменениях входного сигнала в диапазоне ±Е постоянство прямого сопротивления ключа может быть достигнуто с точностью ±10%. Рассматриваемая схема позволяет также уменьшить и ошибки, связаннее с прохождением перепадов управляющих напряжений че- рез паразитные емкости в сигнальную цепь. Это объясняется тем, что управляющее напряжение на затворах обоих ключевых транзисторов имеет противоположные знаки и прохождение фронтов его в нагрузку в значительной степени компенсируется. Ключи на МОП-транзисторах выпускаются промышленностью в виде интегральных микросхем. На рис. 3.20, а, б приведены прин- ципиальные схемы пяти канального переключателя напряжения типа 190КТ1 и сдвоенного двухканального переключателя типа 190КТ2. Эти ключи могут коммутировать напряжение до 25 В. Прямое сопро- тивление отдельного ключа для микросхемы 190КТ1 равно 300 Ом при напряжении иаи = —20 В, а для микросхемы 190КТ2 — 50 Ом. Ток утечки закрытого канала каждого ключа не превышает 50 нА. Четырехканальный переключатель напряжения типа 168КТ2 (рис. 3.21) имеет следующие параметры: прямое сопротивление от- дельного ключа при напряжении «зи = —15 В не превышает 100 Ом; ток утечки закрытого канала порядка 20 нА; напряжение отсечки на- ходится в пределах —3 ± —6 В; время включения ключа не пре- вышает 0,3 мкс, а время выключения не более 0,7 мкс. Схемы рассмотренных ключей не имеют формирователей управ- ляющих напряжений и поэтому их не применяют в устройствах, где
совместно используются низкоуровневые логические схемы (например, ТТЛ-схемы). В микросхеме 143КТ1 (рис. 3.22) этот недостаток устра- нен. Каждый канал двухканального переключателя напряжения 143КТ1 содержит ключ на МОП-транзисторе p-типа и схему управ- ления. Схема управления выполняет функции согласования уровней Рис. 3.20. Принципиальные схемы интегральных переключателей напряже- ния: а — типа 190КТ1, б— типа 190КТ2 Рис. 3.21. Принципиальная схема интегрального пере- ключателя напряжения 168КТ2 Рис. 3.22. Функциональная схема интегрального двухка- нального переключателя на- пряжения 143КТ1 выходных напряжений ТТЛ-схем и входных напряжений МОП-тран- зисторов. Примерами ключей, выполненных на КМОП-транзисторах, явля- ются интегральные микросхемы 176КТ1, 564КТЗ (четырехканальные ключи) [63, 70]. Каждый ключ выполнен в виде параллельного соеди- нения МОП-транзисторов различной проводимости (см. рис. 3.19), поэтому сопротивление замкнутого ключа почти не зависит от уровня коммутируемого сигнала. § 3.3. МУЛЬТИПЛЕКСОРЫ АНАЛОГОВЫХ СИГНАЛОВ Мультиплексоры предназначены для коммутации аналоговых сиг- налов с одного из нескольких входов на один выход (рис. 3.23, а). Как правило, они должны коммутировать входные сигналы с высокой
точностью и надежностью при определенной скирисги вшиирии ка- нала входного сигнала. При этом влияние отключенных каналов на значение выходного сигнала должно быть минимальным. Уровень входных сигналов, диапазон их изменения, число каналов предъяв- ляют специфические требования к проектированию мультиплексоров. Мультиплексор состоит из набора аналоговых ключей, подсоединен- ных к общей выходной шине, и схемы управления (рис. 3.23, б). В со- став схемы управления, как правило, входят дешифратор и форми- рователь сигналов управления ключами. На вход схемы управления б) Рис. 3.23. Схемы мультиплексора напряжения: а — обобщенная, б — функциональная подаются цифровые сигналы в виде параллельного кода (код номера канала). Выходную шину можно отделить от нагрузки буферным кас- кадом на ОУ, работающим в режиме повторителя напряжения, кото- рый обеспечивает высокое входное сопротивление в точке соединения выходов ключей и низкое выходное сопротивление мультиплексора. Выбор типа ключа существенно зависит от уровня коммутируемого сигнала. Так, при входном напряжении, изменяющемся от единиц до десятков вольт, используются ключи напряжения на биполярных и полевых транзисторах. Особенно широко распространены ключи на МОП-транзисторах, так как схемы управления ими получаются наи- более простыми. Для переключения напряжения высокого уровня (вплоть до сотен вольт) применяют аналоговые ключи (диодные и тран- зисторные), работающие в режиме переключения тока. На рис. 3.24 приведена функциональная схема мультиплексора напряжения с то- ковыми ключами, в котором для преобразования тока /ЕХ в напря- жение используется ОУ в инверсном включении («вых = —/вх^О- Особенностью токовых ключей является низкое коммутируемое на- пряжение (близкое к нулю) и небольшие перепады управляющего на- пряжения (от нуля до напряжения отсечки). Поэтому токовые ключи
имеют высокое быстродействие и простую схему управления. Быстро- действие схемы рис. 3.24 в основном определяется скоростью нараста- ния выходного напряжения ОУ. Для переключения напряжений в милли вольтовом диапазоне тре- буются более сложные структуры мультиплексоров, так как в этом случае необходимы специальные меры борьбы с влиянием помех на уровень выходного сигнала. Примером такой структуры является дифференциальный мультиплексор[12], в котором для передачи сиг- нала одного канала используются два аналоговых ключа (рис. 3.25). Рис. 3.24. Функциональная схе- ма мультиплексора напряжения с переключателями тока Рис. 3.25. Функциональная схема муль- типлексора напряжения в милливоль- товом диапазоне Входные напряжения, например, для первого канала цвх1 и uBXi, через ключи КЛЦ и АТЛ подаются на входы буферных каскадов ОУ4 и ОУ2, работающих в режиме повторителей напряжения. С выходов повторителей напряжения поступают на вход ОУ3, работающего в режиме вычитающего усилителя. В результате выходное напряжение мультиплексора: пвых =-^ (2 + 1W и'вх, — ивх1 \ К4 / \ При полной идентичности каналов в схеме будут подавляться ме- шающие сигналы, совпадающие по фазе для обоих каналов. К таким помехам относятся наведенные сигналы из некоммутируемых (в дан- ный момент) каналов и источников питания, различные выбросы на- пряжений, связанные с процессом переключения ключей, смещение нулевого уровня сигнала в каналах и др. Необходимо отметить, что подавление медленно изменяющихся сигналов помех практически полностью определяется коэффициентом ослабления синфазного сиг- нала ОУ3, который может достигать значения 104—10Б. Степень по- давления быстро изменяющихся сигналов помех будет существенно зависеть от разброса паразитных емкостей в каналах, а также от час- тотных свойств операционных усилителей. Иногда необходимо применять мультиплексоры с числом каналов, равным нескольким десяткам и даже сотням. Однако рост числа ка- налов приводит к дополнительным ошибкам в передаче напряжения, обусловленным токами утечки запертых ключей. Рассмотрим влияние
10-канальные мультиплексор Рис. 3.26. Структурная схема двухступенчатого мультиплек- сора токов утечки -на примере схемы, приведенной на рис. 3.23, б. Токи утечки /Ут будут замыкаться на землю через прямое сопротивление замкнутого ключа, выходное сопротивление источника входных сиг- налов и входное сопротивление ОУ, создавая на входе усилителя па- дение напряжения Aw, которое для открытого канала эквивалентно статической помехе (на рис. 3.23, б показано направление токов утечки для замкнутого ключа Кл4). Напряжение Au = R3K(n—1)/Ут, где Ran = (#пр + ^и)^В]/(^пр + + ^вх). п ~ количество кана- лов. Обычно Явх > Ди > 7?пр, поэтому RSK ~ RB. Если использо- вать, например, интегральные ключи 190КТ1, у которых ток утечки /Ут = 50 нА при 25° С, то для 10-ка- нального мультиплексора при RB — = 10 кОм погрешность Aw = 4,5 мВ. С ростом температуры на 10°С эта по- грешность удваивается. Если /?ималб, то погрешность, обусловленная тока- ми утечки, будет ничтожно малой. При большом числе каналов (несколько десятков и сотни) для уменьшения статической ошибки целесообразно применять пирами- дальную структуру мультиплексора [12]. На рис. 3.26 приведена структурная схема 100-канального мультиплексора, выполненного в виде одиннадцати 10-канальных мультиплексоров. Для пирами- дального мультиплексора напряжение ошибки из-за протекания то- ков утечки Aw = Ra Ут, где k — количество ступеней; т — число каналов отдельного мультиплексора (для рассматриваемого случая k = 2, т = 10). Напряжение ошибки пирамидального мульти- плексора для Ra = 20 кОм, /Ут = 50 нА Aw = 9 мВ. При реали- зации мультиплексора по одноступенчатой структуре ошибка дости- гала бы 49,5 мВ. Входной ток ОУ /вх, создавая на сопротивлении R„ падение напряжения /ВХДИ, вносит дополнительную статическую погрешность. Быстродействие мультиплексоров определяется скоростью пере- ключения используемых ключей и длительностью стадий перезаряда паразитных емкостей схемы. На быстродействие существенно влияют суммарная паразитная емкость Спар, образованная в точке соедине- ния всех ключей, и входная емкость Свх ОУ (рис. 3.23, б). Перезаряд этих емкостей протекает через сопротивление замкнутого ключа Rnp и выходное сопротивление Ra. Длительность стадий перезаряда опре- деляется постоянной времени т = (RB + Дпр) (Спар + СВх)- При- менение ОУ на выходе мультиплексоров может также ограничивать их быстродействие, если ОУ имеет время установления больше, чем по- стоянная времени т. Для ключей, применяемых в мультиплексорах, необходимо выполнение следующего условия: время включения ключа должно превышать время выключения. При невыполнении этого усло- вия возможно закорачивание между собой отдельных источников вход: ного сигнала.
ультиплексоры могут быть построены на базе ИМС, выпускаемых промышленностью. Аналоговую часть их можно выполнить на основе любого из рассмотренных ранее типов ключей, но особенно широко для этой цели применяются ключи на полевых транзисторах. В качестве примера рассмотрим интегральные мультиплексоры типов К564КП1 и К564КП2, выполненные на КМОП-транзисторах [4]. Сдвоенный четырехканальный мультиплексор К564КП1, состоя- щий из дешифратора на два входа и восьми двунаправленных ключей.. Рис. 3.27. Схема интегрального мультиплексора типа К564КП1 Рис. 3.28. Схема интегрального мультиплексора типа К564КП2 соединенных в две группы, осуществляет коммутацию как аналого- вых, так и цифровых сигналов (рис. 3.27). В зависимости от значе- ний цифровых сигналов на входах А и В дешифратора открывается одна из четырех пар каналов и соединяются соответствующие входы с выходами. При подаче высокого уровня напряжения на вход С де- шифратора все ключи мультиплексора оказываются запертыми. ИМС К564КП2 является восьмиканальным мультиплексором (рис. 3.28), аналогичным микросхеме К564КП1. По значениям циф- ровых кодов на входах А, В и С открывается один из восьми каналов и соответствующие сигналы передаются на выход. Высокий уровень напряжения на входе запрета D соответствует запертому состоянию всех ключей. Диапазон изменения коммутируемого напряжения микро- схемами ±7,5 В. § 3.4. АНАЛОГОВЫЕ КОМПАРАТОРЫ НАПРЯЖЕНИЙ Эти компараторы входят в состав любого АЦП и во многом опре- деляют его параметры. Компараторы сравнивают входное напряже- ние «Вх с пороговым значением UnoP и формируют выходной логи- ческий сигнал 1 или 0 в зависимости от знака разности сравнивав-
мых сигналов. Типовой компаратор имеет дза входа для аналоговых сигналов йвхи U пор и выход двоичного сигнала. Таким образом, ком- параторы можно рассматривать как линейно-дискретные схемы. Компараторы напряжения характеризуются рядом параметров, важнейшими из которых являются чувствительность, быстродействие, нагрузочная способность. Под чувствительностью, или разрешающей способностью, пони- мают минимальную разность входных аналоговых сигналов, при кото- рой компаратор вырабатывает выходной сигнал, соответствующий Рис. 3.29. Статические характеристики идеаль- ного (а) и реального (6) компараторов иеых ,Z7 ° u6x~Unop Рис. 3.30. Зона смеще- ния точки срабатывания компаратора переходу схемы из одного логического состояния в другое. На рис. 3.29 приведены статические характеристики нвых = —^пор! иде- ального и реального компараторов. В идеальном компараторе (рис. 3.29, а) выходной логический сигнал формируется в момент ра- венства сравниваемых напряжений (нвх = t/nop). Разрешающая способность реального компаратора (рис. .3.29, 6) Анк является функцией коэффициента усиления и величины логического перепада выходного напряжения. Для компараторов с коэффициентом усиле- ния сотни тысяч и логическим перепадом единицы вольт значение Аггк составляет десятые доли милливольта. Значение Ацк, получен- ное из статических характеристик, определяет точность работы ком- паратора без учета влияния других источников погрешностей. Ста- рение элементов схемы, изменение температуры окружающей среды, дрейф входных токов, воздействие флюктуационных шумов и влияние ряда других факторов приводят к дополнительным погрешностям ра- боты компаратора. Точка срабатывания компаратора под воздейст- вием перечисленных факторов будет смещаться в пределах некоторой зоны неопределенности Ацн (рис. 3.30), ширина которой и определя- ет чувствительность компаратора. Быстродействие компаратора определяется интервалом времени, отсчитанным от момента подачи на вход скачкообразного напряжения до момента достижения выходным сигналом значений, соответствую- щих уровням логической I или 0 (в зависимости от начального состоя- ния схемы). Различают время включения /в£л (длительность стадии перехода схемы из состояния логического 0 в 1) и время выключения 4ыкл (длительность стадии перехода из состояния логической 1
в 0) компаратора. Для симметричных схем /Йкл = /выкл- Время переключения современных интегральных компараторов составляет десятки наносекунд. Нагрузочная способность определяется количеством цифровых схем, которые можно одновременно подключить к выходу компаратора. По уровням выходного напряжения интегральные компараторы можно сопрягать с логическими элементами ИС. Как отмечалось, аналоговые компараторы выполняют функции сравнения входных напряжений, усиления их разности и выработки цифровых выходных сигналов. Эти функции могут быть выполнены с помощью операционных усилителей. Простейшим компаратором напряжения может служить ОУ без обратных связей, на входа! ко- торого подано опорное и входное напряжения (рис. 3.31, а). Такой компаратор позволяет сравнивать сигналы одинаковой полярности. Когда сигналы пвх и 67пор, подаваемые на разные входы, уравнива- ются, выходной сигнал должен быть равен нулю (рис. 3.31, б). При этом значения сигналов нвх и Uпор не должны превышать допусти- мые уровни синфазного входного напряжения для данного типа ОУ. Недостатком такой схемы является несовместимость уровней выход- ного напряжения со стандартными уровнями цифровых интеграль- ных схем. Для согласования уровней напряжения в схему вводят или нелинейный двухполюсник, включаемый между выходом и инверти- рующим входом усилителя [2, 12], или диодный ограничитель (рис. 3.31, в). Напряжение с выхода ОУ ограничивается с помощью диодов Д4, Д2 и резистора R3 на уровнях —0,6 и +3,6 В (рис. 3.31, г), Поэтому сигналы от компаратора можно непосредственно подавать на входы низкоуровневых цифровых ИМС (например, ТТЛ-схем). Эти компараторы имеют недостаточно высокое быстродействие (единицы микросекунд) и требуют подключения внешних дискретных коррек- тирующих элементов к ОУ (на рис. 3.31 они не показаны).
Компараторы на основе ОУ могут быть построены с положитель- ной обратной связью (рис. 3.31,5) между выходом и неинвертирую- щим входом (регенеративные компараторы). Отличительной особен- ностью их является наличие гистерезиса передаточной характеристи- ки, который ограничивает достижимую точность сравнения сигналов. Рис. 3.32. Интегральный компаратор 521СА2: а — принципиальная схема; б, в — переходные характеристики при различных значениях входного дифференциального сигнала Однако наличие гистерезиса в ряде случаев является желательным, так как позволяет избавиться от влияния помех на уровень срабаты- вания компаратора [2, 12]. Наиболее распространены интегральные компараторы, выполнен- ные на основе одного или нескольких дифференциальных усилитель- ных каскадов на биполярных транзисторах. Компараторы в интеграль- ном исполнении компактны, надежны, потребляют небольшую мощность, имеют высокую чувствительность и малое время пере- ключения [3, 4, 12 , 24, 25, 36, 70]. Рассмотрим основные параметры и свойства некоторых интеграль- ных компараторов. Принципиальная схема компаратора 521СА2 приведена на. рис. 3.32, а. Она состоит из двух дифференциальных усилительных каскадов, выходного эмиттерного повторителя, схемы перевода парафазного сигнала в синфазный, цепей сдвига уровня и ограничения амплитуды выходного напряжения. Первый усилитель- ный каскад выполнен на транзисторах 7\, Tz, Т3 и резисторах R2,
₽з- Эмиттеры транзисторов 7\ и Т2 подключены к генератору стабиль- ного тока (ГСТ), благодаря чему коллекторные токи этих транзисторов почти не зависят от синфазного входного сигнала. Диодно-резистивная цепь подачи смещения на ГСТ содержит резисторы /?4, R5 и тран- зистор Т4 в диодном включении. В состав второго дифференциального усилителя входят транзисторы Т5, Т6, резисторы R6, R7, Rs, стабили- трон Д1 с опорным напряжением 6,2 В. Стабилитрон Д1 осуществля- ет фиксацию'потенциалов баз транзисторов Тъ, Т6 на уровне +6,9 В и этим ограничивает допустимое значение входного сигнала на уровне 7 В. С помощью эмиттерного повторителя на транзисторе Т7 осущест- вляется управление вторым каскадом полным дифференциальным сиг- налом, выделенным в первом каскаде между коллекторами транзисто- ров 7\и Т2. Выходной сигнал снимается с эмиттерного повторителя, выполненного на Т9. Нижний уровень выходного сигнала, примерно равный нулю, устанавливается с помощью стабилитрона Д2. Высокий уровень выходного напряжения не превосходит +4 В. При превы- шении уровня +4 В открывается транзистор Те, который и замыкает дифференциальный выход второго каскада. Транзистор Ti0 образует буферный каскад, исключающий влияние изменений тока нагрузки на цепь смещения, так как база этого транзистора подключена к по- тенциалу земли.. Схема рассчитана на работу от двух источников на- пряжения + 12 В± 10% и —6 В±10%. Основным назначением компаратора 521СА2 является сравнение напряжения сигнала с опорным напряжением, регулируемым в широ- ком диапазоне. Выходные сигналы с компаратора могут подаваться непосредственно на входы ТТЛ-схем. На рис. 3.32, б, в приведены передаточные характеристики компаратора для различных значений Таблица 3.1 Параметры компараторов Типы компараторов К597 521СА1 521СА2 521 САЗ 521СА4 Напряжение смещения ну- ля, мВ 2 1 3 6 2 Входной ток, мкА 25 25 0,1 2 10 Разность входных токов, мкА 1 3 0,01 0,5 1,0 Предельно допустимое диф- ференциальное входное напря- жение, В 5 5 5 44 Предельно допустимый ди- апазон синфазных входных на- пряжений, В Коэффициент усиления по напряжению 5 5 14 6 2,7 1500 1200 200 000 5000 — Время задержки включе- ния (выключения), нс 55 60 200 16 12 Потребляемая мощность, мВт 130 160 80 100 400
входного дифференциального напряжения (2, 5, 10, 20 мВ) при опор- ном напряжении 100 мВ. Основные параметры компаратора 521СА2 приведены в табл. 3.1. Интегральная микросхема 521СА1 (рис. 3.33) содержит два ком- паратора, каждый из которых по своим параметрам близок к компа- ратору типа 521СА2. Выходные сигналы отдельных компараторов ИМС 521СА1 объединены на общем выходе в соответствии с логической операцией ИЛИ. Особенностью компаратора 521СА1 является воз- можность стробирования сигналов, снимаемых с выходов отдельных компараторов. Сигналы стробирования на вход Земля -£к Строб 2 Рис. 3.33. Схема включения двойного интегрального компа- ратора 521СА1 компаратора можно подавать непосредственно с выходов низкоуровневых цифровых ИМС (ДТЛ, ТТЛ). Если на входы стробирования подан нулевой сигнал, выходной сигнал компа- ратора равен нулю. При подаче на стробирую- щие входы напряжения -|-4 В на общем выходе компаратора будет напряжение порядка +3,3 В, если хотя бы на одном из выходов отдельных компараторов напряжение соответствует высо- кому уровню. ИМС 521СА1 широко применяется благодаря двухканальной структуре и возмож- ности стробирования выходных сигналов. Основ- ные параметры схемы см. в табл. 3.1. Компаратор 521 САЗ может работать совмест- но с цифровыми ИМС, выполненными как на биполярных, так и на полевых транзисторах (ДТЛ-, ТТЛ-, ЭСЛ-, МОП-схемами). Входные токи его малы (не более 100 нА), что позво- ляет получать более высокую точность срабатывания компаратора. ИМС 521САЗ имеет несколько меньшее по сравнению с ранее рас- смотренными компараторами быстродействие (см. табл. 3.1). Ком- паратор может работать как от источников питания Е = +15 В и Е = —15 В, так и от одного источника Е = +5 В. С параметрами и особенностями применения других типов компа- раторов (например, К521СА4, КМ597СА2, КР597САЗ, КМ597САЗ) можно ознакомиться в [25, 36]. | 8.В. СХЕМЫ ВЫБОРКИ И ЗАПОМИНАНИЯ АНАЛОГОВЫХ СИГНАЛОВ Схемы выборки и запоминания применяются для фиксации мгно- венных значений быстройзменяющихся аналоговых сигналов на вре- мя, необходимое для последующих преобразований этих значений с помощью АЦП в цифровой код. Применение таких схем позволяет снизить динамическую погрешность преобразования, вызванную ко- нечным временем срабатывания АЦП. Основным требованием, предъ- являемым к устройствам выборки и запоминания, является высокая точность записи и хранения аналогового сигнала и малое время вы- борки.
На практике широко применяются схемы, основанные на принци- пе хранения заряда на конденсаторе (рис. 3.34). В режиме выборки ключ К замкнут, напряжение на конденсаторе С почти полностью повторяет входное напряжение (разница напряжений определяется постоянной времени цепи заряда конденсатора). Когда ключ разом- кнут (режим запоминания), напряжение на конденсаторе будет незна- чительно изменяться только под действием токов утечки и сопротив- ления нагрузки R„. Таким образом, напряжение на выходе схемы в Рис. 3.34. Структурная схе- ма выборки и запоминания интервале между двумя выборками равно с точностью до ошибок фиксации и хранения мгновенному значению входного сигнала в момент окончания выборки. На рис. 3.35, а приведена простая схема выборки и запоминания напряжения, сос- тоящая из ключа на МОП-транзисторе, за- рядного конденсатора С и повторителя напряжения на операционном усилителе. При подаче импульса выборки отрицатель- ной полярности ключ полностью открывается и конденсатор заряжа- ется под действием входного напряжения (рис. 3.35, б). Принимая в интервале выборки входное напряжение постоянным и равным t/BX, получим U1^вх (0)1 ® ‘«и + ^пр> с • Напряжение ис в момент окончания действия импульса выборки будет отличаться от напряжения t7BX на значение Д«г = [г/вх —wc(0)]e iR* + Rm>>c, где ис(0) — начальное напряжение на конденсаторе; Ди — выход- ное сопротивление источника входного напряжения; Rnp — сопро- тивление проводящего ключа; tB — длительность импульса выборки. Значение Лил называют ошибкой недозаряда конден- сатора. Для других видов входного сигнала ошибка Aut имеет дру- гие функциональные зависимости. По заданному значению ошибки Aut и времени выборки tB можно определить максимально допустимое значение емкостей С. Для уменьшения сопротивления зарядной цепи необходимо применять ключи с небольшим прямым сопротивлением п входные буферные каскады с малым выходным сопротивлением. После окончания действия импульса выборки конденсатор С нач- нет разряжаться токами утечки МОП-транзистора и конденсатора, а также входным током операционного усилителя. Скорость измене- ния напряжения на конденсаторе ducldt = IУт/С, где /Ут — сум- марный ток утечки, протекающий через конденсатор. Напряжение на емкости в стадии запоминания изменится на Ди2 » ^ут4ап/С. где 4ап — длительность стадии запоминания. Для обеспечения длитель- ного времени запоминания при заданных значениях ошибки А«2 и
емкости С необходимо применять элементы схемы с малыми утечками. Этому требованию наиболее полно отвечают металлопленочные кон- денсаторы с диэлектриком из полистирола и фторопласта и ключи на униполярных транзисторах с изолированным затвором. Входные токи современных операционных усилителей с полевым транзисторами на входе составляют единицы наноампер. Погрешность напряжения на емкости С создается также из-за прохождения импульса выборки через паразитные емкости ключа при переходе схемы из режима вы- борки в режим запоминания. Значение погрешности зависит от кру- тизны фронта и амплитуды импульса выборки, а также от отношения Рис. 3.35. Простейшая схема выборки и запоминания: а — принципиальная схема; б — временная диаграмма процессов в схеме проходной емкости ключа и емкости зарядного конденсатора. Подроб- ный анализ указанного типа погрешности приведен в [12, 401. Отме- тим, что одним из эффективных методов уменьшения погрешности переключения является применение аналоговых ключей на КМОП- транзисторах, рассмотренных в § 3.2 (рис. 3.19). Как отмечалось, на входе и выходе схемы выборки и запоминания, приведенной на рис. 3.35, а, необходимы буферные каскады. Однако такие каскады имеют значительный временной и температурный дрейф напряжения смещения и недостаточно стабильный коэффициент уси- ления в диапазоне уровней передаваемого сигнала. Очевидно, что ука- занные ошибки приведут к увеличению погрешности записи входного напряжения в стадии выборки. Влияние буферных каскадов на точ- ность записи напряжения можно уменьшить путем введения глубокой отрицательной обратной связи [12, 40, 70]. На рис. 3.36 приведен пример схемы выборки и запоминания с отрицательной обратной связью. В режиме выборки ключевой транзистор полностью открыт, петля отрицательной обратной связи замкнута и выходное напряжение отличается от входного только на значение напряжения смещения нуля ОУ. В этом режиме схема выполняет функции обычного повто- рителя напряжения. Схема имеет малый уровень дрейфа, так как напряжение смещения буферного каскада на транзисторе Т2 умень- шается в К раз, где К — коэффициент усиления ОУ в разомкнутом состоянии. В режиме запоминания транзистор Tt заперт и относитель- но длительное хранение напряжения на конденсаторе обеспечивается
Рис. 3.36. Схема выборки и запоминания с отрицательной обратной связью достаточно большим входным сопротивлением истокового повтори- теля. С другими типами схем выборки и запоминания можно озна- комиться в [12, 40 , 70]. Отметим, что быстродействие и точность работы схем выборки и запоминания существенно зависят от величины емкости зарядного конденсатора. С одной стороны, емкость должна быть достаточно ма- лой, чтобы быстро зарядить конденсатор до величины входного на- пряжения в стадии выборки, а с другой — достаточно большой, чтобы обеспечить малые погрешности спада напряжения в стадии запоминания. Вли- яние емкости зарядного конденсатора на указанные характеристики может быть уменьшено, если применить двух- каскадную структуру схемы выборки и запоминания [12]. В первом каскаде ис- пользуются накопительный конденсатор небольшой емкости и импульс выборки малой длительности, что обеспечивает быстрый заряд емкости, во втором — накопительный конденсатор значитель- но большей емкости и импульс выборки большой длительности. Это позволяет увеличить время хранения напряжения при заданной ошибке разряда конденсатора. Каскады включаются последовательно и заряд конденсатора второго каскада осуществля- ется выходным напряжением первого. § 3.6. ЦИФРО-АНАЛОГОВЫЕ ПРЕОБРАЗОВАТЕЛИ К ОД—И А П Р Я >!< ЕН И Е Рассмотрение принципов построения устройств цифро-аналого- вого преобразования сигналов начнем с преобразователей код — напряжение (ПКН), так как они являются основой для построения более сложных устройств обратного преобразования напряжение—код. При этом рассмотрим только преобразователи па- раллельного двоичного кода в напряжение, которые широко распро- странены на практике. Смысл рассматриваемого преобразования состоит в выработке напряжения U на выходе ПКН, пропорционального входному двоич- ному числу N. Используя известную форму представления двоичных чисел и—1 N = а02° + + . . . +Оп_, 2"’1 = at 2', запишем операцию, выполняемую ПКН, в виде Л—I Л—1 и {N) = N = Umm V-Ц at = V щ ah (3.5) '*max 1 i—O г=0
где отношение максимального выходного напряжения(7тах к мак- симальному входному числу Nmax = 2” —1 играет роль масштабного коэффициента, определяемого как напряжение, соответствующее еди- нице ВХОДНОГО ЧИСЛа (Т. е. 7/(1) (7max/TVmax). Из выражения (3.5) следует, что операция преобразования код- напряжение сводится к суммированию элементарных напряжений Щ = ПП1ах 2'7(2" - 1)« 7/тах/2"-‘ = £/тах (3.6) которые образуются путем деления некоторого эталонного напряжения (7щах с помощью резистивных делителей с коэффициентом передачи /(г = При этом из опера- ции суммирования исключаются те ,2ft слагаемые w,, которые соответству- ют нулевым значениям элементов at, составляющих входное двоич- ное число ... й1По}. Для реализации этого принци- па преобразования на практике используются две разновидности схем, представленные на рис. 3.37. Первую схему (рис. 3.37, а) назы- вают ПКН сдвоично-взве- Рис. 3.37. Схемы ПКН с двоично- взвешенными резистивными цепями (а) и с многозвенной резистивной цепью типа R—2R (б) ш е н н ы м и резистивными цепя- ми (или схемой с суммированием напряжений), а вторую (рис. 3.37, б) — ПКН с многозвенной резистивной цепью типа R—2R. В обеих схемах при появлении единицы в t-м разряде двоичного числа эталонное напряжение Umax проходит через соответствующий замкнутый ключ и резистивную цепь на выход. Различие этих схем заключено в том, как формируется требуемый коэффициент деления эталонного напряжения с помощью резистивной матрицы. В первой схеме (рис. 3.37, а) при at = 1 коэффициент передачи напряжения К, = определяется отношением проводимости У1 = 1/Rt к суммарной проводимости всей цепи у$ = ^t/f. Значения i=0 сопротивлений Rt в этой схеме задаются следующим образом: Rn_t = = R, Rn-2 = 27?...... Ri = 2"-1-1/?... Ro = 2n-17?. Тогда (n—i— 1) 2 / — (так R как 2" > 1) и, следовательно, Ki = Ut/Uma* = уУУ^ — U2n~l. Это значит, что заданная совокупность сопротивлений в схеме на рис. 3.37, а удовлетворяет соотношению (3.6), которое определяет правило форми- рования коэффициентов передачи эталонного напряжения на выход ПКН.
Во второй схеме ПКН (рис. 3.37, б) необходимый коэффициент передачи эталонного напряжения образуется с помощью многозвен- ного делителя напряжения. Эквивалентные схемы такого делителя, полученные последовательным преобразованием с использованием известной теоремы об эквивалентном генераторе, показаны на рис. 3.38 для случая а, = 1, aj+i = 0 (первые шаги преобразования поясня- ются штриховыми линиями на рис. 3.38, а). Из этих схем видно, что коэффициент передачи напряжения от любого звена к последующему равен 1/2, за исключением последнего звена (рис. 3.38, в), где коэф- фициент равен 1/3. Результирующий коэффициент передачи от /-го звена на выход ПКН >z _ „ it, 1/1 \n-i-i 2 / 1 \n~i Л,- UjJUmax • I I — I I • (3-7) o \ Z j 6 \ ] Таким образом, схема рис. 3.37, б также обеспечивает требуемое правило формирования коэффициентов, определяемое соотношением (3.7). Такая схема имеет коэффициент использования эталонного на- пряжения, равный 2/3, в отличие от схемы рис. 3.37, а, в которой этот коэффициент равен 1.Это следует из того, что максимальное зна- чение выходного напряжения ПКН, соответствующее максимальному входному числу /Vmax (когда а, = 1 для всех i = [0, п—1]), опре- деляется как , и—1 И—1 U (/Vmax) = Ui = i=0 i=0 и для первой схемы (рис. 3.37, а) равно UmZK, а для второй (рис. 3.37, б) — ^Лпах 2/3. Однако, несмотря на этот недостаток и на большее число элементов схемы, преимуществом схемы ПКН с резистивной цепью типа 7?—27? Рис. 3.38. Эквивалентные схемы ПКН, изображенного на рис. 3.37: а — исходная схема при of=?fct-=0, 6 — ре- зультат замены (7+1) звеньев (слева от штрихо- вой линии на рис. 3.38, а) эквивалентным гене- ратором; в—результат последовательной замены всех звеньев, кроме последнего является то, что для выпол- нения такой схемы требуется всего два номинальных зна- чения сопротивлений (в отли- чие от схемы рис. 3.37, а, которая требует п значений сопротивлений). Это сущест- венно упрощает практичес- кую реализацию таких схем, особенно при большой раз- рядности ПКН, когда предъ- являются высокие требования к точности подбора сопро- тивлений. Поэтому схемы ПКН, использующие резис- тивные цепи типа R—2R, широко применяются на прак- тике, причем подобные резис- тивные цепи выполняются в
виде интегральных микросхем (например, серии 252, 265, 301 [63]). Одной из важнейших задач, связанных с разработкой и примене- нием ПКН, является обеспечение требуемой скорости преобразова- ния, или быстродействия схемы. Это важно тогда, когда ПКН явля- ется элементом более сложных устройств, например преобразователей напряжения в код, характеристики которых в значительной степени зависят от характеристик используемых в них ПКН. В рассмотренных схемах ПКН (см. рис. 3.37) время выполнения операции преобразования определяется быстродействием ключевых схем и переходными процессами в резистивных цепях, обусловленными. Рис. 3.39. Схемы ПКН на основе принципа суммирования токов, аналогичные схемам на рис. 3.37 наличием паразитных емкостей. Второй фактор для этих схем является основным, так как значения сопротивлений обычно выбирают доволь- но большими, чтобы пренебречь погрешностями, вносимыми конеч- ным сопротивлением электронных переключателей. Следует заметить, что схема рис. 3.37, б обладает более низким быстродействием, чем схема рис. 3.37, а, так как содержит больше паразитных емкостей и в ней используется многозвенный принцип передачи напряжения. Этот недостаток схемы с резистивной цепью типа 7?—2R вместе с дру- гими отмеченными недостатками (большее число элементов и мень- ший коэффициент использования напряжения) является причиной того, что схеме с двоично-взвешенной резистивной цепью нередко от- дается предпочтение в практических приложениях. Для обеспечения более высокой скорости преобразования на прак- тике используются схемы ПКН, основанные на принципе суммиро- вания токов. На рис. 3.39 приведены две таких схемы, которые от- личаются от рассмотренных расположением ключевых элементов и на- личием операционного усилителя с отрицательной обратной связью. Благодаря большим значениям коэффициента усиления и входного со- противления операционного усилителя можно считать, что напряже- ние на его входе и ток во входной цепи близки к нулю. Следовательно, все токи ik (k = [0, п—1]), текущие через элементы резистивной
цепи, уравновешиваются током 1Ос, текущим в цепи обратной связи, и выходное напряжение ПКН равно п—1 U.(N) = /?ос/ос = ak ik, (3.8) fe=0 т. е. операционный усилитель выполняет операцию суммирования то- ков, которые определяются значениями сопротивлений в тех разря- дах ПКН, где ah = 1. этом п—1 (3.9) Рис. 3.40. Эквивалентные схемы ПКН, изображенного на р-ис. 3.39: а — исходная схема при ofe=l, a/:?fcfe=0. б — результат замены части исход- ной схемы (слева от штриховой линии) эквивалентным генератором к В первой схеме (рис. 3.39, а) сопротивления выбирают согласно правилу Rk = Rn_i2n-k-\ При п—1 Rk .. . ____ /г=0 fe—0 т. е. выполняемая этой схемой операция есть операция преобразова- ния двоичного кода в напряжение, описанная ранее с помощью вы- ражений (3.5), (3.6). Во второй схеме (рис. 3.39, 6) ток ik, текущий через Л-й замкну- тый ключ при ak = 1 и aj+h = 0, можно определить с помощью экви- валентных схем, изображенных на рис. 3.40, где переход от рис. 3.40, а к рис. 3.40, б выполнен путем замены всех звеньев слева •от штриховой линии эквивалентным генератором с напряжением п;,+) и внутренним сопротивлением Rk+i- По схеме на рис. 3.40 можно составить рекуррентные соотношения „ 2R р 2R(Rk+1 + R) к М Rft+i + 3R ’ k Rft+i + 3fl ’ из которых следует, что i — U,! = uk+i __ 1 £ h Rk + 2R 2Rk+l+4R 2 h+1‘ Это значит, что токи двух соседних разрядов ПКН отличаются в два раза, причем в самом старшем разряде, как видно из рис. 3.40, ток in_i = UmaK/2R. Таким образбм, для этой схемы получаем соотно-
шение = 2^-, подстановка которого в (3.8) дает тот же самый результат (3.9), что и при анализе преды- дущей схемы (здесь нужно учесть, что Rn_t = 2R). Полезно заметить, что в схемах рис, 3.39 с помощью сопротивления Roc можно менять масштаб преобразования, т. е. коэффициент /Спр = U(Nmax)/Umax = = 2Roc/Rn-t- В частности, при Roc = R = Rn-t/2 получаем Л'пр = 1. Преимуществом схем ПКН, использующих принцип суммирова- ния токов (по сравнению со схемами на рис. 3.37), является их более высокое быстродействие. Это объясняется тем, что в этих схемах токи, проходящие через резисторы, практически не меняются при измене- нии состояния ключей, так как входные напряжение и ток операци- онного усилителя близки к нулю. В этих схемах время преобразова- ния определяется быстродействием ключевых элементов и частотными свойствами операционного усилителя. Однако такие ПКН отлича- ются более сложной схемой электронных переключателей, так как здесь необходимо осуществлять коммутацию слабых электрических сигна- лов во входной цепи операционного усилителя, изолированной от земли и источника питания. Поэтому на практике подобные схемы применяются лишь в тех случаях, когда заданные высокие требования к скорости преобразования не могут быть удовлетворены с помощью более простых устройств. § 3.7. АНАЛОГО-ЦИФРОВЫЕ ПРЕОБРАЗОВАТЕЛИ НАПРЯЖЕНИЕ—КОД Устройства, называемые преобразователями напря- жение — код (ПКН), отличаются большим разнообразием ва- риантов исполнения, в основе которых лежат три известных прин- ципа преобразования, определяющих алгоритм функционирования и структуру соответствующих устройств: 1) последовательного счета; 2) поразрядного кодирования и 3) считывания [201. Согласно этой классификации рассмотрим три основные разновидности схем ПНК. Принцип последовательного счета реализуется с помощью схемы, изображенной на рис. 3.41. Он состоит в сравнении входного напря- жения (7ВХ с последовательно нарастающим эталонным напряжением Ue(t), представляющим собой сумму «квантов» Ди, которые опреде- ляют погрешность преобразования. Ступенчатое напряжение формируется с помощью ПКН и двоичного счетчика СТ, последова- тельно изменяющего свое состояние начиная от момента обнуления tH, соответствующего началу операции преобразования. В момент совпадения эталонного напряжения U3(th) = Nku с входным напря- жением UBX (с точностью до «кванта» Af7) схема сравнения вырабаты- вает импульс, останавливающий счетчик путем подачи запрещаю- щего сигнала с триггера Т на схему совпадений, пропускающую на счетчик импульсы тактового генератора G. Этот момент времени (обо- значенный на рис. 3.41 4) соответствует окончанию операции пре- образования.
Погрешность преобразования в такой схеме определяется значе- нием которое в свою очередь, зависит от точности ПКН и чув- ствительности схемы сравнения. Диапазон преобразования определя- ется разрядностью счетчика и ПКН, так как максимально допустимое значение входного напряжения fAnax = До (2я—1) » До2я. Основным недостатком ПКН, использующих принцип последова- тельного счета, является сравнительно большое время преобразова- ния, зависящее от входного напряжения и быстродействия счетчика Рис. 3.41. Схема ПКН, основанная на принципе после- довательного счета (а), и поясняющие временные диа- граммы (б) и ПКН. В предельном случае, когда входное напряжение макси- мально, т. е. Г/Вх = Ди2”, а время переключения счетчика Д(, пол- ное время преобразования 7\1р, характеризующее быстродействие ПНК, определяется как ТПр = &t2n. Указанный недостаток в значительной мере компенсируется тем, что подобные схемы являются наиболее простыми из всех возможных разновидностей ПНК. Поэтому такие ПНК широко применяются на практике, когда требование быстродействия не является определяю- щим, особенно в многоканальных и следящих ПНК 120]. Вариантом схемы ПНК, основанной на принципе последователь- ного счета, является также известная схема с промежуточным пре- образованием напряжения во временной интервал и последующим преобразованием этого интервала в код [20]. Эта схема отличается от схемы на рис. 3.41 тем, что в ней вместо ПНК используется ана- логовый генератор линейно изменяющегося напряжения (ГЛИН), который запускается в .момент начала преобразования tH. Работа этой схемы полностью аналогична работе схемы на рйс. 3.41 и не требует дополнительных пояснений. Ее существенная особенность заключа- ется в том, что роль эталонного напряжения в ней играет выходное напряжение ГЛИН. В связи с этим к выходному напряжению ГЛИН предъявляются высокие требования линейности и стабильности. По- этому сфера применения таких схем ограничена в связи с появлением элементов ПКН в интегральном исполнении. Принцип поразрядного кодирования состоит в формировании циф- ровым способом эталонного напряжения Ug путем последователь- ного приближения его к входному напряжению t7BX. Этот принцип
поясняется структурной схемой (рис. 3.42, а) и графом переходов (рис. 3.42, б), который отражает алгоритм управления состоянием регистра памяти (РП), необходимый для реализации метода последо- вательного приближения эталонного напряжения, снимаемого с вы- хода ПКН. Узлы графа на рис. 3.42, б характеризуют состояние ре- гистра РП, т. е. содержащееся в нем двоичное число в каждый момент сравнения напряжений Us и Пвх. Направление перехода задается устройством управления (УУ) в зависимости от выходного сигнала уст- ройства сравнения (УС). В начальный момент времени (момент Рис. 3.42. Структурная схема ПНК, основанная на принципе поразрядного кодирования (а), и граф переходов (б): ГТИ — генератор тактовых импульсов; УС—устройство сравнения; У У — устройство управ- леиия; РП — регистр памяти; ПКН — преобразователь код — напряжение запуска схемы) регистр устанавливается в состояние 10—0, при ко- тором значение Ug определяется весом старшего разряда выходного двоичного числа N. Затем осуществляется п тактов последовательного приближения напряжения U3 к значению входного напряжения 17вх. На каждом такте возможно два исхода, два управляющих воздейст- вия, изменяющих состояние регистра (см. обозначения на ветвях графа): 1) если ИЭ<;ПВХ, то производится установка очередного младшего разряда в 1 при сохранении состояния всех предшест- вующих старших разрядов; 2) если Us> £/вх, то установка младшего разряда в 1 сопровождается сбросом предыдущего старшего разряда в 0. В результате, по истечении п тактов управления (где п — число разрядов регистра) эталонное напряжение 0э будет приближенно к £7ВХ с точностью до вклада самого младшего разряда, т. е. п—1 = ^вх» i=0 где и9[ — итах/2п~( — вклад z-го разряда в напряжение Ua на выходе ПКН, причем t/max характеризует максимальное преобразуе- мое напряжение; иэ0 = Umaxl2n — погрешность преобразования (т. е. вклад младшего разряда). Преимуществом рассмотренного принципа преобразования по срав- нению с принципом последовательного счета является значительно меньшее время преобразования, которое в данном случае определя- ется как 7пр = «Ар где At — длительность одного такта управления,
задаваемая генератором тактовых импульсов и соизмеримая сбыстро- действием элементной базы. Однако это достигается благодаря су- щественному усложнению схемы ПНК (по сравнению со схемой на рис. 3.41), которое заключено в устройстве управления. Типовая функциональная схема устройства управления в ПНК с поразрядным кодированием представлена на рис. 3.43. Пример выполнения такого устройства на серийных отечественных интеграль- ных микросхемах приведен в [20]. В этой схеме последовательная Рис. 3.43. Функциональная схема ПНК с поразрядным кодированием установка разрядов основного регистра памяти в единичное состоя- ние осуществляется с помощью управляющего регистра сдвига, на вход которого записывается 1 в момент начала преобразования tn (в этот же момент происходит установка в 1 старшего разряда основного регистра и обнуление всех остальных его разрядов). На каждом такте преобразования (задаваемом генератором G) сигнал с выхода схемы сравнения, вырабатываемый в случае превышения эталонным напря- жением входного (т. е. при Us > f7BX), проходит только через ту схе- му совпадений, на второй вход которой подается разрешающий сигнал с одного из разрядов сдвигающего регистра. При этом происходит сброс соответствующего разряда основного регистра в нулевое со- стояние. Затем происходит сдвиг разрешающего сигнала на вход сле- дующего (младшего) разряда, который в момент переключения этого сигнала (т. е. в момент сдвига) устанавливается в 1. Если на данном такте управления не выполняется условие Ua > UBX, то сигнал сбро- са не вырабатывается схемой сравнения и соответствующий разряд регистра остается в единичном состоянии. В течение п тактов проис- ходит последовательная установка в 1 или в 0 всех разрядов регистра в соответствии с графом переходов на рис. 3.42, б. Операция преобра- зования заканчивается в момент перехода управляющего единичного сигнала в последний разряд сдвигающего регистра, так как при этом
с помощью триггера Т вырабатывается сигнал запрета на схему сов- падений, пропускающую тактовые импульсы на вход регистра сдвига. Двоичное число N, пропорциональное входному напряжению {7Вх, снимается в виде параллельного кода {,an_tan_z ... а,а0} с выходного регистра после окончания преобразования. Таким образом, в рассмотренной схеме ПНК с поразрядным коди- рованием сокращение времени преобразования достигается усложне- нием схемы управления процедурой последовательного изменения во времени эталонного напряжения, формируемого цифровым способом. Рис. 3.44. Функциональная схема параллельного ПНК Повысить скорость преобразования в ПНК можно также, используя параллельный набор возможных значений эталонного напряжения вместо их последовательного чередования, характерного для обоих рассмотренных принципов преобразования. Это приводит к так назы- ваемому параллельному принципу преобразования, именуемому так- же принципом считывания. По принципу считывания схема ПНК, приведенная на рис. 3.44, содержит m резистивных делителей эталонного напряжения и столько же схем сравнения. Число ш определяется количеством дискретных значений преобразуемого напряжения в полном диапазоне преобра- зования, т. е. если максимальное значение напряжения Us, а допу- стимая погрешность преобразования Ду, то tn = £/э/Ди—1- Напря- жения эталонных делителей удовлетворяют соотношению U3i = = Ua’U(m + 1) = Ду/ для всех i = [1, mJ. Следовательно, если напряжение Uвх превышает значение U3t, то происходит срабаты- вание тех схем сравнения, на которые подаются эталонные напряже- ния UBi, Ugl, так как всегда Uat > £79,t-_i > ... > Uэ1. Выходные сигналы схем сравнения устанавливают в единичное сос- тояние соответствующие элементы m-разрядного запоминающего ре- гистра RG (предварительно все элементы регистра устанавливаются в «О» в момент начала преобразования tH). Таким образом, в регистре RG образуется число, пропорциональное t/BX, в виде единичного позиционного кода. В случае необходимости выполняется операция преобразования этого кода в параллельный двоичный код (для этого в схему на рис. 3.44 включен кодовый преобразователь, осуществляю-
щии прео разование m-разрядного единичного кода в «-разрядный двоичный код при условии tn = 2"—1). Ясно, что рассмотренный параллельный преобразователь обла- дает теоретически предельным быстродействием, так как входное на- пряжение за один шаг преобразования сравнивается с полным набо- ром эталонных дискретных значений на всем интервале изменения преобразуемого напряжения. Длительность такой операции преобра- зования определяется временем срабатывания сравнивающих уст- ройств и быстродействием цифровых элементов, составляющих запо- минающий регистр и кодовый преобразователь. Однако, это преимущество параллельных ПНК достигается ценой больших аппаратурных затрат, так как количество прецизионных Рис. 3.45. Структура двухэтапного последовательно-па- раллельного ПНК делителей напряжения, схем сравнения и элементов памяти в таких ПНК растет пропорционально 2", если п — число двоичных разрядов преобразователя. Поэтому на практике параллельный принцип пре- образования применяется только для построения быстродействую- щих ПНК малой разрядности. Многоразрядные ПНК с высоким быстродействием строятся чаще всего по последовательно-параллельному принципу, основанному на так называемом обобщенном методе считывания [20]. Этот принцип поясняется рис. 3.45 на примере двухэтапного последова- тельно-параллельного ПНК. Первый этап преобразования выполня- ется параллельным ПНК1, имеющим nj двоичных разрядов. В силу известной погрешности дискретизации ПНК1 после первого этапа преобразования образуется остаточное напряжение = £7ВХ — — Unl, где Unl — результат обратного преобразования поразряд- ного числа в напряжение (на рис, 3.45 эта операция выполняется с помощью ПКН1). Остаток ей, не превышает величины дискрета пре- образования Ду, = иэ/2П1. Этот остаток усиливается в К — 2"1 раз и подается на второй параллельный преобразователь (ПНК2), имеющий п2 двоичных разрядов. Посредством ПНК2 выполняется второй этап преобразования, результатом которого является двоич- ное число, представляющее младшие разряды выходного числа N, в котором старшие разряды образуются в результате первого этапа преобразования. Погрешность преобразования после второго этапа не превышает значения Ду, = Дщ/2"' = U д/2п'+п‘.
Аналогично производится дальнейшее наращивание этапов после довательно-параллельного преобразования. В случае г этапов пре- образования полная разрядность последовательно-параллельного Г ПНК П = 2 ni’ а объем аппаратурных затрат пропорционален Г п / ^-1 fl’ г п 2 2 1 I вместо 2" = 2 — fj2 ' для чисто параллельного 1 \ i=l ПНК разрядности п). Таким образом, последовательно-параллельный принцип преобразования позволяет существенно сократить аппара- турные затраты (по сравнению с параллельными) при незначительном ухудшении быстродействия, так как в этом случае полное время пре- образования определяется как сумма весьма малых длительностей всех этапов. ,
Глава 4 ПРОЕКТИРОВАНИЕ ЦИФРОВЫХ УСТРОЙСТВ ОБРАБОТКИ СИГНАЛОВ В РАДИОТЕХНИЧЕСКИХ СИСТЕМАХ § 4.1. ОСОБЕННОСТИ ПОСТРОЕНИЯ И ОСНОВНЫЕ УЗЛЫ РАДИОТЕХНИЧЕСКОЙ АППАРАТУРЫ ОБРАБОТКИ СИГНАЛОВ Рассмотренные в гл. 1—3 принципы построения цифровых и ана- лого-цифровых устройств являются основой для разработки более сложных узлов радиотехнической аппаратуры, выполняющих разно- образные функции обработки сигналов в РТС. При проектировании этих узлов важным этапом является переход от алгоритмического уровня к структурно-функциональному, т. е. построение структур- ных и функциональных схем разрабатываемых узлов исходя из ана- лиза физической сущности выполняемых ими алгоритмов обработки сигналов. На этом этапе проектирования возникают задачи, связан- ные с поиском рациональных схемотехнических решений, которые, с одной стороны, удовлетворяют возможностям их практической реа- лизации на имеющейся элементной базе, а с другой, не сопровожда- ются слишком большими упрощениями алгоритмических операций, рекомендуемых теорией обработки сигналов в РТС. Для решения по- добных задач необходимо сочетать теоретические знания по статисти- ческой теории обнаружения и оценивания параметров сигналов [15, 16, 53, 57] с практическими навыками схемотехнического проектиро- вания типовых устройств на современной элементной базе. Методика решения таких задач излагается в данной главе применительно к не- которым устройствам обработки сигналов, входящим в состав изме- рителей временных интервалов в импульсных РТС. Заметим, что эта методика может служить основой для рассмотрения других классов- РТС. Большое разнообразие практических задач, решаемых импульс- ными РТС, — задачи радиолокации, радионавигации, радиогеодезии, радиоуправления и т. д. — приводят к необходимости использования различных видов импульсных сигналов, из которых наиболее рас- пространены следующие (рис. 4.1, а—д): а) простейший периодиче- ский импульсный сигнал (с постоянной амплитудой); б) сигнал с мо- дуляцией амплитуды импульсов (в том числе с бинарной модуляцией, т. е. прерывистая импульсная последовательность); в) импульсный сигнал с модуляцией периода (характерный для РЛС с се- лекцией движущихся целей); г) сигнал с интервально-временным ко- дированием импульсов (используемый в многоканальных РТС); д) сиг- нал с внутриимпульсным кодированием (например, фазовой манипу- ляцией). В общем случае можно использовать различные сочетания указанных разновидностей. Вид применяемого в системе полезного сигнала существенно вли- яет на характер его обработки. Кроме того, важную роль в определе-
нии алгоритма оораоотки принимаемого сигнала играет характер ме- шающих воздействий. Влияние помех в импульсных РТС иллюстри- руется рис. 4.2, где изображён излучаемый периодический импульс- ный сигнал (рис. 4.2, а) и задержанный на ts принятый сигнал (рис. 4.2, б), имеющий в общем случае амплитудную модуляцию (обу- словленную, например, пространственной избирательностью вращаю- щейся антенной системы) и искаженный действием флюктуационных Рис. 4.1. Разновидности импульсных сигналов в РТС Рис. 4.2. Влияние помех в импульсных РТС и хаотических импульсных помех. Как видно из рис. 4.2, действие помех проявляется на выходе приемного устройства в виде искажений формы принимаемых сигналов, случайных пропаданий сигнальных импульсов (показаны штриховой линией) и в появлении добавочных мешающих импульсов со случайной амплитудой (может быть, очень большой, вызывающей перегрузку приемного тракта). Несмотря на все многообразие применяемых на практике разно- видностей импульсных сигналов и возможных искажающих воздей- ствий, обработка таких сигналов имеет ряд общих характерных осо- бенностей, которые приводят к единой структуре реальных РТС,, решающих задачу измерения неизвестного информационного пара- метра— времени_задержки tB. Эта структура изображена на рис. 4.3.
и подчеркивает тот факт, что задача измерения на практике включает в себя такие операции, как поиск и обнаружение сигнала, оценивание информационных параметров и контроль достоверности измеритель- ного процесса. Следует заметить, что основная (с точки зрения конеч- ного назначения системы) операция обработки — оценивание полез- ного параметра — в большинстве РТС выполняется с помощью сле- дящего измерителя. Он состоит из устройства селекции полезного сиг- нала, дискриминатора и сглаживающего фильтра-экстраполятора (см. рис. 4.3), которые обеспечивают требуемую точность измерений в условиях помех за счет сглажи- вания флюктуаций, обусловленных случайными искажениями прини- маемых сигналов. Задача управле- ния режимом работы измеритель- ной системы решается с помощью устройства контроля достовернос- ти, которое вырабатывает специ- альный управляющий сигнал в случае принятия решения о нару- шении измерительного процесса Рис. 4.3. Структура РТС измерения времени задержки сигнала: УПО — устройство поиска и обнаружения; ОУ — оконечное устройство; У КД — уст- ройство контроля достоверности, Д — ди- скриминатор; ФЭ — фильтр-экстраполя- тор, УС — устройство селекции Представленная на рис. 4.3 (например, под воздействием про- падания полезного сигнала), когда необходимо запретить вывод ре- зультатов измерений на оконечное устройство (разомкнуть ключ Л>2) и перейти в режим повторного по- иска и обнаружения сигнала (замк- нуть /<Л1). структурная схема отражает аппа- ратную реализацию основных операций обработки принимаемых сиг- налов в РТС. Такая реализация характерна для радиотехнических устройств, выполненных на интегральных микросхемах малого и среднего уровней интеграции и осуществляющих так называемую «жесткую» логику обработки. При выполнении таких уст- ройств на микропроцессорной элементной базе осуществляется про- граммная реализация выбранного алгоритма обработки, которую часто называют «мягкой» логикой обработки, так как алго- ритм может легко изменяться путем смены программы в памяти вы- числительного устройства. В тех случаях, когда это позволяют вычислительные возможности микропроцессорного комплекта, все указанные операции могут быть выполнены программным путем. Структурная схема программного алгоритма представлена на рис. 4.4. Рис. 4.3 и 4.4 иллюстрируют известную концепцию двойственности аппаратной и программной ре- ализаций [30], которая играет важную роль в связи с широким при- менением микропроцессорной элементной базы. Следует заметить, что особенности обработки радиотехнических сигналов в программном алгоритме на рис. 4.4 проявляются в операциях обмена данными меж- ду радиотехническим приемником и микропроцессорным вычисли-
Рис. 4.4. Блок-схема алгоритма обра- ботки сигнала в РТС измерения вре- менной задержки тельным устройством. Полностью программная реализация, соответ- ствующая структурной схеме на рис. 4.4, возможна только в том слу- чае, если эти операции обмена (включающие в себя операции аналого- цифрового преобразования), а также необходимые вычислительные операции могут быть выполнены в процессе поступления полезных сигналов с приемного устрой- ства, т. е. в реальном мас- штабе времени. На практике это важное условие согласования вычис- лительных возможностей МПК с длительностью и час- тотой поступления радиотех- нических сигналов выполня- ется лишь в очень редких случаях. Поэтому представ- ленный на рис. 4.4 програм- мный алгоритм обработки радиотехнических сигналов следует рассматривать как исключение в практике про- ектирования микропроцессор- ных РТС. Чаще всего в силу определенных технических ограничений приходится до- вольствоваться смешанной, аппаратно-программной реа- лизацией требуемого алгорит- ма. При этом наиболее быст- рые операции, такие, как поиск, обнаружение, селек- ция, дискриминирование и т. п., выполняются аппарат- ными средствами, а програм- мная часть состоит из сравни- тельно медленных вычисли- тельных операций со статис- тической обработкой мно- жества входных данных, поступающих из аппаратной части за длительный интервал Одна из возможных аппаратно-программных реализаций рассмат- риваемого алгоритма обработки сигналов в импульсных РТС пред- ставлена на рис. 4.5. Она дана в виде условной схемы взаимосвязей программного алгоритма с дополнительными аппаратными средства- ми, играющими роль внешних устройств по отношению к микропро- цессорному вычислителю, выполняющему программный алгоритм. Эта схема наглядно иллюстрирует тот факт, что практическая реали- зация микропроцессорных устройств обработки радиотехнических наблюдения.
сигналов, как правило, представляет собой ту или иную комбина- цию типового вычислителя на базе имеющегося в распоряжении МПК и специализированных внешних устройств. Эти устройства исполь- зуются для обеспечения согласования требуемого объема и скорости вычислений с вычислительными возможностями МПК. Они выполня- ются обычно на интегральных микросхемах малого и среднего уров- ней интеграции и являются дополнительными аппаратными сред- ствами, необходимыми для реализации разрабатываемого алгоритма на базе выбранного МПК. От приемного устройства ( начало ) УПО УС Аппаратная часть Включение режима поиска ♦ Ввод сигнала обнаружения Ввод начального значения * измеряемого параметра ♦ Включение режима измерения Сигнал Да обнаружен? вывод данных на устройство селекции ♦ Ввод данных а наличии сигнала Да Запрет вывода результатов -J Ввод данных об Ч измеряемом параметре | Алгоритм фильтрации | ♦ . Вывод результатов измерения Сигнал есть? Пет | Алгоритм контроля Программная часть ОУ Ф Рис. 4.5. Схема аппаратно-программной реализации алгоритма на рис. 4.4 (обозначения узлов, как на рис. 4.3)
Из рассмотренных типовых структурных схем радиотехнической аппаратуры обработки сигналов видно, что наиболее широко распро- страненными ее узлами являются следующие- устройства поиска и обнаружения сигналов, выполняющие операцию предаарительной грубой фиксации измеряемого параметра; устройства дискриминирова- ния (дискриминаторы), предназначенные для осуществления текущих отсчетов параметра, используемых в процессе дальнейшей фильтрации данных; устройства селекции, обеспечивающие работу дискримина- торов, имеющих ограниченную зону чувствительности по измеряемому параметру. Эти устройства являются неотъемлемыми составными час- тями РТС при полностью аппаратной реализации заданного алгорит- ма обработки сигналов (см. рис. 4.3) и могут рассматриваться как дополнительные аппаратные средства обработки при смешанной, ап- паратно-программной реализации (рис. 4.5). Следует заметить, что к дополнительным аппаратным средствам цифровых РТС можно от- нести также устройства аналого-цифрового и цифро-аналогового пре- образования (см. гл. 3), на которых не будем еще раз останавливаться, а рассмотрим наиболее важные и специфические узлы РТС —- уст- ройства поиска и обнаружения сигналов и устройства дискримини- рования. § 4.2. УСТРОЙСТВА ПОИСКА И ОБНАРУЖЕНИЯ ИМПУЛЬСНЫХ СИГНАЛОВ Одной из основных особенностей радиотехнических измерительных систем является необходимость предварительной селекции полезного сигнала, принимаемого на фоне различного рода помех, чаще всего флюктуационных и импульсных. Такая селекция основывается на определенных свойствах регулярности полезного сигнала, отличаю- щих его от стохастического мешающего фона и проявляющихся при продолжительном анализе принимаемой смеси сигнала и помех. Ре- зультатом этого анализа является, во-первых, принятие решения о наличии (или отсутствии) полезного сигнала на входе приемного уст- ройства, и, во-вторых, грубая оценка неизвестных параметров полез- ного сигнала, необходимая для упрощения последующей его обработ- ки . Первый результат завершает так называемую операцию об- наружения сигнала, а второй — операцию поиска неизвестного значения параметра. Обе операции, вместе взятые, часто называют пои с к о м сигнала по неизвестному параметру, напри- мер по частоте, времени или фазе. Указанные три параметра (частота, время и фаза) являются ос- новными с точки зрения обработки радиотехнических сигналов, при- чем поиск по частоте обычно выполняется с помощью аналоговых частотно-избирательных устройств (колебательные контуры, квар- цевые фильтры и т. п.), а поиск по фазе можно рассматривать как разновидность поиска по времени. Следовательно, с точки зрения цифровой реализации в виде специализированного устройства наи- больший интерес представляет реализация операции поиска сигнала |по времени, которой в дальнейшем уделяется основное внимание.
Смысл операции поиска сигнала по времени рассмотрим на при- мере простейшего импульсного сигнала, изображенного на рис. 4.2, б, с флюктуационными и хаотическими импульсными помехами. Целью поиска является регистрация факта прихода полезного импульсного сигнала (т. е. обнаружение сигнала) при одновременной фиксации момента его появления с точностью, необходимой для осуществ- ления алгоритма фильтрации измеряемого временного параметра. Например, при аппаратной реализации измерительной системы наи- более рациональным является устройство поиска с погрешностью Рис. 4.6. Операция поиска импульсных сигналов: а — принятая реализация; б — селектирующие импульсы, вырабо- танные в результате поиска * фиксации, соизмеримой с длительностью импульса. При использова- нии микропроцессорной элементной базы это условие уже не является определяющим, и главную роль здесь играют требования к возмож- ным дополнительным аппаратурным затратам на внешние устройства, а также заданные качественные характеристики системы в целом. В общем случае, когда принимаемый сигнал представляет собой пачку импульсов (например, за счет вращения диаграммы направ- ленности антенной системы), результат операции поиска иллюстри- руется рис. 4.6. Он сводится к выработке селектирующих импульсов (стробов) в моменты времени, повторяющие ожидаемую последова- тельность импульсов, которая представляет собой следующие с пе- риодом Tv пачки импульсов, имеющих период повторения Т„ и дли- тельность /и. Количество импульсов в пачке п (или длительность пачки /п = пТа) определяется характеристиками амплитудной мо- дуляции принимаемого полезного сигнала. Операция поиска счита- ется выполненной правильно, если селектирующие импульсы (рис. 4.6, б), установленные по результатам анализа принимаемой сме- си сигнала и помех, совпадают по времени с полезными сигнальными импульсами (рис. 4.6, а). В противном случае под влиянием помех может наблюдаться ошибочный результат поиска — обнаружение сиг- нала в момент времени, не совпадающий с истинным временным поло- жением сигнала, либо принятие решения об отсутствии полезного сиг- нала, несмотря на наличие такового в принятой реализации. Первую ошибку называют ложной тревогой (ошибкой первого рода), а вторую — пропуском сигнала (ошибкой второго рода). Вероятности этих ошибок характеризуют качество процедуры
поиска и обнаружения сигнала. Кроме того, важными техническими характеристиками устройства поиска являются его разрешающая спо- собность, определяемая длительностью селектирующих импульсов До (см. рис. 4.6, б), и время поиска, определяемое продолжительностью интервала наблюдения сигнала, необходимого для выполнения всех операций, связанных со статистическим анализом принятой смеси сигнала и помех. Разработка алгоритмов поиска и обнаружения сигнала, обеспечи- вающих наилучшие качественные характеристики при заданных ап- риорных данных и технических ограничениях, составляет предмет теории статистического синтеза РТС [50]. Здесь рассмотрим принципы построения и структуры соответствующих устройств, отвечающих основным теоретическим рекомендациям. Как следует из этой теории, оптимальный алгоритм обнаружения сводится к сравнению с порогом К некоторого функционала 2 от при- нятой на интервале наблюдения Та реализации u(t) — s(t—13) + n(t), представляющей собой аддитивную смесь полезного сигнала «(/), за- держанного на t3, и помехи n(t). Принцип формирования функционала г описывается известным выражением (см., например, [50]) Гн z(t) = J u(t)s(t — t)dt, (4.1) о которое подчёркивает его зависимость от информационного параметра t и называется корреляционным интегралом. В случае импульсного сигнала функция s(/) является периодиче- ской, т. е. N s(t — tB) = 2 ats<> V — — 1Ти). где s0(t) — функция, описывающая импульсный сигнал на одном пе- риоде повторения 7И; (V = Т К/Тп— число импульсов на интервале наблюдения ТИ; at и tsi — амплитуды отдельных импульсов и их временные задержки. Следует заметить, что в общем случае парамет- ры at и t3i изменяются на протяжении интервала наблюдения Тн, однако для упрощения структуры обнаружителя обычно интервал Тк выбирают таким образом, что изменением параметра t3 за время Тп можно пренебречь, а изменения амплитуд описываются законом амп- литудной модуляции одиночной пачки импульсных сигналов, т. е. Тн < ta или п < N (см. рис. 4.6). В этом случае получим N г (т) = at zt (т), (4.2) £==1 s0(/-£7h-t)A (4,3)
— результат оптимальной обработки сигнала на t-м периоде повторе- ния, т. е. результат внутри периодной обработки принимаемой им- пульсной последовательности. В реальных РТС широко распространены импульсные сигналы с малой длительностью импульса ta (см. рис. 4.1), когда цифровая реа- лизация операций внутри периодной обработки, описываемых выра- жением (4.3), становится практически невозможной из-за высоких требований к быстродействию элементной базы. Поэтому на практике чаще всего внутри периодная обработка вида (4.3) выполняется с по- мощью аналоговых устройств типа согласованных фильтров или кор- реляторов [50], а на долю цифровых устройств остается реализация межпериодной обработки, задаваемой выражением (4.2). На практике возможны различные варианты построения цифровых устройств обнаружения, реализующих операцию формирования функ- ционала (4.2). Далее рассмотрим основные из этих вариантов в зави- симости от той роли, какую играют эти устройства в измерительных системах. Обнаружители импульсов с известным временным положением. Этот случай соответствует двухальтернативной задаче обнаружения сигнала [50] (без поиска по параметру t3). Эта задача возникает, на- пример, в устройствах контроля достоверности измерений, пред- назначенных для принятия решений о наличии или отсутствии полез- ного сигнала в зоне селекции следящего измерителя (см. рис. 4.3), которая устанавливается по результатам измерений информацион- ного параметра /3. В данном случае предполагается, что стробы изме- рительной системы совпадают по времени с принимаемыми импульсами сигнала (как показано на рис. 4.6). Обнаружитель играет роль конт- рольного устройства, фиксирующего нарушение измерительного про- цесса для своевременного отключения оконечного устройства и пере- хода в режим поиска при пропадании сигнала. Для выполнения этой функции устройство обработки должно формировать значение функционала (4.2), соответствующее аргументу т = i3, и сравнивать это значение z(/H) с пороговым уровнем /<. Можно представить структуру соответствующего цифрового уст- ройства, точно выполняющего операции, задаваемые выражением (4.2), как показано на рис. 4.7, где входным сигналом являются выбороч- ные реализации гДт), определяемые выражением (4.3). В момент вы- работки строба с номером i аналого-цифровой преобразователь (АЦП) формирует число, пропорцинальное значению z;(/3), а соответствую- щее значение коэффициента at выводится из запоминающего устройства (ЗУ) с помощью устройства выборки (УВ), формирующего адрес не- обходимой ячейки памяти в зависимости от индекса i. Затем выполня- ются цифровые операции умножения и последовательного сложения с записью суммы в регистр памяти (РП) и сравнением ее с числом К, определяющим порог обнаружения сигнала. При достижении накоп- ленной суммой порога К в пороговом устройстве (ПУ) вырабатыва- ется решение о наличии сигнала в стробах (сигнал «Да» на рис. 4.7). В противном случае по истечении интервала наблюдения (т. е. N пе- риодов накопления) фиксируется отсутствие сигнала (сигнал «Нет»),
производится обнуление регистра, памяти, и операция обнаружения повторяется сначала. Рассмотренная схема обнаружителя соответствует оптимальной процедуре обработки импульсных сигналов с известным временным положением и представляет интерес как схема, реализующая пре- дельную эффективность процедуры обнаружения при фиксированном интервале наблюдения. Однако такая схема приводит к довольно громоздкой аппаратной реализации, так как требует выполнения опе- раций умножения и сложения многоразрядных чисел. Поэтому на прак- тике широко распространены упрощенные, квазиоптимальные схемы Рис. 4.7. Структура оптимального цифрового обнару- жителя импульсов с известным временным положением; АЦП — аналого-цифровой преобразователь; ПУ — пороговое уст» ройство; УВ— устройство выборки; РП — регистр памяти; ЗУ-~ запоминающее устройство обнаружителей, которые строятся на основе тех или иных упрощений исходной оптимальной схемы. Следует заметить, что одним из важных вопросов проектирования РТС является анализ потерь или ухудше- ния качественных характеристик обнаружителей, связанных с от- ступлением от оптимальной процедуры обработки. Применительно к рассматриваемым далее квазиоптимальным схемам цифровых обна- ружителей подобный анализ можно найти, например, в [34, 38]. Первым, наиболее распространенным упрощением схемы обнару- жителя (см. рис. 4.7) является использование двухуровневого АЦП (называемого бинарным амплитудным квантова- телем), который формирует одноразрядное двоичное число (бинар- ный сигнал) Сг- из аналогового сигнала zz путем сравнения его с поро- гом zKB, т. е. , „ (1, если zf > z„B, .. = ’ кв’ (4.4) ( 0, если zt < zKB. Кроме упрощения самой схемы АЦП, который в этом случае пре- вращается в простейшее пороговое устройство, использование рас- сматриваемой операции бинарного квантования приводит к существен- ному упрощению последующей процедуры обработки, так как отпа- дает необходимость в операции умножения многоразрядных чисел. Схема обнаружения представлена на рис. 4.8, где операцию умно- жения выполняет электронный ключ, с помощью которого число а, (соответствующее Z-му. импульсу сигнала) подается на сумматор толь- ко в том случае, если С,(/8) = 1. При С;(/8) = 0 на сумматор пода-
ется нуль. Это отражает алгоритм (4.2) при бинарном квантовании сигнала Z/(Q, т. е. соответствует формированию функционала N = (4-5) »=1 Второе упрощение схемы обнаружителя основывается на исполь- зовании прямоугольной аппроксимации закона амплитудной модуля- ции принимаемой импульсной последовательности (см. штрихпунк- Рис. 4.8. Структура обнаружителя с бинарным кван- тованием сигнала: БАК — бинарный амплитудный квантователь, СС — схема стро- бирования (остальные обозначения см. на рис. 4.7) тарную линию на рис. 4.6). В этом случае все коэффициенты а,- (i = = [1, /VI) равны между собой и алгоритм обработки сводится к равно- весному суммированию результатов внутри периодной обработки, т. е. к выполнению операции N (4-6) t=i При. этом исходная схема обнаружителя (см. рис. 4.7) также су- щественно упрощается благодаря отсутствию умножителя и запоми- нающего устройства. На рис. 4.9 приведена схема обнаружителя, в которой сохраняется операция многоуровневого аналого-цифрового преобразования и основная операция накопления выборочных данных гг(/3) в цифровой форме. Наиболее простая схема цифрового обнаружителя получается, если объединить в одной схеме два рассмотренных упрощения, т. е. реализовать алгоритм вида N 26h(^)=2^(Q. (4-7) который называют алгоритмом межпериодного би- нарного накопления и рассматривают как результат уп- рощения алгоритма (4.5) (с помощью аппроксимации at = const) или алгоритма (4.6) [с помощью бинарного квантования (4.4)]. Осуществ- ление алгоритма (4.7) допускает две разновидности аппаратной реа-
лизации, представленные в виде функционапкиктуп^о».--- ---- ---- Операция бинарного квантования в этх схемах в£пю “ РИС* 410‘ мощью компаратора, а операция стробиоовяниа * ВЫ1Юлняется с не- совпадений. Накопление сигнала т ес помощью схемы ванных выборочных значений £•(/) ВУ f Р ние бинаРн°-кванто- '•‘W» в первой схеме (рис. 4.10, а) выполняется с помощью двоичного счетчика, ко- торый одновременно за- поминает результат сум- мирования до прихода следующего строба. Во второй схеме (рис. 4.10, б) операция сум- мирования осуществля- ется набором полусум- Рис. 4.9. Структура обнаружителя при прямо- угольной огибающей пачки импульсов маторов, так как в рас- смотренном случае она сводится к сложению накопленного ранее числа гбн(/д) (хранящегося в запоминающем регистре) с принятым на Z-м периоде бинарным сигналом Сг(/3) = 1 или 0. Принцип сумми- рования поясняется табл. 4.1, где 26H,i-i обозначает г-разрядное двоичное число {хг ... x2xi}, накопленное в регистре на протяжении а) Рис. 4.10. Функциональные схемы бинарных обнаружителей импульсных сигналов
Таблица 4.1 г5н,£—! гбн,| ч кг...хгх2х1 °г. . Sr- • • 1 0 . . .000 0 . . .001 0 . . .010 0 . . .011 1 . . .116 1 . . .111 0 . . .000 0 . . .001 0 . . .000 0 . . .011 0 . . .000 1 . . .111 0 . . .001 0 . . .010 0 . .011 0 . . .100 1 . . .Ill 0 . .000 0 Для всех’ ген, г—1 0 26H,i—2бн,1—J (г—1) предшествующих периодов сигнала; z6H)i = + С; — ре зультат суммирования на г-м периоде накопления, т. е. двоичное число {sr ... s2Si}, которое записывается в регистр с некоторой задерж- кой Ы, необходимой для завершения переходных процессов, свя- занных с выполнением операции суммирования (табл. 4.1). Сигнал рт является признаком переполнения разряда г накопителя и может служить сигналом обнаружения (если К — 2Г), или переноса в стар- ший разряд (при увеличении разрядности устройства). Сравнение результата накопления с данным пороговым уровнем К осуществля- ется в дешифраторе сравнения, который вырабатывает выходной сигнал при появлении на его входах определенной комбинации входных символов, соответствующих двоичному представлению числа К- Начало цикла обнаружения задается сигналом «О», стирающим содержимое накопителя (т. е. счетчика на рис. 4.10, а или регистра на рис. 4.10, б). Представленные на рис. 4.10 схемы бинарных обнаружителей (пол- ностью эквивалентные по выполняемым операциям обработки) отли- чаются простотой, но в силу существенных отступлений от оптималь- ной схемы (см. рис. 4.7) обладают заметным ухудшением качества обнаружения по сравнению с потенциальными возможностями (реали- зуемыми в схеме рис. 4.7). Тем не менее такие схемы широко при- меняются на практике, так как потери, связанные с ухудшением ка- чественных характеристик, в данном случае окупаются снижением аппаратурных затрат по реализации этих схем. Сравнивая два схемных варианта на рис. 4. ГО, видим, что первая схема (рис. 4.10, а) обладает более простой аппаратной реализацией. Однако это справедливо только в случае обнаружения импульсных сигналов при известном временном положении импульсов. При об- наружении сигнала с одновременным поиском по времени вторая схе- ма (рис. 4.10, б) может иметь определенные преимущества при прак- тической реализации. Обнаружители импульсов с неизвестным временным положением. Рассмотренные схемы цифровых обнаружителей импульсных сигна-
лоб могут служить основой для построения солее сложных устройств, которые вместе с операцией обнаружения осуществляют поиск сиг- нальных импульсов по времени, т. е. предварительное грубое опре- деление временного положения принимаемого сигнала. Такая опера- ция выполняется во многих радиотехнических измерительных сис- темах на начальном этапе работы, при захвате сигнала следящим из- мерителем или при кратковременных нарушениях измерительного процесса. В соответствии с рекомендациями статистической теории РТС опе- рацию поиска сигнала по времени можно трактовать следующим об разом. Весь априорный интервал поиска (в простейшем случае равный периоду повторения импульсов Ти) разбивается на известное число т элементарных интервалов (дискретов) длительностью До (см. рис. 4.6). Значение До характеризует точность определения неизвестного вре- менного положения сигнала в устройстве поиска. Для каждого из возможных дискретных значений параметра Ту = /До (/= [1, ml) образуется г(ту) в соответствии с алгоритмом (4.2). Оптимальной оцен- кой измеряемого параметра /а является такое значение Ту, при котором достигается максимум функции г(ту), т. е. выполняется условие /л \ г I т; I = max г (т у). (4.8) Одновременно с нахождением оптимальной оценки Ту из (4.8) осуществ- ляют операцию обнаружения сигнала; которая сводится к проверке неравенства г (£, ) > К. (4.9) При выполнении (4.8) и (4.9) устройство поиска фиксирует факт наличия полезного сигнала (т. е. обнаружение сигнала), имеющего временное положение ту, которое отражает истинное значение измеряемого па- раметра 1Я с погрешностью, зависящей от качественных характеристик обработки сигнала. Однако практически осуществить такую процедуру сложно, так как проверка (4.8) в широком априорном интервале — сложная тех- ническая задача, особенно при аппаратной реализации. Поэтому в реальных устройствах поиска ограничиваются проверкой (4.9), пре- небрегая (4.8), так как при высоком качестве обнаружения пороговое значение К с большой вероятностью достигается функцией г(ту) при единственном значении параметра ту, которое и можно принять в ка- честве оценки- Ту без проверки условия максимизации функции г(ту). Такое отступление от оптимального алгоритма (4.8), (4.9) влечает за собой определенные потери, связанные со случайными ошибками об- наружения, однако в силу малой вероятности ошибок при высоком качестве обнаружения этими потерями обычно пренебрегают. Таким образом, процедура поиска сигнала по времени сводится к выполнению рассмотренного алгоритма формирования статистики г(т) на множестве дискретных значений аргумента Ту = /До (/ = [1, ml)
и сравнению всех значений z(tj) с порогом обнаружения /<. Различные варианты аппаратной реализации этого алгоритма при фиксирован- ном значении т представлены на рис. 4.7—4.10. Здесь рассмотрим эти варианты сточки зрения их применения для формирования дискретной функции z(tj) на конечном множестве значений аргумента т,-. В общем случае, когда принимаемая импульсная последователь- ность имеет прерывистый характер за счет амплитудной модуляции Рис. 4.11. Временные диаграммы, поясняющие принцип многоканального поиска сигнала по времени задержки: а — излученный сигнал; б — принятый сигнал в смеси с шумом; в — стробы 1-го, 2~го, .... т-го каналов импульсов (см. рис. 4.6), процедуру поиска сигнала можно рассмат- ривать как комбинацию двух операций — поиска пачки, т. е. опреде- ления момента начала пачки на периоде Та с точностью до периода повторения импульсов Та, и поиска импульсов на периоде Та с точ- ностью до интервала разрешения Ао. Рассмотрим вторую операцию, предполагая, что временное положение принимаемой пачки известно. Примером этого может служить поиск цели по дальности в импульсных угломерно-дальномерных системах при известном угловом положении источника сигнала (отражающей цели или активного радиомаяка). В данном случае операцию формирования значений функции г(т7) при всех дискретных значениях аргумента т7-(/= [1, ml) можно вы- полнить с помощью многоканального устройства, в котором каждый из m каналов осуществляет алгоритм (4.2) при конкретном значении х} и реализуется по одной из схем, рассмотренных ранее (рис. 4.7— 4.10). Функцию разделения каналов выполняют стробирующие им- пульсы (стробы), отличающиеся друг от друга временным положением, как показано на рис. 4.11. Номер канала, в котором зафиксировано превышение порога обнаружения, характеризует результат поиска, т. е. грубую оценку Xj временного положения полезного сигнала. * Рассматриваемую процедуру поиска можно осуществить также в виде последовательной процедуры. Она выполняется с помощью любой из схем на рис. 4.7—4.10 перемещением строба на До после окончания обработки сигнала при. каждом значении Xj. В этом-случае вся проце- дура поиска требует выполнения пг последовательных циклов обра-
ботки, описываемых алгоритмом (4.2), т. е. полное время поиска мо- жет достигать значения mNTK. Это является основным недостатком одноканального последовательного поиска по сравнению с многоканальной процедурой (называемой так- же параллельной), в которой время поиска равняется NTBi т. е. в т раз меньше. Отсюда вытекает целесообразность более де- тального рассмотрения многоканальных устройств поиска, возмож- ности реализации которых повышаются с совершенствованием элемент- ной базы. Ясно, что /n-кратное повторение схемы оптимального цифрового обнаружителя (рис. 4.7) требует очень больших аппаратурных зат- рат. Поэтому такая схема практически непригодна для аппаратной реализации многоканальных устройств поиска, хотя в сочетании с программными средствами (т. е. в смешанной, аппаратно-програм- мной реализации) такая схема может применяться, если быстродейст- вие вычислительного устройства позволяет выполнить основные опе- рации обработки за время действия строба одного канала. При ап- паратной реализации многоканальных устройств поиска наибольший практический интерес представляют простейшие схемы рис. 4.10, со- ответствующие бинарному накоплению сигнала при прямоугольной аппроксимации закона амплитудной модуляции импульсов в преде- лах пачки. Для построения m-канального обнаружителя на основе первой из таких схем (рис. 4.10, а) требуется т двоичных счетчиков с /n-канальным распределителем (демультиплексором) сигналов на выходе амплитудного бинарного квантователя. Поэтому при боль- ших значениях т практическая реализация такого варианта схемы за- труднительна. Более удобной для аппаратной реализации многоканального об- наружителя на современной элементной базе является схема рис. 4.10, б, в которой хранение накапливаемых данных осуществля- ется с помощью запоминающих регистров, выполняемых в виде ин- тегральных микросхем с очень высокой степенью интеграции. Полу- сумматоры и пороговое устройство в этой схеме могут обслуживать все каналы обнаружителя поочередно, так как входные сигналы в каждом из каналов появляются последовательно во времени (см. рис. 4.11). Схема многоканального обнаружителя представлена на рис. 4.12. В нее входит оперативное запоминающее устройство (ОЗУ) из т ячеек памяти (запоминающих регистров), обслуживающих т каналов на- копителя. Разрядность ячеек памяти определяется предельным зна- чением N накапливаемых двоичных чисел и при бинарном квантова- нии входного сигнала равняется log2TV. Обмен данными между ОЗУ и остальной частью обнаружителя осуществляется специальной схемой доступа в память, обеспечивающей выбор нужной ячейки памяти и переключение режимов записи и считывания данных. Номер ячейки / задается адресным счетчиком, последовательно изменяющим свое состояние от 1 до т с шагом, равным по длительности интервалу раз- решения До. С таким же шагом поступают бинарные входные данные £,(/Д0) = 1 или 0) с выхода амплитудно-временного квантователя
на схему добавления единиц, выполняющую операцию суммирования этих данных с содержимым соответствующей ячейки памяти (см. по- яснения к схеме одноканального бинарного накопителя на рис. 4.10, б). Результат суммирования заносится в ту же ячейку памяти, так как состояние адресного счетчика за время До не меняется. Таким обра- зом, на /-м шаге временного квантования (длительностью До) после- довательно выполняются операции считывания данных из /-й ячейки памяти, суммирование с бинарным сигналом С,г(/Д0) и запись ре- зультата в ту же /-ю ячейку. За т шагов дискретизации, соответствую- щих одному периоду сигнала (с номером г), осуществляется один цикл накопления во всех т ячейках ОЗУ. Рис. 4.12. Структура многоканального обнаружителя на основе ОЗУ с произвольным доступом: АВК — амплитудио-времеинбЙ квантователь; СДЕ— схема до- бавления единиц; ПУ — пороговое устройство; АС — адресный счетчик; СДП — схема доступа к памяти, ОЗУ — оперативное запоминающее устройство Полная процедура поиска и обнаружения состоит из У циклов накопления (N периодов повторения сигнала) и сравнения с порогом обнаружения /< на каждом шаге дискретизации. Момент превышения порога К характеризует временное положение обнаруженного сигнала с точностью до интервала дискретизации До. В этот момент процедура поиска останавливается и номер / ячейки памяти, в которой достиг- нуто пороговое значение, определяет результат поиска, т. е. грубую оценку Ту = /До измеряемого временного интервала Если за полное время накопления (N периодов сигнала) не зафиксирован факт дости- жения порога ни в одном из т дискретов поиска, то все ячейки ОЗУ обнуляются (путем записи нуля в течение интервала времени тД0) и процедура поиска повторяется сначала. Главной особенностью рассмотренной схемы является использо- вание ОЗУ с произвольным выбором ячейки памяти. Неотъемлемыми элементами таких ОЗУ являются схема управления выбором ячеек (схе- ма доступа к памяти) и схема, задающая порядок смены адресов (в дан- ном случае адресный счетчик). Опрос ячеек памяти в многоканальном накопителе подчиняется естественному порядку следования дискрети- зированных по времени бинарных входных данных, поступающих в в реальном масштабе времени. Период опроса (т. е. интервал между моментами опроса двух соседних ячеек) равен До, а цикл обращения к одной и той же ячейке памяти — периоду следования, импульсов сигнала = /пД0;
Такой порядок опроса проще осуществляется с помощью так на- зываемых динамических (или циклических) запоми- нающих устройств (ЗУ), в которых возможен только поочередный пе- ребор опрашиваемых ячеек благодаря равномерному продвижению записанной информации со входа на выход. Примером дискретных циклических ЗУ являются устройства памяти на сдвигающих ре- гистрах. Период опроса в таких ЗУ равен периоду следования импуль- сов сдвига, а цикл обращения определяется временем продвижения информации от первой ячейки регистра (в которую производится Рис. 4.13. Функциональная схема многоканального бинарного обнаружителя с циклическим ОЗУ на ре- гистрах сдвига запись) до последней (с которой считывается записанная на вход ин- формация). Если выбрать период импульсов сдвига равным До, а число ячеек сдвигающего регистра т, то получим циклическое запоминаю- щее устройство, которое можно использовать для многоканального бинарного обнаружителя импульсов с периодом повторения Тк = — тЛ0 и интервалом разрешения До. Функциональная схема такого обнаружителя приведена на рис. 4.13 для пояснения операции накоп- ления двухразрядных двоичных чисел (увеличение разрядности на- копителя без труда выполняется наращиванием числа регистров при сохранении аналогичных взаимосвязей). Два параллельно вклю- ченных сдвигающих регистра (по т ячеек памяти в каждом) играют роль циклического ЗУ двухразрядных двоичных чисел, а два полу- сумматора выполняют операцию добавления единиц к поступающим с выхода ЗУ двоичным числам (см. пояснения к рис. 4.10, б и табл. 4.1) и передачи результатов суммирования на вход ЗУ. Интервал временной дискретизации выполняемых операций — До. Сброс за- писанной информации в начале процедуры накопления осуществля- ется с помощью схемы запрета, выполненной на двух элементах «И». Она разрывает цепь обратной связи с выхода на вход ЗУ на время одного периода сигнала и тем самым приводит к записи новой инфор- мации в регистр первого разряда (через полусумматор) при обнулении второго разряда. Более подробное описание работы этой схемы мож- но найти в [22]. . , .
Следует заметить, что при смешанной, аппаратно-программной ре- ализации аналогичных устройств может оказаться полезной схема с ОЗУ произвольного доступа (см. рис. 4.12), так как эти ОЗУ всегда входят в состав микропроцессорных вычислительных устройств. Не- обходимым условием такой реализации является возможность пря- мого доступа в память вычислительного устройства и обеспечение тре- бумой скорости обмена данными. Особенности обнаружения пачек импульсных сигналов. Все рас- смотренные схемы многоканальных обнаружителей решают задачу поиска импульсного сигнала по времени в случае известного времен- ного положения пачки импульсов, когда момент начала накопления (соответствующий обнулению ЗУ) и начало пачки совпадают с точностью до периода повторения импульсов. Если это условие не соблюдается, то возникает явление «расщепления» пачки, приводящее к снижению эффективности накопления за счет увеличения вероят- ности пропуска Сигнала [22]. Кроме того, выполняемую в этих схемах процедуру обнаружения можно трактовать как операцию поиска пач- ки импульсов с погрешностью,соизмеримой с длительностью интерва- ла накопления Т„ = NT„. Интервал времени между двумя соседними моментами обнуления ЗУ (равный Тн = NTB) играет роль одного шага дискретизации в процедуре поиска пачки импульсов с неизвестным временным положением. Эти особенности ограничивают применение таких схем в тех случаях, когда временное положение пачки явля- ется измеряемым, полезным параметром сигнала (например, несущим информацию об угловом положении объекта в амплитудно-импуль- сных угломерных РТС). Чтобы избежать указанных недостатков, можно использовать дру- гой способ, который состоит в том, что формирование статистики (4.2) осуществляется путем запоминания всей совокупности N выбо- рочных значений {гг(т), гг_1(т), ..., гг_уу+1(т)} на интервале наблю- дения длительностью Тн = NTa. Поступление каждого нового выбо- рочного значения гг+1(т) сопровождается забыванием наиболее «уста- ревшего» значения zt-_w+)(T). При известном параметре т = t3 рассматриваемый способ реали- зуется в виде схемы рис. 4.14, которая содержит (IV—1) регистров памяти (РП) для хранения (7V—1) выборочных значений (А/-е значе- ние снимается непосредственно с выхода АЦП в момент прихода сиг- нала) и такое же количество разрешающих устройств (РУ). Входы регистров открываются в момент прихода каждого строба для записи нового выборочного значения гг(£3) в первый регистр и перезаписи со- держащихся в остальных регистрах данных в соседние регистры (при этом автоматически стирается последнее значение z,_jv+i(/8)). После выполнения всех операций записи осуществляется N операций сумми- рования в соответствии е алгоритмом (4.2). Результат обработки за- писывается в выходной регистр памяти и сравнивается с порогом Указанные операции должны завершаться к моменту прихода следую- щего выборочного значения которое вырабатывается при по- ступлении следующего стробирующего импульса. Следовательно, в данном случае время выполнения всех операций не должно превышать
периода стробирующих импульсов, равного периоду повторения им- пульсов сигнала Тп. В рассмотренной схеме обнаружителя (см. рис. 4.14) выполня- ется тот же самый алгоритм обработки принимаемых сигналов, что и в схеме рис. 4.7. Однако здесь отсутствует явно выраженный мо- мент начала обработки, связанный с обнулением ЗУ (один раз за N периодов сигнала). В данном обнаружителе происходит последова- тельный сдвиг наблюдаемой совокупности N выборочных значений на один период сигнала после каждого цикла обнаружения в отличие Рис. 4.14. Структура оптимального обнаружителя с парал- лельным весовым суммированием выборочных значений: РУ— разрешающее устройство; РП — регистр памяти; СМ — сумма- тор; ПУ — пороговое устройство от обнаружителя со сбросом (т. е. обнулением ЗУ), в котором проис- ходит скачкообразный сдвиг интервала наблюдения сразу на N пе- риодов сигнала. Отсюда следует, что обнаружитель по схеме на рис. 4.14 можно рассматривать как устройство поиска пачки импульс- ных сигналов по времени с шагом, равным периоду повторения им- пульсов Тк (в отличие от рассмотренных ранее обнаружителей, выпол- няющих операцию поиска пачки с шагом, равным интервалу накоп- ления Та = NTB). Однако отмеченное преимущество схемы рис. 4.14 связано с су- щественным усложнением практической реализации обнаружителя, так как эта схема содержит (V регистров памяти и 2V умножителей (в отличие от схемы рис. 4.7, содержащей один регистр и один умно- житель). Поэтому при аппаратной реализации таких обнаружителей чаще всего используются рассмотренные ранее упрощения схемы, связанные с бинарной дискретизацией выборочных данных гг(т)и (или) -коэффициентов сг. Такая схема в общем виде может быть полезной при смешанной, аппаратно-программной (или чисто программной) реа- лизации, особенно при построении одноканальных обнаружителей пачки, когда временной параметр /3 известен (например, известна дальность в угломерно-дальномерной импульсной РТС). В этом слу- чае большая часть операций обработки (например, умножение, сло- жение, сравнение с порогом) может выполняться вычислительным устройством, а аппаратную часть можно свести к реализации схем
управления записью массива выборочных данных в ЗУ на каждом периоде повторения сигнала. При этом главным условием такой реа- лизации является возможность выполнения всех вычислительных операций в реальном масштабе времени, т. е. в темпе поступления выборочных значений принимаемого сигнала. В важном для практики случае, когда временное положение при- нимаемых импульсов неизвестно, указанная возможность прак- тически отсутствует, так как устройство поиска пачки должно выпол- ^кв Рис. 4.15. Схема обнаружителя пачки импульсов с весовым суммированием и бинарным квантованием сигнала нять процедуру накопления (4.2) на множестве дискретных значений неизвестного параметра ту- = /До (/ = [1, mJ). Для реализации та- кого устройства с использованием принципа обработки, лежащего в основе схемы рис. 4.14, требуется (7V—1)т последовательно вклю- ченных регистров памяти (в соответствии с числом дискретов на ин- тервале наблюдения Тп = (7V—1)ТИ = (N—1)тД0). При этом все операции обработки, составляющие один цикл обнаружения, должны выполняться в течение временного интервала До, определяющего раз- решающую способность устройства поиска. При реальных значениях W = 10 4- 50, m = 100 4- 1000, До = 1 4 Ю мкс эти требования не могут быть выполнены ни аппаратными, ни программными сред- ствами. Поэтому практическая реализация многоканальных цифро- вых обнаружителей на основе схемы на рис. 4.14 при современном уров- не элементной базы возможна только с использованием определен- ных упрощений этой схемы. Наиболее известна аппаратная реализация таких обнаружителей по схеме на рис. 4.15, которую можно трактовать как упрощение ис- ходной схемы на рис. 4.14 за счет бинарной дискретизации сигнала 2г(т) на входе обнаружителя в соответствии с правилом (4.4). В этой схеме операция аналого-цифрового преобразования выполняется бинар- ным амплитудным квантователем (т. е. одноразрядным АЦП), a one-
рация стробирования при неизвестном временном положении импуль сов заменяется временной дискретизацией сигнала (с дискретом До), выполняемой временным квантователем. При этом регистры памяти со схемами разрешения на входе вырождаются в одноразрядные син- хронные элементы памяти типа D (элементы задержки), управляемые тактовой последовательностью, обеспечивающей временную дискрети- зацию сигнала. Совокупность из т элементов памяти составляет сдвигающий регистр (RG), обеспечивающий задержку бинарного входного сигнала на период повторения Та = тД0. Операция ум- ножения аг X Ci(/'Ao) выполняется в этом случае с помощью элект- ронных ключей, подающих на вход сумматора число ait если СД/До) = = 1 (в противном случае на вход сумматора подается нуль). После выполнения N операций суммирования на каждом интервале дис- кретизации (т. е. за время До) в регистре памяти (РП) образуется ре- зультат накопления i zii~ (Mo)» k=i—N+l который сравнивается с цифровым порогом К для выработки решения об обнаружении полезного сигнала. Такое решение вырабатывается в момент, когда Ztj > /V, что соответствует завершению операции по- иска пачки импульсов. При этом определяется число I, которое ха- рактеризует временное положение принятой пачки (точнее, момент начала пачки, совпадающий с началом текущего интервала наблюде- ния /нн = 1ТВ), а также число /, дающее оценку неизвестного пара- метра t3 с точностью до интервала дискретизации До. . Схема рис. 4.15 известна как схема бинарного обнаружителя пачки с весовым суммированием импульсов [34, 38]. Ее можно рассматривать как согласованный фильтр для межпериодной обработки пачки им- пульсов, так как импульсная характеристика такого фильтра может быть согласована с формой огибающей пачки правильным подбором совокупности весовых коэффициентов {а1; ..., aN}. При аналоговой реализации эти коэффициенты задаются с помощью делителей на- пряжения, причем операции суммирования и сравнения с порогом в этом случае также выполняются с помощью аналоговых схем — сум- матора напряжений (или токов) и порогового устройства. При цифровой реализации схемы рис. 4.15 коэффициенты ак хра- нятся в N ячейках постоянного запоминающего устройства (ПЗУ), которые поочередно опрашиваются с помощью TV-канального комму- татора (мультиплексора) таким образом, что за время До на вход циф- рового сумматора последовательно подаются все N чисел ак, если = о, то вместо ak-i+N на вход сумматора подается нуль. Реа- лизация такой схемы на современных интегральных микросхемах, (ИМС) средней степени интеграции не сложна, однако требуемые для этого аппаратурные затраты оказываются довольно большими. Поэтому на практике применяется более простая схема, использую- щая бинарную аппроксимацию весовых коэффициентов, когда алго- ритм накопления сигнала (4.2) сводится к равновесному суммирова-
Сг С: 3 zij— 2j ’'k k=l Ui j—1в( О о О о 1 1 1 I о о 1 I о о 1 I о 1 о 1 о I о 1 о 1 I 2 1 2 2 3 О О о i о 1 I 1 нию бинарно-квантованных входных данных, т. е. к формированию статистики: zi} = У М/А,)- В этом случае необходимость k=i- W+1 в запоминании коэффициентов ak отпадает, а операция сум- мирования сводится к подсчету единиц в совокупности выбороч- ных данных Сй ’на текущем интервале наблюдения. Эту операцию можно совместить с операцией сравнения с порогом и выполнять с помощью комбинационного дешифратора, анализирующего числа КЛг-i ... С,—w+1} в унитарном коде. В качестве примера в табл.4.2 приведена логическая функция такого дешифратора, которая обозна- чена у = C/v}> где N— объем выборки (порядок следо- вания аргументов не имеет значения); индекс К имеет смысл число- вого значения порогового уровня. Данный пример илллюстрирует правило составления такой логической функции для случая N = 3, К = 2. Единичный выходной сигнал дешифратора (у — 1) соответст- вует условию zi} > К, т. е. выработке сигнала обнаружения (завер- шению операции поиска) в момент t0 = iTM + /До. Функциональная схема бинарного обнаружителя для рассмотрен- ного примера приведена на рис. 4.16, где сдвигающие регистры со- стоят из т синхронных элементов памяти типа D, а пороговое уст- ройство, состоящее из дешифратора и схемы ИДИ, выполняет логи- ческую функцию в соответствии с табл. 4.2. Рис. 4.16. Функциональная схема бинарного обнаружителя с рав- новесным суммированием при JV — 3 и К = 2
Рассмотренный обнаружитель импульсных сигналов известен как бинарный обнаружитель пачки с равновесным суммированием. Его часто называют обнаружителем типа «движущееся окно», так как действие этой схемы эквивалентно продвижению непрерывной бинарно-квантованной реализации входного сигнала через ограни- ченное «окно», образуемое на временной оси точками, соответствую- щими N выборочным значениям сигнала отстоящим друг от друга на период повторения Ти. Практическая реализация такой простей- Рис. 4.17. Разновидности сложных бинарно-модулирован- ных сигналов: а — модулирующая функция; б — импульсно-временной код; в — ФМ-сигнал шей схемы бинарного обнаружителя не требует больших аппаратур- ных затрат, так как в номенклатуру современных интегральных микро- схем (ИМС) входят сдвигающие регистры, содержащие до 2048 элемен- тов памяти типа D. Кроме того, существует известный путь сокращения требуемого объема памяти (полезный при больших m и N), связанный с дополнительными отступлениями от оптимальной процедуры обна- ружения и вытекающими отсюда потерями эффективности. Возможны два вида таких отступлений: 1) увеличение интервала разрешения До, уменьшающее значения m = Тк/&0, т. е. число ячеек в каждом сдвигающем регистре, и 2) уменьшение интервала наблюдения Т„ = = (N—1)ТИ, позволяющее уменьшить число регистров N в схеме обнаружителя. Обнаружители сложных импульсных сигналов. В РТС, использую- щих цифровые методы формирования и обработки сигналов, широко применяются сложные сигналы с бинарной модуляцией (манипуляци- ей) амплитуды и фазы в пределах периода повторения. На рис. 4.17 показан один период модуляции таких сигналов: на рис. 4.17, а изображена бинарная функция, описывающая дискрет- ный закон модуляции; на рис. 4.17, б — соответствующий этому за- кону импульсный радиосигнал с модуляцией амплитуды при произ- вольном высокочастотном заполнении (т. е. последовательность неко- герентных радиоимпульсов, называемая часто импульсно- временным или интервальным кодом 1191); на рис. 4.17, в — соответствующий сигнале дискретной по времени фа- зовой манинуляцией (сокращенно ФМ-сигнал [65]). На практике
применяются также сигналы с одновременной, амплитудной и фазовой манипуляцией, называемые троичными последователь- ностями [27, 28]. Их можно рассматривать как определенные комбинации представленных на рис. 4.17 более простых сигналов. Первый из сложных сигналов, импульсно-временной код (рис. 4.17, б), можно рассматривать как пачку непериодически сле- дующих простых некогерентных радиоимпульсов с известной сово- купностью временных интервалов между ними {/к1, ^кг> ••> tK,N~1} (на рис. 4.17, б в качестве примера представлен случай N = 3, tK1 ~ = 4ДО /Г!2 = 2Д4). Следовательно, соображения по построению циф- ровых устройств поиска и обнаружения пачек импульсных сигналов справедливы и в данном случае, когда речь идет о внутри периодной обработке импульсных сигналов с бинарной модуляцией амплитуды в пределах периода. Особенностями данного случая являются не- периодичность импульсов кодовой пачки (/к1 =^= tK2 =f= =f= а также необходимость однозначного определения ее временного по- ложения с точностью до длительности интервала дискретизации Д,. Если ограничиться рассмотрением наиболее широко используемой для данного случая схемы бинарного обнаружителя пачки с равно- весным суммированием (см. рис. 4.16), то указанные особенности приводят к тому, что, во-первых, число элементов памяти в сдвигаю- щих регистрах-тг- (/ = [1, N—1]) становится неодинаковым (в отли- чие от исходной схемы на рис. 4.16) и выбирается в соответствии с правилом зеркального отображения заданной совокупности кодовых интервалов, т. е. по правилу т, = Во-вторых, порог обнаружения сигнала Д' в этом случае следует выбрать равным числу импульсов в кодовой группе N, чтобы исключить возможность сраба- тывания обнаружителя по какому-либо неопределенному импульсу группы, за исключением последнего, обеспечивающего достижение решающего порога /<=7V. Схема бинарного обнаружителя импульсно-временного кода пред- ставлена на рис. 4.18, где опущены операции амплитудного детекти- рования и амплитудно-временной дискретизации принимаемого сиг- нала (на вход схемы подается дискретизированный по времени и би- нарный по уровню видеосигнал, изображенный на рис. 4.17, а). Та- кую схему можно трактовать как цифровую модификацию внутри- периодного согласованного фильтра, совмещенного с решающим уст- ройством, выполняющим операцию обнаружения по логике «N из 7V». Это иллюстрируется эквивалентной схемой обнаружителя на рис. 4.19 и поясняющими ее временными диаграммами. Нетрудно убедиться, что импульсная характеристика фильтра на рис. 4.19 совпадает с зеркальным отображением входного сигнала (см. рис. 4.19, а), что соот- ветствует определению согласованного фильтра [50]. При этом выход- ной, сигнал фильтра (рис. 4.19, г) представляет собой корреляционную функцию принимаемого импульсно-временного кода (рис. 4.19, а). Сумматор с пороговым устройством, имеющим порог представ- ляет собой логическое устройство, выполняющее операцию конъюнк- ции бинарных сигналов, поступающих с выходов сдвигающих ре- гистров,. . , . .. ....
Рассмотренные схемы (рис. 4.18, 4.19) выполняют операции внут- ри периодной обработки, которую часто называют декодированием интервально-временного кода. В реальных РТС, использующих такие импульсные сигналы (например, в многоканальных системах передачи информации), эту операцию можно выполнять совместно с процедурой межпериодного накопления. Здесь возможны два варианта взаимодей- ствия устройств внутрипериодной и межпериодной обработки: 1) де- кодирующее устройство включено на входе межпериодного накопи- теля, который накапливает результаты внутрипериодной обработки, Рис. 4.18. Функциональная схема бинар- ного обнаружителя сигнала- с импульсно- временным кодированием ПППГ1ППП д)-----1=1--- _=^=п__ст t ¥ 7 t t Рис. 4.19. Эквивалентная схема внутрипериодного согласованного фильтра для декодирования им- пульсно-временного кода т. е. одиночные декодированные импульсы; 2) межпериодное накоп- ление одиночных импульсов кодовой группы осуществляется на входе декодирующего устройства, выполняющего в данном случае операцию декодирования выходного сигнала накопителя. С точки зрения аппа- ратурных затрат оба варианта взаимодействия эквивалентны, если не учитывать тонкостей практической реализации, связанных с конст- руктивным размещением отдельных узлов в блоках конкретной аппа- ратуры. Что касается качественных характеристик этих вариантов, то, как показано в [29], определенными преимуществами обладает второй вариант, однако они не так велики, чтобы оказаться решающи- ми в конкретных условиях работы реальной аппаратуры. В каждом конкретном случае следует помнить о необходимости оптимизации порогов бинарной процедуры накопления—декодирования 129). Рассмотрим принципы построения цифровых устройств обработки ФМ-сигналов, т. е. сложных сигналов с дискретной по времени внутри- импульсной фазовой манипуляцией (рис. 4.17, в). Главной особенностью цифровой обработки таких сигналов является трудность практической реализации функции г(т) вйда (4.3) в реальном масштабе.времени, как это делается с помощью согласованных фильтров для импульсных сигналов с более простыми законами внутриимцульсной модуляции (или без нее). Реальным способом формирования функции г(т) в данном случае является корреляционный способ [65], состоящий согласно (4.3) в
умножении входной реализации u{t) на о ра-зец полезного сигнала s0(t—т) при фиксированном значении неизвестного параметра т и по- следующем интегрировании за время одного периода сигнала Та (так как речь идет о внутри периодной обработке). При этом за время Тв можно получить лишь одиночное значение функции z(tj), соответствую- щее определенному значению аргумента т^. Для формирования всей функции г(т) на множестве значений т7- = /Д, (/ = [1, ml) требуется пг аналогичных операций вычисления корреляционного интеграла (4.3) и соответственно m периодов повторения сигнала. Напомним, что при фильтровом способе (использующем согласованный фильтр) за один период Тк образуется непрерывная функция z(t) на всем ап- риорном интервале параметра т в реальном масштабе времени. Этот способ обработки ФМ-сигналов может быть реализован с по- мощью различных технических средств. При кратковременных сиг- налах с малой дискретностью модуляции (/фм — 1 — 10 мкс, Дг = = 0,01 -4-0,1 мкс) используются главным образом аналоговые кор- реляторы, широко освещенные в литературе 165]. При достаточно узко- полосных сигналах (Д4 =14-10 мкс, /фм = 100 4- 1000 мкс) можно использовать чисто цифровые методы обработки. В более слож- ных случаях возможны комбинированные средства, в которых наиболее быстрые операции выполняются с помощью аналоговых схем, а ос- тальные — на Основе цифровой техники. В этих случаях важным воп- росом является определение рационального соотношения между ана- логовой и цифровой частями устройства обработки. - В реальных РТС задачи поиска и обнаружения ФМ-сигналов ус- ловно разделяются на два вида: 1) обнаружение сигналов с известной фазой несущего колебания, когда осуществляется синхронизация приемного устройства с высокочастотным заполнением полезного сигнала; в этом случае операция поиска сводится к определению не- известного момента появления модулирующей последовательности; 2) обнаружение сигналов с неизвестной фазой, когда нельзя осу- ществлять предварительную синхронизацию. Рассмотрим подробно вторую задачу. Первая вытекает из нее как частный случай при опре- деленных упрощающих предпосылках. Согласно теоретическим рекомендациям (см., например, [50]) оптимальная обработка ФМ-сигналов с неизвестной начальной фазой (т. е. фазой высокочастотного заполнения) сводится к формированию усредненного по неизвестной фазе функционала г(т) вида (4.3) (назы- ваемого корреляционным интегралом) путем вычисления среднего геометрического от двух квадратурных составляющих zs(t) и zc(t), определяемых как И и (0 sin [2~/0 (t — т) + <pft (t — т)]й/, ZC (т) = J U (0 eos [2к/0 (t — т) + <pft (t — Л=)]Л, о (4.Ю) (4.П)
где <Рй(О — закон фазовой манипуляции сигнала, описываемый ку- сочно-постоянной функцией, равной 0 или л на интервале дискрети- зации (k—l)At t < /гД( (см. рис. 4.17). При этом результатом внутри периодной обработки ФМ-си гнала на некотором /-м периоде повторения является значение функции 2 (т>)~ 2^(Ту) +Z*(T;), (4.12) соответствующее дискретному значению измеряемого параметра т,- = = /Д,;. Поскольку практическая реализация операции вида (4.12) вы- зывает определенные технические трудности, в реальных устройствах Рис. 4.20. Схема двухканального (квадратурного) коррелятора обычно используются приближенные операции, чаще всего так назы- ваемая модульная аппроксимация, которая имеет вид z (ъ) = I zs (ъ) | + | zc (ту) |, (4.13) или различные ее модификации 150]. В литературе (например, [50]) широко освещены аналоговые схемы обработки ФМ-сигналов, реализующие операции (4.10), (4.11) и (4,12) или (4.13). Такие схемы можно назвать квадратурными (или двухканальными) корреляторами, в отличие от обычных (одно- канальных) корреляторов, реализующих только одну из операций (4.Ю) или (4.11) и используемых в случае обработки ФМ-сигналов с известной начальной фазой (этот случай, как уже отмечалось, мо- жет рассматриваться как частный случай, вытекающий из рассмат- риваемого алгоритма (4.10)—(4.12) при ас(т)=0 или zs(t)=0). Здесь остановимся подробнее на возможностях цифровой реализации таких корреляторов и укажем ограничения, приводящие на практике к не- обходимости частичного применения аналоговых элементов. Хорошо известная схема двухканального (квадратурного) корре- лятора изображена на рис. 4.20, где ss(t) — sin[2-r/0/ + <Рд(01 обо- значает одну из квадратурных составляющих опорного сигнала (дру- гая sc(t) образуется с помощью фазового сдвига на л/2), а операция f(z) условно обозначает операцию вычисления квадрата или модуля ком- понентов zs(x) и zc(t) в соответствии с (4.12) или (4.13). В зависимости от параметров полезного сигнала ss(t) различные операции в этой схе- ме можно выполнять аналоговым либо цифровым способом. В данном случае наиболее трудно выполнимой на элементах цифровой техники
является операция умножения, так как она должна формировать произведение двух гармонических функций u(t) и ss,c (t—т), имеющих несущую частоту f0 и неизвестный фазовый сдвиг Л<р. Как показано на рис. 4.21, результатом умножения является знакопеременная функция v(t) удвоенной частоты, поэтому время выполнения операции умножения не должно превышать четверти периода несущего ко- лебания То = 1//0, т. е. Ло<70/4 = 1/4/0. (4.14) Это условие является основным ограничением, накладываемым на быстродействие элементной базы и препятствующим цифровой реа- лизации схемы на рис. 4.20. Рис. *4.21. Умножение двух гармонических функций при различных фазовых сдвигах Известным способом упрощения цифровой реализации операции умножения с целью сокращения аппаратурных затрат и снижения требований к быстродействию элементной базы является использова- ние бинарной дискретизации функций-сомножителей u(t) и s(/). Смысл операции умножения бинарных функций 0, если и (/) > 0 1, если tz(Z)<0 и sfc(0 = 0, если s (t) > 0, 1, если s(£)<;0 (4.15) поясняется таблицей истинности (табл. 4.3), кую функцию vb — f(ub, sb) во взаимосвязи умножения аналоговых символов u(t) и s(/). описывающей логичес- с исходной операцией Таблица 4.3 и S иь sb V vb + + + + 0 0 1 1 0 1 0 1 + 1 1 + 0 1 1 0 Как видно из этой таблицы, произведение двоичных функций сов- падает с их суммой по mod 2, т. е. ^6 — Wfc ® Sb —V Uffth— (ub sb) (ub Sfc) . (4.16)
Операция (4.16) выполняется с помощью простейшей логической схемы (сумматора по mod 2), быстродействие которой определяется временем переключения двух последовательно соединенных элементов И—НЕ. Следовательно, исходя из ограничения (4.14), для реализа- ции операции бинарного умножения выбирают базовые элементы с временем переключения /п, удовлетворяющим условию: < Л /2 < < Т0/8 = 1/8/0. Соответствующая этому условию схема обнаружителя ФМ-сигнала на основе квадратурного (двухканального) цифрового коррелятора Рис. 4.22. Функциональная схема цифрового обнаружи- теля ФМ-сигиалов представлена на рис. 4.22, где опущены аналого-цифровые элементы (бинарные квантователи), выполняющие операции (4.15) для согласо- вания цифровой схемы с реальными аналоговыми сигналами u(t) и ss(t). В этой схеме операции умножения vbs(t) = ub(t)sbs(t) и пйс(0 = = ub(t)sbc(t) выполняются сумматорами по mod 2, а интегрирование бинарных функций vbs(t) и vbc(t) — синхронными реверсивными счет- чиками, на вход которых подается тактовая последовательность с пе- риодом Т0/4. Время интегрирования задается с помощью специаль- ного сигнала ТфМ, разрешающего работу счетчиков (после предва- рительного обнуления) во время прихода опорного сигнала sbs(t—т) (имеющего длительность тфм). По окончании интервала Та с выхо- дов счетчиков снимаются знакопеременные двоичные числа ±zs(t) и ±zc(x), причем отрицательные снимаются в дополнительном коде. Операция вычисления функции z(t) = |zs(x)| + |zc(t)| и срав- нения ее с порогом К может выполняться специализированным ариф- метическим устройством (при аппаратной реализации обнаружителя) или универсальным вычислительным устройством (при аппаратно- программной реализации). В последнем случае после окончания ин- тервала тфм должна выполняться операция ввода чисел ±zs и +zc в вычислительное устройство, а затем их программная обработка, ко- торая должна завершаться к моменту прихода следующего ФМ-сиг- нала, т. е. время программной внутри периодной обработки не должно превышать значения (Ти —тФМ). Это условие не является трудно вы- полнимым, так как необходимые здесь арифметические операции от-
носятся к простейшим и не требуют больших затрат времени. Более сложной технической задачей является аппаратная реализация соот- ветствующего арифметического устройства при большой разрядности двоичных чисел zs(t) и zc(t), так как кроме операции суммирования требуется вычисление модуля отрицательных чисел, т. е. выполнение операций преобразования дополнительного кода (снимаемого с ревер- сивного сетчика) в прямой. Отсюда следует, что при наличии в составе Рис. 4.23. Временные диаграммы, поясняющие работу об- наружителя ФМ-сигнала: а — т=/а; б — -r=ta+Af РТС микропроцессорного вычислительного устройства операцию вы- числения функции z(x) = |zs(t)| + |zc(t)| [или другой аналогичной функции, например, (4.12)] целесообразно отнести к программной части алгоритма обработки сигнала. Поэтому не будем останавливаться на деталях практической реализации арифметического устройства, а поясним принцип работы рассматриваемого цифрового обнаружителя. Для этого на рис. 4.23 представлены временные диаграммы, соответ- ствующие конкретному ФМ-сигналу (см. рис. 4.17, в) после фазовой демодуляции при двух значениях измеряемого параметра т. На этих диаграммах верхний уровень бинарных функций соответствует ну- левому сигналу, а нижний — единичному. Значения сигналов vbs и vbc управляют режимом реверсивных счетчиков (т. е. знаком при- ращений функций zs и zc на рис. 4.23): vb = 0 соответствует режиму суммирования; vb = 1 — режиму вычитания входной тактовой по- следовательности (см. табл. 4.3). Из рис. 4.23 видно, что по оконча- нии обработки ФМ-сигнала цифровым коррелятором за время т®м числовое значение функции z(x) = |zs(x)| + |zc(x)| будет наибольшим при полном совпадении опорного сигнала sbs (t—т) с полезным сигналом, содержащимся в принятой реализации ub(t). Поэтому при сравнении результата обработки с определенным поро-
говым уровнем К решение об обнаружении сигнала вырабатывается с большей вероятностью в тот момент времени, когда значение аргу- мента т совпадает с истинным значением измеряемой задержки t3 с точностью до дискрета фазовой манипуляции. Таким образом, поиск ФМ-сигнала по неизвестному параметру t3 сводится к последовательному изменению параметра т, задающего временную задержку опорного сигнала ss(t—т), и выполнению с по- мощью цифрового коррелятора операции внутрипериодного накопле- ния сигнала для каждого из фиксированных значений т7- = /До (/ = = [1, т]), образующих полное множество дискретных значений изме- ряемого параметра на заданном априорном интервале. Как уже отме- чалось, оптимальной оценкой параметра t3 является значение ту, максимизирующее функцию z(tj) при условии превышения ей задан- ного порогового уровня К [см. обсуждение выражения (4.8) и (4.9)]. Однако для упрощения процедуры поиска в широком априорном ин- тервале на практике ограничиваются выполнением операции сравне- ния с порогом, полагая, что при высоком качестве обнаружения его превышение происходит только в одной точке чу-, соответствующей максимуму функции z(t7). Эта точка превышения порога, т. е. значе- ние ту, при котором z(t,) > К, и принимается в качестве грубой оцен- ки параметра ts, которая является конечной целью (и результатом) операции поиска. В заключение заметим, что если вероятностью превышения порога К в нескольких дискретах заданного интервала измерения пренебречь нельзя, то необходимо выбрать максимальное из нескольких значений z(tj), превысивших порог. Это значение соответствует оптимальной оценке удовлетворяющей условию z(t7) = max z(tj). Однако эта операция относится уже к классу задач, связанных с точным измере- нием параметров радиотехнических сигналов. § 4.3. УСТРОЙСТВА ВРЕМЕННОЙ ФИКСАЦИИ И ДИСКРИМИНИРОВАНИЯ СИГНАЛОВ В состав аппаратной части РТС (см., рис. 4.3, 4.5) наряду с уст- ройствами поиска и обнаружения сигналов могут входить так назы- ваемые дискриминаторы. Их функциональным назначением является отсчет рассогласования текущего значения измеряемого па- раметра (по отношению к априорному значению) в пределах интервала селекции полезного сигнала. Операция селекции при захвате сигнала выполняется устройством поиска и обнаружения, а в режиме слеже- ния — управляемым устройством селекции, которое осуществляет непрерывное отслеживание изменений временного положения сигнала в соответствии с результатами измерений в сглаживающем фильтре (рис. 4.3). Алгоритм обработки принимаемого сигнала в дискриминаторах можно условно разделить на две операции: 1) формирование карах-
тернои точки отсчета времени прихода сигнала и 2) определение отклонения этой точки от предполагаемого значения, выработанного ранее, на основе предшествующей обработки (фильтрации н экстра- поляции измеряемого параметра). Первая операция называется фик- сацией временного положения сигнала и в ряде случаев может выполняться аналоговым способом. Например, в случае приема коротких импульсных сигналов, когда оптимальная внутрипериодная обработка осуществляется с помощью согласован- Рис. 4.24. Структурная схе- ма аналого-цифрового временного дискриминато- ра (а) и поясняющие ее временные диаграммы (б): уф — устройство фиксации; ФС — формирователь строба, ПВК.~ преобразователь вре- мя — код ного фильтра, формирующего функцию а(т)' вида (4.3), оптимальная операция фиксации сводится к определению точки максимума т функ- ции и(т) и может выполняться путем аппаратного дифференцирования этой функции в реальном времени с помощью аналоговых устройств на основе /?С-цепей и операционных усилителей. В подобных случаях роль цифровых схем, осуществляющих сопряжение дискриминатора с последующим устройством фильтрации, сводится к выполнению аналого-цифровой операции преобразования временного интервала е между точкой фиксации т и некоторым заранее выработанным (апри- орным) значением ta в цифровой код Принцип построения таких дискриминаторов поясняется струк- турной схемой и временными диаграммами на рис. 4.24. Здесь пока- зан случай фиксации по максимуму функции а(т), хотя не менее ши- роко распространены упрощенные способы, например по точке пере- сечения функцией z(t) определенного порогового уровня и др. [43]. В таких аналого-цифровых дискриминаторах схемы фиксации строят- ся на основе хорошо известных дифференцирующих и пороговых схем, а преобразователи время —код могут использовать различные прин- ципы построения, подробно описанные в [53] и рассмотренные в [22] с точки зрения взаимодействия преобразователей с вычислительным устройством. Поэтому не будем останавливаться на этих вопросах и
рассмотрим способ обработки сигналов в устройствах дискриминиро- вания, допускающий более широкие возможности цифровой- реали- зации схемы дискриминатора. Этот способ основывается на том,что оптимальная процедура оце- нивания временного параметра сигнала, которая состоит в решении уравненая -^-Ф-1 =0, (4.17) dx | а т где z(t) определяется выражением вида (4.1), сводится к формирова- нию функции т d(x) = = J и (/) т)- dt (4.18) о и ее линейной аппроксимации в окрестности точки т, удовлетворяющей уравнению (4.17). При такой аппроксимации решение (4.17) опреде- ляется с учетом соотношения d(ta) — с(т—ta) = се, из которого вид- но, что значение функции d(r) в точке т = ta характеризует отклоне- ние е текущей оценки т измеряемого параметра от выбранного ранее значения ta с точностью до масштабного коэффициента с, зависящего от параметров полезного сигнала и характера мешающих воздействий. Отсюда следует, что одной из основных операций обработки сигнала в измерительной системе является выработка значения d(ta), пропор- ционального оценке е временного рассогласования е = ta—ta. Эту операцию выполняет дискриминатор. Структура устройства обработки, выполняющего операции над принятой реализацией u(t) в соответствии с (4.18)., зависит от вида полезного сигнала s(t), который необходимо конкретизировать для дальнейшей детализации рассматриваемых устройств. Начнем с про- стейших некогерентных импульсных сигналов с заданным законом амплитудной модуляции a(t—1„_) и неизвестным параметром опре- деляющим временное положение пачки импульсов (характерным при- мером является амплитудно-импульсная угломерная система). Заме- тим, что задача точного измерения параметра имеет смысл при ус- ловии, что предварительно выполнена операция поиска и селекции импульсов, передающих амплитудную информацию, так что полезный сигнал представляет собой дискретную функцию вида = (4.19) t=i где б -функция используется для описания периодической последо- вательности импульсов с известным временным положением, форма которых не играет роли с точки зрения дальнейшей обработки сиг- нала; так как вся информация заложена только в амплитудах им- пульсов.
Ь этом случае подстановка (4.19) в (4.18) дает выражение для алгоритма обработки принимаемой реализации: i=l г = ta i=l (4.20) где и{ = u(iT^ — выборочные значения реализации u{t) в дискретные моменты времени, соответствующие известным моментам прихода сигнальных импульсов; bi(ta ) = da(iTB —т)/б/т|т=/„ — весовые коэф- фициенты, вычисляемые заранее для дискретных значений параметра j=2,dj-^0 j=O,dj=O j=-2\dj>0 а) 6) 6) Рис. 4.25. Временные диаграммы, поясняющие определение весовых коэффициентов bj_j в оптимальном алгоритме дискриминирования: a—j=2, dt<C; 6 — i=0; dt=0; e — j=—2, df>0 ta. Для упрощения аппаратной реализации устройства дискримини- рования удобно принять интервал дискретизации параметра ta равным периоду повторения импульсов Ти, так как из аналитического опре- деления коэффициентов bi(t«) в (4.20) следует, что bi(jTH) — bi_j(O) — = bi_j и алгоритм (4.20) в этом случае можно записать в виде di^dfjTJ^bi.jUi. (4.21) Таким образом, оптимальный алгоритм дискриминирования в уст- ройствах измерения временного положения пачки импульсных сиг- налов сводится к весовому суммированию выборочных значений сиг- нала ut, подобно рассмотренному в § 4.2 алгоритму обнаружения пачки импульсов с известным временным положением [ср. (4.21) и (4.2)]. Различие этих алгоритмов заключено в определении весовых коэффициентов, которые в данном случае определяются как _ da (iTa — t) dx da (t) dt (4.22) И В силу полной аналогии алгоритмов (4.21) и (4.2) схема дискрими- натора, выполняющего рассматриваемый алгоритм, подобна схеме обнаружителя на рис. 4.7 (если не считать пороговое устройство, вы- полняющее функции решающего элемента, который в данном случае является излишним). Результатом обработки сигнала в дискримина-
торе является накопленное в регистре памяти цифровое значение функции dj, соответствующее дискретному значению аргумента 1о] = = jTa. Как видно из (4.21), (4.22), изменение аргумента /Ти сводится к сдвигу последовательности весовых коэффициентов {6г-_>, i = [1, п]} относительно последовательности принятых выборочных значений {uit i =? [1, «]}> как показано на рис. 4.25 для трех значений аргу- мента ta, соответствующих отрицательному, нулевому и положитель- ному рассогласованиям е. Требуемый сдвиг в зависимости от цело- численного значения / осуществляется в схеме рис. 4.7 с помощью устройства выборки, выполняющего функции управления адресацией ЗУ, в котором хранится массив весовых коэффициентов. 11111111 цХГТГТк ^iiiiiiii t t t b> A Illi A Illi hip / 4 111/ 1111/ a) 6) 6) Рис. 4.26. Варианты упрощения алгоритма дискриминирования: а — бинарное квантование сигнала; б — бинарное квантование весовых коэффи- циентов; в — сочетание вариантов а и б Так же как и при обнаружении сигналов, использование схемы рис. 4.7 для выполнения алгоритма (4.21) требует больших аппара- турных затрат, поэтому на практике используют упрощенные (квази- оптимальные) схемы цифровых накопителей, изображенные на рис. 4.8—4.10. Схемы этих рисунков могут служить основой для раз- работки схем квазиоптимальных дискриминаторов, если под опера- цией суммирования понимать алгебраическое суммирование знако- переменных чисел (так как в данном случае коэффициенты bt_j могут быть и положительными, и отрицательными, в отличие от коэффици- ентов at в схемах обнаружителей рис. 4.7—4.10). Соответствующие этим схемам упрощения алгоритма дискримини- рования поясняются рис. 4.26 (ср. с рис. 4.25). Первое упрощение (рис. 4.26, а) связано с использованием бинарной дискретизации входных данных ut по правилу 1, если щ ыкв, 0, если нг <пкв. При этом схема дискриминатора полностью повторяет схему рис. 4.8 (без порогового устройства), если помнить о том, что сумматор должен выполнять операцию алгебраического сложения знакопеременных коэффициентов bt. Это первое упрощение. Второе упрощение (рис. 4.26, б) использует бинарную дискрети- зацию последовательности весовых коэффициентов bt по правилу й __ | 1, если bi >0, 1 ( — 1, если bt<fi.
Соответствующая схема дискриминатора (которая строится на основе схемы рис. 4.9) показана на рис. 4.27. В ней раскрывается принцип выполнения операции попеременного сложения и вычитания, состоя- щий в том, что при = —1 на вход сумматора подается дополни- тельный код выборочных значений uiR, образуемый наряду с прямым кодом н(п в аналого-цифровом преобразователе (АЦП) входного сиг- нала в моменты прихода селектирующих импульсов (стробов). По истечении п операций суммирования (после предварительного обну- ления) в регистре памяти образуется численное значение функции dj Рис. 4.27. Структура дискриминатора с бинарным квантованием коэффициентов * с соответствующим знаком, характеризующим знак оценки рассогла- сования в = т—ta (см. рис. 4.24), причем отрицательные значения dj получаются в дополнительном коде. Третье возможное упрощение алгоритма дискриминирования (рис. 4.26, в) представляет собой сочетание первых двух и приводит к простейшей схемной реализации, подобной одному из вариантов, приведенных на рис. 4.10. Схема первого варианта дискриминатора (основанного на схеме рис. 4.10, а) приведена на рис. 4.28 и отлича- ется от схемы рис. 4.10, а тем, что в качестве накапливающего элемен- та используется реверсивный счетчик, выполняющий суммирование или вычитание единиц в зависимости от знака коэффициентов рг_,, который фиксируется триггером Tt. Результатом дискриминирования п в этой схеме является знакопеременное число: dj = 'V &г, на- г=1 капливаемое реверсивным счетчиком за время поступления п вы- борочных значений сигнала {&,, i = [1, п]}. Отрицательные значения содержатся в реверсивном счетчике в виде дополнительного кода, а признаком смены знака с отрицательного на положительный явля- ется переход счетчика из состояния 00...00 в состояние 00...01. Этот признак фиксируется специальной схемой выработки знака, включаю- щей в себя дешифратор указанных состояний и элемент памяти, со- храняющий выработанный знак до следующего цикла дискримини- рования. Один из способов определения знака накопленного числа dj, ко- торый используется в схеме на рис. 4.28, основывается на том, что
если объем счетчика хотя бы на две единицы превышает максимальное накапливаемое число (равное п/2), то состояние счетчика 00...01 соот- ветствует только положительному числу (в прямом коде), так как оно не может быть достигнуто в режиме вычитания (когда состояние счет- чика меняется в порядке убывания дополнительного кода от значения Nm = 11---Н До (Nт—п/2) > 00...001). Следовательно, если перед началом операции Дискри- минирования реверсивный счетчик установлен в состо- яние 00...00, а триггер зна- ка — в состояние «—» (по- скольку первыми приходят импульсы |Зг_у = —1, как показано на рис. 4.28, б), то состояние 00...01 достигается только в момент смены знака накапливаемого числа с от- рицательного на положитель- ный. Обратная смена знака в процессе накопления ис- ключена и происходит только перед началом операции дис- криминирования. Это состоя- ние однозначно фиксируется дешифратором, выходной сиг- нал которого устанавливает триггер знака (Т2) в состоя- ние «-)-» Схемы цифровых дискри- минаторов (рис. 4.27, 4.28) соответствуют предположе- нию об импульсном характе- ре принимаемого сигнала, что отражается формулой (4.19). В таком сигнале передавае- мая информация о параметре 4 заключена в огибающей Рис. 4.28. Функциональная схема бинар- ного временного дискриминатора (а) и поясняющие ее временные диаграммы (б) a(t—ta ), а периодическая импульсная последовательность выполняет естественную дискретизацию непре- рывной функции a(t—ta )• Аналогичные схемы получаются при цифровой обработке сигналов, представляющих собой непрерывную функцию s(t—ta ) — a(t—ta ) (высокочастотная составляющая опу- скается, так как не играет никакой роли при обработке подобных сигналов). В этом случае дискретизация принятой реализации u(t) выполняется искусственным путем и состоит в преобразовании непре- рывной функции u(t) к дискретному виду «д(л = 2и(/)8(/_1Ти)’ i=i (4.23)
где 7 и равняется периоду следования импульсов, осуществляющих операцию дискретизации. Подстановка (4.23) в (4.18) дает то же самое выражение (4.20) для оптимального алгоритма обработки сигнала, и,, следовательно, в данном случае также можно применять рассмотрен- ные схемы цифровых дискриминаторов. Остановимся на особенностях операции временной дискретизации е точки зрения практической реализации рассмотренных схем обра- ботки радиотехнических сигналов. Эта операция иллюстрируется рис. 4.29, где показано, что за время одного периода дискретизации •обр • АЦП Рис. 4.29. Дискретизация аналогового сигнала u(i) при цифровой обработке в реальном времени (показана на рис. 4.29. штриховкой) мого алгоритма и быстродействия Тп кроме операции аналого- цифрового преобразования (про- должительностью Тдцп) должна выполняться совокупность опе- раций (арифметических, логи- ческих и т. д.), соответствующих одному шагу обработки сигнала в алгоритме дискриминирования (например, в схеме на рис. 4.27 это операция алгебраического сложения, пересылка числа из регистра памяти и обратно в регистр). Продолжительность каждого шага обработки Тобр зависит от сложности выполняе- применяемой элементной базы. При малой длительности полезного сигнала (ta на рис. 4.29) реа- лизация оптимального алгоритма дискриминирования (4.21) и близ- ких к нему алгоритмов, использующих многоуровневую дискретиза- цию выборочных значений ut или коэффициентов bt_j (рис. 4.26, а, б), сопряжена с очень высокими требованиями к быстродействию схем- ных элементов. Поэтому при обработке коротких импульсных сигна- лов = 1 -т- 10 мкс) следует отдать предпочтение простейшей схеме цифрового временного дискриминатора (рис. 4.28). Следует заметить, что этот вариант обладает наибольшими потерями в качестве обработ- ки сигнала, так как отличается большими отступлениями от оптималь- ности. Этот простейший вариант цифрового дискриминатора можно трактовать как цифровую реализацию известной схемы аналогового временного дискриминатора с интегрированием импульсного сигнала на 7?С-цепях в течение двух полустробов с переключением полярности интегрируемого напряжения [43]. Как видно из рис. 4.28, в цифровой схеме также происходит интегрирование сигнала в течение одного полустроба с отрицательным знаком (£г_у = —1), а в течение другого — с положительным (pf_j = +1), причем конечным эффектом является ал- гебраическая сумма противоположных по знаку результатов интегри- рования. Это подчеркивает взаимосвязь рассмотренных цифровых схем с традиционным, широко известными схемами дискриминирования. Из изложенного материала видно, что основной вопрос реализа- ции цифровых дискриминаторов — это выяснение возможностей
упрощения выполняемых алгоритмов обработки с целью снижения требований к быстродействию элементной базы и уменьшения аппа- ратурных затрат. В связи с этим рассмотрим еще один способ упро- щения операции дискриминирования-. Это известный из аналоговой техники приближенный способ вычисления производной функции ,z(t) путем формирования конечной разности Az (т) = z (т + Д/2) — z (т — Д/2). (4.24) Этот способ оказывается особенно полезным при обработке слож- ных сигналов, когда оптимальный алгоритм дискриминирования не приводится к виду (4.18) в силу более сложного аналитического опи- сания функции z(t). Точное вы- числение производной d(u) = = dz(i;)/dt в этом случае затруд- нительно по той же причине, поэтому наиболее реальной воз- можностью аппаратного вычи- сления производной является образование конечной разности вида (4.24). Соответствующая схема временного дискримина- тора ФМ-сигнала приведена на Рис. 4.30. Структура временного дл. скриминатора сложного сигнала рис. 4.30 и состоит из двух идентичных цифровых корреляторов (см. рис. 4.22) и вычитающего устройства, выполняющего операцию алгеб- раического вычитания положительных чисел. Результатом обработ- ки сигнала, как и во всех других схемах дискриминирования, явля- ется численное значение конечной разности Дг(т) с соответствующим знаком, указывающим знак рассогласования оцениваемого времен- ного положения ФМ-сигнала относительно опорного значения т, содержащегося в эталонном сигнале sbs(t—т). Рассмотренные принципы построения цифровых временных дискри- минаторов основываются главным образом на корреляционном методе обработки сигналов, когда функция г(т) или ее производная с/(т) фор- мируется путем вычисления коэффициента корреляции между при- нятой реализацией u(t) и опорным сигналом s(t—т) или ds(t—т)/Л при фиксированном значении неизвестного параметра т. В то же время формирование функции dx = dz(t)/dT; можно выполнить в реальном масштабе времени для целого набора дискретных значений аргумента Ту = ]Та (j = [—п/2, п/2]), подобно тому как это делалось в устрой- ствах поиска с использованием принципа согласованной фильтрации. Схемы межпериодного накопления, выборочных значений сигнала (рис. 4.14—4.16) при задании весовых коэффициентов в соответствии с определением (4.22) можно рассматривать как межпериодные фильт- ры , согласованные с производной полезного сигнала. Подобные схемы используют для аппаратного вычисления совокупности п значений дискретной функции d(jTa) в реальном времени по одной принятой реализации, однако эта возможность связана с большими аппаратур- ными затратами (по сравнению с корреляционными схемами).
Глава 5 ПОСТРОЕНИЕ МИКРОПРОГРАММНЫХ ДИСКРЕТНЫХ УСТРОЙСТВ § 5.1. МИКРОПРОГРАММНЫЕ ДИСКРЕТНЫЕ УСТРОЙСТВА И ПОРЯДОК ИХ ПРОЕКТИРОВАНИЯ Рассмотренные метода и приемы синтеза дискретных устройств (ДУ) использовали их представление в виде совокупности двух ос- новных блоков: комбинационного логического и блока элементов па- мяти. Такой подход обладает универсальностью и обеспечивает хо- рошие результаты при построении относительно несложных ДУ. Однако полученные на его основе процедуры синтеза ДУ оказываются чрезмерно громоздкими и трудоемкими при построении устройств; средней и большой сложности, имеющих важное практическое значе- ние. Работа таких устройств обычно заключается в реализации не- которого алгоритма обработки информации, т. е. в выполнении упо- рядоченной последовательности определенных операций над посту- пающими данными. При построении таких ДУ целесообразно исполь- зовать принцип микропрограммного управления, состоящий в сле- дующем [37]: 1) любая операция, реализуемая устройством, рассмат- ривается как сложное действие, которое разделяется на последователь- ность элементарных действий, называемых микрооперация- ми; 2) для управления порядком следования микроопераций исполь- зуются логические условия xt, принимаемые в зависимости от резуль- татов выполнения микроопераций значения 1 или 0; 3) процесс вы- полнения операций в устройстве описывается в форме алгоритма, пред- ставленного в терминах микроопераций и логических условий и назы- ваемого микропрограммой; 4) микропрограмма использу- ется как форма представления функции устройства, на основе которой определяются его структура и порядок функционирова- ния. При использовании описанного принципа принято делить ДУ на две части: операционный автомат (ОА) и управляющий автомат (УА) (рис. 5.1). ОА предназначен для хранения поступающей информации I, выполнения заданного набора микроопераций, выработки значений логических условий X = (х0, xlt ..., xt) и выходных сигналов Z. УА генерирует последовательность управляющих сигналов V = (у0, ylt ... ..., ут) в соответствии с заданной микропрограммой и со значениями логических условий X. Каждый управляющий сигналу инициирует выполнение соответствующей микрооперации в ОА. В общем случае ДУ предназначается для выполнения ряда микропрограмм, и на УА подается внешний сигнал В, в соответствии с которым начинается выполнение той или иной микропрограммы. Если ДУ является частью; системы обработки информации, то оно может также обмениваться специальными сигналами логических условий ХВш и управления УЕШ с другими блоками системы [7].
В состав ОА входят главным образом типовые функциональные узлы: регистры, счетчики, сумматоры, дешифраторы, шифраторы, арифметико-логические устройства (АЛУ), схемы сравнения, блоки памяти, схемы пересылки данных и т. п. Число элементов памяти (ЭП), содержащихся в ОА, определяется разрядностью обрабатываемых данных пд, которая может быть достаточно большой. Однако трудо- емкость и сложность проектирования ОА, как правило, слабо зависят от пд в силу широкого использования стандартных узлов. Таким об- разом, ОА является исполнительной частью устройства; его состав и структура могут быть одинаковыми для реализации многих алгоритмов одного класса. Объем оборудования УА зависит от сложности реализуемого алгоритма и от структуры этого автомата, которую можно выполнить в трех вариантах. 1. УА с жесткой (схемной, произволь- ной) логикой, при которой переключатель- ные функции, необходимые для формиро- вания заданной последовательности управ- ляющих сигналов Y, реализуются с по- Рис. 5.1. Обобщенная структурная схема ми- кропрограммного диск- ретного устройства мощью логических элементов с произволь- ными связями (обычно с применением схем с малой и средней степе- нями интеграции). Здесь используется аппаратный подход к реали- зации устройства. 2. УА с хранимой в памяти (гибкой, програм- мной) логикой, при которой сигналы Y вырабатываются на основе совокупности управляющих слов, хранимых в памяти автомата. В этом случае составленные микропрограммы используются в явной форме и обычно записываются в постоянные запоминающие устрой- ства (ПЗУ), выполненные на основе полупроводниковых БИС боль- шой емкости, что позволяет обеспечить регулярность структуры УА и его компактность; здесь используется аппаратно-программный под- ход к реализации устройства. 3. УА на основе программируемых логических матриц (ПЛМ), в котором заданные функции реализуют- ся с помощью БИС ПЛМ, что позволяет сочетать многие достоин- ства первых двух вариантов. Таким образом, использование принципа микропрограммного, управления позволяет упорядочить и упростить процедуру логиче- ского проектирования ДУ, обеспечить регулярность их структуры, а также открывает возможность широкого применения современных БИС. Принцип микропрограммирования применяется при создании микропроцессоров и устройств на их основе. Это не только позволяет упорядочить управление, но и дает возможность формировать систему команд микропроцессоров по своему усмотрению, исходя из имею- щейся системы микрокоманд. Рассмотрим порядок проектирования микропрограммного ДУ, который состоит из следующих основных этапов [42]. Запись алгоритма. По описанию отдельных алгоритмов, реализуе- мых устройством, составляется их формализованная запись в виде
граф-схем алгоритмов (ГСА). Для этого составляется список необхо- димых микроопераций Y3 и соответствующих им управляющих сиг- налов у3, а также логических условий xt. Далее при необходимости производится минимизация числа вершин ГСА и составляется объеди- ненный ГСА, являющийся формой здания ДУ для выполнения сле- дующих этапов. Построение ОА. В общем случае ОА может быть построен по канонической схеме автомата и содержит три основные части: блок элементов памяти для хранения операндов, а также промежуточных и конечных результатов; комбинационную схему, реализующую набор микроопераций; комбинационную схему, вырабатывающую значения логических условий. Как уже отмечалось, при построении ОА целесообразно применять типовые узлы, а также стремиться ис- пользовать отдельные узлы для выполнения нескольких микроопе- раций. Построение УА. Сначала выбирают вариант структуры УА учи- тывая требования быстродействия, допустимый объем аппаратуры и другие ограничения. Далее осуществляется синтез УА в соответствии с процедурой, зависящей от принятой структуры автомата. В результате выполнения этих этапов составляют структурные схемы ОА и УА и переходят к техническому проектированию, которое включает вопросы практической реализации схемы устройства на вы- бранной элементной базе, введение необходимых развязывающих, уси- ливающих и формирующих каскадов, компоновку деталей на платах, составление монтажных схем и выдачу технической документации. Выполнение перечисленных этапов проектирования ДУ проил- люстрируем рядом простых примеров, посвященных разработке раз- личных вариантов одного ДУ, алгоритм работы которого описан в примере 5.1. Пример 5.1. Пусть требуется построить ДУ для вычисления угловой коор- динаты цели а по имеющимся координатам начала ан и конца ак пачки радио- локационных импульсных сигналов, отраженных от этой цели при обзоре про- странства. Величины ан и ак считываются с двоичного датчика текущего уг- лового положения антенны РЛС. Моменты считывания определяются по сиг- налам Xj и х2, поступающим от блока фиксации пачки в приемоиндикаторе РЛС. Эти сигналы отмечают выполнение критериев начала и конца пачки. Блок фик- сации пачки вырабатывает также сигнал х3, свидетельствующий о том, что нулевое направление находится в пределах принимаемой пачки импульсов. В зависимости от значения х3 вычисления производятся по одной из формул: а = 0,5 (ан + «к), если х3 = 0 ; (5.1) «= 0,5(<zH + «K) + А, если Хз=1, (5-2) где Д — двоичное значение константы, равной 180°. Результаты вычислений подаются в некоторое внешнее устройство ВУ. Перечислим действия, необходимые для выполнения алгоритма, и узлы, с помощью которых можно осуществить эти действия: сложение двоичных чисел, поступающих от датчика угловых координат (с помощью накапливающего сумматора S44); деление на два, которое не требует аппаратурных и временных затрат, поскольку может быть обеспечено смещением разрядов при считывании результата а; добавление константы К (с помощью датчика константы). Составим список микроопераций и соответствующих им управляющих сиг-
налов yj, а также список логических условии, используемых в данном алго- ритме: уг — SM: = SM + а£; у3 — ВУ: = ЗЛ4; Уъ — 5Л1 • “ 4* — SM ; = 0. (Знак : = соответствует оператору присваивания; ВУ — внешнее устройство). Заметим, что в данном случае все сигналы логических условий поступают на проектируемое ДУ извне. Составим теперь граф-схему алго- ритма (ГСА). ГСА — это ориентиро- ванный связный граф, задающий по- следовательность выполнения опера- ций данного алгоритма и содержащий ряд операторных и условных вершин, а также одну начальную и одну ко- нечную вершины. Оператор- ной называется вершина, которой сопоставляется одна или несколько микроопераций и отмечается соответ- М У» | «Ы 53 s’j sj | Конец ~] (а,) Рис. 5.2. Граф-схема алгоритма к примеру 5.1 схема операционного ав- томата ствующими управляющими сигналами у3, а условной — вершина, которой сопоставляется некоторое логическое условие xt. ГСА составляют так, чтобы обеспечить выполнение необходимых операций и проверку логических условий в соответствии со слове- сным описанием алгоритма, В данном случае сначала необходимо проверить выполнение условия xt: если xt = 1, то в сумматор SM записывается ан, в противном случае проверяется условие х2; если хг = 0, то никаких операций выполнять не нужно, а если х2 = 1, то производят вычисления по формуле (5.1) или (5.2) в зависимости от значения х3. Продолжая подобные рассуждения, строим искомую ГСА (рис. 5.2). В данном случае отпадает построение объединенной ГСА, так как здесь рассматривается только один простой алгоритм. На основании перечня микроопераций и реализующих их функцио- нальных узлов составим структурную схему ОА (рис. 5.3). Здесь широкими стрелками показаны шины, по которым передается информация, а тонкими — сигналы yit управляющие работой отдель- ных узлов или передачей информации по шинам.
§ 5.2. ПОСТРОЕНИЕ УА С ЖЕСТКОЙ ЛОГИКОЙ При использовании жесткой логики УА строится из разрозненных комбинационных логических схем и элементов памяти, так что изме- нение закона функционирования автомата возможно только путем переделки его схемы. Процедура построения УА заключается в выполнении следующих шагов: 1) осуществляют разметку ГСА для определения набора со- стояний автомата; 2) находят множество путей на ГСА для определе- ния переходов автомата; 3) строят граф переходов автомата и его структурную таблицу; 4) осуществляют кодирование состояний авто- мата двоичными наборами с учетом типов используемых триггеров; 5) производят синтез и минимизацию комбинационной схемы автомата в выбранном базисе логических элементов; 6) составляют структурную схему УА. Перед выполнением описанной процедуры необходимо решить, по какой модели будет строиться автомат: по модели Мили, когда вы- ходные сигналы y(t) автомата вырабатываются в зависимости от его внутренних состояний a(t) и от значений входных сигналов x(t): y(t) = f[a(t), x(t)], (5.1) или по модели Мура, когда выходные сигналы в каждом такте зависят только от его текущего состояния #(0 = Иа(0]. (5-2) Автомат Мили имеет число состояний, меньшее, чем автомат Мура, однако его комбинационная схема может оказаться сложнее. При сравнении моделей необходимо также учитывать, что у автомата Мили выходной сигнал формируется одновременно с переходом автомата в. новое состояние, что может затруднить сопряжение работы УА и ОА во времени. Рассмотрим выполнение отдельных шагов процедуры построения УА. Если выбрана модель автомата Мили, то разметка ГСА осуществ- ляется по следующим правилам: символом отмечается вход вершины, следующей за начальной, а также вход конечной вершины; вход каж- дой вершины, следующей за операторной, отмечается символом at, причем разным вершинам присваиваются разные символы; если вход вершины отмечается, то только одним символом. Пример 5.2. Осуществим разметку ГСА (см. рис. 5.2) по указанным пра- вилам. Всего требуется четыре символа а±, а%, а-, и каждому из которых ста- вится в соответстние внутреннее состояние автомата, причем начальным состоя- нием будет являться щ. Поскольку для реализации автомата с N состояниями требуется п > log2/V триггеров, то в данном примере достаточно использовать два триггера. Для удобства перехода от размеченной ГСА к графу автомата вво- дится понятие пути от отметки ат к отметке as как пути в направле- нии дуги ГСА, проходящего не более чем через одну операторную вершину. Путь обозначается следующим образом; ат^(ат, as)y(am, as)as, (5.3)
/Л а) б) Рис. 5.4. Графы переходов управля- ющих автоматов, построенных по модели Мили (а) и модели Мура (б) где Х(ат, cts) — конъюнкция логических условии хг, соответствую- щих условным вершинам на этом пути, причем xt берут в-прямой фор- ме, если из данной вершины путь выходит по стрелке «да» (1), и в ин- версной форме, если путь выходит по стрелке «нет» (0); у(ат, as) — содержимое операторной вершины, расположенной между отметками \ат и as. Допустимы пути, не содержащие условных вершин, а также пути, не содержащие операторной вершины. Рассматриваются все пути, кроме тех, в которых некоторое условие xt входит как в прямой, так и в инверсной формах. Граф переходов автомата строят следующим образом. Каждой отметке аг на ГСА ста- вят в соответствие вершину гра- фа, а каждому пути типа (5.3) ставят в соответствие переход из вершины ат в вершину as. Переход помечают конъюнкцией логических условий Х(ат, as) и выходными сигналами у(ат, as). Если в рассматриваемом пути отсутствуют логические верши- ны, то полагают Х(ат, as) = 1 (т. е. осуществляют безусловный переход); если же отсутствует операторная вершина, то полагают у(ат, as) = у0, где уй — пустой оператор. Пример 5.3. По ГСА (см. рис. 5.2) в соответствии с изложенной методикой построим граф переходов автомата Мили (рис. 5.4, а). Синтез автомата Мура аналогичен синтезу автомата Мили, но пра- вила разметки ГСА заключаются в следующем: символом cz4 отмеча- ются начальная и конечная вершины ГСА; каждая операторная вер- шина отмечается единственным и отличным от других символом аг. Пример такой разметки ГСА приведен на рис. 5.2, где соответст- вующие символы Gj, а2, .... ае заключены в скобки. При построении графа переходов автомата Мура (рис. 5.4, б) каж- дому пути вида amX(arn, as)as (5.4) на ГСА ставят в соответствие переход автомата из состояния ат в со- стояние as под действием входного сигнала Х(ат, as). При этом в каждом состоянии at автомат вырабатывает выходной сигнал yj, за- писанный в операторной вершине ГСА, отмеченной символом о,. Далее, исходя из имеющегося графа переходов, осуществляют шаги по построению УА в соответствии с общими правилами структурного синтеза автоматов. Особенностью УА является то, что он обычно яв- ляется частичным автоматом, поскольку многие сочетания входных сигналов оказываются невозможными; это упрощает как дальнейшую процедуру синтеза УА, так и структурную схему автомата.
Существенное значение имеет рациональное кодирование состоя- ний автомата, поскольку от выбранного варианта кодирования за- висит число обязательных членов в записи функций возбуждения триггеров автомата, что определяет сложность комбинационной схе- мы. Принципы рационального кодирования зависят от типа исполь- зуемых триггеров. Так, при реализации автомата на D-триггерах используют прежде всего двоичные наборы, имеющие возможно мень- шее число единиц (меньший вес), причем стремятся сопоставить на- боры с наименьшим весом тем состояниям, в которых имеется наи- большее число переходов. При реализации автомата на основе J-К, Т или D-S-триггеров принцип рационального кодирования состоит в минимизации суммарного числа изменений состояний триггеров на всех переходах автоматов. С этой целью связанные переходом состоя- ния стремятся кодировать такими двоичными наборами, расстояние между которыми минимально. В несложных случаях задача отыска- ния кодирования, близкого к оптимальному, решается перебором, в более сложных —: с помощью специальных алгоритмов поиска та- кого кодирования [8]. Задание автомата с помощью графа перехода обеспечивает нагляд- ность (особенно при небольшом числе вершин), но запись аналитиче- ских выражений для функций возбуждения триггеров и функций вы- ходов более удобно производить с помощью структурных таблиц (т. е. кодированных таблиц переходов и выходов). Каждая строка Eh таб- лицы определяет один переход автомата. В ней указываются: исход- ное состояние ат, его код К(ат), состояние перехода as, его код K(czs), входные сигналы Х(ат, as), выходные сигналы Y(am, as) и обязатель- ные функции возбуждения f[as, Х(ат, czs)J, обеспечивающие изме- нение состояния триггеров автомата. Пример 5.4. По графу переходов автомата Мили (см. рис. 5.4, а) построим структурную табл. 5.1. В качестве элементов памяти использованы D-триггеры и при кодировании состояний — все наборы, образуемые двумя триггерами (Д и Q2. По таблице записывают уравнения сигналов возбуждения и выходных сигналов yj. Для этого рассматривают все строки таблицы, в которых содержит- ся данная функция возбуждения (или данный выходной сигнал), и выписывают- конъюнкции Х(ат, as) и Д(ат), находящиеся в этих строках. Пример 5.5. По табл. 5.1 записываем следующие переключательные функ- ции: Таблица 5.1 № п/п ат К(а/Л) Q1Q2 °s K(as ) Q1Q2 X Y D 1 Ц] 00 «1 00 £1 У1 — 2 «j 00 а2 01 *1*2 У1 о2 3 а2 01 as 11 Хз У2 4 11 04 10 1 Уз О, 5 а4 10 01 00 1 Уь —
£\ — QjQs V Q1Q2» у% — Q1Q2X3» £*2 — Q1Q2 V Q1Q2» Уз — QjQs» #1= QiQ2*i V.Q1Q2 ВДС 4/4 = QiQ2- . (5.5) В общем случае подобные системы функций УА содержат большое число функций, зависящих от многих аргументов. Поэтому классические методы ми- нимизации здесь непригодны. Как показала практика, основное сокращение объема комбинационных схем достигается путем выделения общих частей функ- ций, что обеспечивает их совместную минимизацию, путем декомпозиции функ- ций, а также за счет рационального доопределения неполностью определенных функций. Структура формул вида (5.5) такова, что в них могут многократно повто- ряться конъюнкции выходных сигналов триггеров Q и входных сигналов х. Это делает целесообразным введение отдельного дешифратора состояний авто- мата, а нередко и дешифратора его входных сигналов. В рассматриваемом при- мере введем дешифратор состояний автомата со следующими выходными сиг- налами: «о = Q1Q2* «1 = Q1Q2* а2 = QiQ2» аз — QiQ2- Тогда выражения (5.5) примут вид £>1 = «1! У1 = a0Xj V «0*1*2! Уз = «з! £>2 = <Vi V “1; «/г = «1Х3: 4/4 = «2- (5-6) По полученной системе функций составляют функциональную схе- му УА (рис. 5.5). Построенный автомат изменяет свое состояние с приходом каждого тактового импульса ТИ и периодически повторяет цикл своей работы (который совпадаете циклом прохождения по ГСА). При этом УА должен осуществлять один цикл работы в каждом пери- оде зондирующих импульсов РЛС, рассмотренной в примере 5.1. Для удобства синхронизации можно ввести дополнительное состояние ав- Рис. 5.5. Структурная схема управляющего автомата с жесткой логикой
томата о0, в котором УА будет останавливаться после выполнения каждого цикла работы. В этом случае запуск УА будет осуществлять- ся переводом его из состояния а0 в состояние щ с помощью специаль- ного стартового сигнала В, привязанного во времени к зондирующему импульсу РЛС. Синтез УА по модели Мура на основе графа переходов осуществля- ется аналогичным образом. Отметим, что в общем случае УА может вырабатывать выходные сигналы у, характеризующие обе рассмотрен- ные модели. Особенности синтеза таких автоматов приведены в [7] § 5.3. ПОСТРОЕНИЕ УА С ПРОГРАММИРУЕМОЙ ЛОГИКОЙ НА ОСНОВЕ ПЗУ В отличие от УА с жесткой логикой, закон функционирования которого обеспечивается определенным образом соединенными логи- ческими элементами, в автоматах, построенных на основе ПЗУ, за- данная микропрограмма реализуется в явной форме и хранится в па- мяти в виде последовательности управляющих слов. Управляющее слово определяет порядок работы устройства в течение одного такта и называется ми крокомандой (МК). Она содержит информа- цию о микрооперациях, которые должны выполняться в данном такте, и (или) об адресе следующей микрокоманды. Формат МК в общем случае может содержать следующие части: операционную часть Y, состоящую из одного или нескольких полей, в каждом записывается номер выходного сигнала у}, вырабатываемого в данном такте; адресную часть, состоящую из поля X, в которое за- писывается номер логического условия xt (обычно единственного), проверяемого в данном такте, а также из поля А, в которое записыва- ется информация об адресе следующей МК; служебную часть Р, со- держащую вспомогательную управляющую информацию. Обобщенная структурная схема УА, выполненного на основе ПЗУ, дана на рис. 5.6. Перед началом работы на УА подается сигнал СБРОС, устанавливающий все триггеры автомата и регистра микро- команд (РМК) в нулевое состояние. Этим обеспечивается занесение содержимого нулевой ячейки ПЗУ в РМК при поступлении первого тактового импульса после подачи стартового сигнала В. С помощью дешифратора ДШК вырабатывается соответствующий выходной сиг- нал yj, а с помощью ДШХ определяется номер логического условия xf, проверяемого в данном такте. В зависимости от значения х(, про- шедшего через схему выбора Л У, и информации, поступающей из ад- ресного поля А, устройство формирования адреса следующей МК (УФАМК) вырабатывает адрес ячейки ПЗУ, содержимое которой бу- дет переписано в РМК в следующем такте. На УФАМК может также поступать внешний управляющий сигнал V, обеспечивающий, напри- мер, выбор определенного алгоритма из тех, чьи микропрограммы хра- нятся в ПЗУ автомата. Схема управления СУ (в некоторых вариантах УА она может отсутствовать) разрешает работу ДШУ или ДШХ в за- висимости от содержимого служебной части Р формата команд. В по- следнем такте выполнения микропрограммы на выходе ДШУ выраба-
тывается дополнительный сигнал ум+\, используемым как сигнал г останавливающий работу автомата и осуществляющий сброс всех его триггеров. Таким образом, структура УА с хранимой в ПЗУ ло- гикой стандартна, и в этом заключается одно из преимуществ рас- сматриваемой реализации автомата. Поэтому основные усилия направляются не на получение структурной схемы, а на составление кодированной микропрограммы, которая записывается в ячейки ПЗУ, Рис. 5.6. Обобщенная структурная схе- ма управляющего автомата, построен- ного на основе ПЗУ Рис. 5.7. Форматы команд при использовании адреса- ции: а и б — принудительной; в и г естественной т. е. центр тяжести при разработке УА смещается с аппаратных на программные средства. Процедура построения УА с хранимой логикой по имеющейся ГСА заключается в следующем. 1. Выбирают способ адресации и формат микрокоманд, причем стре> мятся сократить число двоичных разрядов в формате МК, что, как правило, позволяет уменьшить объем оборудования ПЗУ. При этом учитывают реальное быстродействие отдельных узлов УА и необхо- димость обеспечения заданного быстродействия автомата в целом При необходимости используют структурные методы повышения быст- родействия УА. 2. Производят разметку ГСА в соответствии с правилами, которые определяются выбранным способом адресации. 3. Составляют кодированную микропрограмму в виде таблицы, строки которой соответствуют отметкам на ГСА. 4. Выбирают типы необходимых микросхем и составляют струк- турную и принципиальную схемы автомата. Выполнив перечисленные этапы, переходят к технической реали- зации УА, которая во многом зависит от способа записи информации в используемое ПЗУ. Рассмотрим особенности выполнения отдельных этапов указанной процедуры. При построении УА используются главным образом два
вида адресации: а) принудительная (вкаждой МК указывается адрес следующей МК); б) естественная (адрес следующей МК в явном виде указывается лишь в некоторых МК, а в остальных случаях он принимается равным увеличенному на единицу адресу предыдущей микрокоманды). Формат МК при принудительной адресации может содержать как два адресных поля Ао, (рис. 5.7, а), так и одно Ао (рис. 5.7, б). В первом случае адрес следующей МК определяется в зависимости от значения проверяемого в данном такте условия xt следующим об- разом: в качестве адреса используется содержимое, поля Ао, если Xg — 0, и поля Ai — если xt = 1; безусловные переходы осуществ- ляются по адресу Ао. Во втором случае переходы при xt — 0, а так- же безусловные переходы осуществляются по адресу Ао, а переходы при Xg — 1 осуществляются к ячейке ПЗУ с адресом At — Ао + 1. Добавление единицы к Ао может быть осуществлено с помощью ком- бинационной схемы инкрементора в блоке УФАМК- При использовании двух адресных полей Ао и At разметка ГСА осуществляется следующим образом. 1. Начальная вершина отмечается символом s0. 2. Каждая операторная вершина, а также конечная вепшина от- мечаются символом sf, отличным от других вершин. Если число вы- ходных сигналов у}, записанных в некоторой вершине, превышает число операционных полей в формате команды, то число отметок у та- кой вершины увеличивают соответствующим образом. 3. Отмечается также каждая условная вершина, если ее вход связан со входом другой условной вершины; это вызвано тем, что в каждом такте анализируется только одно логическое усло- вие xt. Далее каждой отметке s; сопоставляется ячейка ПЗУ с тем же ад- ресом (номером) и таким образом составляется таблица содержимого ПЗУ. Эта таблица является основным результатом логического про- ектирования автомата наряду с принципиальной схемой УА. Разметка ГСА при использовании единственного адресного поля Ао осуществляется по этим же правилам, к которым добавляется еще одно: 4. Присваиваются дополнительные отметки st- и sz и т. д. каждой условной вершине, к которой подходит несколько стрелок от других условных вершин, так чтобы общее число отметок у такой вершины было равно числу упомянутых стрелок. Необходимость увеличения числа отметок и числа используемых ячеек ПЗУ обусловлена ограничениями в расположении микрокоманд в ячейках ПЗУ из-за взаимной связи адресов Ао и At = Ао + 1. Быстродействие УА несколько снижается по сравнению со случаем использования двух адресных полей за счет расхода времени на рабо- ту инкрементора. Однако исключение поля At из формата МК позво- ляет уменьшить разрядность ПЗУ. Дальнейшее сокращение разрядности ПЗУ достигается путем пе- рехода к естественной адресации микрокоманд, при которой обычно используются МК двух типов: операционные и управляющие
{рис. 5.7, в, г) Типы МК различаются по значению одноразрядного поля признака Р: р ( 0, если МК операционная; ( 1, если МК управляющая. Вычисление адреса следующей МК производится с помощью счет- чика микрокоманд (СМК), который предусматривается в структурной схеме УА (рис. 5.8). Операционная МК задает коды вырабатывае- мых сигналов у} и после ее вы- полнения автомат переходит к следующей МК по порядку их расположения в ячейках ПЗУ, т. е. осуществляет переход по адресу (СМК) + 1, где СМК обозначает содержимое счетчика микрокоманд. Управляющая МК, содержа- щая поле логического условия X и адресное поле А, исполь- зуется для изменения естествен- ного порядка выполнения МК, т. е. для осуществления услов- ных и безусловных переходов в соответствии со значением про- веряемого условия Если Xi = 1, то переход осуществля- ется по адресу, записанному в поле А, для Рис. 5.8. Структурная схема УА на ос- нове ПЗУ при использовании естествен- ной адресации чего его содержимое переписывается в СМК. Если xt = 0 или осуществляется безусловный переход, то следующую МК выбирают по адресу (СМК) 4- 1. Таким образом, каждый такт работы УА разделяется на ряд микро- тактов, в течение которых выполняются действия по формированию выходных сигналов у} и выработке адреса следующей МК. Разметку ГСА осуществляют по правилам, в которых учитыва- ется то обстоятельство, что анализ х(- и выработка сигналов у} проис- ходят теперь в разных тактах: начальная вершина отмечается симво- лом s0; каждая из остальных вершин получает отличную от других от- метку St, каждая вершина, к которой подходит h стрелок, получает дополнительные отметки s{ (/ = 1, 2, ..., h—1) так, чтобы общее число отметок у этой вершины стало равным h. Пример разметки ГСА для построения УА на основе ПЗУ с естественной адресацией дан на рис. 5.2 (метки st-). При составлении микропрограммы основной отметке каждой опе- рационной вершины ставится в соответствие операционная МК, а ос- новной отметке каждой условной вершины — управляющая МК, реа- лизующая условный переход. Каждой дополнительной отметке выста- вится в соответствие управляющая МК, реализующая безусловный пе- реход в ячейку ПЗУ, соответствующую основной отметке 8/.
1 аолица b.2 Номера ячейки ПЗУ Отметка si Формат MK Примем анис P X K(B) Переход к отметке 0 Si 1 01 1010 s2 1 S4 1 10 1001 4 2 S5 0 00 0001 Уг 3 se 1 11 1000 4 4 s7 0 00 0010 ' 5 s8 0 00 0011 Уз 6 Si> 0 00 0100 Ув, 7 ’8 0 00 0000 yG, конец 8 4 1 00 0101 s8 9 4 1 00 0111 S3 10 s2 0 00 0001 У1 11 s3 1 00 0111 «3 Пример микропрограммы, построенной по ГСА (рис. 5.2) дан в табл. 5.2. Составление таблицы начинают с отметки Sj и последовательно рас- сматривают вершины ГСА в направлении стрелок. При проходе через условную вершину сначала двигаются по направлению стрелок, отмеченных нулем (поскольку такому движению соответствует ес- тественная адресация МК). Адресные поля управляющих МК вре- менно остаются незаполненными. Дойдя до конечной отметки, воз- вращаются вверх по таблице до первой управляющей МК незаполнен- ным адресным полем и записывают в это поле адрес следующей по порядку свободной ячейки. Далее продолжают движение по ГСА от условной вершины, которой соответствует данная управляющая МК, в направлении дуги, отмеченной единицей. Описанную процедуру возвращения вверх по таблице повторяют до заполнения адресных полей всех управляющих МК, обеспечивая тем самым прохождение всех путей на ГСА. Сравнение рассмотренных трех вариантов реализации УА на ос- нове ПЗУ с принудительной адресацией и двумя адресными полями, с принудительной адресацией и одним адресным полем, с естественной адресацией показывает, что наименьшую разрядность ПЗУ обеспе- чивает вариант с использованием естественной адресации. При этом время реализации заданного алгоритма оказывается наибольшим, в основном из-за увеличения общего числа выполняемых микрокоманд. Если при выбранном способе адресации объем оборудования по- строенного УА оказывается чрезмерным или же быстродействие ав- томата недостаточно, то можно принять некоторые дополнительные
меры. Так, для уменьшения объема 11 находят рациональное разбие-- ние полного множества выходных сигналов у, на -подмножества, каж- дому из которых выделяется свое операционное поле Y так, чтобы об- щее число разрядов операционной части формата МК было наимень- шим. Сокращение длины адресной части формата МК можно получить страничной организацией (сегментацией) ПЗУ. При этом ПЗУ разби- вается на сегменты по 29 ячеек в каждом и адрес каждой формируется из двух частей: из адреса (номера) соответствующего сегмента и адре- са ячейки в нем. Специальной микрокомандой адрес сегмента, в пре- делах которого осуществляется работа, записывается в отдельный регистр или счетчик, а в последующих МК указывается лишь адрес ячейки в сегменте. Основным средством повышения быстродействия УА является ор- ганизация опережающей выборки микрокоманд, т. е. организация конвейерного режима работы микропрограммного ДУ. При этом про- цесс выборки и дешифрации следующей МК совмещается во времени с процессом выполнения предыдущей МК в ОА. Другие возможности повышения быстродействия УА заключаются в параллельной выборке нескольких МК, которые затем обрабатываются в порядке, диктуе- мом микропрограммой, а также в организации параллельного анализа, нескольких логических условий при осуществлении сложных перехо- дов; однако эти меры требуют существенного увеличения объема обо- рудования. § 5.4. ПОСТРОЕНИЕ УА НА ОСНОВЕ ’ ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ МАТРИЦ Большие возможности при реализации комбинационных схем и автоматов с памятью открывает применение программируемых логи- ческих матриц (ПЛМ). ПЛМ представляет собой универсальный функ- циональный блок, выполненный в виде полупроводниковой БИС и предназначенный для реализации логических схем изменением его со- держимого при программировании [8]. В зависимости от внутренней организации ПЛМ можно разделить на два типа: комбинационные и ПЛМ с памятью. Комбинационная ПЛМ (рис. 5.9, а, б) содержит две матрицы: Mlt состоящую из q s — входовых элементов И, с помощью которых формируются произведения входных переменных (т. е. термы), и Мг, состоящую из t элементов ИЛИ, с помощью которых реализуется дизъюнкция полученных тер- мов. Такая структура обозначается ПЛМ (s, t, q) и с ее помощью можно непосредственно реализовать любую систему переключательных функ- ций yi...уы (N < t) от переменных Xit ..., XL (L < S) дизъюнктив- ная нормальная форма которых содержит Н(Н С q) термов. При этом целесообразно использовать кратчайшее ДНФ функций, т. е. проводить минимизацию функций, по критерию минимума числа различных термов. ПЛМ (s, t, q) удобна также для реализации ско- бочных форм, для чего выходы матрицы М1г соответствующие содер- жащимся в скобках конъюнкциям, подключаются к свободным вхо- дам ПЛМ. ПЛМ с памятью (рис. 5.10, а, б), обозначаемая ПЛМ
(s, t, q, г), отличается от ПЛМ (s, t, q) наличием г триггеров и соот- ветствующим увеличением площади матриц М± и ТИ2. Триггеры вклю- чены в цепь обратной связи ПЛМ и их число удовлетворяет условию 2r > q. Следует отметить, что для удобства практической реализа- ции ИС элементы И и ИЛИ матриц Л1] и Л12 обычно заменяют на эле- менты И—НЕ, что не сказывается на формировании выходных сиг- налов ПЛМ. Рис. 5.9. Структура комбинационной ПЛМ (а) и ее обозначение (б) Рис. 5.10. Структура ПЛМ с памятью (а) и ее обозначение (б) По аналогии с ПЗУ различают два типа ПЛМ в зависимости от способа программирования, т. е. способа установления межсоедине- ний шин в матрицах. 1. ПЛМ, программируемые изготовителем с помощью специальной маски, разрабатываемой в соответствии с реализуемой схемой. Такие ПЛМ отличаются наибольшей степенью интеграции, но им при- сущи недостатки заказных БИС. 2. ПЛМ, программируемые пользователем с помощью специального устройства — программатора, который обеспечивает необходимые электрические импульсы. При этом различают однократно програм- мируемые ПЛМ и ПЛМ с репрограммированием, позволяющие много- кратно изменять содержимое матриц. В простейшем случае БИС может содержать только одну матрицу, так что для получения законченной ПЛМ требуется объединение двух БИС. Примером является микросхема К712РВ1, представляющая собой однократно программируемую диодную матрицу, содержащую 16x16 диодов. Для облегчения реализации логических схем с помощью ПЛМ по- лезно осуществить предварительное преобразование схем. При этом, если используются ПЛМ программируемые изготовителем, то стре- мятся сократить требуемую суммарную емкость (площадь) матриц, вычисляемую в битах. Если применяются ПЛМ, программируемые пользователем, то стремятся уменьшить общее число корпусов БИС,' учитывая параметры имеющихся ПЛМ. Рассмотрим вопросы реализации управляющего автомата на ос- нове ПЛМ (s, t, q), программируемых пользователем. Пусть УА задан
своей структурной таблицей, в которой используются следующие обозначения: х1г .... xL — входы; yit ум — выходы; Et, ..., Ен — строки структурной таблицы, каждая из которых соответствует одному терму ДНФ функций; ..., QR — выходные сигналы триггеров, используемых в блоке памяти УА. Пример такого задания УА дан в табл. 5.1. Здесь возможны следующие основные случаи в зависимости от со- отношения перечисленных параметров УА и соответствующих параметров использующихся ПЛМ. Случай 1. Пусть L + fl<s; М Н <6/, (5.7) т. е. число входов, выходов и термов ПЛМ оказывается достаточным для реализации комбинационной части УА на одной ПЛМ. Это случай тривиальной реализации УА, которая осуществляется непосредствен- но по структурной таблице автомата. Случай 2. Пусть L + R < s, И < q, но М + R > /, (5.8) т. е. число выходов ПЛМ является недостаточным. Для расширения ПЛМ по выходам в k раз достаточно использовать k ПЛМ и объединить их одноименные входы. Матрицы у всех k ПЛМ одинаковы, а мат- рицы М2 позволяют реализовать систему из kt функций от s перемен- ных с q термами. Случай 3. Пусть М +/?> t, но H>q, (5.9) т. е. число термов ПЛМ является недостаточным. Для расширения ПЛМ по термам в k раз необходимо соединить как одноименные вхо- ды, так и одноименные выходы всех k ПЛМ. При этом выходы соеди- няются либо с помощью элементов ИЛИ, либо непосредственно, если это предусмотрено правилами применения этих БИС. Матрицы всех k ПЛМ реализуют kq различных термов, которые могут быть ис- пользованы в ДНФ любой из t функций. Случай 4. Пусть L-]-R < s, но М / и H>q, (5.10) т. е. не хватает как выходов, так и термов. Одновременное расширение ПЛМ по выходам и термам существляется в соответствии с рассмотрен- ными случаями 2 и 3. Случай 5. Пусть L + R>s, M + R>t, H>q, (5.11) т. е. каждый из параметров ПЛМ недостаточен для реализации за- данного УА. Здесь основная задача состоит в расширении ПЛМ по вхо- дам, для чего необходимо осуществлять декомпозицию переключа- тельных функций. С целью получения подфункций с меньшим числом аргументов можно использовать метод Шеннона разложения функ- ций путем поочередного вынесения аргументов за скобки.
Пример 5.6. Реализовать УА, заданный структурной табл. 5.1 на основе ПЛМ (7, 7, 6). Поскольку УА имеет параметры L = 3, М = 4, И =5 и, сле- довательно, выполняются условия (5.7), то достаточно использовать одну ПЛМ. При этом закон программирования матриц АД и М2 удобно задать с помощью табл. 5.3, каждая строка которой ставится в соответствие с тер- мом ПЛМ. Таблица 5.3 Терм X2 JtaQiQ2 ltil/г l/з !/tDiD2 Er 1 . . 0 0 1 e2 0 1.00 1 .... 1 E3 ..101 . 1 . . 1 1 e4 ... 1 1 ..1.1. e5 ... 1 0 . . . 1 . . На пересечении столбца Х[ или Qr и строки Ей записывается 1, 0 или. (точ" ,ка) в зависимости от того, входит ли переменная Х{ или Qr в терм Е^ без инвер- сии, с инверсией или не входит совсем. На пересечении строки Е/, и столбца уп или DT записывается 1, если терм Eh входит в соответствующую функцию, и . Сточка), если не входит. Эта таблица является конечным результатом логического синтеза У А и не- посредственно по ней осуществляется программирование ПЛМ. Метод декомпозиции комбинационной части автомата рассмотрим иа при- мере построения более сложного У А. Пример 5.7. Реализовать УА, заданный структурной табл. 5.4 на основе ПЛМ (7, 7, 6) и D-триггеров. Данный УА имеет L = 5, М = 5, Н = 9 и R = 3, так что удовлетворяет соотношениям (5.11). Следовательно, этот автомат не мо- жет быть реализован на одной матрице. Табл ица 5.4 Терм X Y D Ei xxx2 УтУъУз Dt e2 хях4 УгУь ^2^3 E3 Уз Оз e4 У1 DiD2D3 e5 X3 УзУъ d2 — Уз L>iD2 - E, x2 Уз DiDs e8 x4 УгУзУз O3 e8 XiX5 ~• Задача декомпозиции состоит в разбиении множества строк струк- турной таблицы на блоки, каждый из которых удовлетворяет услови- ям (5.7) и реализуется на одной ПЛМ. Блоки составляются по кри- терию взаимной близости строк, которая определяется по наличию у них общих входных X и выходных Y сигналов, а также функций воз- буждения D и выходов Q триггеров автомата. Меру близости р(Е2Е]) определяют как Р (EtEj) = | X (Ег) П X (Е}) | + С21 Г (Et) f) У (Ej) | + + G | D (Et) П D (E J | + C4 / Q(Et) (]Q (Ej) |,
где |Х(£«) П X(£j)| — обозначает число общих входных сигналов X в строках Et и Е/, остальные обозначения имеют аналогичный смысл. Значения коэффициентов Ct назначаются с учетом вида структурной таблицы и параметров ПЛМ. Поскольку основная трудность заключа- ется в размещении входов, то С\ обычно имеет наибольшее значение. Если, например, сигналы Qt встречаются часто и равномерно в строках таблицы, так что все Qt будут встречаться в каждом из искомых бло- ков, то полагают С4 = 0. Так, в рассматриваемом примере можно по- ложить Cj = 2, С2 = 1, С3 = С4 = 0. Найденные значения р(Ег, Ej) записывают в таблицу близости (табл. 5.5), последний столбец кото- рой содержит суммарное значение S коэффициентов близости для каждой строки. Т а бл ица 5.5 Алгоритм последовательного формирования блоков с использова- нием таблицы близости заключается в следующем. 1. Выбирают Eh с максимальным значением S и заносят в таблицу разбиений. 2. В таблице близости находят терм Et, наиболее близкий к Eh. Добавляют его в формируемый блок и проверяют выполнение условий реализации блока на одной ПЛМ (5.7). Если условия наруша- ются, то ищут другой терм Е}, имеющий наибольшее значение 2 и не нарушающий условий (5.7). 3. На каждом последующем шаге отыс- кивают термы, наиболее близкие к сформированному блоку. Когда к блоку нельзя добавить ни один терм без нарушения условий (5.7), начинают аналогичным образом формировать следующий блок из ос- тавшихся термов. Применяя данный алгоритм к решению примера 5.7 (см. табл. 5.4 и 5.5), получаем таблицу разбиений (табл. 5.6), из которой видно, что заданный УА реализуется на основе двух ПЛМ (7, 7, 6). Рассмотренный эвристический алгоритм не гарантирует оптимум, но позволяет достаточно быстро получать приемлемые результаты. При построении УА на основе БИС встает вопрос о выборе ПЗУ или ПЛМ в качестве элемента программируемой логики. ПЗУ реализует
Таблица 5.6 Ei X У D Номера блока Ег Х1Х2 У1УзУ& Г>1 Е, Х1Х2Х5 У1 I е9 ysVi — Е, х2 Уз D1D3 Ез х2х4 Уз Е2 ^3#4 УзУъ Ез Х3 УзУъ Dz II Ее — Уз DiD3 Ез Xi УъУзУь D3 таблицу истинности системы функций ylt у2, ..., ум от s аргументов хъ х2, xs, подаваемых на адресные входы. При этом каждому набору входных аргументов соответствует единственная комбинация выходных сигналов. В ПЛМ одна и та же комбинация выходных сиг- налов появляется в ответ на 2* входных наборов, где k — число без- различных для данного терма входов. Поэтому использование ПЗУ целесообразно в’ тех случаях, когда реализуемая форма переключа- тельных функций близка к совершенной ДНФ. Использование ПЛМ более предпочтительно для реализации функций, представленных в сокращенной ДНФ с числом термов q 2s. Этому соотношению удовлетворяет большинство систем функций, у которых число аргу- ментов велико, но в каждом входном наборе только некоторые аргу- менты являются существенными. Можно так считать, что с помощью ПЛМ хорошо реализуются такие функции, для которых имеется при- емлемый вариант реализации в рамках жесткой (произвольной) ло- гики.
Глава 6 ПОСТРОЕНИЕ ДИСКРЕТНЫХ УСТРОЙСТВ НА ОСНОВЕ МИКРОПРОЦЕССОРОВ § 6.1. ОБЩАЯ СТРУКТУРА МИКРОПРОЦЕССОРНОГО ВЫЧИСЛИТЕЛЬНОГО УСТРОЙСТВА При создании современной радиоэлектронной аппаратуры ис- пользуются три основные подхода к реализации дискретных устройств (ДУ): аппаратный, программный и аппаратно-программный. При аппаратном получают ДУ с традиционной «жесткой» логикой, что обеспечивает наибольшее быстродействие устройств, но требует тру- доемкой разработки индивидуальной структуры ДУ. При программном ДУ реализуется в виде программы для готовой универсальной ЭВМ, в качестве которой можно использовать микро-ЭВМ, предназначен- ную для встраивания непосредственно в разрабатываемые блоки. Ап- паратно-программный подход предполагает разработку как програм- мных, так и аппаратных средств. Сюда относится рассмотренная в § 5.3 реализация ДУ в виде автомата с микропрограммным управлением и хранимой в ПЗУ программой, а также построение ДУ на основе микропроцессора (МП). Этот вариант открывает широкие возможности для применения современных БИС и позволяет в наибольшей степени согласовать разрабатываемые аппаратно-программные средства с особенностями решаемых задач [31]. Микропроцессор представляет собой функционально законченное цифровое устройство, выполненное в виде одной или нескольких БИС и предназначенное для выполнения операций по обработке инфор- мации и управлению в соответствии с хранимой в памяти программой. Необходимо отметить, что термин «микропроцессор», несмотря на ши- рокое распространение, не имеет строгого определения. Это обуслов- лено прежде всего наличием большого числа сильно различающихся между собой типов МП, а также их постоянным развитием. В узком смысле МП совпадает с центральным процессорным элементом (ЦПЭ) вычислительного устройства, выполненным на основе БИС. ЦПЭ обычно используется в качестве основного элемента микропроцес- сорного вычислительного устройства МПВУ, схема которого пред- ставлена на рис. 6.1. МПВУ минимальной конфигурации содержит ЦПЭ, блоки ПЗУ и ОЗУ, генератор тактовых импульсов ГТИ и блок интерфейса (ИФ), через который осуществляется связь с внешними устройствами (ВУ). Будем считать, что МПВУ, представляющее собой специализированное вычислительное устройство, используется в аппаратуре для выполне- ния некоторого заданного алгоритма обработки информации (или сово- купности алгоритмов). Поэтому основная программа работы МПВУ записывается в ПЗУ, которое служит также для хранения различных подпрограмм, констант, таблиц и других данных, известных уже на этапе проектирования устройства. ОЗУ используется для хранения
данных, поступивших из ВУ или подготовленных для выдачи в ВУ, а также промежуточных результатов вычислений и некоторой адресной информации. Блок ГТИ, выполняемый, как правило, на основе квар- цевого генератора, предназначен для выработки серий тактовых им- пульсов и некоторых вспомогательных сигналов, необходимых для работы ЦПЭ и синхронизации других блоков системы. Интерфейс представляет собой совокупность шин для передачи информации, электронных схем, специальных сигналов и алгоритмов, Рис. 6.1. Обобщенная структурная схема микропроцессорно- го вычислительного устройства управляющих обменом информации. Блок интерфейса служит для сопряжения сигналов МПВУ и ВУ по временным и электрическим параметрам, а также в необходимых случаях для преобразования данных и управления обменом. К основным узлам ЦПЭ относятся: управляющее устройство (УУ) с регистром команд (РК) и дешифратором команд (ДШК); арифмети- ко-логическое устройство (АЛУ) с аккумулятором (А), который яв- ляется основным рабочим регистром; блок регистров общего назначе- ния (РОН) со счетчиком команд (СК). Связь между блоками МПВУ осуществляется с помощью ряда шин: шины адреса (ША), шины данных (ЩЦ), шины управления (ШУ), шины команд (ШК). Возможны различные варианты организации шин: используется одна двунаправленная шина данных, либо две одно- направленные (одна из которых является входной для ЦПЭ, а дру- гая — выходной), шина команд может совмещаться с шиной данных при обеспечении временного разделения сигналов и т. д. Обобщенно процесс выполнения команды в МПВУ можно разбить на две фазы: фазу выборки кода команды и фазу ее исполнения (рис. 6.2). Фаза выборки состоит из трех шагов: сначала адрес коман- ды из СК выставляется на ША, затем происходит выборка кода коман- ды из ПЗУ и передача его через ШК или ЩЦ в регистр команд ЦПЭ, после чего производится дешифрация этого кода в ДШК. В соответ- ствии с кодом команды У У начинает вырабатывать последователь-
ность управляющих сигналов, необходимых для ее выполнения. Фаза выполнения команды начинается с подготовки операндов (т. е. обра- батываемых данных), которая заключается в определении местопо- ложения операндов и их размещении в требуемых узлах, после чего ЦПЭ переходит к выполнению операции, заданной кодом команды. В это время в СК формируется адрес следующей команды и вся опи- санная последовательность работы МПВУ повторяется. Более деталь- но процесс работы МПВУ рассматривается при изучении конкретных •серий микропроцессоров. (i-11-я i-Я команда <ыП-я команда ~ Фаза выйорки л команды ода (раза въ ком толнения анды “^команда Содержи- Считы- мое СК ванне Выстаб- команды ляегпся из из ч на ША В мп Дешиф- рация кода команды подго - главка операн- дов Исполне- ние заданной операции Рис. 6.2. Фазы выполнения команд в МПВУ В зависимости от требований реального применения МПВУ в ми- нимальную конфигурацию системы могут быть введены: контроллер приоритетных прерываний (КПП); контроллер прямого доступа к па- мяти (КПДП); программируемый параллельный адаптер (интерфейс) (ППА); программно-управляемый связной интерфейс (ПСИ); прог- раммируемый таймер (ПТ), и т. п. Блок КПП способствует организации работы МПВУ в реальном времени тем, что дает возможность осуществить временное прекраще- ние работы по текущей программе для срочного обслуживания ВУ, вызвавшего прерывание. Блок КПДП позволяет ускорить обмен массивами данных между ВУ и ЗУ за счет исключения ЦПЭ из цепи передачи информации. Блоки ППИ и ПСИ позволяют организовать обмен между ЦПЭ и ВУ информацией, представляемой соответственно в параллельном и последовательном кодах. Блок ПТ служит для вы- работки временных задержек программируемой длительности и меток времени, что способствует организации работы МПВУ в реальном времени. Для реализации этих блоков во многих микропроцессорных комп- лектах БИС предусмотрены соответствующие интегральные схемы. Кроме перечисленных типовых блоков в МПВУ могут вводиться не- стандартные блоки, специально разработанные для рещения конкрет- ных задач. В качестве внешних устройств для. работы с МПВУ могут исполь- зоваться любые из стандартных ВУ, предназначенных для работы в составе микро-ЭВМ. К таким ВУ относятся: видеоконтрольные устройства (дисплеи), печатающие устройства, перфораторы, накопи- тели на магнитных лентах и дисках и т. д. Однако при использовании
МПВУ для реализации алгоритмов обработки информации непосред- ственно в блоках радиоэлектронной аппаратуры роль ВУ выполняют те узлы аппаратуры, которые непосредственно связаны с МПВУ. Так, устройствами ввода информации могут являться различные преобра- зователи аналоговых сигналов в цифровые, устройства предваритель- ной обработки информации (преселекторы), обнаружители сигналов, решающие схемы и т. п.; устройствами вывода — специализированные индикаторы, различные исполнительные устройства, а также другие блоки, осуществляющие концентрацию, передачу или дальнейшую обработку информации. Некоторые примеры подобных устройств бу- дут рассмотрены в гл. 10. § 6.2. СВЕДЕНИЯ ОР ОТЕЧЕСТВЕННЫХ МИКРОПРОЦЕССОРНЫХ КОМПЛЕКТАХ При проектировании МПВУ встает задача выбора микропроцес- сорного комплекта (МПК)- МПК различаются по многим параметрам, определяющим их функциональные возможности и области рацио- нального применения [6]. Сюда относятся следующие параметры: раз- рядность и возможность ее наращивания; способ реализации команд; степень развитости системы команд или микрокоманд; технология изготовления; чибло БИС в МПК и т. д. Значения некоторых параметров МПК приведены в табл. 6.1. Такие параметры как число команд, время выполнения операции (имеется в виду самая короткая операция), напряжение питания и потребляемая мощность, относятся только к ЦПЭ, входящему в дан- ный комплект. Таблица 6.1 Серия МПК Число БИС в МПК Разрядность бит* Число команд (микпокомаил! Время цикла, 1 мкс Напряжение питания, В Потребляемая мощность, мВт Техноло- гия М икро- ЭВМ серии «Электро- ника»** 1 2 3 4 5 6 7 8 9 К536 7 Х8 149 10,0 +27 1000 р-МОП С5—01 К 580 8 8 78 2,0 + 12,+5,—5 750 п-МОП К1—ю К581 3 16 400 1,6 +12,+5,—5 900 п-МОП —60 К582 1 Х4 512 1,5' + 1,2 200 ПИЛ — К583 13 Х8 1,0 +5 300 — — К584 6 Х4 459 2,0 + 1,2 140 пил —- К 586 3 16 31 5,0 +12, +5 900 п-МОП С5—21 К587 4 Х4 168 2,0 +9 10/60 кмоп НЦ—03 К 588 4 Х16 594 2,0 +5 5/25 КМОП .—. К589 7 Х2 50 0,1 +5 850 ттлш — КР1802 15 Х8 256 0,15 +5 1200 ттлш — КР1804 6 Х4 0,15 +5 1200 ттлш — * Приведены значения разрядности данных одной БИС ЦПЭ; знак умножения указывает на возможность аппаратного наращивания разрядности. ** Приведены номера микро-ЭВМ, выпускаемых серийно на базе соответствующих МПК, на- пример «Электроника С5-1»-
В зависимости от способа наращивания разрядности МП делятся на два класса: а) МП замкнутого типа (однокристальные) и б) МП сек- ционированные (многокристальные). МП замкнутого типа (серии К580, К581, К586) характеризуются тем, что у них не предусмотрена возможность наращивания разрядности аппаратным способом, т. е. путем каскадного включения нескольких БИС МП. Разрядность об- рабатываемых данных п в таких МП составляет 8—16 бит и может быть увеличена только программным путем, т. е. последовательной обработкой многоразрядных чисел по частям. Эго существенно сни- жает реальное быстродействие МП при работе с многоразрядными дан- ными . Секционированные МП строятся в виде последовательного соеди- нения одинаковых микропроцессорных секций (МПС). Оформленная в виде отдельной БИС, МПС способна выполнять полный набор опе- раций, но только по отношению к части разрядов обрабатываемых данных. Возможность секционирования позволила изготовлять МП на базе таких технологий, которые хотя и не отличаются большой плот- ностью размещения элементов на кристалле, но обеспечивают высокое быстродействие элементов МП (серии К589, К584 и К587). Особое положение занимает МП серии К588, который имеет разрядность п = 16 и может использоваться либо как однокристальный или много- кристальный МП, поскольку в нем предусмотрена возможность даль- нейшего увеличения разрядности аппаратным способом. По способу реализации команд МП делятся на макро- и микро- программируемые. В МП обоих типов используется принцип микро- программного управления, заключающийся в том, что каждая коман- да выполняется в виде последовательности элементарных однотактных микрокоманд. Поэтому набору команд МП соответствует набор микро- программ, который хранится в устройстве управления МП с помощью ПЗУ или ПЛМ. Различие между двумя типами МП состоит в том, что в МП пер- вого типа микропрограммное управление реализуется внутри крис- талла, а в МП второго типа — вне его. Поэтому в первом случае поль- зователь лишен возможности вносить изменения в микропрограммы команд, тогда как во втором он может составлять микропрограммы на базе имеющегося набора микрокоманд. Таким образом, макропро- граммируемые МП, к которым как правило относятся МП замкнутого типа, имеют жестко заданную (фиксированную) систему команд. Микропрограммируемые МП, к которым чаще всего относятся секцио- нированные МП, имеют гибко изменяемую систему команд, что дает возможность пользователю согласовывать ее с требованиями опре- деленного круга задач. Это повышает универсальность МП и рас- ширяет возможности оптимизации параметров МПВУ, выполненных на их основе. В этом отношении привлекает внимание МП К586ИК1, у которого, наряду с командным управлением, предусмотрена воз- можность микропрограммного управления, что позволяет организо- вать выполнение операций, не предусмотренных системой команд. Типовой вариант использования микропрограммируемого МП предполагает организацию двухуровневого управления (макроко-
мандного и командного), тогда как при использовании макропрограм- мируемого МП достаточно организовать только командный уровень управления. Следует.отметить, что при использовании микропрограм- йируемых МП имеется возможность ограничиться только микро- командным уровнем управления, при котором исполняемые про- граммы интерпретируются непосредственно в терминах микро- команд; однако это целесообразно лишь в отношении несложных программ. Таким образом, реализация потенциальных преимуществ микро- программцруемых МП требует дополнительных усилий разработчиков для создания специальной системы команд и предполагает введение дополнительных блоков в аппаратуру (блок микропрограммного уп- равления, ПЗУ микрокоманд и т. д.). Поэтому макропрограммируе- мые МП более экономичны и просты в использовании. Прежде чем приступить к выбору типа МП, необходимо рассмотреть вопрос о целесообразности применения МП в конкретном случае с учетом всех требований технического задания. Для этого можно пользоваться алгоритмом, рассмотренном в § 10.1. Отметим, что применение «жесткой» логики оправдано в двух основных случаях: а) при необходимости получения предельно высокого быстродействия; б) при построении относительно несложных устройств на ИС малой и средней степени интеграции. Если же от устройства требуется гиб- кость, т. е. способность изменения функции программным путем в про- цессе работы или расширение круга решаемых задач при модернизации, тогда использование МП становится целесообразным. Короче говоря, применение МП оправдано при построении устройств достаточно большой сложности, если быстродействие МП оказывается достаточным. Ограничения, связанные с умеренным быстродействием современных МП, можно преодолеть построением многопроцессорных устройств или выполнением части функций с помощью специально разработанных аппаратных средств, работающих совместно с МП. Выбор типа МП зависит от общей элементной базы аппаратуры, в которую входит разрабатываемое МПВУ, требуемого быстродействия, допустимого объема оборудования, личного опыта разработчика и т. д. При этом следует иметь в виду, что процесс проектирования МПВУ, как правило, является итеративным. Это означает, что при вы- полнении каждого шага проектирования возможен возврат назад для корректировки принятых решений, причем может потребоваться сме- на типа МП или даже внесение изменений в исходный алгоритм ра- боты устройства. Как следует из сказанного, наибольшая экономичность устрой- ства по объему оборудования и другим эксплуатационным параметрам, а также наименьшая трудоемкость проектирования достигаются при использовании однокристальных МП. Поэтому выбор типа МП целе- сообразно начинать с рассмотрения серий К580, К581, К586, К588. При этом необходимо учитывать, что некоторые серии практически поставляются не в виде отдельных комплектов БИС, а только в соста- ве готовых микро-ЭВМ. Если быстродействие однокристальных МП оказалось недостаточным, то переходят к рассмотрению секциониро-
ванных МП среднего быстродействия (серии К582, К583, К584, К587).. При наиболее жестких требованиях к быстродействию используют серии К589, КР1802 или КР1804. § 6.3. ОРГАНИЗАЦИЯ ПАМЯТИ В МПВУ Запоминающие устройства МПВУ строят, как правило, на основе полупроводниковых БИС памяти. Полупроводниковые ЗУ классифи- цируют в соответствии со спецификой обращения к ним, технологией изготовления, быстродействием, внутренней организацией и особен- ностями конструктивного оформления. Различают два основных клас- са полупроводниковых ЗУ: оперативные (запись и считывание явля- ются рабочими режимами); постоянные (рабочим режимом является, только считывание, тогда как запись информации осуществляется до включения БИС в работу). В зависимости от способа записи информации постоянные ЗУ де- лятся на: ПЗУ, программирование которых производится при их изго- товлении с помощью специальной маски; ППЗУ (программируемые ПЗУ), программирование которых осуществляется пользователем, однократно с помощью специальных устройств — программаторов, вырабатывающих необходимые электрические импульсы; РПЗУ (ре- программируемые ПЗУ), их программирование осуществляется поль- зователем многократно, причем стирание информации производится либо электрическими импульсами, или с помощью ультрафиолетовых лучей. ПЗУ, программируемые изготовителем, имеют наибольшую сте- пень интеграции, но выпускать их небольшими партиями экономи- чески невыгодно. РПЗУ имеют наименьшую степень интеграции, и их использование целесообразно, главным образом, при отладке прог- грамм, а также при необходимости изменения алгоритма работы МПВУ. ППЗУ занимают промежуточное положение по достигаемой степени интеграции и применяются для хранения отлаженных программ или в качестве эквивалента жесткой логики [22]. Для практической реализации программирования БИС памяти целесообразно использовать выпускаемый серийно универсальный программатор ППЗУ 815, предназначенный для занесения информа- ции в ППЗУ и РПЗУ типов ТТЛ, МОП, КМОП, МНОП и ЭСЛ. Уни- версальность прибора обеспечивается с помощью имеющегося в нем блока формирования сигналов, амплитудно-временные характерис- тики которых соответствуют режимам программирования конкрет- ных типов БИС памяти. Ввод информации во внутреннюю память прибора осуществляют как вручную с передней панели, так и автома- тически с перфоленты или с линии коллективного пользования. Пре- дусмотрен также режим копирования информации с эталонной БИС ЗУ. Данные, записанные в память прибора, могут быть легко прове- рены и скорректированы. Программатор ППЗУ 815 автоматизирует выполнение всех основных операций: предварительный контроль на пустоту, запись информации в ППЗУ, контроль записи, стирание информации в РПЗУ. Результаты выполнения всех операций отобра-
жаются на световом табло. Максимальная емкость программируемых БИС ЗУ 2048x8 бит, максимальная амплитуда программирующих импульсов напряжения ±60 В при максимальном токе 0,8 А. В зависимости от способа хранения информации ОЗУ делятся на два типа: а) статические, ячейки которых выполнены на основе триг- герных схем; б) динамические, в которых хранимые данные периоди- чески регенерируются. Основные характеристики ЗУ различных классов приведены в табл. 6.2 (здесь использовано общепринятое обозначение 210 = = 1024 = 1К). Приведенные данные показывают, что имеется воз- можность использования в МПВУ запоминающих устройств большой емкости, отличающихся высоким быстродействием, малым потребле- нием энергии и небольшими размерами. Рассмотрим особенности схемного построения БИС ЗУ. На рис. 6.3 изображена структурная схема статического МОП ЗУ емкостью 1024 ячейки, способного хранить 1024 однозарядных слова, т. е. имеющую организацию 1024x1. Собственно ЗУ представляет собой матрицу запоминающих элементов 32 x 32. Первые пять разрядов шины адреса А4—Ло указывают номера строки, последние пять А9—А5 — номера столбца. Адресуемая ячейка находится на пересечении выбранных строки и столбца. Схема управления переключает режимы «чтение/ запись» по внешнему управляющему сигналу. Кроме того, в ЗУ име- ется вход ВК («Выбор кристалла»), на который подается разрешаю- щий сигнал. Обращение к данной БИС ОЗУ возможно только при ВК=1- Использование этого входа облегчает объединение Таблица 6.2 Тип БИС ЗУ Емкость Кбит Организа- ция БИС Время цикла мкс Технол о- гия Потребляемая мощ- ность, мВт/бит хранения обращен ня ОЗУ статические К505РУ2 1 1024X1 1,2 р-МОП 0,15 о,6 К565РУ2А 1 1024X1 0,4 п-МОП — 0,35 К564РУ2А 0,25 256X1 2,5 кмоп 4-Ю"4 — К541РУ1 4 4096X1 0,4 иил — 0,13 К541РУ2 ч динамические 4 1024X4 0,4 пил — 0,13 К507РУ1 1 1024Х 1 0,7 р-МОП — 0,075 К565РУ1А 4 4096X1 0,3 п-МОП 0,008 0,175 К565РУ1Б ПЗУ 16 16384X1 0,5 п-МОП 0,005 0,03 568РЕ1 ППЗУ 16 2048x8 0,85 п-МОП — — Х519РЕ2 0,25 64x4 0,3 мноп 0,015 0,017 К541РТ1 1 256X4 0,15 иил — 0,4 К558РЕ1 РПЗУ 2 256X8 0,5 иил — 0,15 К558РР1 2 256x8 0,5 иил — 0,15 К565РР1 4 1024X4 1,0 п-МОП — —
нескольких БИС ЗУ при построении блока памяти большого- объема. Входные и выходные усилители обеспечивают необ- ходимую нагрузочную способность и совместимось по напряжению.. Особенностью рассматриваемой схемы является наличие в ней не- зависимых входа и выхода данных. Это требует использования допол- нительных внешних логических элементов для объединения входных. и выходных цепей БИС при работе с общей дву- направленной шиной дан- ных. На рис. 6.4 изображена упрощенная (без усилите- лей) структурная схема статического ОЗУ с общи- ми выводами для входных и выходных сигналов. Ем- кость ОЗУ 1024 бит, но оно имеет организацию 256x4, т. е. предназначе- но для хранения 256 че- тырехразрядных слов. Для выбора требуемого слова используется пятиразряд- ных дешифратор строк и трехразрядный дешифра- тор столбцов, выбирающий Рис. 6.3. Функциональная схема статическо- го ОЗУ с организацией 1024Х1 одно из восьми слов в строке. Типовая схема ПЗУ емкостью 4096 бит и организацией 512x8- приведена на рис. 6.5. Отличие структурных схем ППЗУ и РПЗУ от- ПЗУ сводится к наличию специального входа для электрического программирования памяти (этот вход показан на рис. 6.5 пункти- ром). Рассмотрим вопросы организации блока памяти требуемого объема и разрядности на основе объединения нескольких БИС. При объеди- нении БИС ЗУ происходит наращивание памяти «по горизонтали»* Рис. 6.4. Функциональная схема ста- тического ОЗУ с организацией 256Х 4 До Aj , Ai выхооы Ванных Рис. 6.5. Функциональная схема ПЗУ с организацией 512X8
или «по вертикали». 1 оризонтальное наращивание позволяет полу- чить требуемую разрядность памяти при фиксированном количестве слов. Наращивание «по вертикали» обеспечивает получение необхо- димого объема памяти, т. е. числа хранимых слов, при их фиксиро- ванной разрядности. Пусть требуется организовать постоянную память емкостью 1024 восьмиразрядных слова. Если имеются БИС ПЗУ с организацией 4024x1, то следует объединить восемь БИС по способу горизонталь- ;Рис. 6.6. Функциональная схема, блока ОЗУ данных. На входы ВК каждой ного наращивания. При этом уп- равляющие входы «Выбор кристал- ла» БИС соединяют параллельно, адресные входы подключают также параллельно к соответствующим адресным входам всех БИС, а ин- формационные входы — выходы каждой БИС подключают к соот- ветствующей линии шины данных. Если же имеются БИС ОЗУ с ор- ганизацией 256x8, то следует объединить четыре такие схемы по способу вертикального наращива- ния. При этом восемь младших линий Л7—Ао шины адреса под- ключают параллельно к соответст- вующим адресным входам всех БИС и одноименные информацион- ные выходы всех БИС подключают к соответствующим линиям шины схемы подается один из выходных сигналов дешифратора адресных линий Л9—Л8. Способы наращивания памяти «по горизонтали» и «по вертикали» могут использоваться одновременно для получения заданных зна- чений емкости М и разрядности п блока памяти. Если используемый тип БИС ЗУ имеет емкость т и разрядность nit то общее число k тре- буемых корпусов БИС определится как: k = 1 — 1 • 1 — [ где 1х[ J т [ J L обозначает округление х до целого числа в сторону больших значений. В качестве примера на рис. 6.6 приведена структурная схема ОЗУ емкостью М = 4096 и разрядностью п = 8, содержащая восемь БИС ОЗУ с организацией 1024 x 4. § 6.4. ОРГАНИЗАЦИЯ ОБМЕНА ИНФОРМАЦИЕЙ МЕЖДУ МПВУ И ВНЕШНИМИ УСТРОЙСТВАМИ Вычислительная мощность и полезность микропроцессора во мно- гом зависят от характеристик его системы обмена информацией с внеш- ними устройствами (ВУ). Эффективная система обмена особенно важ- на для МПВУ, работающих в реальном времени в блоках радио- электронной аппаратуры [30].
В зависимости от типа взаимодействия внешнего устройства и МПВУ различают три способа обмена: а) программный; б) с преры- ванием программы; в) с помощью прямого доступа к памяти. Первый способ инициируется программой, выполняемой в МПВУ, с помощью специальных команд ввода—вывода, либо с помощью ко- манд обращения к ЗУ. В первом случае в формате команды должен содержаться код вы- полняемой операции и номер выбираемого ВУ. Во втором случае ре- гистр данных ВУ рассматривается как ячейка памяти, которой при- сваивается адрес, отличный от адресов других ячеек. При обмене информацией важной задачей является проверка готовности ВУ. В некоторых МП она осуществляется независимо от вида исполняемой команды, причем при отсутствии готовности ВУ микропроцессор переходит в состояние ожидания. Тем самым до- стигается сопряжение во времени работы МП и таких ВУ, которые по быстродействию уступают микропроцессору. Если такая проверка не предусматривается, то приходится организовывать специальную команду опроса триггера готовности ВУ и располагать ее в программе непосредственно перед командами ввода и вывода. Если триггер го- товности ВУ находится в нулевом состоянии, то команда его опроса повторяется многократно до появления сигнала готовности, после чего МП приступает к исполнению команды обмена. К преимуществам программного способа обмена относится его простота, а к недостаткам — бесполезная трата времени на ожидание готовности ВУ и невозможность обеспечения своевременной реакции МПВУ на внезапно возникшую потребность ВУ в обмене информацией. Второй способ обмена лишен указанных кед ютатков и является осо- бенно полезным для организации работы МПВУ в реальном времени. Этот вид обмена инициируется ВУ, которое подает специальный сиг- нал «Запрос прерывания» на соответствующий вход МП. После вы- полнения текущей команды МП прекращает вычисления по основной программе, вырабатывает сигнал «Подтверждение прерывания» и. переходит к подпрограмме обработки прерывания, расположенной в фиксированной области памяти. После выполнения' этой подпро- граммы происходит возврат к основной программе. Для реализации подпрограммы обработки прерывания в МП должны выполняться следующие действия: прием запроса на прерыва- ние и его подтверждение; идентификация источника прерывания; сохранение состояния основных регистров МП (счетчика команд, аккумулятора, РОНов) с тем, чтобы обеспечить возможность возобнов- ления вычислений по прерванной программе; собственно выполне- ние программы обработки прерывания; восстановление исходного состояния основных регистров МП и возврат к выполнению основной программы. Указанная последовательность действий в МП реализуется в двух вариантах: а) прерыванием с опросом; б) прерыванием по вектору. В первом варианте с помощью программных или аппаратных средств осуществляется опрос каждого ВУ до тех пор, пока не обна- ружится то, которое запрашивает прерывание. Каждое ВУ имеет
свой триггер прерывания ТПР, который запоминает сигнал запроса на прерывание. Сигналы с этих триггеров поступают на общую линию прерывания через схему ИЛИ. Если на линии прерывания появля- ется сигнал запроса, то МП выполняет специальные команды, кото- рые последовательно проверяют состояние триггеров прерывания. При обнаружении взведенного триггера МП переходит к исполнению подпрограммы, адрес которой устанавливается в соответствии с но- мером триггера по порядку опроса. Более быструю реакцию МП на запросы прерывания обеспечивает аппаратная реализация опроса ВУ. Рис. 6.7. Структурная схема канала ПДП Широко распространена цепная логическая схема определения ВУ, вызвавшего прерывание. Вырабатываемый микропроцессором сигнал «Подтверждения прерывания» поступает последовательно в каждое ВУ до тех пор, пока не попадет в источник запроса прерывания, в ко- тором он гасится. Данное ВУ посылает в МП информацию о своем но- мере в цепочке, которая используется в МП для определения адреса подпрограммы, обслуживающей прерывание от данного ВУ. Во втором варианте в ответ на сигнал «Подтверждение прерывания» ВУ посылает в МП вектор прерывания в виде параллельного двоич- ного кода, по которому управление передается соответствующей под- программе обслуживания прерывания. Тем самым обеспечивается наибольшее быстродействие реализации прерываний. При наличии нескольких ВУ, способных ^вызывать прерывания, весьма вероятна ситуация, при которой во время обслуживания за- проса прерывания от одного ВУ поступает запрос прерывания от дру- гого внешнего устройства. Вопросе порядке работы МП в таком слу- чае обычно решается путем создания системы приоритетных прерыва- ний. Распределение приоритетов осуществляется разработчиком сис- темы на стадии проектирования с учетом назначения и особенностей работы используемых ВУ. При этом разработчик имеет возможность управлять способностью МП воспринимать запросы прерывания, ис- пользуя специальные команды, запрещающие или разрешающие при-
Iем этих запросов. Гем самым выполнение определенных частей про- грамм может быть защищено от воздействия прерываний. 1 Третий способ обмена использует канал прямого доступа к памяти (ПДП), по которому массивы данных передаются непосредственно между'вУ и ОЗУ, минуя МП. Это позволяет достичь наибольшей ско- рости передачи, но требует определенных аппаратурных затрат для организации канала ПДП. Аналогично случаю обмена по прерыванию ВУ посылает в МП запрос на прямой доступ, на что МП отвечает сиг- налом подтверждения. При этом МП прекращает работу по выпол нению текущей программы, отключает свои буферные регистры от |шин адреса и данных, а также прекращает выработку управляющих сигналов Таким образом, МП как бы замирает до окончания процеду- ры ПДП, чем этот режим отличается от режима обработки прерывания. Все функции адресации, передачи данных и управления выполняет аппаратура ПДП, содержащая регистр адреса, счетчик числа слов в массиве, а также ряд триггеров и логических схем (рис. 6.7) До начала работы канала ПДП в счетчик адреса заносится адрес ячейки ОЗУ, с которой начинается массив данных, и в счетчик мас- сива (в дополнительном коде) — число слов в массиве. При переда- че каждого слова содержимое этих счетчиков изменяется на единицу и обмен данными производится автоматически, пока триггер ТПДП не будет сброшен сигналом переполнения счетчика. В МПВУ для обработки радиотехнической информации рассмот- ренные способы обмена используются комплексно, что позволяет лучше использовать преимущества каждого из них.
Глава 7 ПОСТРОЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ НА ОСНОВЕ ОДНОКРИСТАЛЬНОГО МИКРОПРОЦЕССОРА § 7.1. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОРНЫЙ ЭЛЕМЕНТ СЕРИИ К580 И СИСТЕМА ЕГО КОМАНД Процесс построения МПВУ на основе однокристального МП с фиксированней системой команд рассмотрим на примере серии К580. Выбор этой серии обусловлен ее широким распространением, а также тем, что на этом примере легко прослеживаются многие принципы, используемые в МП других серий [6]. В серию К580 входят шесть ос- новных БИС, изготовленных по технологии n-МОП, которые позво- ляют строить восьмиразрядные универсальные и специализирован- ные устройства широкого диапазона применений. В настоящей главе рассматривается центральный процессорный элемент (ЦПЭ) К580ИК80, а остальные БИС этой серии рассмотрены в гл. 8. Структура и работа ЦПЭ подробно описаны [6, 22, 32, 51, 60, 69]. Поэтому здесь основное внимание уделено вопросам, связанным с освоением системы команд, приемов программирования и методики проектирования’ МПВУ на основе данного ЦПЭ. В структуре ЦПЭ необходимо отметить следующие узлы: А — ак- кумулятор, т. е. основной рабочий регистр; РОН — регистры общего назначения, которые обозначают буквами В, С, D, Е, И и L, эти восьмиразрядные регистры можно использовать как индивидуально, так и в виде пар регистров: В—С, D—Е и EI—L\ АЛУ — арифмети- ческо-логическое устройство; флаги — триггеры, предназначенные для хранения следующих признаков результата операции: CY — пе- ренос из старшего разряда байта; CY' — перенос из старшего разряда младшего полубайта; Z — признак нулевого результата; S — знак числа (флаг S дублирует содержимое старшего разряда результата); Р — признак четности числа единиц; СК — счетчик команд (в мнемо- нических обозначениях команд ему соответствует PC); УС — указа- тель стека (в мнемонических обозначениях команд ему соответствует SP)\ в УС хранится адрес вершины стека, тогда как сам стек (стеко- вая память) организуется в ОЗУ (стековая память характеризуется тем, что обращение к ней осуществляется по принципу: первыми вы- бирают данные, поступившие последними). Данные в ЦПЭ хранятся, обрабатываются и передаются, как пра- вило, в виде восьмиразрядных чисел (байтов). Для представления команд используются 1-, 2- и 3-байтовые форматы, которые занимают в программе соответствующее число ячеек ПЗУ, следующих друг за другом. Первый байт В1 каждой команды содержит код операции, причем для кодирования различных вариантов команд используются 244 значения В1. Полная система команд приведена в табл. П1 При- ложения . Рассмотрим особенности выполнения и использования отдельных команд. Команды MVI г и LXI гр обеспечивают загрузку любого из
восьмиразрядных регистров или любой пары регистров В—С, D—E, \ H—L, а также SP константами соответствующей разрядности. Под константами понимают данные, значения которых определяются при проектировании МПВУ и записываются в ПЗУ вместе с программой. Двухбайтовые константы часто определяют адреса ячеек памяти, к которым производится обращение. Например, команда LX! И ис- пользуется для записи в Н—L адреса ячейки М с тем, чтобы впослед- ствии можно было применять команды, работающие с «внешним» ре- гистром М, т. е. команды MOV М, г, ADD М, АХ А М и т. д. Команда LXI SP служит для организации стека; с ее помощью адрес начала (вершины) стека записывается в указатель стека. Команда PCHL изменяет содержимое счетчика команд и тем самым позволяет осу- ществить косвенный переход в программе. При осуществлении любых пересылок содержимое источника информации остается неизменным. Команды XCHG и XTHL осуществляют двухбайтовый обмен информацией между Н—L и D—Е и между Н—L и вершиной стека соответственно. Эти команды позволяют, например, поочередно ра- ботать с несколькими внешними регистрами М. Команда XTHL са- мая длинная по времени исполнения и занимает пять машинных цик- лов (18 тактов): в Ml производится выборка В1 команды, в М2 и М3 — выборка из стека двух байтов информации и в М4, М5 — запись в стек содержимого Н—L. Выбранная из стека информация сначала за- писывается во внутренние вспомогательные регистры для временного хранения, а затем вводится в Н—L. Содержимое SP после выполнения команды XTHL остается неизменным. Команды сложения ADC г, АС1 и вычитания SBB r,SBI исполь- зуются при организации операций с повышенной точностью, т. е. при работе с числами, разрядность которых превышает байт. Команда DAA обеспечивает десятичную коррекцию содержимого аккумулятора после выполнения арифметических операций в двоично- десятичном коде 8—4—2—1. В этом случае содержимое аккумулятора представляется в виде двух полубайтов, каждый из которых соответ- ствует десятичной цифре. Коррекция производится с учетом значений флагов CY' (переноса из разряда а3) и CY по следующим правилам: а) если значение младшего полубайта превышает 9 или CY' = 1, то к содержимому аккумулятора добавляется число 6; б) если значение старшего полубайта превышает 9 или CY = 1, то число 6 добавляется к старшему полубайту. Команда DAA не используется самостоятель- но, а только после команд сложения или вычитания. Команда DAD гр является единственной арифметической коман- дой, оперирующей с двухбайтовыми словами, и позволяет сложить содержимое любой пары регистров В—С, D—Е, Н—L или SP с со- держимым Н—L, причем результат остается в Н—L. Команда DAD Н позволяет удвоить содержимое Н—L, т. е. осуществить логический сдвиг содержимого Н—L влево на один разряд. Существенную информацию о результате выполнения команды обеспечивают флаги, на состояние которых влияет данная команда. Как видно из табл. П1 Приложения, команды пересылок не изменяют состояния флагов, а арифметические команды влияют на все флаги
(кроме команды DAD гр, результат- которой влияет только на флаг переноса CY). Операции И, ИЛИ и суммирование по модулю два, задаваемые соответствующими логическими командами, выполняются пораз- рядно. Эти команды влияют на флаги Z, S и Р, устанавливают СУ=~ О и не влияют на CY'. Поэтому команды ANA А и ORA А являются фактически командами сброса CY. Отметим, что для установки CY = = 1 предназначена команда STC, а для инвертирования CY — коман- да СМС. Команда XRA А осуществляет сброс аккумулятора и флага CY (одновременно устанавливаются флаги S = 0, Z = 1, Р =1 и сохраняется имевшееся значение CY'). Команда AN f часто используется для маскирования, т. е. прину- дительного обнуления определенных разрядов аккумулятора; в этом случае в соответствующие разряды константы, содержащейся в В2, записывают нули. Команда ORI позволяет заполнить единицами опре- деленные разряды аккумулятора, а команда XRI — инвертировать содержимое заданных разрядов аккумулятора. При выполнении команды сравнения СМР или СР1 осуществля- ется операция вычитания (Л)—(г) или (Л)—(В2), при которой содер- жимое аккумулятора не изменяется, но устанавливаются новые зна- чения флагов. Результат сравнения определяется следующим обра- зом: если Z=l, то (Л) = (г) или (Л) = (52); если CY = 1, то (Л) < < (г) или (Л) < (52). В системе команд предусмотрены циклические и арифметические сдвиги содержимого аккумулятора на один разряд влево и вправо. При циклическом сдвиге аккумулятор замыкается в кольцо путем соеди- нения его старшего разряда с младшим, а при арифметическом — это кольцо замыкается через флаг переноса CY. Если требуется осущест- вить логический сдвиг, при котором освобождающийся разряд запол- няется нулем, то можно сначала обнулить CY с помощью команды ANA А, а затем использовать команду RAL или RAR. Выполнение команд безусловного перехода JMP и безусловного вызова подпрограммы (ПП) CALL сводится к замене содержимого счет- чика команд СК содержимым 5352 формата команды: (СК) ---------(53)(52). При выполнении команды JMP прежнее содержимое СК теряется, тогда как при выполнении CALL прежнее содержимое СК записы- вается в стек и после завершения ПП извлекается из стека для воз- врата на основную программу по команде RET. В условных переходах (JC, JNC, ...), в условных вызовах под- программы (СС, CNC, ...), а также в условных возвратах из подпро- граммы (RC, RNC, ...) указанные действия осуществляются только при выполнении соответствующего условия. В зависимости от вы- полнения или невыполнения проверяемого условия команда условного вызова ПП длится 11 либо 17 тактов (3 или 5 циклов), а команда условного возврата из ПП — 5 или 11 тактов (1 или 3 цикла). Однобайтовая команда повторного запуска RST занимает особое место в системе команд, так как ее код ИА'А'А'П! обычно не записи-
вается в программу, а вводится внешним устройством, которое вызы- вает прерывание. Трехразрядное двоичное число NNN, называемое вектором прерывания, используется для определения адреса подпрограммы обработки данного прерывания. Команды INR г и DCR г изменяют содержимое регистра г соот- ветственно на +1 или —1, команды INX гр и DCX гр аналогичным образом изменяют содержимое пары регистров. Команды INR г и DCR г влияют на все флаги, кроме CY, и поэтому их удобно исполь- зовать для организации счета с последующим ветвлением программы. Команды INX гр и DCX гр не влияют на флаги и поэтому обычно используются не для счета, а для модификации содержимого пары регистров, которое рассматривается как адресная информация при обращении к ЗУ. Если требуется организовать счетчик объемом более 256, то программным путем организуют последовательную работу двух и более регистров г, используя команды INRr или DCR г и команды условных переходов. Двухбайтовые команды ввода/вывода IN и OUT обеспечивают программный обмен информацией между аккумулятором и ВУ, номер которого указывается в байте В2 формата команды. Обмен обычно осуществляется через специальные устройства сопряжения, называе- мые портами, которые входят в состав интерфейса МПВУ. В про- стейшем случае функции порта может выполнять буферный регистр, снабженный схемами управления записью и выдачей информации, а также выходными усилительными каскадами с тремя состояниями. При выполнении команд IN и OUT в такте.Т\ машинного цикла /ИЗ содержимое байта В2 поступает на адресные линии А7 — /40 и А15—/18. Команды STAX гр и LDAX гр обеспечивают соответственно запись содержимого аккумулятора в ячейку ОЗУ и считывание в ак- кумулятор содержимого ячейки ЗУ, адрес которой указан в паре ре- гистров В—С или D—Е. Аналогичный способ косвенной адресации по паре Н—L обеспечивают команды MOV М, г и MOV г, М, встречав- шиеся в группе 1. Косвенная адресация по регистру SP обеспечивает запись в стек содержимого пар регистров В—С, D—Е и Н—L с помощью команд PUSH В, PUSH D и PUSH Н. Команда PUSH PSW обеспечивает запись в стек содержимого аккумулятора и флагов, причем при пере- даче флагов разряды ШД принимают следующие значения: ДО = = CY, Д1 = 1, Д2 =Д, ДЗ = 0, Д4 = CY', Д5 = 0, Д6 = Z, Д7 = 5. Команда POP гр позволяет извлекать данные из стека и записы- вать их в соответствующие пары регистров. Таким образом, при обращении к стеку всегда передаются.два байта информации, причем первым записывается младший байт, а извлечение данных из стека осуществляется в обратном порядке по отношению к порядку записи в стек. Команды EI и DI устанавливают внутренний триггер разрешения прерывания в состояния «1» и «0». Команда NOP означает пустую операцию, во время которой проис- ходит только увеличение на единицу содержимого СК. Использование
определенного числа команд NOP подряд позволяет обеспечить за- держку небольшой фиксированной длительности, кратной 47\ Команда HLT переводит ЦПЭ в состояние «Останов», которое длит- ся целое число тактов и сопровождается выработкой сигналов «Под- тверждение останова» = 1 и «Ожидание» = 1. Вывести ЦПЭ из этого состояния можно с помощью сигналов «Запрос захвата», «Запрос прерывания» и «Сброс». В первом случае ЦПЭ переходит в состояние «Захват шин», после окончания которого снова возвращается в состоя- ние «Останов», во втором ЦПЭ выполняет команду RST и переходит на обработку прерывания; в третьем ЦПЭ начинает выполнение про- граммы с нулевой ячейки памяти. Рассмотрение системы команд показывает, что в данном ЦПЭ ис- пользуются следующие основные способы адресации данных: прямая адресация, при которой адрес ячейки ЗУ, хранящей операнд, содер- жится в байтах ВЗВ2 формата команды (команды JMP, CALL, ST А, LDA, SHLD и т. п.); регистровая адресация, при которой в байте команды указываются коды регистров, являющихся источниками или приемниками информации (однобайтовые команды MOV i\, r2, INR г, ADD г, DAD гр и т. п.); косвенная регистровая адресация, при кото- рой в формате команды указана пара регистров, содержимое которой является адресом ячейки ЗУ, хранящей операнд (команды STAX гр, LDAX гр, а также команды MOV г, М, ADD М и т. д.; непосредствен- ная адресация, при которой операнд содержится в В2 или ВЗВ2 фор- мата команды (команды MV1 г, ADI, ACI, LXI гр и т. п.). При работе с таблицами и массивами чисел, содержащихся в ЗУ, целесообразно организовать относительную адресацию с использо- ванием индексного регистра. В качестве индексного регистра вы- бирают одну из трех пар РОН (чаще всего пару Н—L, поскольку ее содержимое адресует ячейку М, которая может участвовать в большом числе команд). В индексном регистре хранится адрес первого элемента таблицы, а все остальные элементы адресуются относительно первого. § 7.2. ЭЛЕМЕНТЫ ПРОГРАММИРОВАНИЯ Результатом программирования должна явиться подготовленная к записи в ПЗУ программа, записанная на машинном языке данного ЦПЭ, т. е. в виде последовательности команд, представленных двоич- ными кодами. Так как программирование в машинных кодах затруд- нительно, то используют символический язык, в котором команды, адреса и данные представлены с помощью алфавитно-цифровых сим- волов, имеющих мнемонический смысл, облегчающий их запоминание и применение. Записанная таким образом программа транслируется на машинный язык специальной программой, называемой ассемб- лером. Запись программы на символическом языке (его также на- зывают языком ассемблера) состоит из совокупности операторов, каж- дый из которых при трансляции переводится в одну машинную коман- ду. Это характерно для языков низкого уровня, использование которых целесообразно при составлении программ небольшой сложности [69]. При составлении достаточно сложных программ переходят на язы- ки высокого уровня, в которых один оператор может соответствовать
некоторой последовательности машинных команд. Рассмотрение та- кого рОДа языков является самостоятельной задачей, которая здесь не затрагивается. Типичный оператор символического языка записывается в виде строки, содержащей поля метки, операции, операнда и комментария. Символическое обозначение может содержать любую комбинацию символов длиной до шести знаков, причем первым символом должна быть буква. Метка команды (ее символический адрес) позволяет обра- щаться к этой команде из любой точки программы. Комментарий не- обходим для документирования программы, так что рекомендуется уделять больше внимания его составлению и подробно указывать на- значение выполняемых операций. Каждая программа сопровождается текстуальным разъяснением, в котором перечисляются входные и выходные условия, источники и получатели информации, выполняемые преобразования и т. п., а также схемой реализуемого алгоритма, составленной с учетом системы команд ЦПЭ. Для программирования различных алгоритмов обработки инфор- мации радиоинженеру необходимы знания основных приемов про- граммирования, таких как программирование операций счета, слож- ных арифметических и логических операций, процедур ввода—вывода и ряда других. Далее рассмотрим некоторые из этих приемов и при- ведем конкретные примеры программирования. Организация счета. Операция счета выполняется с помощью не- которого регистра общего назначения, в который загружается констан- та, равная заданному коэффициенту пересчета N. Затем из содержи- мого этого регистра вычитаются единицы до получения нулевого ре- зультата, после чего следует условный переход по нулю. При отсутст- вии свободного регистра в качестве счетчика можно использовать ячейку ОЗУ. Обычно операция счета связана с созданием временной задержки, с какими-либо внешними событиями или с циклическим участком программы, когда некоторая основная функция повторяется несколько раз. Здесь возможны два способа организации счета: в первом случае сначала выполняется основная функция, а затем — счет и проверка состояния счетчика; во втором — наоборот. Соответственно, обеспе- чиваются следующие пределы изменения коэффициента пересчета: 1 2я—1. Так как разрядность п регистра равна 8, то максимальная емкость счетчика, выполненного на одном ре- гистре — 256. Пример 7.1. Составить программу счета, обеспечивающую выполнение основной функции N = 20 раз. Программа, составленная по первому из опи- санных способов, имеет следующий вид. COUNT 1: MV1 В, 20 ; Установка начального состояния счетчика путем загрузки константы N = 20 в реги- стр В. FUNC: ...................... Участок программы, обеспечивающий выпол- .................. ; некие основной функции. DCR В ; Счет. JNZ FUNC ; Переход, если счет не закончен.
Начальная установка ВиС выполнение основной функции I Счет 6 в Счет 6 С Рис. 7.1. Блок-схема ал- горитма работы двухкас- кадного счетчика Если требуется обеспечить Л' > 256, то следует организовать совместную работу двух или нескольких регистров. Блок-схема алго- ритма работы двухкаскадного счетчика с ко- эффициентом пересчета 1 С N < 21е приве- дена на рис. 7.1. Каскады счетчика выпол- нены на регистрах В и С, начальные состоя-’ ния которых обозначим соответственно и /<с. Общий коэффициент пересчета N опре- делится как N = Кв + (КС - 1)-28. (7.1) Действительно, младший каскад счетчика, выполненный на регистре В, отсчитывает сначала Кв событий, а затем еще Кс—1 иик- лов по 28 = 256 событий в каждом. Пример 7.2. Составить программу счета, осу- ществляющую выполнение основной функции 25 000 раз Из разложения (7 1) находим Кв = 148 и Кс ~ 98. Программа счета, составленная в соот- ветствии с блок-схемой алгоритма (см. рис. 7.1), имеет следующий вид. COUNT2: FUNC: MV1 В, 148 MVI С, 98 DCR В JNZ FUNC DCR С JNZ FUNC ’. Начальная установка счетчиков В и С. > I Выполнение основной функции. ; Счет в В. ; Переход, если счет в В не закончен. ; Счет в С. ; Переход, если счет в С не закончен. Организация временной задержки. Функция временной задержки или генерации временных интервалов заданной длительности часто необходима для организации взаимодействия МП с внешними уст- ройствами. Так как тактовая частота МП обычно стабилизирована, то задержка может осуществляться с большой точностью. Для реализации малых задержек можно использовать приведенные в табл. 7.1 команды, выполнение которых не изменяет содержимого регистров и элементов памяти МПВУ (за исключением содержимого СК). С помощью команд из табл. 7.1 можно обеспечить задержку на любое (кроме шести) число тактов Т начиная с четырех. Однако задержки большой длительности целесообразно получать путем организации счета, т. е. циклических участков в программе. В этом случае задача сводится к выбору числа каскадов счетчика, определению требуемых коэффициентов пересчета и к введению до- полнительных малых задержек для обеспечения точного значения заданного времени задержки. Программа обеспечения задержки на основе однокаскадного (одно- байтового) счетчика имеет следующий вид (используемые в программе
Таблица 7.1 Команда Ч исло тактов Т Ч исло б айтоа в формате команды Название команды и примечание NOP 4 1 Пустая операция MOV л, А 5 1 Пересылка (Д) х— (Д) AD/ 0 7 2 Сложение А с нулем (может повлиять на фла- ги!) XTHL 18 1 Двукратный обмен вер- шины стека с Н—L — XTHL 18 1 задержка на 367" PUSH В И 1 Запись в стек с после- дующим считыванием — POP В 10 1 задержка на 21Г команды ЛН/7, DCR и JNZ требуют для своего выполнения 7, 5 и 10 тактов). DELAY : MV1 В, КВ ; Начальная установка счетчика В. .............; Участок программы, обеспечивающий .............; дополнительную задержку на 7дВ. DCR В ; Счет в В и переход, если счет не закон- JNZ Ml ; чен (ТСч =5 + 10 = 15Т). .............; Участок программы, обеспечивающий .............; дополнительную задержку на 7да. Время задержки в этом случае 7з— Туст + Кв (Тсч + Тдв) + Т дк- (7.2) Таким образом, минимальный дискрет изменения времени за- держки составляет 157, т. е. 7,5 мкс при работе данного МП на так- товой частоте Ft = 2 МГц. На базе однокаскадного счетчика целесообразно получать задерж- ки длительностью до десятка миллисекунд. Для получения более дли- тельных задержек число каскадов счетчика увеличивается програм- мным путем. Приведем программу временной задержки на основе двух- байтового счетчика. DELAY2 : MVI В, КВ MVI С, КС Ml :........... Начальная установка счетчиков В и С. Команды, обеспечивающие задержку 7ДВ. DCR В ; Счет в В и переход, если счет не закон- JNZ ЛИ ; чен. ..........; Команды, обеспечивающие задержку 7ДС. DCR С ; Счет в С и переход, если счет не закончен. JNZ ЛИ ; Команды, обеспечивающие задержку Тда.
Анализ последовательности выполнения операций в этой програм- ме позволяет составить следующее выражение для определения Уз : Уз = 2УуСт + Ав (Удв + Усч ) + (Ас + 1) [28 (Удв + Усч) + + Уде + Усч] + Уде + Усч + УдК- (7-3) Так как число выбираемых параметров в выражении (7.3) велико,- то возможно множество вариантов обеспечения точного значения Уз . Из этого множества вариантов лучшим является тот, который требует меньшее число байтов для записи команд, реализующих дополни- тельные задержки. Пример 7.3. Выбрать значения параметров Кв, Кс, 7дв, 7дс ч 7дк для получения 7з = 2-1067 = 1 с помощью приведенной выше програм мы. Для удобства расчетов выражение (7.3) преобразуем к виду 73 = 256(ЛС- 1 )(7ДВ + 15) + Лс(7дс+ 15) + ЛВ(7ДВ + 15). (7.4) Поскольку основной вклад в создание задержки вносит первый член суммы (7.4), то расчет начинаем с выбора Кс- Значение 7з велико, поэтому полагаем Кс близким к максимальному, например, Кс = 251. Тогда получаем разло- жение: 2 • 10е = 256 • 250 • 31 + 16000. Отсюда 7дв =31 — 15 — 16. Для выбора остальных (7.4) и (7.5) получаем 16000 = 251 ( 7ДС + 15) + Кв 31 4- 7ДК +14. Поскольку К < 256, то, выбирая максимальное значение 251 (7ДС+ 15)= 16000 - 256 - 31—7ДК + 14, где 7дд — дополнительная задержка в конце программы, (7.5) параметров из (7-6) Ав> получаем (7.7) служащая для установки точного значения задержки Тз > 7дк должна быть по возможности малой (т. е. составлять единицы или десятки тактов); в общем случае целесооб- Рис. 7.2. Блок-схема горитма реализации ал- уп- равляемой временной Задержки разно выбирать 7дк < (7дв + 7сч), причем Тдю не должно быть равным Т, 2Т, ЗТ или 67. С учетом этого из (7.7) получаем 7дс = 177 и 7дк = 187. Таким образом, с помощью МП можно реализовать точную задержку практически любой длительности, кратной У, причем можно обеспечить изменение задержки сту- пенями заданного значения. Отметим, что для организации управляемой задержки с числом ступеней до 216 удобно использовать пару регистров. При этом факт появления нулевого значения в ней может быть зафиксирован с помощью различных приемов, один из которых отражен в блок-схеме алгоритма (рис. 7.2). Сложение и вычитание чисел. Сначала рассмотрим выполнение этих операций над числами без знаков, что соответствует, напри- мер, операциям над кодами или положитель- ными числами.
Если операнды являются одно антовыми числами, то их сложение и вычитание осуществляется командами ADD г и SUB г. При выпол- нении команды сложения возможно переполнение разрядной сетки, о чем свидетельствует значение флага переноса СУ. Особенностью выполнения команды вычитания является то, что ее результат пред- ставлен в дополнительном коде. Напомним, что при положительном числе дополнительный код совпадает с прямым, а он равен дополнению данного числа до 2". Для двоичных отрицательных чисел дополни- тельный код вычисляют путем инверсии всех разрядов прямего кода с последующим до- бавлением единицы. Если прямой код числа содержится в ак- кумуляторе, то переход к дополнительному коду в соответствии с (7.8) осуществляется с помощью команд инверсии СМ А и инкре- мента INR А. Обратный переход от дополни- тельного кода к прямому осуществляется аналогичным образом. Если хотя бы один из операндов занимает более и разрядов (где и — разрядность МП), то говорят, что вычисления производятся с повышенной точностью. В МП серии К580 для сложения двухбайтовых слов предусмот- рена команда DAD гр. В общем же случае сложение и вычитание многобайтовых слов осуществляется путем многократного исполь- зования команд ADC г и SBB г. Пример 7.4. Сложение двух целых положитель- ных 2УУ-разрядных десятичных чисел: а = ... ...а^а-А и Р={Р9Л7... P2Pi). Пусть число а хранится в ОЗУ, занимая там Л! следующих друг за другом восьмиразрядных ячеек, а число ft вводится в ЦПЭ из ВУ последовательно, т. е. побайтно, начиная с младших разрядов. Результат у = а + Р записыва- ют в те же ячейки ОЗУ, в которых хранилось число а. при отрицательном Так как используемый ЦПЭ одновременно оперирует только с двумя дво- ично-десятичными цифрами, то процедуру сложения выполняют в виде /V-крат- ного повторения циклов сложения двух цифр с учетом переноса из младших разрядов. Блок-схема программы дана на рис. 7.3. Присвоим адресу ячейки ОЗУ, в которой хранятся младшие цифры числа а, символическое обозначение ALPHA. Для хранения ALPHA в ЦПЭ целесообразно выделить пару регист- ров Н—L, чтобы иметь возможность использовать команды, оперирующие со- держимым внешнего регистра М. Для организации циклов Вычислений выделим РОН В. В каждом i-м (i = 1, 2, ..., N) цикле должна производиться операция: {(Т2П2г-1} = + {PaiPsi—1} + СЕ, причем в начальном цикле сумми- рования следует обеспечить CY = 0. Присвоим символическое обозначение PORT В восьмиразрядному двоичному номеру (адресу) В У, являющегося источником числа р. Полагаем, что работа ВУ организована во времени так, что в моменты выполнения команд ввода [N каждый раз в буферном регистре ввода будут содержаться требуемые две цифры числа р. Теперь составим программу сложения указанных чисел.
\SUM-. LXI H, ALPHA MVI B, N XRA A LOOP: IN PORTB ADC M DAA MOV M, A INX H DCR В JNZ LOOP ; Запись адреса айа, в Н — L. ; Начальная установка счетчика циклов ; Сброс флага СУ (и аккумулятора) ; Ввод цифр {32jp2i-i} из ВУ ; Сложение {н2г82г-1} с {“2i“ai-i}. ; Десятичная коррекция результата ; Запись в ОЗУ. ; Подготовка адреса следующих цифр а ; Счет циклов. ; Переход, если счет не закончен. Программа занимает 16 ячеек ПЗУ, а время ее выполнения 7'выи = 21 -f- 4- 48-N тактов Например, сложение двух 12-разрядных десятичных чисел за- нимает ЗОЭГ, т е. около 155 мкс Эту же программу можно использовать для сложения многоразрядных двоичных чисел, если из нее исключить команду десятичной коррекции DAA Факт переполнения разрядной сетки при не- обходимости может быть обнаружен путем проверки содержимого флага CY после выполнения всех вычислений. В этом случае программу дополняют коман- дой JC /И2, где меткой М2 обозначен ее фрагмент, представляющий собой реак- цию МП на переполнение разрядной сетки. Рассмотренный вариант программы сложения многобаитных чисел иллюстрирует организацию вычислительного цикла в программе, в Сложение ^<4^ Вычитание операции Изменение знака Л Знака Формирование дополнительного кода а Знак в Формирование дополнительного кода /5 Формирование дополнительного кава % Сложение К метке OVER Да Знак х переполне- ние? Нет которой требуется многократ- ное повторение некоторой по- следовательности команд. Еще возможен вариант запи- си такой программы, когда цикл не используется, а за- данная последовательность команд непосредственно по- вторяется в программе тре- буемое число раз. Использо- вание вычислительного цикла обычно позволяет сократить статическую длину програм- мы LCT, определяемую числом ячеек памяти, требуемым для хранения программы. Однако при этом время выполнения программы 7ВЫЛ увеличива- ется на 7 4- 15А? тактов, что вызвано необходимостью вы- полнения команд /ИК/, DCR и JNZ, с помощью которых устанавливается начальное состояние счетчика циклов и осуществляется счет. Целесообразность исполь- зования того или иного ва- Н + Рис. 7.4. Блок-схема алгоритма сложе- ния чисел со знаками рианта программы зависит от имеющихся ограничений на объем ПЗУ программ и на время выполнения програм-
мы Так, в случае отказа от организации вычислительного цикла программа из примера 7.4 будет при N = 6 иметь LCT = 48 ячеек и Твып = 2^8 тактов, т. е. время выполнения программы сократится на 30% за счет увеличения числа ячеек ПЗУ в три раза. Рассмотрим теперь выполнение операций сложения и вычитания чисел со знаками. Знак числа принято размещать в старшем разряде старшего байта. В МП серии К580 значение разряда а7 дублируется во флаге знака 5, если результат выполнения команды влияет на этот флаг. Положительным числам соответствует значение 5 = 0, а отрицательным — 5=1. При обработке чисел со знаками непо- средственно сложению и вычитанию предшествует анализ знаков операндов. Блок-схема алгоритма вычисления у = а±р представ- лена на рис. 7.4. Здесь предполагается, что операнды и результат хранятся в прямом коде. Операция вычитания отличается от опера- ции сложения лишь инверсией знака числа р. Отметим, что во многих случаях оказывается целесообразным хранить числа не в прямом, а в дополнительном коде, так как это позволяет уменьшить общее число переходов от прямого кода к обратному и наоборот. О наличии переполнения разрядной сетки, которое может прои- зойти при сложении как двух положительных, так и двух отрицатель- ных чисел свидетельствует факт неравнозначности значений флагов CY и 5: (7-8) CY@S— I 0’ еС”'1И Нет пеРеп0,лнения> I 1, если есть переполнение. Отметим, что такое использование флагов CY и 5 соответствует представлению чисел в модифицированном дополнительном коде, в котором для записи знака числа отводятся два старших разряда. Если же складываются числа разных знаков, то переполнение не может произойти, а значение флага CY игнорируется. Умножение и деление. Умножение чисел ар = у в МП реализуется с помощью команд суммирования и сдвига. Для получения у к сумме частичных произведений 2 добавляется а, если очередной разряд р=1, после чего осуществляется сдвиг 2 ; указанная процеду- ра повторяется для каждого разряда р. При этом анализ Р можно начинать сб старших разрядов и соответственно сдвигать влево, либо действовать наоборот. Знак у обычно формируют независимо от описанной процедуры умножения на основе анализа знаков сомножителей, а при осу- ществлении умножения используют прямые коды сомножителей без знака. В этом случае необходимо учитывать, что освобож- Рис. 7.5. Блок-схема умножения восьми- разрядных двоичных чисел
дающиеся разряды при сдвигах S должны заполняться нулями. Пример 7.5. Умножение двух восьмиразрядных двоичных чисел ap=f. Поскольку для представления суммы частичных произведений 2 и самого ре- зультата у потребуется 16 разрядов, то вознииает необходимость в осуществле- нии сдвига двухбайтовых слов. Для этого удобно воспользоваться командой DAD Н, которая осуществляет логический сдвиг содержимого пары регистров Н—L на один разряд влево, т. е. в сторону старших разрядов. Множитель |3 целесообразно расположить в аккумуляторе, с тем чтобы осуществлять анализ разрядов Р с помощью команд циклического сдвига влево и условного перехода по СУ. Операцию добавления а к 2 можно производить с помощью команды DAD D, если а поместить в регистр Е, а в регистр D записать «О». Итак, получаем следующее распределение внутренних регистров ЦПЭ: А содержит |3; D—Е — а; Н—L — 2, а после выполнения программы — ре- зультат у: В— счетчик циклов. Блок-схема алгоритма дана на рис. 7.5, далее приведена соответствующая ей программа умножения. MULT-. LXI Н, 0 ; Сброс регистра суммы частичных произве- дений 2. MV1 В, 8 ; Начальная установка счетчика циклов. М2: DAD * Н ; Сдвиг 2 влево. RLC ; Ввод очередного разряда р и СУ. JNC ЛЦ ; Переход, если очередной разряд р равен ; нулю. DAD D ; Добавление а к 2. М1: DCR В ; Счет циклов. JNZ М2 : Переход, если вычисления не закончены. Программа занимает 15 ячеек памяти и ее выполнение длится максимально 409 тактов. Деление двоичных чисел основывается на последовательном вы- читании делителя из разрядов делимого и остатка от деления. Таким образом, деление реализуется с помощью операций сдвига, вычитания и анализа результата вычитания. По аналогии с умножением здесь целесообразно осуществлять деление чисел без знаков, а знак частного определять отдельно на основе анализа знаков операндов. Перед вы- полнением деления необходимо убедиться, что делитель не равен нулю. Пример 7.6. Деление двух целых положительных восьмиразрядных чисел а:Р = у(6), где у — частное, а 6 — остаток от деления а на |3. В этом случае также целесообразно использовать команду DAD Н для реализации сдвига а влево. Поэтому получаем следующее распределение регистров: L — содержит <z, С содержит р, В — счетчик циклов, D и Е — соответственно выделены для записи у и 6, а Н должен содержать 0 до начала вычислений, а затем — частич- ное делимое — а’. Блок-схема алгоритма деления дана на рис. 7.6, а соответствующая про- грамма приведена далее. DIV1: МИ H, 0 ; Блок 1.'Сброс регистра И. MVI B, 8 ; Начальная установка счетчика В. М2: DAD Н ; Блок 2. Ввод at из L в Н. MOV A, H ; Пересылка а' в А. SUB C ; Вычитание а' — р. JC Ml ; Блок 3. Переход, если есть займ. MOV H, A ; Пересылка частичного остатка 6 в И. ЛИ: CMC ; Блок 4. Инверсия СУ, поскольку 7; = С/. MOV A, D ; Вызов 7' в А. RAL ; Сдвиг у' и добавление -ц. MOV D: A ; Пересылка ц' в D.
DCR JNZ MOV В ; Блок 5. Счет циклов вычисления. Л42 ; Переход, если счет не закончен. Е, И ; Блок 6. Пересылка 6 в Е. Дадим дополнительные пояснения к составленной программе. Блок 1. Устанавливается начальное состояние регистров В и Н. Блок 2. В каждом из восьми циклов в Н формируется частичное делимое сс' путем сдвига влево содержимого Н—L. При этом каждый раз в Н вводится из L очередной разряд <хг делимого а. Затем в А производится вычисление частичного остатка 6' = а' — ₽. Блок 3. Производится анализ содержимого флага CY по следующим правилам: если CY — = 1, т. е. а' < ₽ и займ имел место, то следует записать очередной разряд частного уг = 0 и перейти к счету циклов; если CY = 0, т. е. сс' > Р и займ отсутствовал, то следует записать yt = 1, и перед переходом к счету циклов необ- ходимо запомнить значение 6' в И, чтобы ис- пользовать его при формировании значения а! в следующем цикле вычислений. Блок 4. Частичное частное у' сдвигается влево и к нему дописывается очередной раз- ряд У/ = CY. Блок 5. Производится счет циклов и опре- деляется окончание вычислений. Блок 6. Полученный в Н остаток 6 пересы- лается в Е. Отметим, что частное у сформирова- но в О, а делимое а отсутствует, так как регистр L заполнен нулями, и В — содержит последнее значение частичного делимого а' = 6. Програм- ма деления занимает 18 ячеек памяти и требует для своего выполнения максимально SSSr. Рассмотренные варианты выполнения арифметических действий с помощью МП подразумевают представление чисел в фор- ме с фиксированной запятой (точкой). Об- работку данных с плавающей запятой вы- полняют путем раздельной обработки по- Рис. 7.6. Блок-схема деле- ния восьмиразрядных дво- ичных чисел рядков и мантисс чисел на основе рассмот- ренных алгоритмов и программ выполне- ния операций над числами, представленными в форме с фиксирован- ной запятой. Следует отметить, что программы реализаций арифме- тических операций над числами, представленными в форме с плаваю- щей запятой, достаточно сложны и их выполнение занимает большое время, в результате чего такие программы редко применяются в МПВУ. Программная реализация комбинационных логических схем. В системе команд МП предусмотрены команды, реализующие основные логические операции: инверсию, конъюнкцию, дизъюнкцию и сумму по модулю два. В совокупности с командами, обеспечивающими хранение и перемещение данных, а также с командами условных пе- реходов логические команды позволяют реализовать любую комби- национную логическую схему и любой конечный автомат с памятью. Комбинационная схема представляет собой аппаратную реализа-
5 Рис. 7.7. Блок-схема алгоритма програм- мной реализации переключательной функ- ции цию некоторой переключательной функции /(х) = (х4, х2, хт). При программной реализации f(x) с помощью МП обычно принимают ре- шения последовательно о значении каждого члена записи /(х), что позволяет судить о значении всей функции на заданном наборе аргу- ментов. При этом надо учитывать, что МП обрабатывает данные по- байтно, а логические операции над двумя операндами выполняются поразрядно. При организации логической обработки данных нередко используется флаг четности Р, значение которого представ- ляет собой инверсию резуль- тата суммирования по моду- лю два всех разрядов одного байта. Пример 7.7. Реализовать пе- реключательную функцию т = 8 аргументов, записанную в ДНФ следующим образом: у(х) — = Х,Х3Х5 Хс Х7 V Х2 X3XtXs =J/i(x) V Vy2(x). Набор аргументов X — ~ Хг, Х2, х3, Х5, хе, х7, хе вво- дится в МП из В У через порт с символическим обозначением PORTX. Значения каждого из двух дизъюнктивных членов у±(х) и у2(х) определим с помощью сле- дующих операций: маскирование (т. е. установка в нулевое состояние) аргументов, которые не входят в данный член У}(х)-, это производится с помощью логического умножения на соот- ветствующие маски yt и у2, кото- рым присвоим символические обо- значения 0Д7ИЛМ1 и ОД7И7ИЛ2 (в данном примере Yj = 10101110 и Y2 = 01110001); инвертирование тех аргументов хг-, которые входят в данный член г/г(х) без знаков инверсии; эта операция осуществляется путем суммирования по модулю два полученного ранее набора аргументов с константами Oj и о2, которые со- держат «1» на позициях, соответствующих инвертируемым разрядам в уу(х) и #2(х); (в данном примере Oj = 00001100 и о2 — 01000001); константы о\ и о2 обозначим соответственно SIGMA1 и SIGMA2; анализ результата: если результат выполнения описанных двух операций равен 00...0, то данный член у7(х) равен «1», т. е. у(х) = 1; в противном случае переходим к испытанию следующего члена в выражении для у(х) либо принимаем решение, что у(х) = 0, если испытанный член урх) был последним. Блок-схема алгоритма дана на рис. 7.7, а соответствующая программа пред- ставлена далее. FUNC: IN PORTX MOV G, A AN I GAMMAl XRI SIGMAl JZ Ml ; Блок 1. Ввод набора аргументов X в А. ; Дублирование X в С. ; Блок 2. Маскирование отсутствующих в у± (х) ар- гументов. ; Инвертирование аргументов, которые входят в уг (х) без знаков инверсий. ; Переход, если у± (х) = 1, т. е. у (х) = 1.
MOV .4, C ; Блок 3. Восстановление X в .4. ANI GAMMA2 ; Маскирование аргументов, отсутствующих в у.л <Х) XRJ SIGMA2 ; Инвертирование аргументов, которые входят в у2 (х) без знаков инверсий. JZ Ml ; Переход, если у2 (х) = 1, т. е. у (х) — 1 MVI A, 0 ; Блок 4. Формирование нулевого сигнала, соответст- вующего у (х) = 0. JMP М2 ; Переход к выводу сигнала. Ml:' MVI, .4, 1 ; Блок 5. Формирование’ сигнала 00 .... 01, соответ- ствующего (у) х= 1 М2: OUT PORTX ; Блок 5. Вывод сигнала, соответствующего значению у(х). В результате выполнения данной программы на ВУ выводится сигнал 00...00 если у(х} — 0, или сигнал 00...01, если у(х) — 1. В более общем случае, когда число членов N в ДНФ функции у(х) велико, может оказаться целесообразным организация вычислительного цикла. В этом случае константы и Oj могут быть записаны в ячейки ПЗУ в следующем поряд- ке: Yi, Oj, у2, °2’ •••• Тд/> aN' чтобы было удобно поочередно извлекать их из ПЗУ при испытании соответствующих членов yj(x). Используя подобные приемы, можно программными средствами реализовать произвольные переключательные функции любого числа аргументов т, записанные в различных формах представления функ- ций. Программная реализация автоматов с памятью. При моделиро- вании с помощью МП автоматов, построенных по классической схеме, необходимо программным путем реализовать системы функций воз- буждения и функций выходов, а также моделировать работу триггеров заданного типа. Некоторые приемы программирования рассмотрим на примере ре- ализации генератора псевдослучайных последовательностей (ПСП), выполненного на основе m-разрядного сдвигового регистра с сум- маторами по модулю два в цепи обратной связи. Такие автоматы широко используются в генераторах случайных чисел, формирова- телях сложных сигналов, в генераторах хаотических импульсных помех, в кодирующих и декодирующих устройствах корректирующих кодов и т. д. Структуру генераторов ПСП принято задавать с помощью полиномов g(x) степени т, которые имеют вид: g(x) = gmxm©gm_Ixm'1© • • ©gi* + go- (7-9) Коэффициенты gm и g0 тождественно равны единице, а остальные коэффициенты могут принимать значение 0 или 1. Совокупность ко- эффициентов полинома g(x) определяет связи между разрядами ре- гистра и сумматорами по модулю два в схеме генератора ПСП. При этом обычно используют полиномы, которые обеспечивают генерацию последовательностей максимальной длины, равной 2т—1. К таким полиномам относятся следующие: х3@х©1; х4©*©!: х&@х2© 1; х«©х©1; х’фх©1; х8@хБ@х3©х© 1; х9@х‘’©1; х10@х©1; и т. д. Значения полиномов g{x), обладающих требующимися свойст- вами, можно найти в таблицах, опубликованных, например, в [49]..
Рис. 7.8. Обобщенные структурные схемы генератора ПСП: с вынесенными (а) и со встроенными (6) сумматорами по модулю два Генератор ПСП, заданный некоторым полиномом g(x), может быть выполнен в двух вариантах: с вынесенным и встроенным сумматорами по модулю два. Соответствую- щие структурные схемы гене- ратора показаны на рис. 7.8, а, б. Каждый элемент, соответствующий на схеме коэффициенту git представ- ляет собой короткое замыка- ние, если gt = 1 и разрыв, если gi = 0. В регистре ус- танавливается некоторое от- личное от нуля начальное состояние N, а затем каждое последующее его состояние определяется сдвигом данных в регистре с учетом сигнала обратной связи (ОС). Работа генерато- ра ПСП описывается уравнением g(x) = 0, которое для случая с вы- несенными сумматорами принимает вид х° = хт © gm_1 х"1-1 © ... © gjX, (7.10) а для случая со встроенными сумматорами Хт = g^x"1-1® . . . giX®^. (7.11) Пример 7.8. Составить программу работы генератора ПСП, заданного поли- номом g(x) = х5 + х2 © 1. Схемы аппаратныг реализации двух вариантов генератора представлены на рис. 7.9, а, б. Вариант с вынесенными сумматорами. Расположим переменные х3, х4, х3, х2, х1 соответственно в разрядах а4, а3, а^, аг, а0 аккумулятора А. Для сохра- нения текущего состояния генератора ПСП содержимое А дублируется в С. С целью выработки сигнала ОС, который равен х3 ф х2, выделим в А соответст- вующие разряды с4 и а, с помощью логического умножения на константу /(1. В данном случае К1 — 00010010. Поскольку все разряды аккумулятора, кроме а4 и а1г принимают нулевые значения, то сумму х3 © х2 можно определить по состоянию флага четности Р: х3 © х2 = Р. Вычисленное таким образом зна- чение сигнала обратной связи, равное Р, запишем в триггер CY. Затем осущест- вим арифметический сдвиг аккумулятора влево, в результате чего получим в А следующее состояние генератора ПСП. Приведем соответствующую программу GENl: MV1 A, N ; Установка начального состояния N. М2: OUT PORT ; Вывод состояния генератора. MOV ANl JPE STC G, KI Ml A ; Дублирование текущего состояния. ; Маскирование разрядов и сброс CY. ; Переход, если х3 © х2 = 0. ; Установка флага переноса (CY) ч- 1. Ml: MOV RAL JMP A, М2 C ; Восстановление в А текущего состояния. ; Выработка следующего состояния. ; Переход для обеспечения непрерывной цикличес- кой работы генератора. Вариант со встроенными сумматорами. В этом случае работа генератора ПСП организуется в соответствии с уравнением х6 = ха © х°. Для удобства
формирования сигнала ^ распо- ложим переменные х“, х3, х2, х1, х° Б разрядах а;, ав, ац, а4, а3 ак- кумулятора. Тогда сигнал ОС формируется в триггере CY пу- тем арифметического сдвига А влево. Однако в отличие от пре- дыдущего варианта сигнал ОС здесь подается параллельно иа разряды С5 и а3, соответствующие переменным х2 и х°, причем сум- мируется по модулю два с содер- жимым этих разрядов. Это обес- Рис.7.9. Структурные схемы генератора ПСП, заданного полиномом g(x) = = X5 © х2 © 1 печивается суммированием по модулю два содержимого А и кон- станты К2, которая в данном слу- чае равна 00101000. Соответ- ствующая программа имеет еле- дующим вид. ; Установка начального состояния N. ; Сброс флага переноса. GEN2: MVI A, N ANA, A Й11: OUT PORT ; Вывод состояния генератора ПСП. RAL Сдвиг содержимого регистра. JNC Ml ; Переход, если сигнал ОС равен нулю. XRI JMP K2 ; Инвертирование переменных У в соответствии с g (х); сброс флага CY. Ml ; Переход к вычислению нового состояния генератора. На практике используются оба варианта выполнения генератора ПСП. Однако при программной реализации генератора вариант со встроенными сум- маторами применяется чаще, так как позволяет выработать следующее состоя- ние за 31 Г, тогда как вариант с вынесенными сумматорами требует для этой цели 457' (без учета времени, требующегося для вывода состояния генератора). Таким же образом можно осуществить программную реализацию произвольного автомата по имеющейся аппаратной реализации или по уравнениям, задающим его структуру. § 7.3. ПОСТРОЕНИЕ СТРУКТУРНОЙ СХЕМЫ МПВУ Типовая структурная схема МПВУ на базе ЦПЭ серии К580 пред- ставлена на рис. 7.10. Устройство содержит следующие основные модули (блоки): микропроцессорный модуль, модули ОЗУ и ПЗУ, а также модуль интерфейса. Рассматриваемая здесь конфигурация является минимальной и может быть расширена за счет введения бло- ков, обеспечивающих прерывания, прямой доступ к памяти и т. д., как дано в гл. 8. Основные принципы работы МПВУ были изложены в § 6.1 при обсуждении обобщенной структурной схемы МПВУ (см. рис. 6.1). Конкретные особенности ЦПЭ серии К580 рассмотрены в § 7.1. Оста- новимся подробнее на характеристике остальных элементов и блоков структурной схемы. Одним из наиболее часто используемых элементов является много- режимный буферный регистр (МБР), выпускаемый в виде ИС типа К589ИР12. Условное обозначение МБР приведено на рис. 7.11. Он содержит регистр из восьми D-триггеров, выход каждого из которых
подключен к соответствующему выходу Q через буферный вентиль— усилитель с тремя состояниями, логическую схему управления и триг- гер запроса прерывания ЗПР. Режим работы МБР определяется преж- де всего значением входа BP: ВР = 0 соответствует входному режиму, а BP = 1 — выходному. При этом управление работой МБР осущест- вляется в соответствии со следующими выражениями: запись данных в регистр ЗП = С.ВР V ВК-ВР; выдача данных из регистра — ВД = Рис. 7.10. Структурная схема МПВУ на основе ЦПЭ К580ИК80 = BKVBP; запрос прерывания — ЗПР = BKVQ прекращение запроса прерывания — ЗПР = R V ВК, где под сигналом ВК («Вы- бор сигнала») понимают совместное действие сигналов BKi и ВКг : ВК = ВКрВКг- При ВК = 1 выходные вентили открываются и данные, записанные в триггерах МБР, появляются на выходах Q. Ввод информации из внешнего устройства (ВУ) через МБР и далее через ШД и ЦПЭ при ВР = 0 осуществляется следующим образом: ВУ подготавливает байт информации и вырабатывает строб С, по ко- торому этот байт записывается в МБР; при этом строб С активизирует также выход ЗПР, который можно использовать для организации прерываний; выходные вентили МБР при этом закрыты; т. е. нахо- дятся в состоянии /«,; при поступлении соответствующей команды ЦПЭ вырабатывает сигналы выбора данного МБР и управления при- емом информации из ВУ, которые устанавливают ВК = 1; тогда выходные вентили МБР открываются и информация из МБР посту- пает на ШД. Вывод информации из ЦПЭ через ШД и ВУ производится при ВР = 1 следующим образом: а) ЦПЭ при получении соответствующей команды выставляет подготовленную информацию на ШД ивырабаты-
вает сигналы выбора данного МБР и управления выдачей информа- ции;' б) эти сигналы поступают в МБР и устанавливают ВК = 1, что обеспечивает запись информации из ШД в МБР и прохождение ее на выходы Q через открытые вентили; при этом активизируется сигнал ЗПР, который может быть использован для оповещения ВУ о том, что информация для него записана в соответствующей МБР. МБР может быть использован в качестве: простого (непрограмми- руемого) интерфейса ввода — выво- да; регистра состояния, в который МП в начале каждого машинного цикла записывает код состояния; регистра для ввода кода команды RST и т. п. Кроме того, МБР мо- жет выполнять роль буферного усилителя, например, для повы- шения нагрузочной способности ША и ШД. Как известно, МП се- рии К580 выполнен по технологии n-МОП и обеспечивает выходные ТОКИ / irnax == 0,15 мА и /Опзах — 1 »9 мА, что позволяет подключить к каждому выходу МП только од- ну ТТЛ-схему. Регистр К589ИР12 выполнен по технологии ТТЛ и его входной ток 0,25 мА, а выход- ной — 15 мА. Для использования ЗПр Q, 19 Сброс Входы ( Выбора? крисгаппа\ сг Оз Ор О? jo д 17 13 21 >< 1В 1В 20 22 74 Рис. 7.11. Графическое обозначе- ние МБР К589ИР12 гз, Запрос прерывания 4 к —В- § 8 § 4. * ве В, Ds R Вход Выбора L_ режима Вход строба—— +5В^ » 12 Общий --- вкг ВР МБР в качестве буфера устанавливают следующие значения управ- ляющих сигналов: ВР = 0, ВК = 1. Сброс =1, С = 1. Двухна- правленная передача байтов информации, необходимая для буфери- зации ШД, обеспечивается встречным включением двух МБР Если в МПВУ организуется режим прямого доступа к памяти, то перевод выходных вентилей МБР в высокоимпедансное состояние осущест- вляется установкой ВК = 0 с помощью сигнала «Подтверждение за- хвата шин». При использовании МБР в качестве буфера имеющиеся в нем D-триггеры оказываются лишними и только увеличивают время про- хождения сигналов. От этого недостатка свободны шинные формирова- тели (ШФ) К589АП16 и К589АП26, предназначенные для выполне- ния функций буферизации. Эти ШФ выполнены по технологии ТТЛ и каждый из них представляет собой четырехразрядную СПС, содержа- щую восемь вентилей-усилителей стремя состояниями и схему управ- ления. Различие между ними состоит в том, что ШФ К589АП26 ин- вертирует входные сигналы, а К589АП16 — нет. Структурная схема ШФ К589АП16 приведена на рис. 7.12, где: А1—А4— вход- ная шина: С1—С4 — выходная шина; В1—В4 — двунаправленная шина; ВК — вход выборки кристалла; УВ — вход управления вы- дачей данных: при УВ = 0 информация передается с шины А на шину В, а при УВ = 1 — с 5 на С.
Поскольку ШФ имеет две раздельные шины (входную и выходную) и одну двунаправленную, то с помощью ШФ легко осуществля- ется переход от ВУ с раздельными шинами к двунаправленной ТПД ми препроцессор а. Нагрузочная способность ШФ К589АП16 характеризуется сле- дующими значениями токов: /1тах = 1 мА, /Отах = 15 мА по вы- ходам С И Атах = Ю мА, Рис. 7.12. Функциональная схема шинного формирова- теля К589АП16 /отах = 55 мА по выходам В. Поскольку К589АП16 является четырехразрядной схемой и имеет двунаправленную вы- ходную шину, то для буферизации 8-раз- рядной шины данных требуются два ШФ. Их входы А и выходы С соединяются параллельно и подключаются к выво- дам шины данных МП. Для буфериза- ции ША требуется соответственно четы- ре ШФ. Внешние устройства, а также блоки памяти, не имеющие выходов с тремя состояниями, подключаются к выводам В ШФ. Необходимым блоком МПВУ являет- ся генератор тактовых импульсов (ГТИ), основная функция которого состоит в выработке двух неперекрывающихся во времени серий тактовых импульсов Tj и т2. Эти импульсы должны иметь ам- плитуду + 12 В, частоту повторения F = 1—2 МГц и длительность фронта не более 50 нс при емкостной нагрузке 25 пФ. Кроме того, ГТИ должен выра- батывать импульсы серии т, с амплиту- дой +5 В для подачи на ТТЛ-схемы. В качестве задающего генератора ГТИ обычно используется кварцевый генератор. В отсутствие специальной микросхемы ГТИ тактовые импульсы могут быть выработаны, например, с помощью задающего генератора частоты fQ = 10 МГц и делителя частоты 1 : 5, в качестве которого может служить счетчик 155ИЕ2 с соответствующей внешней коммута- цией. Из выходных сигналов счетчика с помощью логических схем формируются импульсы Tj длительностью 0,1 мкс и т2 длительностью 0,2 мкс, отстоящие друг относительно друга на 0,1 мкс. Амплитуда тактовых импульсов повышается до +12 Вс помощью ИС К155ЛА11 с открытым коллектором. Отдельно следует сказать о регистре состояния PC, выполненном на основе МБР (см. рис. 7.10). В этот регистр в начале каждого ма- шинного цикла по сигналу СИНХР записывается код состояния, ко- торый содержит информацию о типе выполняемого цикла и обеспечи- вает восемь дополнительных управляющих сигналов. Их использо- вание в совокупности с основными управляющими сигналами, кото- рые формируются на соответствующих выводах БИС МП, позволяет
полностью, реализовать все функциональные возможности данного МП. На основе сигналов, снимаемых с выходов регистра состояния, а также сигналов ПРИЕМ и ВЫДАЧА специальная логическая схема выпабатывает системные (укрупненные) управляющие сигналы: ЧТЕ- НИЕ ЗУ, ЗАПИСЬ ЗУ, ВВОД, ВЫВОД и ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ- Системные сигналы подаются непосредственно на соответствующие блоки МПВУ. Отметим, что регистр состояния сов- местно с буферными усилителями ШД и логическими схемами выра- ботки системных сигналов образует системный контроллер, который может быть выполнен в виде специальной микросхемы. Необходимо также отметить, что при построении простых МПВУ можно отказаться от использования кода состояния и осуществить необходимое управление только с помощью линий ША. В этом случае управляющие сигналы обычно кодируются старшими линиями ША, которые не используются для адресации памяти. При этом не только сокращается максимальный объем адресуемой памяти, но значительно сужаются функциональные возможности МПВУ (например, невоз- можно организовать прерывание). Это также накладывает ограничение на кодирование внешних устройств, так как при выполнении команд ввода и вывода восьмиразрядный код ВУ появляется не только в младшем, но и в старшем байтах ША. § 7.4. МЕТОДИКА ПРОЕКТИРОВАНИЯ МИКРОПРОЦЕССОРНОГО ВЫЧИСЛИТЕЛЬНОГО УСТРОЙСТВА Этап непосредственного логического проектирования устройства на базе МП сводится к разработке аппаратных средств МПВУ и про- грамм и обычно состоит из следующих основных шагов; 1) определе- ние состава элементов и составление детальной структурной схемы данного МПВУ на основе типовой схемы; 2) распределение адресного поля, а также распределение памяти и РОН; 3) составление про- грамм работы МПВУ. Для этапа логического проектирования МПВУ основным исход- ным материалом является блок-схема и подробное описание реали- зуемого алгоритма обработки информации, перечень входных и выход- ных сигналов устройства, а также требования к точности и быстро- действию МПВУ. Рассмотрим процесс выполнения шагов проектирования МПВУ. При выполнении первого шага определяют типы БИС ОЗУ и ПЗУ с учетом построения модулей памяти, имеющих требуемую емкость, достаточное быстродействие и приемлемое потребление мощности. Разрабатывают структуру модулей памяти и их связей с ШД, ША и шиной управления МПВУ. Разрабатывают необходимые интерфей- сные схемы на основе простых схем типа МБР или на основе програм- мируемых интерфейсных БИС. Производится оценка электрического сопряжения компонентов МПВУ, на основании которой в структурную схему вводятся необ- ходимые усилители, преобразователи уровней и т. п. При расчете нагрузочной способности элементов учитывают не только активную,
но и емкостную нагрузки. Осуществляют расчет задержек распростра- нения сигналов по различным цепям их передачи в МПВУ; принимают- ся меры по согласованию работы отдельных блоков во времени. В част- ности, при наличии медленно действующих устройств разрабатывает- ся схема формирования сигнала ГОТОВ. Типовую структуру МПВУ при необходимости дополняют блоком организации прерываний (воз- можно, с анализом приоритетов), блоком прямого доступа к памяти и т. п. При выполнении второго шага назначают адресные линии для ПЗУ, ОЗУ и ВУ. Для адресации ПЗУ или ОЗУ объемом 2s байтов используют s линий, начиная с Ао. Различение ПЗУ и ОЗУ при обра- щении к памяти можно осуществить любой неиспользованной линией ША, например, Л15: при А 15=0 осуществляется выборка из ПЗУ, а при А15 = 1 —обращение к ОЗУ. Если в МПВУ содержится не более восьми портов для подключения внешних устройств ввода и не более восьми портов для внешних устройств вывода, то каждому порту вы- деляется индивидуальная адресная линия. Это соответствует ис- пользованию кода «1» из «8» для кодирования портов ввода—вывода: P0RT1 — 0 0 0 0 0 0 0 1 PORT2 — 000000 1 0 PORTS — 1 0000000 При большом числе портов необходимо использовать дешифратор адресов ДША, который показан пунктиром на рис.7.10. В этом случае кодирование портов осуществляют, исходя из простоты построения ДША. Далее выделяют области в ПЗУ для записи основной программы, подпрограмм, в том числе подпрограмм обработки прерываний, таб- личных данных и разного рода констант. Производится также распре- деление емкости ОЗУ, в котором выделяются области для запомина- ния результатов вычислений, данных из ВУ, а также для организации стека. Поскольку в данном МПВУ при заполнении стека содержимое указателя стека уменьшается, то начало стека обычно располагают в последней ячейке ОЗУ. Необходимо отметить, что в МПВУ не имеется средств защиты памяти. Поэтому важно при записи новых данных не потерять ценную информацию, записанную ранее. При выполнении шага 3, состоящего в составлении программы, не- обходимо выбрать язык программирования и интерпретировать за- данный алгоритм в его терминах. Выбор языка обусловлен прежде всего наличием соответствующих средств отладки программы и ее трансляции в машинный код данного МП. Система команд МП обыч- но позволяет выполнить заданную операцию разными способами, из которых необходимо выбирать наиболее приемлемый для данного конкретного случая. Поэтому после составления программы следует проанализировать ее для нахождения путей оптимизации программы в направлении сокращения времени ее выполнения, более рациональ- ного использования памяти и повышения эффективности взаимодей-
Z(/) = ствия МПВУ с внешними устройствами. ак показывает практика, при программировании нередко возникают различного рода ошибки Поэтому написанная программа не считается свободной от ошибок до тех пор, пока не будет доказана ее безошибочность. Это еще раз под- черкивает важность этапа отладки программы, за которым следует этап совместной отладки программных и аппаратных средств МПВУ Выполнение перечисленных шагов проектирования устройств на основе МП проиллюстрируем на следующем примере. Пример 7.9. Спроектировать МПВУ, получающее входные сигналы X(Z) и Y(t) и вырабатывающее выходной сигнал Z(Z) в соответствии с выражением 1У (/) X (Z) 4- КХ (t — N), если X (Z) < Хо; U7(Z)X(O. если X(Z)»X0, (7''2’ где W(t) — весовой коэффициент , зависящий от значения сигнала IF(Z) — = /[У(/)]; пусть указанная зависимость задана с помощью таблицы, содержа- щейся в ПЗУ; К — константа, которую для конкретности примем равиой 0,75; Хо — константа, характеризующая некоторый пороговый уровень сигнала X(Z); t — такты, характеризующие темп поступления входных сигналов и соот- ветственно темп выработки выходного сигнала; N — длина очереди данных, из- меряемая в тактах t. Считаем, что все числа, кроме константы К, являются целыми положитель- ными числами. Эти числа представлены в двоичном коде без знака с числом раз- рядов, равным восьми для Хр), Y(t) и 1УР) и соответственно равным шестнад- цати для Z(Z). Данный пример имеет учебный характер, однако содержит элементы, ис- пользуемые в реальных процедурах, таких как цифровая фильтрация, коррек- ция результатов измерений, слежение за сигналами и т. д. В ходе решения примера рассмотрим следующие приемы программирования: работа с табличны- ми данными, использование подпрограммы, умножение на константу и органи- зация очереди данных. Отметим, что очередь, в отличие от стека, организуется по следующему принципу: первыми считываются данные, которые были первыми при записи. В данном примере очередь содержит значения KX(t—I) и имеет постояную длину N. Аппаратным аналогом очереди является сдвиговый регистр соответст- вующей значности и длины. При программной реализации очереди необходимо организовать указатель очереди, в котором будет храниться текущее значение адреса ячейки ОЗУ, из которой будет производиться считывание очередных данных. После считывания данных в эту же ячейку будут записаны данные, поступившие последними, и затем указатель очереди будет перемещен на сле- дующую ячейку. Таким образом, ячейки ОЗУ, образующие очередь, оказывают- ся замкнутыми в кольцо, по которому перемещаются начало и конец очереди. Выполняя первый шаг проектирования, убеждаемся, что в данном случае можно использовать типовую структурную схему МПВУ (см. рис. 7. [0). Для ввода сигналов Х(/) и Y (t) предусмотрим порты P0RTX и PORTY, а для вы вода сигнала Z(t) — порт PORTZ. Каждый порт выполним на основе одного МБР типа К589ИР12, полагая, что вывод значений Z(t) осуществляется в два приема: сначала выводят младший байт, затем — старший. Определим состав блоков памяти. В ПЗУ необходимо хранить таблицу зна- чений W(i), состоящую из 256 байтов, подпрограмму умножения, занимающую 16 байтов (см пример 7.5), и собственно программу. Программа работы проекти- руемого устройства не является сложной и предварительно можно оценить, что для ее хранения потребуется не более 100 ячеек. Однако с учетом возможного расширения функций данного МПВУ, выберем объем ПЗУ равным 512 ячейкам. В ОЗУ требуется выделить N байтов для формирования очереди данных, две ячейки для организации указателя очереди и ряд ячеек для организации стека. Учитывая целесообразность создания запаса по емкости памяти, выберем емкость ОЗУ равной 1К байтам. Для реализации блока памяти используем БИС ЗУ се- рии К541, отличающиеся достаточным быстродействием, повышенной степенью
интеграции и малым потреблением мощности. Тогда достаточно использовать 4 БИС ППЗУ типа К541РТ1 с организацией 256X4 и 2 БИС статического ОЗУ типа К541РУ2 с организацией 1024x4. При выполнении шага 2 выделим 9 адресных линий А8—ЛО для адресации ПЗУ и 10 линий Л9—ЛО для адресации ОЗУ. Различие в адресации ПЗУ и ОЗУ обеспечим с помощью значений 0 и 1 линии Л15. Таким образом, получаем сле- дующий диапазон изменения адресов ячеек: ПЗУ: начало — 0000 0000 0000 0000 — 0000 конец —0000 0001 1111 1111 —01FF ОЗУ: начало — 1000 0000 0000 0000 — 8000 конец— 1000 ООП 1111 1111— 83FF Указанные адреса как в двоичной, так и начальных и конечных ячеек ЗУ представлены здесь в шестнадцатиричной системах счисления. В последней системе, применяемой для обеспечения компактной записи чисел, первые десять цифр обозначаются так же, как и в десятичной системе, а оставшиеся шесть цифр обозначаются буквами следующим образом: 10—Л, 11—В, 12—С, 13—D, 14 — Е, 15 — F. В дальнейшем все значения адресов, как правило, будут ука- зываться в 16-ричном коде. Присвоим портам PORTX, PORTY и PORTZ адреса 01, 02 и 04. Тогда при обращении к портам P0RTX или PORTY будет возбуждаться адресная ли- ния Л0 или Л1, в сочетании с управляющим сигналом ВВОД = 1, а при обра- щении к порту PORTZ— линия Л2 в сочетании с сигналом ВЬ1ВОД=1. Программу будем записывать в ПЗУ Рис. 7.13. Блок-схема алгоритма к примеру 7.10 начиная с нулевой ячейки, а таблицу зна- чений IF(Z) разместим во второй половине ПЗУ, т. е. в ячейках с адресами от 0100 до 01FF. Тогда при обращении к таблице. W(t) старший байт адреса всегда будет оставаться постоянным, а младший байт будет равен значению Y(t). Подпрограмму умножения, имеющую символический адрес MULT, поместим в ПЗУ непосредственно после основной программы. В ОЗУ выделим N ячеек для хране- ния очереди. При организации очереди необходимо осуществлять счет, для чего удобно использовать команды DCR и JNZ. Поэтому целесообразно начало очереди расположить в N-w ячейке и далее запол- нять соседние ячейки в порядке уменьше- ния их адресов. После заполнения ячейки ОЗУ, имеющей адрес 8001, необходимо снова вернуться к TV-й ячейке. Отметим, что нулевая ячейка ОЗУ остается при этом свободной. В этой ячейке можно было бы хранить, например, значение младшего байта, указателя очереди, старший байт которого содержит константу. Однако для удобства организации пересылок будем хранить в ОЗУ оба байта указателя очере- ди и выделим для этого две ячейки, сле- дующие непосредственно за У-й ячейкой. Адресу первой из этих ячеек присвоим символическое обозначение LINE. Область стека расположим в послед- них ячейках ОЗУ, для чего в качестве начального состояния указателя стека SP запишем адрес ячейки 8400. Распределе- ние регистров общего назначения произ- водим по ходу написания программы.
- выполнению шага STСоставим укрупненную блок-схему реше Перейдем к выполнен 7 13) На рис. 7.13 рядом с блоками приведены ния поставленной зада сно^веТСТву1ОЩу1О программу с необходимыми прнмеча- их номера- ИР* НИЯМИ. LX1 LXI SP, H, 84 8 ФФ ФФ A ; XRA A » ДП: MOV M, A > DCR L 0 JNZ Ml I LXI H, 8 ФФ A SHLD LINE 1 М3: IN PORTY » MOV L, A > MVI H, 1 > MOV E, M J MVI D, Ф J IN PORTX PUSH PSW CALL MULT XCHG > ANA A » RAR MOV B, A ANA A RAR > ADD В J LHLD LINE Э MOV B, M J MOV M, A 1 DCR L 5 JNZ М2 » LXI h. 8 ФФ A ; М2: SHLD LINE J XCHG POP PSW CPI xo JNC М3 MOV E, В MVI D, ф 5 DAD D MOV A, L OUT PORTZ » MOV A, H OUT PORTZ » JMP М3 » Блок 1. Организация стека. Блок 2. Загрузка адреса начала очереди для N = 10- Обнуление аккумулятора. Обнуление ячейки очереди. Счет ячеек очереди и подготовка адреса следующей ячейки очереди. Переход, если обнуление очереди не за- кончено. Повторная загрузка начала очереди. Заполнение в ОЗУ содержимого указателя очереди. Блок 3. Ввод нового значения Y (I). Загрузка младшего байта адреса W (f). Загрузка старшего байта адреса W (/). Выборка 1У (/) из таблицы и пересылка в Е. Обнуление D. Блок 4 Ввод нового значения X(t). Засылка X (/) в стек. Вызов подпрограммы умножения. Пересылка W (t) X (t) из Н — L в D — Е. Блок 5. Обнуление CY', в А остается зна- чение X (<). Получение 0,5 X (t) в А. Пересылка 0,5 X (/) в В. Обнуление CY. Получение 0,25 X (I) в А. Формирование 0,75Х(0 в А. Блок 6. Загрузка текущего значения ука- зателя очереди из ОЗУ в Н— L. Выборка 0,75 X (/ — N) из очереди в В. Запись 0,7 X (0 в конец очереди. Блок 7. Подготовка следующего значения указателя очереди. Переход, если заполнение очереди не до- шло до нулевой ячейки. Перескок к начальному состоянию указа- теля очереди. Запоминание нового значения указателя очереди в ячейке LINE. Блок 8. Возвращение W (t) Z (t) из D — Е в Н — L Восстановление X (t) в А. Сравнение X (I) с Х0. Переход к выводу Z (/), если X (/) Х0. Блок О. Пересылка 0,75 X (/— N) в Е': Формирование старшего байта числа 0,75 X(t — N). Формирование значения Z ft) в И — L. Блок 10. Пересылка в А младшего байта Z W- Вывод младшего байта Z (t). Пересылка в А старшего байта Z (/) Вывод старшего байта Z (/). Переход к новому циклу реализации алго- ритма вычисления Z (<)-
Рассмотрим назначение и особенности программной реализации отдель- ных блоков алгоритма, которые обозначены цифрами на рис. 7.13. Блок 1. Стек здесь организуется прежде всего для обеспечения возмож- ности использования подпрограммы. -Кроме того, стек будем использовать для временного хранения значения X(t) в течение одного цикла вычисления Z(t). Блок 2. Обнуление очереди означает установку нулевых значений сиг- нала X(t) в тактах, предшествующих началу выполнения алгоритма. С этой целью в Н—L устанавливают начальный адрес очереди, который определяется величиной N. Если для определенности взять N = 10, то этот адрес будет ра- вен 800 А. Затем обнуляется аккумулятор и его содержимое поочередно пере- сылается во все ячейки ОЗУ, образующие очередь. Блок 3. Вводим Y(t) и на его основе формируем в Н—L адрес соответствую- щего коэффициента И7(£). Поскольку IK’(Z) и X(t) являются восьмиразрядными двоичными числами, для их перемножения воспользуемся подпрограммой, рас- смотренной ранее в примере 7.5. Перед обращением к этой подпрограмме сле- дует один сомножитель расположить в D—Е, а другой — в аккумуляторе. По- этому пересылаем W(t) из ПЗУ в Е, обнуляем регистр D и переходим к сле- дующему блоку. Блок 4. Вводим новое значение X(t) в А и дублируем его в стеке, чтобы впоследствии иметь возможность выполнить операцию сравнения X(t) > Х(!. Далее вызываем подпрограмму умножения по метке MULT. Подпрограмма должна заканчиваться командой возврата RET. Заметим, что в результате вы- полнения подпрограммы произведение W'(t). X(t) окажется в Н—L. Поскольку пара регистров Н—L понадобится в дальнейшем для хранения адресов, то осу- ществим обмен информацией между Н—L и D—Е. Блок 5. Вычисляем значение 0,75 X(f) для засылки в конец очереди. По- скольку 0,75 = 0,5 + 0,25, то для умножения на константу 0,75 достаточно сдвинуть X(t) дважды в сторону младших разрядов и вычислить сумму результа- тов этих сдвигов. (По условию задачи дробную часть числа отбрасываем.) Обыч- но такая реализация умножения целесообразна, если двоичная запись констан- ты содержит небольшое число единиц. Это позволяет ускорить выполнение опе- рации умножения на константу без существенного увеличения числа ячеек па- мяти, занимаемых программой по сравнению со случаем обращения к стандарт- ной подпрограмме умножения. Блок 6. Осуществляем обращение к очереди данных, содержащейся в ОЗУ Сначала извлекаем значение 0,75 X(t—N) из ячейки, адрес которой хранится в указателе очереди и которая является первой в очереди в данный момент вре- мени t. После этого указанная ячейка становится последней и в нее записыва- ется значение 0,75 X(t). Блок 7. Вычисляем адрес следующей ячейки очереди, для чего значение младшего байта указателя очереди уменьшаем на единицу. Если полученное значение этого байта окажется равным нулю, то устанавливаем первоначальное значение указателя очереди, соответствующее заданной длине очереди N. Блок 8. Производим сравнение X(t) с порогом Хо. Предварительно уста- навливаем значение W(t)X(t) в Н—L, чтобы при любом результате сравнения вывод Z(/) осуществлялся из регистров Н—L. Блок 9. Поскольку слагаемое W(t)X(t) занимает два байта, то для вычисле- ния результата Z(t) целесообразно воспользоваться командой DAD D. Для это- го предварительно в D—Е формируем второе слагаемое, младший байт кото- рого равен 0,75 X(t—N), а старший — нулю. Блок 10. Вывод Z(/) осуществляем через один порт побайтно начиная с младшего. После выполнения всех операций предусматриваем переход к новому циклу вычисления Z(Z), который начинается с ввода Y(t) Вариантом окончания программы могло бы явиться использование команды «Останов» (HLT). В этом случае для инициирования программы каждый раз необходим сигнал запроса прерывания от ВУ. Рассмотрим составленную программу еще раз и попытаемся отыскать воз- можности ее улучшения Заметим, например, что РОН С остается свободным на протяжении всей программы. Поэтому его можно использовать для хранения Х(0, что позволит заменить команды обращения к стеку более экономичными командами пересылки данных между регистрами ЦПЭ.
Глава в "уПРИМЕНЕ КОМПЛЕКТ - rvr ИЫЙ АДАПТЕР Как было рассмотрено в § 7.4, в простых случаях обмен данными между ЦПЭ и внешними устройствами (ВУ) при использовании па- раллельного восьмиразрядного кода можно организовать с помощью многорежимного буферного регистра (МБР) К589ИР12. Однако более широкие возможности для реализации обмена данными открывает ис- пользование программируемой БИС параллельного периферийного адаптера (ППА) К580ИК55. Этот адаптер имеет 24 линии ввода—вывода, которые сгруппиро- ваны в три восьмиразрядных канала (порта) А, В и С, причем канал С разделен на две части: младшие его разряды РСЗ-РСО составляют подканал С1, а старшие разряды РС7-РС4 — подканал С2. Про- граммирование адаптера осуществляется с помощью управляющих слов, поступающих из ЦПЭ в специальный регистр ППА и задающих функциональное назначение каналов и их отдельных линий. С по- мощью программирования можно получить около ста различных конфигураций этой БИС, что позволяет обслуживать почти любое ВУ без дополнительной внешней логики. Структурная схема ППА (рис. 8.1) содержит следующие узлы: восьмиразрядный буфер данных (БД), имеющий три устойчивых со- стояния и обеспечивающий двунаправленную связь внутренней шины ППА с шиной данных МПВУ; три восьмиразрядных буфера каналов А, Ви С, обозначенных БКА, БКВ и БКС1 БКС2; устройство управ- ления записью и чтением (УУ 3nJ4tri), которое управляет всеми внут- ренними пересылками данных, управляющих слов и слов состояния ППА; два устройства управления УУАС2 и УУВС1, связанные соот- ветственно с каналами А и С2 и с каналами В и С1. Выводы БИС ППА имеют следующее назначение: ЧТ — вход для передачи сигнала считывания информации (байта данных или слова состояния) из ППА в ЦПЭ, поскольку операция считывания осуществ- ляется с помощью команды ввода 1N, то на вход ЧТ через элемент «И» подаются от микропроцессора сигналы ВВОД и ПРИЕМ, которые перекрываются во времени. ЗП — вход для подачи сигнала занесения информации (байта данных или управляющего слова) из ЦПЭ в ППА; поскольку эта операция осуществляется с помощью команды вывода OUT, то на вход ЗП подаются через элемент «И» сигналы ВЫВОД и ВЫДАЧА; ВК — вход для подачи сигнала разрешения работы ППА; на этом входе, как и на предыдущих двух, активным является нуле- вой уровень сигнала, если же ВК = 1, то буфер данных БД устанав- ливается в высокоимпедансное состояние; ко входу ВК подключается одна из свободных линий шины адреса ША, выделенная для адреса-
нии). Д1-Д0, АГ} ЧТ. АТ- СБРОС- вк- началом выполнения РА7-РА0 РС7-РСЧ РСЗ-РСО РВ7-РВ0 Рис. 8.1. Структурная схема К580ИК55 ППА 1 ции данного ППА, либо один из выходов дешифратора адреса; А1, АО — адресные входы, определяющие канал ППА, к которому произ- водится обращение: код 00 соответствует каналу А, 01 — каналу В, 10 — каналу С, 11 —управляющему регистру, в который заносится управляющее слово при программировании ППА; СБРОС — вход для подачи сигнала начальной установки ППА; этот вход подключает- ся к системной шине сброса МПВУ. При подаче сигнала СБРОС все каналы установлены в режим вво- да (т. е. 24 выходные линии находятся в высокоимпедансном состоя- операций ввода—вывода данных через ППА необходимо осу- ществить его программирование. С этой целью в ППА засылает- ся управляющее слово, которое устанавливает требуемый режим работы адаптера. Имеются три основных ре- жима работы ППА: режим 0 — простой ввод—вывод; режим 1 — стробируемый ввод—вывод; ре- жим 2 — двунаправленная ма- гистраль. В режиме 0 могут ра- ботать все три канала, в режи- ме 1 — каналы А и В, в режи- ме 2 — только канал А. При программировании ППА используются два формата управ- ляющего слова: первый предназначен для задания режима работы и направления включения каналов; второй — для установки или сброса произвольного разряда канала С. Признак формата содержится в разряде Д7 управляющего слова: 1 соответствует формату 1, а 0 — формату 2. Остальные разряды управляющего слова в первом формате имеют следующее назначение: ДО, Д1, ДЗ, Д4 — направление вклю- чения каналов С2, В, С1 и А соответственно (1 означает включение канала на ввод, а 0 — на вывод); Д2 — выбор режима работы группы каналов В и С2 (0 — режим 0, 1 — режим 1); Д6, Д5 — выбор режима работы группы каналов А и С1 (00 — режим 0, 01 — режим 1, 10 или 11 — режим 2). При каждом изменении режима работы, т. е. при поступлении но- вого управляющего слова первого формата, все выходные регистры, а также триггеры состояния ППА сбрасываются. Режимы работы каналов А и В задаются независимо и они определяют режим работы подканалов С1 и С2. При работе каналов А и В в режиме 0 оба под- канала С1 и С2 составляют отдельный восьмиразрядный канал, ра- ботающий в режиме 0. Если каналы А и В работают в режиме 1, или канал А работает в режиме 2, то линии канала С используются для’ обмена управляющими сигналами с ВУ и распределяются между каналами А и В. Разряды управляющего слова во втором формате имеют следующее назначение: ДО — установка (ДО = 1) или сброс (ДО = 0) разряда
канала С; ДЗ, Д2, Д1 — двоичный код номера разряда; Д6, Д5, Д4 — не используются. Второй формат используется, например, для формирования за- просов прерывания при работе ППА в режимах 1 и 2. Рассмотрим работу ППА в различных режимах. Режим 0. Каждый из трех каналов обеспечивает ввод или вывод данных, причем эти операции щи ми сигналами с ВУ. Вы- водимые данные запомина- ются в буферном регистре каждого канала, а вводи- мые — нет. Поскольку ка- налы А и В, а также С1 и С2 могут быть настроены на ввод или на вывод неза- висимо, то всего имеется 16 вариантов реализации режима 0. Режим 1. Каждому ка- налу А и В придается по три линии канала С для организации обмена управ- ляющими сигналами с ВУ. Две оставшиеся линии ка- нала С могут использо- ваться как отдельный двухразрядный канал вво- не сопровождаются обменом управляю- Д7 ЛУ Д7__________ ДО ппс 1-ВбОЗ РП,РС5 о-выВоЗ Рис. 8.2. Структура управляющих слов и распределение линий канала С для режи- ма 1 (ввод) да-вывода. Управляющие слова и распределение сигналов по линиям канала С для случаев ввода и вывода данных представлены соот- ветственно на рис. 8.2, а, б, и 8.4, а, б. Временные диаграммы, пояс няющие выполнение операций ввода и вывода, даны, соответственно, на рис. 8.3 и 8.5. Ввод данных сопровождается следующими управляющи- ми си гналами: С (СТРОБ), который вырабатывается внешним устройством и ис- пользуется для записи под- 47 до ЕЕЕШЖШ 47 ДО Рис. 8.4. Структура управляющих слов и распределение линий канала С для ре- жима 1 (вывод) Рис. 8.3. Временные диаграм- мы работы ППА в режиме 1 (ввод)
.шивлсмных в нем данных в регистр соответствующего канала ППА; ВхБП (ВХОДНОЙ БУФЕР ПОЛОН), который вырабаты- вается в ППА после записи данных в его регистр и используется для запрещения внешнему устройству передавать новые данные; информация хранится в регистре адаптера до прихода сигнала на вход ЧТ, по которому она выдается на ЩЦ; ПР (ЗАПРОС ПРЕРЫВАНИЯ), который вырабатывается по окончании сигнала С, если соответствующий канал запрограммирован на работу с ис- пользованием режима прерывания. Рис. 8.5. Временные диаграм- мы работы ППА в режиме 1 (вывод) Работа ППА с прерыванием или без него определяется состоянием двух его внутренних триггеров разрешения прерывания РПРа и РПРь, отно- сящихся соответственно к каналам А и В. Управление этими триггерами осуществляется путем установки/сбро- са по линиям РС4 и РС2, соответ- ственно. Выбор данных сопровождается следующими управляющими сигнала- ми: ВыхБП (ВЫХОДНОЙ БУФЕР ПОЛОН), который оповещает ВУ о том, что предназначенные для него данные записаны в канал; запись данных из ШД в ППА осуществляется по команде OUT', ПЙ (ПОДТВЕРЖДЕНИЕ ПРИЕМА), который указывает, что информа- ция принята внешним устройством из канала; ПР (ЗАПРОС ПРЕРЫ- ВАНЙЯ), который вырабатывается по фронту сигнала ПП, если РПР = 1. Управление триггером разрешения прерывания в этом случае осу- ществляется установкой/сбросом по линии РС6 для канала А и по линии РС2 для канала В. Отметим, что в режиме 1 каждый из каналов А и В можно запро- граммировать для выполнения операций ввода или вывода независи- мо от другого канала. Режим 2. Канал А образует двунаправленную магистраль, по ко- торой производится как ввод, так и вывод данных, причем в обоих случаях эти данные запоминаются в регистре канала. Каналу А при- даны пять линий канала С для передачи и приема управляющих сиг- налов. Работа ППА в режиме 2 и назначение управляющих сигналов не отличаются от рассмотренных случаев ввода и вывода информации в режиме 1. Управление триггерами, разрешающими выработку сиг- нала запроса прерывания при вводе и выводе осуществляется по ли- ниям РС4 и РС6. При работе канала А в режиме 2 (или в режиме 1) канал В может быть запрограммирован на работу в режимах 0 или 1 как на ввод, так и на вывод. Контроль состояния ППА в режимах 1 и 2 осуществляется путем считывания слова состояния из канала С с помощью команды IN. Форматы слова состояния для соответствующих режимов приведены в табл. 8.1.
Номера Д? Дб Д5 Д4 Д-з д-2 Д1 ДО режимов 1 (Ввод) -1/0 1/0 ВхБПд РПРЛ ПРЛ РПРВ ВхБП в ПРВ 1 (Вывод) ВыхБП^ РПРЛ 1/0 1/0 ПРЛ РПРВ ВыхБП ПРВ 2 ВыхБПд РПРЛ ВхБПЛ РПРд ПР„ X X X Питание БИС К580ИК55 осуществляется от источника +5 В при токе потребления 1п = 40 мА. В качестве примера использования ППА рассмотрим многока- нальную систему измерения напряжений, выполненную на основе микропроцессора серии К580 и адаптеров К580ИК55 (рис. 8.6). Из- меряемые напряжения V7—Е0 поочередно подаются через мульти- плексор MS на вход преобразователя напряжение — код ПНК, с вы- хода которого двоичные коды поступают через ППА в ЦПЭ. Там про- изводится обработка измеренных данных и затем осуществляется вывод информации на алфавитно-цифровое печатающее устройство АЦПУ. Необходимое управление процессом обработки данных мо- жет осуществляться оператором с помощью пульта. Связь ЦПЭ с четырьмя внешними устройствами, использованными в данной системе, осуществляется с помощью двух адаптеров, запро- граммированных следующим образом: — ППА1: канал А работает в режиме 0, причем используются только три его линии, которые управляют селектором напряжений; канал В работает в режиме 1, осу- ществляет ввод восьмиразрядного кода с выхода ПНК и обмен сигна- лами НП (НАЧАТЬ ПРЕОБРАЗОВАНИЕ) и КП (КОНЕЦ ПРЕ- ОБРАЗОВАНИЯ); — ППА2: канал А работает в режиме 1, осуществ- ляя вывод информации на АЦПУ и обмен сигналами ПТ (ПЕЧАТЬ и ЗТ (ЗАНЯТО); канал В работает в режиме 1, осуществ- ляет ввод данных с пульта и обмен сигналами СТБ (СТРОБ) и П (ПОДТВЕРЖДЕНИЕ). Для адресации ППА 1 и ППА2 используются линии А2 и АЗ соответственно. Фрагмент программы, отно- сящейся к программированию адаптеров и выполнению пре- образования напряжение—код, приведен в табл. 8.2*. Приведенный фрагмент про- граммы реализует следующие блоки алгоритма работы изме- * Для удобства чтения програм- мы под каждой двубайтовой коман- дой приведено значение В2 в двоич- ном коде Рис. 8.6. Структурная схема подключе- ния ППА к МПВУ
Команды MV1 А 10110100 OUT 00000111 MVI А 10101110 OUT 00001011 MVI в ооооюоо М 1 : MOV А, В OUT 00000101 MVI А 01000000 OUT 00000110 M2-.1N ооооопо ANl 00100000 JZ М2 IN 00000100 Выполняемые операции Блок 1. Загрузка в А управляющего слова для ППА1 Запись слова в управляющий регистр ППА 1 Загрузка в А управляющего слова для ППА2 Запись слова в управляющий регистр ППА2 Блок 2. Установка начального состояния N — 8 счетчика измерительных каналов Блок 3. Пересылка в А текущего номера К измерительного канала Вывод значения К в MS через канал В ППА1 Подпрограмма задержки на время Тм прохождения UK через MS (используется в случае необходимости) Блок 4. Установка ае = 1 Засылка сигнала НП в ПНК через РС6 ППА1 Ввод вектора состояния ППА1 Выделение разряда а5, содержащего сигнал ВхБП, который свидетельствует об окончании преобразования Переход по петле ожидания Ввод двоичного кода VN рительной системы: блок 1 — программирование режимов работы адаптеров; блок 2 — установка счетчика измерительных каналов; блок 3 — управление работой селектора — мультиплексора; блок 4 — управление работой ПНК и ввод результата преобразования. К особенностям программы относится то, что в ней не используются режим прерывания или режим ожидания по отсутствию сигнала ГО- ТОВ. Согласование во времени работы микропроцессора и внешних устройств осуществляется введением постоянной задержки на время Тм и программного цикла ожидания окончания преобразования в пнк. Рассмотренный пример показывает широкие возможности, которые обеспечивает применение периферийных адаптеров при организации взаимодействия МП с различными внешними устройствами. Щ.; УНИВЕРСАЛЬНЫЙ СИНХРОННО-АСИНХРОННЫЙ ЛРИУМСПЕРЕДАТЧ ИК Для организации обмена информацией между МП и внешними устройствами в последовательном коде предназначена программи- руемая БИС универсального синхронно-асинхронного приемо-пере- датчика (УСАПП) К580ИК51. Приемопередатчик преобразует парал-
дельный формат дай-лых, получаемых из ЦПЭ, в непрерывный по- следовательный формат для передачи в ВУ, либо осуществляет об- ратное преобразование данных при их передаче из ВУ в ЦПЭ, а также формирует необходимые управляющие сигналы. Универсальным этот приемопередатчик называется по- тому, что он может работать в разнообразных режимах: с пяти-, шести-, семи- или восьмиразрядными символами (словами); в диапазо- не скоростей от 0 до 9,6 килобод при асинхронной передаче и от 0 до 56 килобод при синхронной передаче; со скоростью передачи, равной 1, 1/16 и 1/64 от частоты тактирования передатчика; с 1, 1,5 или 2 стоп-битами; с внутренней или внешней синхрониза- цией символов в режиме синхронной передачи; с контролем передаваемых данных и управляющих сигналов и с обнаружением ошибок. Упрощенная структурная схема" БИС К580ИК51 (рис. 8.7) содержит следующие узлы: восьмиразрядный бу- фер данных (БД), имеющий три устой- чивых состояния и обеспечивающий двунаправленную связь с внутренней шины данных УСАПП с шиной данных Рис. 8.7. Структурная схема УСАПП К580ИК51 микропроцессорного устройства; буфер передатчика (БПРД), преобразующий па- раллельный код данных в последова- тельный код, поступающий на выход передатчика; буфер приемника (БПРМ), который принимает данные в последовательном коде, преобразует их в параллельный формат и передает в ЦПЭ, осуществляя при этом необходимые про- верки; устройство управления записью и чтением (УУ ЗП/ЧТ), при- нимающие управляющие сигналы от ЦПЭ и вырабатывающие внутрен- ние управляющие сигналы для выполнения всех операций в приемо- передатчике; оно содержит два регистра; регистр команд, определяю- щий тип выполняемой операции, и регистр управляющих слов, опре- деляющий режим работы; типы операций, выполняемые в зависимости от входных сигналов, приведены в табл. 8.3; устройства управления передатчиком и приемником (УУПРД и УУПРМ), вырабатывающие внутренние и внешние управляющие сигналы для выполнения пере- дачи и приема соответственно; устройство управления модемом (УУМ), позволяющее осуществить обмен управляющими сигналами со связ- ными модемами различных типов, которые включаются между УСАПП и линией связи е удаленными ВУ. Назначение выводов БИС УСАПП заключается в следующем: УПР — определяет характер информации, передаваемой по ШД: УПР = 0 соответствует передаче данных, УПР =1 — команды; СИ — синхроимпульсы; ЧТ — вход сигнала считывания или слова состояния из УСАПП в ЦПЭ; ЗП — вход сигнала записи байта ин- формации или команды из ЦПЭ в УСАПП; СБРОС— вход сигнала,
Водные сигналы Тип операции УПР ЧТ ЗП ВК 0 0 1 0 Прием данных 0 1 0 0 Выдача данных 1 0 1 0 Чтение регистра состояния 1 1 0 0 Прием команды X X X 1 Высокоимпедансное состояние БД который переводит УСАПП в исходное состояние; ВК — вход разре- шения работы приемопередатчика; при ВК = 1 буфер данных уста- навливается в состояние гтс; МГ, ТГ — сигналы готовности модема и терминала соответственно; СПД — сигнал сброса при посылке дан- ных; ЗПД — сигнал запроса на посылку данных; ПРДВых, ПРМВх— выходной сигнал передатчика и входной сигнал приемника; ПРДГ, ПРМГ — сигналы готовности передатчика и приемника соответствен- но; ПРДТ, ПРМТ — сигналы тактирования передатчика и приемника соответственно; ПРДС — сигнал оповещения о том, что передатчик свободен; ВС — вход/выход выделения синхросигнала. Программирование приемопередатчика осуществляется с помощью управляющих слов, для представления которых предусмотрены два формата: а) формат команды установки режима, определяющий ос- новные рабочие характеристики УСАПП; б) формат команды уп- равления, определяющий конкретные операции по обмену информа- цией. Команде установки режима всегда должен предшествовать сигнал СБРОС, а после нее можно многократно выполнять команды управ- ления обменом до следующей смены режима. В приемопередатчике предусмотрены два режима работы: асин- хронный и синхронный. Асинхронный режим работы. Формат команды установки асин- хронного режима представлен на рис. 8.8, а, а формат информа- ционного слова, передаваемого в последовательном коде, — на рис. 8.8, б. Временные диаграммы сигналов УСАПП для случаев передачи и приема данных представлены на рис. 8.9, а, б. Пред- полагается, что в системе имеются две отдельные последовательности тактовых импульсов — для ЦПЭ и внешнего устройства, — которые не синхронизированы, но калиброваны с достаточной точностью. Передача данных осуществляется через выход ПРДВых, на кото- ром в исходном состоянии поддерживается высокий потенциал. К пре- образованному в последовательный код слову данных добавляется вначале старт-бит (низкий потенциал), а в конце — бит четности (если контроль по четности предусмотрен командой) и стоп-биты. Если длина слова составляет меньше 8 бит, то оставшиеся биты приравни- ваются нулю. Данные поступают на выход передатчика по спаду сиг- нала ПРДТ со скоростью, равной 1, 1:16 или 1:64 от скорости поступ-
ления импульсов ПРДТ в соответствии с содержимым команды уста- новки режима. В команде управления специально предусмотрена возможность перевода сигнала ПРДВых в низкое состояние при от- сутствии данных (бит ДЗ). Прием данных от ВУ осуществляется через вход ПРМВх, на ко- тором в исходном состоянии имеется высокий потенциал. Обычно в УСАПП используется тактовая частота, равная скорости передачи битов информации или превышаю- щая ее в 16 или 64 раза, в резуль- тате чего интервал передачи каж- дого бита делится на два или более подынтервалов. Это позволяет не реагировать на ложные стартовые ПРДС(*1В)-у ПРДВых~^- а) ___С Внутренний тарг-импульс^ t .t Старт-бит 1-й бит данных l-й бит Внутренний 8* стро6-импулы!р~ Рис. 8.8. Формат команды уста- новки асинхронного режима УСАПП (а) и формат соответст- вующего информационного сло- ва (б) 1П ---------- 7С . , , 161с t шипи t В) Рис. 8.9. Временные диаграммы работы УСАПП при приеме (а) и передаче (б) данных t t t t сигналы, вызванные кратковременными импульсными помехами. По спаду сигнала на входе приемника запускается счетчик, реализующий задержку на время, равное половине периода передачи одного бита, и затем производится считывание сигнала с линии передачи. Пред- полагается, что за это время импульс помехи исчезнет и наличие нуля на линии свидетельствует о поступлении стартового бита. Эта процедура повторяется для каждого из остальных битов. При обнаружении ошибки во время контроля четности устанав- ливается флаг ошибки по четности ТОЧ. Если на месте стоп-бита фиксируется низкий уровень сигнала, то это ошибка формата и уста- навливается флаг ТОФ. После приема стоп-бита сформированное слово данных пересылается в параллельном коде в буфер данных БД для ввода в ЦПЭ. При этом устанавливается ПРМГ=1, что сигнализирует о готовности УСАПП к вводу данных в ЦПЭ. Если ЦПЭ не осуществ- ляет своевременный ввод подготовленных данных, то они заменяются в БД. новыми данными. При этом фиксируется факт переполнения бу-
фера данных, т. е. возникновения ошибки очередности, и устанавли- вается соответствующий флаг ТОО. Все флаги ошибок в регистре при- знаков могут быть сброшены с помощью команды управления. Синхронный режим работы. Формат команды установки синхрон- ного режима приведен на рис. 8.10, а, а формат данных — на рис. рис. 8.10,6. После передачи команды установки режима ЦПЭ пере- дает в УСАПП один или два синхросимвола, которые необходимы для синхронизации приемопередатчика с ВУ. В качестве синхросим- Д7 до IC2\C7lP2[P/[B?[U[O\O] С Лиина слоВа(Випт) -I g| 7 |g| 7~ в_ 5 f 1-произВести контроль ^*~\0-не производить контроля по четности *-8ид контроля \0.пд нечетности . Режим Внешней синхронизации 1- ВС В положении „Вход" В-ВС В положении „ Выход " .Режим Внутренней синхронизации 1-один синхросимдол В-два синхросимвола а)' 6) Рис. 8.10. Формат команды установ- ки синхронного режима УСАПП (а) и формат соответствующего инфор- мационного слова (б) О В 7 8 вола может использоваться любая разрядная последовательность ну- лей и единиц. В режиме передачи УСАПП по спаду импульсов ПРДТ передает внешнему устройству сна- чала синхросимвол, а затем символ данных. При отсутствии данных он продолжает передавать символы синхронизации. При вводе в УСАПП синхросимволов из ЦПЭ сигнал СПД установлен в «1». Когда ВУ станет готово к приему данных, оно устанавливает СПД=0 и тем самым разрешает передачу данных. Если ЦПЭ передает син- хроимпульсы, но не данные, то устанавливается ПРДС =1; при пе- редаче данных автоматически ус- танавливается ПРДС =0. В режиме приема синхрониза- ция может быть как внутренней, так и внешней. В случае внутрен- ней синхронизации УСАПП начи- нает работу с режима поиска. При этом предварительно засланный в него символ (символы) синхронизации сравнивается с символами, пос- тупающими от ВУ до тех пор, пока они не совпадут. После этого начи- нается прием данных, которые стробируются тактовыми импульсами ПРМТ. В режиме поиска устанавливается ВС=0, а в режиме при- ема — ВС =1. Сброс сигнала ВС происходит при операции ЧТЕНИЕ СОСТОЯНИЯ. Если синхронизация нарушается, то ЦПЭ может перевести приемопередатчик в режим поиска. При внешней синхронизации режим поиска не используется, а синхронизация осуществляется по фронту сигнала ВС, поступающего из внешнего устройства. После первого такта ПРМТ сигнал ВС может быть снят без нарушения синхронизации. В синхронном режиме производится контроль четности, если он задан программно, и контроль переполнения буфера данных. Для задания операций ввода или вывода, для сброса триггеров— флагов ошибок, а также для управления модемом используются коман- ды управления, имеющие следующий формат: ДО — разрешение передачи (0 — разрешено); Д1 — готовность терминала (1— ТГ=0);
Д2 — разрешение приема (1 — разрешено); ДЗ — значение раздели- тельных символов (1 — установка ПРДВых=О, 0 — нормальная ра- бота); Д4 — сброс флагов ошибок (1 — сброс всех флагов); Д5 — за- прос на передачу (1— сигнал ЗПД=0); Д6 — настройка на команду режима (по Д6=1); Д7 — перевод в режим поиска (по Д7=1). Команда управления подается по ШД в любое время после команды установки режима либо после символов синхронизации при синхрон- ном режиме и сопровождается сигналом УПР=1. Для выявления ошибок, возникающих при преобразовании ин- значений некоторых управляющих формации, а также для проверки сигналов предусмотрена коман- да ЧТЕНИЕ СОСТОЯНИЯ, ко- торая выполняется при УПР=1. Эта команда имеет следующий формат: ДО — ПРДТ, Д1 —• ПРМГ, Д2 — ПРДС, ДЗ — ТОЧ; Д4 — ТОО, Д5 — ТОФ, Д6 — ВС, Д7 — МГ. Проверка сиг- налов готовности внешних ус- тройств имеет большое значение для согласования во времени работы микропроцессора и тех ВУ, быстродействие которых невелико. При этом МП не вхо- дит в режим ОЖИДАНИЯ, а периодически производит опрос Рнс. 8.11. Структурная схема подклю- чения УСАПП к МПВУ состояния приемопередатчика. Это позволяет микропроцессору соче- тать выполнение полезной работы при своем обычном быстродей- ствии с обменом информацией с внешними устройствами при пол- ной скорости их работы. Пример включения БИС УСАПП для организации обмена данными между МП и некоторым внешним устройством приведен на рис. 8.11. От приемопере- датчика на вход Р внешнего устройства подается сигнал ПРМГ, который раз- решает передачу из ВУ следующего слова данных. Значения управляющих сигналов ПРДС, ПРДГ и ПРМГ, а также сигналов об ошибках при приеме ин- формации считывается по команде ЧТЕНИЕ СОСТОЯНИЯ в МП, где произ- водится их анализ. Фрагмент программы, относящейся к заданию режима работы приемо- передатчика и к выводу данных из МП, дан в табл. 8.4. Указанные действия выполняются в следующем порядке. * Блок 1. В аккумуляторе МП формируется и затем засылается в УСАПП слово команды 01111110, которое задает асинхронный режим работы, с одним стоп-битом и с контролем по четности при длине информационного слова 8 бит при длительности передачи одного бита, равной 16 периодам тактовых импуль- сов ТИ, поступающих от ВУ. Блок 2. В аккумуляторе формируется и затем засылается в УСАПП сло- во команды управления 00010100, которое разрешает передачу и прием данных, устанавливает нормальное единичное состояние выхода передатчика и произ- водит сброс всех флагов. Блок 3. Осуществляется вывод из МП в УСАПП байта данных, первона- чально находившегося в ячейке ОЗУ, адрес которой содержится в регистрах Н—L; затем передатчик формирует слово данных в последовательном коде и передает его в ВУ.
Команды Выполняемые операции MV1 А ’ ' ’ 01111101 OUT 00000011 MVI А 00010100 OUT 00000011 MOV А, М OUT 00000010 Блок 1. Пересылка в А слова команды установки режима Засылка команды в УСАПП Блок 2. Пересылка в А слова команды управления Засылка команды в УСАПП Блок 3. Пересылка байта данных в А Вывод байта данных в УСАПП IN 00000011 AN! 00000001 JZ CONT JNX H MOV A, M OUT 00000010 Продолжение работы МП по программе J Блок 4. Чтение слова состояния УСАПП Выделение разряда ав, содержащего сигнал ПРДГ Переход к продолжению программы Вычисление нового адреса данных Пересылка байта данных в А Вывод очередного байта данных в УСАПП Продолжение работы МП в заданном темпе; в это время МП продолжает работу по текущей программе. Блок 4. Производится подготовка к передаче очередного байта данных в ВУ через УСАПП, для чего считывается слово состояния приемопередатчика и про- веряется готовность передатчика путем маскирования остальных разрядов слова состояния; если ПРДГ=1, то производится вывод байта данных, в противном случае МП продолжает работу по программе и периодически считывает слово состояния УСАПП до появления сигнала готовности передатчика. Аналогично осуществляется процедура приема данных нз ВУ, причем с по- мощью БИС УСАПП можно обеспечить связь с внешними устройствами различ- ных типов, таких, как индикаторы, пульты, телетайпы, различные объекты управления и т. п. § 8.3. ПРОГРАММНО-УПРАВЛЯЕМЫЙ ТАЙМЕР К важнейшим операциям сопряжения радиотехнического тракта с вычислительным устройством относятся операции преобразования время—код и код—время, которые используются в цифровых изме- рителях временных интервалов [50]. Для выполнения таких операций в составе микропроцессорного комплекта К580 имеется специальная БИС типа К580ВИ53, которая называется программно - уп- равляемым таймером или просто «таймером», что отражает ее основное Назначение — выполнение времязадающих и времяпреоб- разующих функций в соответствии с программным алгоритмом, реа- лизуемым в микропроцессорном вычислителе.
Эта микросхема содержит три канала, т. е три 16-разрядных счет- чика с устройствами управления, обеспечивающими' взаимодействие этих счетчиков с микропроцессором и элементами радиотехнического тракта. Структурная схема БИС таймера показана на рис. 8.12, ее условное графическое изображение с общепринятыми обозначениями выводов микросхемы — на рис. 8.13, а конкретный пример схемы Рис. 8.12. Структурная схема про- граммируемого таймера К580ВИ53 Рис. 8.13. Графическое обо- значение БИС таймера включения таймера в устройство обработки радиотехнических сиг- налов показан на рис. 10.9. Функциональное назначение выводов рассматриваемой БИС состоит в следующем. ДО—Д7 — восьми проводная шина (двунаправленная, трехстабиль- ная) для ввода в таймер управляющих слов и входных данных и для вывода показаний счетчиков. Эта шина подключается непосредственно или через шинный формирователь к шине данных микропроцессорного вычислительного устройства (см. рис. 10.9). АО, А1 — выходы сигналов, определяющих выбор канала при об- мене данными между таймером и МП (сигналы 00 обозначают канал 0, сигнал 01—канал 1, сигналы 10 — канал 2, сигналы 11 —запрет обмена). В простых схемах с малым количеством периферийных БИС (как на рис. 10.9) эти входы подключаются непосредственно к опре- деленным линиям шины адреса, а в более сложных схемах сигналы АО, А1 формируются с помощью дешифратора адреса. ВК — вход сигнала выбора кристалла (выбора микросхемы), который разрешает взаимодействие с данной БИС только при нали- чии на этом входе напряжения логического нуля. Этот вход также подключается к шине адреса непосредственно или с помощью дешифра- тора. ЧТ — вход сигнала чтения содержимого счетчиков, который разрешает передачу данных из таймера в МП только при наличии на этом входе напряжения логического нуля. Сигнал ЧТ вырабатывается микропроцессором на выходе «Прием» (см. рис. 10.9). ЗП — вход сиг- нала разрешения записи в таймер входной информации, т. е. управ-
ляющих слов или входных данных (разрешение соответствует логиче- скому нулю). Этот вход также непосредственно соединяется с мик- ропроцессорным выходом «Выдача». ТИО, ТИ1, ТИ2 — входы сигналов синхронизации счетчиков 0, 1 и 2, которые подключаются к внешнему генератору тактовых импульсов (каждый из счетчиков может синхронизироваться своим тактовым сигналом). РО, Pl, Р2 — входы сигналов, разрешающих (или запрещающих) работу счетчиков. Эти входы служат для синхронизации счетчиков от внешних устройств при обработке сигналов в реальном времени (например, на рис. 10.9 такими устройствами являются генератор запросных импульсов и приемник ответных сигналов). Вых. 0, Вых. 1, Вых. 2 — выходы каналов 0, 1 и 2, передающие на внешние устройства сигналы, фор- мируемые таймером и зависящие от режима его работы. Эти сигналы также служат для обеспечения взаимодействия таймера с радиотех- ническим трактом в реальном времени (см. рис. 10.9). Каждый из счетчиков в данной микросхеме может выполнять разно- образные счетные операции в двоичном или двоично-десятичном коде в соответствии с запрограммированным режимом. Все три счетчика являются вычитающими. Объем каждого 216 при работе в двоичном коде и 104 — при работе в двоично-десятичном коде. Скорость пере- счета определяется частотой сигналов синхронизации, передаваемых на входы ТИО, ТИ1, ТИ2. Максимальная скорость пересчета, ограни- чиваемая быстродействием микросхемы, равна 2 МГц. Режим работы каждого из трех каналов таймера задается в про- цессе программирования путем записи в схему управления специ- альных управляющих слов, формируемых микропроцессором. Кроме того, для задания начальных состояний счетчиков при программи- ровании таймера осуществляется запись в счетчики так называемых информационных байтов (один или два для каждого счетчика), также формируемых программным путем в микропро- цессоре. Формат восьмиразрядного управляющего слова (т. е. управ- ляющего байта) показан в табл. 8.5, где знак X соответствует без- различному значению двоичного символа. Запись управляющих и информационных байтов из микропроцес- сора в таймер (осуществляемая по шине данных) должна сопровож- Та блица 8.5 Разряд Назначение разряда Примечание ДО Код счетчика 0 — двоичный 1 — двоично-десятичный Д1 Д2 дз Режим работы ООО — режим 0, 001 — режим 1 ХЮ — режим 2, XII — режим 3 100 — режим 4, 101—режим 5 Д4 Д5 Чтение — Запись 01 —только младший байт 10 — только старший байт 11 — младший, затем старший байт 00 — операция «защелкивания» Д6 Номер регистра 00 — канал 0, 01 — канал 1, Д7 режима в схеме управления 10 — канал 2, 11—запрет
Управляющие сигналы ЗП ЧТ вк AI АО 0 1 0 1 1 0 1 0 0 0 0 1 0 0 I 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 X X X X 1 X X В Характер операций обмена Занесение управляющего байта в регистр ре- жима по адресу, указанному битами Д6, Д7 Запись информационного байта в счетчик О То же, для счетчика 1 То же, для счетчика 2 Чтение содержимого счетчика О То же, для счетчика 1 То же, для счетчика 2 Операция «защелкивания». Выводы ДО — Д7 высокоимпедансном состоянии Нет операций. Выводы ДО—Д7 в высокоим- педансном состоянии Запрет взаимодействия с таймером. Выводы ДО — Д7 в высокоимпедансном состоянии даться выдачей из микропроцессора на шину адреса и на входы ЗП, ЧТ соответствующих управляющих сигналов, которые определяют характер операций обмена данными между микропроцессором и тай- мером. Возможные комбинации этих управляющих сигналов и их функциональный смысл представлены в табл. 8.6. Результатом записи в таймер управляющего слова является уста- новка указанного в этом слове канала (номер канала указывается битами Д6, Д7) в одном из следующих шести режимах работы. Режим 0 — прерывание терминального счета (рис. 8.14, а, б). В этом режиме счетчик выполняет преобразование числа п (записан- ного при программировании таймера) во временной интервал Ч, от- считанный от момента подачи на вход Р разрешающего сигнала (рис. 8.14, в) до момента появления на выходе счетчика логической единицы (рис. 8.14, г, д). Особенностью режима 0 является то, что при снятии разрешающего сигнала во время счета происходит преры- вание операции счета до момента возобновления разрешающего сиг- нала (рис. 8.14, е, ж). Перезагрузка младшего байта во время счета останавливает текущий счет, а загрузка старшего байта запус- кает новый цикл счета. Режим 1 — ждущий мульти- вибратор (рис. 8.15, а, б, в). В этом режиме на выходе счет- чика формируется отрицатель- ный импульс (рис. 8.15, г), дли- тельность которого пропор- циональна записанному в таймер числу п. Начало импульса со- ответствует положительному фронту сигнала Р (с точностью до периода тактовых импульсов).
который можно считать сигналом запуска ждущего мультивибратора- С каждым приходом запускающего импульса происходит загрузка в счетчик ранее записанного числа и перезапуск ждущего мульти- вибратора, даже если счет не завершен до конца (рис. 8.15, д, е). Режим 2 — импульсный генератор частоты (рис. 8.16, а, б, в, г). Этот режим соответствует делению входной частоты /ти, подаваемой на вход ТИ, на заданное число п, \1И а) |пППППППППППППП 6) \зп п=ь В) If_____ \ВЫХ . г} я |р I Тй \Вых 4 3 2 1 4 3 2 1 О е) I I_____________________________1 Рис. 8.15. Временные диаграммы рабо- ты таймера в режиме 1 записанное в таймер. При этом разрешающий сигнал Р играет роль внешнего сигнала синхро- низации делителя частоты, так как счет начинается с момента подачи логической единицы на вход Р (рис. 8.16, д,ё). Дли- тельность выходных отрицатель- ных импульсов в режиме 2 рав- на одному периоду входной час- тоты, т. е. Тти = 1//ти- Режим 3 — генератор меан- дра. Единственное отличие это- 4 3 2 1 О t t t t t 7 Рис. 8.16. Временные диаграммы рабо- ты таймера в режиме 2 го режима от предыдущего состоит в том, что длительность отрицательных импульсов здесь равняется Тти п/2 при четных п и 7ти(п—1)/2 при нечетных п, т. е. формируемый на выходе счетчика сигнал представляет собой меандр (если пренебречь погрешностью, равной Тти/2 при нечетных п). Режим 4 — одиночный про- граммно-формируемый строб. Этот режим аналогичен режиму О, за исключением того, что в данном случае выходной сигнал счетчика все время равен логичес- кой единице и только по окончании счета (т. е. по истечении интер- вала t = пТтн) принимает значение логического нуля на время, равное периоду Тти- При этом перезагрузка младшего байта во вре- мя счета не влияет на текущий счет (в отличие от режима 0), а загрузка старшего байта запускает новый цикл счета (как и в режиме 0). Режим 5 — аппаратно-формируемый строб. По характеру выход- ного сигнала этот режим аналогичен режиму 4, а по действию разре- шающего сигнала Р — режиму 1, т. е. каждый новый сигнал Р сво- им положительным фронтом вновь запускает счет или перезапускает его сначала, если предыдущий цикл счета не был завершен. После записи в таймер управляющих слов, определяющих режим работы каждого канала, необходимо выполнить также загрузку счет- чиков теми информационными байтами, которые указаны в соответст-
вующем управляющем слове комбинацией битов Д4, Д5 (см. табл. 8.5). Требуемая для этого информация образуется в микропроцессоре программным путем и выводится на шину данных при соответствую- щей комбинации управляющих сигналов (см. табл. 8.6). На этом заканчивается программирование таймера, и последующая его работа будет определяться управляющими сигналами от внешних устройств и операциями обмена данными, содержащимися в программе, вы- полняемой процессором. В качестве примера рассмотрим фрагмент программы, отражающей рабо- ту таймера в схеме измерителя дальности, рассмотренной в гл. 10 (см. рис. 10.9). В этой схеме канал 0 определяет начало отсчета измеряемого временного интер- вала, задаваемое значением /mjn, а канал 1 служит для измерения задержки t, ответного сигнала на интервале |7min, Anaxl- Соответствующая программа с необходимыми пояснениями приведена в табл. 8.7. К выполнению этой про- граммы сводится подготовка таймера к взаимодействию с микропроцессорным вычислителем при обработке сигналов в реальном времени. Особенностью такого взаимодействия является синхронизация операций, выполняемых таймером, внешними сигналами. В рассматриваемом примере (см. рис. 10.9) запросный сигнал запускает счетчик 0, который с задержкой, равной йшп. вырабатывает сигнал разрешения счета в счетчике 1. При появлении ответного сигнала Т а б л и ца 8.7 Команды программы MVI А 00110101 OUT 10000011 MVI А 01110101 OUT 10000011 MVI А TMINl OUT 10000000 MVI A TM1N2. OUT 10000000 MVI A TMAXl OUT 10000001 MVI A TMAX2 OUT 10000001 Выполняемые операции Непосредственная загрузка в А управляющего байта (второго байта команды). Этот байт соответствует установке канала 0 (Д7, Д6 = 00) в режим 2 (ДЗ, Д2, Д1=010) при двоично-деся- тичном кодировании (Д0=1) и записи в счетчик двух информа- ционных байтов (Д5, Д4=11) Запись содержимого А из МП в схему управления таймера. Второй байт команды определяет состояние шины адреса, обес- печивающее выбор микросхемы таймера (А15.=ВК=0) и необхо- димые управляющие сигналы (Al, А0=11) Загрузка в А управляющего слова, устанавливающего в счет- чике 1 тот же режим, что и в счетчике 0 Запись управляющего слова из МП в схему управления гай- мера для установки режима счетчика 1 (номер канала содер- жится в самом управляющем слове) Загрузка в А младшего байта значения /П1(П в двоично-деся- тичном коде Запись содержимого А в счетчик 0 таймера (биты А1, АО = = 00 определяют номер счетчика, в который заносится инфор- мационный байт) То же, для старшего байта двоично-десятичного числа (состоящего из двух байтов) Аналогичные операции записи двубайтового двоично-десятич- ного числа /тах в счетчик 1, номер которого определяется би- тами А1, А0=б1 второго байта операции вывода данных
в пределах интервала [ZmIn, /тах1 происходит остановка счетчика 1, а состояние этого счетчика после остановки отражает измеряемое значение t3. Это значение по сигналу прерывания может быть передано в микропроцессор для последую- щей программной обработки. Для выполнения операции считывания состояния счетчика 1 программа обработки прерываний, выполняемая микропроцессором, должна включать в себя две последовательные команды ввода данных, т. е.' двухбайтные команды IN, в которых второй байт указывает- адрес счетчика 1 (см. аналогичные команды OUT в табл. 8.7). Две команды ввода необходимы для поочередного считывания младшего и старшего байтов значения t3 в соот- ветствии с запрограммированным режимом работы таймера (см. табл. 8.5). Кроме рассмотренной в данном примере простой операции считыва- ния данных таймера путем предварительной остановки счетчика, в микросхеме К580ВИ53 предусмотрено так называемое чтение «на лету», для реализации которого используется операция «защелкивания». Она кодируется в управляющем слове битами Д5, Д4=00 и выпол- няется при подаче на схему управления обменом сигналов А1, А0=11 (см. табл. 8.6), которые вызывают запоминание («защелкивание») текущего состояния счетчика в буферном регистре того канала, номер которого указан в битах Д7, Д6 управляющего слова. После «защел- кивания» следует обычная операция чтения в соответствии с запро- граммированным числом байтов. При этом режим работы счетчика не изменяется и процесс счета не прерывается, а после завершения опе- рации чтения .разрешается считывание новых состояний счетчика в буферный регистр. Таким образом, из рассмотрения операций, выполняемых микро- схемой таймера К580ВИ53, видно, что на основе этой микросхемы можно осуществить одновременно три различные операции преобра- зования код—время или время—код, управляемый программно от микропроцессорного вычислительного устройства. Сопряжение тай- мера с микропроцессором сводится к программированию необходи- мых операций управления таймером с учетом особенностей обработки сигналов в реальном времени. « *4 КОНТРОЛЛЕР ПРЯМОГО ДОСТУПА К АМЯТИ Обработка сигналов в РТС включает различные операции, связан- ные с запоминанием, преобразованием и выводом больших массивов данных, извлекаемых из принимаемых сигналов. Для выполнения этих операций в микропроцессорном вычислителе используется режим прямого доступа в память (ППД), который отличается наибольшей скоростью обмена данными между вычислителем и внешними устрой- ствами (см. § 6.4). В микропроцессорном комплекте серии К580 для организации режима ПДП предусмотрена БИС программируемого контроллера ПДП типа К580ИК57, способная обслуживать четыре внешних устройства. Структурная схема контроллера представлена на рис. 8.17. Рас- смотрим функциональное назначение выводов микросхемы и смысл основных операций, выполняемых отдельными ее узлами. ДО—Д7 двунаправленная (трехстабильная) шина данных, кото- рая обеспечивает обмен информацией между МП и контроллером, а
также передачу из контроллера старшего байта адреса памяти в ре- жиме ПДП. Эта шина подключается непосредственно к шине данных (ШД) микропроцессора и через многорежимный буферный регистр (МБР) типа К589ИР12 — к разрядам А8—А15 адресной шины. АО, А7 — шина выдачи младших разрядов адреса памяти. Массив адресуемых ячеек памяти задается устройством формирования адре- сов (УФА), включающим четыре регистра начальных адресов, четыре регистра количества циклов ПДП и схему декрементирования адре- сов (т. е. уменьшения адреса на один при каждом цикле ПДП). Исходные данные (начальный адрес и количество циклов) за- носятся в регистры при про- граммировании контроллера, причем номер канала обмена в режиме программирования пере- дается по двунаправленным ли- ниям АО—АЗ. ЗПДПО — ЗПДПЗ — входы сигналов запроса прямого дос- тупа к памяти от внешних ус- тройств, которым присваивают- ся номера от 0 до 3. ППДПО — ППДПЗ — выходы сигналов, обеспечивающих вы- бор одного из четырех внешних устройств для обмена информа- Ри. 8.17. Структурная схема контрол- лера ПДП К580ИК57 цией в режиме ПДП. Приоритет обслуживания внешних устройств задается схемой обработки запросов (СОЗ) в соответствии с запро- граммированным режимом работы. ВК — вход сигнала «Выбор кристалла», разрешающего взаимодей- ствие МП с контроллером, как с периферийным устройством. При подаче этого сигнала на схему выработки сигналов записи чтения (СЗЧ) происходит обмен информацией между МП и внутренними регистрами контроллера, адресуемыми шиной АО—АЗ. Этот вход может подключаться к одной из свободных линий адресной шины МП или к определенному выходу дешифратора адреса. Таким образом, микропроцессор может обращаться к контроллеру ПДП, как к од- ному из внешних устройств, что необходимо для выполнения команд ввода и вывода информации при программировании контроллера. ЧтВ/В —• двунаправленный (трехстабильный) вход—-выход. В ре- жиме взаимодействия с МП по этой линии поступает сигнал (из МП в контроллер), разрешающий вывод информации из внутренних ре- гистров контроллера на шину данных. В режиме обслуживания внеш- них устройств по этой линии передается управляющий сигнал, кото- рый вырабатывается в блоке СЗЧ контроллера и разрешает считыва- ние информации из ВУ в память но шине данных. . ЗнВ/В — двунаправленный (трехстабильный) вход—выход уп- равляющей линии, аналогичной линии ЧтВ/В. Сигнал ЗпВ/В разре-
шает либо запись информации из МП в контроллер (в режиме про- граммирования контроллера), либо запись данных во внешнее уст- ройство из памяти (в режиме обслуживания ПДП). ЧтП и ЗпП — трехстабильные выходы, используемые для чтения данных из адресуемых ячеек памяти или для записи данных во время циклов ПДП. ЗЗХВ — выход управляющего сигнала запроса захвата системных шин процессора. Этот сигнал подается непосредственно на вход ЗА- ХВАТ микропроцессора перед началом обмена данными в режиме ПДП. ПЗХВ — вход сигнала подтверждения захвата, поступающего с соответствующего выхода МП и разрешающего переход в режим ПДП. СБА — выход стробирующего сигнала, вырабатываемого устрой- ством управления (УУ) и указывающего на вывод старшего байта адреса памяти на шину данных контроллера для передачи его на ад- ресную шину процессора. Обычно эта передача осуществляется с по- мощью дополнительного буферного регистра, в который по сигналу СБА записывается информация с шины данных. РА — выход сигнала «Разрешение адреса», который указывает на осуществление циклов ПДП. Этот сигнал можно использовать в системе для блокировки адресной шины в устройствах, не участ- вующих в ПДП. 7? — вход сигнала сброса, предназначенный для установки внут- ренних узлов микросхемы в исходное состояние. ТИ — вход тактовых сигналов, обеспечивающих синхронизацию всей микропроцессорной системы. КС — выход сигнала, определяющего последний цикл обмена данными с обслуживаемым внешним устройством. Появление этого сигнала соответствует передаче последнего элемента массива данных от этого внешнего устройства. Ml28 — выход маркерных сигналов, появляющихся на каждом кратном 128 цикле ПДП, начиная от конца массива данных. Г — асинхронный вход, используемый для удлинения циклов обмена путем перевода микросхемы по сигналу «Готовность» в состоя- нии ожидания. Это необходимо в тех случаях, когда быстродействие памяти ниже быстродействия МП. В процессе функционирования в составе микропроцессорного вы- числительного устройства контроллер ПДП может находиться в одном из состояний: а) исходное; б) программирование; в) ожидание; г) об- служивание. В исходном состоянии, которое устанавливается по сигналу сброса R, контроллер не принимает запросы ПДП, а трехстабильные буферы АО—АЗ находятся в состоянии приема информации. Когда контроллер находится в состоянии программирования, МП через шину данных записывает в соответствующие регистры контрол- лера исходные данные (начальные адреса и количество циклов), а также инструкции, определяющие режим работы контроллера. При этом адресат приема информации в контроллере определяется кодом на линиях АО—АЗ.
В состоянии ожидания контроллер находится от момента оконча- программирования до момента выдачи сигнала «Подтверждение НИпроса ПДП» (ППДП) или же в промежутках между массивами цик- Зов ПДП. В этом состоянии системные шины находятся под управ- лением микропроцессора, и контроллер осуществляет прием сигналов ЗПДП и вырабатывает сигнал ЗЗХВ. В состояние обслуживания контроллер переходит после получения сигнала ПЗХВ от микропроцессора и выработки сигнала ППДП, ко- торый является признаком того, что контроллер управляет систем- ными шинами и осуществляет запрограммированный- режим работы. Режим работы контроллера ПДП задается в процессе программи- рования путем записи 8-разрядного управляющего слова в регистр установки режима (РУР). Назначение каждого разряда управляюще- го слова отражено в табл. 8.8. Отметим, что режим удлиненной запи- си, устанавливаемый при Д5=1, используется при работе с быстро- действующими ЗУ и ВУ для того, чтобы эти устройства после по- ступления переднего фронта сигналов ЗПП или ЗПВВ успели выдать сигнал готовности до вхождения контроллера в такт ожидания. Для осуществления программирования контроллера необходимо подать на микросхему соответствующие управляющие сигналы, зна- чения которых представлены в табл. 8.9. При обращении к регистру установки режима или регистру состояния каналов входы АО—А2 должны быть в состоянии 0. При обращении к информационным ре- гистрам каналов сигнал АО=0 соответствует регистру начального ад- реса, а сигнал А0=1 — регистру числа циклов. Сигналы Al, А2 опре- деляют номер канала обмена в двоичном коде (А1 — младший разряд Таблица 8.8 Разряд Функциональное назначение разряда до—дз Разрешение работы канала 0, 1,2 или 3 соответ- ственно Д4 Установка циклического сдвига приоритета. Соот- ветствует поочередному установлению низшего приори- тета тому каналу, который был обслужен на данном цикле ПДП. Смена приоритетов происходит на каж- дом цикле ПДП Д5 Установка удлиненной записи, при которой увели- чивается длительность сигналов ЗПП и ЗПВВ путем их более ранней активизации Д6 Установка режима «КС-стоп». В этом режиме появ- ление сигнала КС запрещает дальнейшее взаимодей- ствие с обслуженным каналом путем установки соот- ветствующего разряда управляющего слова (0—3), в состояние 0 Д7 Установка режима автозагрузки. Означает автома-. тическое дублирование при программировании началь- ных параметров (начального адреса и числа циклов) канала 2 в регистрах канала 3 и автоматическую пе- резапись этих данных в регистры канала 2 после по- явления сигнала КС
Наименование операций Управляющие сигналы ВК ЧтВ/В АЗ ЗпВ/В Запись в регистр канала (одного байта) 0 0 1 0 Чтение из регистра канала (одного байта) 0 1 0 0 Запись в регистр установки режима 0 0 1 1 Чтение из регистра состояния кана- ЛОВ 0 1 0 1 кода). Следует учитывать, что регистры каналов являются 16-раз- рядными, поэтому для загрузки (или чтения) каждого из них требуется две программных операции (первым загружается младший байт). Максимальный объем массива данных, передаваемых в режиме ПДП, составляет 16 348 байт, поскольку для указания числа циклов ПДП используется 14.младших разрядов регистра числа циклов. Если требуется осуществить N циклов, то в эти разряды регистра загружа- ют число N—1. В зависимости от способа присвоения приоритетов отдельным ка- налам возможны два режима работы контроллера ПДП: с фиксиро- ванными приоритетами, когда канал 0 имеет наивысший приоритет, а канал 3 — наинизший; с циклическим сдвигом приоритетов, когда после каждого обслуживания' внешнего устройства приоритеты ка- налов циклически сдвигаются в следующем' порядке: КАНО -> КАН1-> КАН2-> КАНЗ; первоначально каналу 0 присваивается самый высокий приоритет. Структурная схема включения БИС К580ЙК57 в микропроцес- сорное вычислительное устройство представлена на рис. 8.18. На схеме показан контроллер состояний КС, который содержит буферные Рис. 8.18. Структурная схема подключения контроллера ПДП к МПВУ
усилители для шины данных, регистр состояния и логическую схему. Эта логическая схема вырабатывает системные управляющие сигналы ЧтЗУ, ЗпЗУ, ВВОД и ВЫВОД, которые используются для управ- ления работой запоминающих и внешних устройств. Многорежимный буферный регистр (МБР) используется для выдачи старшего байта адреса в реяшме ПДП. Для обеспечения двойного управления работой ОЗУ предусмотрена логическая схема управления памятью (ЛСУП). В обычном режиме эта схема обеспечивает управление ОЗУ от микро- процессора, а в режиме ПДП — от контроллера ПДП. Предполага- ется, что внешнее устройство имеет внутренний двунаправленный трехстабильный буфер данных (если это не так, то следует ввести дополнительные буферные каскады). Таблица 8.10 Команда .Выполняемые операции MVI А 01000000 Запись в А младшего байта начального адреса памяти (двоичного кода 64-й ячейки) OUT 10000100 Вывод этого байта на регистр начального адреса кана- ла 2 (при ВК = А15 = 0, АЗ = 0; А2 = 1; А1 = АО = 0) /ИУ7 А 00000000 OUT 10000100 То же, для старшего байта начального адреса (здесь принят равным нулю) MVI А 00011111 Запись в А младшего байта количества циклов обмена данными (У — 1 = 31) OUT 10000101 Вывод этого байта на регистр количества циклов кана- ла 2 (признаком этого регистра является АО = 1 в от- личие от команды 2) MVI А 01000000 OUT 10000101 То же, для старшего байта количества циклов. Содер- жимое двух старших разрядов этого байта определяет установку канала ПДП в режим записи (установке ре- жима считывания соответствует 10) MVI А 10001100 Запись в А управляющего слова, соответствующего режиму автозагрузки и разрешению работы каналов 2 и 3 (см. табл. 8.7) OUT 10001000 Вывод содержимого А по адресу, указанному во вто- ром байте команды. При этом задаются сигналы ВК = = А15 = 0 и А3 = 1 в соответствии с табл. 8.9, а вы- работка необходимых сигналов ЧтВ/В-1 и ЗпВ/В=0 обеспечивается системным контроллером
В качестве примера программирования контроллера ПДП в табл. 8.10 приведен фрагмент программы, соответствующей установке контроллера в ре- жим автозагрузки для записи в память массива из 32 байтов информаций, ко- торый поступает из внешнего устройства по каналу с номером 2. Режим авто- загрузки позволяет каналу 2 повторно пропустить массив данных или связать ряд массивов без программного вмешательства. Регистры канала 2 устанавли- ваются как обычно для передачи первого массива. В регистры канала 3 записы- ваются параметры массива для переустановки регистров канала 2 (начальный адрес ПДП, количество циклов и режим подачи). После передачи первого мас- сива данных по каналу 2 и появления сигнала КС параметры, хранимые в ре- гистрах канала 3, автоматически загружаются в соответствующие регистры канала 2. После окончания программирования контроллер ПДП находится в состоя- нии ожидания, из которого переходит в состояние обслуживания по сигналу ЗПДП2 от внешнего устройства. Об окончании режима обслуживания свиде- тельствует сигнал КС на выходе контроллера. Этот сигнал можно использовать для управления внешним устройством (например, для возвращения его в ис- ходное состояние). Появление сигнала КС сопровождается установкой регистра состояния каналов (РСК) контроллера в состояние, отражающее номер обслу- женного канала (номер канала совпадает с номером разряда РСК, установлен- ного в состояние 1). Определение номера этого канала (если обслуживается не- сколько внешних устройств) осуществляется с помощью команды чтения со- держимого регистра состояния каналов (см. табл. 8.9). Полученную при этом информацию можно использовать для программного управления дальнейшей процедурой взаимодействия контроллера с МП и внешними устройствами. После завершения всей программы обмена данными выполняется установка контроллера в исходное состояние подачей сигнала R, который блокирует за- просные сигналы всех каналов и переводит контроллер в режим программиро- вания. § - ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПРЕРЫВАНИЙ Обмен информацией между микропроцессором и внешними уст- ройствами по прерыванию, как отмечалось в гл. 6, является эффектив- ным методом обслуживания ВУ. В качестве аппаратного средства для организации такого обмена широко распространена БИС блока прио- ритетных прерываний (БПП) К589ИК14 [32]. Эта микросхема позво- ляет реализовать прерывание по вектору путем использования спе- циальной команды RST (рестарт), имеющейся в системе команд микро- процессора К580ИК80. Однако существенно большими возможностями обладает появившаяся несколько позднее БИС программируемого конт- роллера прерываний (КПП) К580ВН59. Этот контроллер позволяет реализовать прерывание как по вектору, так и по опросу, для чего в нем предусмотрены соответствующие режимы обслуживания ВУ, на- зываемые обслуживанием по запросу и обслужи- ванием по результатам опроса. Имеется также ре- жим программирования ПКП, во время которого задаются режим и алгоритм обслуживания ВУ с помощью команд, поступающих из МП. Значения приоритетов, закрепленные за внешними устройствами до начала обработки прерываний, могут быть изменены динамически, т. е. в процессе выполнения программы. Принцип работы контроллера прерываний состоит в следующем. На его асинхронные входы запросов прерывания ЗПР в произвольные моменты времени поступают сигналы запросов прерывания от внеш- них устройств. Контроллер определяет запрос с наивысшим приори-
тетом и выдает сигнал прерывания ПР на соответствующий вход МП. После поступления на контроллер сигнала подтверждения прерыва- ния ППР с выхода регистра состояния микропроцессора контроллер выдает на шину данных ШД первый байт команды CALL (Вызов под- программы прерывания), который воспринимается микропроцессо- ром. Затем в ответ на повторные два сигнала ППР контроллер выдает на ШД два байта адреса подпрограммы обслуживания внешнего уст- ройства, вызвавшего прерывание. Одна БИС ПКП способна обслу- жить восемь запросов прерывания, причем в ней предусмотрена воз- можность увеличения числа обслу- живаемых запросов до 64 путем каскадного соединения микросхем ПКП, при котором одна микро- схема является ведущей, а осталь- ные ведомыми. Структурная схема БИС ПКП приведена на рис. 8.19. Рассмот- рим назначение ее блоков. Регистр запросов прерывания (РЗПР) пред- назначен для хранения запросов прерывания. Сигнал запроса дол- жен длиться, по крайней мере, до прихода первого импульса ППР. Разряд РЗПР, соответствующий обслуживаемому запросу, возвра- Рис. 8.19. Структурная схема кон- троллера прерываний К580ВН59 щается в исходное состояние при поступлении второго импульса ППР. Регистр обслуживания запросов прерывания (РОЗПР) предназна- чен для хранения сигналов, которые поступают с выходов схемы МЗАПР, и соответствует запросам, обслуживаемым в данный момент. Разряд РОЗПР устанавливается в «1» после второго импульса ППР и сохраняет это состояние до получения команды КП («Конец преры- вания») от микропроцессора. Блок маскирования запросов и анализа приоритетов (МЗАПР) состоит из двух схем. Схема маскирования разрешает или запрещает прохождение сигнала.с выхода РЗПР на входы схемы анализа прио- ритетов. Код маски записывается в регистр РСК01 этого блока с по- мощью команды СК01 и хранится там до записи нового кода маски или до установки контроллера в исходное состояние. Схема анализа при- оритетов записывает запросы с наивысшим приоритетом в РОЗПР и не пропускает запросы с таким же или низшим приоритетом. Для раз- решения прохождения этих запросов необходимо подать на конт- роллер команду КП («Конец прерывания») либо команду специаль- ного маскирования («затенения») СКОЗ. Схема логики чтения/записи (ЛЧТ/ЗП) обеспечивает запись команд СКО и СКП в различные регистры контроллера или считывание со- держимого этих регистров на шину данных. Регистры слов команд инициализации (РСКИ) предназначены для хранения слов команд инициализации СКИ1, СКИ2 и СКИЗ, форматы
Слова команды АО Д7 Д6 Д5 Д4 ДЗ Д2 Д1 До СКИ1 а б в г 0 0 0 0 А7 А7 А7 А7 Аб Аб Аб Аб Аб А5 1 1 1 1 — 1 1 0 0 1 0 1 0 — СКИ2 1 А15 А14 А13 А12 АН АЮ А9 A8 скиз а б 1 1 Н7 Н6 Н5 Н4 НЗ Н2 Н2 Н1 Н1 НО НО СКО1 1 М7 Мб М5 М4 М3 М2 Ml МО СКО2 а 0 0 0 1 0 0 — — — б 0 0 1 1 0 0 В2 Bl во в 0 1 0 1 0 0 — — <*• г 0 1 1 1 0 0 В2 Bl во д 0 1 1 0 0 0 В2 Bl во скоз а 0 — 0 0 0 1 1 0 0 б 0 — 0 0 0 1 0 1 1 в 0 —- 0 0 0 1 0 1 0 г 0 — 1 1 0 1 0 0 0 д 0 — 0 0 ° 0 0 которых представлены в табл. 8.11. Коды этих команд записываются в РСКИ до начала приема и обработки запросов прерывания. Регистры слов команд операции (РСКО) предназначены для хране- ния слов команд операции СК01, СК02 и СКОЗ, с помощью которых можно задавать и в процессе работы изменять алгоритмы обслужи- вания прерываний (табл. 8.11). Схема формирования команды вызова подпрограммы (ФКВП) предназначена для выдачи на ШД трехбайтной команды CALL. Фор- маты первого и второго байтов этой команды даны в табл. 8.12, а ее третий байт хранится в РСКИ2. Устройство управления (УУ) вырабатывает сигнал ПР после по- ступления запросов прерывания от ВУ, а также управляющие сигналы для формирования байтов команды CALL. Если в микропроцессор- ном устройстве используется только одна микросхема ПКП, то УУ
Байты Формат команды CALL Примечание Д7 Д6 Д5 Д4 дз Д2 Д1 ДО В1 1 1 0 0 1 1 0 1 — В2 А7 Аб А5 В2 В1 во 0 0 ф= 1 формат 4 А7 Аб В2 В1 ВО 0 0 0 Ф= 0 Формат 8 выдает сигналы, разрешающие выдачу всех трех байтов команды CALL. При использовании нескольких микросхем ПКП первый байт команды CALL формируется ведущей микросхемой, а второй и третий байты — той ведомой микросхемой, на которую поступил запрос, вызвавший прерывание. Буфер каскадирования (БКАС) обеспечивает возможность кас- кадного соединения микросхем АКП с целью увеличения числа об- служиваемых запросов. Буфер шины данных (БД) является восьмиразрядным двунаправ- ленным буфером с тремя состояниями и соединяет внутреннюю шину данных с системной ШД. В режиме программирования через БД за- писываются в контроллер слова команд СКП и СКО, а из контроллера считывается содержимое РЗПР, РОЗПР, регистра маски (РСК01) и код запроса, вызвавшего прерывание. В режиме обслуживания по запросу БД выдается команда CALL. В остальное время выход БД находится в высокоимпедансном состоянии. Выводы микросхемы ПКП имеют следующее назначение. ВК —. вход «Выбор кристалла», который используется для установки режима программирования контроллера (ВК = 0). ЗП — вход сигнала «Запись»; при ЗП=0 и ВК=0 в контроллер с шины данных записываются команды СКП и СКО. ЧТ — вход сигнала «Чтение»; при ЧТ=0 и ВК=0 из контроллера на ШД выдается содер- жимое РЗПР, РОЗПР, регистра маски и код запроса прерывания. Д7—ДО — трехстабильные входы/выходы шины данных. ПР — выход сигнала «Запрос прерывания», который подается на соответствую- щий вход микропроцессора. ППР — вход сигнала «Подтверждение прерывания», снимаемого с соответствующего выхода микропро- цессора. ЗПР7-ЗПР0 — входЙ! запросов прерывания, поступающих от внешних устройств или с выходов ПР микросхем, работающих в качестве ведомых. АО — вход адресной линии АО, с помощью которой осуществляется адресация регистров ПКП в режиме програм- мирования. ВВДМ — вход «Выбор ведомой микросхемы», на которой подается «1» для ведущей микросхемы и «0» — для ведомой. КАС2— КАСО — трекстабильные входы/выходы шины каскадирования, слу- жащие выходом для ведущей и входом для ведомой микросхем.
структурная схема включения БИС ПКП в микропроцессорное вычислительное устройство приведена на рис. 8.20, на котором по- казано соединение одной ведущей и двух ведомых микросхем, что поз- воляет обслуживать до 22 запросов прерывания. Каждой микросхеме присваивается номер, который устанавливается с помощью команды СКИЗ в начале работы устройства. Двоичный код номера ведомой микросхемы, на которую был подан запрос, вызвавший прерывание, на шину КАС2 — КАСО по заднему выдается ведущей микросхемой moismiBisu- Рис. 8.20. Структурная схема под- ключения контроллера прерываний к МПВУ байт команды CALL и на шину фронту первого импульса ППР и сохраняется до появления заднего фронта третьего импульса ППР. Если сигнал ПР, поступивший на ЦПЭ, выработан в соответствии с сигналом ЗПР, поступившим на вход ведущей микросхемы, то фор- мирование команды CALL осу- ществляется этой же микросхемой аналогично описанному случаю использования единственной мик- росхемы ПКП. Если же прерыва- ние ЦПЭ происходит по запросу прерывания, поступившему на вход ведомой микросхемы, то команда CALL формируется с участием обеих микросхем следующим об- разом. При поступлении от ЦПЭ первого сигнала ППР ведущая микросхема выдает на ШД первый КАС2—КАСО — код ведомой микро- схемы. С приходом каждого из двух оставшихся сигналов ППР ведомая микросхема, запрограммированный номер которой совпал с кодом, находящимся на шине КАС2—КАСО, выдает на ШД второй и третий байты команды CALL, содержащие адрес подпрограммы обслуживания прерывания. Статус уровней приоритетов для входов ЗПР7—ЗПРО задается программным путем и выражается в том, что каждый вход ЗПР имеет более высокий приоритет по отношению к одному смежному с ним входу и более низкий — по отношению к другому смежному входу. Форма задания уровней представляет собой приоритетное кольцо О, 1, 2 ...7, положение которого относительно входов ЗПР7—ЗПРО определяет различные варианты распределения уровней приоритета. Цифра 0 в приоритетном кольце соответствует самому высокому уров- ню приоритета, а 7 — самому низкому, который называется дном приоритетного кольца. Возможны несколько способов задания дна приоритетного кольца, которые используются в соответствии с кон- кретными требованиями к обслуживанию внешних устройств. При работе ПКП запросы прерывания от ВУ, ожидающих обслу- живания, записываются в разряды РЗПР. После выработки контрол- лером сигнала ПР и получения последовательности из трех сигналов
Г1ПР разряд РЗПР, соответствующий обслуживаемому запросу, сбра- сывается, а одноименный разряд РОЗПР устанавливается в единичное состояние. Этот разряд РОЗПР блокирует обслуживание всех запро- сов, приоритет которых не превышает приоритет данного запроса. Запретить обслуживание отдельных запросов можно с помощью опе- рации маскирования, которая позволяет заблокировать любой из вхо- дов ЗПР7-ЗПР0. Имеется также возможность устранить влияние разрядов РОЗПР на блокировку обслуживания запросов, для чего используется специальное маскирование, вызывающее «затенение» любого разряда РОЗПР. Это достигается также путем подачи в ПКП команды конца прерывания. Таким образом, БИС ПКП дает возмож- ность более гибко управлять обслуживанием внешних устройств по сравнению с прямым использованием команд EI («Разрешение преры- вания») и DI («Запрет прерывания»). Рассмотрим теперь работу контроллера в режиме обслуживания по результатам опроса. В этом случае ЦПЭ блокирует свой вход ПР и становится инициатором обслуживания внешних устройств. На микросхему ПКП подается команда СКОЗа, устанавливающая данный режим обслуживания, после которой следуют сигналы чтения (ЧТ=0). Если в ПКП записаны запросы прерывания, поступившие от ВУ, то на ШД считывается код К2—КО номера запроса, имеющего наивысший приоритет. Считываемое при этом слово имеет следующий формат: разряды Д2—ДО содержат код К2—КО, Д6—ДЗ — не используются, Д7 = 1. Содержимое разряда Д7 соответствует значению сигнала ПР. Если сигнал ПР на выходе контроллера не выработался, то Д7=О и К2=К1=К0=1. Прием запросов, их маскирование и анализ приоритетов осуществ- ляются так же, как и при обслуживании по запросу. Организация обслуживания по результатам опроса целесообразна в тех случаях, когда для ряда ВУ имеется общая программа обслуживания или число обслуживаемых ВУ превышает 64. Рассмотрим теперь вопросы программирования БИС ПКП. В ре- жиме программирования контроллер работает при ВК=0, причем при ЗП=0 производится запись команд в ПКП, а при ЧТ=0— контроль- ное считывание информации из регистров ПКП. Программирование начинается с установки контроллера в исходное состояние, для чего используется последовательность двух или трех команд СКИ1, СКИ2 и СКИЗ (см. табл. 8.11). По команде СКИ1 устанавливаются в нуле- вое состояние РЗПР, РОЗПР, РСКО1 (регистр маски), фиксирован- ный статус уровней приоритетов и сбрасывается спецмаскирование. Признаком команды СКИ1 является ДЧ = 1 при А0=0. Команда СКИ1 имеет четыре модификации в зависимости от значений признака Д1 =Е, характеризующего число используемых микросхем ПКП и признака Д2=Ф, характеризующего формат адресов программ обработки пре- рываний; Е = 1 или 0, если в устройстве есть соответственно одна или несколько микросхем ПКП; Ф=1 или 0, если начальные адреса подпрограммы обслуживания смежных запросов отстоят друг от дру- га соответственно на 4 адреса (формат 4) или на 8 адресов (формат 8).
При использовании формата 4 младший байт начального адреса подпрограммы формируется следующим образом: значения разрядов А7—А5 соответствуют значениям разрядов Д7—Д5 команды СКИ1а или СКИ16, значения А4—А2 соответствуют номеру запроса, разряды А1 и АО содержат нули. При использовании формата 8 значения раз- рядов А7—Аб соответствуют разрядам Д7—Д6 команды СКИ1в или СКИ1г, А5—АЗ содержат номер запроса и А2—АО содержат нули. Это обеспечивает большое разнообразие вариантов размещения начальных адресов подпрограмм в пределах 256 ячеек ПЗУ. Затем подается команда СКИ2(при А0=1), в которой указывается содержимое старшего байта начального адреса подпрограмм обслу- живания прерываний. Если в устройстве используется одна микро- схема ПКП (т. е. Е=1), то процедура инициализации ПКП на этом заканчивается. В противном случае подается команда СКИЗ, которая имеет две модификации: СКИЗа для ведущей и СКИЗб для ведомой микросхемы. Единицы в разрядах Д7—ДО команды СКИЗа означают, что к соответствующему входу ЗПР ведущей микросхемы подключен вывод ПР ведомой микросхемы. Нули в этих разрядах означают, что на соответствующие входы подаются запросы прерывания от ВУ либо эти входы не используются. В разрядах Д2—ДО команды СКИЗб ука- зывается идентификатор ведомой микросхемы, равный номеру входа ведущей микросхемы, к которому подключена эта ведомая микросхема. Выбор алгоритма обслуживания или его изменение в процессе ра- боты устройства осуществляется с помощью команд СКО. Команда СК01 (признак АО = 1) позволяет загрузить регистр маскирования (при ЗП = 0). Установка признака М=1 в этой коман- де указывает на блокировку обслуживания соответствующего .сигнала ЗПР. . Группа команд СК02, признаком которой являются значения АО=Д4=ДЗ=0, указывает вид конца обслуживания прерывания, а также вид установки дна и дно приоритетного кольца. Таблица 8.13 Команды Выполняемые операции MVI А, 34 СКИ1 для ПКПО, Ф = 1, Е = 0, А7А6А5=001 OUT 02 Подача СКИ1 в ПКПО, АО = 0, А1 = 1 MV1 А, 54 СКИ1 для ПКП1, А7А6А5 = 010 OUT 04 Подача СКИ1 в ПКП1, АО = 0, А2=1 MVI А, 74 СКИ1 для ПКП2, А7А6А5 = 011 OUT 08 Подача СКИ1 в ПКП2, А0 = 0, А3= 1 MVI А, 0 СКИ2, А15... А8 = О...О OUT 03 Подача СКИ2 в ПКПО, АО = 1, А1 = 1 OUT 05 Подача СКИ2 в ПКП1, АО = 1, А2 = 1 OUT 09 Подача СКИ2 в ПКП2, АО = 1, А3= 1 MVI A, CO СКИЗ а для ПКПО OUT 03 Подача СКИЗа в ПКПО, АО = 1, А1 = 1 MVI A, 07 СКИЗб для ПКП1 OUT 05 Подача СКИЗб в ПКП1, АО = 1, А2 = 1 MVI A, 06 СКИЗб для ПКП2 OUT 09 Подача СКИЗб в 11К112, АО = Ц АЗ— 1
Группа команд СКОЗ, признаком которой являются значения АО=Д4=0 и Д3= 1, используется для установки спецмаскирования, а также для чтения содержимого регистров ПКП. В качестве примера программирования ПКП в табл. 8.13 приведен фраг- мент программы, который соответствует минимизации контроллера, состоящего из ведущей (ПКПО) и двух ведомых (ПКП1 и ПКП2) микросхем (для компакт- ности таблицы вторые байты команд представлены в 16-ричном коде). Процесс инициализации, т. е. установки исходного состояния контроллера, весьма прост и состоит в том, что команды СКИ1, СКИ2 и СКИЗ в определенной последовав тельности подаются на каждую из трех микросхем. В данном примере выбран формат 4 и подпрограммы обслуживания внешних устройств, связанных с мик- росхемами ПКПО, ПКП1 и ПКП2, размещены в ПЗУ, начиная с 32, 64 и 96-й ячеек. В результате инициализации контроллер оказывается подготов- ленным для работы в режиме обслуживания по запросу с фиксиро- ванными уровнями приоритетов и без спецмаскирования. Для зада- ния другого режима или алгоритма обслуживания запросов преры- вания необходимо воспользоваться командами типа СКО. Подпрограммы обслуживания различных ВУ по прерыванию име- ют сходную структуру: Сначала содержимое внутренних регистров ЦПЭ переводится в стек с помощью команд PUSH гр, затем выпол- няются операции по обслуживанию ВУ, после этого содержимое ре- гистров ЦПЭ, соответствующее прерванной программе, восстанав- ливается с помощью команд POP гр и подпрограмма завершается командой RET.
Глава ПОСТРОЕНИЕ МПВУ НА 2 секционированного ; §9.1. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОРНЫЙ -;.i г;-РрИ Ч5Я Примером представителя секционированных микропроцессоров может быть МП серии К.584 [9]. Его основой является четырехразрядная микропроцессорная сек- ция (МПС), выполненная на прогрессивной биполярной технологии интегрально-инжекционной логики (ИИЛ) и содержащая около 1500 транзисторных вентилей. Базовый вентиль имеет следующие пара- метры: время переключения — 10 нс, потребляемая мощность — 80 мкВт, коэффициент разветвления — 4. Основные'архитектурные особенности данного МП состоят в сле- дующем: разрядно наращиваемая структура; микропрограммное уп- равление, позволяющее на основе имеющегося мощного набора микро- команд (МК) реализовать практически любую систему команд; парал- лельная обработка данных и адресов; наличие АЛУ с симметричным вычитанием и возможностью организации ускоренного переноса; на- личие отдельных немультиплексированных шин данных (входной и выходной), адреса и микрокоманд, что позволяет в максимальной степени использовать быстродействие АЛУ; .'наличие двух рабочих регистров (основного и дополнительного), что позволяет обрабатывать операнды как обычной, так и двойной длины; наличие микрокоманд сдвигов слов двойной длины с одновременным выполнением сумми- рования или вычитания, что обеспечивает высокое быстродействие МП при реализации операций умножения и деления. Отмеченные особенности обусловили повышенную вычислитель- ную производительность этого МП по сравнению с МП серии К580. К недостаткам хМП серии К584 можно отнести отсутствие в его системе микрокоманд операций типа «сравнение», «переход» или «пропуск при условии», что приводит к необходимости использования дополни- тельных аппаратных средств для реализации подобных операций. Этот недостаток в значительной степени сглаживается при использо- вании специальных БИС, составляющих единый комплект серии К584, о котором будет сказано далее. Упрощенная структурная схема МПС К584ИК1 приведена на рис. 9.1. В ней содержатся следующие основные блоки: АЛУ, вы- полняющее восемь арифметических и восемь логических операций; рабочий регистр (РР), который может выполнять функции аккуму- лятора, а также ряд других функций при обработке информации в ЦПЭ; дополнительный регистр (ДР), используемый при выполнении операций с двойной точностью; блок регистров общего назначения (РОН), состоящий из восьми регистров, которые обозначаются Р0—Р7 и кодируются двоичными наборами, соответствующими значениям их номеров; РОН Р7 обычно используется для выполнения функций
счетчика команд (СК); мультиплексоры (МА, МВ, МРР, МДР, МВых и МАдр), которые под воздействием' управляющих сигналов осу- ществляют переключение подсоединенных к ним каналов; при сигнале ПСТ-1 МАдр передает содержимое СК на шину адреса ША, при ПСТ-0 МАдр передает на ША содержимое РР или ДР в зависимости от конкретной выполняемой команды; программируемая логическая матрица (ПЛМ), которая преобразует 9-разрядный код микрокоманд (МК), поступающий в МПС из ПЗУ микрокоманд в 20-разрядное внут- реннее управляющее слово, обеспечивающее управление работой всех ПСТ X Y ПВых ШВых Л1 ПТ ШАдр ПР Л2 П2 БПУ Рис. 9.1. Упрощенная структурная схема микропроцессорной секции К584ИК1 ПО ПТ ДР0/др3 ОС блоков МПС; регистр микроопераций (РМО), состоящий из 20 D-триг- геров и предназначенный для запоминания внутреннего управляюще- го слова на время выполнения микрокоманды; использование РМО, загрузка которого производится по положительному фронту синхро- низирующего импульса СИ, позволяет во время выполнения текущей микрокоманды производить в ПЛМ прием и преобразование кода сле- дующей микрокоманды; блок позиционного управления (БПУ), вно- сящий необходимые изменения в работу МПС в зависимости от за- нимаемой ею позиции в ЦПЭ, состоящем из нескольких секций (табл. 9.1); схема селекции (СС), которая осуществляет селекцию разрядов и передает на выход младший разряд ДР (ДРО), если МПС занимает младшую позицию, и передает старший разряд (ДРЗ), если МПС занимает старшую позицию в ЦПЭ; блок инкрементора (БИ), предназначенный для изменения содержимого счетчика команд (СК), роль которого выполняет РОН Р7, в зависимости от значения внеш- них сигналов ПСТ и УИ (табл. 9.2); содержимое СК наращивается по положительному фронту СИ при выполнении текущей МК, увеличение содержимого СК на +1 обеспечивает последовательное выполнение МК в микропрограмме, тогда как его увеличение на -Т 2
Таблица 9.1 Позиция МПС в процессоре Код на входах БПУ Двухфункциональные линии П1 по ПСТВых/СтВ УИ/СтА дро/дрз Младшая 0 1 ПСТВых УИ ДРО Средняя 0 0 ПСТВых Не исполь- зуется Ноль Старшая 1 0/1 СтВ СтА ДРЗ Примечание. При ПО — 0 в операциях сдвига операнда двойной длины используется двой- ной зиак, т. е. знак операнда размещается в старшем разряде как РР, так и ДР; при ПО — 1 в этих случаях используется одинарный знак, который размещается в старшем разряде РР. Таблица 9.2 пет УИ Действие в Р7 0 0 (Р7) (Р7) + 1 0 1 (Р7) (Р7) +2 1 0/1 Счет отсутствует, режим РОН Таблица 9.3 Обозначение вывода ШВх (0—3) ШВых (0—3) ШАдр (0—3) ШМК (1—9) П ПВых ПСТ ПСТВых УИ ПР СЛ1, СЛ2, СШ; СП2 ДРЗ/ДРО (3/0) ПО, П1 X, У СИ Назаание и назначение вывода Четырехразрядная входная шина данных Четырехразрядная выходная шина данных Четырехразрядная шина адреса Девятиразрядная шина микрокоманд Вход переноса АЛУ Выход переноса АЛУ Вход переноса счетчика команд (Р7) Выход переноса счетчика команд (Р7); в старшей по- зиции— выход старшего бита мультиплексора В(СтВ); Управление инкрементом; в младшей позиции задает увеличение содержимого СТ; в старшей — выход стар- шего бита мультиплексора А (СтА) Приоритет СТ; вход управления выдачей содержимо- го СТ на ША Двунаправленные линии для обеспечения сдвигов в РР и ДР Выход младшего бита ДР в младшей позиции и стар- шего бита ДР в старшей позиции Входы, задающие позицию ЦПС в многоразрядном процессоре Входы для подключения блока ускоренного пере- носа (БУП) Вход синхронизации
UJBx UlBuxZZZZZZZZZZ Рис. 9.2. Временные диаграммы рабси ты МПС шмк .XZZZZZZZZZZZ2 позволяет организовать условные переходы; режим отсутствия счета в СК используется для занесения нового содержимого в СК, что не- обходимо для реализации переходов. Описание выводов рассматриваемой БИС МПС и соответствующих сигналов приведено в табл. 9.3. Работа МПС поясняется временными диаграммами, представлен- ными на рис. 9.2. Для синхронизации работы МПС используется одна серия синхроимпульсов СИ. По положительному фронту СИ происходит запись управляющего слова во внутренний регистр микро- операций РМО. Поэтому во из- бежание гонок код микрокоман- ды на входах ПЛМ должен быть установлен за время Т1 до этого момента и сниматься через вре- мя Т2 после него. Длительность 7\ определяется временем деко- дирования кода МК в ПЛМ и при номинальных условиях ра- боты 7\ = 200 нс. Значение Т2 = 50 нс составляет страхо- вое время удержания кода МК- Обработка информации в МП и ее выдача на ШВых происходит через минимальное время Т3 = 750 нс. Таким образом, наименьшее время цикла Тц работы БИС МПС может выбираться из расчета Тп > 7\ + Т2 + Т3 = 1000 нс. Необходимо отметить, что все регистры МПС реализованы в виде двухтактных схем, причем считывание информации всегда ведется из второй ступени триггеров. При приеме данных информация зано- сится в первую ступень по отрицательному фронту СИ, а затем по положительному переписывается во вторую ступень. Длительность СИ определяется с учетом времени и длительности переходных процессов внутри БИС и принимается Тси > 250 нс. Рассмотрим вопросы построения ЦПЭ требуемой разрядности на основе объединения нескольких МПС. Схема включения m МПС для получения 4/п-разрядного ЦПЭ дана на рис. 9.3. Выходы переносов АЛУ и СК (т. е. выводы ПВых и ПСТВых) каждой МПС подключа- ются к соответствующим входам П и ПСК следующей МПС. Соот- ветственно объединяются двунаправленные входы/выходы сдвигов Л1, Л2, Ш, П2 соседних секций. Код микрооперации подается на все секции параллельно. Входные, выходные и адресные шины всех МПС в совокупности образуют соответствующие 4/п-разрядные шины ЦПЭ. Как указывалось ранее, позиция каждой МПС определяется входами ПО и П1, значения которых обычно фиксируются с помощью рас- пайки. Если ЦПС занимает младшую позицию, то ее входы П, ПС1 и УИ управляются сигналами, предусмотренными в формате микро- команды. Для повышения быстродействия многоразрядного ЦПЭ ре- комендуется использовать блок ускоренного переноса (БУП), в ка- честве которого можно использовать, например, ИС 133ИП4. На рис. 9.3 показано подключение четырех БИС ЦПС ко входам БУП
при образовании 16-разрядного ЦПЭ. Максимальное время задержки распространения сигналов в ИС БУП при емкости нагрузки Сн = — 15 пФ составляет 22 нс. Если разрядность ЦПЭ превышает 16, то ЦПС объединяют с помощью БУП в группы по четыре БИС, а пе- реносы между группами организуют либо последовательным, либо ШАдр ШВых ___________ШВх Ы Устройство управления СдВ.РР СВВ.ДР Ст в етдр- КодМК Переполнены цпсо /12 пет ПСТВых пет пет ПСТВЫХ ПСТВых п * ПТ пг 3/0 ПСТВых 3/0 шмк ПВых цп02 т П2 4 П2 ПТ^ЦПСЗ w ППСТ пт *-» пт Л2 Ц n2~^~p-> п П УИПРПОП1Х Y у и пр по пт х y УИПРПОПТХ Y Вход П Мп ДР Вход ПСТ УИ Приоритет шмк ПВых ПР ПО ПТ X Y -^шмк *т ПВых -+П1МК *т - ПВых X3Y3 СЗ ХО Y0 СО Х2 Y2 С2 XT Y1 СТ БУП Рис. 9.3. Структурная схема 16-разрядного ЦПЭ параллельным способом. В последнем случае требуется использовать дополнительную ИС БУП, на которую подаются сигналы X4Y4 с вы- ходов БУП, образующих отдельные группы. БИС ЦПС серии К584 электрически стыкуется с ТТЛ-схемами без дополнительных элементов сопряжения. Так как эта БИС выпол- нена на основе технологии ИИЛ и является «токовой» схемой, то для ее питания необходимо обеспечить требуемое значение тока питания /п. С этой целью в цепь питания БИС включается нагрузочный ре- Рис. 9.4. Схема подачи питания на БИС К584ИК1 (а) и принципиальная схема реализации двунаправленного входа/выхода (б)
зистор с сопротивлением 7? „ (рис. 9.4), значение которого определя- ется по формуле 7?п = (Ел~Un)/In, где Еп — напряжение источ- ника питания; UB — падение напряжения на МПС (Un 1 В); /п — потребляемый ток. Так, при £п = +5 В и /п= 160 мА требуется £н = 25 Ом. Все выходы БИС ЦПС реализованы в виде каскадов с открытым коллектором и поэтому стыкуются со входами ТТЛ-схем за счет электрического согласования с помощью коллекторных ре- зисторов 7?к. При этом выходное напряжение «логического 0» — -£вых 0,4 В, и «логической 1» — (Лых > 2,4 В, а выходной ток /вых = 0,25 мА. § 9.2. СИСТЕМА МИКРОКОМАНД ЦПЭ СЕРИИ К584 Система микрокоманд (МК) микропроцессора серии К584 содержит 459 МК, которые кодируются с помощью девятиразрядного слова кода микрокоманды (КМК). Для удобства использования вся система МК обычно разбивается на шесть групп. Приведем обобщенные опи- сания микроопераций, которые соответствуют МК отдельных групп. Группа 1. Пересылки Группа 2. Арифметические и логические операции Группа 3. Сложение с учетом переноса Группа 4. Сдвиг с одинарной точностью (РР) {Сдвиг} -> (РР). Группа 5. Сдвиг с двойной точностью (РР + П, ДР) {Сдвиг} -> (РР, ДР).
№ п/п Операция Код операции сссс № п/п Операция Код операции сссс 0 -1+п 0 0 0 0 8 АдВ 10 0 0 1 В—А—П 0 0 0 1 9 А® В 10 0 1 2 А—В—П 0 0 10 10 АфВ 10 10 3 А+В+П 0 0 11 11 АДВ 10 11 4 в+п 0 10 0 12 АДВ 110 0 5 В-)-П 0 10 1 13 AVB 110 1 6 А4-П 0 110 14 AVB 1110 7 А-|-П 0 111 15 AVB 1111 Группа 6. Сложение/вычитание и сдвиг / / р \ \ [СЦЛ 1 1 ШВх 1 1 1 РР + 1 1+ п 1 > (РР, ДР) \ \ р~‘ / / \ \ ШВх—1 / / САП В приведенных описаниях групп МК использовались следующие обозначения: * — операция, выполняемая в АЛУ; список операций АЛУ представлен в табл. 9.4, где А — первый операнд (поступает через мультиплексор А) и В— второй операнд (поступает через мультиплексор В); (у) — означает содержимое узла X, либо узла У; (РР, ДР) — последовательное соединение РР и ДР; {Сдвиг} — любой из шести вариантов сдвига; логический, циклический или ариф- метический (влево или вправо на один разряд), которые соответственно имеют обозначения: СЛЛ, СЛП, СЦЛ, СЦП, САЛ, САП. Полная система МК в сжатой форме приведена в табл. 9.5. Коды некоторых наиболее употребительных МК даны в табл. 9.6. В этих таблицах использованы следующие обозначения: ррр—двоичная запись номера используемого РОН; сссс — код операции АЛУ; КЮ — разряд кода МК, определяющий значение П (т. е. входа переноса в АЛУ). При кодировании микрокоманд используются два формата КМК. Первый формат содержит операционное поле (0-поле), которое состоит из разрядов К1—К4 и в основном определяет функции АЛУ; допол- нительное поле (Д-поле), которое состоит из разрядов К5, Кб и рас- ширяет возможности кодирования; селекторное поле (С-поле), которое состоит из разрядов К7—К9 и в основном осуществляет выбор РОН, участвующего в выполняемой микрооперации. Второй формат состоит из одного поля, в которое входят все разряды К1-—К9. Охарактеризуем кратко выполнение команд каждой группы. В операциях группы 1 выполняются пересылки между внутренними узлами ЦПЭ. В этих операциях АЛУ не участвует. Отметим, что реа- лизовать операции пересылок можно и с помощью операций из других групп. Однако в последнем случае пересылки будут осуществляться
Й омера группы Номера операций Операция Код микрокоманды 234 56 789 Описание м икрооперации Место результата 1 1111 10 РРР ШВх р 2 Пересылки 0000 ю РРР Р ШВых 1 3 0001 ю РРР Р ДР 4 оно 11 010 ШВх РР 5 0001 11 010 ШВх ДР 6 1111 11 010 ШВх ШВых 1 сссс 00 ррр Р^РР Р 2 сссс 01 ррр Р^РР РР 3 сссс 11 000 ШВх><РР ШВых 2 4 * сссс 11 001 ШВх^РР РР 5 сссс 11 011 ШВххДР РР 6 сссс 11 100 ШВххРР ДР 7 сссс 11 но ШВххДР ДР 8 сссс 11 111 ШВх^ДР ШВых 1 ООП ю РРР Р—П4-РР ДР 2 0100 ю РРР Р--П+ШВх РР 3 0101 ю РРР Р- -П4-ШВх ДР 4 0111 ю РРР Р- -П+ШВх р 3 5 2 1100 ю РРР Р--П+ДР РР 6 1101 10 РРР р-п+др ДР 7 1110 ю ррр ДР+П р 8 ООП 11 010 ШВх+РР+П ДР 9 0111 11 010 ШВх+РР+П ШВых 10 1100 11 010 ШВх+ДР+П РР 11 1101 11 010 ШВх+ДР+П ДР 12 1110 11 010 ДР+П ШВых 1 САП 0000 11 101 2 СЦП 0001 11 101 4 3 САЛ 0010 11 101 4 сцл ООН 11 101 РР+П РР 5 СЛП 1000 11 101 (сдвинутые) 6 СЛП 1010 11 101 1 сцл 1000 11 010 РР—ШВх— 1+П 2 сцл 1001 11 010 РР+ШВх+П 3 СЦЛ 1000 ю РРР РР+П—1—Р 4 сцл 1001 ю РРР РР+Р+П 5 5 САП 1011 11 010 РР+П РР, др 6 САП 0010 11 010 РР—ШВх—1+П 7 САП 1011 11 010 РР+ШВх+П 8 САП 1010 ю РРР РР—Р—1+П 9 САП 1011 ю ррр РР+Р+П 1 САП 0100 11 101 2 СЦП 0101 11 101 3 САЛ оно 11 101 РР+П, ДР РР, ДР 4 СЦЛ 0111 11 101 (сдвинутые) 5 СЛП 1100 11 101 6 6 СЛЛ 1110 11 101 Примечание. Содержимое ШАдр устанавливается следующим образом! Пр'и'пР^ о— ^Р^ИщАдР. либо ДР -> ШАдр (последнее только при выполнении мик- |рокомаид 2 и 3 группы 2). 261
Микрооперация Код микрокоманды 1 23456789П ШВх -+ Р Ввод/Вывод 1 1 1 1 1 0 р р р 0 ШВх -+ РР 0 110 110 10 0 ШВх -> ДР 0 0 0 1 1 1 0 1 0 0 ШВх -> Ш 0000110100 Р -> ШВых 0 0 0 0 1 0 р ррО РР -> ШВых 0100010000 ДР -+ ШВых 1110 110 10 0 Р -> РР Пересылки 0 1 1 0 0 1 р р р 0 Р -> ДР 000110ррр0 РР -> р 0 1 0 0 0 0 р ррО ДР-» Р 1 1 1 0 1 0 р р р 0 РЦ-РР+П Р Сложение/ Вычита ние 00 1 lOOpppx Р+РР-ЬП РР 0 0 1 1 0 1 р р р х ШВх+РР+П -> РР 0 0 1 1 1 1 0 0 1 х Р—РР -> р OOlOOOpppl Р—РР РР 0 0 1 0 0 1 р р р 1 Р-н Р Инкремент 0 1 1 0 0 0 р р р 1 рр-н -> РР 0 1 0 0 1 1 0 0 1 1 ШВх-Н -> ШВых 0 110 111111 0/1 — Р Сброс/Установка 0 0 0 0 0 0 р рр 1/0 0/1 РР 0 0 0 0 1 1 0 0 1 1/0 0.1 ДР 0000111101/0 0/1 — ШВых 0000111111/0 Р+П -> Р Обратный или дополнительный код 0 1 1 1 0 0 р р р 0 РР4-П -> РР 0 1 0 10 1 0 0 0 0 ДР+П -> ДР 0 10 11110 0 0 РР -> РР Пустая операция 0 1 0 0 1 1 0 0 10 через АЛУ, что приведет к увеличению длительности их выполнения. Некоторое неудобство представляет отсутствие микрокоманд пере- сылки информации между регистрами общего назначения. При не- обходимости такие пересылки организуются через РР или ДР.
Операции группы 2 используются для выполнения одной из шест- надцати функций АЛУ, указанных в табл. 9.4. Операнды поступают в АЛУ через мультиплексоры А и В, работа которых описывается следующими выражениями: МВ : (АЛУ, ШВых). Характерно, что имеются две симметричные операции вычитания, выполняемые в дополнительном коде: В — А—П и А—В—П. Ариф- метические операции А + П, А + П и В + П позволяют выполнять передачу через АЛУ прямого, обратного или дополнительного кодов операндов А и В, а также пе- редачу с приращением: А + 1 или В + 1. Операцию 1 + П можно использовать для ус- тановки нулей или единиц во всех разрядах любого из четы- рех приемников информации. Отметим, что архитектура ЦПЭ не позволяет использо- вать одновременно ШВх как источник операнда, а РОН — как приемник результата. Операции группы 3 поз- воляют выполнить сложение, комбинируя источники (Р, РР, ДР, ШВх) и приемники (Р, РР, ДР, ШВых) инфор- мации. Операции ДР + П фактически являются пересы- лочными и дополняют опера- ции группы 1, причем од- новременно позволяют инкре- ментировать содержимое ДР. Операции групп 4, 5 и 6 свя- заны с выполнением сдвига информации. Операции групп 4 и 5 поз- воляют осуществлять полный набор операций сдвигов над содержимым соответственно рабочего регистра (РР) или регистра двойной длины (РР, Рис. 9.5. Диаграммы выполнения опера- ций сдвигов
ДР). В последнем случае имеется возможность совмещения сдвига с подсуммированием сигнала переноса П. При арифметических сдви- гах старший (левый) разряд регистра используется как знаковый. При работе с операндами двойной длины различают одно- и дву- знаковый сдвиги. В. первом случае старший разряд выходной шины АЛУ помещается только в старший разряд РР, а во втором —в стар- шие разряды РР и ДР. Выполнение отдельных операций сдвигов иллюстрируется схемами на рис. 9.5. Операции групп 6 позволяют выполнить сложение или вычитание при активном сигнале переноса П в сочетании с правым арифметиче- ским или левым циклическим сдвигом результата в регистре двойной длины РР и ДР. Эти микрооперации обеспечивают эффективную реа- лизацию алгоритмов умножения и деления двоичных чисел. § 9.3. МИКРОПРОГРАММИРОВАНИЕ МП СЕРИИ К584 При составлении микропрограмм для рассматриваемого МП сле- дует учитывать возможность совмещения микроопераций, выполняе- мых в АЛУ, со счетом в Р7. Поэтому на регистр Р7 обычно возлагают функции счетчика команд (СК), что позволяет производить выборку следующей команды во время окончания исполнения предыдущей команды. Пример организации такого конвейерного режима работы ЦПЭ приведен в табл. 9.7. Обратим внимание, что (I—1)-я команда заканчивается пересылкой информации из одного регистра ЦПЭ в другой, тогда как i-я команда в конце своего выполнения требует пере- сылки данных по ШВх (операция, выполняемая в соответствии с 4-й командой, заключается в сложении содержимого регистра РО с со- держимым ячейки ОЗУ, адрес которой записан в Р6). Из этого приме- Таблица 9.7 Номер исполняе- мой команды Микрокоманды ЦПЭ Входы ЦПЭ Работа СК (на Р7) Номер выбираемой команды ПР УИ ПС 4—1 XXX X X 1 XXX XXX (ДР) -> РО 0 1 0 0 0 1 (Р7)+1 (Р7) (Р7) -> (РК) 1 i (Р6) (РР) (РО)+(ШВх)->(РО) (РР) (РР) 0 0 1 X 0 0 1 0 1 XXX (Р7)+1 -> (Р7) (Р7) -> (РК) »+1 Н-1 XXX 0 X 1 XXX
ра видно, что выигрыш за счет совмещения операции составляет два такта для каждой команды, если в последнем такте выполнения этой команды не используется ШВх. В противном случае этот выигрыш сокращается до одного такта, поскольку для временной развязки передачи данных и кода команды по ШВх приходится вводить пустую микрооперацию (NOP) 141]. Для ознакомления с характерными приемами микропрограммиро- вания рассмотрим примеры составления микропрограмм выполнения некоторых типовых операций. Приведенные микропрограммы могут быть использованы в МПВУ различной архитектуры, построенных на основе МП серии К584. Но при этом необходима их конкретизация с учетом архитектуры данного МПВУ, принятых форматов команд и микрокоманд, способа организации переходов и особенностей управ- ления блоками устройства. Умножение двоичных чисел. Пусть требуется вычислить у = оф, где а и Р — целые двоичные числа без знака, разрядность п которых равна разряд- ности ЦПЭ. Поскольку разрядность произведения у равна 2п, то для хранения сумм частичных произведений 2 и результата целесообразно использовать ре- гистр двойной длины РР, ДР. При этом имеется возможность осуществлять сдвиг множителя одновременно со сдвигом 2, если в исходном состоянии расположить Р в ДР и производить сдвиг РР, ДР вправо. Начальное состояние РР устанав- ливается нулевым, а число а записывается в некоторый РОН Р. Процедура умножения двоичных чисел заключается в выполнении шагов, каждый из которых состоит в следующем: производится анализ очередного (на- чиная с младшего) бита рг, который появляется на выводе МлДр при сдвиге РР, ДР вправо; если pf = 1, то к 2 добавляется множимое а и производится сдвиг РР, ДР вправо с помощью микрокоманды САП (РР + Р, ДР)-г- (РР, ДР); в противном случае выполняется микрокоманда сдвига САП (РР, ДР)->-(РР, ДР), После выполнения n-шага в РР оказывается п старших разрядов у, а в ДР — п младших разрядов. При работе на отладочном стенде, у которого предусмотрена индикация состояния шин, этот результат может быть выведен на индикацию с помощью микрокоманды РР-> ШВых, ДР-* ШАдр. Блок-схема соответствующей микропрограммы приведена на рис. 9.6. Для организации счета шагов можно использовать некоторый свободный РОН, на- чальное состояние которого устанавливается равным 2К—п, т. е. дополнитель- ному коду п. После выполнения каждого шага содержимое этого регистра уве- личивается на единицу и вся процедура заканчивается при появлении выход- ного сигнала переноса из АЛУ ПВых=1. Однако в этом случае время выполнения микропрограммы увеличивается на число тактов, необходимых для работы счетчика. Поэтому целесообразным оказывается от- каз от организации циклов и повторение в микропрограмме указанных микроопера- ций сдвигов и суммирования требуемое число раз, или использование внешнего счетчика шагов, работающего параллельно с ЦПЭ. Если в составе МПВУ имеется БИС контроллера состояний К584ВУ2, то роль внешнего счетчика может выполнять один из таймеров, содержащихся в этой БИС. Рассмотрим реализацию умножения по алгоритму Бута [9], который позволяет ускорить выполнение этой операции. Этот алгоритм основан на одновременном ана- лизе двух младших разрядов множителя. Рис. 9.6. Блок-схема алгорит- ма умножения двоичных чисел
преимуществом алгоритма является также то, что он позволяет выполнять операцию умножения над операндами, заданными в дополнительном коде, и получать произведение сразу со знаком. Распределение регистров примем таким же, как и в предыдущем случае. Тогда алгоритм умножения будет состоять в следующем: 1) анализируем млад- ший разряд [30 множителя; если Ро = 1, то выполняем РР—Р, в противном слу- чае оставляем РР неизменным; 2) выполняем арифметический сдвиг вправо РР. ДР и анализируем новый младший разряд рг+1 и предшествующий ему справа разряд и преобразуем ^содержимое РР по правилу: если Pi+iPj V V Pi+iPf = 1, то (РР)-* (РР); если Рг+1Рг = 1, то (РР 4- Р)-* (РР); если Рг+1Р/ = = 1, то (РР—Р)-* (РР); 3) действия п. 2 повторяем (п—2) раза, где п — число разрядов в fi, считая знаковый. При реализации микропрограммы ускоренного умножения значение Pi+1 получают при сдвигах на выводе Мл. Др, а значение (Зг снимают с дополнитель- ного P-триггера, который подключен к этому же выводу и начальное состояние которого устанавливается нулевым. Для пояснения описанного метода в табл. 9.8 приведен числовой пример умножения четырехразрядных чисел: (—5) X (4) — —20. Заметим, что в этой процедуре используются дополнитель- ные коды а. и —а, равные соответственно 1011 и 0101; результату также форми- руется в дополнительном коде. Ускорение вычислений за счет совмещения сум- мирования (или вычитания) и сдвигов внутри одной микрокоманды в данном случае невозможно, так как при арифметическом правом сдвиге в ЦПЭ К584ИК1 размножается не знак полученного результата, а старое значение знака в РР. Деление двоичных чисел. В качестве примера деления двоичных чисел с фиксированной запятой рассмотрим процесс деления правильных дробей. В этом случае целесообразно использовать две микрокоманды: СЦЛ (РР 4- Р, ДР) -* (РР, ДР); СЦЛ(РР—Р, ДР) -* (РР, ДР). Выбор той или иной микрокоманды осуществляется с учетом результата предыдущего действия. Таким образом, в течение одного такта производится и сдвиг, и коррекция промежуточных результатов, что исключает необходимость затраты тактов на выполнение корректирующих микроопераций сложения. Алгоритм деления модулей п -разрядных чисел: а : р = у, где у также со- держит п разрядов, сводится к следующему: 1) вычисляется ct—р и фиксирует- ся переполнение разрядной сетки, если результат не отрицателен; 2) остаток удваивается сдвигом влево; 3) если остаток положителен, то делитель вычита- ется из остатка, в противном случае — добавляется к нему; 4) производится циклический сдвиг влево регистров, содержащих аир, при котором в младший Таблица 9.8 а —— 5 Р ₽ = 4 РР Р = 4 ДР Микрооперация 10 11 0 0 0 0 0 10 0 0 0 Сдвиг (4-5=0 1 0 1) 0 0 0 0 0 0 10 0 0 » 0 0 0 0 0 0 0 1 1 0 0 Вычитание и сдвиг 4-0101 0 10 1 0 0 0 1 0 0 10 10 0 0 0 1 Суммирование и сдвиг 4-1011 110 1 10 0 0 (РР, ДР)= — 20 в допол- нительном коде
разряд у заносится инвертированное значение очередной Цифры частного-5) дей- ствия п. 3 и 4 повторяются (n—1) раз; содержимое регистра -у инвертируется для получения прямого кода частного у. Соответствующая микропрограмма представлена на рис. 9.7, а схема про- движения информации при ее выполнении — на рис. 9.8. Регистры ЦПЭ рас- пределены так, что в начальном состоянии РР содержит а, РОН Р — р, в про- цессе работы частное формируется в ДР. В табл. 9.9 приведен числовой пример | 0-^!ДР) | \СЦЛ1РР-Р,ДрТ\ 1 о \СЦЛ(РР-Р,ДР) | \С1иИРР*Р,ДР)\ Рис. 9.8. Схема перемещения информации при выполнении деления Обработка переполнения Рис. 9.7. Блок-схема алгорит- ма деления двоичных чисел реализации данной микропрограммы, причем вычитание, как обычно, заменя- ется сложением в дополнительном коде. Таким образом, для деления 16-разрядных модулей чисел достаточно 16 так- тов. Вместе с действиями, требующимися для формирования знака результата, приведения чисел к модулям и для работы счетчика команд, микропрограмма деления может быть выполнена за 23 такта. Таблица 9.9 Р=0,5 Р а= 0,125 РР 7 ДР Микрокоманды 0 10 0 0 0 0 1 0 0 0 0 СЦЛ (РР—Р, ДР) + 110 0 (Л2-0) *-1101 10 10 0 0 0 1 *- +0100 СЦЛ (РР+Р, ДР) (Л2-0) *-1110 110 0 0011*- +0100 СЦЛ (РР+Р, ДР) (Л2-1) *-0000 0 0 0 0 0110*- + 110 0 СЦЛ (РР—Р, ДР) 110 0 10 0 0 110 1 0 0 10 (ДР) -> ДР 7= 0,25
преооразование двоичного кода в двоично-десятичный код. реооразованне кодов двоичных чисел рассмотрим для случая правильных дробей. Соответствую- щий алгоритм сводится к следующему: 1) запоминается знак числа в триггере знака, а само число приводится к положительному модулю; 2) число умножа- ется на 1010, в результате чего формируется тетрада двоичных разрядов, соот- ветствующая очередной десятичной цифре результата; эта тетрада появляется Г О^ДР) | | (РР)-~!Р) | \2СЛЛ1РР,ДрТ\ \сцд(рр*-р,др)\ \зсцлррр,дрГ\ Да | СЛП (РР) I I (pp)-i-lp) ~| \{ДР)^~1Р) I \гСЛП(РР,ДР) I Рис. 9.9. Блок схема ал- горитма преобразования двоичного кода в дво- ично-десятичный код на выходе регистра числа при сдвигах и запо- минается в регистре результата; 3) действия п. 2 повторяются до исчерпания числа разрядов в исходном двоичном коде, т. е. (п/4 — 1) раз Микропрограмма преобразования модуля дроби из двоичного кода в двоично-десятичный приведена на рис. 9.9, а числовой пример — в табл. 9.10. В исходном состоянии преобразуемое число а. хранится в РР, где оно умножается на 1010, а появляющиеся на выходе регистра при сдвиге влево тетрады заносятся в ДР. В конце микро- программы результат, сформированный в ДР, пересылается в РОН. При выполнении преобразования умноже- ние а на константу 1010 осуществляется сумми- рованием двух чисел, полученных в результате сдвигов а. влево на один и три разряда. Это про- исходит следующим образом. Для занесения оче- редной сформированной тетрады в ДР произво- дится сдвиг РР, ДР влево на четыре разряда Такой сдвиг эквивалентен умножению числа, содержащегося в РР, на 16 (т. е. на 10 000 в двоичной системе). Поскольку требуется умно- жить а на 1010, то производится сдвиг образо- вавшегося в РР числа вправо на один разряд, в результате чего в РР получается число а, ум- ноженное на 1000, которое запоминается в вы- деленном для этой цели регистре Р. Выполнение еще двух сдвигов вправо в РР дает произведение исходного числа на 0010. Затем выполняется суммирование РР 4- Р, результатом которого является произведение исходного числа на 1010. Таблица 9.10 РОН Р рр др Примечание ОНО 0000 0000 0000 Начальное состояние ОНО 0000 0001 1000 4-0110 0000 0000 0000 (РР) -* (Р) 2 СЛП (РР, ДР) 0111 1000 (РР'Р) (РР) 1000 0000 0000 0111 4 ЦСЛ (РР, ДР) 0100 0000 ЦСЛ (РР) 0100 0000 0001 0000 4-0100 0000 (РР) -> (Р) 2 СЛП (РР) 0101 0000 (РР) + (Р) -> (РР) 0000 0000 0111 0101 4 ЦСЛ (РР, ДР) остаток 7 5
Время выполнения микропрограммы преооразования ю-разрядного двоич- ного кода с учетом знака составляет 37 тактов. Рассмотренные примеры иллюстрируют процесс реализации ти- повых операций с помощью микрокоманд МП серии К584. Подобным же образом составляются микропрограммы всех заданных операций, на основе которых создается система команд для проектируемого МПВУ. Если уровень командного управления отсутствует, то состав- ленные микропрограммы могут быть использованы в качестве под- программ. § 9.4. ПОСТРОЕНИЕ СТРУКТУРНОЙ СХЕМЫ МПВУ НА ОСНОВЕ ЦПЭ СЕРИИ К584 Применение МП серии К584 дает широкие возможности прибли- жения структуры МПВУ к специфике работы в составе различных систем, а использование микропрограммирования позволяет адапти- ровать систему команд МПВУ к особенностям реализуемых алго- ритмов. Пример структурной схемы 16-разрядного МПВУ, построенного по принципу двухуровневого (командного и микрокомандно го) управ- ления, дан на рис. 9.10. Устройство содержит блок ЦПЭ, выполненный на основе четырех БИС К584ИК1 по схеме, показанной на рис. 9.3; блоки памяти: ПЗУ программ (ПЗУ П), ПЗУ констант (ПЗУ К) и ОЗУ; входной регистр (РВх) для фиксации данных, поступающих на ШВх ЦПЭ; коммутатор входов (КВх) и селектор выходов (СВых); регистр команд (РК) для хранения, кода исполняемой команды; схему анализа и коммутатор условий (САКУ), которая на основе анализа содержимого ШВых формирует признаки результата (знак, перепол- нение, нулевое значение и т. д.), а также осуществляет выбор условия, используемого в данном такте; гене- ратор адресов микрокоманд (ГАМК), вырабатывающий в каждом такте адрес следующей МК; ПЗУ МК, в котором записаны микропрограммы операций, соответствующих отдель- ным командам устройства; дешифра- тор кода микрокоманды (ДШ), вырабатывающий управляющие сиг- налы для отдельных блоков устрой- ства в зависимости от содержимого соответствующих полей формата МК. Блоки РК, САКУ, ГАМК и ПЗУ МК образуют микропрограммный авто- мат, управляющий работой остальных блоков МПВУ. Рассматриваемое устройство ра- ботает следующим образом. Счетчик команд в ЦПЭ вырабатывает адрес очередной команды, по которому из Рис. 9.10. Структурная схема МПВУ с двухуровневым управ- лением
ii>5<y и считывается код команды, поступающей в РК. Этот код задает начальный адрес микропрограммы выполнения операции, соответствующий поступившей команде. В дальнейшем генерация адресов микрокоманд в ГАМК производится на основе содержимого РК, местоположения МК внутри микропрограммы и значения анали- зируемого условия. Блоки МПВУ исполняют инструкции, содержа- щиеся в формате микрокоманды, считываемой из ПЗУ МК в каждом такте. При завершении выполнения данной микропрограммы уст- ройство начинает выборку кода следующей команды. Обмен по интерфейсу совместим с выполнением микроопераций в ЦПЭ. Результат микрооперации всегда выдается на выходные кон- такты ЦПЭ независимо от того, куда осуществляется запись резуль- тата. Это позволяет производить параллельно запись результата в один из внутренних регистров ЦПЭ, а также в ОЗУ или в ВУ. Для обеспечения параллельного управления работой МПВУ в формате микрокоманды содержатся 30—40 разрядов, образующие поля управления следующими блоками: ЦПЭ (13 —15 разрядов), РК (2—4 разряда), САКУ (7—9 разрядов), ГАМК (11—15 разрядов) ЗУ и ВУ (3—7 разрядов). Конкретное значение числа разрядов в формате МК устанавливается разработчиком МПВУ в зависимости от числа используемых ВУ, числа анализируемых условий, объема ПЗУ МК и выбранного способа кодирования управляющих сигналов. Опыт микропрограммирования указывает, что объем ПЗУ МК со- ставляет около 256—512 слов. Для реализации ПЗУ МК удобно при- менять БИС программируемых ПЗУ с организацией 256 x 4 бит или 512x8 бит, например БИС К566РЕ4 или К556РЕ5. Структуру МПВУ (рис. 9.10) можно упростить ценой отказа от двухуровневого управления и перехода к одноуровнему (микроко- мандному) управлению. При этом из схемы исключаются блоки ПЗУ МК, ГАМК и РК- Блок ПЗУ программ становится блоком ПЗУ микро- программ, а счетчик команд, реализованный в ЦПЭ, берет на себя функции счетчика микрокоманд. Остальные блоки МПВУ сохраняют свое назначение. Пример конкретного МПВУ такого типа рассмотрен в § 10.4. Отметим, что отказ от командного . уровня управления заметно усложняет процесс программирования МПВУ, так как в этом случае заданный алгоритм реализуется в виде единой микропрограммы, число микрокоманд которой существенно превышает число команд в соот- ветствующей программе. Процесс проектирования МПВУ на основе микропрограммируе- мых МП заметно отличается от рассмотренного ранее процесса проек- тирования устройств на основе МП серии К580, имеющего фиксиро- ванную систему команд. Основные шаги этого процесса заключаются в следующем: 1) определяется число уровней управления и составля- ется список необходимых блоков МПВУ; 2) составляется список проверяемых логических условий и выбираются способы адресации памяти и организации обмена с ВУ; 3) составляются форматы команд и микрокоманд, для чего выбирается кодирование управляющих сиг- налов и определяется структура полей этих форматов; 4) составляется
подробная структурная схема МПВУ; 5) производится распределение адресных шин и объема памяти; 6) составляются микропрограммы реализации отдельных операций, которые используются в заданном алгоритме; на основании этих микропрограмм при необходимости составляется система команд МПВУ; 7) составляется программа (или единая микропрограмма) реализации заданного алгоритма. Выполнение процесса проектирования МПВУ рассматривается на примере, приведенном в § 10.4. В течение некоторого времени недостатком МП серии К594 явля- лось отсутствие набора дополнительных БИС, которые совместно в имеющимся ЦПЭ позволили бы строить законченное МПВУ и исклю- чали бы необходимость использовать большое число микросхем не- высокого уровня интеграции. Этот недостаток был устранен путем создания микропроцессорного комплекта серии К584, в который вошли следующие БИС: К584ВМ1 — ЦПЭ; К584ВУ1 — блок микро- программного управления (БМУ); К584ВУ2 — контроллер состоя- ний (КС); К584КП1 — магистральный приемопередатчик (МПП); К541РТ1—ППЗУ с организацией 256x4 бит; К541РУ1 и К541РУ2 — ОЗУ статического типа с организацией соответственно 4096x1 бит и 1024x4 бит; 133ИП4 — блок ускоренного переноса (БУП). БИС ЦПЭ К584ВМ1 незначительно отличаются от рассмотренной БИС К584ИК1 (главным образом по некоторым электрическим пара- метрам и быстродействию). Характеристики отдельных БИС данного комплекта, а также принципы построения законченных МПВУ на их основе рассмотрены в [9].
ж л U МИКР0ПР01 ЕССОРЫ В РАДИОТЕХНИЧЕСКИХ СИСТЕМАХ § 10.1. ОБЛАСТЬ ПРИМЕНЕНИЯ МП И МИКРО-ЭВМ В РТС Использование больших вычислительных возможностей МП и систем на их основе позволило приступить к реализации в РТС многих оптимальных алгоритмов обработки сигналов, ранее отвергаемых из-за сложности и громоздкости аппаратуры. В результате этого улуч- шились тактико-технические характеристики РТС и такие показатели, как масса, габариты, потребляемая мощность и надежность. Сущест- венно сократились сроки разработки аппаратуры и появилась воз- можность ее модификации в процессе эксплуатации за счет измене- ния алгоритма функционирования, хранящегося в ПЗУ. Одним из ограничивающих факторов повсеместного использова- ния МП в РТС является их недостаточно высокое быстродействие, связанное с необходимостью последовательного выполнения команд программы. Поэтому, приступая к проектированию РТС с примене- нием МП, прежде всего необходимо оценить возможности МП системы по быстродействию. Достижения в технологии производства БИС позволили частично решить проблему быстродействия путем создания специализирован- ных процессоров, реализующих заложенные в них алгоритмы аппа- ратным способом. К таким БИС относятся процессоры для вычисления быстрого преобразования Фурье (БПФ) [17, 55], многоразрядные ре- гистры сдвига, служащие основой построения накопителей импуль- сных сигналов, и некоторые другие. Очевидно, что применение МП целесообразно только в тех слу- чаях, когда реализация определенных функций системы с исполь- зованием «жесткой логики» требует большого количества микросхем. Как показывает практика проектирования РТС с цифровой обработ- кой, преимущества МП систем, связанные с уменьшением объема обо- рудования, проявляются уже при числе БИС средней степени инте- грации, используемых при реализации на «жесткой логике», порядка 30—50 [14]. Таким образом, процесс выбора элементной базы для циф- ровой обработки информации РТС должен решаться последователь- ным анализом ряда факторов, что показано на рис. 10.1 [14]. Если воспользоваться приведенным на этом рисунке алгоритмом, то оказывается возможным в первом приближении указать те задачи, решаемые РТС, в которых применение МП целесообразно. К ним относятся: построение радиотехнических измерителей координат (дальномеры, угломеры и т. д.); сглаживающие фильтры устройств вторичной обработки радиолокационных и радионавигационных сиг- налов; специализированные вычислительные устройства бортовых навигационных комплексов (комплексированные системы, преобразо- ватели координат и т. п.); цифровые фильтры; устройства кодирова-
ния и декодирования сигналов в системах передачи цифровой инфор- мации; весовая обработка пачечных сигналов в радиолокации и радио- навигации; построение систем встроенного контроля аппаратуры; авто- матизированные измерительные комплексы и различные устройства управления. Рис. 10.1. Блок-схема алгоритма выбора элементной базы при проектировании цифровых узлов РТС Перечисленные применения охватывают почти все узлы РТС, за исключением, как правило, устройств первичной обработки сигналов, которые из-за требований высокого быстродействия реализуются либо на элементах функциональной электроники и специализированных процессорах, либо выполняются по «жесткой логике». До сих пор речь шла о сосредоточенных вычислительных системах, в которых вычислительный процесс протекает в рамках логической структуры этой системы. Подобное построение является традицион- ным и в основном повторяет функциональную структуру РТС домикро-
процессорного периода. МП позволили реализовать принципиально новый подход к организации вычислений путем создания распре- деленных средств обработки цифровой информации в РТС. Этот подход заключается, во-первых, в разбиении общего алго- ритма работы системы на ряд параллельно реализуемых алгоритмов (по возможности не связанных друг с другом во времени) и, во-вто- рых, в наиболее оптимальном пространственном распределении вы- числительного процесса путем встраивания специализированных МП вычислителей непосредственно в датчики исходной информации. Та- кие системы позволяют по-новому решать задачи обеспечения быстро- действия, надежности и живучести РТС, придать им свойства адап- тивности и повысить уровень автоматизации аппаратуры. § 10.2. ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ РТС С ИСПОЛЬЗОВАНИЕМ МИКРОПРОЦЕССОРОВ Применение микропроцессорных вычислительных устройств в системах обработки информации РТС накладывает ряд особенностей на процесс проектирования. Главная из них — это необходимость разработки программного Рис. 10.2. Блок-схема процесса проекти- рования устройств РТС с использованием МП обеспечения системы, кро- ме традиционной для ра- диоинженеров разработки аппаратных средств. Раз- двоение процесса проекти- рования на программную и аппаратную части, на- ходящихся во взаимодей- ствии, требует основатель- ной подготовки разработ- чика в области матобеспе- чения МП систем, знаком- ства его с алгоритмически- ми языками и элементами системного программиро- вания. Схематически процесс проектирования показан на рис. 10.2 в виде блок- схемы [221, имеющей вет- вление на программную и аппаратную части, а крат- кое содержание этапов про- ектирования приведено в табл. 10.1. Детально опи- сание указанных этапов приводится в работе [22]. Отметим, . что начальные этапы не отличаются от
Таблица 10.1 Этапы проектирования Процесс проектирования 1. Задача Четкая формулировка задачи. Определение входных и выходных требований 2. Метод Выбор математического метода. Обоснование его путем анализа характеристик. Расчет и оптимизация неизвест- ных параметров 3. Алгоритм Разработка блок-схемы алгоритма. Определение соста- ва и количества операций, операндов и констант, допус- тимого времени вычислений, характера обмена данными с внешними устройствами 4. Структура Аппаратная часть Программная часть Разработка структурной схемы устройства сопряже- ния МП с радиотехничес- кими блоками. Определение состава устройств допол- нительной обработки Выбор МПК и анализ его структуры с точки зрения сопряжения с внешними устройствами и возможнос- ти выполнения требуемых программных операций 5. Детализация Разработка функциональ- ной схемы устройства со- пряжения Разработка рабочей про- граммы на языке ассемб- лера. Отладка и редактиро- вание программы 6. Корректировка Определение аппаратур- ных затрат. Анализ техни- ческих характеристик на- дежности, потребляемой мощности, унифицируемос- ти и т. п. Принятие реше- ния о корректировке пре- дыдущих этапов Определение вычислитель- ных затрат — количества микроопераций, ограничений по времени, объема ОЗУ и ПЗУ. Принятие решения о корректировке предыдущих этапов 7. Реализация Разработка принципиаль- ной схемы устройства со- пряжения , конструкции и технической документации всей системы Запись готовой програм- мы на носители внешнего ЗУ 8. Воплощение Изготовление разработан- ной МПСОС Занесение программы в ПЗУ Испытания и окончательная отладка в процессе сов- местной работы аппаратной и программной частей привычного для радиоинженеров процесса проектирования. При их выполнении осуществляется формулировка задачи, выбираются и обо- сновываются принципы построения аппаратуры, рассчитываются ее основные тактико-технические характеристики.
Реализация дальнейших этапов требует нахождения компромисс- ных решений в плане разделения функций системы между аппаратны- ми и программными методами, поиска и разработки оптимальных по быстродействию программных средств, умелого использования при- лагаемого к МП математического обеспечения. В процессе проектирования МП систем особое место занимают мик- ромашинные средства отладки [14, 30, 60], позволяющие существенно ускорить процесс разработки, автоматизировать ввод и вывод про- грамм, их редактирование и модификацию. В данной книге эти средст- ва не рассматриваются, однако их освоение является обязательным условием успешного овладения методами проектирования МП систем и их применения. В последующих параграфах этой главы приводятся примеры реа- лизации ряда цифровых устройств РТС на базе использования одно- и многокристальных МП, а также с применением специализирован- ного вычислительного устройства (СВУ), имеющего структуру микро- ЭВМ, но без характерного для нее периферийного оборудования. Эти примеры иллюстрируют реализацию на практике рассмотренного процесса проектирования. § 10.3. ПРОЕКТИРОВАНИЕ РАДИОТЕХНИЧЕСКИХ ИЗМЕРИТЕЛЕЙ КООРДИНАТ НА ОСНОВЕ ОДНОКРИСТАЛЬНЫХ МП В качестве объекта проектирования выберем импульсный радио- дальномер с некогерентным сигналом, широко распространенный в РЛК- и PH-системах. Выбор радиодальномера вызван рядом причин, к числу которых относятся наглядность и простота постановки задачи, возможность ее решения путем использования однокристальных МП ограниченной разрядности, возможность показать различные способы обмена информацией между МП-системой и радиотехническими уст- ро йствами. Импульсный радиодальномер. Пусть требуется спроектировать импульсный дальномер следящего типа для работы по одной цели (дальномер радиотехнической системы ближней навигации [58]) со следующими техническими характеристиками: 1) максимальная даль- ность — 300 км (Тпов зг 2000 мкс); 2) инструментальная ошибка, измерения дальности — 75 м (А7\ = 0,5 мкс); 3) длительность им- пульса— 1,5 мкс; 4) дальномер должен иметь режимы поиска, слежения и контроля достоверности измерений в процессе слежения, причем работоспособность в режиме слежения должна фиксироваться специальным сигналом «Готовность», выдаваемым для бортового комп- лекса по отдельной шине. Будем считать, что на этапах формулировки задачи и расчета ос- новных технических характеристик (точности, помехоустойчивости и т. п.) определен алгоритм работы дальномера, выбран метод поиска, установлены критерии обнаружения, обоснованы алгоритмы фильт- рации и контроля достоверности измерений. Вопросы, составляющие содержание системного, проектирования радиотехнических устройств, в книге не рассматриваются.
Результатом этапа системного проектирования является блок- схема алгоритма работы дальномера, показанная на рис, 10.3. Прин- цип действия дальномера, как известно, состоит в измерении вре- менного интервала между зондирующим импульсом и отраженным сигналом, поступающим с выхода приемного устройства. Инстру- ментальная точность измерения определяется периодом следования тактовых импульсов — 0,5 мкс). Одной из важнейших особен- ностей радиотехнических измерительных систем является работа в условиях помех (импульсных, флюктуационных и т. д.). Поэтому обработка принимаемых сигналов распадается на следующие опера- Вбод измеренной, дальности Поиск Да Нет Провер- ка наличия сигнала в стробе. Режим Увеличение содержимого накопителя Да Нет Слежение Уменьшение содержимого накопителя Провер- ка наличия сигнала в строба Увеличение содержимого накопителя Уменьшение содержимого накопителя Да Установка но- вого положения строба мое накопи- теля=и?. Нет yiодер мае- Нет Да Установка сигна лов„ Готовность" и „Слежение" поиске Нет Превыше- ние порогов Фильтрация Да Сброс сигнала Готовность' Выдача дальности Содер- жимое нако- пителям Порога} Выдача экстра- полированной дальности Преобразова- ние код-время Рис. 10.3. Блок-схема алгоритма работы импульсного ра- диодальномера
ции: поиск полезного сигнала, т. е. приближенное определение его временного положения с точностью, достаточной для реализации по- следующего алгоритма измерения; фильтрации оцениваемого параметра (дальности) с целью уменьшения ошибок измерения, вызванных дей- ствием помех; контроль достоверности проводимых измерений, т. е. проверка наличия полезного сигнала в зоне селекции измерительной системы. В режиме «Поиск» производится фиксация попадания сигнала в строб поиска (рис. 10.3) и осуществляется проверка критерия обна- ружения (например, появление трех импульсов из пяти в одном и том же дискрете дальности). При невыполнении критерия обнаружения поиск продолжается, в противном случае — генерируются сигналы «Готовность» и «Слежение», переводящие дальномер в режим слеже- ния. Суммирование попадающих в строб сигналов осуществляется в специальном счетчике-накопителе, который можно выполнить аппа- ратным (реверсивный двоичный счетчик) и программным способами. Аналогичным образом реализуется и режим контроля достовер- ности при слежении с той лишь разницей, что значения порогов нако- пителей в обоих случаях устанавливаются различными. Если на дан- ном шаге измерений зафиксировано непопадание полезного сигнала в измерительный строб, а содержимое накопителя превышает порого- вый уровень, то в качестве результата измерения выдается экстра- полированное значение дальности, вычисленное с учетом измеренных значений дальности и скорости цели на предыдущих шагах [23]. В ре- жиме «Слежение» (крайняя правая ветвь блок-схемы алгоритма на рис. 3.10) осуществляется фильтрация измеренных значений даль- ности, выдача их потребителю и генерирование физического строба слежения преобразованием «цифровой код—временная задержка». Приведенный на рис. 10.3 алгоритм может быть полностью реа- лизован на основе «жесткой логики», однако интересна микропро- цессорная реализация этого алгоритма. Прежде всего необходимо ре- шить вопрос, какие операции можно реализовать программным, а какие аппаратным способами. Ограничением в решении этого воп- роса выступает быстродействие существующих микропроцессорных комплектов. Поэтому следует ожидать, что для заданного формата сигнала дальномера (/сигн = 1,5 мкс) аппаратно должны реализо- ваться схема временной фиксации, рабочий счетчик дальности (пре- образователь «время—код») и управляемая цифровым кодом схема пе- ременной задержки (преобразователь «код—время», ПКВ). Указанные схемы по отношению к микропроцессорному вычислительному устрой- ству играют роль внешних устройств (ВУ). Остальные функции целе- сообразно реализовать программным способом. На рис. 10.4 в общем виде приведена структурная схема проектируемого устройства. Поскольку реальное быстродействие имеющихся в распоряжении разработчика МПК примерно одинаково (различие не более чем в 2—2,5 раза), азадачи, решаемые в проектируемом устройстве, в вычис- лительном отношении относительно просты, то при выборе типа МП следует руководствоваться не столько характеристиками его вычис- лительных возможностей, сколько следующими факторами: 1) удоб-
ством сопряжения Ml 1-системы с радиотехническим трактом; 2) про- стотой программирования относительно узкого класса алгоритмов поиска, обнаружения, фильтрации и контроля достоверности измере- ний; 3) наличием средств отладки аппаратной и программной частей МП системы при ее практической реализации. Первый фактор требует достаточно широкой номенклатуры БИС, составляющих МПК, особенно с точки зрения реализации операций ввода/вывода (возможности прерываний, прямого доступа в память Рис. 10.4. Структурная схема импульсного радиодаль- номера и т. п.). Второй фактор приводит к тому, что разработчики отдают предпочтение относительно простой и понятной системе команд, поз- воляющей специалисту радиотехнического профиля быстро освоить основные приемы программирования. Третий фактор определяет возможность быстрой практической реализации МП-системы. Эти соображения являются определяющими при выборе для проек- тируемого дальномера МПК серии К580 и ряда совместимых с ним БИС МПК серии К589. Необходимо учитывать одно обстоятельство, связанное с тем, что МПК К580 оперирует с восьмиразрядными словами. В данном случае для отображения максимальной дальности в 300 км 2010 мкс) с точностью 75 м (период тактовой последовательности ATt = 0,5 мкс) в цифровой код требуется = 12 разрядов m = log2 &2 АЛ (здесь символ И означает наименьшее целое число, не меньшее х). Таким образом, если при поиске и слежении использовать одну и ту же частоту тактовой последовательности, то разрядность вводимых в МП-систему чисел превышает разрядность шины данных. Эту труд-
Рис. 10.5. Основные временные диа- граммы импульсного радиодальномера ность можно обойти двумя путями. Первый заключается в исполь- зовании операций с двойной точностью. При этом измеренный рабо- чим счетчиком код дальности вводится в систему по байтам в два при- ема. Однако использование операций с двойной точностью для каж- дой команды вызывает неоправданное удлинение выполнения всей программы в целом. Поэтому для решения конкретной задачи пред- почтителен второй путь: использование различных частот повторения тактовой последовательности при поиске и слежении. В режиме поиска достаточно определить дальность относи- тельно грубо, а затем в процессе слежения измерять ее с требуе- мой точностью. Поэтому для представления всей дальности (300 км) восьмиразрядным дво- ичным кодом необходимо иметь период тактовой последователь- ности при поиске: А7\ = — Гпов/28 = 7,85 мкс. При слежении заданная ин- струментальная точность обес- печивается при &Tt = 0,5' мкс и в пределах измерительного строба (рис. 10.5, а—д), дли- тельность которого равна &Т2, укладывается около 16 такто- вых импульсов. Чтобы упростить задачу и иметь возможность детально остано- виться на всех этапах проектирования МП системы измерения даль- ности, рассмотрим только режим слежения (крайняя правая ветвь алгоритма на рис. 10.3, отмеченная пунктирной линией). В этом режиме система должна выполнять следующие функции: 1) производить измерения временного интервала А/ (рис. 10.5, д) от начала строба до момента времени, соответствующего точке фикса- ции принятого сигнала с точностью, определяемой периодом тактовой последовательности А7\; 2) вводить измеренные значения в МП сис- тему; 3) изменять состояние ячейки-накопителя; 4) осуществлять фильтрацию приращений значений А/; 5) вычислять полное значение дальности (tc = t0 + ДО с заданной инструментальной точностью АТ1 (рис. 10.5, б, д, е), для чего требуется использовать операцию с двойной точностью; 6) выводить полное значение дальности в преоб- разователь «код—время» для генерирования измерительного строба длительностью ZCTp. Чтобы двигаться дальше, необходимо: выбрать способ обмена ин- формацией между В У (рабочим счетчиком и преобразователем «код- время») и МП-системой и задаться конкретным алгоритмом фильтра- ции измеренных значений дальности. Как отмечалось в гл. 6, существуют три основных способа обме- на — программный, с прерыванием программы по запросу ВУ и пря-
мой доступ в память. Последний используется обычно для передачи больших массивов данных, с тем чтобы затем произвести их соответ- ствующую обработку. Для решения данной задачи этот способ не под- ходит. При программном методе обмена необходимо затратить не- которое время на проверку готовности ВУ, однако, учитывая, что сигналы с выхода приемного устройства поступают периодически, это время невелико. Обмен е прерыванием программы происходит сразу после того, как на рабочем счетчике установится значение кода измеренной дальности, но переход на подпрограмму обработки пре- рываний требует относительно большого времени (порядка 50—70 мкс). Поэтому в данном случае некоторые преимущества по скорости обмена имеет программный способ, который и примем за основу. Далее рассмотрим способ организации обмена по прерыванию программы, хорошо совместимой с использованием специальной БИС таймера (КР580ВИ53). Для организации программного обмена присвоим адреса всем ВУ, участвующим в обмене: ВУ-1 — рабочий счетчик; ВУ-2 — триггер готовности рабочего счетчика; ВУ-3 и ВУ-5 — регистры младших и старших разрядов преобразователя «код—время»; ВУ-4 — триггер готовности ПКВ (см. рис. 10.4). Временные соотношения в процессе ввода, фильтрации и вывода показаны на рис. 10.5, е—и. Как видно из рисунков, ввод данных осуществляется только при установке триггера готовности ВУ-2 в еди- ничное состояние, а вывод — при установке триггера ВУ-4. Введенные в МП данные об измеренной дальности y(k), где k — текущий номер зондирования, или шаг, обрабатываются рекуррент- ным образом с помощью алгоритма фильтрации второго порядка Ал л D(klk)—D(k — 1//е—1)4- V(k — 1/k — !) + + К, {y(k) - [Ь(6-Ilk- 1)+ V(6-\/k—I)]} (10.1) Л л / ГЛ V (klk) = V (k — 1 Ik — 1) 4- K2(&) lz/(6) — |D(£—I/6—l)4- 4- V(fc— \!k— 1)]} , (10.2) где D(k/k) —• оценка дальности на данном шаге (в нашем случае пол- ный 12-разрядный код), соответствующая временной задержке tc (рис. 10.5); V(klk) — текущая оценка скорости цели; Kt и /С2 — по- стоянные коэффициенты. Значения 7<i и /С2 [47] определяют динами- ческие свойства фильтра и его помехоустойчивость. В общем случае они могут принимать произвольные значения в области 0 < /G,2 < 1. Однако для упрощения программирования операций умножения же- лательно выбрать их как 2~п. Примем для данного случая Ki == 1/4 и = 1/16, при этом считаем, что характер переходного процесса и эффективная полоса пропускания фильтра удовлетворяют постав- ленным требованиям. Сделаем еще одно замечание относительно ор- ганизации вычислений по формулам (10.1) и (10.2), прежде чем перейти
к составлению структурной схемы устройства и написанию програм- мы на языке Ассемблера МПК К580. Как уже отмечалось, в режиме слежения в МП-систему нужно вводить не полный код измеренной дальности, а значение A//ATt (см. рис. 10.5, г, д), пропорциональное задержке принятого сигнала относительно момента начала строба t0. При этом достаточно четырех разрядов шины данных. Именно эти зна- чения приращений относительно t0 и целесообразно фильтровать, добавляя постоянную дальность D0(k/k), пропорциональную t0 для получения полного 12-разрядного кода оценки дальности, выводи- мого на каждом шаге из МП-системы на ПКВ. С учетом сделанных замечаний формулу (10.1) можно переписать следующим образом: D(k/k) =D0(k/k) + ADk, (10.3) A £)fe = 1/fe — O + K^fe), (10.4) Г л Л 1 e (k) = у (k)- [A Dk_± + V (k - 1 Ik - 1 )J . (10.5) Выражения (10.3)—(10.5) и (10.2) являются формальной записью алгоритма фильтрации, реализуемого в проектируемой МП-системе. Дальнейшая детализация аппаратных средств и программного обе- спечения должна производиться в тесном взаимодействии друг с дру- гом. Составим в первом приближении функциональную схему проек- тируемого дальномера для режима слежения (рис. 10.6). Она явля- ется типичной для программного обмена и отражает основные функ- циональные связи в процессе ввода/вывода, реализуемые на практике с помощью специализированных интерфейсных БИС. Вопросы приме- нения таких БИС будут рассмотрены далее. На данном этапе инте- ресны принципиальные вопросы организации ввода/вывода и способы генерирования основных управляющих сигналов МП-системы, обес- печивающих программный обмен. Ввод данных с рабочего счетчика осуществляется по восьмираз- рядной шине данных (см. рис. 10.6) через трехстабильные буферные схемы. Триггер готовности рабочего счетчика через такой же буфер- ный каскад подсоединен к третьему разряду шины данных (выбор разряда произволен). Аналогичным образом вводится в МП-систему информация о состоянии триггера готовности ПКВ (ВУ-4). Вывод полного кода дальности из МП-системы осуществляется по байтам в два приема — сначала выводятся восемь младших разрядов кода на регистры ПКВ (ВУ-3), а затем четыре старших на регистры ПКВ (ВУ-5). Для формирования стробов ввода и вывода используются напряже- ния с выхода дешифратора, управляемого тремя разрядами адресной шины, сигналы «Ввод» и «Вывод» с выхода регистра состояния МП, а также выходные сигналы МП «Прием» и «Выдача». Логика формиро- вания этих сигналов приведена на рис. 10.6 и не требует дополни- тельных пояснений. Ввод данных осуществляется следующим образом. В соответст- вующем месте программы используется команда ввода IN 02 (первая
команда табл. 10.2), по которой МП-система формирует строб ввода, и состояние триггера готовности ВУ-2 передается в третий разряд аккумулятора. Далее происходит проверка содержимого этого раз- ряда (команда ANI 04), от результата которой зависит дальнейшая последовательность команд. Если ВУ-2 не готово т. е. (Л3) = 0, про- исходит возврат к команде IN 02 (к нулевому адресу программы), в противном случае выполняется следующая за JZ команда IN 01, Шина данных Рис. 10.6. Функциональная схема устройства программного обмена по которой в аккумулятор вводится содержимое рабочего счетчика дальности. После ввода данных реализуются все последующие про- граммные блоки, приведенные на рис. 10.3. Составим программу обработки информации в дальномере в режи- ме слежения (правая ветвь алгоритма, показанная на рис. 10.3 пунк- тиром) на языке Ассемблера МПК К580. Прежде чем приступить к составлению программы, необходимо произвести распределение па- мяти. Выберем для хранения команд программы участок памяти, на- чиная с нулевого адреса (все адреса абсолютные, их нумерация шест- надцатиричная). В соответствии с блок-схемой алгоритма (см. рис. 10.3) необходимо выделить ячейки оперативной памяти для хра- нения следующих переменных: 1) указателя режима («Слежение» — «Поиск»), для этого выберем произвольно ячейку ОЗУ с адресом 0110 (рис. 10.7), причем нуль в младшем разряде будет соответствовать режиму поиска, единица — режиму слежения; 2) накопителя режима «Слежение» — с адресом 0111; 3) оценки дальности D(k—1/k—1), вычисленной на предыдущем шаге измерений (полный 12-разрядный
код дальности) — для этой цели потребуется две ячейки, так как в ОЗУ хранятся только восьмиразрядные числа, пусть это будут ячейки ОЗУ с адресами 0112 и 0113 для хранения младших и старших разря- дов. Кроме того, для организации вычислений по фильтрации потре- буется временное хранение значения ДПЙ_, 4- V(k—1/k—1) — экстра- полированного приращения оценки дальности, для этого выделим ячейку с адресом 0114 (см. рис. 10.7). Содержимое ячейки ЗУ Указатель режима Адрес ячейки ЗУ 101 10 [ 7 В 5 ЬЗ 2 1 О _ -—’ | i | i ] Пс иск Р 0\0 0\0 О\О0'^” ~———% Слежение " Накопитель режима „слежение" Рис. 10.7. Схема распределения памяти и изменение со- держимого ее ячеек в процессе выполнения программы, приведенной в табл. 10.2 Что касается РОНов ЦПЭ, то в них желательно хранить дан- ные , к которым необходимо часто обращаться. Из формул (10.2) — (10.5) следует, что такими данными являются ДОЙ и 1/(Хг/Хг), значения которых будем сохранять в регистрах В и С. Регистры D и Е отве- дем под хранение результатов промежуточных вычислений. Особенно осторожно следует обращаться с содержимым регистров Н и L. Необ- ходимо помнить, что регистровая пара HL используется для косвенной адресации при пересылках между регистрами ЦП и памятью и при вы- полнении арифметических операций с содержимым ячеек ОЗУ. Кро- ме того, в этой регистровой паре сохраняются результаты выполне- ния операций с двойной точностью. Полная программа режима слежения, написанная на языке Ас- семблера МПК К580, приведена в табл. 10.2. Основные комментарии к
| № п/nl Адрес ЗУ Команда Число тактов Содержание Пр имечаяие I о 3 4 5 6 1 0 0 0 0 0 0 0 1 IN 02 10 (Я) (ВУ2) Проверка триггеров го- товности рабочего счет- чика 2 0 0 0 2 0 0 0 3 ANI 04 7 (Я)3 Л 04 Проверка (Л)3 на 0 или 1 3 0 0 0 4 0 0 0 5 0 0 0 6 JZ 00 00 10 0000, если (Я)=0 0007, если (Я)¥=0 Переход по нулю к повторной проверке го- товности рабочего счетчи- ка 4 0 0 0 7 0 0 0 8 IN 01 10 (Я) (ВУ 1) Ввод дальности в А 5 0 0 0 9 MOV D, A 5 D ч- (Л) Пересылка у (k) в ре- гистр D 6 0 0 0 Л ООО fi 0 0 0 с LDA 10 01 13 (Л) ч- (ОНО) Загрузка Л содержи- мым ячейки — указателя режима 7 0 0 0 D 0 0 0 Е ANI 01 7 (Л) Л 01 Проверка содержимого Л на 0 или 1 (наложение маски) 8 0 0 0 F 0 0 10 0 0 11 JZ 00 10 10 =ф- 1000, если (Л)=0 => 0012, если (Л)=^О Переход к подпрограм- ке «Поиск» при (Л) = 0. 1000 — адрес ЗУ первой команды этой подпрограм- мы 9 0 0 12 MOV A, D 5 (Я) ч- (£>) Пересылка у (k) в Л 10 0 0 13 0 0 14 0 0 15 LXI H 11 01 10 (£) ч- 11 (Я)ч- 01 В пару регистров НL за- гружается адрес ячейки накопителя режима «Сле- жение» 11 0 0 16 0 0 17 CPI 00 7 (Z) = 1, если (Л) = 0 Проверка наличия сиг- нала в стробе 12 0 0 18 0 0 19 00 1 л JZ 00 11 10 => 1100, если (Л) = 0 => 001В, если (Л) =/= 0 1100 — номер ячейки ЗУ, в которой хранится первая команда левой ветви программы (рис. 10.3)
1 № п/п Адрес ЗУ' Команда Число тактов Содержание Примечание I 2 3 4 5 6 13 00 1В IRR 0111 10 [0111] -e- [0111] + 1 Увеличение содержимо- го ячейки-накопителя 14 0 0 1 с 0 0 1 D 0 0 1 £ LXIH 14 01 10 (L) 14 (//) - 01 Загрузка пары регист- ров HL адресом ячейки, в которой хранится вели- Л чина Д£) (k— )!k— 1) + Л +V(fe— 1/fe-l) 15 0 0 1 F SUB 0114 Р 7 (Л) 4- (Л) - -[(Я) (£)] Л e(fe) = y(k)- [AD (k — — l/k— 1) +V (k— — 1/fe— 1)] 16 0 0 2 0 RAR 4 (Я7) +- (CY), ... ... (CY) (A„) Вычисление значения' Kj e (fe) = -у e (k) ny- тем циклического сдвига вправо на два разряда с обнулением триггера пе- реноса 17 0 0 2 1 STC 4 (CY) 1 18 0 0 2 2 СМС 4 (СУ) 0 19 0 0 2 3 RAR 4 (Л7) +- (CY), ... ... (CY) (Яо) 20 0 0 2 4 MOV D А 5 (D) (A) (D) (k) для вре- менного хранения 21 0 0 2 5 STC 4 (CY) 1 Вычисление величины е (*) = 77 е (k) 10 путем циклического сдви- га вправо 22 0 0 2 6 CMC 4 (СГ) -e- 0 23 0 0 2 7 RAR 4 (A?) (CY), ... ... (CY) (A.) 24 0 0 2 8 STC 4 (CY) 1 25 0 0 2 9 CMC 4 (CY) 0 26 0 0 2 4 rar 4 (Л7) (СУ), ... ... (CY) «- (Ao)
Продолжение табл. 10.2 № п/п Адрес ЗУ Команда Число тактов Содержание Примечание 1 2 3 4 5 6 27 0 0 2 В ADD С 4 (Л) +- (Л) + (С) А А (Л) ч— V (k/k)= V (k — - 1/k-!)+ К2е (fe) 28 0 0 2 С MOV С, А 5 (С) ч- (Л) A (С) ч- V (k/k) 29 0 0 2 В MOV A, D 5 (Л) ч- (D) (Л) ч- £1Е (А) 30 0 0 2 £ ADD0114 7 (Л) ч- (Л)+ (0114) л A (Л) Ч- Д£Ь = A D (k— 1/ /k — 1)+ V (k— 1/k—1) + + (/г) 31 0 0 2 В MOV В, А 5 (В) Ч- (Л) (В) ч- &Dh 32 0 0 3 0 0 0 3 1 Ml7/ D 00 7 (£>) *- 0 Обнуление регистра D 33 0 0 3 2 MOV Е, А 5 (£) ч- (Л) Л (£)ч-ДОк 34 0 0 3 3 ADD С 4 (Л) ч- (Л) + (С) А А (Л) ч- ADh + V(k/k) 35 0 0 3 4 0 0 3 5 0 0 3 6 STA 14 01 13 (0114) ч- (Л) Загрузка ячейки 0114 А л величиной ADk +V (k/k) 36 0 0 3 7 0 0 3 8 0 0 3 9 LHLD 12 01 16 (£) ч- (0112) (/7) ч— (0113) (Н) (L)+-D(k—l/k—l) Загрузка пары регист- ров HL измеренным на предыдущем шаге значе- нием дальности 37 0 0 3 4 DAD D 10 (//)(£) ч- (//)(£)+ + (£>) (£) (Н)(£) 4-£(fe/fe)== Л Л = ADk + D (k— 1/k— 1) Вычисление полного значения текущей даль- ности 38 0 0 3 В 0 0 3 с 0 0 3 D SHLD 12 01 16 [0112] ч- (£) [0113] ч- (Я) (0113) (0112) ч-В) (k/k) Запоминание полного значения фильтрованной дальности
С г? £ Адрес ЗУ Ко манда Число тактов Содержание Примечание 1 2 3 4 5 6 39 0 0 3 £ 0 0 3 F W 04 10 (Л) (ВУ4) Проверка триггера го- товности преобразовате- ля КОД—ВРЕМЯ 40 0 0 4 0 0 0 4 1 AN1 02 7 (Л)а Л 02 Проверка (Л)2 на 0 или 1 (Наложение маски на второй разряд) 41 0 0 4 2 0 0 4 3 0 0 4 4 JZ * ЗЕ 00 10 => 003£, если (Л)=0 =>0045, если (Л) У=0 Переход по нулю к повторению проверки триггера готовности пре- образователя КОД — ВРЕМЯ 42 0 0 4 5 MOV A, L * 5 (Л) ч- (L) Загрузка в А млад- ших разрядов кода даль- ности 43 0 0 4 6 0 0 4 7 OUT 03 10 (ВУЗ) (Л) Вывод младших раз- рядов кода дальности на ВУ-3 44 0 0 4 8 MOV А, Н 5 (Л) (Я) Загрузка в Л старших разрядов кода дальности 45 0 0 4 9 0 0 4 А OUT 05 10 (ВУ5) - (Л) Вывод старших раз- рядов кода дальности на ВУ-5 46 0 0 4 В 0 0 4 С 0 0 4 D JMP 00 00 10 => 0000 Безусловный переход к началу программы Итого : 46 команд. . , 340 тактов программе содержатся в графе «Примечание», а также на рис. 10.7, где условно показано изменение во времени содержимого рабочих регистров ЦПЭ и основные межрегистровые пересылки, в скобках указаны номера команд программы (см. табл. 10.2), по которым эти пересылки выполняются. Команды программы в табл. 10.2 записаны числом строк, равным количеству байтов в команде. Такая запись удобна, так как позволяет определить число ячеек ПЗУ, необходимых для хранения команд про- граммы. Программа режима слежения состоит из 46 команд, для хра-
нения которых требуется /« восьмиразрядных ячеек ПЗУ, время вы- полнения программы — 340 тактов X 0,5 мкс/такт = 170 мкс <. < Т'пов = 2010 мкс. Следовательно, все необходимые операции мож- но выполнить к приходу очередного сигнала, т. е. в реальном масшта- бе времени. Для составления окончательной функциональной схемы дально- мера в режиме слежения необходимо выбрать соответствующие микро- схемы, совместимые по электрическим параметрам с ИС МПК серии 1В ПЗУ К556РВЧ toeL, 5В9АП1В 2шт. чтение/запись ОЗУ KSOSPyC вввлтв 2шт. Шина адреса Готовность” ВУ!ЗУ'—!у ,3,9,5 Шина данных 5В9АШ6 Вт тг готов- ности I W« В,,\589ИР12 OJ4^o Й*??* счетчика +58 а._ Сдрос Прием Выдача цпэввот сброс „ Синхр . 589АП1Б А-А,с D„-D 2шт. г UJ 2шт. RC3 ЧТ.ЗУ Ввод В, С.т Выводи^ 19ИР12 < 889АП№\ rlW вкчв RC1 Lr------ S89UPnJ_^ „ „ h~ пкв DCK/Kn „ ЪТоктовые ° импульсы RC2 звунт Страд даль- ности —12Д Рис. 10.8. Функциональная схема импульсного радиодальномера с програм- мным вводом/выводом данных К580 и обеспечивающие выполнение основных фукций. Эта схема, со- ставленная с учетом функциональных связей, показанных на рис. 10.6, приведена на рис. 10.8. В качестве схем ввода/вывода целесообразно использовать микро- схемы многорежимных буферных регистров типа К589ИР12 МПК се- рии К589 (RG1, RG2, RG4, рис. 10.8). Эта же микросхема использу- ется и в качестве регистра состояния МП (RG3 на рис. 10.8, включение стандартное). Необходимая нагрузочная способность шин адреса и данных обеспечивается микросхемами шинных формирователей типа К589АП16 (по два на каждую шину, так как эти формирователи четы- рехразрядные). Ввод состояния триггеров готовности на шину данных (ВУ-2 и ВУ-4) в данной схеме осуществлен с помощью шинных форми- рователей, причем для стробирования используется входная логика этих микросхем. Для хранения команд программы подходят совмес- тимые с МПК серии К580 микросхемы ПЗУ типа К566РЕ4, а в качестве ОЗУ используется ИС типа К505РУ6 [26]. Недостатком схемы, приведенной на рис. 10.8, является значи- тельное число «обрамляющих» микросхем, требуемых для организации
вычислительного устройства и "его сопряжения с приемником. По- этому рассмотрим построение дальномера с использованием специ- альной БИС таймера — [I] типа КР580ВИ53, которая совмещает в себе функции рабочего счетчика и преобразователя «Код—время». На рис. 10.9 приведена полная функциональная схема дальномера, реализующая и режим пои ска/а на рис. 10.10 — блок-схема соответ- ствующей программы. Временные диаграммы, поясняющие принцип работы МП дальномера с таймером, показаны на рис. 10.11. Рис. 10.9. Функциональная схема импульсного радиодальномера с таймером Особенность организации обмена в рассматриваемой системе заключается в том,что ввод данных из таймера в МП-систему осущест- вляется с помощью прерывания по вектору, для чего в регистре PG3 (рис. 10.9) формируется код команды RST. Вывод данных из МП- системы осуществляется программным путем через МБР (RGI), управ- ляемый 13 и 14 разрядами адресной шины. Работа схемы, приведенной на рис. 10.9, в общих чертах проис- ходит следующим образом. Прежде всего производится программи- рование таймера, для чего МП выводит по шине данных управляющее слово, определяющее выбор одного из счетчиков, входящих в состав микросхемы таймера, а также режим его работы и вид счета (двоич- ный или двоично-десятичный). В счетчики СчО и Сч1 записываются числа Do и Dm, соответствующие начальной и конечной дальностям и определяющие диапазон поиска. После этого на управляющую шину выдается сигнал «Разрешение прерываний»и начинается режим поиска. Запросный импульс (рис. 10.11, а) с помощью триггера Тг2 раз- решает счет тактовых импульсов, в счетчике СчО (все счетчики таймера
Начало Прерывание :. 10.10. Блок-схема алгоритма работы импульсного радиодальномера, по- строенного с использованием таймера атающие). В момент переполнения счетчика (рис. 10.11, 5) выра- жается импульс начала строба, который сбрасывает Тг1 :. 10.11, в) и устанавливает Тг2 в единичное состояние . 10.11, а). При этом разрешается счет в счетчике Сч1 (рис. 10.11, а), >рый измеряет временной интервал ДО, между началом строба и
моментом прихода ответного сигнала (рис. 10.11, б), останавливающе- го счет путем сброса Тг2 в нулевое состояние. В момент остановки счетчика Сч1 вырабатывается сигнал «Запрос прерывания», который инициирует переход МП к подпрограмме обработки прерываний (рис. 10.11, ж) по команде RST, формируемой внешним регистром RG3 (микросхема типа К589ИР12 на рис. 10.9). Подпрограмма об- работки прерываний содержит команду обращения к счетчику Сч1 Рис. 10.11. Временные диаграммы работы импульсного радиодальномера с таймером таймера, осуществляющую пересылку значения АОг в аккумулятор ЦПЭ. Эти значения используются для выработки данных о положе- нии строба поиска на следующем периоде запроса путем соответству- ющей установки счетчика СчО (рис. 10.11,3, и). Наличие сигнала в стробе на каждом периоде определяется сравнением значений ДПг с заданной шириной строба. Решение об обнаружении сигнала прини- мается при проверке выполнения выбранного критерия. При этом вырабатывается команда перехода в режим слежения и генерируется сигнал «Готовность» (разрешение индикации) с помощью триггера Тг4. В режиме слежения в счетчик Сч1 вместо значения Dm записыва- ется значение /стр и, следовательно, последующий анализ ограничи- вается только участком дальности, равным ширине выбранного строба. В этом режиме операции обмена данными между процессором и тай- мером осуществляются в том же порядке, что и при поиске. Различие заключается лишь в алгоритме определения значения &Dt, которое в режиме слежения вычисляется в соответствии с формулами (10.2)— (10.5).
Контроль достоверности результатов измерений в процессе сле- жения осуществляется так же, как и в схеме дальномера, приведенной на рис. 10.8. Реализация всех функций системы требует ПЗУ объемом около 300 байт, ОЗУ — 10 байт, время вычислений — примерно 700 мкс § 10.4. ПРОЕКТИРОВАНИЕ ЦИФРОВЫХ ФИЛЬТРОВ НА ОСНОВЕ МНОГОКРИСТАЛЬНЫХ МИКРОПРОЦЕССОРОВ Цифровые фильтры (ЦФ) это устройства для преобра- зования дискретных цифровых последовательностей. Так же как и ана- логовые, цифровые фильтры можно задать различными способами [18, 55]. 1. С помощью разностных уравнений (соответствуют дифференци- альным уравнениям аналогового фильтра) Уп ~ “Ь biXn_h (10.6) /=1 i=O где Xi и Уг — дискретные значения входного и выходного сигналов; О; и bj — коэффициенты фильтра. Использовать непосредственно для синтеза фильтра выражение (10.6) трудно, так как обычно требования к фильтру формируются пу- тем задания желаемой частотной или импульсной характеристик. 2. С помощью передаточной функции фильтра, заданной в z-плос- кости (z — eimT) (соответствует передаточной функции аналогового фильтра, заданной в плоскости р — о + /со): = гд> = -4— • <10-7» /=1 где г"1— оператор единичной задержки; X(z) и Y(z)—z = преобра- зования входной и выходной последовательностей. На основании выражения (10.7) можно построить множество раз- личных структурных схем цифровых фильтров, имеющих одну и ту же передаточную функцию. На рис. 10.12, а приведена так называе- мая прямая форма реализации, на рис. 10.12,6 — кано- ническая. Под канонической реализацией подразумеваются фор- мы, при которых используемое число элементов задержки точно равно порядку передаточной функции (т. е. наивысшей степени полиномов числителя и знаменателя). Если коэффициенты знаменателя в выражении (10.7) не все равны нулю, то соответствующий фильтр называется рекурсивным. Он представляет собой устройство с обратной связью, в котором отсчет
выходного сигнала уп зависит не только от отсчетов входного, но и от предшествующих отсчетов выходного сигнала yn_i. Если все aj = 0, / = 1, М, то соответствующий фильтр будет не- рекурсивным, или трансверсальным с передаточной функцией вида N Нт (z)= Ь(г~1. Нерекурсивные фильтры представляют собой устройства с конечной памятью без обратной связи, в которых каждый отсчет выходного сигнала зависит лишь от N + 1 отсче- тов входного сигнала. С передаточной функцией ЦФ тесно связана его частотная харак- теристика, получаемая формально из выражения (10.7) путем замены z-1 на Н(№ „= |ВД|е/¥(ш) —jo>T —j<MT l+aie + • • • + аме (10.8) где |Я(/со)| — амплитудно-частотная характеристика ЦФ; (р(со) — фазо-частотная характеристика; Т — период дискретизации сигна- лов ЦФ. 3. ЦФ можно описать с помощью импульсной характеристики {Лп}, представляющей собой выходную последовательность (отклик) ЦФ при подаче на его вход дельта-импульса 1, при 0, при п = 0 «#= 0. Рис. 10.12. Функциональные . схемы ЦФ: а — прямая форма реализации ЦФ; б — каноничес- кая форма ЦФ Передаточная функция и импульсная характерис- тика ЦФ связаны между собой прямым и обратным г-преобразованием [55]: 77(2) == Z[{A„}], {Л„} = Z-i[Z7(2)l. (10.9) Если импульсная ха- рактеристика ЦФ является последовательностью ко- нечной длины, то такие фильтры называются фильтрами с им- пульсной харак- теристикой ко- нечной длины или КИХ-фи л ьтр а ми. При оо ЦФ называются фильтрами с им- пульсной харак-
теристикой бесконечной длины или БИХ- фильтрами. Из приведенных определений ясно, что нерекур- сивные (трансверсальные) фильтры являются КИХ-фильтрами, рекурсивные ЦФ могут быть как К.ИХ-, так и БИХ-фильтрами'. Зная импульсную характеристику {hn} ЦФ и входную последо- вательность {хп}, можно определить выходную последовательность {Уп}: п п Уп XrnJln-m ~ ^п-т^т' (10.10) т=О т=(> Выражение (10.10) является аналогом интеграла свертки для не- прерывных систем (при нулевых начальных условиях). Таким образом, практической основой для построения ЦФ могут быть выражения (10.7) или (10.10), определяющие его реализацию в частотной или временной областях. В обоих случаях процедура фильтрации осуществляется путем использования операции задержки, умножения (на коэффициенты фильтра а} и bt или на значения hn) и сложения, которые могут быть реализованы как аппаратным путем (на схемах «жесткой логики»), так и программными методами с исполь- зованием ЭВМ. Трудность последнего метода связана с ограниченно- стью быстродействия ЭВМ и тем самым с невозможностью во многих случаях использовать цифровую фильтрацию в реальном масштабе времени. Поэтому при построении ЦФ широко распространены схемы «жесткой логики» и специализированные процессоры, представляющие собой БИС для решения частных задач ЦФ, являющихся схемами «жесткой логики», выполненными по интегральной технологии на од- ном кристалле. Примером таких специализированных процессоров мо- жет быть процессор для выполнения быстрого преобразования Фурье (БПФ) [55], в котором операция свертки (10.10) выполняется в частот- ной области с использованием специального алгоритма БПФ, уско- ряющего вычисление дискретного преобразования Фурье [17]: п Уп ~ 7j h-n-m ~ ^п-т ~ Уп йй jit ДПФ. ДПФ о братное | I ДПФ I I J X(kF)xH(kF)=Y(kF). Реализация ЦФ с помощью БПФ является практически единст- венно возможной при больших длинах обрабатываемых последова- тельностей. Алгоритмы БПФ достаточно подробно исследованы в ряде работ [17, 18, 55]. При построении ЦФ, работающих в реальном масштабе времени и построенных на основе МПК, кроме быстродействия необходимо учитывать требование довольно высокой разрядности, вытекающее из условий точности воспроизведения заданной частотной или им- пульсной характеристики и обеспечения устойчивости фильтра (для
рекурсивных Цф) [17]. Как правило, эти условия выполняются при числе разрядов порядка 10—24 и, следовательно, ЦФ могут быть реа- лизованы только с помощью многокристальных МП секций. В данном разделе за основу построения ЦФ выбран МПК серии К584, с помощью которого, как будет показано ниже, можно обрабатывать цифровые последовательности с частотой дискретизации около 10 кГц. Даль- нейшее повышение быстродействия возможно за счет применения мно- гопроцессорной системы обработки. Однако в этом случае аппаратур- ные затраты получаются гораздо большими, чем при создании спе- циализированного устройства, выполняющего функции ЦФ. Специфика проектирования ЦФ на основе МП секций проявляется в первых двух этапах разработки (см. табл. 10.1), в процессе которых необходимо: 1) решить задачу аппроксимации для определения коэф- фициентов фильтра, при которых фильтр удовлетворяет заданным требованиям; 2) выбрать конкретную схему построения фильтра и обосновать квантование найденных значений его коэффициентов в соответствии с фиксированной длиной машинного слова; 3) выбрать и обосновать длину слов входных, выходных и промежуточных пере- менных; 4) проверить путем математического моделирования, удов- летворяет ли полученный фильтр заданным требованиям. Если нет, то вернуться к п. 2 и 3. Детальное рассмотрение перечисленных задач представляет со- бой содержание довольно обширной теории цифровых фильтров и вы- ходит за рамки данного раздела, посвященного вопросам использо- вания МПК для целей построения ЦФ. Поэтому при рассмотрении конкретного методического примера реализации ЦФ нижних частот на МПК серии К584 считаем эти задачи решенными. Пример. ЦФ нижних частот. Пусть требуется спроектировать ЦФ нижних частот, имеющий полосу пропускания от 0 до 100 Гц при колебаниях ампли- тудно-частотной характеристики в пределах полосы пропускания 0,5 дБ, пере- ходная частота Fa на уровне 62 = —19 дБ Fa = 183 Гц, за пределами полосы пропускания спад амплитудно-частотной характеристики монотонный, частота дискретизации Fo = 1 кГц. Требуемая характеристика проектируемого фильт- ра показана на рис. 10.13. Характер ее поведения в полосе пропускания, ши- рина переходной полосы ДГп = F — Fc и вид амплитудно-частотной характе- ристики за пределами частоты F во многом определяют тип аналогового фильт- ра — прототипа, на основании которого строится требуемый ЦФ. Частотной характеристике, изображенной на рис. 10.13, удовлетворяет фильтр Чебышева первого типа. Если бы за пределами частоты F были допустимы колебания ам- плитудно-частотной характеристики в пределах значения 62, то в качестве фильт- ра-прототипа можно'было бы использовать эллиптический фильтр. Оба фильтра являются БИХ-фильтрами, порядок которых тем выше, чем круче спад ампли- тудно-частотной характеристики, т. е. чем уже переходная полоса ДРп. В работе [18, с. 91] для рассматриваемого примера методом билинейного преобразования передаточной функции аналогового фильтра получено выра- жение передаточной функции ЦФ, удовлетворяющего поставленным требова- ниям. _ 0,0159414914 (1 + Зг"1 + Зг-г + гг8)____ (г’ 1 — 1,974860236г-1 + 1,524277838г “2 — 0,4537 6786г-3 Таким образом, порядок проектируемого фильтра равен трем. Входящие в (10.11) коэффициенты, определяющие ЦФ, имеют высокую точность представ- ления. Кроме того, здесь неявно подразумевается, что входные и выходные сиг-
налы не подвергаются квантованию по уровням. При практической же реали- зации ЦФ на основе МП систем для представления как входных сигналов так и значений коэффициентов ЦФ используются числа с конечным числом разря- дов, что приводит к ошибкам и даже к неустойчивости ЦФ. Величина ошибок возникающих при работе ЦФ, зависит от вида выполняемых арифметических операций (с фиксированной или плавающей запятой) и схемы построения фильт- ра. На точность реализации ЦФ влияет метод квантования результатов проме- жуточных арифметических операций (усечение или округление). Аналитиче- ское решение перечисленных задач в общем случае оказывается, как правило, громоздким и малоэффективным. Поэтому в каждом кон- кретном случае реализации ЦФ наиболее подходящим является метод математического моделирования на универсальной ЭВМ с уче- том требуемого критерия точности (во времен- ной или частотной областях). Более подробно эти вопросы рассмотрены в [17, 18, 55]. Для составления алгоритма обработки информации в ЦФ преобразуем формулу (10.11) так, чтобы получить явное выражение для выходного сигнала уп. С этой целью представим заданный фильтр в виде последо- вательного соединения двух фильтров: рекур- сивного с передаточной функцией Н^г), кото- рый преобразует входной сигнал хп в проме- жуточный сигнал юп, и трансверсального с Рис. 10.13. Амплитудно-час-, тотная характеристика фильт- ра нижних частот передаточной функцией H2(z), преобразующего сигнал wn в выходной сигнал у„ Тогда Д(г) = H1(z)H2(z) = W(z) X(z) Отсюда уп = bown 4- biWn-i + b2wn_2 + b3wn_3, где wn = xn — + + a2wn_2 + Считаем, что входной сигнал хп поступает из АЦП в виде восьмиразрядного кода, соответствующего целым числам со знаком. Значения коэффициентов аг и bt ограничим таким же порядком точности. Так, например, для коэффициента аг имеем Oj = 1,975г0 = 1,111100102. В целях упрощения программы будем производить вычисления с фикси- рованной запятой. Место запятой выбирается компромиссно с учетом, во-первых, опасности переполнения разрядной сетки и, во-вторых, искажений характерис- тики фильтра из-за слишком грубого округления. При проектировании микро- процессорного устройства надо ориентироваться на порядок действий, приве- денный в § 9.4. Так как заданный алгоритм не является сложным и требует для своего выполнения небольшого набора операций, то в рассмотренном случае нецелесо- образно создавать систему команд и обеспечивать двухуровневое управление: Поэтому используют лишь микрокомандное управление и все программирова- ние осуществляют непосредственно в микрокомандах ЦПЭ. При выполнении вычислений необходимо проверять знаки операндов и устанавливать факт переполнения разрядной сетки. Переполнение может прои- зойти при умножении чисел или их сложении, когда оба числа имеют одинаковые знаки. Поскольку будем использовать умножение модулей чисел, обычно в зна- ковом разряде ЗН должен содержаться нуль. Тогда установка ЗН=1 фиксирует переполнение при умножении чисел. О переполнении при сложении можно су- дить по неравнозначности значений переноса ПВых и знака ЗН: ПВых ф ЗН = = 1. Для ускорения анализа указанных признаков результата операцию не- равнозначности выполним аппаратным путем и введем следующие триггеры при- знаков результата: два триггера для хранения знаков операндов (ТЗН1 и ТЗН2), триггер переноса (ТП) и триггер переполнения (ТПП). В формате микрокоманд
предусмотрим сигналы управления процессами записи информации в эти триг- геры и ее использованием. Умножение числа на константу осуществляют в виде детерминированной последовательности сдвигов и суммирований, соответствую- щей заданной константе. При этом откажемся от организации вычислительного цикла, что позволит достичь максимального быстродействия и исключить Счет- чик шагов. Вызванное этим увеличение числа ячеек ПЗУ, требуемое для хране- ния микропрограммы, не является лимитирующим, поскольку даже в этом слу- К ВУ Рис. 10.14. Функциональная схема ЦФ нижних частот на основе МП серии К584 чае микропрограмма работы фильтра не использует полностью емкость имеющихся БИС ПЗУ. Особенностью МП серии К584 является совмещение во времени процессов выполнения одной ми- крокоманды и выборки кода сле- дующей. Поэтому признаки ре- зультата выполнения данной микрокоманды могут быть ис- пользованы только через одну микрокоманду. Чтобы преодолеть это ограничение, значение анали- зируемого в данном такте приз- нака надо подавать на младший адресный разряд Ао ПЗУ микро- команд. При этом упрощается и ускоряется обработка признаков ценой появления пустых ячеек ПЗУ, так как коды микрокоманд, в которых не осуществляются условные переходы, будут запи- сываться а ПЗУ через строчку. Проведенное рассмотрение позволяет составить следующий формат микрокоманды: К1—К9— код МК, подаваемый на ШМК ЦПЭ; КЮ — К12 — управление входом переноса АЛУ (П), входом счетчика команд (ПСТ) и инкрементом (УП); К13—К16 — поле для кодирования сиг- налов, управляющих записью и использованием признаков, а также обменом информацией с внешними устройствами. Структурная схема микропроцессорного устройства, реализующего за- данный цифровой фильтр, представлена на рис. 10.14. Так как в рассматривае- мом примере требуется запоминать только три значения сигнала w, то это поз- воляет обойтись без использования ОЗУ. Тогда регистры общего назначения можно распределить следующим образом: РО—Р1 —накапливающие регистры для выработки значений wn и уп_л соответственно; Р2—РЗ — оперативные ре- гистры, используемые при осуществлении вычислений; Р4—Р6 — регистры для хранения значений шп_х, шп_2, wn-3 соответственно; Р7 — счетчик микрокоманд. Единая микропрограмма работы фильтра содержится в ПЗУ МК, с которого в каждом такте считывается 16-разрядный формат микрокоманды. Четыре его разряда К13—К16 подаются на дешифратор ДШ, на выходах которого выраба- тываются сигналы управления схемой анализа и коммутации условий (САКУ) и мультиплексором условий (МУ). Сигналы условий (т. е. признаков результата микрооперации) записываются в четырехразрядный регистр признаков (РП) и далее через МП подаются на вход Ао ПЗУ МК. Поскольку в данном примере используется только одно внешнее устройство для ввода данных и одно для вы- вода, то не требуется различения этих устройств по адресам, а достаточно ис- пользовать два сигнала управления вводом и выводом, которые снимаются с ДШ. Алгоритм работы цифрового фильтра состоит из такой последовательности действий: 1) начальная установка (сброс) памяти фильтра; 2) ввод очередного отсчета хп; 3) вычисление шп; 4) вычисление уп; 5) сдвиг информации в памяти фильтра и запоминание wn; 6) вывод значения уп и переход к п. 2.
< аолица 10.3 Номера микро- команд Операция пимера микро- команд Операция 1 2 3 4 5 6 7 8—9 ШВх->РР; ЗН1 ЗН1 =0; РР->РР ЗН1 = 1; (РР + 1) ->РР ЗН1 =0; РР->РР ЗН1 = 1; СЦП(РР+ 1)->РР РР^-РО Р4->РР; ЗН2 ЗН2 = 0; РР ->Р2 ЗН2 = 1; (РР+1)->Р2 Р2->РР 2СЛП (РР, ДР)->(РР, ДР) 10—14 15 16 17 18 19 20 5СЛП (РР + Р2, ДР)-> (РР, др) (РР + Р2) -> РР; ЗН1 ЗН1 =0; РР->РР ЗН1 = 1; Р7-е-0 ЗН2 = 0; РР->РР ЗН2 = 1; (РР + 1) ->РР (РО-(-РР)->РО; ТПП ТПП = 0; РР -> РР ТПП = 0; Р7<-0 Р5-»РР; ЗН2 Фрагмент блок-схемы алгоритма, относящийся к реализации п. 2 и начала п. 3, приведен на рис. 10.15, а соответствующая ему микропрограмма — в табл. 10.3. Микрокоманды пронумерованы в порядке их появления в данном фраг- менте микропрограммы. Эти номера од- нозначно связаны с состоянием счетчика микрокоманд Р7. После мнемоническо- го обозначения микрокоманды указыва- ется признак, на состояние которого влияет результат ее выполнения. Значе- ния признаков, указанные перед мне- моническим обозначением микрокоман- ды, соответствуют условному переходу по данному признаку. Напомним, что значение проверяемого признака пода- ется на младшую линию Ло ПЗУ МК. Входной сигнал хп вводится в пря- мом коде с указанием знака в старшем разряде. Поэтому при отрицательном знаке предусмотрен переход к дополни- тельному коду, после которого значе- ние хп записывается в регистр РО. При положительном знаке хп выполняется пустая команда РР-> РР. Затем осу- ществляется умножение u>n-i на аг, для чего предварительно число wn~t вызы- вается из Р4 в РР, где определяется значение модуля Умножение мо- дуля на = 1,11111001 выполне- но с помощью микрокоманд 7—16. За- тем проверяется переполнение разряд- ной сетки при умножении. При пере- полнении происходит сброс счетчика микрокоманд, вырабатывается сигнал переполнения ПП и устройство перехо- дит к выполнению микропрограммы с самого начала. После сложения хп + 'n_f снова проверяется переполие» Рис. 10.15. Блок-схема алгоритма ввода значений хп и вычисления величин Wn
ние разрядной сетки и в случае его отсутствия начинается вычисление а2 wn_2. Полная микропрограмма требует для своего выполнения около 100 тактов, что позволяет обеспечить максимальную рабочую частоту дискретизации ЦФ порядка 8 кГц. § 10.5. ПРИМЕНЕНИЕ МПВУ В КОМПЛЕКТИРОВАННЫХ РАДИОТЕХНИЧЕСКИХ СИСТЕМАХ Рассмотренные примеры использования МП в РТС касались ре- шения простых в вычислительном отношении задач, для которых ос- новной объем программ составляли простые операции, такие, как пересылки, логические, ввода/вы- Рис. 10.16. Структурная схема ин- вариантной комплексированной сис- темы вода и т. п. Реализация на МП цифровых фильтров потребовала применения операций умножения многоразрядных чисел. Следствием этого явилось использование мно- гокристальных МП, позволяющих получить любую требуемую раз- рядность без существенного сни- жения быстродействия. Решение сложных задач, возни- « кающих в практике проектирова- ния РТС (построение комплексированных навигационных измери- телей, многоканальных систем обработки радиолокационной инфор- мации и т. д.), требует использования более мощных МП-систем, имеющих разрядность 16—24, аппаратную реализацию операций умножения и деления, развитую систему команд и методов адресации, широкий набор интерфейсных БИС. В таких специализированных вычислительных устройствах, построенных на основе МП, простые операции типа пересылок или сложения выполняются примерно за 1 мкс, умножение — за 3—4 мкс и деление — за 8—10 мкс. Архи- тектура микропроцессорных вычислительных устройств (МПВУ) пов- торяет магистральную архитектуру микро-ЭВМ, рассмотренную в §6.1. При этом обмен данными между МПВУ и датчиками информации (радиотехническими и автономными), используемыми в системе, ор- ганизуется обычно так же, как и типовой микро-ЭВМ. Основную труд- ность разработки таких систем составляет не аппаратное, а программ- ное обеспечение. В качестве примера рассмотрим в общих чертах проектирование двухкоординатной комплексной системы ближней навигации на базе МПВУ, содержащей угломерно-дальномерную радиотехническую сис- тему ближне’й навигации (РСБН), датчик воздушных сигналов и кур- совую систему. Объединение информации физически разнородных датчиков, осу- ществляемое с целью повышения точности и надежности измерения навигационных параметров, может производиться различными спо- собами 147J. В практике наиболее распространен способ построения навигационных комплексов, основанный на так называемой инва- риантной схеме, преимущество которого состоит в том, что
не требуется априорных сведении о статистике измеряемого пара- метра. Этот метод иллюстрируется функциональной схемой, приве- денной на рис. 10.16. Пусть совокупность одних и тех же навигационных параметров, объединенных в вектор р, измеряется двумя системами — автономной с ошибками Уа и радиотехнической с ошибками Vp. Тогда на выходе вычитающего устройства ВчУ 1 разностный вектор z = Va + ( — Vp). Для реализации комплектированной системы необходимо, чтобы спект- ры ошибок автономной и радиотехнической систем сильно отличались друг от друга. В этом случае мож- но произвести оценивание вектора ошибок Va на фоне шумов измере- ния ор. Задача решается методами теории фильтрации (в частности, с помощью фильтра Калмана). Результирующая оценка вектора навигационных параметров р полу- чается на выходе ВчУ2 в следую- щем виде: 0 = 0 + (Va—Va)= 0 + + еа. Если предположить, что оценка Уа в точности равна Уа, то результирующий вектор оценивае- мых параметров 0 вообще не содер- ческие соотношения при комплекси- ровании данных РСБН и системы воздушных сигналов жит ошибок. В противном случае вектор ошибок оценивания еа = Уа —Va. При такой постановке вопроса необходимо выполнение двух условий: 1) нужно знать динамические свойства ошибок авто- номной системы (иметь подходящую модель); 2) привести все оце- ниваемые навигационные параметры к единой системе координат. Рассмотрим упрощенные геометрические соотношения в проекти- руемой системе (рис. 10.17). Координаты летательного аппарата (ЛА), используемые для расчета требуемой линии пути, обычно вычисляют в прямоугольной системе координат (х, у). Для простоты будем считать, что начало координат находится в месте расположения РСБН, отно- сительно которой ЛА измеряет свое местонахождение в полярной сис- теме координат дальность (О)— азимут (а) с соответствующими ошиб- ками АО и Аа. На борту ЛА, кроме того, измеряется вектор воздуш- ной скорости Ум, который отличается от вектора истинной скорости Ум на величину вектора ошибки Ne,. основной составляющей ко- торого является вектор ветра Уветра> существенно превышающий ошибки самого датчика воздушной скорости. Для упрощения после- дующего рассмотрения будем считать, что курсовой угол ЛА Т из- меряется точно. Тогда все измеряемые параметры можно пересчитать в единую пря- моугольную систему координат: хр = х + Ахр = (О + AD) sin (а + Аа) х + D cos аАа + + АД sina, (10.12)
У? — У + &yv = (D + ДО) cos (а + Да) у — D sin Да + -|~Д£)соза, (10.13) VMx-^m\^-VTx~VEx (Ю.14) (10.15) Для получения автономных координат (ха, уа) последние два урав- нения необходимо проинтегрировать при соответствующих началь- ных условиях: t t Ха = J VMxdx==X — J VEx^dx = X + Дха(0. (10.16) 0 0 t t У& =~J VMV d^ = y~^ VEy (t) du = у + Дг/а (/), (10.17) о о где Дха(0 и Д^а(0 — ошибки счисления автономной системы по соответствующей координате. Полученные таким образом выражения (10.12), (10.13), (10.16), (10.17), соответствующие измерениям положений ЛА с помощью, РСБН и датчика воздушной скорости, записаны в единой прямоуголь- ной системе координат и могут быть использованы для построения алгоритмов фильтрации. Структурная схема, иллюстрирующая рас- смотренные операции, приведена на рис. 10.18. В качестве входного сигнала фильтра Калмана [47] используется разностный вектор z = 2 = Дха (/) — D cos аДа — ДО sin а Д i/a (/) + D sin аДа — ДО cos а (10.18) Если ошибки РСБН ДО и Да не содержат медленно изменяющихся составляющих, т. е. могут рассматриваться по отношению к ошибкам датчика воздушной скорости как белые шумы, то в качестве оценивае- мого вектора состояния можно выбрать вектор |3 = [ДхаД//аДхаД//а]7, где Т — знак транспонирования. Тогда уравнение (10.18) можно пере- писать в следующем стандартном для калмановской фильтрации виде: z(0 = H₽(0 + Gv(0 = ~ 2j (0 * Г10001 Аха ДУа — D cos а — sin а 'Да _22(/) = [0100 Дха _Д^а_ + Osin а — cos а _ДО. (10.19) , так как из четырех 1000 ' 0100 где матрица наблюдение Н = ляющих вектора состояния наблюдаемыми являются только состав- Дха и
&уа. Уравнение (1 .19) является уравнением наблюдения в задаче калмановской фильтрации. Кроме этого уравнения необходимо иметь еще одно, описывающее динамику оцениваемого вектора состояния, так называемое уравнение состояния. В рассматривае- мом случае оно определяет динамическую модель ошибок датчика воздушной скорости. Широко распространена модель ошибок измерения скорости Аха и Az/a в виде случайного процесса, имеющего экспоненциальную функ- цию корреляции [47]. Такой процесс получается при прохождении Рис. 10.18. Структурная схема комплексированной сис- темы по данным РСБН и системы воздушных сигналов белых гауссовых шумов wit i = 1, 2 с известными интенсивностями через апериодическое звено. Поэтому ошибки измерения скорости Аха и А//а удовлетворяют следующим дифференциальным уравнениям: at \ / + W2- (10.20) где и — коэффициенты, определяющие постоянную времени апериодического звена (Рж = 1//ж, ру = Выбор данной модели ошибок оправдан, с одной стороны, ее про- стотой, а с другой — достаточно хорошей согласованностью с резуль- татами экспериментального анализа составляющих ошибок измерения скорости. Уравнения (10.20) совместно с очевидными соотношениями dAxn/dt„ =х„ и d&y„ /dt = Ан. можно записать в векторной форме в виде уравнения состояния: d dt Г " 0010 ~ 0001 00—₽х0 Аха &Уа + " 0 “ 0 &Уа — _&Уа_ _000—_ -&Уа_
илиОолее компактно А х(/) = Fx (/) + w(Z). (10.21) dt В такой ста ндартной постановке, когда заданы уравнения состоя- ния (10.21) и наблюдений (10.19), задача калмановской фильтрации рассматривается в ряде работ [5, 47, 59], в которых показано, что ее решение можно получить программным способом в реальном масштабе времени с применением рекуррентных алгоритмов. На этом этап сис- темного проектирования, в процессе которого определены алгоритмы обработки информационных сигналов разрабатываемой.системы, мож- но считать законченным. Перейдем к составлению структурной схемы проектируемой систе- мы. Основу этой схемы составляет МПВУ, в которое необходимо ввести данные с датчика воздушной скорости, курсовой системы и РСБН, обработать их в соответствии с рассмотренными алгоритмами и вывести значения оценок прямоугольных координат ЛА х и у по- требителю. Для бортовых навигационных комплексов (БНК) следует использовать х и у в последовательном коде [11], так как при этом уменьшается общее число проводов в кабелях, связывающих различные подсистемы БНК. В настоящее время информация о векторе воздушной скорости Vm, курсе Т и коорди- натах О, а, получаемая на борту ЛА, имеет цифровую форму и не требует дополнительно- го аналого-цифрового преобразования. Учи- тывая приведенные соображения, блок-схему алгоритма работы проектируемой системы можно представить в виде, показанном на рис. 10.19. Все блоки этого алгоритма, за исключением первого и двух последних, тре- буют для своей реализации только программ- ных средств. Их конкретная реализация зависит от матобеспечения МПВУ, его сис- темы команд. Поэтому вопросы программи- рования алгоритмов в данном разделе не за- трагиваются, а рассматриваются только выбор аппаратных средств, участвующих в обмене данными между датчиками и МПВУ, а также вопросы организации самого обмена. Прежде всего необходимо выбрать период Тт, определяющий частоту, с которой данные автономных датчиков Мм и Т вводятся в МПВУ (период измерения дальности и азиму- та с помощью РСБН фиксирован Т — 0,6 с). Величина Тт (см. рис. 10.20, г) определяет точность интегрирования составляющих ско- алгоритма работы ком- Рости Vmx и VМу и ее следует выбирать плексированной системы как можно меньше. Однако выбор слишком
малого значения Тт приводит к перегрузке'МПВУ излишней инфор- мацией, так как за короткий промежуток времени Тт изменение скорости ЛА может оказаться меньше величины ошибок, с которой эта скорость измеряется датчиками системы воздушных сигналов. Принимая во внимание указанные соображения, будем считать, что величину периода Тт можно выбрать равной 0,2 с. Основные временные соотношения для проектируемой системы при- ведены на рис. 10.20, а—д. Координаты а и D имеют период поступле- ния Т = 0,6 с, данные воздуш- ной скорости V« и курса W по- ступают с периодом Т m — 0,2 с. Величина периода Тт должна задаваться внешним таймером (или общим блоком синхрониза- ции системы). При наличии тай- мера 1 ввод значений Vm и V удобно организовать с помощью прерываний. Этот же способ обмена целесообразно использо- вать и для ввода данных от РСБН. Обработку прерываний можно построить как в порядке очередности поступления запро- сов, так и приоритетную. Для определенности будем считать, что данным РСБН приписан выс- ший приоритет по отношению К данным автономных датчиков. рис Ц).2О. Основные временные диа- Так как выходные данные граммы работы комплектированной , системы (оценки координатх и ^исполь- зуются в БНК непрерывно со своим периодом синхронизации, то их вывод из МПВУ может осу- ществляться программным способом после выполнения всех требуе- мых операций. Предполагается также, что необходимая инструментальная точ- ность местоопределения ЛА обеспечивается при 16-разрядном пред- ставлении входных и выходных, данных всех датчиков системы и для обработки этих данных требуется 16-разрядный ЦП. Задача выбора разрядности, так же как и при проектировании ЦФ, представляет предмет самостоятельного исследования, выполняемого либо анали- тическими методами, либо методами математического моделирования на ЭЦВМ, что чаще имеет место на практике. Упрощенная структурная схема комплексированной системы из- мерения координат ЛА, построенная на основе МПВУ, приведена на рис. 10.21. В этой схеме используется 16-разрядный ЦП, который можно построить либо на МП секциях (например, МПК серий К584, К587, К589), либо на однокристальном 16-разрядном МП серии К588 [6].. В рассматриваемом случае алгоритмы обработки информационных
сигналов достаточно сложны. Они требуют выполнения большого чис- ла перемножений (при преобразовании координат, калмановской •фильтрации) и поэтому желательно выбрать такой МПК, который имеет в своем составе специальную БИС — арифметический расширитель (АР),^ предназначенную для быстрого (аппаратного) выполнения опе- раций умножения, деления, многоразрядных сдвигов и т. д. По этой причине для данного случая предпочтительнее использовать МПК -серий К587, К588 или К589. Однако микросхемы МП серии К589, имея Рис. 10.21. Упрощенная функциональная схема комплексированной сис- темы на основе МПВУ более высокое быстродействие, потребляют значительные мощности, что является ограничением при построении на их основе бортовых систем обработки навигационной информации. Система ввода данных от РСБН и датчиков воздушных сигналов построена на основе приоритетных прерываний. Регистры RGD и RGa (см. рис. 10.21) хранят соответствующие данные измерений РСБН. После окончания очередного цикла измерений возбуждается триггер запроса прерываний Тг1, выход которого подключен к входу •схемы приоритетных прерываний с высшим приоритетом. Эта схема посылает в ЦП сигнал запроса прерываний, по которому происходит останов основной программы или подпрограммы обработки данных от измерителя воздушной скорости и курсовой системы. ЦП вырабаты- вает сигнал разрешения прерываний. По этому сигналу в схеме управ- ления, выполняющей функции системного контроллера, с учетом адре- сов RGa и RGD формируются строб-импульсы, переводящие трех- стабильные схемы буферных регистров RGa и RGD из состояния вы- сокого импеданса в рабочее состояние. В результате этого измеренные значения азимута и дальности передаются на шину данных МПВУ.
Аналогичным ооразом осуществляется ввод значений Vm и Т с соответствующих регистров RGV м и RGW. В этом случае вход триг- гера запроса прерываний Тг2 управляется схемой таймера, а выход подключен ко входу схемы приоритетных прерываний с низшим при- оритетом. В качестве регистров RGa, RGD, RGVм и RG^V можно использовать схемы многорежимных буферных регистров типа К589ИР12 (по две на каждую шину) или построить их аналоги на мик- росхемах других серий (К155, К555, К564 и др.). Программируемый вывод оценок координат ЛА х и у из МПВУ осуществляется на схеме преобразования кодов. Принципиально каждая из этих схем является 16-разрядным аналогом программи- руемого последовательного интерфейса связи типа К580ИК51 и мо- жет быть разработана на основе микросхем других серий. В проекти- руемой системе важно предусмотреть необходимые сигналы синхро- низации, обеспечивающие считывание выведенной из МПВУ ин- формации с нужным потребителю темпом. После разработки аппаратной части МПВУ и интерфейсных схем можно перейти к разгрузке предварительно отлаженных программ: в ПЗУ и проведению лабораторных испытаний аппаратуры для полу- чения точных данных о ее основных рабочих характеристиках и при нятия решения о необходимости внесения коррективов в алгоритмы обработки сигналов или программу. ПРИЛОЖЕНИЯ Система команд ЦПЭ К580ИК80 Приложение Г В табл. П1 приведена полная система команд ЦПЭ К580ИК80 со всеми дан- ными, необходимыми для ее использования. В табл. П2, ПЗ и П4 даны коды ре- гистров, пар регистров и логических условий, используемые в табл. П1. При этом использованы следующие обозначения: Кв — число байтов в формате команды; /<т — число тактов, требуемое для выполнения команды; значения /Ст, указанные в скобках, определяют число тактов, требуемое для выполнения соответствующей команды при работе с регистром М; ( ) — содержимое регистра (пары регистров) или байта, обозначение которого дано внутри ско бок; [ ] — содержимое ячейки ЗУ, адрес которой указан внутри скобок; г — один из регистров А, В, С, D, Е, Н или /И; М — ячейка ЗУ, адрес которой содержится в И—L, т. е. «внешний регистр», организованный в ЗУ; гр — пара регистров В—С, D—Е, И— L (в мнемонических обозначениях указывается толь- ко старший регистр пары), а также указатель стека SP (в командах LXPrp, INX гр, DCX гр и DADrp) или же PSW (в командах PUSH гр и POP гр); гр принимает значение В—С или D—Е в командах STAX гр или LDAX гр; грМл> грет — младший и старший регистры пары; PSW — слово состояния процессо- ра, состоящее из (А) и (A); F — набор из пяти флагов, содержащих признаки результата операции; SSS — код регистра, передающего данные; DDD — код регистра, принимающего данные; RR — код пары регистров; ССС — код ло- гического условия; SP — указатель стека; PC — счетчик команд; ПП — под- программа; V, Л, © —логические операции ИЛИ, И и суммирование по мо- дулю два.
Группа команд № п/п Мнемоническое обозначение 1 MOV Г1, г2 Пересылки дан- 2 MVI г ных 3 LXI гр 4 PCHL 5 SPHL 6 XCHG 7 XTHL 8 ADD т Арифметические 9 ADC г действия 10 ADI 11 ACI 12 SUB r 13 SBB r 14 SUI 15 SBI 16 DAA 17 DAD rp 18 ANA r Логические дей- 19 AN 1 ствия 20 XBAr 21 XBl 22 OBA r 23 OBI 24 CMP Г Описание команды (rl)< w- ('T’ct (PC) (SP) (Д)<^ (£)« - (r2) (B2) )^(B3), (грмл)^-(В2) ^(Д) (L) ^-(Н) (L) >(D), (E)^(L) >[SP], (H)^[SP + l] (Л) (Л) + (г) (Л) <- (Л) + (г) + (СУ) (А) (А) + (752) (Л) (А) + (752) + (СУ) (Л)^(Л)-(г) (Л) (Л) - (г) - (СУ) (Л) <- (Л) - (752) (Л)ч-(Л)-(В2)-(СУ) Десятичная коррекция (Л) (Н) (L) -е- (Н) (L) + (гр) (ЛН (Л)- (Д)- (Л)< - (Л) Л (Г) - (А) л (В2) - (Л) ® (Г) - (Л) ® (В2) (Л) (Л) V (г) (Л) (А) V (В2) (Л) «-(Л) — (г)
Приложение 2 Таблица П1 Код команды «в Кт Влияние на флаги 0 1 DDD SSS 1 5(7) 0 0 DDD 1 1 0 2 7(10) 0 0 RR 0 0 1 3 10 1110 10 0 1 1 5 11111001 1 5 1110 10 11 1 4 11100011 1 18 1 0 0 0 0 SSS 1 4(7) 10001 SSS 1 4(7) 11000110 2 7 110 0 1110 2 7 На все 10 0 10 SSS 1 4(7) флаги 10 0 11 SSS 1 4(7) 110 10 110 2 7 110 11110 2 7 0 0 1 0 0 1 1 1 1 4 0 0 RR 1 0 0 1 1 10 На CY 10 10 0 SSS 1 4(7) HaZ, PS 1110 0 110 2 7 (CY)^-G 10101 SSS 1 4(7) 1110 1110 2 7 10110 SSS 1 4(7) 11110 110 2 7 10111 SSS 1 4(7) На все* флаги
25 CPI (Л) *-(Л)—(52) 1 1 1111 1 0 2 7 26 СМА М)*-(Л 0 0 10 11 1 1 1 4 .— 27 STC (СУ) *- 1 0 0 110 1 1 1 1 4 На СУ 28 СМС (fУ) (СУ) 0 0 1111 1 1 1 4 29 RLC (й/+1)(Oj); (оо)-!-(а7); (СУ)-е-(а,) 'о 0 0 0 0 1 1 1 1 4 Сдвиги 30 RRC (аг) *- (а;+1); (а7) *-(а0); (СУ) *-(а0) 0 0 0 0 1 1 1 1 1 4 На СУ 31 RAL (a/+1)—af; (а„)ч-(СУ); (СУ)*-(о,) 0 0 0 10 1 1 1 1 4 32 RAR («7) *-(«£«); (а7)*-(СУ); (СУ)ч—(а0) 0 0 0 111 1 1 1 4 Переходы, вы- а) безусловные зовы ПП и воз- 33 JMP (PC) *- (53) (52) 1 1 0 0 0 0 1 1 3 10 враты из ПП 34 CALL RET [SP — 1] [SP — 2] ч- [PC); (SP) *- (SP) — 2 (PC) *-(53) (52) 1 1 0 0 11 0 1 3 17 35~ (PC)*-[SP] [SP + 1]; 1 1 0 0 10 0 1 1 10 (SP) *- (SP) + 2 б) условные 36 J** NZ — no Z = 0 1 1 ССС 0 1 0 3 10 43 Z - no Z = 1 NC — по C = 0 С — по C = 1 44 с** PO — по P = 0 1 1 ССС 1 0 0 3 11/17 51 PE — по P = 1 52 R** P — no S =0 59 M — no S = 1 1 1 ССС 0 0 0 1 5/11 60 RST [SP — 1] [SP — 2] *-(PC); (SP)*-(SP)—2 (PC) 4-00000000 00 NNN 000 1 1 NNN 1 1 1 i 10 61 INR г W*-(r) + 1 0 0 DDD 1 0 0 1 5(10) На Инкремент и 62 DCR r (r)*-(r)-l 0 0 DDD 1 0 1 1 5(10) Z,S, Р, декремент 63 INX rp (rp) (rp) + 1 0 0 55 0 0 1 1 1 5 СУ' 64 DCX rp (rp) *- (rp) — 1 0 0 RR 1 0 1 1 1 5 65 IN (A) *- (Порт ввода) 1 1 0 110 1 1 2 10 Ввод и вывод 66 OUT (Порт вывода) *- (Л) 1 1 0 10 0 1 1 2 10
Продолжение табл. П1 Группа команд № п. п Мнемоническое обозначение Описание команды Код команды «в Влияние на флаги Обращение к ЗУ 67 STA [ВЗ В2] (Л) 0 0 1 1 0 0 1 0 3 13 68 LDA (Я) ч- [ВЗ В2] 0 0 1110 10 3 13 69 SHLD [ВЗВ2] ч- (L), [ВЗВ2 + 1] ч- <Н) 00100010 3 16 70 LHLD (L) ч- [ВЗВ2], (Н) ч- [ВЗВ2+1] 0 0 10 10 10 3 16 — 71 STAX гр [гр] ч- (А) 0 0 р R 0 0 1 0 1 7 72 LDAX гр (А) ч- [гр] 0 0 R R 1 0 1 0 1 7 Обращение к 73 PUSH гр [SB - 1] ч- (rCT); [SP - 2] ч- (грмл) 1 1 R R 0 1 0 1 1 11 стеку 74 POP гр*** (SP) ч- (SP) — 2 (гРмл) [SP]» (гРст) [SP + 1] (SP) Ч- (SP) + 2 1 1 R R 0 0 0 1 1 10 75 EI Разрешить прерывание 111110 11 1 4 Управление 76 DI Запретить прерывание 11110 0 11 1 4 77 НОР (PC) ч- (PC) + 1 00000000 1 4 78 HLT Останов 0 1110 110 1 4 * Если (Л) ?= {г)у то Z = 1; если (Л) < (г), то CY =1. ** Каждая команда условного перехода, вызова ПП нли возврата нз ПП имеет по восемь вариантов в зависимости от выбранного условия. Напри- мер JC— условный переход по CY=\ (код ПОНОЮ); CNZ— условный вызов ПП по Z=0 (код 11000100) и т- п. *** Команда POP PSW влияет на все флаги.
Таблица П2 Ре- гистр Код регистра DDD SSS Ре- гистр Код регистра DDD SSS в ООО и 1 0 0 с 0 0 1 L 1 0 1 D 0 1 0 М 1 1 0 Е 0 1 1 А 1 1 1 Условие ^Z — ненулевой результат (Z = 0) Z — нулевой результат (Z = 1) /VC — отсутствие переноса (CY = 0) С — наличие переноса (CY = 1) РО — нечетное число единиц (Р = 0) РЕ — четное число единиц (Р = 1) Р — положительный результат (S = 0) М — отрицательный результат (S = 1)
Таблица ПЗ Пара регистров гр Код пары регистров в—с 0 0 D-E 0 1 H—L 1 0 SP или PSW 1 1 Таблица П4 Код условия С С С ООО 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА 1. Адамчук А. В., Ефимов Б. А., Котиков В. М. и др. Микропроцессорная реализация бортового измерителя дальности РСБН. — Вопросы радиоэлектро- ники, серия ОТ, 1981, вып. 9. 2. Алексенко А. Г., Коломбет Е. А., Стародуб Г. И. Применение пре- цизионных аналоговых ИС. — М.: Радио и связь, 1981. 3. Акментыныи Я Я-, Вартинь В. Р., Матовкин В. В., Шенинь А. Э. Компаратор напряжения 521СА2. — Электронная промышленность, 1975, № 10, с. 50—52. 4. Аналоговые и цифровые интегральные схемы/ Якубовский С. В., Бар- канов Н. А., Кудряшов Б. П. и др.; Под ред. С. В. Якубовского. — М.: Сов. радио, 1979. 5. Аоки М. Оптимизация стохастических систем: Пер. с англ. / Под ред. Я. 3. Цыпкина. — М.: Наука, 1971. 6. Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропроцессорные системы. — М.: Радио и связь, 1981. 7. Баранов С. И. Синтез микропрограммных автоматов. — Л.: Энергия, 1979. 8. Баранов С. И., Синев В. И. Автоматы и программируемые матрицы. — Минск: Высшая школа, 1980. 9. Белоус А. И., Кляшторный М. Ю., Хвощ С. Т. Опыт разработки специ- ализированных микро-ЭВМ на основе микропроцессора К584ИК1. — Л.: ЛДНТ, 1980. 10. Бобнев М. П., Кривицкий Б. X., Ярлыков М. С. Комплексные системы радиоавтоматики. — М.: Сов. радио, 1968. 11. Бортовые системы управления полетом! Под ред. ГО. В. Байбороди- на. — М.: Транспорт, 1975. 12. Бахтиаров Г. Д., Малинин В. В., Школин В. П. Аналого-цифровые преобразователи. — М.: Сов. радио, 1980. 13. Балакай В. Г., Крюк И. П., Лукьянов Л. М. Интегральные схемы ана- лого-цифровых преобразователей /Под ред. Л. М. Лукьянова. — М.: Энергия, 1978. 14. Бедрековский М. А., Кручинкин Н. С., Подолян В. А. Микропроцессо- ры. — М.: Радио и связь, 1978. 15. Ван Трис Г. Теория обнаружения, оценок и модуляции. Т. I, II, III, Пер. с англ. — М.: Сов. радио, 1972—1977. 16. Вопросы статистической теории радиолокации. Т. I и II. П. А. Бакут, И. А. Большаков Б. М. Герасимов и др.; Под ред. Г. П. Тар таковского. — М.: Сов. радио, 1963. 17. Введение в цифровую фильтрацию/ Под ред. Р. Бегнера и А. Констан- тинидиса. Пер.с англ. / Под ред. Л. И. Филиппова. — М.: Мир, 1976. 18. Голд Б., Рэйдер Ч. Цифровая обработка сигналов: Пер. с англ. / Под ред. А. М. Трахтмана. — М.: Сов. радио, 1973. 19. Глобус -И. А. Двоичное кодирование в асинхронных системах. — М.: Связь, 1972. 20. Гитис Э. И., Пискулов Е. А. Аналого-цифровые преобразователи. — М.: Энергоиздат, 1981. 21. Гилл А. Линейные последовательностные машины: Пер. с аигл. / Под ред. Я. 3. Цыпкина. — М.: Наука, 1974. 22. Гришин Ю. П., Казаринов Ю. М., Котиков В. М. Микропроцессоры. в радиотехнических системах. — М.: Радио и связь, 1982. 23. Гришин Ю. П. Дискретная фильтрация в радиотехническом измери- теле при случайных пропаданиях сигналов. — Известия вузов СССР. — Радио- электроника, 1977, № 4, с. 65—72. 24. Егоров Г. И., Матовкин В. В., Михеев Л. А., Шенинь А. Е. Сдвоен- ный стробируемый компаратор напряжения 521СА1. — Электронная промыш- ленность, 1975, № 8, с. 54—56.
25. Егоров!'. И., обзарьС. И., Булевский В. М., Фарафонов В. В.Быст- родействующий ' компаратор напряжения К521СА4. — Электронная промыш- ленность, 1981, № 4, с. 21—23. 26. Зубашич В. Ф., Кобылинский А. В., Темченко В. А. Сабадаш И Г Микропроцессорный комплект БИС серии К580. Семейство микро-ЭВМ «Электро- ника К1». — Электронная промышленность, 1979, №11 — 12, с. 19—22. 27. Ипатов В. П. Троичные последовательности с идеальными периодиче- скими автокорреляционными свойствами. — Радиотехника и электроника 1979, т. 24, № 10, с. 2053—2057. 28. Ипатов В. П. К теории троичных последовательностей с идеальными автокорреляционными свойствами. — Радиотехника и электроника, 1980, т. 25, № 4, с. 723—727. 29. Котиков В. М., Черных Б. И. Эффективность бинарного накопления импульсных сигналов при декодировании интервальных кодов. — Радиотех- ника, 1977, т. 32, № 2, с. 86—88. 30. Клингман Э. Проектирование микропроцессорных систем: Пер. с англ./ Под ред. С. Д. Пашкеева. — М.: Мир, 1980. 31. Каган Б. М. Электронные вычислительные машины и системы. — М.: Энергия, 1979. 32. Каган Б. М., Сташин В. В. Микропроцессоры в цифровых системах. — М.: Энергия, 1979. 33. Карцев М. А. Архитектура цифровых вычислительных машин. — М.: Наука, 1978. 34. Кузьмин С. 3. Основы теории цифровой обработки радиолокационной информации. — М.: Сов. радио, 1971. 35. Кук Ч., Бернфельд М. Радиолокационные сигналы: Пер. с англ. / Под ред. В. С. Кельзона. — М.: Сов. радио, 1971. 36. Лапинскас И. И., Манстаеичус Т. А., Марцинкявичус И. К. Компа- раторы напряжения серии К597. —Электронная промышленность, 1981, № 4, с. 19—21. 37. Лазарев В. Г., Пийль Е. И. Синтез управляющих автоматов. — М.: Энергия, 1978. 38. Лихарев В. А. Цифровые методы и устройства в радиолокации. — М.: Сов. радио, 1973. 39. Материалы XXVI съезда КПСС. — М.: Изд-во политической литера- туры, 1981. 40. Микроэлектронные цифро-аналоговые и аналого-цифровые преобразо- ватели информации/ Смолов В. Б., Угрюмов Е. П., Шмидт В. К. и др.; Под ред. В. Б. Смолова. — Л.: Энергия, 1976. 41. Микропроцессорные системы. Материалы семинара/Под ред. Е. И. Ба- лашова.— Л.: ЛДНТП , 1981. 42. Майоров С. А., Новиков Г. И. Структура электронных вычислительных машин. — Л.: Машиностроение, 1979. 43. Митяшов Б. И. Определение временного положения импульсов при наличии помех. — М.: Сов.радио, 1962. 44. Мейвда Ф. Интегральные схемы. Технология и применение: Пер. с англ. /Под ред. М. В. Гальперина. — М.: Мир, 1981. 45. Миллер Р. Теория переключательных схем. Ч. 1: Пер. с англ. /Под ред. П. П. Пархоменко. — М.: Наука, 1970. 46. Папернов А. А. Логические основы цифровой вычислительной тех- ники. — М.: Сов. радио, 1972. 47. Первачев С. В., Валуев А. А., Чиликин В. М. Статистическая динамика радиотехнических следящих систем. — М.: Сов. радио, 1973. 48. Поспелов Д. А. Арифметические основы вычислительных машин дис- кретного действия. — М.: Высшая школа, 1970. 49. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки: Пер. с англ. / Под ред. Р. Л. Добрушина и С. П. Самойленко. — М.: Мир, 1976. 50. Поиск, обнаружение и измерение параметров сигналов в радионавига- ционных системах/ Ипатов В. П., Казаринов Ю. М., Коломенский Ю. А. и др.;. Под ред. ГО. М. Казаринова. — М.: Сов. радио, 1975.
lg7g51' П рангишвили И. В. Микропроцессоры и микро-ЭВМ. — М.: Энергия, 52. Пухальский Г. И. Логическое проектирование цифровых устройств радиотехнических систем. — Л.: Ленинградский университет, 1976. 53. Расчет элементов импульсных и цифровых схем радиотехнических уст- ройств / Васильева В. П., Гришин Ю. П., Зюбенко В. Д. и др.; Под ред. Ю. М. Казаринова — М.: Высшая школа, 1976. 54. Репин В. Г., Тар таковский Г. П. Статистический синтез при априор- ной неопределенности и адаптация информационных систем. — М.: Сов. радио, 1977. 55. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигна- лов: Пер. с англ./ Под ред. Ю. Н. Александрова. — М.: Мир, 1978. 56. Сколник М. Справочник по радиолокации. — М.: Сов. радио, 1976— 1979. —Т. 1. Основы радиолокации / Ред. рус. пер. Я С. Ицхоки, 1976. 57. Сосулин Ю. Г. Теория обнаружения и оценивания стохастических сиг- налов. — М.: Сов. радио, 1978. 58. Сосновский А. А., Хаймович И. А. Радиотехнические средства ближней навигации и посадки летательных аппаратов. — М.: Машиностроение, 1975. 59. Сейдж Э., Меле Д. Теория оценивания и ее применение в связи и управ- лении: Пер с англ./ Под ред. Б Р. Левина. — М.: Связь, 1976. 60. Соучек Б>. Микропроцессоры и микро-ЭВМ: Пер. с англ./ Под ред. А. И. Петренко. — М.: Сов. радио, 1979. 61. Современные линейные интегральные микросхемы и их применение: Пер. с англ./ Под ред. А4. В. Гальперина. — М.: Энергия, 1980. 62. Справочник по цифровой вычислительной технике/Под ред. Б. Н. Ма- линовского. — Киев,: Техника, 1974. 63. Справочник по интегральным микросхемам / Тарабрин Б. В., Якубов- ский С. В., Барканов Н. А. др.; Под ред. Б. В. Тарабрина. — М.: Энергия, 1981. 64. Степаненко И. П. Основы теории транзисторов и транзисторных схем М.: Энергия, 1973. 65. Тузов Г. И. Статистическая теория приема сложных сигналов. — М.: Сов. радио, 1977. 66. Фистер М. Логическое проектирование цифровых вычислительных машин. — Киев: Техника, 1964. 67. Фридман А., Менон П. Теория и проектирование переключательных схем: Пер. с англ./ Под ред. В. А. Тафта. — М.: Мир, 1978. 68. Фролкин В. Т., Попов Л. Н. Импульсные устройства. — М.: Сов. ра- дио, 1980. 69. Хилбурн Дж., Джулич П. Микро-ЭВМ и микропроцессоры: Пер. с англ./ Под ред. С. Д. Пашкеева. — М.: Мир, 1979. 70. Шило В. Л. Линейные интегральные схемы в радиоэлектронной аппа- ратуре. — М.: Сов. радио, 1979.
СПИСОК.ОСНОВНЫХ СОКРАЩЕНИЙ АЛУ — арифметическое логическое устройство АР — арифметический расширитель АЦП — аналого-цифровой преобразователь БИС — большая интегральная схема БНК — бортовой навигационный комплекс БПФ — быстрое преобразование Фурье ВК — выбор кристалла В У — внешнее устройство ГСА — граф-схема алгоритма ГТИ — генератор тактовых импульсов ДУ — дискретное цифровое устройство ДШ — дешифратор ЗУ —запоминающее устройство ИМС — интегральная микросхема ИФ — интер4»йс КПДП — контроллер прямого доступа к памяти КС — комбинационная схема ЛА — летательный аппарат ЛЭ — логический элемент ЛУ — логическое условие МБР — многорежимный буферный регистр МК — микрокоманда МНФ — минимальная нормальная форма МП — микропроцессор МПВУ — микропроцессорное вычислительное устройство МПК — микропроцессорный комплект МПС — микропроцессорная секция ОА — операционный автомат ОЗУ — оперативное запоминающее устройство ПДП — прямой доступ к памяти ПЗУ — постоянное запоминающее устройство ПКВ — преобразователь код—время ПКН — преобразователь код—напряжение ПКП — программируемый контроллер прерывания ПЛМ — программируемая логическая матрица ПНК — преобразование напряжение—код ППА — программируемый периферийный адаптер ПТ — программируемый таймер РЛ — радиолокационный РМК — регистр микрокоманд РН — радионавигационный РОН — регистр общего назначения РСБН — радиотехническая система ближней навигации РТС — радиотехническая система СДНФ — совершенная дизъюнктивная нормальная форма СК — счетчик команд СМК — счетчик микрокоманд УА — управляющий автомат УСАПП — универсальный синхронно-асинхронный приемопередатчик УУ — управляющее устройство ЦПЭ — центральный процессорный элемент ЦФ — цифровой фильтр ША — шина адреса ШД — шина данных ШФ — шинный формирователь ЭВМ — электронно-вычислительная машина ЭП — элемент памяти
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автомат 168 — с жесткой логикой .168 — с программируемой логикой 172 Алгоритм обработки 124, 126 — аппаратно-программная реализа- ция 127, 142, 144 — аппаратная реализация 126, 144 — программная реализация 126 Аналоговые ключи 86 — диодные 86 — на биполярных транзисторах 89 — на МОП-транзисторах 97 — на полевых транзисторах с управ- ляющим р-п-переходом 94 Аналого-цифровые преобразователи 112 — параллельного действия 121 — последовательного счета 117 — поразрядного кодирования 119 Бортовой навигационный комплекс (БНК) 304 Быстрое преобразование Фурье (БПФ) 295 Демультиплексор 10 Дешифратор 6 — демультиплексор 6 Дискриминатор 126, 129, 155 ЗУ 189 — оперативные 189 — постоянные 189 Импульсный радиодальномер 276 — с использованием схемы таймера 290 Интегратор цифровой 78 Интерфейс 184 — программируемый параллельный (адаптер) 185, 223 — программно-управляемый 185, 228 Калмана фильтр 303 Квантователь 133 — амплитудный 133 — временной' 145 Код 14 — Баркера 69 — Грея 44 — дополнительный 22 - — обратный 24 — прямой 21 Компараторы напряжения 104 — типа 521СА2 107 — типа 521СА1, 521САЗ 109 Комплексированные навигационные из- мерители 300 — инвариантные 300 Контроллер 185 — приоритетных прерываний 185, 246 — прямого доступа к памяти 185, 240 Микрооперация 164 Микропрограмма 164 Микропроцессор 183 — микропрограммируемый 187, 196 — однокристальный 187, 196 — секционированный 187, 254 Микропроцессорное вычислительное1 устройство 183 Многорежимный буферный регистр 213 Модели ошибок 301 — датчика воздушных сигналов 303 — радиотехнической системы ближ- ней навигации 301 Мультиплексоры 9 — дифференциальные 102 — типа К564КП1, К564КП2 104 Обмен данными 192 Обработка сигналов 147 — внутрипериодная 147, 149 — корреляционная 149 — межпериодная 147, 148 — фазомаиипулироваиного 150 Оператор переходов 48 Преобразователь: — двоично-десятичного кода в дво- ичный 34 — двоичного кода в двоично-деся- тичный 39 — цифроаналоговый с суммировани- ем напряжений 113 — цифроаналоговый с суммировани- ем токов 115 Регистр памяти 51 — сдвигающий 53 Рекуррентный алгоритм фильтрации 281 Система радиотехническая 124 Сумматор двоичный 19 — десятичный 27 — последовательный 77 Схема пороговая 31 — равнозначности кодов 13 — сравнения двоичных чисел 15 Счетчик асинхронный 56
— ДВОИЧНЫЙ 60 — двоично-десятичный 62 — на сдвигающих регистрах 65 — программируемый 74 — реверсивный двоичный 70 — реверсивный двоично-десятичный 70 — синхронный 56 — с переменным коэффициентом пе- ресчета 74 Таймер программно-управляемый 185, 234 Триггеры асинхронные потенциальные 46 — синхронные 48 — типа D 49 — типа D'-F' 46 — типа 1-К 50 — типа R-S 51 — типа R'-S' 47 — типа Т 50 Универсальный синхронно-асипхрон ный приемопередатчик 228 Устройство запоминающее оператив ное 51 Фазовращатель цифровой 74 Формирователь шинный 215 Цифровые фильтры 293 Шифратор 7 Элемент мажоритарный 33
I» УДК 621.396.6 ББК 32.84 П 79 Гришин Ю. П„ Казаринов Ю. М., Катиков В. М., Мармузов Г. В., Номокоцов В. Н., Пухальский Г. И. Рецензенты: кафедра радиоприемных устройств Харьковского института радиоэлект- роники кафедра радиотехнических систем Рязанского радиотехнического инсти- тута Проектирование импульсных и цифровых устройств радио- П 79технических систем: Учеб, пособие для радиотехнич. спец. вузов/Гришин Ю. П., Казаринов Ю. М., Катиков В. М. и др.; Под ред. Ю. М. Казаринова. — М.: Высш, шк., 1985. — 319 с., ил. В пер.: 1 р. 20 к. В книге рассмотрены вопросы проектирования цифровых и микропроцессорных устройств обработки информации в радиотехнических системах, их архитектурные и схемотехнические особенности, организация на их основе специализированных вычислительных устройств и др. П 2402020000—058 001(01)—85 138—84 ББК 32.84 6Ф2 © Издательство «Высшая школа», 1985