Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[74]

Если передатчик включен (UTXEx=1), данные не будет записываться в UxTXBUF, пока его готовность принимать новые данные не будет объявлена установкой UTXIFGx=1. Нарушение этого может привести к ошибочной передаче, т.к. измененные данные будет перемещены в сдвиговый регистр TX.

Рекомендуется отключать передатчик (UTXEx=0) только после завершения любой выполнявшейся передачи. На это указывает установка бита опустошения передатчика (TXEPT=1). Любые данные, записанные в UxTXBUF в тот момент, когда передатчик отключен, будут находится в буфере, но не будут помещены в сдвиговый регистр передачи или переданы. Однократная установка UTXEx вызовет немедленную загрузку в сдвиговый регистр передачи данных из буфера передачи и возобновит передачу символа.

13.2.6. Контроллер скорости передачи UART

Контроллер (генератор) скорости передачи USART может создавать стандартные скорости передачи от источников нестандартных частот. Контроллер скорости передачи использует один прескалер/делитель и модулятор, показанные на рис. 13-7. Эта комбинация позволяет получить дробные коэффициенты деления при генерации скорости передачи в бодах. Максимальная скорость передачи USART составляет одну треть источника таковой частоты USART BRCLK.

SSEL1 SSEL0

UCLKI-ACLK-SMCLK-SMCLK-

BRCLK -f-

> 16-разрядный счетчик R Q15frQQ

Сравнение +0 или 1 (0 или 1)

Сдвиговый регистр данных модуляции

(первый - младший бит)

I -

mX m7 HJ3 m0

Триггер]

-► BITCLK

Стартовый бит

Рис. 13-7. Контроллер генератора передачи MSP430

Синхронизация каждого бита показана на рис. 13-8. Для каждого полученного бита используется мажоритарный принцип определения значения бита. Мажоритарные выборки происходят в N/2-1, N/2 и N/2+1 периоды BRCLK, где N - число импульсов BRCLKs на один импульс BITCLK.


Стартовый бит и1

Мажоритарный выбор: (m=0) J „ (mlllf

BRCLK Счетчик

N/2 N/2-1 N/2-2

10 N/2

N/2-1 N/2-2 N/2-1

N/2 N/2-1

10 I N/2

INT(N/2) + m(= 0)-HNчетн.: INT(N/2) -*\

INT(N/2) + m(= 1) -►! Nнечетн.: INT(N/2) + R(= 1) ">

- Период бита --

m: соответствующий бит модуляции R: остаток от деления N/2

Рис. 13-8. Синхронизация скорости передачи BITCLK

Синхронизация скорости передачи бит

Первая ступень контролера скорости передачи - 16-разрядный счетчик и компаратор. В начале передачи или приема каждого бита счетчик загружается величиной INT(N/2), где N - значение, сохраненное в комбина4ции UxBR0 и UxBR1. Счетчик перезагружает INT(N/2) каждый полупериод периода бита, обеспечивая полный период бита N BRCLK. Для данного источника тактирования BRCLK, скорость передачи определяется требуемым коэффициентом деления N:

N = BRCLK / скорость передачи в бодах;

Коэффициент деления N зачастую является нецелым числом, целочисленная часть которого может быть принята прескалером/делителем. Вторая ступень генератора скорости передачи - модулятор, используемый для максимально точного учета дробной части. Коэффициент деления N в этом случае определяется так:

N = UxBR+-

л-1 i=0

N - получаемый коэффициент деления;

UxBR - 16-разрядное представление регистров UxBR0 и UxBR1;

i - позиция бита в фрейме;

n - общее количество битов в фрейме;

mi - данные каждого соответствующего модуляционного бита (1 или 0). BITCLK может подстраиваться от бита к биту с помощью модулятора для удовлетворения потребностей в синхронизации в случае, когда необходим де-


Скорость передачи

Z m<

литель нецелого числа. Синхронизация каждого бита расширяется одним тактовым циклом BRCLK, если бит модулятора mi установлен. Каждый раз при получении или передаче бита, следующий бит в регистре управления модуляцией определяет синхронизацию этого бита. Установленный модуляционный бит увеличивает коэффициент деления на единицу, в то же время очищенный бит модуляции сохраняет коэффициент деления, заданный UxBR.

Синхронизация стартового бита определяется UxBR плюс m0, следующего бита UxBR плюс m1 и так далее. Модуляционная последовательность начинается с младшего бита. Когда символ содержит более 8 бит, модуляционная последовательность вновь начинается с m0 и продолжается до окончания обработки всех битов.

Определение модуляционного значения

Определение модуляционного значения - интерактивный процесс. Использование формулы ошибки синхронизации, начиная со стартового бита, позволяет рассчитать ошибку для каждого бита с последующей установкой или сбросом соответствующего бита модуляции. Модуляционный бит устанавливается с наименьшей выбранной ошибкой и рассчитанной ошибкой следующего бита. Этот процесс продолжается до минимизации ошибок всех битов. Если фрейм содержит более 8 бит, модуляционные биты повторяются. К примеру, 9-й бит фрейма использует бит модуляции 0.

Синхронизация битов при передаче

Синхронизация каждого символа в совокупности представляет собой сумму синхронизаций отдельных разрядов. При модуляции каждого бита сокращается накапливающая поразрядная погрешность. Индивидуальную разрядную погрешность можно рассчитать так:

baudrate - желаемая скорость передачи в бодах;

BRCLK - входная частота: UCLKI, ACLK или SMCLK;

j - позиция бита - 0 для стартового бита, 1 для бита данных D0 и т.д.;

UxBR - коэффициент деления в регистрах UxBRI и UxBR0.

Например, ошибки передачи при приведенных ниже условиях рассчиты-

Ошибка [%]

ваются так:



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]