Алгоритм вычисления функции
Стр 1 из 2Следующая ⇒ Введение
Курсовой проект выполняется с целью закрепления знаний по курсу «Организация ЭВМ, комплексов и систем» и развития навыков самостоятельного проектирования вычислительных систем. В курсовом проекте разрабатывается вычислительная система (ВС) обработки данных в реальном времени, состоящая из устройства ввода (УВ) и ПЭВМ. Входным сигналом является аналоговое напряжение. Устройство ввода включает в себя блок АЦП, блок цифровой обработки и блок интерфейса.
Техническое задание
В курсовом проекте разрабатывается вычислительная система (ВС) обработки данных в реальном времени, состоящая из устройства ввода (УВ) и ПЭВМ. Входным сигналом является аналоговое напряжение. Устройство ввода включает в себя блок АЦП, блок цифровой обработки и блок интерфейса. Назначение разработки Курсовой проект предназначен для приобретения навыков по проектированию вычислительных систем. Задачами курсового проекта являются: -практическое овладение методикой проектирования вычислительной системы на основе современной элементной базы, технических средств вычислительной техники, на основе современной теории организации ЭВМ и систем; -оценка параметров проектируемой системы и применение мер по повышению качества проектирования; -повышение уровня конструкторского проектирования; -приобретение практических навыков оформления и выпуска конструкторской документации в соответствии с ГОСТ. Требования к программе или программному изделию Требования к функциональным характеристикам Входным сигналом устройства ввода является аналоговое напряжение, меняющегося в пределах от –2,5 до 2,5 В. Блок АЦП преобразует полученный сигнал в 10‑разрядный цифровой код. Полученный цифровой код обрабатывается в блоке цифровой обработки по следующему закону:
где Xi – текущее значение входного сигнала; Xi-1 – предыдущее значение входного сигнала; Yi – выходной сигнал. Требования к составу и параметрам технических средств На вычислительную систему и отдельные ее блоки накладываются следующие ограничения: -конфигурация ВС: однопроцессорная система на базе микропроцессорного комплекта К1810 в минимальном режиме; -тип применяемого АЦП – параллельного действия. Требования к информационной и программной совместимости Связь УВ с ПЭВМ осуществляется через интерфейс системной шины. Синхронизация работы УВ и ПЭВМ осуществляется по готовности данных. Требования к документации проекта Курсовой проект должен быть представлен графической частью и пояснительной запиской с приложениями, содержащими конструкторскую документацию проекта. Пояснительная записка (ПЗ) оформляется согласно требованиям ЕСКД к текстовым документам и должна содержать: 1) титульный лист; 2) введение; 3) основное содержание; 4) заключение; 5) библиографический список; 6) приложения, содержащие конструкторскую документацию проекта: Графическая часть содержит: 1) схему электрическую функциональную (Э2) устройства ввода; 2) схему электрическую принципиальную (Э3.1) устройства ввода; 3) схему электрическую принципиальную (Э3.2) блока АЦП; 4) временную диаграмму (ТЧ) работы УВ. Стадии и этапы разработки Работа над курсовым проектом включает следующие основные этапы: 1) Анализ технического задания и синтез варианта функциональной организации ВС; 2) Выбор элементной базы на основе анализа исходных данных; 3) Разработка алгоритма вычисления функции; 4) Разработка функциональной схемы УВ на основе синтеза функциональных схем его основных модулей;
5) Разработка принципиальных схем модулей УВ; 6) Разработка программного обеспечения УВ; 7) Получение временных диаграмм, оценивание параметров УВ и всей системы в целом;
Анализ задания
Анализ задания позволяет сделать следующие предварительные выводы: 1. Максимальная разрядность выходного значения указанной функции, в соответствии с разрядностью входных значений, равна 20, а максимальная разрядность интерфейса системной шины равна 16. Данное обстоятельство обуславливает выбрать разрядность выходного слова в 16 бит; 2. Т.к. функция содержит операцию деления, а также разрядность результата превышает разрядность системной шины, то возможны исключительные ситуации (переполнение, деление на нуль и т.п.), что требует наличие в составе УВ слов состояния и управления; 3. Небольшая номенклатура микросхем комплекта К1810 (всего 16) может потребовать применения необходимых микросхем других совместимых комплектов (например, К580); 4. Поскольку процессор должен работать в минимальном режиме, то вся вычислительная задача и задачи обмена возлагаются на него.
Выбор элементной базы Блок АЦП Основным элементом данного блока являются микросхемы АЦП. Требуемому типу АЦП – параллельного действия – соответствуют микросхемы серии К1107, причем наиболее подходящими являются микросхемы К1107ПВ3 (А, Б) и К1107ПВ4 (А, Б), являющиеся 6- и 8‑разрядными преобразователями соответственно. Т.к. собственная разрядность данных АЦП меньше требуемой, то необходимо расширение разрядности. С учетом специфики расширения разрядности данных микросхем, которая будет описана ниже, наиболее подходящей является микросхема К1107ПВ4А. Микросхема К1107ПВ4А Микросхема представляют собой БИС быстродействующего 8‑разрядный АЦП с ЭСЛ выходом и частотой преобразования 100 МГц. Предназначены для преобразования входного напряжения в диапазоне от –2,5 до +2,5 В в параллельный двоичный прямой код. Преобразователь выполнен в герметичном металлокерамическом корпусе типа 2136.64–1 с вертикальным двухсторонним расположением выводов. Масса не более 22 г. Ниже приведены основные электрические параметры.
В БИС К1107ПВ4 использована типовая для класса преобразователей считывания функциональная электрическая схема. Поскольку в ней отсутствует выходной регистр, то часть периода тактирования проходит при неопределенной цифровой информации на выходе. При низком уровне тактирующего сигнала происходит выборка аналогового сигнала, на который реагируют компараторы. При подаче высокого уровня тактирующего сигнала информация с выходов компараторов переписывается в регистр, а компараторы отключаются от аналогового сигнала. Режим хранения начинается с подачи положительного фронта тактирующего импульса, но информация на цифровых выходах появляется после задержки. Период, в течение которого на цифровых выходах код не определен, равен длительности периода выборки и сдвинут во времени относительно его начала. На рисунке 1 показана схема включения данной БИС и описание ее выходов [4, 6].
Калибровка ИС (компенсация абсолютных погрешностей в конечных точках шкалы) проводится регулировкой опорных напряжений UопXXX. Вывод 61 применяется для управления гистерезисов компараторов при подаче внешнего постоянного напряжения Uг. Для большинства случаев ИС применяются без внешнего напряжения гистерезиса, оставляя данный вывод свободным. Подача регулируемого Uг в пределах 0…2 В позволяет в небольших пределах управлять гистерезисом компараторов и рекомендуется при использовании ИС на высокой частоте для обеспечения правильной и стабильной работы АЦП. При превышении аналоговым сигналом входного диапазона на цифровом выходе переполнения появляется напряжение высокого уровня, на остальных цифровых выходах – напряжение низкого уровня. Цифровой вывод переполнения позволяет применять параллельное соединение ИС для увеличения разрядности АЦП. Подробнее увеличение разрядности на данной БИС будет рассмотрено в следующих разделах. Требуется предусмотреть отдельные шины «цифровая земля» и «аналоговая земля» с соединением их только в одной точке на клемме источника питания. Цифровые выходы ИС подключаются к источнику питания -2 В через резисторы сопротивлением 100 Ом. В связи с тем, что выходные уровни сигналов не являются ТТЛ-совместимыми, то потребуется установка преобразователей уровня. Подходящим элементом является микросхема К500ПУ125 [2]. Блок цифровой обработки Блок цифровой обработки содержит элементы, участвующие в обработке сигнала. Кроме того, данный блок выполняет инициализацию УВ, самотестирование, настройку интерфейса и т.п. Данные функции достаточно легко можно осуществить с помощью микропроцессора К1810ВМ86. Заданием предусмотрено использование данного процессора в минимальном режиме, что не допускает использования дополнительных процессоров типа АСП или СПВВ. Кроме того, для демультиплексирования шины адреса / данных в данный блок входят буферные регистры К1810ИР82 и шинные формирователи К1810ВА86. Для генерации синхроимпульсов, сигналов сброса и готовности используется БИС ГТИ К1810ГФ84. Также неотъемлемой частью блока цифровой обработки являются микросхемы памяти. Для данного УВ необходимо ПЗУ для хранения программы и ОЗУ для хранения промежуточных результатов. Размеры необходимой памяти, а также необходимые микросхемы памяти, будут исследованы и обозначены в следующих разделах. Микросхема К1810ВМ86 Микросхема представляет собой однокристальный 16‑разрядный микропроцессор, осуществляющий общую обработку данных и управление блоками системы в соответствии с заданной программой. На рисунке 2 приведено условное обозначение микросхемы с сигналами, соответствующими минимальному режиму. Подробно функционирование данной БИС описано в [3, 5, 7].
В данном проекте микропроцессор выполняет функции получения, обработки и передачи входного сигнала в соответствии с заданной программой. Микросхема К1810ИР82 Восьмиразрядные буферные регистр (рис. 4) используются для организации запоминающих буферов и адресных защелок. Они состоят из восьми информационных триггеров с выходными схемами с тремя состояниями, общими сигналами записи информации и управления выходными схемами. Микросхема К1810ВА86 Восьмиразрядные шинные формирователи (рис. 5) применяют как буферные устройства шины данных. Большая выходная емкость и простота управления позволяют использовать их для построения двунаправленных согласующих буферов межмодульной связи. Формирователь состоит из восьми одинаковых функциональных блоков с общими сигналами управления. Функциональные блоки состоят из двух усилителей формирователей с тремя состояниями на выходах, схема включения которых обеспечивает разнонаправленную передачу. Микросхема К1810ГФ84 Генератор тактовых импульсов (рис. 3) предназначен для управления процессором и периферийными устройствами, а также для синхронизации сигналов готовности с тактовыми сигналами процессора и сигналов интерфейсной шины. В проектируемом устройстве генератор включается независимо, т.е. выдает синхроимпульсы независимо частоты системной шины. Блок интерфейса Блок интерфейса предназначен для организации связи между устройством ввода и ПЭВМ, а также между процессором и блоком АЦП. Основным элементом данного блока является микросхема интерфейса. В данном случае это микросхема К580ВВ55А, представляющая собой трехпортовую БИС ввода-вывода [5]. Для подключения выходов данной БИС к системной шине необходимы буферные элементы. Их роль выполняют описанные выше элементы К1810ВА86. Микросхема К580ВВ55А Микросхема представляет собой универсальную программируемую БИС для организации портов ввода-вывода информации в параллельной форме. Обмен информацией между магистралью данных и микросхемой осуществляется через 8-разрядный двунаправленный тристабильный канал данных. Для связи с периферийными устройствами используются три 8-разрядных канала, в которых направление передачи информации зависит от режима работы. В нашем случае микросхема настраивается на режим 0, а порты подключаются следующим образом: порт A – блок АЦП; порт B – данные; порт C – слово управления / состояния. Интерфейс системной шины Подробную информацию об интерфейсе системной шины можно найти в [7]. Ниже пойдет описание, необходимое для представления принципа работы проектируемого УВ. Для сопряжения с интерфейсом системной шины в блоке интерфейса необходима отдельная логическая схема, осуществляющая управление обращением к УВ со стороны ПЭВМ. Эта схема должна дешифрировать адрес и управляющие сигналы на системной шине и в соответствии с ними выдавать управляющие сигналы обратно на системную шину и в УВ. К сигналам выдаваемым на системную шину относится сигнал IO16, говорящий о 16-разрядной передаче данных. Данный сигнал будет иметь активный (низкий) уровень в случае выдачи на шину данных результата. В случаях чтения слова состояния или записи управляющего слова данный сигнал имеет высокий уровень, что говорит о передаче байта. К сигналам, выдаваемым в УВ, относятся сигналы управления шинными формирователями на выходах портов и сигнал готовности на ГТИ, приостанавливающий работу процессора ВМ86 на время обмена, а также сигнал, информирующий процессор о том, что данные еще не были считаны и нет необходимости формировать следующий результат. Приостановка процессора необходима для избежания коллизий. Для обращения к проектируемому устройству резервируются адреса: 320h – для чтения результата; 322h – для чтения слова состояния и для записи управляющего слова. Ниже приведены форматы слова состояния и слова управления:
Слово состояния: R – флаг готовности результат. Устанавливается в 1 после записи в выходной регистр результата и сбрасывается в 0 при чтении регистра. Анализируется процессором для записи нового результата только после чтения предыдущего, и приложением работы с УВ, для чтения результата только после его готовности. op1, op2 – значение операндов, участвующих в вычислении функции: текущее значения (op1) и предыдущее (op2). Могут принимать значения: 0x – произвольное ненулевое число; 10 – нуль; 11 – бесконечность. Предназначены для выявления исключительных ситуаций, таких как 0/0 или ¥/¥. В таких ситуациях выдается нулевой результат, а эти биты должны быть проанализированы для определения типа ситуации. div0, OF, UF – флаги ошибок деления на нуль, переполнения и антипереполнения соответственно. Слово управления: УБ – управление бесконечностью. В случаях, когда результатом является бесконечность, данный бит управляет формированием результата. 0 – выдается нулевое значение результата; 1 – выдается максимально возможное значение (0FFFFh). В обоих случаях определить бесконечность можно анализом слова состояния. УП – управление переполнением. В случаях, когда результат превышает 16‑разрядов, данный бит управляет формированием результата: 0 – результатом будут младшие 16 бит результата; 1 – результатом будет максимально возможное значение (0FFFFh). В обоих случаях установить факт переполнения можно анализом слова состояния. УД – управление данными АЦП. В случаях, когда разряд переполнения АЦП установлен в 1, данный бит позволяет определить как интерпретировать входной сигнал: 0 – сходной сигнал интерпретируется как бесконечность; 1 – входной сигнал интерпретируется как максимально возможное значение (0FFFFh). УА – управление антипереполнением. Антипереполнение возникает в случае, когда значение результата оказывается меньше младшего разряда. Данный бит позволяет интерпретировать данный результат двумя способами: 0 – нулевой результат; 1 – результат равен 1.
Алгоритм вычисления функции
Вычисляемая в устройстве ввода функция имеет вид:
где Xi – текущее значение входного сигнала; Xi-1 – предыдущее значение входного сигнала; Yi – выходной сигнал. Разрядность входного сигнала равна 10, в связи с чем максимальная разрядность результата будет составлять 20. Однако, из-за особенностей работы УВ и используемой аппаратуры, результат формируется 16-разрядным. Возможны два варианта вычисления указанной функции, отличающиеся последовательностью выполняемых операций: 1) деление, возведение в квадрат; 2) возведение в квадрат, деление. Первый вариант предпочтительнее, т. к. обладает меньшей вычислительной сложностью, однако при его реализации необходимо учесть, что остаток от первоначального деления также должен участвовать в последующем возведении в квадрат. На рисунке 7 приведен фрагмент алгоритма вычисления функции и формирования результата. При этом следует обратить внимание на некоторые особенности алгоритма. Входные значения находятся регистрах Ax=Xi и Bx=Xi-1. Результат формируется в регистре Ax. Т.к. слово состояния представляет собой набор бит, то операция типа SWdiv0 представляет собой установка соответствующего бита. Более того, наличие исключительных ситуаций предполагает наличия двух значений для каждого операнда: само значение и его представление в слове состояния (см. рисунок 6), причем, изменение одного из них не влечет изменения другого. Ниже приведена программа, соответствующая приведенному алгоритму:
test Cl, 01010000b; будут ли исключительные ситуации? jnz @@LABEL3 ; будут – переход
mov Dx, Ax shr Dx, 8 cmp Dx, Bx ; X(i)>=256*X (i‑1)? jae @@LABEL8 @@LABEL9: cmp Ax, Bx ; X(i)<X (i‑1)? jl @@LABEL10 xor Dx, Dx ; очистим Dx div Bx ; Dx: Ax/Bx -> A+D/B mov Si, Ax ; сохраним значение A mul Dx ; Dx: Ax < – A*D shl Ax, 1 ; *2 shl Dx, 1 div Bx ; 2*A*D/B mov Bx, Ax mov Ax, Si ; восстановим A mul Ax ; Dx: Ax < – A*A add Ax, Bx ; в Ax – результат! jmp @@LABEL7
@@LABEL8: or Cl, 00000010b; SW < – OF test Ch, 00000100b; переполнение. Что делать? jnz @@LABEL9 mov Ax, 0FFFFh ; результат < – максимум jmp @@LABEL7
@@LABEL10: or Cl, 00000001b; SW < – UF mov Al, Ch and Ax, 0001h; результат < – UF jmp @@LABEL7
@@LABEL3: xor Ax, Ax ; результатом будет 0 mov Dl, Cl ; Dl < – SW mov Dh, Cl ; Dh < – SW and Dx, 0001100001100000b; замаскируем по операндам cmp Dl, 01000000b; X(i)==0? je @@LABEL4 ; да – на выход cmp Dh, 00011000b; X (i‑1)==бесконечность? je @@LABEL4 ; да – на выход test Ch, 00001000b; результат = бесконечность jnz @@LABEL4 mov Ax, 0FFFFh ; результат < – максимум @@LABEL4: cmp Dl, 01100000b; X(i)==бесконечность? jne @@LABEL5 or Cl, 00000010b; SW < – OF @@LABEL5: cmp Dh, 00010000b; X (i‑1)==0? jne @@LABEL6 or Cl, 00000100b; SW < – div0 @@LABEL6: cmp Dh, 00011000b; X (i‑1)==бесконечность? jne @@LABEL7 or Cl, 00000001b; SW < – UF @@LABEL7:
Полный текст программы работы процессора с учетом самотестирования, настройки интерфейса и вычисления функции приведен в приложении А. Размер всей программы составляет 226 байт, что позволяет ограничиться размером ПЗУ в 1 Кбайт (512К´16). Организовать такую память можно путем параллельного подключения двух микросхем КМ1608РТ2 [5]. Более того, данная программа не требует сохранения промежуточных результатов в памяти, что позволяет исключить из состава устройства ОЗУ.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|