Министерство транспорта РФ
федеральное агентство железнодорожного транспорта
ГОУ ВПО "ДВГУПС"
Кафедра "Автоматика и телемеханика"
Курсовая работа
"Микропроцессорная система управления на базе интерфейсов персонального компьютера"
Выполнил: Цевелёв Г.А.
220 группа
Проверил: Меркулов А.В.
Хабаровск 2008 г.
Содержание
Введение
Исходные данные
Функциональная схема устройства управления
Подбор элементной базы
Разработка принципиальной схемы
Разработка программного обеспечения
Построение селектора адреса для Системного интерфейса ISA
Список литературы
Введение
Интерфейс - это аппаратное и программное обеспечение (элементы соединения и вспомогательные схемы управления, их физические, электрические и логические параметры), предназначенное для сопряжения систем или частей системы (программ или устройств). Под сопряжением подразумеваются следующие функции:
выдача и прием информации;
управление передачей данных;
согласование источника и приемника информации.
По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллельно идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами, шины ATA, SCSI и все шины расширения. В последовательном интерфейсе биты передаются друг за другом, обычно по одной (возможно, и двухпроводной) линии. Эта линия может быть как однонаправленной (например, в RS-232C, реализуемой СОМ-портом, шине Fire Wire, SPI, JTAG), так и двунаправленной (USB).
Важное значение имеют также следующие технические характеристики интерфейсов:
вместимость (максимально возможное количество абонентов, одновременно подключаемых к контроллеру интерфейса без расширителей);
пропускная способность или скорость передачи (длительность выполнения операций установления и разъединения связи и степень совмещения процессов передачи данных);
максимальная длина линии связи;
разрядность;
топология соединения.
Трудно найти область человеческой деятельности, где бы не использовались, в той или иной форме, микропроцессоры и разнообразные устройства на их основе: начиная от сложнейших систем автоматического управления вплоть до простейших датчиков. Системы на их основе представляют собой автоматизированные микропроцессорные комплексы управления и контроля. Они разрабатываются и применяются в программных комплексах диагностики, контроля и управления в различных отраслях. Программно-технический комплекс диагностики и контроля позволяет получать исчерпывающую информацию о состоянии устройств, подключенных к микропроцессорной системе и выдавать управляющие сигналы. В последние годы промышленностью налажен выпуск программного обеспечения и специальных сменных плат, позволяющих превращать компьютер в высококачественную измерительную и испытательную систему. Компьютеры, оснащенные подобным образом, могут использоваться в качестве запоминающих цифровых осциллографов, устройств сбора данных, многоцелевых измерительных приборов. Применение компьютеров в качестве контрольно-измерительных приборов более эффективно, чем выпуск в ограниченных количествах специализированных приборов с вычислительными блоками.
Исходные данные
№ п/п – номер варианта - 44;
№ | Порт | Примеч | |||||||||
44 | 16 | 128 | 500mA | 24V | LPT |
– количество дискретных или аналоговых объектов управления;
– количество двухпозиционных объектов контроля (кнопок или пар контактов) или объектов измерения (аналоговых);
– максимальный ток, потребляемый дискретным объектом управления;
– напряжение включения объекта управления (напряжение срабатывания реле, питания ламп или других источников нагрузки);
– максимальный потребляемый ток аналогового источника нагрузки,;
– диапазон напряжений для аналоговых объектов управления;
– допустимая абсолютная погрешность по управлению;
– диапазон измеряемых напряжений для аналоговых объектов контроля;
– допустимая абсолютная погрешность по контролю;
Порт – необходимость применения интерфейса с указанным в этом поле портом;
Примеч. – дополнительные условия по использованию определенной элементной базы при создании УСО;
Базовый адрес порта ввода - вывода для варианта №44 определяется следующим образом:
44*8+300Н = 352(160Н)+768(300Н)=460Н
В двоичной системе исчисления: 010001100000
Функциональная схема устройства управления
Функционально УС состоит из следующих основных компонентов:
Шина данных (ШД): 8-ми разрядная, однонаправленная (от ПК к УСО)
Шина управления (ШУ): 5-ти разрядная, однонаправленная (от ПК к УСО)
Канал входной информации (КВИ): 5-ти разрядный, однонаправленный (от УСО к ПК)
Блока питания 5V для питания интерфейсных схем;
Источник питания 24V для обеспечения индикации.
Функциональная схема работы устройства сопряжения компьютера через стандартный периферийный параллельный порт обеспечивает передачу данных на устройство сопряжения по трем шинам:
шина данных (ШД)-8 разрядная однонаправленная (от ПК к УСО);
шина управления (ШУ)- 4 разрядная однонаправленная (от ПК к УСО);
канал входной информации (КВИ)- 5 разрядный однонаправленный (от УСО к ПК).
сигналы по шинам данных поступают на интерфейсную плату, которая обеспечивает взаимодействие с платами управления индикацией.
Подбор элементной базы
Для построения принципиальной схемы необходимо подобрать элементную базу и сформировать основные узлы устройства
К555АП6Микросхема представляет собой восьмиразрядный двунаправленный приемопередатчик с тремя состояниями на выходе и без инверсии входной информации, применяется в качестве интерфейсной схемы в системах с магистральной организацией обмена информации, в системах цифровой автоматики и микропроцессорных устройствах
Режим работы определяется комбинацией сигналов на двух входах управления - Е и SED0. При низком уровне напряжения на входе управления третьим состоянием Е, направление передачи определяется логическим уровнем на входе SED, а при высоком уровне напряжения на входе Е выходы микросхемы переводятся в высокоимпедансное состояние.
Е | SED0 | Операция |
1 | X | 3-е состояние |
0 | 1 | Q->D |
0 | 0 | D->Q |
В разрабатываемой схеме микросхема будет использоваться в качестве шинного формирователя, задача которого - обеспечение необходимого уровня мощности сигналов, а также для защиты интерфейса LPT от высокого потенциала в случае пробоя одного из транзисторов схемы управления индикацией.
К155ИР13Микросхема представляет собой универсальный восьмиразрядный сдвиговый регистр с выходом на три состояния и может применяться в качестве буферного запоминающего устройства для временного хранения данных, для преобразования данных из параллельной формы в последовательную и наоборот или для задержки информационных сигналов
Возможны 4 режима работы: параллельная загрузка, сдвиги вправо (от D1 к D8) и влево (от D8 к D1),блокировка.
Входы | Входы | ||||||||||
Сброс | Режим | Такт | Последовательный ввод | Параллельный ввод | Q0 | Q1 | … | Q6 | Q7 | ||
R | S1 | S2 | С | DL | DR | D0-D7 | |||||
0 | x | x | x | x | x | X | 0 | 0 | … | 0 | 0 |
1 | X | x | 0 | x | x | x | Q0п | Q1п | … | Q6п | Q7п |
1 | 1 | 1 | ↑ | x | x | D0-D7 | D0 | D1 | … | D6 | D7 |
1 | 0 | 1 | ↑ | x | 1 | x | 1 | Q0п | … | Q5п | Q6п |
1 | 0 | 1 | ↑ | x | 0 | x | 0 | Q0п | … | Q5п | Q6п |
1 | 1 | 0 | ↑ | 1 | X | X | Q1п | Q2п | … | Q7п | 1 |
1 | 1 | 0 | ↑ | 0 | x | X | Q1п | Q2п | … | Q7п | 0 |
1 | 0 | 0 | ↑ | x | x | X | Q0п | Q1п | … | Q6п | Q7п |
Примечание: 0 – низкий уровень, 1 – Высокий уровень, х - любое состояние, ↑ - положительный перепад. Qnп – предыдущее значение n выхода.
К155ИД3Микросхема представляет собой дешифратор четырехзначного двоичного кода. По входам Е0 и Е1 подаются сигналы разрешения выходов, чтобы устранять текущие выбросы, которыми сопровождается дешифрация кодов, появляющихся не строго синхронно (например, поступающих от счетчика пульсации). Чтобы разрешить прохождение данных на выходы, на входы Е0 и Е1 следует дать напряжение низкого уровня. Когда на входах Е0 и Е1 присутствуют напряжения высокого уровня, то на выходах 0-15 появляются также высокие уровни.
Дешифратор К155ИДЗ потребляет ток 56 мА. Время задержки распространения сигнала для цепи "вход А – выход" составляет 36 нс. Внешний вид и обозначения контактов приведены на рис. 4.5.
1 | Номинальное напряжение питания |
5 В 5 % |
2 | Выходное напряжение низкого уровня | не более 0,4 В |
3 | Выходное напряжение высокого уровня | не менее 2,4 В |
4 | Входной ток низкого уровня | не более -1,6 мА |
5 | Входной ток высокого уровня | не более 0,04 мА |
6 | Ток потребления | не более 56 мА |
7 | Время задержки распространения при включении по входам 20 - 23 по входам 18, 19 | не более 33 нс не более 27 нс |
8 | Время задержки распространения при выключении по входам 20 - 23 по входам 18, 19 | не более 36 нс не более 30 нс |
9 | Время дешифрации | не более 35 нс |
10 | Потребляемая мощность | не более 294 мВт |
Разработка принципиальной схемы
С компьютера необходимые данные, сформированные программным путем, посылаются в порт на 8- разрядную шину данных D0-D7. Через интерфейсный кабель они попадают на микросхему DD1 – шинный формирователь, выполняющий 2 функции усиление сигнала, защиту LPT порта от высокого потенциала в случае пробоя одного из транзисторов.
С выхода DD1 усиленный по уровню сигнал подается на микросхему DD4 – регистр данных, куда они записываются по управляющему сигналу (С1) из порта и хранятся до подачи нового управляющего сигнала. С выхода DD4 данные поступают прямиком на регистры DD5-DD6 данных выбранной группы устройств.
Программа формирует следующий пакет данных, отвечающих за выбор микросхемы на платах управления, в которую будут записаны переданные ранее данные. Снова происходит посылка в порт, и данные через DD1 попадают одновременно на входы регистра данных DD4, по управляющему сигналу (С0) данные записываются в регистр. Регистр DD4 разрешает запись в один из двух регистров данных (DD5-DD6), которые идут с регистра DD4.
Информация с регистров DD5 – DD6 подается на транзисторы VT1-VT16. При подаче на эти транзисторы напряжения высокого уровня они открываются.
При контроле состояния объектов данные, сформированные компьютером, поступают через порт на DD1 - шинный формирователь, а с него на дешифраторы DD7-DD8, которые подключены к горизонтальным линейкам матрицы объектов. Вертикали подключены к шинному формирователю DD3 (через который осуществляется контроль) с одной стороны, а с другой стороны на них подается +5В (логическая 1).
Разработка программного обеспечения
Для разработки программного обеспечения для обеспечения функций управления и контроля воспользуемся средой Delphi. В среде разработки создадим форму и добавим на неё 3 объекта типа TEdit и 2 объекта типа TButton:
Для управления регистрами LPT порта будем использовать библиотеку inpout32.dll. Необходимо в заголовке программы, в секции uses поместить прототипы функций Out32 и Inp32 со специальной директивой компилятора external, говорящей откуда нужно эти функции брать:
function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll';
function Out32(PortAdr: word; Data: byte): byte; stdcall; external 'inpout32.dll';
Создадим обработчик кнопки "Считать", код которого будет реализовывать считывание данных по адресу, указанному в поле Edit1 и вывод считанных данных в поле Edit2:
procedure TForm1.Button1Click(Sender: TObject);
var
Data: Byte;
i: integer;
begin
Out32($37A, 12); //разрешаем дешифрацию DD7
for i:=0 to 3 do
begin
out32($378,i); //записываем в регистр данных
Data:= Inp32($379); //считываем с регистра управления
Edit2.Text:=IntToStr(Data);
end;
Out32($37A, 4); //запрещяем выполнение каких-либой действий
end;
Создадим обработчик кнопки "Записать", код которого будет реализовывать запись указанных данных (0-255) по указанному адресу (0-15):
procedure TForm1.Button2Click(Sender: TObject);
var
data:string;
adress:string;
begin
adress:=edit3.Text;
data:=edit4.Text;
Out32($378, StrtoInt(data)); //Записываем в регистр DD5
Out32($37A ,6); //разрешаем запись в DD5
Out32($37A, 4); //запрещяем выполнение каких-либой действий
Out32($378, StrtoInt(adress)); //Записываем в регистр DD4
Out32($37A, 5); //разрешаем запись DD4
Out32($37A, 4); //запрещяем выполнение каких-либой действий
Out32($37A, 0); //разрешаем дешифрацию DD6
Out32($37A, 4); //запрещяем выполнение каких-либой действий
end;
Построение селектора адреса для Системного интерфейса ISA
Расчет базового адреса порта
44*8+300Н = 352(160Н)+768(300Н)= 460Н
В двоичной системе исчисления: 0000 0100 0110 0000
A0 – 0
A1 – 0
A2 – 0
A3 – 0
A4 – 0
A5 – 1
A6 – 1
A7 – 0
A8 – 0
A9 – 0
A10 – 1
A11 – 0
А12 – 0
А13 – 0
А14 – 0
А15 – 0
Список литературы
1.Меркулов, А. В., Микропроцессорная система управления на базе интерфейсов персонального компьютера[Текст]:: Учеб. пособие. – Хабаровск: Изд-во ДВГУПС, 2004. – 70 с.: ил.
2. Программирование LPT портов на Delphi Электронный ресурс].- Электрон.дан. .- Режим доступа: http://radiolomaster.net
3. Якубовсий, С.В. Цифровые и аналоговые интегральные микросхемы[Текст]: Справочник / С.В. Якубовский, Л.И. Ниссельсон, В.И. Кулешова и др. – М.: Радио и связь, 1089. – 496 с.
4. "Интегральные микросхемы: Справочник" / Б. В. Тарабин, Л.Ф. Лунин, Ю. Н. Смирнов и др.; под ред. Б. В. Тарабрина. – М.: Радио и связь, 1984 – 528с., ил.
5. Работа с LPT под Win 2000, XP: библиотека inpout32.dll[Электронный ресурс].- Электрон.дан. .- Режим доступа: http://www.pcports.ru/articles/2.php