Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ADuC70xx_K02.docx
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
1.68 Mб
Скачать

Контрольный бит и спобобы его использования

В «телеграфные» времена дополнительный контрольный бит использовался для выявления одиночной ошибки при передаче пакета. Он добавлялся к пакету в соответствии с правилом «число единиц в информационной части пакета должно быть нечетным» либо с противоположным: «число единиц в информационной части пакета должно быть нечетным». Во многих реализациях как телеграфных аппаратов древности, так и микросхем UARTвыполнение этого правила может быть реализовано аппаратно: схемотехника передатчика (при включенном контрольном бите) автоматически добавляет его в пакет в соответствии с выбранным правилом, а схемотехника приемника, окончив прием пакета, проверяет выполнение правила, и если оно нарушено (т.е. произошла одиночная ошибка, один из битов пакета искажен помехой – принял противоположное переданному значение) – сигнализирует об ошибке, установкой соответствующего флага. По этой причине контрольный бит часто называют битом четности. В телеграфные времена широко использовались различные форматы пакета, которые могли содержать от 5 до 8 информационных битов. В компьютерные времена в подавляющем большинстве применений стали использовать формат пакета с 8-ью информационными битами, и по этой причине нередко называют контрольный бит «девятым», хотя если он включен, а количество информационных битов отлично от восьми, он может быть и шестым и седьмым и восьмым. По изложенным причинам в последующем изложении используется название «контрольный бит».

Контроль верности – не единственное использование контрольного бита. Если в приложении требуется максимальная пропускная способность интерфейса, контрольный бит можно также использовать как дополнительный информационный бит. В этом случае он чаще всего действительно будет девятым. Для подобного применения надо иметь возможность формировать в каждом пакете произвольное значение этого дополнительного бита, независимо от значений остальных информационных битов. Все перечисленные возможности присутствуют как в стандарте RS232Cтак и в реализациях 16450 и в микросистеме ADuC70xx (см. далее описание функций периферийных регистров интерфейса UART).

Задание скорости передачи (частоты следования битовых интерваловBaudrate) в aDuC70xx

Как и в стандартном COM-порте, основная величина, задающая частоту следования битовых интервалов – это 16-битовый делитель DL, задаваемый через регистры COMDIV0 (младший байт) и COMDIV1 (старший байт). Описание этих регистров приведено далее ???

Частота следования битовых интервалов в микросистемах ADuC702xв стандартном режиме 16450 определяется формулой:

Здесь: 32768 – частота кварцевого резонатора, Ml – коэффициент умножения контура фазовой автоподстройки частоты (1275 по данным Технического Описания), 2CD – коэффициент деления формирователя тактовой частоты ядра (от 1 до 128 при величинах CD от 0 до 7), DL– 16-битовый программно задаваемый коэффициент деления.

Порядок действий в программе при задании частоты следования битовых интервалов следующий:

  1. Разрешить доступ к регистрам делителя DL– установкой в «1» бита 7 (DLAB) в регистре COMCON0.

  2. Записать два байта (заранее вычисленного) делителя в регистры COMDIV0 (младший) и COMDIV1 (старший).

  3. Сбросить бит DLABи одновременно задать формат пакета в регистре COMCON0.

При максимальной тактовой частоте ядра 41.779200 МГц (при CD=0) доступен диапазон частот следования битовых интервалов от 1305600 Гц (при DL =1) до 19,9219 Гц при (DL=65535). Стандартные частоты следования битовых интервалов можно задать лишь с некоторой погрешностью, для отдельных стандартных частот (при CD=0) значения величины DL и значения получаемой погрешности задания частоты битовых интервалов приведены в следующей таблице:

Стандартная битовая частота

Делитель DL

Действительная частота

Ошибка %

9600

0x88

9600

0

19200

0x44

19200

0

28800

0x2D

29013

+0,74%

57600

0x17

56765

+1,45%

115200

0x0B

118961

+3%

230400

0x05

261120

+13,3%

Величины ошибки, приведённые в таблице, за исключением скорости 230400, являются допустимыми (максимальная величина ошибки должна быть меньше 4%), но наличие ошибки задания частоты повышает вероятность неверной передачи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]