В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > 68300 > Архитектура
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Асинхронный последовательный порт SCI

Данный порт функционирует аналогично SCI, входящим в состав микроконтроллеров семейств 68HC05, 08, 11 , обеспечивая прием в регистр SCDR данных, поступающих на вывод RxD, или передачу данных из этого регистра на вывод TxD. SCI осуществляет в каждом цикле прием или передачу 8 или 9 битов данных, которые сопровождаются одним старт-битом и одним стоп-битом. Таким образом формируется 10- или 11-битовый кадр последовательного обмена. В качестве 9-го бита обычно передается контрольный бит (четности или нечетности).
    Управление работой SCI в модуле QSM осуществляется с помощью регистров SCCR0, SCCR1. Регистр SСCR0 (рис.3.17,а) определяет период следования синхросигналов Ts, в течение которого выполняется один такт передачи данных: Ts = 32Ks / Ft, где величина коэффициента Ks задается содержимым поля SCBR в диапазоне от 1 до 8191. Если поле SCBR содержит значение Ks=0, то генератор синхросигналов SCI останавливается, и передача прекращается.

15 13
12 0
0 0 0 SCBR

а) SCCR0 (адрес $*FFC08)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 LOOPS WOMS ILT PT PE M WAKE TIE TCIE RIE ILTE TE RE RWU SBK

б) SCCR1 (адрес $*FFC0A)

15 9
8 7 6 5 4 3 2 1 0
--------- TDRE TC RDRF RAF IDLE OR NF FE PF

в) SCSR (адрес $*FFC0C)

Рис. 3.18. Форматы содержимого регистров SCI

Регистр SCCR1 (рис.3.18,б) содержит 15 управляющих битов, которые имеют следующее назначение:
    SBK - вызывает при SBK=1 установку "0" на выходе TxD передатчика, что является сигналом прекращения обмена;
    RWU - устанавливает при RWU=1 холостой режим работы приемника, при RWU=0 разрешает активизацию приемника в соответствии со значением бита WAKE;
    RE,TE - включают (при значении 1) и отключают (при значении 0) приемник и передатчик данных, их одновременное включение (RE=TE=1) разрешается только в режиме тестирования (LOOPS=1);
    ILIE - разрешает при ILIE=1 формирование запроса прерывания при поступлении на вход приемника RxD сигнала прекращения обмена;
    RIE - разрешает при RIE=1 формирование запроса прерывания в случае заполнения буфера или переполнения приемника;
    TCIE - разрешает при TCIE=1 формирование запроса прерывания после завершения передачи;
    TIE - разрешает при TIE=1 формирование запроса прерывания в случае освобождения буферного регистра передатчика;
    WAKE - определяет способ активизации приемника, находящегося в холостом режиме: при WAKE=0 активизация происходит при поступлении на вход RxD последовательности единиц, длина которой превышает размер кадра (8 или 9 бит), при WAKE=1 приемник активизируется при поступлении данных, старший разряд которых равен 1;
    M - задает разрядность кадра данных: 10 бит при M=0, 11 бит при M=1.
    PE - вводит контроль четности или нечетности данных при PE=1; при передаче контрольный бит выдается в качестве 8-го (при M=0) или 9-го (при M=1) бита данных; при приеме выполняется проверка четности принятых семи (при M=0) или восьми (при M=1) битов данных, сравнение результата со значением поступившего контрольного бита и в случае их несовпадения установка признака ошибки четности PF=1 в регистре SCSR;
    PT - определяет вид контроля, вводимого при PE=1: если PT=0, то выполняется контроль четности данных, если PT=1 - контроль нечетности;
    ILT - задает способ счета единиц, поступающих на вход TxD, при переводе приемника в холостой режим: при ILT=0 счет единиц начинается сразу после установки данного значения в регистре SCCR1, при ILT=1 счет начинается после завершения очередного цикла (приема cтоп-бита);
    WOMS - обеспечивает при WOMS=1 работу каскада, выдающего сигналы TxD, в режиме с "открытым стоком", что позволяет соединять выходы нескольких SCI для реализации логической операции "монтажное ИЛИ";
    LOOPS - соединяет при LOOPS=1 вход и выход сдвигового регистра SCI в кольцевую цепь, обеспечивая возможность его тестирования путем выдачи-приема данных и проверки совпадения переданных и принятых данных; при этом должны быть разрешена одновременная работа приемника и передатчика (RE=TE=1).
    Регистр состояния SCSR (рис.3.18,в) содержит девять признаков, устанавливаемых в процессе приема или передачи данных:
    TDRE - признак освобождения буфера передатчика;
    TC - признак окончания передачи;
    RDRF - признак заполнения буфера приемника;
    IDLE - признак прекращения обмена;
    OR - признак переполнения приемника;
    NF - признак наличия шумов на линии приема RxD;
    FE - признак нарушения кадра;
    PF - признак нарушения четности, принимает значение PF=1, если обнаружено несовпадение четности принятых данных и контрольного бита в процессе приема;
    RAF - признак активности приемника, принимает значение RAF=1, когда в приемник поступает старт-бит, и RAF=0, когда на вход RxD приемника поступает сигнал прекращения обмена (последовательность из 10 или 11 единиц).
    Установка признаков TDRE,TC,RDRF,IDLE вызывает формирование запросов прерывания, если это разрешено битами TIE,TCIE,RIE,ILIE в регистре SCCR1. Значения остальных признаков должны контролироваться процессором путем периодического считывания и анализа содержимого регистра SCSR.
    При использовании SCI в режиме передачи сначала производится запись передаваемых данных в регистр SCDR и установка необходимой частоты синхросигналов загрузкой регистра SCCR0. Запуск передатчика выполняется записью соответствующего содержимого в регистр SCCR1, где должны быть установлены значения битов TE=1, RE=0. При использовании SCI в режиме приема производится установка частоты синхросигналов загрузкой регистра SCCR0, а затем запуск приемника путем записи в регистр SCCR1 содержимого, в котором значения битов RE=1, TE=0. Принятые данные считываются из регистра SCDR.