Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭК(вопросы и ответы).doc
Скачиваний:
13
Добавлен:
10.09.2019
Размер:
5.98 Mб
Скачать

1.23. Архітектура та принцип роботи годинника реального часу rtc та cmos пам'яті. Можливості програмування.

В состав IBM PC AT входят часы реальн времени Real Time Clock (RTC) и 64 байта неразрушающейся операт КМОП памяти (CMOS), питающиеся от автон ист пит. При включ ПЭВМ содержимое CMOS анализир-ся POST, кот. извлек из нее конфигур системы и текущие дату и время. Упрощ структ схема микросх МС146818 фирмы Motorola кот. представл на рис. 1.

Назначение сигналов следующее:

-CE - разрешение кристалла (выход дешифратора адреса);

DS - строб данных;

AS - адресный строб;

R/W - чтение/запись;

SQW - выходные прямоугольные импульсы – меандр (в IBM PC AT не используются);

IRQ - запрос на прерывание от RTC;

PS - сигнал состояния питания (используется для контроля достоверности данных);

CKOUT - синхросигн, кот.может использоваться как входной синхросигнал микропроц.

Основн часть RTC - задающий генер (внутр или внешн) с частотой 4.19 МГц, 1.04 МГц и делитель част, у кот. вых последн каскада (1 Гц) управл часами. Для доступа к данным CMOS исп-ся порты 70h и 71h, адрес рег подается в 70h порт, а данные чит/пиш через 71h порт.

Адреса CMOS с 10h по 20h защищ контрольн суммой, хранящейся по адресам 2Eh-2Fh. Порт 70h примен не только для задания адреса CMOS, но и для разреш или запрещ NMI (немаскируемого прерывания). Если бит 7 равен 0, то NMI разреш, если 1 - запрещается.

Все данные RTC хранятся в двоично - десятичном формате. Байты будильника 1h, 3h, 5h служат для создания времени выработки сигнала прерыв от RTС. Каждый байт может содержать конкретное значение времени (сек и мин в пределах 0-59, а часы в пределах 0-23) и "безразличное" значение - код в пределах C0h-FFh, т.е. два старших разряда содержат 1.

При конкр задании времени прерыв вырабат-ся раз в сутки (2 раза при 12-ти часов врем). Если байт часов содержит "безразличный" код, прерыв каждый час; если байт часов и минут "безразличны", прерыв каждую мин; и при всех "безразличных" байтах - каждую сек.

0Ah - Регистр A состояния RTC:

0Bh - Регистр B состояния RTC:

0Ch- Рег С сост RTC: биты сост прерыв, только для чт. При чт из рег все разр сбрасыв.

0Dh - Рег D сост RTC. Бит 7=1, если CMOS получ питание; 0=нет питания от автономн ист.

0Eh - Байт результатов начального тестирования:

0Fh -Байт состояния перезагрузки.

1.24. Архітектура системного таймера та призначення каналів таймера. Режими роботи каналів таймера. Можливості програмування.

В се компьютеры IBM содержат 3-х канальное 16-ти разрядное устр-во, наз сист таймером. Структурная схема системного таймера представлена на рис. 5.1.

Таймеры 8253 и 8254 состоят из трех независимых каналов. Каждый канал содержит регистры:

- состояния канала RS (8 разрядов);

- управляющего слова PSW (6 разрядов);

- буферный регистр OL (16 разрядов);

- регистр счетчика CE (16 разрядов);

- регистр констант пересчета CR (16 разрядов).

Каналы таймера подключаются к внешним устройствам при помощи трех линий:

GATE - управляющий вход; CLOCK - вход тактовой частоты; OUT - выход таймера.

Регистр счетчика CE работает в режиме вычитания. Его содержимое уменьшается по заднему фронту сигнала CLOCK при условии, что на входе GATE установлен уровень логической 1. В зависимости от режима работы таймера при достижении счетчиком CE нуля тем или иным способом меняется выходной сигнал OUT. Буферный регистр OL предназначен для запоминания текущего содержимого регистра счетчика CE без остановки процесса счета. После запоминания буферный регистр доступен программе для чтения. Регистр констант пересчета CR предназначен для хранения констант пересчета и может загружаться в регистр счетчика, если это требуется в текущем режиме работы таймера. Содержимое регистра CR изменяется только при перезагрузке счетчика или при перепрограммировании режима (записи управляющего слова). При перепрограммировании содержимое CR устанавливается в нуль. Регистр состояния канала RS хранит текущее состояние канала и может быть прочитан для выбранного канала командой "обратное чтение".Регистр управляющего слова PSW хранит управляющую информацию канала и задает его режим работы до следующего перепрограммирования. Системный генератор импульсов (СГИ) независимо от типа и производительности компьютера IBM вырабатывает импульсы одной и той же частоты - 1 193180 Гц.

В компьютерах IBM PC/XT/AT/PS2 задействованы все три канала таймера.

Канал 0 используется в системных часах времени суток. Этот канал работает в режиме 3 (описание режимов см. в п.5.2.) и используется как генератор импульсов с частотой примерно 18,2 Гц. Канал 1 используется для регенерации содержимого динамической памяти компьютера, поэтому его лучше не трогать. Выходная линия канала OUT связана с микросхемой прямого доступа к памяти (DMA), и ее импульс заставляет DMA регенерировать память. Канал использует режим 2 таймера. Канал 2 связан с громкоговорителем (динамиком) компьютера и может быть использован для генерации различных звуков или музыки либо как генератор случайных чисел. Канал использует режим 3 таймера.

Каждый канал таймера может работать в одном из шести режимов.

Режим 0 - прерывание терминального счета. После загрузки PSW сигнал OUT устанавливается в 0. Запись константы не влияет на OUT. Счет разрешается сигналом GATE=1 и запрещается GATE=0. При GATE=1 и фронту первого CLK константа счета N загружается из CR в CE, а по второму CLK начинается счет. OUT удерживается в нуле до конца счета, т.е. на время (N+1)*T сек. после чего возвращается в 1. Изменение GATE не влияет на OUT, но при GATE=0 счет приостанавливается, а при GATE=1 возобновляется без перезагрузки CE. Загрузка нового управляющего слова при новой константе возобновляет цикл.

Режим 1 - программируемый ждущий мультивибратор. На выходе OUT формируется сигнал низкого уровня длительностью T=Tclk*N (N - константа пересчета; Tclk - период синхроимпульсов). Счет начинается (OUT устанавливается в 0) по положительному фронту GATE, и OUT становится равен 1 по завершению счета. Данный режим является режимом с перезапуском, т.е. по каждому положительному фронту GATE содержимое CR передается в CE и перезапускает его, даже если предыдущий счет не завершен до конца. Загрузка во время счета новой константы не влияет на длительность текущего импульса до новой перезагрузки.

Режим 2 - импульсный генератор частоты. Канал выполняет функцию программируемого делителя входной частоты Fclk . Сразу после загрузки PSW выход OUT становится равным 1 и при удержании GATE=1 сигнал OUT держится в состоянии 1 в течении времени (N-1)*Tclk, после чего переходит в 0 и удерживается в этом состоянии на время Tclk. По окончании указанного цикла выполняется автозагрузка CE из CR и цикл повторяется. При подаче GATE=0 OUT устанавливается в 1, счет прекращается и возобновляется при GATE=1 с начального значения. При загрузке новой константы в CR во время счета текущий цикл не меняется, изменится длительность следующего цикла.

Режим 3 - генератор меандра. Режим аналогичен режиму 2, но на выходе формируются импульсы длительностью полупериода N/2*Tclk при четном N. При нечетном N положительный импульс (OUT=1) имеет длительность (N+1)/2*Tclk, а отрицательный импульс(OUT =0) имеет длительность (N-1)/2*Tclk. Генератор не работает,если N=3.

Режим 4 - программно формируемый строб. Сигнал OUT устанавливается равным 1 после загрузки PSW и удерживается до конца счета, после чего на выходе OUT устанавливается 0 на период Tclk и возвращается в 1, т.о. цикл работы имеет длительность (N+1)*Tclk сек. По действию сигнала GATE и режиму работы (однократное выполнение функции) он аналогичен режиму 0.

Режим 5 - аппаратно формируемый строб. По выходному сигналу режим аналогичен режиму 4 (OUT=1 после загрузки PSW до конца счета и OUT=0 в течении Tclk после окончания счета), а по действию GATE режиму 1, т.е. запуск счета выполняется по переднему фронту сигнала GATE.

Каждый канал таймера программируется отдельно и независимо от других. При программировании канала необходимо послать ему управляющее слово (старшие 2 разряда управляющего слова указывают номер канала, а остальные 6 разрядов защелкиваются в регистре PSW выбранного канала), после чего загружается регистр констант пересчета CR. Так как 16-ти разрядные регистры констант CR отображаются через 8-ми разрядные порты, то загрузка CR выполняется в соответствии с указаниями управляющего слова. Таймеру соответствуют 4 порта ввода/вывода со следующими адресами: 40h - канал 0; 41h - канал 1; 42h - канал 2; 43h - управляющее слово.