Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 19:10, лабораторная работа
Цель работы:
научиться программировать последовательный порт IBM PC;
изучить временные диаграммы последовательных посылок кодов ASCII – литер;
изучить структуру коммуникационной процедуры.
Цель работы:
Краткие теоретические сведения
Последовательная связь. Стандарт RS-232C
RS-232 (Recommended Standard 232)
— интерфейс, используемый в телекоммуникациях стандарт последовательной асинхронной п
Последовательная связь предусматривает последовательную (по битам) передачу данных. Такая связь может осуществляться как между компьютерами, так и между компьютером и другими устройствами. Этот вид связи широко используется для передачи данных между устройствами, расположенными в одном помещении, но, если воспользоваться, например, телефонными линиями, такую связь можно осуществлять на любом расстоянии.
Любая ЭВМ к телефонной линии подключается с помощью модема. ЭВМ при этом играет роль ООД (Оконечного Оборудования Данных) или DTE (Data Terminal Equipment), а модем роль АПД (Аппаратуры Передачи Данных) или DCE (Data Communication Equipment). Подключение АПД к ОДД стандартизовано (стандарт RS-232C) (рис.1).
Для подключения модема к ПК имеются 13 соединительных проводов, но из них обычно используются только 9:
Сигналы 9 (DTR) и 4 (RTS) направляются от компьютера к модему, а сигналы 8 (DCD), 10 (RI), 6 (DSR) и 5 (CTS) направляются от модема к компьютеру.
По этим линиям передаются данные в линию, принимаются данные с линии и организуется аппаратное управление потоком (flow control по RTS/CTS) в отличие от программного управления потоком (XON/XOFF).
Физический смысл сигналов:
Соединение устройства сопряжения с телефонной линией
Схема (рис.2) позволяет уточнить взаимосвязь сигналов используемых для управления потоком. Понять конструкцию нуль-модемных кабелей, т.к. этот интерфейс возможно использовать для подключения к ЭВМ периферийных устройств. Следует отметить, что модем в этих случае не нужен. Но для удовлетворения требованиям интерфейса его нужно смоделировать, т.е. подключить контакты так, чтобы интерфейс считал, что модем подключен.
В этом случае управление потоком осуществляется на основании состояния бита готовности ввода и бита готовности вывода (и связанных с ними сигналов прерываний), находящихся в регистре состояния линии интерфейса.
Если к последовательному порту подключен модем, то при выводе данных в линию необходимо также учитывать готовность модема, определяемую сигналом CTS. Так максимальная скорость передачи данных согласно стандарту RS-232C составляет 20 Кбит/с.
Рис.2
Временные диаграммы вывода данных в линию и ввода данных с линии представлены на рис. 3 и 4 соответственно. При этом управление потоком осуществляется на основании состояния бита готовности ввода и бита готовности вывода (и связанных с ними сигналами прерываний), находящихся в регистре состояния линии интерфейса.
Рис. 3 Рис.4
Если к последовательному порту подключен модем, то при выводе данных в линию необходимо также учитывать готовность модема, определяемую сигналом .
Адресация регистров
Операционная система поддерживает два порта коммуникации COM1 и COM2, базовые адреса которых 3F8H и 2F8H соответственно (таблица 1). Структура регистров описана на рис.5, 6 и 7.
Таблица 1
Код адреса регистра |
Наименование регистра |
D L A B |
Сигнал | ||
Чтение IOR |
Запись IOW | ||||
COM1 |
COM2 | ||||
3F8h |
2F8h |
Регистр хранения передатчика |
0 |
1 |
0 |
3F8h |
2F8h |
Регистр данных приемника |
0 |
0 |
1 |
3F8h |
2F8h |
Делитель скорости обмена (мл. байт) |
1 |
||
3F9h |
2F9h |
Делитель скорости обмена (ст. байт) |
1 |
||
3F9h |
2F9h |
Регистр разрешения прерываний “IER” |
0 |
||
3FAh |
2FAh |
Регистр идентификации прерываний “IIR” |
0 |
||
3FBh |
2FBh |
Регистр управления линией “LCR” |
0 |
||
3FCh |
2FCh |
Регистр управления модемом “MCR” |
0 |
||
3FDh |
2FDh |
Регистр состояния линии “LSR” |
0 |
||
3FEh |
2FEh |
Регистр состояния модема “MSR” |
0 |
Регистр управления линией (LCR) Регистр состояния линии (LSR)
Рис.5
Регистр идентификации прерываний (IIR) Регистр разрешения прерываний (IER)
Рис.6
Регистр управления модемом (MCR) Регистр состояния модема (MSR)
Рис.7
Формат данных
В асинхронном режиме необходимо указывать начало и конец единицы информации, поэтому в начале передаваемых данных помещают стартовый бит, а в конце – стоповый бит. Когда передачи нет на линии устанавливается состояние логической «1», называемой паузой, при передаче данных стартовый бит равен 0, а стоповый равен 1.
Программируемый генератор скорости передачи
UART 8250 содержит программируемый генератор скорости передачи, который способен делить входной сигнал (1,8432 мГц) на любое число от 1 до 216-1). Выходная частота представляет собой скорость передачи, умноженную на 16 [ делитель = (входная частота)/(скорость передачи * 16)].
Делитель хранится в двух 8-битных регистрах в 16-битном двойном формате. Эти регистры делителя должны быть загружены при инициализации. При загрузке любого регистра из регистров делителя загружается 16-битный счетчик скорости. Это предотвращает долгий пересчет при первоначальной загрузке.
Порядок выполнения лабораторной работы
Ход работы
Код литеры «а» - 61h, количество стоповых бит 2, четный паритет. Регистр LCR содержит биты: 00011111.
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
2. Создание программы UART.
Листинг программы представлен в приложении А. При создании программы в регистр LCR внесено слово: 00011111.
3. Выполнить транслирование и редактирование связей.
Для транслирования используется команда masm, а для редактирования связей link.
Формат: masm uart.asm; link uart.obj.
4. Построение диаграмм работы программы UART.
Регистр LCR содержит биты: 00011111.
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
Если ввести другую букву, например А, код которой 41h (01000001)2, то на экране появится следующая диаграмма:
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
Вывод: в опыте произведен ввод литеры «А», что привело к изменению диаграммы. Результат работы совпал с ожидаемым.