Логический элемент
Архитектура и принцип работы часов реального времени RTC и CMOS памяти. Возможности программирования
Download 384.49 Kb.
|
Answers
1.23. Архитектура и принцип работы часов реального времени RTC и CMOS памяти. Возможности программирования1.23. АРХІТЕКТУРА ТА ПРИНЦИП РОБОТИ ГОДИННИКА РЕАЛЬНОГО ЧАСУ RTC ТА CMOS ПАМ'ЯТІ. МОЖЛИВОСТІ ПРОГРАМУВАННЯ. В состав IBM PC AT входят часы реального времени Real Time Clock (RTC) и 64 байта неразрушающейся оперативной КМОП памяти (CMOS), питающиеся от автономного источника питания. При включении ПЭВМ содержимое CMOS анализируется POST, который извлекает из нее конфигурацию системы и текущие дату и время. Часы реального времени RTC и CMOS память выполнены на базе микросхемы МС146818 фирмы Motorola, упрощенная структурная схема которой представлена на рис. 1. Назначение сигналов следующее: -CE - разрешение кристалла (выход дешифратора адреса); DS - строб данных; AS - адресный строб; R/W - чтение/запись; SQW - выходные прямоугольные импульсы – меандр (в IBM PC AT не используются); IRQ - запрос на прерывание от RTC; PS - сигнал состояния питания (используется для контроля достоверности данных); CKOUT - синхросигнал, который может использоваться как входной синхросигнал микропроцессора. Основная часть RTC - задающий генератор (внутренний или внешний) с частотой 4.194304 МГц, 1.048576 МГц и делитель частоты, у которого выход последнего каскада (1 Гц) управляет часами. Для доступа к данным CMOS используются порты 70h и 71h, причем адрес регистра подается в 70h порт, а данные читаются/пишутся через 71h порт. Адреса CMOS с 10h по 20h защищены контрольной суммой, хранящейся по адресам 2Eh-2Fh. Поэтому изменения содержимого этих адресов необходимо сопровождать пересчетом и изменением контрольной суммы. Порт 70h применяется не только для задания адреса CMOS, но и для разрешения или запрещения NMI (немаскируемого прерывания). Если бит 7 равен 0, то NMI разрешается, если 1 - запрещается. Все данные RTC хранятся в двоично - десятичном формате (BCD). Байты будильника 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 - Байт состояния перезагрузки. Этот байт считывается после сброса ЦП, чтобы определить не был ли сброс вызван для вывода 80286 из защищенного режима. Download 384.49 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling