Разделы

Расчёт частот для использования микроконтроллера

Чтобы сделать вывод о рациональности применения микроконтроллера ATmega 128 для разработки устройства, необходимо провести расчёт. Главным критерием, по которому выбирается микроконтроллер, в данном случае является способность с максимальной точностью воспроизводить частоту несущих генераторов ГКШ (ГК6).

Несущие частоты генераторов ГКШ (ГК6) получаются путем деления частоты внешнего кварцевого резонатора на 16 МГц с помощью таймеров-счётчиков микроконтроллера в режиме сброса таймера при совпадении (СТС).

Ввиду идентичности таймеров 1 и 3 в данном разделе используется общая форма записи. Так индекс «n» заменяет номер таймера-счётчика (1 или 3), а «х» заменяет наименование канала сравнения (А, В или С).

В режиме СТС (WGM01, WGM00=0b10) регистр OCR0 используется для задания разрешающей способности счётчика. Если задан режим СТС и значение счётчика (TNCT0) совпадает со значение регистра OCR0, то счётчик обнуляется (TNCT0=0). Таким образом, OCR0 задает вершин счета счётчика, а, следовательно, и его разрешающую способность. В данном режиме обеспечивается более широкий диапазон регулировки частоты генерируемых прямоугольных импульсов.

В режиме сброса таймера при совпадении (WGMn3-0 = 0b0100 или 0b1100) разрешающая способность таймера задается регистрами OCRnA или ICRn. В режиме СТС происходит сброс счётчика (TCNTn), если его значение совпадает со значением регистра OCRnA(WGMn3-0 = 0b0100) или с IRCn(WGMn3-0 = 0b1100). Временная диаграмма работы таймера в режиме СТС показана на рисунке 6.1. Счётчик (TNCTn) инкрементирует свое состояния до тех пор, пока не возникает совпадение со значением OCRnA или ICRn, а затем счётчик (TNCTn) сбрасывается[7].

Рисунок 6.1 - Временная диаграмма для режима СТС

По достижении верхнего предела счета может генерироваться прерывание с помощью флагов OCFnA или ICFn, соответствующим используемым регистрам, для задания верхнего предела счета. Если прерывание разрешено, то процедура обработки прерывания может использоваться для обновления верхнего предела счета. Однако, задание значения вершины счета близкого к значению нижнего предела счета, когда счетчик работает без предделения или с малым значением предделения, необходимо выполнять с особо осторожностью, т.к. в режиме СТС нет двойной буферизации. Если значение, записанное в OCRnA или ICRn, меньше текущего значения TCNTn, то сброс счетчика по условию совпадения наступит, когда он достигнет максимального значения (0xFFFF), затем перейдет в исходное состояние 0x0000 и достигнет нового значения OCRnA или ICRn. Во многих случаях возникновение такой ситуации не желательно. В качестве альтернатив: может выступить режим быстрой ШИМ, где регистр OCRnA определяет верхний предел счета (WGMn3-0 = 0b1111), т.к. в этом случае OCRnA имеет двойную буферизацию.

Для генерации сигнала в режиме СТС выход ОСnА может использоваться для изменения логического уровня при каждом совпадении, для чего необходимо задать режим переключения (COMnAl, COMnA0 = 0b01). Значение ОСnА будет присутствовать на выводе порта, только если для данного вывода задано выходное направление. Максимальная частота генерируемого сигнала равна fOС0 = fclk_I/O/2, если OCRnA=0x0000.

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

(6.1)

где - тактовая частота процессора;

- необходимая несущая частота ЧДК;- коэффициент соответствующего предделителя частоты.

Результаты проведенных расчетов байтов, записываемых в регистр сравнения, при использовании 8-битного таймера/счетчика микроконтроллера ATmega128, приведены в таблице 6.1. В качестве предделителя выбран коэффициент 128, так как при меньшем его значении получившийся байт сравнения будет превышать разрядность регистра сравнения ($FFh). Результаты расчетов округлены до ближайшего целого числа и переведены в шестнадцатеричную систему счисления для записи их в память микроконтроллера.

Таблица 6.1 - Константы, записываемые в регистр сравнения таймера Т2

Реализуемая частота, Гц

Байт сравнения при тактовой частоте, МГц

4

8

16

DEC

HEX

DEC

HEX

DEC

HEX

1

2

3

4

5

6

7

319,63

48

30h

97

61h

196

C4h

360,62

42

2Аh

86

56h

172

ACh

390,67

39

27h

79

4Fh

159

9Fh

431,80

35

23h

71

47h

144

90h

479,45

32

20h

64

40h

129

81h

527,40

29

1Dh

58

3Ah

118

76h

586,00

26

1Ah

52

34h

106

6Ah

659,25

23

17h

46

2Eh

94

5Eh

732,50

20

14h

42

2Ah

84

54h

820,40

18

12h

37

25h

75

4Bh

920,86

16

10h

33

21h

67

43h

1025,50

14

Eh

30

1Eh

60

3Ch

1118,72

13

Dh

27

1Bh

55

37h

1237,11

12

Ch

24

18h

50

32h

1367,33

10

Ah

22

16h

45

2Dh

1523,60

9

9h

20

14h

40

28h

Перейти на страницу: 1 2 3 4 5

Другие материалы

Синтез устройства управления узлом ЭВМ в программе Electronics Workbench (EWB)
интерфейс синтезируемый Современные приборы и устройства сервиса представляют собой сложные технические системы, реализованные на базе средств вычислительной техники. Цифровые устройства ...

Разработка математических моделей, алгоритмов и программного обеспечения для выбора предпочтительных мест установки антенн системы спутниковой навигации
На современных космических аппаратах дистанционного зондирования Земли (КА ДЗЗ - далее для краткости КА)устанавливается аппаратура навигационной системы, которая используется для опреде ...

Разработка печатной платы игровой приставки Game Boy
Первое поколение компьютеров с архитектурой Фон-Неймана Первой работающей машиной с архитектурой Фон-Неймана стал манчестерский «Baby» - Small-Scale Experimental Machine, созданный в М ...

Копирайт 2020 : www.ordinarytech.ru