ВУЗ:
Составители:
Приемник модуля UART непрерывно проверяет состояние входа RXD: на
каждый бит приходится 16 отсчетов. При обнаружении на выводе RXD низкого
уровня (то есть старт-бита) микроконтроллер пропускает 6 отсчетов, а затем дела-
ет 3 выборки (8, 9 и 10 отсчеты). Также происходит выборка и в других битах.
Поэтому фронты сигнала не имеют большого значения. Если микроконтроллер
обнаруживает в 3-хвыборках лог. 0, то он определяет, что пришел старт-бит и мо-
дуль UART начинает считывать приходящий байт.
Если же значения трех отсчетов бита не совпадают, то значение бита принима-
ется равным значению двух одинаковых отсчетов.
Скорость передачи данных управляется регистром UBRR. Она должна быть
одинаковой для принимающего и передающего устройств. Скорость передачи
определяется по формуле:
,
1)(UBRR16
ck
Rate Baud
+×
=
Где Ск – тактовая частота. [UBRR состоит из двух регистров UBRRH : UBRRL, в
которые заносятся числа].
Например. F
рез
=4 МГц. В регистр UBRR записано число 25. Тогда
)(/9615
2616
000 4000
Rate boud бодсбит
=
×
=
Имеется набор стандартных скоростей передачи: 2400, 4800, 9600 и т.д., кото-
рой надо придерживаться для совместимости устройств. Поэтому используют ре-
зонаторы с частотами от 1,8432 до 9,216 МГц.
Если взять 3,6864 МГц, то при UBRR=23 скорость передачи равна 9600 бод.
Пример. Передать число из рабочего регистра Iden другому устройству UART.
Ldi tmp,0b00001000 ; разрешение передачи
Out UCR,tmp
Out UDR,Iden ; посылаем число
UART можно использовать для связи с последовательным портом компьютера
(RS-232). Чтобы послать данные через последовательный порт можно воспользо-
ваться программой Hyper Terminal. (Пуск/Программы/Стандартные/Связь). Здесь
можно создать соединение с конкретным портом (например, COM1), выбрать ско-
рость передачи, количество передаваемых битов, установить контроль четности и
т.д.
Выводы разъема порта подключаются к выводам RXD и TXD через преоб-
разователь уровней: MAX232, AD232 и др.
98
Страницы
- « первая
- ‹ предыдущая
- …
- 96
- 97
- 98
- 99
- 100
- …
- следующая ›
- последняя »