Цифровой полосовой фильтр

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

РЯЗАНСКАЯ ГОСУДАРСТВЕННАЯ РАДИОТЕХНИЧЕСКАЯ АКАДЕМИЯ





КАФЕДРА РАДИОТЕХНИЧЕСКИХ СИСТЕМ





Зав. кафедрой радио - технических систем









ПОЯСНИТЕЛЬНАЯ ЗАПИСКА



к курсовой работе по дисциплине:

 «ЦИФРОВЫЕ УСТРОЙСТВА И МИКРОПРОЦЕССОРЫ»



на тему: «Цифровой полосовой фильтр »





Автор работы: Величко А. В.

Специальность 201600

 Руководитель: Горкин В.Н.









Рязань 2004 г.




Содержание



Ведение

1. Формализация задачи

2. Разработка и описание общего алгоритма функционирования устройства

3. Обоснование аппаратной части устройства

4. Разработка и отладка рабочей программы на языке команд микропроцессора

5. Составление и описание электрической принципиальной схемы устройства

6. Расчет быстродействия устройства

7. Расчет АЧХ (ФЧХ) устройства для заданных и реальных значений 

коэффициентов. Оценка устойчивости устройства

Заключение

Список использованных источников


Введение



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

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

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

Фильтр должен быть выполнен на основе МП комплекта К1821 при использовании ЦАП К572ПА. МП комплект К1821 состоит из микросхем: К1821ВМ85 - микропроцессор, КР1821РФ55 – ПЗУ (емкость – 2 Кб; два 8-разрядных порта ввода-вывода), КР1821РУ55 – ОЗУ (емкость –256 байт; два 8-разрядных и один 6-разрядный порты ввода-вывода, встроенный счетчик-таймер).

Входной сигнал цифровой, преобразуется в аналоговый, ЦАП на микросхеме К572ПА. 

После прихода сигнала с периферийного устройства (ПУ) на порт ввода в дополнительном цифровом коде на ПУ выдаётся сигнал квитирования. Частота дискретизации FД = 6.5 кГц, разрядность входного сигнала 8. Обработка должна происходить в реальном масштабе времени. 

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




1. Формализация задачи



			Минимальная конфигурация МП-системы на основе набора К1821 (К1821ВМ85, КР1821РФ55,КР1821РУ55 ) , совместно с ЦАП 572ПА1 и вспомогательными элементами определяет функциональную схему полосового фильтра ,.

Входное напряжение в виде кода поступает в порт PA БИС РУ55. Частота дискретизации =6.5кГц формируется аппаратным таймером РУ55 , в котором частота переполнения  в режиме 3 , равна . При использовании в качестве входных импульсов таймера тактовых импульсов CLK МП - системы (=2.6МГц) исходное состояние таймера равно:







16-разрядный двоичный код содержит два бита (T15 и T14) задающих режим работы таймера. Для третьего режима работы необходимо в эти биты записать единицы.

Получаем код:











Байты  и  загружаются при инициализации системы (фильтра).

Необходимость хранения данных вытекает из вида разностного уравнения. Уравнение использует входную выборку отсчетов () и выходную (). Все выборки должны быть доступны для вычислений , а следовательно, должны храниться в памяти МП - системы. Требуется также вычислить два текущих произведения () и сохранить их в памяти. Следовательно , 8 ячеек ОЗУ (РУ55) при составлении программы необходимо определить для хранения данных в текущем цикле обработки входного сигнала. После вычисления выходного  и записи в ОЗУ , перед приемом нового входного отсчета , необходимо сдвинуть отсчеты всех выборок в памяти , (n-1) - й отсчет на место (n-2)-ого , а n -й на место (n-1)-ого. В результате вычисления разностного уравнения , можно получить результат , выходящий за пределы (-1,+1). Для исключения переполнения разрядной сетки , введем масштабирование входных отсчетов , путем умножения на коэффициент масштабирования ().











Реальные значения коэффициентов разностного уравнения и коэффициента  отличается от заданных , вследствие ограничения длины разрядной сетки:






Согласование кода МП и кода ЦАП необходимо , так как по заданию входной код – дополнительный, Вычисленный отсчет  , перед выводом на ЦАП суммируется с константой 

. Вывод данных на ЦАП целесообразно осуществлять через порт PA (РФ55) , этот порт имеет выходной буферный регистр , в котором отсчет  хранится в течение всего интервала дискретизации.

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

		При этом:

		программный счетчик (ВМ85) принимает нулевое значение;

		сбрасывается флаг разрешения прерываний (ВМ85);

		все линии портов PA и PB (РФ55) настраиваются на ввод;

		порты PA , PB , PC (РУ55) настраиваются на ввод данных в режиме простого обмена данными;

		таймер (РУ55) останавливается;

		содержимое ячеек ОЗУ и буферных регистров портов (РУ55) сохраняется.



2. Разработка и описание общего алгоритма функционирования устройства



Аппаратно- реализуемые операции. Програмно- реализуемые операции






Сформировать имп. сброса

ИНИЦИАЛИЗАЦИЯ

Настройка портов,

 организация стека,

разр. прерыв.

ОСНОВНАЯ

    ПРОГРАММА:

Алгоритм   фильтрации

  Загрузка данных из порта ввода А.

Вывод данных на     Цап.

  Остановить процессор

Вкл. питания

 

Ссигнал готовности данных

Сброс при вкл. питания

Установка прерывания типа TRAP

Рис. 2. Общий алгоритм функционирования полосового фильтра

 

		При подаче питания , схема сброса формирует импульсы сброса , который обнуляет счетчик команд МП и инициирует формирование импульса сброса RESET для установки МП - системы в исходное состояние. Запускается программа инициализации МП – системы, которая должна начинаться с нулевого адреса. При инициализации:

		в указатель стека SP записывается начальный адрес , с которого начинается стек;

		порт PA (РФ55) настраивается на ввод данных ; в регистр направления передачи записывается управляющее слово;

		таймер настраивается на период переполнения , равным  в режиме 3;

		порт PA (РУ55) настраивается на ввод ;

		пуск таймера;

		настройка режима прерывания.

		

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

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

		

3. Обоснование аппаратной части устройства



Набор К1821 определяет типовой состав аппаратных средств, образующих структуру вычислительного ядра системы. В его состав входят МП, ОЗУ, ПЗУ, схемы формирования сигналов синхронизации, микросхемы формирования сигналов управления системой. Полная структурная схема МП- устройства получается при объединении структуры вычислительного ядра и дополнительных аппаратных узлов.

Аппаратный состав фильтра в целом уже определен, незатронутым остается преобразователь ток-напряжение. Также следует произвести согласование адресов ОЗУ, ПЗУ, портов ввода-вывода с адресами МП.

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

Необходимо также обеспечить соответствие адресных пространств ВМ85, РФ55 и РУ55. Так как для адресации ПЗУ необходимо 11 адресных линий, а для адресации ОЗУ – 8, то у МП остается еще 5 свободных адресных линий, которые можно использовать для выбора микросхем в процессе работы фильтра. Кроме того, необходимо учесть адресацию внутренних объектов РФ55 и РУ55.

Адресация портов и регистров направления передачи данных РФ55 осуществляется в соответствии с таблицей:



AD1

AD0

Адресуемый объект

0

0

Порт А

0

1

Порт В

1

0

Регистр направления передачи данных порта А

1

1

Регистр направления передачи данных порта В











Адресация внутренних узлов РУ55:



А2

А1

А0

Адресуемый объект

0

0

0

Регистру РУС и РСС

0

0

1

Порт А

0

1

0

Порт В

0

1

1

Порт С

1

0

0

Таймер (младший байт)

1

0

1

Таймер (старший байт)



В микросхемах РФ55 и РУ55 предусмотрены изолированные адресные пространства памяти и ввода-вывода. Для включения РФ55 в работу существует еще два входа – CS1 и CS2 (РУ55 – CS).



4. Разработка и отладка программы на языке команд микропроцессора



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

		Для настройки таймера на период переполнения  в третьем режиме работы необходимо в младший байт таймера записать , а в старший байт таймера записать .

		Порт PA РУ 55 настраивается на ввод данных в режиме обмена. Для этого управляющее слово записывается в регистр управляющего слова.

PA и PB – задают направление передачи данных через порты PA и PB соответственно. 

 “0” - ввод , “1” – вывод. PC2 и PC1 - варианты использования порта С , для режима работы порта РА условного с квитированием в РС2 записываем “1” , В РС1 записываем “0”, в этом случае линии порта С:

PC0 – INTR A PC2 – STB A

PC1 – BFA PC3..PC5 – вывод

IEA и IEB разрешают (IE=1) или запрещают выработку сигналов прерывания INTR портов А и В. TM2 , TM1 - биты которые содержат команды управления таймером , для запуска таймера в эти биты записываются единицы.

	Управляющее слово будет иметь вид:

	 

	При настройке режимов прерываний необходимо разрешить прерывание МП типа TRAP. Используется команда SIM устанавливающая маску прерываний.

	M 7.5, M 6.5, M 5.5 - маски запрещающие соответствующие прерывания.

	R 7.5 - бит сбрасывающий триггер, где фиксируется запрос внешнего прерывания по входу TRAP.

	MSEN - разрешение установки маски прерываний.

	SDEN -разрешение вывода данных находящихся в разряде A7.

	SOD - данные предназначенные для вывода через линию SOD.

	Маска прерываний будет иметь вид:

	

	Распределение памяти ПЗУ:

	0000h…001Dh – программа инициализации;

	003Ch…00A4 – программа реакции на прерывание типа RST 7.5;

	Распределение памяти ОЗУ:

	5000h, 5001h – хранение отсчетов ;

	5002h, 5003h – хранение произведений ;

	5004h, 5005h – хранение отсчетов ;

	50FFh - начальный адрес стека.

	

	Текст программы:

	**************************************************************** 

	* Курсовой проект *

	* на тему : Цифровой полосовой фильтр *

	* выполнил: ст.гр.117 *

	* Величко Андрей Викторович *

	* Дата :09.04.04 г. *

	****************************************************************

	* Задание на курсовой проект: *

	* линейное разностное уравнение : Y(n)=X(n)+0,04X(n-1)-0.96Х(n-2)- *

	*-0,81Y(n-2) *

	* частота дискретизации : Fд=6.5кГц *

	* входной код - дополнительный *

	* выходной сигнал - аналоговый, диапазон измерения (-1..+1) *

	* ЦАП-К572ПА1 *

	* микропроцессор-КР1821ВМ85 *

	****************************************************************

	; Определение символических имен

	PBRU .EQU 7002h ; порт РВ(РУ 55) 

	PARU.EQU 7001h ;порт PA (РУ 55)

	RGRU.EQU 7000h ;регистр управляющего слова (РУ 55)

	TL .EQU 7004h ;младший байт таймера

	TH .EQU 7005h ;старший байт таймера

	STL .EQU 77h ;младшее слово для загрузки 

	;в таймер

	STH.EQU C2h ;старшее слово для загрузки

	;в таймер

	SRU .EQU С3h ;управляющее слово для настройки

	;портов и пуска таймера (РУ 55)

	SRP .EQU 1Bh ;управляющее слово для настройки

	;прерываний

	AX .EQU 5000h ;адрес отсчета Xn

	AX1 .EQU 5001h ;адрес отсчета X(n-1)

	AX2 .EQU 5002h ;адрес отсчета Yn

	AY .EQU 5003h ;адрес отсчета Y(n-1)

	AY1 .EQU 5004h ;адрес произведения P1n

	AY2 .EQU 5005h ;адрес произведения P2n

	AP1.EQU 5006h ;адрес отсчета Y(n-1)

	AP2 .EQU 5007h ;адрес произведения P1n

	AP3 .EQU 5008h ;адрес произведения P2n

	

	;Инициализация по сигналу "Сброс"

	 .ORG 0 ;начальный адрес программного

	;модуля инициализаций

	LXI SP,50FFh ;организация стека

	 MVI A,STL ;настройка таймера на частоту 

	 STA TL ;переполнения T=Tд в режиме 3

	 MVI A,STH ;

	 STA TH ;

	 MVI A,SRU ;настройка порта PA (РУ 55) 

	 STA RGRU ;на ввод, РВ (РУ 55) на вывод и пуск таймера

	M1:HLT ;останов.ожидания прерывания

	 JMP M1 ;переход на команду останова

	;процессор по окончании под-

	;-программы обслуживания 

	;прерывания

	 .ORG 24H;начальный адрес программной 

	;реакции на прерывание типа 

	;TRAP 

	 LDA PARU ;ввод текущего кода 

	;в аккумулятор

	;Программный модуль масштабирования 

	;вычисление произведения 

	;Xn:=0,0101101*Xn=

	; 

	;входной отсчет храниться в аккумуляторе ,

	;масштабированный отсчет записать в ячейку

	;ОЗУ с адресом AX

	 MOV H,A ;Xn  H

	 ARHL ;арифметические сдвиги

	 ARHL ;входного отсчета 

	;и накопление суммы 

	MOV A,H ;частичных произведений в 

	 ARHL аккумуляторе : (2^-2*Xn+2^-3*Xn+2^-4*Xn+ +2^-6*Xn+2^-8*Xn)  A

	 ARHL;

	 ADD H 

	 ARHL;

	 ADD H ;

	 ARHL ;

	 ARHL ;

	 ADD H ;

	STA AX ;запоминание отсчета 

	 ;Xn в памяти

	;Программный модуль вычисления произведения:

	;P1n:=0,04*X(n-1)0,0000101*X(n-1)=

	;=(2^0+2^-6+2^-7+2^-8)*X(n-1)

	 LDA AX1 ;X(n-1)  A

	MOV H,A ;X(n-1)  H 

	;арифметические сдвиги 

	;отсчета X(n-1) и 

	;накопление суммы 

	 ARHL ;частичных произведений:

	 ARHL ;(2^0+2^-6+2^-7+

	 ARHL ;+2^-8)*X(n-1)  A

	 ARHL ;

	 ARHL ; 

	 MOV A,H ;

	 ARHL;

	 ARHL ;

	ADD H;

	 STA AP1 ;запоминание P1n в памяти

	;Программный модуль вычисления произведения:

	;P2n:=0,96*X(n-2)0,1111010*Y(n-1)=

	;=(2^-3+2^-4+2^-5+2^-8)*Y(n-1)

	 LDA AX2 ;Y(n-1)  A

	 MOV H,A ;Y(n-1)  H

	 ARHL 

	MOV A,H ;арифметические сдвиги 

	 ARHL

	ADD H;отсчета Y(n-1) и

	 ARHL ;накопление суммы

	 ADD H ;частичных произведений:

	 ARHL ;(2^-3+2^-4+2^-5+

	ADD H ;+2^-8)*Y(n-1)  A

	 ARHL

	 ARHL ;

	 ADD H; 

	 STA AP2 ;запоминание P2n в памяти

	;Программный модуль вычисления произведения:

	;P3n:=0,81*Y(n-2)0,1100111*Y(n-1)=

	 LDA AY2 ;Y(n-1)  A

	 MOV H,A ;Y(n-1)  H

	 ARHL 

	MOV A,H ;арифметические сдвиги 

	 ARHL 

	ADD H ;отсчета Y(n-1) и

	 ARHL 

	 ARHL 

	 ARHL ;накопление суммы

	 ADD H ;частичных произведений:

	 ARHL;(2^-3+2^-4+2^-5+

	 ADD H;+2^-8)*Y(n-1)  A

	 ARHL ;

	 ADD H ; 

	STA AP3 ;запоминание P2n в памяти

	;Программный модуль вычисления выходного

	;отсчета Yn=Xn+P1n-P2n-P3N

	 LDA AX ;Xn  A

	 LXI H,AP1 ;загрузка адреса P1n

	 ADD M ;Xn-P1n  A

	 INX H ;получение адреса P2n

	 SUB M ;Xn-P1n-P2n  A

	INX H ;получение адреса P2n

	 SUB M 

	 STA AY ;запоминание Yn в памяти

	 ADI 80h ;получение смещенного 

	;входного кода ЦАП

	 STA PВRU ;вывод кода на ЦАП через

	;порт PВ (РУ 55)

	;Программный модуль сдвига отсчетов 

	;в памяти

	 LHLD AX1 ;

	 SHLD AX2 

	LHLD AX ;

	 SHLD AX1 ;

	 LHLD AY1 ;

	SHLD AY2 

	 LHLD AY ;

	 SHLD AY1 ;

	 RET ;возврат из подпрограммы обслуживания прерывания

	Отладку программы произведем на основе программного обеспечения в состав которого входит:

	 ассемблер, преобразующий написанную программу в машинный код ;

	отладчик – эмулятор, который эмитирует работу процессора ;

	Произведем отладку фрагмента программы ( программный модуль вычисления Yn)

	LDA AX ; Xn  A

	LXI H, AP1 ; AP1  H

	SUB M; (A) - (HL) A

	INX H ; (HL) + 1  HL

	SUB M ; (A) - (HL) A

	STA AY ; (A)  AY 



5. Составление и описание электрической принципиальной схемы устройства 



Принципиальная схема цифрового фильтра содержит след. микросхемы:



DD1 – МП К1821ВМ85

DD2 – ПЗУ КР1821РФ55

DD3 – ОЗУ КР1821РУ55

DD4 – ЦАП К572ПА

DD5 - ОУ К574УД1



Выходной узел работает в режиме биполярного выходного напряжения. Для наиболее полного использования динамических свойств ЦАП на выходе включён быстродействующий ОУ К574УД1, обладающий , выходным напряжением 10В и скоростью его нарастания 50-100 В/мкс. В цепи стабилизации  включен стабилитрон КС 191Ф который задаёт опорное напряжение . В результате на выходе схемы формируется напряжение от -Uref до Uref. ЦАП К572ПА допускает изменение опорного напряжения от –22,5В до +22.5В. 

В данном курсовом проекте использована типовая схема подключения ОУ к ЦАП, где коэффициент передачи регулируется резистором R6. Т. е. для обеспечения заданного напряжения на выходе (-1 …+1)В необходимо подстроить R6 и подать на ЦАП опорное напряжение 1 В.


6. Расчет быстродействия устройства

	

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

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



TCLKМП=1/FCLKМП=1/()=3,846 мкс.



Общее время выполнения всей программы

TВЫП.=721*3,846 *10-6=0,0028 мс

Длительность периода дискретизации



TД=1/FД=1/(6.5*103)=0,154 мс



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


7. Расчет АЧХ(ФЧХ) устройства для заданных и реальных значений коэффициентов.Оценка устойчивости устройства



Частотные характеристики фильтра определяются разностным уравнением:







Коэффициенты b1, b2, b3, b4 определяют характеристики фильтра.

В Z-плоскости свойства цифрового фильтра описывает передаточная функция 



При ,



где  сигнал на входе фильтра –синусойда с частотой f и с единичной амплитудой , а функция Н() равна частотной характеристике фильтра, из которой можно получить АЧХ и ФЧХ.

Значения коэффициентов разностного уравнения определяют форму и параметры частотных характеристик , поэтому для выявления влияния их приближенного представления следует рассчитать АЧХ при заданных (точных) и реальных (приближенных) значениях коэффициентов:



 и 



Для проектируемого фильтра:









			







График АЧХ цифрового полосового фильтра





График ФЧХ цифрового полосового фильтра



Найдем полюса заданной передаточной функции:



















 ,



где р=jw => все полюса лежат на оси jw=1 

Таким образом,устройство является устойчивым.




Заключение



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

Цифровые фильтры имеют свои преимущества и недостатки перед аналоговыми.

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

К недостаткам цифрового фильтра можно отнести неточность представления коэффициентов вследствие ограниченной разрядности процессора.




Список использованных источников

	

	Балашов Е.П. и др. Микро- и мини-ЭВМ / Е.П. Балашов, В.Л. Григорьев, Г.А. Петров: Учебное пособие для вузов. – Л.: Энергоатомиздат. Ленингр. отд-ние, 1984

	Калабеков Б.А. Микропоцессоры и их применение в системах передачи и обработки сигналов: Учеб. пособие для вузов. –М.: Радио и связь, 1988.

	Микропроцессорный комплект К1810: Структура, прграммирование, применение: Справочная книга/ Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, Ф.В. Филиппов; Под ред. Ю.М. Казаринова.- М.: Высш. шк., 1900.

	Микропроцессоры: системы программирования и отладки / В.А. Мясников, М.Б. Игнатьев, А.А. Кочкин, Ю.Е. Шейнин; Под ред. В.А. Мясникова, М.Б. Игнатьева. – М.: Энергоатомиздат, 1985.

	Проектирование импульсных и цифровых устройств радиотехнических систем: Учеб. Пособие для радиотехнич. спец. вузов/Гришин Ю.П., Катаков В.М. и др.; Под ред. Ю.М. Казаринова. – М.: Высш. шк., 1985.

	Рафикузаман М. Микропрцессоры и машинное проектирование микропроцессорных систем: В 2-х кн. Пер. С англ.-М.: Мир, 1988.