Разработка наиболее удобного и практичного интерфейса для вычисления измерений высокочастотной емкости
Характеристика физического и электрического интерфейса. Изучение регистра данных, состояния и управления. Исследование программ для передачи строки данных на низком уровне. Анализ программируемого периферийного адаптера. Основные особенности микросхемы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.09.2018 |
Размер файла | 775,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Коммуникационная часть
1.1 Параллельный интерфейс
1.2 Интерфейс Centronics
1.3 Стандартный параллельный порт ПК
1.4 Стандарт IEEE 1284 -1994
1.5 Физический и электрический интерфейс
1.6 Работа с SPP портом на низком уровне
1.7 Работа с SPP портом через INT 17h
1.8 Реализации двунаправленного обмена данными
1.9 Неисправности и тестирование параллельных портов
2. Аппаратная часть
2.1 Программируемый периферийный адаптер 8255A
2.2 Основные особенности микросхемы:
2.3 Микроконтроллер
3. Интерфейс управления
4. Охрана труда
4.1 Анализ опасных и вредных производственных факторов
4.2 Защитные меры
4.3 Производственное освещение
4.4 Электромагнитные излучения
4.5 Организация места работы оператора
4.6 Электробезопасность
4.7 Пожаровзрывозащита
5. Экономическая часть
5.1 Определение затрат на провидение НИР
Заключение
Список литературы
Аннотация
Приложение
Введение
Современный этап научно технического прогресса характеризуется широким применением электроники и микроэлектроники во всех сферах жизни и деятельности человека. Важную роль при этом сыграло появление и быстрое совершенствование элементной базы для разработки и проектирования различных периферийных устройств и устройств вычислительной техники.
Вычислительные машины и комплексы применяются в настоящее время практически во всех отраслях жизнедеятельности человека - связи и передачи данных, медицине и в быту, измерительных и контролирующих системах, в системах автоматического управления и многих других, где играют немаловажную роль и поэтому должны отвечать высоким требованиям, как точности, так и надежности.
Автоматизация, это очень удобный и эффективный процесс в разных отраслях деятельности человека. Данные разработки производятся давно, но каждый раз мы хотим добиться наилучшего результата. Моя разработка применима не только для снятий и обработки замеров но и так же можно ее применять для автоматизации практически любого производственного процесса. Так как устройство разработанное мною основывается на микроконтроллере широкого применения. Приведу несколько характеристик.1) возможность перепрограммирования. 2) работа с любыми видами портов для передачи данных. 3) выполнения задач от простого будильника до выполнения высоко технологичных процессов.
1. Коммуникационная часть
1.1 Параллельный интерфейс
Коммуникационные порты компьютеров (LPT) широко используются для управления различными периферийными устройствами, такими как принтеры, сканеры, плоттеры, а так же для связи с промышленными объектами в системах автоматизации управления. Через последовательный порт так же осуществляется связь с удаленными объектами через модем, включая и выход в глобальную сеть Internet. Исторически параллельный интерфейс был введен в персональный компьютер (ПК) для подключения принтера (отсюда и аббревиатура LPT - Line printer - построчный принтер). Однако впоследствии параллельный интерфейс стал использоваться для подключения других периферийных устройств - сканеров, дисководов типа Zip и ряда других устройств. Базовая разновидность порта позволяет передавать данные только в одном направлении (от ПК к ПУ), однако позднее был разработан ряд стандартов двунаправленной передачи данных.
Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в адресном пространстве устройств ввода/вывода. Количество регистров зависит от типа порта, однако три из них стандартны и присутствуют всегда - регистр данных, регистр состояния и регистр управления. Адреса регистров отсчитываются от базового, стандартные значения которого 3BCh, 378h, 278h. Порт может использовать аппаратное прерывание (IRQ7 или IRQ9). Многие современные системы позволяют изменять режим работы порта, его адрес и IRQ из настроек BIOS Setup. Например, в AWARD BIOS имеется раздел Integrated Peripherals, позволяющий настраивать режим, адрес и IRQ порта. LPT порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-х битную шину управляющих сигналов. Очевидно, что порт резко асимметричен - 12 линий работают на вывод и только 5 на ввод. При начальной загрузке BIOS пытается обнаружить параллельный порт, причем делает это примитивным и не всегда корректным образом - по возможным базовым адресам портов передается тестовый байт, состоящий из чередующегося набора нулей и единиц (55h или AAh), затем производится чтение по тому же адресу, и если прочитанный байт совпал с записанным, то считается, что по данному адресу найден LPT порт. Определить адрес порта LPT4 BIOS не может. Для работы с ПУ в BIOS предусмотрено прерывание INT 17h, предоставляющее возможность передавать данные (побайтно), инициализировать ПУ и получать информацию о его состоянии.
1.2 Интерфейс Centronics
Понятие Centronics относится к набору сигналов, протоколу обмена и разъему, устанавливаемому в принтерах. Большинство современных принтеров совместимы с интерфейсом Centronics. Назначение сигналов и контакты разъема ПУ, на который они выведены приведены в таблице 1.1
Таблица 1.1. - Сигналы интерфейса Centronics.
Сигнал |
Т |
Конт. |
Напр. |
Назначение |
|
Strobe |
0 |
1 |
i |
Строб данных. Передается ЭВМ, данные фиксируются по низкому уровню сигнала. |
|
D0 ... D7 |
1 |
2-9 |
i |
Линии данных. D0 - младший бит. |
|
Ack |
0 |
10 |
o |
Acknowledge - импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования прерывания. |
|
Busy |
1 |
11 |
o |
Занят. Прием данных возможен только при низком уровне сигнала |
|
PE |
1 |
12 |
o |
"1" сигнализирует о конце бумаги |
|
Select |
1 |
13 |
o |
"1" сигнализирует о включении принтера (ГП - готовность приемника), обычно +5 В через резистор от источника питания ПУ) |
|
Auto LF |
0 |
14 |
i |
Автоматический перевод строки. Если "0", то ПУ при получении символа CR (перевод каретки) выполняет функцию LF - перевод строки |
|
Error |
0 |
32 |
o |
Ошибка ПУ (off-line, нет бумаги, нет тонера, внутренняя ошибка) |
|
Init |
0 |
31 |
i |
Инициализация (переход к началу строки, сброс всех параметров на значения по умолчанию) |
|
Slct In |
0 |
36 |
i |
Выбор принтера. При "1" принтер не воспринимает остальные сигналы интерфейса |
|
GND |
19-30, 33 |
- |
Общий провод |
Примечание: столбец "T" - активный уровень сигнала: "1" - высокий активный уровень, "0" - низкий активный уровень. Столбец "Напр." - направление передачи по отношению к принтеру: I - вход, 0 - выход.
Сигнал Auto LF практически не применяется, но его неправильное значение приводит к тому, что принтер либо делает пропуски строк, либо печатает строки поверх друг друга, либо дублирует строки при печати в два прохода.
Контроль и модификация сигналов интерфейса Centronics может производиться при помощи программы LPT-MON, описанной ниже.
Рисунок 1.1- Протокол обмена по интерфейсу Centronics
Передача начинается с проверки источником сигнала "Error". Если он установлен, то обмен не производится. Затем проверяется состояние сигнала "Busy". Если он равен "0", то источник приступает к передаче байта данных. Для передачи байта источник выставляет на линии D0-D7 байт данных и выдает сигнал Strobe. Приемник по сигналу Strobe# (здесь и далее по тексту значок "#" после названия сигнала является признаком того, что сигнал имеет низкий активный уровень) читает данные с шины данных и выставляет сигнал Busy на время его обработки. По окончании обработки приемник выдает сигнал ACK# и снимает сигнал Busy. Если в течение длительного времени (6 - 12 сек) источник не получает ACK#, то он принимает решение о ошибке "тайм-аут" (time-out) устройства. Если после приема байта приемник по какой - либо причине не готов принимать данные, то он не снимает сигнал Busy. При программной реализации обмена по указанному протоколу желательно ограничить время ожидания снятия Busy (обычно 30 - 45 сек), иначе возможно зависание программы.
1.3 Стандартный параллельный порт ПК
Стандартный параллельный порт называется SPP (Standard Parallel Port - Стандартный Параллельный Порт). SPP порт является однонаправленным, на его базе программно реализуется протокол обмена Centronics. Порт обеспечивает возможность генерации IRQ по импульсу ACK# на входе. Сигналы порта выводятся на стандартный разъем DB-25S (розетка), который размещен непосредственно на плате адаптера или соединяется с ним плоским шлейфом (в случае, если адаптер интегрирован с материнской платой). Названия сигналов соответствуют названиям сигналов интерфейса Centronics (таблица 1.2).
В таблице 1.2 I/O - направление передачи: I - вход; O - выход; O(I) - выход, состояние которого может быть считано при определенных условиях, O/I - выходные линии, состояние которых читается при чтении из соответствующих регистров порта.
Таблица 1.2. - Разъем и шлейф стандартного LPT порта
Контакт DB-25S |
Провод шлейфа |
I/O |
Сигнал |
Контакт DB-25S |
Провод шлейфа |
I/O |
Сигнал |
||
1 |
1 |
O/I |
Strobe# |
10 |
19 |
I* |
ACK# |
||
2 |
3 |
O(I) |
D0 |
11 |
21 |
I |
Busy |
||
3 |
5 |
O(I) |
D1 |
12 |
23 |
I |
PE |
||
4 |
7 |
O(I) |
D2 |
13 |
25 |
I |
Select |
||
5 |
9 |
O(I) |
D3 |
14 |
2 |
O/I |
Auto LF# |
||
6 |
11 |
O(I) |
D4 |
15 |
4 |
I |
Error# |
||
7 |
13 |
O(I) |
D5 |
16 |
6 |
O/I |
Init# |
||
8 |
15 |
O(I) |
D6 |
17 |
8 |
O/I |
Select In# |
||
9 |
17 |
O(I) |
D7 |
18 - 25 |
10,22,14, 16,18,20,22,24,26 |
- |
GND |
* - Вход ACK# соединен с питанием +5 В через резистор 10 кОм. Это сделано для исключения ложных прерываний, т.к. прерывание генерируется по отрицательному перепаду сигнала на входе ACK#.
В качестве недостатков стандартного LPT порта (SPP) следует отметить невысокую скорость передачи данных (100 - 150 КБ/сек), загрузку процессора при передаче данных, невозможность двунаправленного побайтного обмена. Существует "радиолюбительская" методика двунаправленного обмена, которая состоит в том, что для ввода данных на линии D0-D7 выставляют "1", а в качестве передатчика используют микросхемы с открытым коллектором, которые при открытом транзисторе могут "подсаживать" напряжение логической единицы до уровня порядка 1.5 - 1.7 В. Ток ограничен на уровне 30 мА. Как очевидно из уровней сигналов, они не соответствуют уровням ТТЛ, поэтому многие порты не работают в таком режиме или работают нестабильно. Кроме того, такой способ может быть опасен для адаптера порта, который будет работать с предельными для него токами.
1.4 Стандарт IEEE 1284 -1994
Стандарт на параллельный интерфейс IEEE 1284, принятый в 1994 году, определяет термины SPP, ЕРР и ЕСР. Стандарт определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена данными через параллельный порт:
Compatibility Mode - однонаправленный (вывод) по протоколу Centronics. Этот режим соответствует стандартному (традиционному) порту SPP
Nibble Mode - ввод байта в два цикла (по 4 бита), используя для ввода линии состояния. Этот режим обмена может использоваться на любых адаптерах.
Byte Mode - ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi -Directional или PS/2 Type 1).
ЕРР- (Enhanced Parallel Port) Mode - двунаправленный обмен данными, при котором управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту (чтения или записи в порт). Эффективен при работе с устройствами внешней памяти, адаптерами локальных сетей.
ЕСР - (Extended Capability Port) Mode - двунаправленный обмен с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding), использования FIFO-буферов и DMA. Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров.
В современных АТ - машинах с LPT-портом на системной плате режим порта - SPP, ЕРР, ЕСР или их комбинация задается в BIOS Setup. Режим Compatibility Mode полностью соответствует SPP и часто установлен по умолчанию. Все остальные режимы расширяют функциональные возможности интерфейса и повышают его производительность..
1.5 Физический и электрический интерфейс
Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов. IEEE 1284 предусматривает два уровня интерфейсной совместимости: первый уровень - для устройств, не требующих высоких скоростей обмена, но использующих возможность смены направления передачи данных; уровень два - устройства, работающие в расширенных режимах, с высокими скоростями и длинными кабелями.
Требования к передатчикам приведены в таблице 1.3, для приемников - в таблице 1.4.
Таблица 1.3. - Требования стандарта IEEE 1284 к передатчикам
Требование |
Значение |
|
Диапазон уровней сигналов без нагрузки |
-0.5...+5.5 В |
|
Уровень "1" при токе нагрузки 14 мА, не менее |
+2.4 В |
|
Уровень "0" при токе нагрузки 14 мА, не более |
+0.4 В |
|
Выходной импеданс, измеренный на разъеме |
50+ 5 Ом |
|
Скорость нарастания/спада импульса (должен находиться в указанных пределах) |
0.05 ... 0.4 В/нс |
Таблица 1.4 - Требования стандарта IEEE 1284 к приемникам
Требование |
Значение |
|
Допустимые пиковые значения сигналов, выдерживаемые без разрушения и ошибок в работе, В |
-2.0 ... +7.0 |
|
Порог срабатывания "1", не выше, В |
2.0 |
|
Порог срабатывания "0", не ниже, В |
0.8 |
|
Гистерезис приемника (триггер Шмитта) (пределы), В |
0.2 - 1.2 |
|
Входной ток (втекающий и вытекающий), не более, мкА |
20 |
|
Входная емкость, не более, пФ |
50 |
Примечание: Входные линии соединяются с шиной питания резистором 1.2 кОм.
Стандарт IEEE 1284 определяет три типа используемых разъемов: А (DB-25), B (Centronics-36), C (новый малогабаритный 36-контактный разъем).
Интерфейсные кабели могут иметь от 18 до 25 проводников (в зависимости от числа проводников GND). Не предъявляется жестких требований к экранировке и прочим параметрам, однако, такие кабели могут работать только на низких скоростях при длине не более 2 метров. Стандарт IEEE 1284 для кабелей:
Все сигнальные проводники должны быть перевиты с отдельными обратными (общими) проводами.
Каждая пара должна иметь импеданс 62+ 6 Ом в диапазоне частот 4-16 МГц.
Уровень перекрестных помех не должен превышать 10%
Кабель должен иметь экран, покрывающий не менее 85 процентов внешней поверхности. На концах кабеля экран должен быть окольцован и соединен с контактом разъема.
Кабели, удовлетворяющие этим требованиям, маркируются как "IEEE Std 1284 - 1994 Compliant". Они могут иметь длину до 10 метров.
1.6 Работа с SPP портом на низком уровне
Работа с параллельным портом на низком уровне (т.е. на уровне прямого обращения к контроллеру порта) применяется при решении различного круга задач по обмену информацией с нестандартными устройствами, для написания драйверов принтеров и ряда других задач. Прямая работа с контроллером позволяет реализовать любой протокол обмена с устройством и использовать линии порта по своему усмотрению.
Контроллер порта расположен в адресном пространстве устройств ввода-вывода и обращение к нему производится посредством команд IN и OUT ассемблера. Информацию о портах LPT1 - LPT3 можно получить, прочитав переменные BIOS, приведенные в табл. 1.5.
Таблица 1.5. - Переменные BIOS для LPT портов
Имя порта |
Адрес в BIOS |
Тип переменной |
Описание |
|
LPT1 |
0040:0008h |
Word |
Базовый адрес порта LPT1. Если переменная равна 0, то порт LPT1 не найден |
|
0040:0078h |
Byte |
Константа, задающая тайм-аут |
||
LPT2 |
0040:000Ah |
Word |
Базовый адрес порта LPT2. Если переменная равна 0, то порт LPT2 не найден |
|
0040:0079h |
Byte |
Константа, задающая тайм-аут |
||
LPT3 |
0040:000Ch |
Word |
Базовый адрес порта LPT3. Если переменная равна 0, то порт LPT3 не найден |
|
0040:007Ah |
Byte |
Константа, задающая тайм-аут |
||
LPT4 |
0040:000Eh |
Word |
Базовый адрес порта LPT4. Если переменная равна 0, то порт LPT4 не найден |
|
0040:007Bh |
Byte |
Константа, задающая тайм-аут |
Примечание: BIOS ищет порты по адресам 3BCh, 378h, 278h. Порт LPT4 BIOS найти не может.
Пример определения базового адреса (TASM):
push dx
mov ax, 40h
mov es, ax ; в es - сегмент = 0040h
mov dx, es:[08] ; dx = базовый адрес порта LPT1
mov lpt1_adr, dx ; запомнили адрес порта LPT1 в переменной lpt1_adr
pop dx
Переменная lpt1_adr имеет тип word и должна быть определена в сегменте данных.
Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам, начиная с базового (Base) адреса - табл. 1.6.
Таблица 1.6. - Регистры стандартного LPT порта
Адрес |
Название |
W-R |
|
Base+0 |
Data Register - регистр данных (DR) |
W/R |
|
Base+1 |
Status register - регистр состояния (SR) |
R |
|
Base+2 |
Control Register - регистр управления (CR) |
W/R |
Регистр данных
Записанные в этот регистр данные выводятся на выходные линии интерфейса D0-D7. Результат чтения этого регистра зависит от схемотехники адаптера и соответствуют либо записанным ранее данным, либо сигналам на линиях D0-D7, что не всегда одно и тоже (на этом принципе и базируется "радиолюбительский" метод двунаправленного обмена, основанный на "подсаживании уровней "1" на выходе порта до уровня "0"). При стандартном включении справедлив первый вариант - читаемые данные равны ранее записанным.
Регистр состояния
Представляет собой 5-ти битный порт ввода, на который заведены сигналы от внешнего устройства. Допускает только чтение. Назначение битов регистра состояния приведены в таблице 1.7.
Таблица 1.7. - Биты регистра состояния
Бит |
Вес |
Название |
Назначение |
|
7 |
128 |
BUSY |
Инверсное отображение состояния линии Busy (11). При низком уровне на линии 11 (Busy) - бит равен "1" - ПУ готово к приему очередного байта |
|
6 |
64 |
ACK |
Отображение состояния линии ACK# (10). "0"-подтверждение приема, "1"-обычное состояние |
|
5 |
32 |
PE |
Отображение состояния линии Paper End (12). "0" - норма, "1" - в ПУ нет бумаги |
|
4 |
16 |
SLCT OUT |
Отображение состояния линии Select (13). "0" - ПУ не выбрано, "1" - ПУ выбрано |
|
3 |
8 |
Error инв. |
Отображение состояния линии Error (15). "0" - ошибка ПУ, "1" - обычное состояние |
|
2 |
4 |
PIRQ |
Флаг прерывания по ACK# (только PS/2). Обнуляется, если ACK# вызвал аппаратное прерывание. "1" - после сброса или после чтения регистра состояния |
|
1-0 |
4-1 |
-- |
Не используются (резерв) |
Регистр управления
Регистр управления представляет собой 4-х битный порт вывода, допускающий чтение и запись. Биты 0,1,3 инвертируются, т.е. "1" в данных битах регистра управления соответствует "0" на соответствующих линиях порта. Назначение бит регистра управления приведены в таблице 1.8. Бит 5 используется только портами PS/2.
Таблица 1.8. - Биты регистра управления
Бит |
Вес |
Название |
Назначение |
|
7 |
128 |
- |
Резерв |
|
6 |
64 |
- |
Резерв |
|
5 |
32 |
Direction |
Бит управления направлением порта PS/2. "1" - режим ввода, "0" - режим вывода |
|
4 |
16 |
AckIntEn |
Бит управления генерацией прерывания по ACK# "1" - разрешить прерывание по спаду ACK# (10) |
|
3 |
8 |
SLCT IN |
Управление линией SLCT IN# (17). "1" - работа принтера разрешена. |
|
2 |
4 |
INIT |
Управление линией INIT# (16). "1" - обычное состояние, "0" - аппаратный сброс ПУ |
|
1 |
2 |
Auto LF |
Управление линией Auto LF# (14). "1" - включить режим "Auto LF", "0" - обычное сост. |
|
0 |
1 |
Strobe |
Управление линией Strobe# (1). "1" - стробирование данных, "0" - обычное сост. |
Пример программы для передачи строки данных на низком уровне.
Пример разработан на TASM.
DATA Segment byte public 'DATA' ; Описываем сегмент
; данных
String DB 'Test printer !!!',0Dh, 0Ah,0 ; выводимая строка
Lpt1_adr DW 0 ; Переменная для хранения базового адреса LPT1
DATA ENDS ; конец сегмента данных
; Сегмент кода - в нем расположим саму программу
CODE Segment byte public 'CODE'
ASSUME CS:CODE,DS:DATA,ES:DATA
START: ; Начало программы
mov ax, data ; установим ds на сегмент данных
mov ds, ax
push dx
mov ax, 40h
mov es, ax ; в es - сегмент = 0040h
mov dx, es:[08] ; dx = базовый адрес порта lpt1
mov lpt1_adr, dx ; запомнили адрес порта lpt1 в переменной lpt1_adr
pop dx
LOOP1: ; цикл печати строки
mov ah, ds:[bx] ; прочитали очередной символ строки
cmp ah, 0h ; это конец строки ?
je exit ; да, выход
call out_byte ; нет, печатаем его
inc bx ; на следующий символ
jmp loop1 ; повторяем, пока не достигли конца строки
EXIT: ; завершение программы
mov ax,4C00h ; завершить с кодом возврата 0
int 21h
;**** процедуры и функции программы ****
OUT_BYTE: ; процедура вывода символа из ah на принтер с ожиданием
push dx
LOOP2:
mov dx, lpt1_adr
inc dx ; адрес регистра состояния (lpt1_adr+1)
in al, dx ; Читаем регистр состояния
test al, 80h ; Проверим сигнал BUSY (<1> - принтер готов)
jz loop2 ; если нет, то повторим опрос
dec dx ; адрес регистра данных (lpt1_adr)
mov al, ah ; Загрузка передаваемого байта в AL
out dx, al ; Запись байта в регистр данных
inc dx
inc dx ; адрес регистра управления (lpt1_adr+2)
in al, dx ; Читаем регистр управления
; Формируем строб
and al, 11111110b ; Бит 0 (Strobe):=0
out dx, al ; Запись в регистр управления
or al, 00000001b ; Бит 0 (Strobe):=1
out dx, al ; Запись в регистр управления
and al, 11111110b ; Бит 0 (Strobe):=0
out dx, al ; Запись в регистр управления
pop dx
ret ; выход в основную программу
code ends
end start
Коротко о работе программы. В начале программы описан сегмент данных, содержащий выводимую ASCIIZ строку (строку, завершающуюся нулем) и переменную типа Lpt1_adr типа Word для хранения базового адреса порта Lpt1.
В начале программы она определяет базовый адрес Lpt1 и сохраняет его в переменной Lpt1_adr. Затем идет цикл побайтного вывода строки, критерий завершения - текущий символ равен 0. Вывод символа производится процедурой OUT_BYTE (передаваемый символ должен находиться в AL на момент вызова процедуры).
При запуске OUT_BYTE читает регистр состояния порта и проверяет 7-й бит (BYSY). Если он равен 0 (принтер занят), то повторяем опрос регистра состояния до достижения готовности принтера (цикл LOOP2). Затем в регистр данных записывается код передаваемого символа, после чего формируется импульс Strobe.
Данный пример несколько некорректен - цикл ожидания готовности принтера может продолжаться бесконечно, если по какой либо причине он держит на линии сигнал BUSY. Для устранения повисания в цикле LOOP2 необходимо сделать привязку к таймеру для проверки времени ожидания и, в случае ожидания более чем 15 - 20 сек, выдать сообщение о том, что принтер не готов к работе. Кроме того, после определения базового адреса необходимо проверить, не равен ли он 0 (признак отсутствия LPT порта).
1.7 Работа с SPP портом через INT 17h
Как очевидно из рассмотренного в п.п. 1.5.4 примера работы с портом на низком уровне, написание программы сложно и невозможно перехватить вывод информации в порт. Это означает, что невозможно разработать программу - драйвер для перекодировки символов, передаваемых в порт или для реализации нестандартного протокола обмена. Качественно иной подход - использование программного прерывания BIOS INT 17h. Параметры вызова функций INT 17h приведены в таблице 1.9.
Таблица 1.9. - Функции INT 17h
Функция |
Регистры при вызове |
Регистры при возврате |
|
Вывод символа по протоколу Centronics |
ah = 00h al = выводимый символ dx = номер принтера (0 - 3) |
AH - слово состояния |
|
Инициализация принтера |
ah = 01h dx = номер принтера (0 - 3) |
AH - слово состояния |
|
Принтер - получить состояние |
ah = 01h dx = номер принтера (0 - 3) |
AH - слово состояния |
Слово состояния принтера: слово состояния принтера содержит биты 1..7 регистра состояния указанного порта (см. п.п. 1.5.2), а бит 0 является флагом тайм-аута. Если он установлен, то ПУ не снимает сигнал BUSY в течении времени, заданного в соответствующей переменной BIOS.
Пример программы для передачи строки через INT 17h
В качестве примера рассмотрим ту же программу, что и в примере по прямой работе с LPT портом.
; Описываем сегмент данных, в котором расположим все данные программы
DATA Segment byte public 'DATA'
String DB 'Тест принтера !!!',0 ; выводимая строка
Error DB 'Ошибка: принтер не готов !!!!$' ; сообщение об
; ошибке
DATA ENDS ; конец сегмента данных
; Сегмент кода - в нем расположим саму программу
CODE Segment byte public 'CODE'
; Зададим соответствие регистров для использования по умолчанию
ASSUME CS:CODE, DS:DATA, ES:DATA
START: ; Начало программы
mov ax, data ; установим ds на сегмент данных
mov ds, ax
mov dx, 0 ; принтер на lpt1
mov ah, 2 ; функция int 17 "получить состояние принтера"
int 17h ; проверим состояние принтера
test ah,80h ; принтер готов ?
jz err_exit ; если нет, то выход с сообщением о ошибке
mov bx, offset string ; смещение на выводимую строку
LOOP1: ; Цикл печати строки
mov al, ds:[bx] ; прочитали очередной символ строки
cmp al, 0h ; это конец строки ??
je exit ; да, выходим
call out_byte ; нет, печатаем его
inc bx ; на следующий символ
jmp loop1 ; повторим
ERR_EXIT: ; Выход по ошибке
mov dx, offset error ; вывод строки на экран
mov ah, 9
int 21h
mov ax, 4c00h ; завершить с кодом возврата 1
int 21h
EXIT: ; Нормальное завершение
mov al, 0ah ; дадим перевод каретки
call out_byte
mov ax,4c00h ; завершить с кодом возврата 0
int 21h
; **** Процедуры и функции программы ****
OUT_Byte: ; Процедура вывода символа из AL на принтер с
; ожиданием
push ax ; процедура должна быть рентабельна
push dx
LOOP2:
mov dx, 0
mov ah, 2
int 17h ; проверим состояние принтера
test ah,80h ; готов ?
jz loop2 ; если нет, то повторим опрос
mov ah, 0
int 17h ; выводим символ
pop dx
pop ax
ret ; выход в основную программу
CODE ENDS ; Завершение кодового сегмента
END START ; Конец программы
1.8 Реализации двунаправленного обмена данными
Проблема двунаправленного обмена возникла при появлении устройств типа накопителя ZIP, которые удобно подключать к LPT порту. Существует несколько стандартных решений, одобренных IEEE 1284. Рассмотрим два наиболее простых. В описании двунаправленного обмена применяются следующие термины:
Хост (Host) - ПК с LPT портом
Прямой канал (передача в прямом направлении) - канал (передача) от хоста к ПУ; обратный канал - канал ввода данных в Хост от ПУ
1.2 Полубайтный обмен - Nibble Mode.
Режим полубайтного обмена (Nibble Mode) наиболее универсален и может использоваться на любом стандартном (SPP) порту. SPP порт имеет 5 линий ввода, используемых для ввода сигналов состояния ПУ. Их можно использовать для ввода данных за два прима по 4 бита (Nibble - полубайт). Назначение и название сигналов, используемых в Nibble Mode приведены в таблице 1.10
Таблица 1.10. - Сигналы, используемые при вводе в Nibble Mode
Конт. |
Сигнал SPP |
Сигнал NM |
I/O |
Назначение |
|
14 |
Auto Feed# |
HostBusy |
O |
Сигнал квитирования. "0" - готовность к приему тетрады "1"-подтверждение приема тетрады |
|
17 |
SLCT IN# |
- |
O |
"1" - признак обмена по IEEE 1284 "0" - обмен по SPP |
|
10 |
ACK# |
PtrClk |
I |
"0" - действительность тетрады "1" - ответ на HostBusy |
|
11 |
BUSY |
- |
I |
Прием битов 3, 7 |
|
12 |
PE |
- |
I |
Прием битов 2, 6 |
|
13 |
SELECT |
- |
I |
Прием битов 1, 5 |
|
15 |
ERROR# |
- |
I |
Прием битов 0, 4 |
Прием в режиме Nibble Mode производится следующим образом: ПК сигнализирует о готовности к приему низким уровнем HostBusy. ПУ в ответ выставляет на линии младшую тетраду данных и сигнализирует о ее действительности низким уровнем PtrClk. ПК в ответ устанавливает высокий уровень HostBusy, сигнализируя о занятости приемом и обработкой. ПУ отвечает на это высоким уровнем PtrClk. Затем все перечисленные действия повторяются для старшей тетрады данных. Nibble Mode универсален и гарантированно работает на любом порте любого типа (SPP, EPP, ECP), поэтому применяется в устройствах типа накопителя ZIP как режим по умолчанию. Однако, прием данных в Nibble Mode сильно загружает процессор, максимальная скорость обмена, как правило, не превышает 50 - 60 кбайт/с. Обмен с ПУ получается aсимметричным - скорость приема будет в два раза меньше скорости передачи.
Режим EPP.
Протокол EPP (улучшенный параллельный порт) был разработан задолго до принятия IEEE 1284 и предназначен для повышения производительности обмена данными по параллельному порту.
Протокол EPP обеспечивает 4 типа циклов обмена:
a) Цикл записи данных
б) Цикл чтения данных
в) Цикл записи адреса
г) Цикл чтения адреса
Циклы чтения/записи адреса и данных отличаются протоколами (используют разные стробирующие сигналы). Внешние сигналы EPP порта формируются аппаратно в течении одного процессорного цикла ввода/вывода, что позволяет достичь скоростей 0.5 - 2 Мбайт/с . Назначение сигналов LPT порта в EPP режиме
Таблица 1.11. - Сигналы, используемые в режиме EPP
Конт. |
Сигнал SPP |
Сигнал EPP |
I/O |
Назначение |
|
1 |
Strobe# |
WRITE# |
O |
"0" - признак цикла записи, "1" - признак цикла чтения |
|
14 |
Auto Feed# |
DATASTB# |
O |
Строб данных. |
|
17 |
SLCT IN# |
ADDRSTB# |
O |
Адреса данных. |
|
16 |
INIT# |
RESET# |
O |
Сброс ПУ (по "0") |
|
10 |
ACK# |
INTR# |
I |
Прерывание от ПУ |
|
11 |
BUSY |
WAIT# |
I |
Сигнал квитирования. "0" - разрешает начало цикла "1" - разрешает завершение цикла |
|
12 |
PE |
ACKDATAREQ |
I |
Используется по усмотрению разработчика |
|
13 |
SELECT |
XFLAG |
I |
---//--- |
|
15 |
ERROR# |
DATAAVAIL# |
I |
---//--- |
По сравнению с SPP, EPP порт имеет расширенный набор регистров - табл. 1.12
Таблица 1.12. - Регистры порта EPP
Имя регистра |
Смещение |
Режим |
R/W |
Описание |
|
SPP Data Port |
Base+0 |
SPP/EPP |
W |
Регистр данных SPP |
|
SPP Status Port |
Base+1 |
SPP/EPP |
R |
Регистр состояния SPP |
|
SPP Control Port |
Base+2 |
SPP/EPP |
W |
Регистр управления SPP |
|
EPP Address Port |
Base+3 |
EPP |
R/W |
Регистр адреса EPP |
|
EPP Data Port |
Base+4 |
EPP |
R/W |
Регистр данных EPP |
|
? |
Base+5 ..+7 |
EPP |
? |
Может использоваться в некоторых контроллерах для 16/32 битных операций ввода/вывода |
Для передачи байта в качестве адреса или данных необходимо записать его в соответствующий регистр EPP порт, для чтения - прочитать.
Наличие сигнала WAIT# очень важно - при помощи этого сигнала периферийное устройство может подстраивать скорость обмена под свое быстродействие. Кроме того, протокол подстраивается под длину интерфейсного кабеля - вносимые за счет длины кабеля задержки просто приведут к удлинению циклов обмена. В данном сигнале наблюдается различие в стандартах EPP порта: EPP порт, удовлетворяющий IEEE 1284 поддерживает WAIT#, а некоторые старые разновидности портов - нет. Они меняют состояние стробирующих сигналов DATASTB# и ADDRSTB# независимо от WAIT#, как следствие периферийное устройство не может подстраивать скорость обмена. Такая спецификация называется EPP 1.7.
В виду того, что обмен по EPP идет в течение одного процессорного цикла обмена, необходимо исключить возможность "зависания" процессора в таком цикле обмена за счет того, что устройство долгое время не отвечает. Повисание исключено, так как через 15 мкс любой цикл обмена завершается принудительно. Временные диаграммы записи приведены на рис. 1.3
Для записи данных в порт программа выполняет цикл записи (IO WR) в порт EPP Data. Адаптер при этом устанавливает Write в низкий уровень и помещает данные на линии порта. Затем адаптер при низком уровне Wait устанавливает строб данных и ждет подтверждения от ПУ (перевода Wait в высокий уровень). По приходу Wait, адаптер снимает строб данных - на этом внешний цикл обмена завершается. Затем завершается процессорный цикл ввода-вывода (снятие IO WR). Спустя некоторое время ПУ устанавливает низкий уровень Wait, указывая на возможность нового цикла обмена.
Рисунок - 1.3 временная диаграмма записи
Рисунок - 1.4 временная диаграмма процесса чтения
Временные диаграммы процесса чтения приведены на рис. 1.4 и отличаются типом процессорного цикла ввода-вывода и стробом.
Режим ECP.
ECP - Extended Parallel Port - параллельный порт с расширенными возможностями. Предложен фирмами Hewlett Packard и Microsoft для связи с периферией типа принтеров и сканеров. Обеспечивает высокопроизводительный двунаправленный обмен данными с возможностью применения RLE компрессии (RLE - Run-Length Encoding - методика сжатия длинных повторяющихся последовательностей байт). Допускает буферизацию FIFO для прямого и обратного канала, использование DMA и программного ввода-вывода.
Протокол ECP обеспечивает передачу в обоих направлениях по двум типам циклов: циклу записи и чтения данных; циклу записи и чтения команд. Командные циклы, в свою очередь, подразделяются на два типа: передачу канальных адресов и счетчика RCL (Run-Length Counter). Канальная адресация ECP применяется для адресации множества логических устройств, входящих в одно физическое. Например, комбинированное устройство типа принтер/факс/модем допускает одновременную печать и прием факса - драйвер при работе с ним адресуется к другому логическому каналу одного и того же порта.
ECP аппаратно генерирует внешние протокольные сигналы. Обмен по ECP можно условно разделить на два независимых процесса, связанных через FIFO буфер: обмен программы с буфером FIFO (программным обменом или через DMA) и ПУ с буфером FIFO (аппаратно через адаптер ECP). Сигналы порта в ECP режиме приведены в таблице 1.13.
Таблица 1.13. - Сигналы порта EPP
Конт. |
Сигнал SPP |
Сигнал ECP |
I/O |
Назначение |
|
1 |
Strobe# |
HostClk |
O |
Используется в паре с PeriphAck для передачи в прямом направлении. |
|
14 |
Auto Feed# |
HostAck |
O |
Индицирует тип команда/данные при передаче в прямом направлении. Используется в паре с PeriphClk для передачи в обратном направлении. |
|
17 |
SLCT IN# |
- |
O |
"1" - признак обмена по IEEE 1284 "0" - обмен по SPP |
|
16 |
INIT# |
Reverse Request # |
O |
"0" - передача в обратном направлении "1" - передача в прямом направлении |
|
10 |
ACK# |
PeriphClk |
I |
Используется в паре с HostAck для передачи в обратном направлении. |
|
11 |
BUSY |
PeriphAck |
I |
Используется в паре HostClk с для передачи в обратном направлении. Индицирует тип команда/данные при передаче в обратном направлении. |
|
12 |
PE |
Ack Reverse # |
I |
Переводится в "0" в качестве подтверждения Reverse Request # |
|
13 |
SELECT |
X Flag |
I |
Флаг расширяемости |
|
15 |
ERROR# |
Periph Request # |
I |
Устанавливается ПУ в для указания на доступность обратного канала |
|
2...9 |
Data[0:7] |
Data[0:7] |
I/O |
Двунаправленный канал данных |
Временные диаграммы рис. 1.5 показывают прямую передачу данных.
Для передачи байта данных ПК помещает данные на шину канала обмена, устанавливает HostAck в соответствии с типом передаваемого байта (данные или команда), затем устанавливает низкий уровень HostClk, указывая на действительность данных. ПУ отвечает установкой "1" на PeriphAck, ПК в ответ устанавливает высокий уровень HostClk.
Рисунок - 1.5 временная диаграмма прямых передач данных
Этот перепад может использоваться для фиксации байта в ПУ. После обработки принятого байта ПУ устанавливает низкий уровень PeriphAck, указывая на готовность к приему следующего байта. На рис. 1.5 показана передача данных и команды. Передача в обратном направлении аналогична, только дополнительно используется пара сигналов Ack Reverse # и Reverse Request # для смены направления обмена; изменяются сигналы квитирования (см. таблицу 1.13).
1.9 Неисправности и тестирование параллельных портов
Тестирование параллельных портов целесообразно начинать с проверки их наличия в системе. Список адресов установленных портов обычно появляется в таблице заставки, выводимой BIOS на экран перед загрузкой ОС. Кроме этой таблицы, список можно посмотреть и с помощью тестовых программ или прямо в BIOS DATA AREA с помощью любого отладчика.
Если BIOS обнаруживает меньше портов, чем установлено физически, скорее всего, каким-либо двум портам присвоен один адрес. Программное тестирование порта без диагностической заглушки (Loop Back) не покажет ошибок, поскольку при этом читаются данные выходных регистров, а они у всех конфликтующих (по отдельности исправных портов) совпадут. Именно такое тестирование и производит BIOS при проверке на наличие портов. Разбираться с такой ситуацией имеет смысл последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке.
Если физически установлен только один порт и его не обнаруживает BIOS, то либо он отключен при конфигурировании, либо вышел из строя скорее всего из-за нарушений правил подключения.
Тестирование портов с помощью диагностических программ позволяет проверить их выходные регистры, а при использовании специальных заглушек -- и входные линии. Поскольку количество выходных линий порта (12) и входных (5) различно, то полная проверка порта с помощью пассивной заглушки принципиально невозможна. Разные программы тестирования требуют применения специально на них ориентированных заглушек (рис. 1.6),
Рисунок - 1.6 схема заглушки для тестирования LPT-порта программой Checkit
Большинство неприятностей при работе с LPT-портами доставляют разъемы и кабели. Для проверки порта, кабеля и принтера можно воспользоваться специальными тестами из популярных диагностических программ (Checkit, PCCheck и т. п.), а можно вывести на принтер какой-либо символьный файл.
Если вывод файла с точки зрения DOS проходит (копирование файла на устройство с именем LPTn или PRN проходит быстро и успешно), а принтер (исправный) не напечатал ни одного символа -- скорее всего, это обрыв (неконтакт в разъеме) цепи STROBES.
Если принтер по своему индикатору находится в состоянии On Line, a появляется сообщение о его неготовности (Not Ready Error), то причину следует искать в линии Busy.
Если принтер искажает информацию при печати, возможен обрыв (или замыкание) линий данных. В этом случае удобно воспользоваться файлом, содержащим последовательность кодов всех печатных символов (его можно создать с помощью простой программы, написанной даже на языке Basic, -- ее текст приведен ниже).
10 OPEN "bincod.chr" FOR OUTPUT AS #1
20 FORJ=2T015
30 FOR 1=0 ТО 15
40 PRINT#1, CHR$(16*J+I);
50 NEXT I 60 PRINT#1,
70 NEXTJ
80 CLOSE #1
90 END
Файл BINCOD.CHR, созданный данной программой, представляет собой таблицу всех печатных символов (управляющие коды пропущены), расположенных по 16 символов в строке. Если файл печатается с повтором некоторых символов или их групп, по периодичности повтора можно легко вычислить оборванный провод данных интерфейса. Этот же файл удобно использовать для проверки аппаратной руссификации принтера.
Если принтер, подключенный к порту, в стандартном режиме (SPP) печатает нормально, а при переходе на ЕСР начинаются сбои, следует проверить кабель -- соответствует ли он требованиям IEEE 1284. Кабели с неперевитыми проводами нормально работают на скоростях 50-100 Кбайт/с, но при скорости 1-2 Мбайт/с, обеспечиваемой ЕСР, они могут не работать, особенно при длине более 2 метров.
Если при установке драйвера РпР-принтера появилось сообщение о необходимости применения «двунаправленного кабеля», проверьте наличие связи контакта 17 разъема DB-25 с контактом 36 разъема Centronics.
Аппаратные прерывания от LPT-порта используются далеко не всегда. Неисправности, связанные с цепью прерывания от порта, проявляются не часто. Однако по-настоящему многозадачные ОС (например, сервер NetWare) стараются работать с портом именно по прерываниям. Тестировать линию прерывания можно, только подключив к порту периферийное устройство или специальную заглушку.
2. Аппаратная часть
На ниже приведенном рисунке показана полная схема работы устройства.Она заключается в следуещем. Поступаущий сигнал с аналого-цифрового преобразователя прежде чем передасться на компьютер пройдет преобразование, за счет програмируеммого адаптера и микроконтроллера. Описание каждого из компонентов приведено ниже.
Рисунок - 1.7 оснавная блок схема всего процесса работы устройства
2.1 Программируемый периферийный адаптер 8255A
Программируемый периферийный адаптер (ППА) i8255A представляет собой три канала ввода/вывода A, B и C по 8 бит каждый. Имеет три режима работы. В режиме 0 три упомянутых канала могут быть независимо друг от друга запрограммированы на ввод или вывод информации. Режим 1 позволяет передавать информацию по каналам A и B, используя отдельные биты канала C для управления обменом данными. В режиме 2 канал A приобретает свойство двунаправленной шины, управляемой опять же отдельными битами канала C. Кроме того, возможны установка и сброс отдельных битов канала C. Микросхема имеет варианты исполнения в корпусе DIP40 и PLCC44. 8255A - NMOS версия, 82c55A - CMOS. Выпускался фирмами Intel, Harris, Intersil.
2.2 Основные особенности микросхемы
3 канала ввода/вывода, 8 бит каждый;
3 режима работы (1 - статический ввод/вывод, 2 - тактируемый ввод/вывод, 3 - двунаправленный ввод/вывод);
раздельное программирование каждого канала на ввод или вывод.
Описание структуры и функционирование
Структурная схема программируемого периферийного адаптера представлена на рис. 1.7
Рисунок - 1.7структурная схема программируемого периферийного адаптера
ППА структурно разбит на две группы (A и B). Группа A включает в себя канал A и старшую тетраду канала C. Группа B состоит из канала B и младшей тетрады канала C. Доступ к каналам ввода/вывода и регистру управления осуществляется с помощью логики чтения-записи в соответствии с табл. 1.
Расположение выводов в корпусе DIP40:
1 |
- |
PA3 |
PA4 |
- |
40 |
|
2 |
- |
PA2 |
PA5 |
- |
39 |
|
3 |
- |
РА3 |
PA6 |
- |
38 |
|
4 |
- |
PA0 |
PA7 |
- |
37 |
|
5 |
- |
RD |
WR |
- |
36 |
|
6 |
- |
CS |
RES |
- |
35 |
|
7 |
- |
GND |
D0 |
- |
34 |
|
8 |
- |
A1 |
D1 |
- |
33 |
|
9 |
- |
A0 |
D2 |
- |
32 |
|
10 |
- |
PC7 |
D3 |
- |
31 |
|
11 |
- |
PC6 |
D4 |
- |
30 |
|
12 |
- |
PC5 |
D5 |
- |
29 |
|
13 |
- |
PC4 |
D6 |
- |
28 |
|
14 |
- |
PC0 |
D7 |
- |
27 |
|
15 |
- |
PC1 |
Vcc |
- |
26 |
|
16 |
- |
PC2 |
PB7 |
- |
25 |
|
17 |
- |
PC3 |
PB6 |
- |
24 |
|
18 |
- |
PB0 |
PB5 |
- |
23 |
|
19 |
- |
PB1 |
PB4 |
- |
22 |
|
20 |
- |
PB2 |
PB3 |
- |
21 |
Сигналы A0,A1,CS должны быть выставлены ранее или одновременно с передним фро...
Подобные документы
Разработка и анализ интерфейса пользователя базы данных. Ознакомление с процессом поэтапного создания проекта и добавления файла локальной базы данных. Исследование и характеристика главных принципов программирования функциональной части интерфейса.
дипломная работа [3,0 M], добавлен 27.09.2017Анализ современных форм представления статистических данных, используемых для выявления степени и уровня экономической асимметрии регионального развития. Создание удобного программного интерфейса для работы с базой данных. Разработка структуры модуля.
курсовая работа [2,1 M], добавлен 08.12.2013Последовательный интерфейс для передачи данных. Синхронный и асинхронный режимы передачи данных. Формат асинхронной посылки. Постоянная активность канала связи при синхронном режиме передачи. Реализация последовательного интерфейса на физическом уровне.
реферат [106,9 K], добавлен 28.04.2010Анализ состояния и способов автоматизации складского хозяйства. Управление и оптимизация материальных запасов. Обзор современного состояния программ для торговли и склада. Разработка структуры базы данных информационной системы. Описание интерфейса.
дипломная работа [1,2 M], добавлен 16.06.2015Создание тестирующих и игровых программ. Степень сложности и художественного оформления интерфейса пользователя. Создание справочной системы. Корректное отображение символов. Создание системы управления базами данных в среде Delphi и таблиц базы данных.
методичка [1,0 M], добавлен 24.10.2012Функциональные зависимости и нормализация отношений. Ограничения целостности данных. Описание таблиц на языке SQL. Интерфейс пользователя и надёжность программ обработки данных. Обработка данных с помощью запросов. Работа с данными из внешних источников.
дипломная работа [1,6 M], добавлен 25.04.2015Федеральная служба судебных приставов как федеральный орган исполнительной власти. Основные этапы разработки интерфейса в виде веб-сервиса. Общая характеристика схемы интерфейса "Пристав" для удаленного просмотра соединений таблиц из единой базы данных.
отчет по практике [1,0 M], добавлен 07.08.2013Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.
курсовая работа [2,1 M], добавлен 08.06.2012Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.
курсовая работа [4,1 M], добавлен 17.07.2012Характерные особенности мультимедиа-технологий. Особенности разработки мультимедиа-проигрывателя. Анализ удобного пользовательского интерфейса, эквалайзера регулятора громкости. Разработка строки описания треков, программы меню, информации "О программе".
курсовая работа [1,6 M], добавлен 12.12.2011Возможности извлечения информации из баз данных. Программы для создания и обработки базы данных и создания пользовательского интерфейса. Обоснование выбора программных средств для реализации. Создание базы данных, интерфейса и базы данных к интерфейсу.
курсовая работа [2,9 M], добавлен 24.03.2023Анализ аналогов и выбор прототипа, разработка алгоритма и графического интерфейса, кодирование и тестирование. Логическая модель данных "Нотариальная контора". Особенности реализации в MS SQL. Требования к функциональным характеристикам базы данных.
курсовая работа [1,3 M], добавлен 12.01.2013Основные компоненты системы и управление ими. Распределенная система управления и человеко-машинный интерфейс. Инструментарий для создания OPC-серверов и OPC-клиентов. Техническое руководство для администраторов, обслуживающих OPC-клиент и веб-сервер.
дипломная работа [2,0 M], добавлен 20.10.2011Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Особенности организации передачи данных в компьютерной сети. Эталонная модель взаимодействия открытых систем. Методы передачи данных на нижнем уровне, доступа к передающей среде. Анализ протоколов передачи данных нижнего уровня на примере стека TCP/IP.
курсовая работа [1,0 M], добавлен 07.08.2011Классификация систем управления базами данных. Выбор операционной системы, языка программирования, среды разработки (IDE) и дополнительных компонент. Разработка интерфейса и функций программы по управлению складом, её тестирование и исходный код файлов.
курсовая работа [487,3 K], добавлен 25.12.2015Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.
курсовая работа [867,9 K], добавлен 16.07.2013Система управления базами данных (СУБД) как программная система для создания общей базы данных. Создание СУБД для управления поставкой и реализацией ювелирных изделий. Типы данных, физическая и логическая модели. Разработка интерфейса пользователя.
курсовая работа [467,8 K], добавлен 14.12.2012Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.
дипломная работа [2,1 M], добавлен 20.12.2015Разработка графического интерфейса для ввода начальных значений, отображения результатов и тестирования методов собственного класса на языке программирования С++. Подсветка цветом выбранных операндов в процессе их инициализации и вывода на дисплей.
курсовая работа [234,6 K], добавлен 27.12.2014