- •Микропроцессорные системы мпс (Полетаев Игорь Алексеевич) 4-й курс Iсеместр 2000/2001 гг.
- •Классификация процессоров
- •Классификация контроллеров. Сферы применения 32-разрядных контроллеров
- •Обзор 8-разрядных контроллеров
- •Общая структура контроллеров семейства mCs-51i8x51
- •Структура контроллеров семейства pic16Схх
- •Структура команд и методы адресации
- •Методы адресации в pic-контроллерах
- •Язык Ассемблер
- •Программирование арифметических операций
- •Табличные вычисления
- •Порты ввода-вывода
- •Таймер-счётчик
- •Последовательный интерфейс mCs51
- •Работа последовательного порта в мультиконтроллерных системах
- •Определение тактовой частоты при работе с последовательным портом
- •Интерфейсы контроллеров pic
- •Последовательный связной интерфейс
- •Структурная схема приёмника
- •Модуль прерываниёMCs51
- •Система прерываний pic16
- •16-Ти разрядные контроллеры на примере mCs96
- •Вопросы
Последовательный интерфейс mCs51
Через универсальный асинхронный приемопередатчик (УАПП) производится обмен в последовательном коде младшими битами вперёд в полном дуплексном режиме обмена.
Информация передаётся на длинные линии.
В состав входят принимающие и передающие сдвиговые регистры, и специальный буферный регистр SBUF. Запись в него байта приводит к автоматической переписи в сдвиговый регистр и инициирует начало передачи. Если к моменту окончания приёма байта предыдущий не был считан изSBUF, то он будет потерян. В состав также входят регистры управления и статуса портаSCON.
Биты |
Обозначение |
Назначение |
SCON.7 |
SM0 |
Разрешение мультиконтроллерного режима |
SCON.6 |
SM1 | |
SCON.5 |
SM2 | |
SCON.4 |
REN |
Разрешение приёма |
SCON.3 |
TB8 |
9-ый бит передаваемых данных |
SCON.2 |
RB8 |
9-ый бит принимаемых данных |
SCON.1 |
TI |
Флаг прерывания передатчика (устанавливается аппаратно в начале стоп-бита, сбрасывается программно) |
SCON.0 |
RI |
Флаг прерывания приёмника (устанавливается аппаратно через половину интервала стоп-бита, сбрасывается программно) |
PCON.7 (SMOD) определяет отключение частоты последовательного порта.
Режим 0: обеспечивается максимальная частота (fQ/12,fQ/24) в зависимости от значенияSMOD. Длина посылки – 8 бит, информация передаётся и принимается через 1 внешний вывод. Это синхронный режим.
Режим 1: этот и все остальные – асинхронные. При обмене посылка – 10 бит. Скорость обмена задаётся таймером1. с передачей проблем не возникает. По-другому дело обстоит с приёмом. Причём начинается при обнаружении перехода на входеRxDиз состояния 1 в 0.
По нескольким замерам вычисляется информация (мажоритарное голосование).
Вход опрашивается 16 раз за период представления бита при принятии сигнала. Как только переход обнаружен, внутренний счётчик по модулю 16 сбрасывается для выравнивания его переходов с границами представления бит. Считанное значение определяется из трёх замеров мажоритарным голосованием.
Флаг прерывания устанавливается в том случае, если десятый принимаемый бит – “1”, иначе принятая последовательность теряется и продолжается поиск перехода из “1” в ”0”.
Режим 2: здесь используется 11 бит. 9-ый бит может быть , например, контролем по чётности. Тогда в него помещают значение признака паритета (изPSW.0). Частота работы фиксирована и составляет либоfQ/32, либоfQ/64.
Режим 3: длина посылки – как в режиме 2, тактовая частота – как в режиме 1.
Работа последовательного порта в мультиконтроллерных системах
В сложных системах регулирования и управления используется обмен информацией между множеством контроллеров, объединённых в локальную сеть. Обычно сети имеют магистральную архитектуру а разделяемым моноканалом. В режимах 2 и 3 9-ый бит фиксируется RB8. еслиSM2 = 1, то при получении стоп-бита прерывание от приёмника будет возможно только приRB= 1. всегда должен быть выделен ведущий контроллер. Обмен осуществляется так: ведущийMCs51 перед передачей блока данных для всех контроллеров выдаёт байт адреса абонента с 9-ым битом, равным “1”. Все ведомые контроллеры прерываются и сравнивают байт с соответствующим адресом. Если адрес совпал, тоSM2 сбрасывается, и далее будут приняты все байты независимо от 9-ого бита, который для данных равен “0”.