Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Для подготовки контроллера СОМ - порта к работе необходимо

Рассмотрим порты ввода-вывода СОМ1, имеющего базовый адрес 3F8h. Следует обратить внимание, что порты 3F8h и 3F9h имеют разное назначение в зависимости от бита 7 порта 3F8h (т. е. бит DLAB - Divisor Latch Access Bit).

Сигналом RI локальный модем сообщает компьютеру (коммуникационной программе), к которому он подключен, о поступлении телефонного вызова, т. е. о предстоящем сеансе связи.

COM – порты могут быть сконфигурированы различным образом. BIOS PC поддерживает до 4 последовательных интерфейсов. С конфигурацией двух как правило, проблем не возникает, тем более что стандартные установки на плате интерфейса обычно соответствуют оптимальным. Проблемы могут возникнуть при конфигурировании портов COM3 и COM4, поскольку для необходимо указать непересекающиеся с другими устройствами адреса и номера линий прерывания.

Стандартные значения адресов и IRQ для COM – портов приведены в таблице 2.2.

Имя порта Адрес порта Прерывание
COM 1 3F8h-3FFh IRQ 4
COM 2 2F8h-2FFh IRQ 3
COM 3 3E8h-3EFh IRQ 4*
COM 4 2E8h-2EFh IRQ 3*

Таблица 2.

 

 

*Хотя порты COM 3 и COM 4 могут совместно с портами COM 1 и COM 2 использовать прерывания IRQ 3 и IRQ 4, не рекомендуется конфигурировать порты таким образом. Если необходимы дополнительные последовательные порты, то лучше установить COM 3 на IRQ 5 или IRQ 10, а COM 4 на IRQ 11 (конечно, если эти прерывания не используются другими устройствами).

Таблица3

Порт Операция Описание
3F8h Запись Регистр передатчика – сюда засылается байт для передачи
Чтение Регистр приёмника – отсюда извлекается принятый байт
Запись Если DLAB = 1,то сюда засылается младший байт скорости обмена (см. порт 3F9h)
3F9h Запись Если DLAB=1, то сюда засылается старший байт скорости обмена. Скорость задается значением делителя, равным 115200/V, где V - скорость в бодах. Например, для скорости 9600 бод делитель равен 115200/9600=12=0Ch, поэтому нужно вывести 0Ch в порт 3F8h и 0 в порт 3F9h.
Запись Регистр управления прерываниями (1 = разрешить прерывание): 7 6 5 4 3 2 1 0 ┌──┬──┬──┬──┬──┬──┬──┬──┐ │0 │0 │0 │0 │ │ │ │ │ Бит: └──┴──┴──┴──┴┬─┴┬─┴┬─┴┬─┘ ──── │ │ │ └─> 0: прерывание по │ │ │ приему символа │ │ └────> 1: прерывание по │ │ завершению │ │ передачи символа │ └───────> 2: прерывание по │ обрыву линии или │ или ошибке в линии └──────────> 3: прерывание по изменению состояния модема (любой из линий CTS, DSR, RI и DCD)
3FAh Чтение Регистр идентификации прерывания. Когда произошло прерывание, здесь содержится причина, вызвавшая его: 7 6 5 4 3 2 1 0 ┌──┬──┬──┬──┬──┬──┬──┬──┐ │0 │0 │0 │ 0│ 0│ │ │ Бит: └──┴──┴──┴──┴──┴──┼──┴┬─┘ ──── │ │ │ └──>0: 0=есть отложенные │ прерывания └──────>1-2:причина прерывания: 11=ошибка или обрыв линии; сбрасывается чтением регистра состояния линии (порт 3FDh) 10=принят символ; сбрасывается чтением приемника (порт 3F8h) 01=передан символ; сбрасывается записью символа в регистр передатчика (порт 3F8h) 00=изменение состояния модема(линий CTS, DSR, RI или DCD); сбрасывается чтением регистра состояния модема (порт 3FEh)
3FBh Чтение/ Запись Регистр управления линией 7 6 5 4 3 2 1 0 ┌──┬──┬──┬──┬──┬──┬──┬──┐ │ │ │ │ │ │ │ Биты: └┬─┴┬─┴┬─┴──┼──┴┬─┴──┼──┘ ───── │ │ │ │ │ │ │ │ │ │ │ └> 0-1: число битов │ │ │ │ │ данных: 00=5, 01=6, │ │ │ │ │ 10=6, 11=8 │ │ │ │ └─────> 2: число стоп-битов: │ │ │ │ 0=1, 1=1.5 при 5 │ │ │ │ битах данных и 2 в │ │ │ │ противном случае │ │ │ └─────────> 3-4: тип четности: │ │ │ X0=нет, │ │ │ 01=нечетная, │ │ │ 11=четная │ │ └──────────────> 5: постоянная │ │ четность: │ │ 0=отмена постоянной │ │ четности │ │ 1=постоянный бит │ │ четности, зависит от │ │ битов 3-4: │ │ биты 3-4=01 - бит четности всегда 1 │ │ биты 3-4=11 - бит четности всегда 0 │ │ биты 3-4=X0 - без бита четности │ └─────────────────> 6: 1=имитировать обрыв │ линии(посылка нулей) └────────────────────> 7: бит DLAB: 1=порты 3F8h и 3F9h для загрузки скорости обмена; 0=порты 3F8h и 3F9h в обычном режиме
3FCh Запись Регистр управления модемом 7 6 5 4 3 2 1 0 ┌──┬──┬──┬──┬──┬──┬──┬──┐ │ 0│ 0│ 0│ │ │ │ │ │ Бит: └──┴──┴──┴┬─┴┬─┴┬─┴┬─┴┬─┘ ─── │ │ │ │ └>0: 1=установить выход DTR │ │ │ └───>1: 1=установить выход RTS │ │ └──────>2: 1=установить OUT1 (не │ │ используется) │ └─────────>3: 1=установить OUT2 │ (разрешить прерывания от │ RS-232) └────────────>4: 1=диагностический режим (посылать выход на вход стыка).
3FDh Чтение Регистр состояния линии. Биты 1-4 вызывают прерывания по ошибке, если оно разрешено: 7 6 5 4 3 2 1 0 ┌──┬──┬──┬──┬──┬──┬──┬──┐ │ 0│ │ │ │ │ │ │ │ Бит: └──┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ─── │ │ │ │ │ │ └─> 0:1=данные приняты. Сбрасывается │ │ │ │ │ │ чтением приемника │ │ │ │ │ └────> 1:1=потеря предыдущего символа │ │ │ │ └───────> 2:1=ошибка четности │ │ │ └──────────> 3:1=неверный стоп-бит │ │ └─────────────> 4:1=обнаружен обрыв линии │ └────────────────> 5:1=сдвиговый регистр передатчика пуст. │ Можно передавать след. символ └───────────────────> 6:1=регистр передатчика пуст. Нет обрабатываемых данных.
3FEh Чтение Регистр состояния модема. Биты 0-3 вызывают прерывание по изменению состояния модема, если оно разрешено: 7 6 5 4 3 2 1 0 ┌──┬──┬──┬──┬──┬──┬──┬──┐ │ │ │ │ │ │ │ │ │ Бит: └┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ─── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──> 0:1=изменилось состояние линии CTS │ │ │ │ │ │ └─────> 1:1=изменилось состояние линии DSR │ │ │ │ │ └────────> 2:1=изменилось состояние линии RI │ │ │ │ └───────────> 3:1=изменилось состояние линии DCD │ │ │ └──────────────> 4: состояние линии CTS │ │ └─────────────────> 5: состояние линии DSR │ └────────────────────> 6: состояние линии RI └───────────────────────> 7: состояние линии DCD Примечание: "Изменилось состояние линии..." означает, что данная линия стыка RS-232 изменила свое состояние по сравнению с последним чтением этого регистра.

выполнить следующие шаги:

<== предыдущая лекция | следующая лекция ==>
В качестве стандартного обозначения для последовательного интерфейса чаще всего используют RS -232С | Чтобы наглядно убедиться в работоспособности программы соберите для удобства вот такую схему
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.