Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
промышленные контроллеры.doc
Скачиваний:
39
Добавлен:
02.04.2015
Размер:
711.17 Кб
Скачать

8. Каналы широтно-импульсной модуляции

Каналы широтно-импульсной модуляции (К ШИМ) предназначены для выработки на выходах МК электрических сигналов в виде последовательности импульсов, частота следования и длительность которых задаются программным методом [2]. Такая последовательность импульсов с переменной длительностью позволяет плавно менять напряжение на управляемом технологическом объекте. Изменение длительности импульсов на 1% вызывает изменение напряжения на объекте на 0,05 В.

МК содержит 2 блока каналов ШИМ. Каждый блок состоит из 16 каналов ШИМ, двух специальных таймеров (Т0 и Т1 для первого блока – Т01CON и Т7 и Т8 для второго блока - T78CON). Это позволяет формировать до 32 независимых каналов ШИМ.

Программно-логическая модель одного канала ШИМ приведена на рис. 8.1.

Специальные таймеры (TXZCON), предназначенные для работы с каналами ШИМ, тактируются импульсами, поступающими с внутреннего генератора тактовых импульсов fCPU.

Выбирая коэффициент деления делителя частоты данного таймера и занося в регистр переполнения TXREL код, характеризующий периодическое переполнение счетчика, возможно программным методом менять период заполнения счетчика, а следовательно, и частоту следования импульсов на выходе канала ШИМ.

Рис. 8.1

В регистр сравнения ССХ заносится код индекса модуляции, характеризующий длительность импульсов на выходе канала ШИМ. В компараторе происходит постоянно сравнение текущих кодов счетчика специального таймера и регистра сравнения.

В моменты равенства этих кодов на выходе канала ШИМ логический уровень сигнала меняется на противоположный. Так, если в момент переполнения счетчика таймера на выходе канала ШИМ устанавливается логический ноль, то в момент равенства кодов на выходе канала ШИМ устанавливается логическая единица (рис. 8.2).

Рис.8.2

Каждый канал ШИМ может работать в одном из трех режимов. Вид используемого режима определяется кодом, который заносится в регистр режима ССМХ.

Один регистр режима ССМХ содержит коды режимов одновременно для четырех каналов ШИМ. Всего регистров режимов в МК 8 штук. Например, в регистре режима ССМ0 могут быть записаны коды режимов для каналов ШИМ с номерами 0, 1, 2 и 3. Каждый канал ШИМ в регистре режима располагает 4 битами. В первых трех битах помещается информация о режиме работы канала ШИМ. При помещении в этих трех битах трех единиц канал ШИМ работает без фазового сдвига импульсов. Четвертый бит характеризует выбор специального таймера для работы с данным каналом ШИМ. При помещении в этот бит нуля выбирается нулевой таймер Т0 (Т01CON).

Значение кода переполнения (В) определяется из выражения

где 216 - объем счетчика специального таймера; fCPU - частота внутреннего тактового генератора; kd - коэффициент деления делителя частоты; fВЫХ -выходная частота импульсов с широтно-импульсной модуляцией.

Выбор коэффициента деления определяется неравенством вида

Величина коэффициента деления лежит в диапазоне 8 < kd < 1024. Расчет кода индекса модуляции производится по формуле

где Im - величина индекса модуляции, выраженная в долях от заданного периода следования импульсов на выходе канала с широтно-импульсной модуляцией.

Каждый канал с ШИМ может работать в одном из трех режимов.

1. В режиме генерации импульсов с изменяющейся длительностью и с фиксированными частотами (табл. 8.1), которые определяются выбранными коэффициентами деления. В этом режиме регистры переполнения не участвуют.

Таблица8.1

kd

8

16

32

64

128

256

512

1024

fВЫХ, Гц

38,46

19,04

9,52

4,76

2,38

1,19

0,59

0,29

  1. В режиме генерации импульсов с изменяющейся длительностью и произвольно выбранной частотой, определяемой коэффициентом деления и кодом переполнения. В этом режиме частоты (с минимальной дискретностью, которая определяется единицей младшего разряда кода переполнения) будут находиться в следующих диапазонах (табл. 8.2).

Таблица 8.2

kd

8

16

32

64

128

256

512

1024

При TXRTL=0,Гц

38,46

19,04

9,52

4,76

2,38

1,19

0,59

0,29

При TXREL=65534

25 кГц

12,5 кГц

6,25 кГц

3,125 кГц

1,562 кГц

781 Гц

390 Гц

195 Гц

3. В режиме генерации импульсов с изменяющейся длительностью, фазой и произвольно выбранной частотой.

Изменение фазы достигается за счет использования одновременно двух регистров сравнения в одном канале ШИМ, что позволяет сдвигать импульсы во всем пространстве периода выходной частоты (рис. 8.3).

Рис.8.3

Каналы ШИМ содержат следующие органы управления.

1. Регистры управления специальных таймеров T01CON или T78CON (Control Registers). Формат и содержание регистра управления T01CON указаны в табл. 8.3.

Таб л и ц а 8.3

15

14

13 12

11

10 9

8

7

6

5 4

3

  1. 1

0

T1R

Т1М

Т1I

TOR

Т0М

Т0I

T0I. Три бита поля T0I регистра управления Т01CON предназначены для установки коэффициента деления в делителе частоты (ДЧ) в случае питания таймера от внутреннего генератора fCPU тактовой частоты. В табл. 8.4 указаны коды, которые могут устанавливаться в поле T0I, значения коэффициентов деления частоты, частоты на входе таймера после делителя частоты, величины периодов входной частоты и периодов заполнения счетчика импульсами поделенной частоты в случае объема счетчика 65535 импульсов.

Т0М. Один бит поля Т0М регистра управления Т01CON предназначен для выбора режима работы таймера:

Т0М=0 - режим генерации импульсов с подачей тактовых импульсов с внутреннего генератора МК;

Т0М=1 - режим генерации импульсов с подачей тактовых импульсов с внешнего генератора.

Таблица 8.4

Код

kd

Входная частота

Период входной частоты

Период заполнения счетчика

000

8

2,5 МГц

400 нс

26 мс

001

16

1,25 МГц

800 нс

52,5 мс

010

32

625 кГц

1,6 мкс

105 мс

011

64

31 2,5 кГц

3,2 мкс

210 мс

100

128

156,25 кГц

6,4 мкс

420 мс

101

256

78,125 кГц

12,8 мкс

840 мс

по

512

39,06 кГц

25,6 мкс

1,68 с

111

1024

19,53 кГц

51,2 мкс

3,36 с

T0R. Один бит поля T0R регистра управления предназначен для включения или выключения канала ШИМ: T0R=0 - канал выключен; T0R=1 - канал включен.

В этом же регистре управления указаны аналогичные поля и для таймера Т1.

  1. Регистр сравнения ССХ предназначен для запоминания кода индекса модуляции.

  2. Регистр переполнения TXREL предназначен для запоминания кода переполнения.

  3. Регистр режима работы ССМХ канала ШИМ (один регистр ССМХ предназначен для одновременного управления четырьмя каналами ШИМ; например, регистр ССМО управляет работой следующих каналов ШИМ: 0, 1, 2 и 3). Формат и содержание регистра режима ССМО указаны в табл. 8.5.

Таблица 8.5

15

14 13 12

11

10 9 8

7

6 5 4

3

2 1 0

АСС3

ССМОD3

АСС2

CCMOD2

АСС1

CCMOD1

АСС0

CCMOD0

CCMODX. Три бита поля регистра режима работы ССМХ предназначены для выбора режима работы канала ШИМ:

111- канал работает в режиме генерации ШИМ без фазового сдвига.

АССХ. Один бит поля регистра управления ССМХ предназначен для выбора специальных таймеров, которые должны работать с данным каналом ШИМ:

  1. - таймеры Т0, Т1;

  2. - таймеры Т7, Т8.

Для задания режима работы канала с широтно-импульсной модуляцией с фиксированными частотами следования импульсов в программе необходимо:

  1. рассчитать код индекса модуляции (М) и занести его в регистр сравнения ССХ через стек, использовав любой РОН;

  2. заполнить битовые поля регистра режима и полученный код режима занести в регистр режима ССМХ;