Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Intel 8253

Untitled







8253 / 8253-5
PROGRAMMABLE INTERVAL TIMER


1 8253-5 совместим с MCS-85................
2 3 независимых 16-битовых счетчика........
3 DC до 2МГц...............................
4 Программируемые режимы пересчета.........
5 Пересчет двоичный или двоично-десятичный.
6 одиночное питание +5V....................
7 24-штырьковый корпус "два-в-линию".......


Intel 8253 это программируемый счетчик/генератор,
разработанный для использования в качестве периферии
микрокомпьютера Intel. Изготвливается с использованием
технологии nMOS6 использует, одиночное питание +5В и
размещен в 24-штырьковой упаковке.
8253 организован как три независимых 16-битовых
счетчика, каждый со скоростью пересчета до 2МГц. Все
операционные режимы программируются.
Ф У Н К Ц И О Н А Л Ь Н О Е О П И С А Н И Е.

Введение

8253 это программируемый интервальный
счетчик/генератор, специально разработанный для
использования вместе с микрокомпьютерными системами. В
общем, его функции это многогенераторный элемент общего
назначения, который рассматривается системным программным
обеспечением как массив портов ввода/вывода.
8253 решает одну из основных проблем любой
микрокомпьютерной системы, генерируя точное временные
задержки под программным управлением. Вместо установки
циклических повторений в программном обеспечении системы,
программист конфигурирует 8253 в соответствие со своими
требованиями, инициализирует один из его счетчиков на
желаемое число, и затем командует 8253 начать счет задержки
и прервать работу ЦПУ когда эта задача выполнится. Легко
видеть, что накладные расхода минимальны и что несколько
задержек могут использоваться путем назначения приоритетных
уровней.
Другие функции 8253, которые не являются
синхронизирующими, но также общие для большинства
микрокомпьютеров могут реализовываться с помощью 8253.

_ Программируемый частотный генератор
_ Счетчик событий
_ Двоичный частотный умножатель (multiplier)
_ Часы реального времени
_ Цифровой one-shot
_ Контроллер сложных двигателей

Буфер шины данных.

Для согласования с системной шиной данных в 8253
имеется 8-битовый высокоимпедансный двунаправленный буфер.
Данные передаются и принимаются буфером при выполнении
инструкций ЦПУ IN (ввод) и OUT (вывод). Три основных функции
буфера шины данных:

1. Программирование режимов 8253
2. Загрузка регистров счета
3. Считывание регистров счета

Логика обмена (Read/Write)

Логика обмена принимает входы с системной шины и
включает генерацию управляющих сигналов сразу для всех
операций устройства. Это разрешается и запрещается сигналом
CS, так что никакая операция не может изменить функцию, если
только устройство не выбрано системной логикой.
__
RD ( чтение )

Низкий уровень этого входа информирует 8253, что ЦПУ
вводит данные в виде значений счетчиков.
__
WR ( запись )

Низкий уровень этого входа информирует 8253, что ЦПУ
выводит данные в виде информации о режиме или загружает
счетчики.

A0, A1

Эти входы обычно подключаются к адресной шине. В их
функции входит выбор одного из трех счетчиков для работы с
ним и обращение к регистру управляющего слова для выбора
режима.

CS ( Chip Select - выбор схемы )

Низкий уровень этого входа разрешает 8253. Никакая
операция чтения или записи не может произойти если
устройство не выбрано. CS не влияет на операцию обновления
счетчиков.

¦CS RD WR A1 A0 ¦ ¦
¦0 1 0 0 0 ¦ Загрузить счетчик N0 ¦
¦0 1 0 0 1 ¦ Загрузить счетчик N1 ¦
¦0 1 0 1 0 ¦ Загрузить счетчик N2 ¦
¦0 1 0 1 1 ¦ Записать слово режима ¦
¦0 0 1 0 0 ¦ Прочитать счетчик N0 ¦
¦0 0 1 0 1 ¦ Прочитать счетчик N1 ¦
¦0 0 1 1 0 ¦ Прочитать счетчик N2 ¦
¦0 0 1 1 1 ¦ нет операции 3-state ¦
¦1 X X X X ¦ запрещение 3-state ¦
¦0 1 1 X X ¦ нет операции 3-state ¦


Регистр управляющего слова

Регистр управляющего слова выбирается, когда A0 и A1
равны 11, и затем он принимает информацию из буфера шины
данных и записывает ее в регистр. Информация, хранящаяся в
этом регистре, управляет операционным режимом каждого
счетчика, указывая двоичный или двоично-десятичный пересчет
и загрузку регистров счета.
Регистр управляющего слова может быть только записан.
Операция чтения его содержимого отсутствует.


Счетчик N0, Счетчик N1, Счетчик N2

Эти три функциональных блока идентичны, позтому
достаточно описать один счетчик. Каждый счетчик состоит из
одного 16-битового предустанавливаемого обратного счетчик.
Счетчика может оперировать либо как двоично-десятичный, либо
как двоичный, а его вход, gate и выход устанавливается
выбором режимов, хранящемся в регистре управляющего слова.
Счетчики полностью независимы и каждый может отдельно
конфигурировать режим и пересчет, двоично-десятичный или
двоичный. Также существуют специальные средства в слове
управления, которые выполняют загрузку счетчика так, что
програмнные затраты могут быть минимизированы для этих
функций.
В 8253 включены специальные и логические команды и
команда считывания содержимого каждого счетчика с помощью
простой операции READ для прикладных задач подсчета событий
так, что содержимое каждого счетчика можно читать "в полете"
без подавления входного задающего генератора.



С И С Т Е М Н Ы Й И Н Т Е Р Ф Е Й С 8 2 5 3

8253 является компонентой интеловской
микрокомпьютерной системы и позтому согласуется с системой
таким же образом, как и все другие периферийные устройства
данного семейства. Он трактуется системным программным
обеспечением как набор периферийных портов обмена: три
счетчика и четыре управляющих регистра для программирования
режима.
Чаще всего селективные входы A0, A1 подключаются на
линии A0, A1 адресной шины ЦПУ. CS может подключаться
непосредственно с адресной шины, используя метод линейного
выбора ( linear select ) или, для больших систем, он может
заводиться с выхода декодера, такого как Intel 8205.


О П Е Р А Ц И О Н Н О Е О П И С А Н И Е

Введение

Полное функциональное описание программирется
системным матобеспечением. ЦПУ должно(!) послать набор
управляющих слов, чтобы инициализировать каждый счетчик 8253
в требуемые режим и величину пересчета. До инициализации
режим, счетчики и выходы не определены. Эти управляющие
слова программируют режим, последовательность загрузки и
выбор между двоичным и двоично-десятичным подсчетом.
Запрограммированный 8253 готов выполнить любую задачу
из тех, к которым он приспособлен.
Операции фактического пересчета каждого счетчика
полностью независимы, а имеющаяся в микросхеме
дополнительная логика ограничивает обычные проблемы
связанные с эффективным мониторингом и обслуживанием внешних
асинхронных событий или периодических процессов в
микрокомпьютерных системах.


Программирование 8253

Все режимы каждого счетчика программируются системным
матобеспечением простыми операциями ввода/вывода.
Каждый счетчик 8253 программируется отдельно путем
записи управляющего слова в регистр управляющих слов (A0, A1
= 11).

Загрузка счетчика

Регистр счета не загружен, пока в него не записать
значение числа ( один или два байта, в зависимости от режима
выбираемого битами RL ) и не пройдут после записи восходящий
и ниспадающий фронты задающего генератора. Любое чтение
счетчика до того как пройдет спадающий фронт генератора
выдаст неправильный результат.

MODE definition - определение режимов.

Режим 0: Interrupt on Terminal Count - Прерывание по
Окончании Счета.

Вначале, после установки режима, выход будет низким.
После загрузки счетчика вывод остается низким, а счетчик
начинает пересчитываться. Когда счет заканчивается вывод
становится высоким и остается высоким, пока выбранный
регистр счета на будет перезагружен новым режимом или новым
числом. Счетчик продолжает уменьшатся и после достижения
конца счета.

Перезапись регистра счета во время работы вызовет следующее:
1) Запись первого байта останавливает текущий пересчет
2) Запись второго байта начинает новый отсчет

Режим 1: Programmable One-Shot - Программируемый Одновибратор.

Выход счетчика становиться низким после каждого
восходящего фронта входного вентиля.
Выход становится высоким по завершении счета. Если новое
значение счетчика загружено при низком уровне выхода, оно не
влияет на текущий одновибраторный импульс пока не сработает
триггер. Текущий счетчик может быть прочитан в любой момент
без влияния на одновибраторный импульс.
Одновибратор самовзводящийся посльку выход будет
оставаться низким, в течение пересчета полного числа после
любого восходящего фронта вентильного входа.

Режим 2: Rate Generator - Генератор частоты.

Делитель частоты на число в счетчике. Выход будет низким
в течение одного такта входного генератора. Период между
последовательными выходными импульсами на выходе равен числу
входных пересчетов в регистре счета. Если регистр счета
перезагружается между выходными импульсами, текущий такт не
изменяется, однако последующий будет отражать новое
значение.
Низкий уровень входного вентиля вызывает высокий уровень
выхода. Как только уровень входного вентиля становится
высоким счет начнется с начала. Следовательно, вентиль
можно использовать для синхронизации пересчета. При
установке данного режима выход будет высоким пока регистр
счета не будет загружен. Затем выход также можно
синхронизировать программно.

Режим 3: Square Wave Rate Generator -
Частотный Генератор Прямоугольных Импульсов

Похож на режим 2, за тем исключением, что выход для
четных чисел будет высоким в первую половину текущего
периода и низким во вторую. Это достигается путем путем
уменьшения счетчика на 2 по падающему фронту каждого
импульса генератора. По завершении счета состояние выхода,
изменяется счетчик перезагружается исходным значением и весь
процесс повторяется.
Если счетчик нечетный, а на выходе высокий уровень,
первый после загрузки счетчика импульс генератора уменьшит
счетчик на 1. Последующие импульсы генератора уменьшают
счетчик на два. Немного погодя выход становится низким и
перзагружается полное число. Первый после перезагрузки
импульс генератора уменьшит счетчик на 3. Последующие
импульсы генератора уменьшают счетчик на два. Затем весь
процесс повторяется. Таким образом, при нечетном числе выход
будет высоким (N+1)/2 тактов и низким (N-1)/2 тактов.

Режим 4: Software Triggered Strobe - Строб Программного Триггера

После установки режима вывод будет высоким. После
загрузки счетчика начнется отсчет. По окончании счета вывод
будет низким в течении одного такта генератора. Если счетчик
регистра будет перезагружен между выходными импульсами
отсчет начнется от нового значения. Отсчет может быть
подавлен низким входом вентиля. Перезагрузка регистра счета
вызовет рестарт отсчета с начала нового числа.

Режим 5: Hardware Triggered Strobe - Строб Аппаратного Триггера

Счетчик начнет отсчет по восходящему фронту триггерного
входа и будет низким в течение одного такта, когда счет
окончится. Счетчик заново установится. Выход не будет
низким, пока не закончится отсчет после восходящего фронта
любого триггера.


П Р О Ц Е Д У Р А Ч Т Е Н И Я / З А П И С И.

Операции записи

Системное матобеспечение должно запрограммировать
каждый из счетчиков 8253 в желаемый режим и число.
Программист должен вывести в 8253 управляющее слово режима и
запрограммировать число одним или двумя байтами регистра
счета перед фактическим использованием выбранного счетчика.
Фактический порядок программирования вполне гибок.
Запись управляющего слова режима канала может быть в любой
последовательности, т.е. счетчик 0 не обязательно должен
быть первым, счетчик 2 последним. Каждый регистр
управляющего слова режима адресуется отдельно, так что его
загрузка полностью не зависит от последовательности. ( SC0,
SC1).
Однако загрузка регистра счета фактическим значением
должна выполняться в точном соответствии с
запрограммированной в управляющем слове режима (RL0, RL1).
Данная загрузка регистра счета счетчика тоже независимая
последовательность, как и загрузка управляющего слова
режима, но когда выбранный регистр счета загружается он
должен(!) быть загружен таким количеством байт, которое
указано в управляющем слове режима (RL0, RL1). Один или два
байта загружаемые в регистр счета не обязательно должны
следовать сразу за соответствующим управляющим словом
режима. Они могут программироваться в любое время после
загрузки управляющего слова режима, лишь бы было в порядке
правильное число загружаемых байт.
Все счетчики являются обратными. Следовательно,
значение загружаемое в регистр счета фактически уменьшается.
Загрузка всех нулей в регистр счета вызовет максимальный
отсчет (2^16 для двоичных и 10^4 для двоично-десятичных). В
режиме 0 новый отсчет не перезапустится пока не выполнится
загрузка. Воспринимается один или два байта, в зависимости
от того, как запрограммировано управляющее слово режима
(RL0, RL1). Затем идет операция рестарта.

Операция чтения

В большинстве применений счетчиков необходимо
прочитать значение счета при выполнении и принять вычислямое
на базе полученного значения решение. счетчик событий
вероятно самое распространенное применение такой функции.
8253 содержит логику, которая позволит программисту легко
прочитать содержимое любого из трех счетчиков без разрушения
текущего процесса счета.
Существует два метода, которые программист может
использовать для чтения счетчиков. В первом методе
используются простые операции ввода/вывода по выбранному
счетчику. Управляя входами A0,A1 8253, программист может
выбрать счетчик для чтения (следует помнить, что нет
операций чтения, допускающих A0,A1 = 11). Единственным
требованием для этого метода, чтобы обеспечетить
стабильность считываемого числа, является обязательное(!)
запрещение обновления выбранного счетчика либо с помощью
входного вентиля, либо внешней логикой, которая может
подавить выход входного генератора. Содержимое выбранного
счетчика получается следующим образом:

- первая операия READ содержит младший значащий байт (LSB)
- вторая операия READ содержит старший значащий байт (MSB)

По внутренней логике 8253 абсолютно необходимо
выполнить процедуру чтения полностью. Если запрограммировано
чтение двух байтов, то и должно быть прочитано два байта
перед любой загружающей командой WR, которая может быть
выдана на этот же счетчик.

Чтение во время пересчета

Для того, чтобы программист читал содержимое любого
счетчика без влияния или замедления операции пересчета, в
8253 имеется существует специальная внутрення логика, к
которой обращаются с помощью простой команды записи в
регистр режима. Короче, когда программист желает прочитать
содержимое выбранного счетчика "в полете", он загружает в
регистр режима специальный код, который фиксирует текущее
значение регистра счета, так что он содержит точное
стабильное число программист затем выдает обычные команды
чтения на выбранный регистр, получая содержимое
фиксированного регистра.

Регистр режима для фиксирования счета
A0,A1 = 11
D7 D6 D5 D4 D3 D2 D1 D0
¦SC1¦SC2¦ 0 ¦ 0 ¦ X ¦ X ¦ X ¦ X ¦
SC1,SC2 - указывают фиксируемый счетчик
D5,D4 - 00 обозначает операцию фиксирования счетчика
X - не используется

Для этого метода чтения счетчика применяются те же
ограничения, что и предыдущего метода. Следовательно,
главное - это выполнить всю операцию чтения, как она
запрограммирована. Данная команда не влияет на режим
счетчика.

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте