Слайд 1
Управление на USART модула
Слайд 2
Функционални възможности на USART (универсален синхронен/ асинхронен приемникпредавател)
Модулът USART (сериен комуникационен интерфейс (SCI)) може да се конфигурира за работа в следните три режима:
Асинхронен (пълен дуплекс) – за връзка с CRT и PC;
Синхронен – управляващ (полудуплекс) - за връзка с АЦП и ЦАП, интегрални схеми, серийни EEPROM ;
Синхронен – управляван (полудуплекс).
Определение. Система пълен дуплекс позволява едновременно предаване и приемане на информация в двете посоки.
Определение. Системата полудуплекс позволява предаване само в едната посока в даден момент от времето.
Слайд 3
Генератор, определящ скоростта на предаване в бодове
Генераторът BRG[1] поддържа и двата режима: асинхронен и синхронен на модула USART. Той е реализиран като 8битов генератор, определящ скоростта на предаване в бодове. Регистърът SPBRG[2] управлява периода на свободно работещия 8битов таймер. В асинхронен режим, за управление скоростта на предаване в бодове се използва и бит BRGH[3] (TXSTA<2>). В синхронен режим битът BRGH се игнорира.
[1] BRG (Baud Rate Generator) – генератор, определящ скоростта на предаване в бодове.
[2] SPBRG (Serial Port BRG) – регистър за определяне скоростта на предаване на последователния порт.
[3] BRGH (BRG High) – бит за определяне на висока скорост на предаване.
Слайд 4
Асинхронен режим на USART модула
Данните от извода RC7/RX/DT се отчитат (sampling) три пъти близо до средата на всеки бит чрез верига за откриване нивото на входа RX (високо или ниско).
0 1 2 3 4 5 6 7
Стартов
бит
Стопов
бит
Бит за
проверка
Следващ стартов бит
Формат без връщане към нулата
Елементи на USART модула:
Генератор, определящ скоростта в бодове BRG;
Верига за отчитане на данните (Sampling Circuit);
Асинхронен предавател (Asynchronous Transmitter);
Асинхронен приемник (Asynchronous Receiver).
Слайд 5
Асинхронен USART предавател
TXIF
TXREG
TXREG
(8)
(0)
TXIЕ
TX9
TSR
MSb
LSb
SPBRG
Baud Rate Generator
Baud Rate CLK
TX9D
TXEN
Прекъсване
TRMT
SPEN
Буфер и управление
8
Шина данни
RC6/TX/CK
Слайд 6
Основни стъпки при пускане на aсинхронното предаване:
Инициализиране на регистъра SPBRG за подходяща скорост на предаване. Ако е необходима висока скорост на предаване, установяване на бита BRGH.
Разрешаване на асинхронния сериен порт чрез нулиране на бита SYNC и установяване на бита SPEN.
Ако се използват прекъсвания, установяване на разрешаващите битове TXIE (PIE1<4>), PEIE (INTCON<6>), и GIE (INTCON<7>), ако е необходимо.
Ако е необходимо 9-битово предаване, установяване на бита TX9.
Разрешаване на предаването чрез установяване на бита TXEN, който ще установи и флага TXIF.
Ако е избрано 9-битово предаване, деветият бит трябва да се зареди в бита TX9D.
Зареждане на TXREG регистъра, което стартира предаването.
Слайд 7
Асинхронен USART приемник
FERR
RCIЕ
SPBRG
Baud Rate Generator
х64 Baud Rate CLK
RX9D
RX9
Прекъсване
RCREG
SPEN
RC7/RX/DT
FOSC
64
или
16
Възстановяване на данните
Буфер и управление
OERR
START
STOP
(8)
7
…
1
0
LSb
MSb
RSR
FIFO
8
Шина данни
RCIF
Слайд 8
Основни стъпки при пускане на aсинхронното приемане:
Инициализиране на SPBRG регистъра за подходяща скорост на приемане. Ако е избрана висока скорост на приемане установяване на бита BRGH.
Разрешаване на асинхронния сериен порт чрез нулиране на бита SYNC, и установяване на бита SPEN.
Ако се използва техниката на прекъсване установяване на разрешаващите битове RCIE (PIE1<5>), PEIE (INTCON<6>), и GIE (INTCON<7>), ако е необходимо.
Ако се използва 9-битово приемане се установява бита RX9.
Разрешаване на приемането чрез установяване на бита CREN.
Флаговият бит RCIF ще се установи когато приемането завърши и ще се генерира прекъсване ако е разрешено (битът RCIE е установен).
Прочитане на регистъра RCSTA за да се получи деветия бит (ако е разрешен) и да се определи дали е възникнала грешка при приемането.
Прочитане на 8-битовите приети данни от RCREG регистъра.
Ако е възникнала грешка, тя се нулира чрез нулиране на разрешаващия бит CREN.
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте