- •1.Функциональное описание микроконтроллера i80196kc
- •1.1. Обзор архитектуры
- •1.1.1. Ядро 80xc196kc
- •1.1.1.1. Файловый регистр (Register File)
- •1.1.1.2. Регистровое арифметико-логическое устройство (ралу)
- •1.1.1.4. Контроллер памяти ( Memory Controller)
- •1.1.1.5. Контроллер прерываний и pts (Interrupt Controller)
- •1.2. Параметры синхронизации
- •1.3. Внутренние периферийные устройства
- •1.3.1. Стандартные порты ввода-вывода
- •1.3.2. Последовательный порт ввода-вывода
- •1.3.3. Быстродействующий модуль
- •1.3.4. Аналого-Цифровой Преобразователь (ацп)
- •1.3.5. Широтно-импульсный модулятор (шим)
- •1.3.6. Сторожевой Таймер
- •2.Введение в программирование 8xc196kc
- •2.1. Типы программирования микроконтроллера
- •2.2. Система команд
- •2.3. Типы данных
- •2.4. Способы адресации
- •3. Карта памяти микроконтроллера i80c196kc
- •3.1. Основные разделы памяти
- •3.1.1. Разделы внешней памяти
- •3.1.2. Порты 3 и 4
- •3.1.3. Программная память и Память Специального назначения
- •3.1.3.1. Управление доступом к внутренней или внешней памяти
- •3.1.3.2. Память для программ
- •3.1.3.3. Память специального назначения
- •3.1.4. Регистровый Файл(Register File)
- •3.1.4.1. Указатель Вершины стека (sp)
- •3.1.4.2 Регистры Специальных Функций
- •3.2. Работа через горизонтальное окно
- •3.2.1. Выбор hWindow
- •3.3.1. Выбор vWindow
- •3.3.2. Работа с вертикальными окнами и Способы Адресации
- •4. Прерывания
- •4.1 Обработка Прерывания
- •4.2. Описание работы Контроллера Прерывания
- •4.3. Описание работы Периферийной Станции Транзакций(pts)
- •4.4. Приоритеты Прерывания
- •4.5. Изменение Приоритетов Прерывания
- •4.6. Программы Обработки прерывания
- •4.7. Распознавание Прерываний
- •4.8. Время Ожидания Прерывания
- •4.9. Специальные Прерывания
- •4.9.1. Прерывание по Невыполняемому Коду
- •4.9.2. Прерывание по Ловушке Программного
- •4.9.3. Немаскируемое Прерывание
- •4.10. Программирование Прерываний
- •4.11. Предоставление pts Прерывания
- •4.12. Предоставление Стандартных Прерываний
- •4.13. Выбор Источников Прерывания
- •4.14. Регистры Маскирования Прерываний
- •4.15. Регистры Захвата Прерывания
- •4.16. Pts Прерывания
- •4.16.1. Управляющие Блоки pts
- •4.16.1.1. Регистр ptscount
- •4.16.1.2. Прерывание End-of-pts
- •4.16.1.3. Регистр ptscon
- •4.16.2. Краткий Обзор Режима Одиночной
- •4.16.2.1. Пример Режима Одиночной Передачи
- •4.16.3. Краткий Обзор Режима Поблочной
- •4.16.3.1. Пример Режима Поблочной Пересылки
- •4.16.4. Краткий Обзор Режима Сканирования
- •4.16.4.1. Pts Циклы в Режиме Сканирования ацп
- •11Eh ad_result для ach0
- •102H ad_result для acHx
- •100H ad_command для acHx
- •4.16.5. Hsi. Краткий Обзор Режима
- •4.16.5.1. Пример Режима hsi
- •4.16.6. Hso. Краткий Обзор Режима
- •4.16.6.1. Пример Режима hso
- •6. Парраллельные порты ввода - вывода
- •6.1. Краткий Функциональный Обзор
- •6.2.Контакты Порта Ввода
- •6.3. Контакты Порта Вывода
- •6.4. Контакты квази-двунаправленного порта
- •6.5 Контакты Двунаправленного Порта с открытым стоком
- •6.6.Программирование Портов ввода-вывода
- •6.7.Организация Портов Ввода
- •6.7.1. Порт 0
- •6.8. Организация Портов Вывода
- •6.9. Порт 1
- •6.10. Порт 2
- •6.11. Доступ к Порту 3 и Порту 4
- •6.11.1. Порт 3 и Порт 4
- •6.12. Особенности работы с квази - двунаправленными портами
1.1.1.4. Контроллер памяти ( Memory Controller)
РАЛУ связывается со всей памятью, за исключением Регистрового Файла, через контроллер памяти. (Он связывается с верхним файловым регистром через контроллер памяти за исключением того случая, когда используется работа с вертикальным окном). Контроллер памяти содержит регистры адреса (Address Register) и данных (Data Register), 4-байтовую очередь команд (4-Byte Queue), подчиненный программный счетчик ( Slave PC ), и контроллер шины ( Bus Controller).
Контроллер шины управляет шиной памяти, которая состоит из внутренней шины постоянного запоминающего устройства (ПЗУ), внутренней шины оперативного запоминающего устройства (ОЗУ) , и внешней шины адреса/ данных. Контроллер шины получает запросы доступа к памяти или из РАЛУ или из 4-байтовой очереди команд с упреждением; запросы очереди имеют приоритет. Очередь прозрачна для РАЛУ и пользователя. Когда контроллер шины получает запрос из очереди, он выбирает код адреса из подчиненного PC. Это увеличивает быстродействие выполнения, так как следующий байт команды доступен немедленно и процессор может не ждать пересылки адреса из главного PC в контроллер памяти. Если переход, прерывание, вызов подпрограммы, или возврат из подпрограммы изменяют последовательность адресов, главный PC загружает новый адрес в подчиненный PC, очередь обновляется и обработка продолжается.
1.1.1.5. Контроллер прерываний и pts (Interrupt Controller)
Программируемый контроллер прерываний содержит схему приоритета аппаратных прерываний, которая может изменяться программным обеспечением пользователя. Эти прерывания обслуживаются пользовательскими программами обработки прерывания.
Кроме того, 8XC196KC/KD снабжен микропрограммным процессором аппаратного прерывания - периферийной станцией транзакции (Peripheral Transaction Server;PTS). PTS обслувает прерывания с фиксированным набором действий типа:пересылка данных, старт Аналого-цифрового преобразователя (АЦП), чтение FIFO очереди быстродействующего модуля Ввода, загрузка событий в быстродействующий модуль Вывода. PTS выполняет эти задачи быстрее, чем стандартные, сервисные программы обработки прерывания.
PTS может обслуживать все прерывания за исключением следующих: Немаскируемое прерывание (NMI), ловушка (Trap), и невыполняемый код операции. PTS циклы имеют более высокий приоритет чем стандартные прерывания и могут временно приостанавливать программы обработки прерывания.
1.2. Параметры синхронизации
Тактовый генератор делит на два опорную частоту и вырабатывает два внутренних временных сигнала PH1 и PH2. (рис.3). Активный уровень сигналов - высокий. По переднему фронту PH1 и PH2 генерируется CLKOUT,- выход внутреннего генератора часов.
Объединенный период PH1 и PH2 определяет базисную единицу времени, известную как время состояния или состояние(такт).
Максимальная частота 8XC196KC 20 МГц, одна единица времени состояния равняется 100 нс.
Лабораторные работы проводятся на платформах, с установленными кварцевыми резонаторами с частотой 8 МГц, поэтому одно состояние(такт) составляет 250 нс.
Рис. 3
1.3. Внутренние периферийные устройства
I80C196KC содержит следующие внутренние периферийные модули, которые обеспечивают специальные функции для ряда прикладных задач:
- стандартные порты ввода-вывода;
- последовательный порт ввода-вывода;
- быстродействующий модуль ввода-вывода;
- аналогово-цифровой преобразователь (АЦП)
- широтно-импульсный модулятор (ШИМ)
- сторожевой таймер