Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное программирование 2014 / Прикладное программирование -Конспект лекций - заготовка для издания.doc
Скачиваний:
162
Добавлен:
21.03.2016
Размер:
3.24 Mб
Скачать

3.1 Вход/выходы общего назначения

3.1.1 Общая характеристика

Процессор имеет 88 выводов, которые могут быть сконфигурированы как вход/выходы общего назначения GPIO. Выводы поименованы в росписи контактов собственными именамиGPIO0…GPIO87. Кроме функцииGPIOкаждый из выводов может быть подключен к периферийным сигналам (число возможных подключений от одного до трех). Назначение выводам функций и задание их свойств осуществляется посредством регистров управления конфигурациейGPIO. Конфигурирование выводов и их переключение осуществляется блокомGPIOMUXпод управлением информации, записываемой в регистрыGPxMUXn. На рис.3.1 приведена схема конфигурирования первой группы вход/выходов общего назначенияGPIO0…GPIO27

Рис.3.1. Схема конфигурирования вход/выходов общего назначения GPIO0…GPIO27

Если вывод конфигурируется с функцией цифрового входа или выхода, в регистре GPxDIRдля него устанавливается направление передачи сигнала. Для цифровых входов можно также в регистрахGPxQSELn,GPACTRL,GPBCTRLустановить дополнительную обработку для устранения нежелательного шума.

3.1.2 Рекомендации по конфигурации выводов:

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

Шаг 2: подключите или отключите встроенные резисторы подтяжки в зависимости от выбранной для вывода функции, записав 0 или 1 в регистры GPAPUD,GPBPUD,GPCPUD. (Примечание – по умолчанию резисторы подтяжки уGPIO0 –GPIO11 отключены, у всех остальных выводов – включены).

Шаг 3: если вывод используется в качестве входа, определите его свойства в регистрах GPACTRL,GPBCTRL,GPAQSEL1,GPAQSEL2,GPBQSEL1,GPBQSEL2. (Примечание – по умолчанию все входы синхронизированы только сигналомSYSCLKOUT)

Шаг 4: определите в регистрах GPxMUXnфункцию вывода:GPIOили периферийный сигнал. (Примечание – по умолчанию сигналомResetвсеGPIOвыводы конфигурируются как вход/выходы общего назначения)

Шаг 5: если вывод используется в качестве GPIO, определите направление его передачи в регистрахGPADIR,GPBDIR,GPCDIR. (Примечание – по умолчанию всеGPIOвыводы конфигурируются как входы). Чтобы изменить конфигурацию на выход, сначала загрузите необходимые установки в регистрыGPxCLEAR,GPxSET,GPxTOGGLEдля выходного триггера-защелки, только после этого измените направление вывода в регистрахGPADIR,GPBDIR,GPCDIR. (Примечание – по сигналуResetвыходные триггеры-защелки для всех выводов очищаются).

Шаг 6: определите в регистре GPIOLPMSEL, какие выводы, если это необходимо, будут выводить контроллер из режима с пониженным энергопотреблением.

Шаг 7: определите в регистрах GPIOXINTxSEL,GPIOXNMISELисточники для прерыванийXINT1 –XINT7,XNMI. Для каждого из прерываний можно определить один из сигналов порта А (XINT1 –XINT3) или порта В (XINT4 –XINT7). Полярность сигнала прерывания устанавливается в регистрахXINTnCRиXNMICR.

3.1.3 Регистры, используемые для конфигурирования GPIO:

Каждый порт имеет отдельный набор регистров (x=A,B,C), в которых каждый бит соответствует отдельному выводу.

GPxDAT–Значение этого бита будет отображаться в состояние 0 или 1 на данном выводе, если он сконфигурирован, какGPIO.

GPxSET– используется для установки вывода в состояние 1, для чего в соответствующий бит регистра записывается 1, запись 0 не дает эффекта, поскольку по умолчанию в регистрах все биты в состоянии 0.

GPxCLEAR- используется для установки вывода в состояние 0, для чего в соответствующий бит регистра записывается 1, запись 0 не дает эффекта, поскольку по умолчанию в регистрах все биты в состоянии 0.

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

3.1.4 Квалификация входов

Выводы, конфигурированные как входы, могут иметь различные режимы синхронизации. Входы GPIOмогут быть квалифицированы для синхронизации тактовыми импульсамиSYSCLKOUTили окном выборки. Для выводов, конфигурированных как входы периферии, возможны асинхронный режим, синхронизацияSYSCLKOUTили окном выборки. Тип синхронизации задается в регистрахGPAQSEL1,GPAQSEL2,GPBQSEL1,GPBQSEL2.

асинхронный режим – используется для периферии, где синхронизация не требуется, либо само периферийное устройство ее обеспечивает;

синхронизация SYSCLKOUT- по умолчанию сигналомResetвсеGPIOвыводы устанавливаются в этот режим, при синхронизации может возникнуть задержка до одного периода тактовой частоты между срабатыванием внешнего устройства и изменением входного сигнала контроллера;

синхронизация окном выборки – используется для удаления нежелательного шума, для чего входной сигнал сначала синхронизируется SYSCLKOUT, а затем квалифицируется в течение заданного числа периодов выборки, прежде чем передается на вход контроллера. Период выборки задается битамиQUALPRDnв регистреGPxCTRL, причем сразу для 8 входов. Число периодов выборки устанавливается в регистрахGPAQSEL1,GPAQSEL2,GPBQSEL1,GPBQSEL2 и может быть либо 3 либо 6. Если информация на входе не изменяется в течение окна выборки, она передается на вход контроллера.