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


В блоке 1 происходит первоначальное обнуление х(n-1), что необходимо для обработки первых входных данных.

В блоке 2 происходит считывание входных данных и преобразование их в форму доступную для обработки в МП.

В блоке 3 происходит вычисление линейно разностного уравнения      y(n)=[3x(n)+x(n-1)]/4 и запоминание в регистре значения х(n) для  использования как х(n-1) в вычислении следующего значения y(n).

В блоке 4 происходит преобразование в нужный код и вывод  значения y(n) в запоминающий регистр.

Синтез операционного узла (выбор и обоснование аппаратной части устройства)

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

 


Разрабатываемое устройство должно содержать следующие узлы: микропроцессор, тактовый генератор, ПЗУ, системный контроллер, АЦП и выходной порт.

В качестве микропроцессора будем использовать микросхему КР580ВМ80. Микропроцессор тактируется генератором КР580ГФ24, который вырабатывает тактовые импульсы, импульс сброса и обеспечивает синхронизацию всего устройства в целом. Так как КР580ВМ80 имеет довольно слабые сервисные возможности, непосредственно с ним сопрягается системный контроллер КР580ВК28, который обеспечивает работу с памятью и портами, а так же аппаратно формирует команду векторного прерывания RST7. Для хранения программы используется ПЗУ КР556РТ17 емкостью 512 байт. ПЗУ большего объема использовать не имеет смысла, так как и этого объема вполне достаточно. Использование ОЗУ в данном устройстве нецелесообразно, поскольку для хранения одного отсчета можно обойтись регистрами микропроцессора. В качестве АЦП будем использовать микросхему из технического задания К1108ПВ1.  В качестве выходного порта необходимо использовать устройство хранения информации емкостью 1 байт. Для нашей цели подойдет регистр хранения К555ИР22. В силу того, что используемый АЦП в цифровом фильтре работает при определенных входных напряжениях (0…2,5В) его необходимо согласовать с напряжением заданным в техническом задании (-4…+4В) для чего необходимо использовать быстродействующий операционный усилитель. В нашем случае будем использовать ОУ К140УД7, так как он имеет выводы балансировки смещения нуля.

Синтез управляющего узла (разработка и отладка программ на языке команд микропроцессора).

Входным сигналом является аналоговый сигнал, который преобразуется АЦП в параллельный код, этот код нужно скорректировать, т.к. МП работает в параллельном дополнительном коде. Макрос Read_Port осуществляет: чтение входных данных из АЦП в регистр DE, а так же преобразование кода АЦП  в дополнительный код с которым может работать МП. Макрос Write_Port осуществляет: вывод результата в порт в обратном коде.

Операцию умножения на три и сложение с предыдущим отчетом можно заменить операциями сложения, а деление на 4 путем деления на два, дважды:

y(n)={[x(n)+x(n-1)]+[ x(n)+x(n-1)]+[ x(n)+x(n-1)]}/2/2

Так как в моем случае переполнения на выходе возникать не могут, то программа не использует специальных средств устраняющих это явление. С переполнением в вычислениях помогает то, что используются двух байтные регистровые пары HL и DE. Макрос DEVIDE осуществляет деление на два. Но так как в уравнении производится деление на четыре, к данному макросу придется обратиться дважды.

По адресу 0 в ПЗУ располагается короткая программа инициализации. Ее задача состоит в том, чтобы установить начальное значение x(n-1):=0.       

В данном устройстве для промежуточных вычислений удается обойтись только регистрами микропроцессора, поэтому ОЗУ не используется, а для хранения х(n-1) используется регистр HL.

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

          Ниже приводится алгоритм работы управляющей программы:


Составление принципиальной схемы устройства и ее описание

На входы F1 и F2 микропроцессора КР580ВМ80А подаются две противофазные последовательности тактовых импульсов с частотой 2 МГц от генератора КР58ГФ24. При нажатии кнопки SB1 на входе процессора Reset появляется импульс, сбрасывающий программный счетчик, и запускается программа инициализации. Работа генератора и микропроцессора синхронизируется через выходы Sync.

Через шины данных и шину управления к микропроцессору подключен системный контроллер КР580ВК28. Его назначение – организовать работу с памятью и портами ввода-вывода. Тип машинного цикла контроллер определяет в момент, когда на его вход STB поступает импульс от генератора. Сигнал Memr контроллера позволяет считывать данные из ПЗУ, IOR – считывать данные преобразования АЦП, IOW – записывать данные в выходной регистр. Так как в процессе работы фильтра требуется хранить лишь один отсчет, необходимость в использовании ОЗУ отпадает, поскольку удается обойтись регистрами микропроцессора.