Разработка аппаратно-программных модулей системной шины Isa

Автор работы: Пользователь скрыл имя, 04 Апреля 2011 в 15:09, курсовая работа

Описание работы

Цифровые сигналы обладают рядом преимуществ по сравнению с аналоговыми. В отличие от аналоговых, цифровые сигналы передаются не как волны, а в двоичном виде, или в виде битов. Наличие напряжения обозначается как единица, а отсутствие — как нуль. Такое свойство цифрового формата, в котором предусматриваются только два состояния — сигнал есть и сигнала нет, — позволяет получать и воспроизводить звуки в их первозданной чистоте. С цифровыми сигналами это может быть проделано с высокой степенью надежности. Гораздо труднее точно воспроизвести волну, способную принимать самые разные формы, в отличие от бита, который может иметь только два значения — включено и выключено.

Файлы: 1 файл

Курсовая работа.doc

— 4.61 Мб (Скачать файл)

     Инициализация аппаратных модулей проводится в несколько этапов. На первом этапе выполняется инициализация СБИС модуля. На последующих этапах производится инициализация системы прерываний или ПДП, в зависимости от используемых режимов обмена данными между модулем и процессором системы.

     В данном случае ведётся программно-управляемый  обмен, т.е. инициализировать нужно  только СБИС. Ещё одной особенностью является то, что нет необходимости  выполнять блокирования системы  прерывания в виду того, что в  модуле не ведётся режим обмена по прерываниям.

     Процедура инициализации СБИС заключается  в программировании режима работы необходимо загрузить из микропроцессора управляющее  слово CW. При этом на адресных входах А0 и А1, а также , , должны быт выставлены соответствующие сигналы. Их комбинации продублированы в таблице 3.1.

Режим работы каналов  СБИС КР580ВИ53 программируется с помощью  простых операций ввода/вывода (таблица 3.1)

    Таблица 3.1 – Операции ввода/вывода для СБИС КР580ВИ53
    Сигналы на входах Направление и

     вид информации

    А1 А0
    0 1 1 1 0 Канал данных→СБИС (занесение управляющего слова в  канал 0, 1 или 2)
    1 0 1 1 0 Нет операций. Канал данных СБИС в высокоомном состоянии
    0 1 0 0 0 Канал данных→СБИС (загрузка счетчика канала 0)
    0 1 0 1 0 Канал данных→СБИС (загрузка счетчика канала 1)
    0 1 1 0 0 Канал данных→СБИС (загрузка счетчика канала 2)
    1 0 0 0 0 СБИС→канал  данных (чтение показаний счетчика канала 0)
    1 0 0 1 0 СБИС→канал  данных (чтение показаний счетчика канала 1)
    1 0 1 0 0 СБИС→канал  данных (чтение показаний счетчика канала 2)
    1 1 Х Х 0 Нет операций. Канал  данных СБИС в высокоомном состоянии
    Х Х Х Х 1 Запрет. Канал  данных СБИС в высокоомном состоянии

Каждый из трех каналов СБИС программируется индивидуально  путем записи в регистр режима управляющего слова, а в счетчик  – запрограммированного числа байтов. Формат управляющего слова представлен  в таблице 3.2.

 

Таблица 3.2 – Формат управляющего слова
Разряд  слова состояния Назначение
D0 Код: 0 – двоичный, 1 – десятичный
D1, D2, D3 Режим работы:

000 – режим  0;

001 – режим  1;

Х10 – режим 2;

Х11 – режим 3;

100 – режим  4;

101 – режим 5.

D4, D5 Чтение (загрузка):

00 – операция  «защелкивание»;

01 – только  младший байт;

10 – только  старший байт;

11 – младший  байт, затем старший.

D6, D7 Выбор регистра режима:

00 – канал  0, 01 – канал 1,

10 – канал  2, 11 – запрет.

           Для инициализации  СБИС необходимо сначала записать управляющее  слово для канала 0 и загрузить счетчик 0, затем записать управляющее слово для канала 1 и загрузить счетчик 1. Запись управляющего слова, в отличие от загрузки счетчиков, производится по одному адресу (375h).

     Таким образом, нам необходимо записать по адресу 375h управляющее слово: 00110100b, затем по адресу 372h необходимо занести в счетчик канала 0 запрограммированное число N1 (коэффициент счета). После этого снова записываем управляющее слово (01110100b) и загружаем по адресу 373h в счетчик параметр N2. Элементы программы представлены в приложении А.

      3.2 Выводы к главе 3

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

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

 

     Заключение

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

Так же разработан программируемый генератор  цифровых сигналов со следующими характеристиками:

    • 1 выход;
    • максимальная частота выходного сигнала 2 МГц;
    • возможность программного изменения частоты и скважности;
    • адреса ввода: 372h, 373h, 375h.

Также были разработаны программные модули, обеспечивающие работу платы.

     В основу проектирования была положена микросхема программируемого таймера  К580ВИ53, работающая в режиме генерации частоты. Для обеспечения масимальной выходной частоты 2 МГц произведено деление тактовых импульсов сигнала SYSCLK шины ISA (8 МГц) на 4. В канал 0 и канал 1 программируемого таймера загружаются 2 числа. На частоту влияют оба загруженных числа (происходит деление частоты 2 МГц на определённый коэффициент). На скважность влияет число, записанное в счётчик канала 1. Т.о., загружая в счётчики определённые значения, мы имеем возможность программно изменять форму цифрового сигнала. 
 
 

 

Приложение  А 
(справочное)

Библиографический список

  1. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. – СПб.: Питер, 2004. – 686 с.: ил.
  2. Шабалин Л.А. Разработка аппаратно программных модулей шины ISA: методические указания по выполнению курсовой работы. – ВятГУ. 2000 г. – 35 с.
  3. Блохин С.М.  Шина ISA персонального компьютера IBM PC/AT - М.: ПК "Сплайн", 1992.
  4. Шило В.Л. Популярные цифровые микросхемы: Справочник. – М.: Радио и связь, 1987. – 352 с.: ил. – (Массовая радиобиблиотека. Вып. 1111).
  5. Бычков Е.А. Архитектура и интерфейсы персональных компьютеров. – М.: Центр “СКС”, 1993.
  6. Новиков Ю.В.,  Калашников О.А.,  Гуляев С.Э.  Разработка устройств сопряжения для персонального компьютера типа IBM  PC  -М.: Эком., 1997.
  7. Завадский В.А. Компьютерная электроника - К.: ВЕК, 1996.
  8. Л.А. Мальцева, Э.М. Фромберг, В.С. Ямпольский  Основы цифровой техники. – М.:Радио и связь, 1986г. 128с.
  9. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т. / В. –Б. Б. Абрайтис, Н. Н. Аверьянов, А. И. Белоус и др.; Под ред. В. А. Шахнова. - М.: Радио и связь,1988. - Т.1. - 386 с.: ил.
  10. Мячев А.А., Иванов В.В. Интерфейсы вычислительных систем на базе мини- и микроЭВМ /Под ред.  Б.Н. Наумова.  - М.:  Радио и связь, 1986.

 

Приложение  Б 
(Обязательное)

Список  сокращений 

ЦП –  центральный процессор

КПДП  – контроллер прямого доступа  к памяти

КРП –  контроллер регенерации памяти

КПР –  контроллер прерываний

ПБ –  перестановщик байт

ПГЦС  – программируемый генератор  цифровых сигналов

СП –  системная память

УВВ –  устройство ввода/вывода

СА –  селектор адреса

ООД –  оконечное оборудование данных

БД –  буфер данных

СБИС  – сверхбольшие интегральные схемы

ЭВМ –  электронно-вычислительная машиина

ПЭВМ  – персональная электронно-вычислительная машина

ПТ –  программируемый таймер

МП –  микропроцессор

ПЛИС  – программируемая логическая интегральная схема

ПДП –  прямой доступ к памяти

ОЗУ –  оперативное запоминающее устройство

УГО –  условно-графическое обозначение

БИС –  большая интегральная схема

ТТЛ –  транзисторно-транзисторная логика 
 
 
 
 
 
 
 
 
 
 
 
 

 

Приложение  В 
(Обязательное)

Листинг программы

#include <stdio.h> //стандартная библиотека ввода/вывода

#include <conio.h> //там находится прототип функции  outp() 

#define CWT0 0x52   //CWT0 – 00110100b управляющее слово для канала 0

#define CWT1 0x116 //CWT1 – 01110100b управляющее слово для канала1

#define portc 0x375// адрес для занесение управляющего слова в регистр режима

//прототип  функции инициализации 

void InitPit (int N1, int N2);// частота, скважность 

void main()

{int N1,N2;

   …

   //Ввод требуемых параметров (N1, N2)

   …

     //Инициализация счетчика:

   InitPit(N1,N2);

 }

void InitPit (int N1, int N2)

{unsigned char p1,p2,t1,t2;

   p1=(N1<<8)>>8;

   p2=N1>>8;

   t1=(N2<<8)>>8;

   t2=N2>>8;

  disable();

   outp(portc, CWT0); //Запись управляющего слова в регистр режима 0

   outp(portc-3, p1);  //Запись в счетчик 0 младшего байта

       outp(portc-3, p2);  //Запись в счетчик 0 старшего байта

  outp(portc, CWT1); //Запись управляющего слова в регистр режима1

   outp(portc-2, t1);  //Запись в счетчик 1 младшего байта

       outp(portc-2, t2);  //Запись в счетчик 1 старшего байта

   enable();

} 
 
 
 
 
 
 
 
 
 

Информация о работе Разработка аппаратно-программных модулей системной шины Isa