122978 (689321), страница 2

Файл №689321 122978 (Вычислительная система обработки данных в реальном времени) 2 страница122978 (689321) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

- запись. Низкий уровень сигнала разрешает запись информации с шины D7. D0 в порт микросхемы, адресуемый по входам А0 и А1;

A0 и A1 - входы для адресации внутренних регистров.00 - порт А, 01 - порт В, 10 - порт С, 11 - порт управляющего слова, которое устанавливает работу микросхемы в один из трех режимов;

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

RS - сброс, высокий уровень сигнала обнуляет регистр управляющего слова и устанавливает все порты в режим ввода;

РА7-РА0 - вход/выход канала А;

РВ7-РВ0 - вход/выход канала В;

РС7-РС0 - вход/выход канала С.

Микросхема КР556РТ17.

Рис.6. Параллельный порт

ППЗУ представляет собой микросхему, предназначенную для хранения программы, которую пользователь может самостоятельно записать в нее. Операция программирования заключается в разрушении плавких перемычек на поверхности кристалла импульсами тока. Матрица до программирования, то есть в исходном состоянии, содержит однородный массив проводящих перемычек, соединяющих строки и столбцы во всех точках их пересечений. Программу в ППЗУ мы записывать не будет, предполагаем, что она уже находится там. Эта микросхема содержит 512 байт, а время выборки адреса 50нс, что на много меньше 200нс (время одного такта). Микросхема представлена на рис.7. Опишем используемые выводы.

А0-А8 - входы, по которым выбирается адрес в микросхеме ППЗУ;

DО0-DО7 - выходы, по которым передаются данные, содержащиеся в заданной ячейке памяти;

СS1, CS2, и - выводы выбора микросхемы, которые свидетельствует и одновременно и о считывании информации из нее. Каждый из них должен иметь соответствующее активное состояние, то есть CS1=CS2=1 и = =0. Нарушение этого условия хотя бы для одного из входов исключает доступ к накопителю для считывания. В этом случае микросхема будет находится в состоянии хранения, в котором выходы принимают Z - состояние.


Разработка программного обеспечения

Программа, находящаяся в ПЗУ, состоит из следующих блоков: непосредственное тестирование ПЗУ, обработка заданной функции и программирование параллельного порта. Блок - схема программы представлена на рисунке 8. Далее более детально будут рассмотрен каждый из блоков.

Рис.7. Программируемое ПЗУ


Тест ПЗУ

Тестирование ПЗУ заключается в суммировании содержимого всех мнемокодов программы, иными словами значений, находящихся по адреса ПЗУ. Каждый адрес содержит 16 - разрядный код, который соответствует определенной команде процессора. Вначале устанавливается начальный адрес кода программы. Перебор всех адресов делается в цикле, в котором проверяется достигнут ли адрес последний ячейки памяти, если это не так, то цикл вновь возобновляется. В противном случае, если достигнута последняя ячейка памяти, полученный результат суммы сравнивается со значением находящимся в определенном адресе ПЗУ за пределами основной программы. Это число должно быть получено ранее, путем ручного подсчета или же самой программой, которая тестирует ПЗУ. Это производится несколько раз для правильности результата, так как от него в дальнейшем будет зависеть: программа продолжит свое выполнение или же перейдет на участок, в которой будет находиться команда останова. Если тестирование ПЗУ закончилось не успешно, то до останова микропроцессора, он посылает сигнал в порт вывода - параллельный порт, в котором устанавливает значение, свидетельствующее об ошибки.

Здесь приводим участок кода программы, тестирующей ПЗУ.

movsi, ADDR_OF_BEGINING_OF_ROM

movax, 0

loop:

add ax, [si]

incsi

cmpsi, ADDR_OF_END_OF_ROM;

jneloop

cmpax, CONTROL_SUM_OF__ROM

jeALL_GOOD

jmpERROR_ROM

ALL_GOOD:

; участок кода реализуемой функции

ERROR_ROM:

mov al,02h

out 02h,al

hlt

Последние три строчки означают следующее: посылается во второй бит порта 2 значение 1 (это порт С параллельного порта речь о котором пойдет ниже), которое свидетельствует об ошибке в программе и выполняется команда останова. Она необходима для остановки всей системы и анализа ее состояния. Это позволит отследить ошибку в системе.

Алгоритм вычисления функции

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

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

На вход подаются из порта ввода с адресом 04h 16 - разрядные числа, которые записываются в аккумулятор и после этого из него пересылаются в другой регистр, это делается потому что, данные из порта и в порт можно посылать и получать, используя только аккумулятор. Чтобы ранее полученные данные не были потеряны для этого, необходимо сохранять их в другом регистре. После ввода данных непосредственно происходит их обработка, а именно умножение и деление. При делении нельзя допустить, чтобы делитель был равен нулю, для этого мы проверяем его содержимое на нуль. Проверку эту целесообразнее проводить не перед непосредственным делением, а как только мы получили значение, которое будет делителем. В случае, если это число окажется нулем, то переходим на тот участок программы, в котором значения перезаписываются в регистры, содержащие предшествующие значения.

Особенностью команды умножения MUL является то, что множимое непосредственно не указывается, оно находится в аккумуляторе. Результат операции будет находиться в двух регистрах DX и AX соответственно старшая и младшая часть 32 - разрядного результат. После этого производим деление: в команде DIV непосредственно указывается только один операнд - это делитель, а делимое находится в регистрах AX и DX. Результат помещается в AX - частное и в DX - остаток, который будет являться результатом функции. Но это еще не конец программы, так как необходимо полученный результат переслать в порт вывода. Для этого помещаем его в аккумулятор, младшую часть которого записываем в порт 00, а старшую часть вначале пересылаем в младшую, а затем выводим в порт 01 параллельного интерфейса.

Программирование параллельного порта.

Рассмотрим внутреннюю структуру параллельного порта. В состав входят: двунаправленный 8 - разрядный буфер данных; блок управлением записью чтением и три восьми разрядных канала ввода/вывода - порты А, В и С для обмена информации с внешними устройствами, адреса портов соответственно 00, 01 и 10. Режим работы каждого из каналов программируется с помощью управляющего слова. Управляющее слово может задать один из трех режимов: основной режим ввода/вывода (режим 0), стробируемый ввод/вывод (режим 1) и режим двунаправленной передачи информации (режим 2). Канал А может работать в любом из трех режимов, канал В - в режимах 0 и 1. Канал С может быть использован для передачи данных только в режиме 0.

Для вывода в параллельный порт должны быть использованы три порта, два из них для передачи данных - результата функции и один порт для установки бита готовности данных и определение сбоя в ПЗУ. Будет использовать режим 0, который применяется при синхронном обмене или при программной организации асинхронного обмена. Микросхема параллельного порта в этом режиме может рассматриваться как устройство, состоящее из четырех портов: 2 - восьмиразрядных и 2 - четырехразрядных, независимо настраиваемых на ввод или вывод.

Разряд 0 порта С устанавливается в 1 как только данные поступили в параллельный порт (порты А и В). Этот бит сбрасывается ПЭВМ, когда она прочитает данные из порта, в нуль. Это новое значение должен считать микропроцессор и только после этого начать обрабатывать новые значения. Механизм такой проверки реализуется следующим способом: организуется цикл, работа которого заключается в том, что каждый раз значение из порта считывается в аккумулятор и его содержимое проверяется на нуль. Такая проверка должна занять не более одного прохода цикла, потому что ПЭВМ работает на много быстрее, чем устройство ввода. Также в порте С используется разряд 1, который свидетельствует о том, что произошел сбой в ПЗУ. Обнулим содержимое порта С вначале программы (после установки режима), чтобы показать его начальное состояние и чтобы не возникло ситуации: ошибка в ПЗУ и данные готовы.

Для работы с параллельным портом необходимо вначале его проинициализировать, то есть задать ему режим работы. За это отвечает управляющее слово, к которому можно обратится в пространстве ввода/вывода по адресу 03h. В седьмой разряд запишем 1 (установка режимов каналов), а в остальные разряды запишем нули, следовательно параллельный порт будет работать в режиме 0 и все порты будут настроены на вывод информации.

Сама программа с необходимыми пояснениями представлена в Приложении. Там же описаны такты и размер каждой выполняемой команды. Первое значение необходимо для построения временных диаграмм работы системы, а второе - для подсчета всего объема программы.

Разработка структурной схемы

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

Микропроцессорное устройство состоит из самого микропроцессора, генератора тактовых импульсов, а также из буферных регистров и шинных формирователей. Последние два элемента используются для демультиплексирования шины адреса/данных. Здесь рассматриваются все эти элементы как один блок, из-за того что при построение любой системы на базе К1810 эти элементы всегда должны в него входить. Системную магистраль разделим на шину адреса, шину данных и шину управления. К ним подключим наш обобщенный блок, а также ПЗУ, порт ввода и вывода, которые необходимо присоединить при помощи дешифратора адреса. Дешифратор необходим для точного выбора микросхемы, чтобы не было путаницы при обращении в пространстве ввода/вывода и пространстве памяти, которые друг от друга отделены. Непосредственное взаимодействие используемых блоков с шинами показано с помощью стрелок, направленных к и/или от соответствующим шинам. Структурная схема устройства ввода приведена на рисунке 9.

Проектирование функциональной схемы

Теперь мы пришли к самому интересному этапу разработки системы - непосредственное соединение выводов элементов. Опишем наиболее интересные аспекты проектирования системы, функциональная схема которой выполнена как отдельный чертеж на формате А2. Но вначале рассмотрим работу системы после ее включения. По окончанию сигнала RESET, первая команда начинает выбираться из ячейки памяти с физическим адресом FFFF0h. И поэтому сюда необходимо поставить команду перехода JMP, которая перейдет по метки на начальный адрес программы, находящейся в ПЗУ. Адресом начала программы для микропроцессора будет 11111000000000, так как используем в системе только выводы AD14. AD0. А начало программы будет находится в ПЗУ начиная с адреса 000000000. Вся программа занимает 80 байт, следовательно можно было взять ПЗУ меньшего объема, но тогда необходимо подключать их большее число, потому что надо обеспечивать пересылку байта. ПЗУ представлено двумя блоками, для того чтобы каждое слово передавалось за один цикл шины, слова располагаются только с четных адресов. Использованием сигналов и А0, приводит к следующим пересылкам: 00 - пересылается слово, 10 - младший байт, 01 - старший байт, 11 - устройство не выбрано. Остальные адреса кроме и А0, и адресов, определяющих адрес внутри ПЗУ, участвуют в выборе микросхемы. Выбор микросхемы памяти осуществляется по 4 - м выводам, два из которых имеют активный уровень 0 и два других - 1. Первые из них заземлим, а на вторые подадим сигнал с логики адресов, чтобы при обращении к памяти там была единица. Вернемся к линии RESET к которой также подключен параллельный порт. Этот сигнал обнуляет управляющее слово и устанавливает все порты в режим ввода.

Рассмотрим формирование управляющих сигналов: запись в порт ( ), чтение порта ( ) и чтение памяти ( ), которые непосредственно участвуют либо в разрешении выбора микросхемы, либо подаются на соответствующие выводы микросхемы, как для К580ВВ55 (для входов и ). Сигналы формируются на основании 3 - х выводов микропроцессора , и , которые вырабатываются в зависимости от того, происходит обращение к порту или памяти.

Характеристики

Тип файла
Документ
Размер
3,38 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6917
Авторов
на СтудИзбе
266
Средний доход
с одного платного файла
Обучение Подробнее