Главная » Просмотр файлов » пояснительная записка

пояснительная записка (1231539), страница 6

Файл №1231539 пояснительная записка (Разработка универсального микропроцессорного устройства управления и контроля приборов и устройств ЖАТ) 6 страницапояснительная записка (1231539) страница 62020-10-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Управлять платой можно с помощью специально написанного в среде программирования Delphi 7софта.

2.6.1 Программа для работы с макетной платы LPT-КР580ВВ55А

Организация ввода\вывода через LPT-порт через стандартный драйвер операционной системы затруднителен, и требует поддержки стандарта IEEE 1284 внешним устройством, который не реализован на полученной макетной плате. Поэтому была использована библиотека inpout32.dll, которая позволяет организовать ввод/вывод через системную шину в обход системного драйвера. Эта библиотека содержит две основные функции:

  • Inp32(PortAdr: word): byte;

  • Out32(PortAdr: word; Data: byte): byte.

Подключение библиотеки к Delphi 7 осуществляется размещением прототипов функций в секции uses следующих строк:

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll';

function Out32(PortAdr: word; Data: byte): byte; stdcall; external 'inpout32.dll';

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

Можно увидеть, что в центре окна расположена схема формата настройки управляющего слова для программирования микросхемы. Процедура, вызываемая нажатием левой кнопкой мыши кнопки RoCW реализует алгоритм записи настроенного управляющего слова в РУС.

procedure TForm1.btn1Click(Sender: TObject);

begin

out32($378,Byte(RUS)) ;

Contr:=Contr-[0]-[1]+[2]-[3]; sleep(10);

out32($37A,Byte(Contr-[2])) ; sleep(10);

out32($37A,Byte(Contr+[2])) ;

...

end;

Рисунок 2.1 - Окно программы управления макетной платы

LPT-КР580ВВ55А

Слева внизу находится панель ручного управления сигналами A0, A1, WR, RD, и по нажатию кнопки OUT 37A выбранная комбинация выводится в регистр контроля LPT-порта.

Панель D0..D7 выводит данные в линию данных в реальном времени.

Справа внизу расположены три кнопки port_A, port_B, port_C, которые реализуют алгоритм ввода/вывода данных в зависимости от состояния Checkbox IN_A, IN_B, IN_C. Если он отмечен галочкой, то реализуется процедура ввода с соответствующего порта, если нет – вывода на него. Информация о последней операции с портом находится над этими кнопками.

procedure TForm1.port_AClick(Sender: TObject);

var

Data_: Byte;

begin

if IN_A.Checked then

begin

Contr:=Contr+[0]+[1]+[2]-[3]+[5]; //пятый бит CR установит в 1

out32($37A,Byte(Contr+[3])); //установка RD в 0

Data_:= Inp32($378); //чтение данных с порта

lbl2.Caption:='IN Port_A - '+IntToHex(byte(Data_),2)+'h';

out32($37A,Byte(Contr-[3])); //установка RD в 1

end

else

begin

Contr:=Contr+[0]+[1]+[2]-[3]-[5]; //пятый бит CR установит в 0

DATA:=[0,1,2,3,4,5,6,7];

IF che0.Checked then DATA:=DATA+[0] else DATA:=DATA-[0] ;

IF che1.Checked then DATA:=DATA+[1] else DATA:=DATA-[1] ;

IF che2.Checked then DATA:=DATA+[2] else DATA:=DATA-[2] ;

IF che3.Checked then DATA:=DATA+[3] else DATA:=DATA-[3] ;

IF che4.Checked then DATA:=DATA+[4] else DATA:=DATA-[4] ;

IF che5.Checked then DATA:=DATA+[5] else DATA:=DATA-[5] ;

IF che6.Checked then DATA:=DATA+[6] else DATA:=DATA-[6] ;

IF che7.Checked then DATA:=DATA+[7] else DATA:=DATA-[7] ;

out32($378,Byte(DATA)); //вывод данных в шину данных

out32($37A,Byte(Contr-[2])); //установка WR в 0

out32($37A,Byte(Contr+[2])); //установка WR в 1

lbl2.Caption:='OUT Port_A - '+IntToHex(byte(Data),2)+'h';

end;

end;



2.7 USB протокол

Топология сети USB – древовидная, причём в каждом узле так называемого дерева находиться хаб, а в основании – корневой хаб. Схемотехника и программное обеспечение сети USB поддерживает горячее подключение и отлучение периферийных устройств без её повреждения, причём мастер способен автоматически в реальном времени определить факт подключения или отключения устройств. С учетом того, что мастер питает всю сеть, он контролирует энергопотребление всех её компонентов, и на основании информации, получаемой при опросе устройств об их потребностях, мастер может запретить работу некоторых, во избежание перегрузки.

2.7.1 Физический уровень

Линия связи в USB кабеле представлена в виде витой пары с импедансом 90 Ом.

Упрощенная электрическая схема USB соединения показана на листе 4 графического материала. Когда к хосту никто не подключен, обе сигнальные линии D+ и D- подтянуты резисторами 15 кОм к минусу питания. При подключении устройства одна из линий подтягивается к +3,3 В через резистор 1,5 кОм. Устройства Low Speed подтягивают линию D-, а устройства Full Speed - D+. Таким образом хост определяет факт подключения и тип подключенного устройства. Устройства High Speed в момент подключения работают как Full Speed, переключаясь в высокоскоростной режим после обмена «визитками».

Состояние дифпары, определенное резисторами подтяжки, в спецификации именуется Idle. При включенном драйвере обозначается буквой J (Jamp), а противоположное ему состояние - буквой K (Kill). Замыкание обеих линий на минус именуется Single Ended 0 (SE0), замыкание на плюс - SE1.

Данные кодируются по методу Non-return-to-zero inverted (NRZI). Этот метод предполагает изменение состояния дифпары (J→K или K→J) при нулевом бите, и отсутствие такого изменения - при единичном, с применением битстаффинга. Битстаффинг – принудительное добавление в поток данных нуля, на каждые шесть единиц подряд, применяется для исключения потери синхронизации на длительных единичных последовательностях.

Состояние шины SE0 дольше 10 мс трактуется устройством как сброс (Reset) и требует от устройства реинициализации USB стека. Состояние Idle дольше 3 мс подряд трактуется устройством как останов шины (Suspend) и формально требует от устройства самоограничения в потреблении электроэнергии от шины USB. Выход из Suspend происходит либо по возобновлению активности хоста, либо устройство может, при необходимости, подать специальный сигнал Resume. Сигнал Resume состоит из состояния K на несколько миллисекунд, завершаемое последовательностью SE0,SE0,J, где каждое состояние длится один битовый интервал согласно скоростному режиму устройства.


2.7.2 Общая структура физического уровня.

Физический уровень USB 1.1. состоит из двух драйверов и физической среды (кабеля) между ними, организуя полудуплексную передачу информации. Драйверы физического уровня не симметричны и разделяются на два типа [6]:

- downstream (внизпередающий) – ведущий драйвер, определяет кто, когда и сколько будет передавать данных в линию связи. Всегда генерирует информацию от хоста, так как установлены в нём или внизпередающем порту хаба;

- upstream (вверхпередающий) – ведомый драйвер, генерирует информационный сигнал в направлении хоста в порядке, установленном ведущим драйвером. Устанавливаются в устройствах и верхпередающих портах хаба. Между Full Speed и Low Speed драйверами есть некие физические различия.

В сети USB невозможно связать драйвера одного типа, так как они не симметричны, то есть нельзя соединить два хоста между собой, так как топология сети USB предполагает наличие лишь одного. В связи с этим и кабель имеет разъём серии А со стороны downstream, и серии B – со стороны upstream.

2.7.3 Устройство драйверов



На листе 4 графического материала представлена структура физического уровня downstream драйвера USB 1.1. Аппаратно downstream драйвер состоит из: контроллера, кодера, декодера, генератора, дифференциального и линейных приёмников, подтягивающих резисторов и источника питания [7].

2.7.3.1 Контроллер драйвера

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

Так как весь передаваемый пакет может быть сформирован программным уровнем, то аппаратная реализации контроллера не сложна.

2.7.3.2 Кодер NRZI

Кодирование методом NRZI реализовано с помощью JK-триггера. Алгоритм NRZI кодирования заключается в изменении полярности сигнальной линии при передаче нуля, и сохранении полярности предыдущего символа при передаче единицы. Full Speed и Low Speed кодирование осуществляется разнополярными выходами кодера. Использование NRZI кодирования позволяет сократить число синхробитов, вставляемых в пакет данных.

2.7.3.3 Декодер

Преобразует закодированные методом NRZI к начальному виду и выделяет синхросигнал из принимаемых данных.

2.7.3.4 Генератор

Генератор передает в линию связи дифференциальные нули и единицы.

Сигналом OE генератор отключается от линии связи и не влияет на её работу.

Для сброса шины сигналом SEO генератор может замыкать линию связи на общий провод.

Параметры генератора:

  • ЭДС генератора составляет +3,6 В;

  • внутреннее сопротивление – 56…88 Ом;

  • линейное напряжение низкого уровня при нагрузке 1,5 кОм, подключенной к +3,6 В – не более +0,3 В;

  • высокого уровня, при нагрузке 15 кОм, подключенной к GND – не менее +2,8 В.

2.7.3.5 Дифференциальный приёмник

Определяет два состояния: дифференциальный «0» и дифференциальную «1» путём измерения напряжения дифференциальной пары.

Параметры дифференциального приемника:

  • Чувствительность приёмника должна быть не ниже VDI= 200 мВ;

  • Дифференциальная «1»: Vdi > +200 мВ (Vd+ > Vd- более чем на 200 мВ в диапазоне линейного напряжения 0,8..2,5 В);

  • Дифференциальный «0»: Vdi < -200 мВ (Vd- > Vd+ более чем на 200 мВ в диапазоне линейного напряжения 0,8..2,5 В).

2.7.3.6 Линейные приемники

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

Параметры:

  • напряжение Vd+ или Vd- низкого уровня «0» - не более +0.8 В;

  • напряжение Vd+ или Vd- высокого уровня «1» - не менее +2.0 В.

Напряжения Vd+ или Vd- могут опускаться ниже, без фиксирования состояния SE0, на время не более 14 нс для Full Speed, и 210 нс – для Low Speed.

2.7.3.7 Подтягивающие резисторы

При подключении/отключении к порту Downstream Upstream устройств они идентифицируются подтягивающими резисторами. Для Downstream Vd+ и Vd- подтягиваются к низкому уровню (GND) резисторами 15 кОм.

Для Upstream Full Speed Vd+ подтягивают к высокому уровню (3.0...3.6 В) резистором 1,5 кОм.

Для Upstream Low Speed Vd- подтягивают к высокому уровню (3.0...3.6 В) резистором 1,5 кОм.

2.7.3.8 Источник питания

Напряжение источника питания USB должно находиться в пределах +5 В +/-5%.

Поп питанию USB порты бывают High-Power port (сильный питающий порт) и Low-Power port (слабый питающий порт), первый может обеспечить ток более 5 модульных нагрузок (одна модульная нагрузка равна 100 мА), то есть более 500 мА, мощность такого порта ограничивается мощностью блока питания, второй же должен обеспечивать минимум одну модульную нагрузку, и максимум – пять.

2.7.4 Структура пакетов

Обмен происходит короткими пакетами. Каждый пакет начинается с последовательности Start of Packet, для Low и Full Speed это KJKJKJKK. Далее всегда идет специальный идентификатор пакета PID (англ. Packet IDentifier), указывающий на тип пакета. Всего имеется 16 разных типов пакетов, поэтому PID имеет размерность 4 бита. Однако для надежности значение этого поля дублируется в инверсном виде, поэтому длина поля PID в пакете 8 бит. Заканчивается пакет последовательностью End of Packet (EoP): SE0,SE0,J. Минимальный межпакетный интервал ~0,1 мкс (для Full Speed).

В зависимости от типа пакета между PID и EoP может содержаться ряд других полей с параметрами пакета и/или данными. Все эти поля (включая PID) передаются младшим битом вперед (LSB first) [7].


2.7.5 Типы пакетов USB

Token Packets(TP) - маркерный пакет.

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

Структура пакетов транзакций USB представлена на листе 4 графического материала.

ADDR - число 1..127 -адрес устройства с которым будет работать хост в текущей транзакции;

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

Список файлов ВКР

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