Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
403
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

Внимание! Порт не будет функционировать, если обращение к нему выполняется в высокоскоростном режиме (регистры FIOx…), а высокоскоростной режим отключен (регистр SCS). То же и наоборот. Следует убедить-

ся, что флажки GPIOxM в окне System Control Block System Control & Status установлены для высокоскоростного режима или сброшены для низкоскоростного.

2.4.2 Ввод и вывод дискретных сигналов

Для тестирования ввода дискретного сигнала рекомендуется:

1. Установить точку останова на команду обращения к порту. Команда чтения обычно имеет формат:

Имя переменной = IOxPIN & Маска ;

Команда записи

IOxPIN/SET/CLR = Имя переменной & Маска ;

Маска может отсутствовать. В высокоскоростном режиме вместо IOx… используются FIOx….

2.При вводе добиться желаемого уровня на дискретном входе, выполнив необходимые коммутации в аппаратуре. Желательно контролировать электрический уровень на входе вольтметром или осциллограмм. При выводе просто контролировать сигнал.

3.Открыть окно просмотра состояния портов ввода-вывода

Peripherals GPIO Slow Interface Port 0 или Peripherals GPIO Fast Interface Port 0. На рисунке 2.4.6 показаны оба варианта.

1

2

3

4

5

6

1

– направление ввода-вывода;

4

– текущее состояние;

2

– установка единицы;

5

– моделирование ввода дискретных сигналов;

3

– сброс в ноль;

6

– маска

Рисунок 2.4.6 – Окна цифровых портов ввода-вывода

Каждый флажок соответствует разряду одного из регистров управления портами (имена регистров подписаны слева). Имеются также поля для ввода 16-ричных кодов управления портами. Флажки Pins в нижнем ряду

137

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

4. Нажать F11, выполнив команду обращения к порту. При чтении проследить за изменением регистра IOxPIN (FIOxPIN) и переменной, в которую содержимое порта сохраняется (окно Watch). При записи проследить за изменением электрического сигнала на портовой линии.

Если ввод-вывод выполняется с ошибкой, причины могут быть следующие:

а) из-за неверной маски обращение происходит не к той линии, к которой должно;

б) выбрано неверное направление линии через (F)IOxDIR; в) линия настроена на выполнение альтернативной функции;

г) изменение линии запрещено аппаратным маскированием (регистр FIOMASK равен единице);

д) выполняется обращение через регистры FIOx…, притом что высокоскоростной режим не включен (регистр SCS) или наоборот.

2.4.3 Таймер-счетчик. Формирование интервалов времени

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

2.Открыть окно таймеров-счетчиков (Peripherals Timer Timer 0/1) (рисунок 2.4.7).

3.Прежде всего, обратить внимание на бит разрешения счета (2) и сброса счетчика (3). Первый должен быть единицей, второй нулем. Проверить, что выбран верный источник тактирования, то есть режим таймера или счетчика (17). Если что-то из перечисленного настроено неверно, то содержимое таймера-счетчика (1), скорее всего, равно нулю. Если в поле (1) ненулевое значение, значит, таймер-счетчик работает и нужно переходить к проверке схемы совпадения.

4.Следует убедиться, что, по крайней мере, одно из устройств совпадения обеспечивает остановку и/или сброс таймера-счетчика, то есть хотя бы один из флагов (6–7) установлен, а также что пороговое значение (4) не слишком велико (соответствует длительности формируемого интервала времени) и не равно нулю.

5.Если используется прерывание по совпадению, формирование запроса прерывания должно быть разрешено (5). Если формируемый интервал времени слишком длинный, полезно установить точку останова внутри процедуры обработки прерывания, имитировать совпадение путем ввода вручную в окно (1) числа, равного пороговому значению (4) и запуска программы (F5). При этом должен установиться флаг (10) и возникнуть прерывание.

6.Постоянно установленный флаг запроса прерывания (10, 16) и отсутствие самого прерывания, свидетельствует в пользу нормального функционирования таймера и ошибочной настройки системы прерываний.

138

1

2

 

4

 

5

 

6

3

7

 

8

 

9

 

10

 

11

 

12

13

14

 

15

 

17

 

16

 

18

 

 

 

1

– содержимое таймера-счетчика;

 

– захваченное состояние;

11

2

– включение;

12–13 – разрешить захват по фронту и по

3

– сброс;

 

срезу;

4

– пороговое значение;

14

– разрешить запрос прерывания по за-

5–7 – разрешить запрос прерывания, сброс

 

хвату;

 

и остановку по совпадению;

15

– состояние входов CAPx.x;

8–9 – управление сигналом MATx.x и его

16

– состояние запроса прерывания по за-

 

текущее состояние;

 

хвату;

10 – состояние запроса прерывания по сов-

17

– режим (таймер или счетчик);

 

падению;

18

– выбор входа счетчика

Рисунок 2.4.7 – Окно таймера-счетчика

2.4.4 Таймер-счетчик. Формирование внешних сигналов совпадения

1.Подключить осциллограф или вольтметр к линии порта, на которой ожидается сигнал совпадения.

2.Убедиться, что таймер и устройство совпадения функционируют нормально (см. выше).

3.Проверить разрешено ли формирование внешних сигналов совпадения и верно ли выбрана реакция на совпадение: инверсия, положительный или отрицательный перепад (8).

4.Если флаг (9) меняется верно, но уровень электрического сигнала не меняется, следует искать ошибку в настройке режима портовой линии.

2.4.5 Таймер-счетчик. Счетчик внешних событий

1. Подключать источник прямоугольного сигнала амплитудой от 0 до 5 В и частотой не более 30 МГц к одному из счетных входов CAPx.x. Открывать окно таймера следует после того, как внешний сигнал подан, так как информация не обновляется в открытом окне.

139

2.Проверить выбор режима счетчика (17) и счетного входа (18).

3.Если счетчик при наличии внешнего сигнала не инкрементируется, следует искать ошибку в настройке портовой линии.

2.4.6 Таймер-счетчик. Устройство захвата

1.Добиться нормального функционирования таймера.

2.Подключать источник дискретного сигнала амплитудой от 0 до 5 В

ик одному из входов CAPx.x. Открыть окно таймера.

3.Убедиться, что разрешен захват по фронту и/или срезу по крайней мере одного из внешних сигналов (12–13).

4.Если ни один из флажков 15 не активен (закрашен серым цветом), значит режим порта настроен неверно.

5.При изменении уровня внешнего сигнала захваченное состояние таймера должно обновляться в окне (11). Обновление будет происходить только при любой активности отладчика: открыть/закрыть окно таймера, выполнить очередную команду (F10/F11) и т. д.

2.4.7 Широтно-импульсный модулятор

1. Во время тестирования ШИМ рекомендуется контролировать осциллографом сигнал на выходах PWMx. Окно настроек вызывается пунктом меню Peripherals Pulse Width Modulator.

Верхняя часть окна (рисунок 2.4.8) аналогична окну настроек таймера. Ниже расположена таблица, в которой показаны настройки каждого из семи устройств совпадения.

1

 

 

 

3

2

4

 

 

 

 

5

 

 

 

7

 

 

8

6

 

9

 

 

1

– содержимое счетчика ШИМ;

6

– состояние запроса прерывания;

2

– включение счетчика;

7

– управление начальной фазой;

3

– сброс счетчика;

8

– включение канала;

4

– пороговые значения и настройки всех каналов;

9

– состояние выхода канала ШИМ

5

– разрешение запроса прерывания, сброса, и

 

 

остановки счета по совпадению (сверху вниз);

 

 

 

Рисунок 2.4.8 – Окно настройки ШИМ

140