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

4.2 Скорость приёма/передачи uart

Специализированный генератор скорости состоит из селектора опорной частоты и программируемого 5 - битного счетчика c переменным коэффициентом деления. Он генерирует частоту передачи/приема UART0.

Для конфигурирования скорости задающего генератора используются :

- Опорная частота. Опорная частота задаётся битами 6 и 7 (TPS01 и TPS00) регистра BRGC0. Эта частота задаётся для каждого модуля, если бит 7 (POWER0) регистра ASIM0 установлен в 1. Опорная частота установлена в низкий уровень когда POWER0 = 0.

- Счётчик передачи. Этот счётчик останавливает операцию передачи и сбрасывается в ноль, если бит 7 (POWER0) или бит 6 (TXE0) регистра управления режимом асинхронного интерфейса ASIM0 принимают значение 0. Если оба этих бита установились в еденицу, то счётчик передачи снова запускается.

- Счётчик приёма. Этот счётчик останавливает операцию приёма и сбрасывается в ноль, если бит 7 (POWER0) или бит 5 (RXE0) регистра управления режимом асинхронного интерфейса ASIM0 принимают значение 0. Счётчик запускается, если обнаружен стартовый бит. Счётчик останавливает операцию приёма после одного принятого кадра, пока не будет обнаружен следующий стартовый бит.

Структурная схема формирования частоты приёма/передачи UART представлена на рисунках 35а,б.

Рисунок 35а – Блок – схема формирования частоты приёма/передачи UART0.

Рисунок 35б – Блок – схема формирования частоты приёма/передачи UART6.

Итак, скорость приёма/передачи UART может быть вычислена по следующей формуле:

[bps] (1)

где : - опорная частота, задаваемая битами TPS01 и TPS00 регистра BRGC0

k – коэффициент деления, определяемый битами MDL04 - MDL00 регистра BRGC0.

Ошибка скорости приёма/передачи UART может быть вычислена по следующей формуле:

(2)

Пример: вычислим ошибку, для скорости 76.800 бод/сек.

Опорная частота = 2.5 МГц = 2500000 Гц.

Установим биты MDL04 - MDL00 регистра BRGC0 в значение 10000B (к=16).

Целевая скорость в бодах 76800 бод/сек.

Согласно формуле (1): Baud rate = 2.5 M/(2 *16)= 2500000/(2 *16) = 78125 бод/сек.

Следовательно ошибка составит Error = (78125/76800 - 1) * 100= 1.725 %

Примеры настройки портов UART на стандартные скорости приведены в таблице 13.

Таблица 13 – стандартные скорости приёма/передачи UART0.

Скорость

fX = 10.0 MHz

fX = 8.38 MHz

fX = 4.19 MHz

TPS01,

TPS00

к

Расчетное Значение

ERR[%]

TPS01,

TPS00

к

Расчетное Значение

ERR[%]

TPS01,

TPS00

к

Расчетное Значение

ERR[%]

2400

-

-

-

-

-

-

-

-

3

27

2425

1.03

4800

-

-

-

-

3

27

4850

1.03

3

14

4676

-2.58

9600

3

16

9766

1.73

3

14

9353

-2.58

2

27

9699

1.03

10400

3

15

10417

0.16

3

13

10072

-3.15

2

25

10475

0.72

19200

3

8

19531

1.73

2

27

19398

1.03

2

14

18705

-2.58

31250

2

20

31250

0

2

17

30809

-1.41

-

-

-

-

38400

2

16

39063

1.73

2

14

38796

-2.58

2

27

38796

1.03

76800

2

8

78125

1.73

1

27

77593

1.03

1

14

74821

-2.58

115200

1

22

113636

-1.36

1

18

116389

1.03

1

9

116389

1.03

153600

1

16

156250

1.73

1

14

149643

-2.58

-

-

-

-

230400

1

11

227273

-1.36

1

9

232778

1.03

-

-

-

-

Таблица 13(продолжение) – стандартные скорости приёма/передачи UART0.

Скорость

fX = 10.0 MHz

fX = 8.38 MHz

fX = 4.19 MHz

TPS61,

TPS60

к

Расчетное Значение

ERR[%]

TPS61,

TPS60

к

Расчетное Значение

ERR[%]

TPS61,

TPS60

к

Расчетное Значение

ERR[%]

600

6

130

601

0.16

6

109

601

0.11

5

109

601

0.11

1200

5

130

1202

0.16

5

109

1201

0.11

4

109

1201

0.11

2400

4

130

2404

0.16

4

109

2403

0.11

3

109

2403

0.11

4800

3

130

4808

0.16

3

109

4805

0.11

2

109

4805

0.11

9600

2

130

9615

0.16

2

109

9610

0.11

1

109

9610

0.11

10400

2

120

10417

0.16

2

101

10371

0.28

1

101

10475

-0.28

19200

1

130

19231

0.16

1

109

19200

0.11

0

109

19220

0.11

31250

1

80

31250

0

0

134

31268

0.06

0

67

31268

0.06

38400

0

130

38462

0.16

0

109

38440

0.11

0

55

38090

-0.8

76800

0

65

76923

0.16

0

55

76182

-0.8

0

27

77593

1.03

115200

0

43

116279

0.94

0

36

116388

1.03

0

18

116389

1.03

153600

0

33

151515

-1.36

0

27

155185

1.03

0

14

149643

-2.58

230400

0

22

227272

-1.36

0

18

232777

1.03

0

9

232778

1.03

Соседние файлы в папке методички к 78К0