Блок ввода/вывода цифровой информации GPIO (general-purpose input/output) — КиберПедия 

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Блок ввода/вывода цифровой информации GPIO (general-purpose input/output)



 

Каждый вывод процессора общего назначения (general-purpose) может быть сконфигурирован как вход, так и выход. Когда вывод сконфигурирован как выход, в него можно записывать логические “0” или “1”. Когда вывод сконфигурирован как вход, то процессор может определить какой уровень присутствует на нем. Конфигурирование GPIO производится в регистрах IODIR1 и IODIR2 (GPIO direction registers).Кроме этого GPIO может быть источником прерывания по перепаду уровней для процессора. Всего в процессоре 26 выводов могут выполнять функции GPIO (GPIO[31:27], GPIO[20:0]). Эти выводы мультиплексируются с другими функциями. Т.е. один вывод может быть отнесён к интерфейсу I2S, SPI, UART, GPIO и т.д. Конфигурирование функционала выводов определяет регистр EBSR (External Bus Selection Register по адресу 0x1C00h). Этот регистр может быть сконфигурирован только после перезагрузки процессора и не может быть изменён в процессе работы.

Все выводы GPIO могут быть “подтянуты” через резистор (pull-down) к нулевому проводу в регистре Pull-down Inhibit Register.

После общего сброса процессора по умолчанию GPIO выводы конфигурируются как входы.

Прерывания от GPIO могут происходить по спадающему или по нарастающему фронту сигнала на выводе. Разрешение прерывания устанавливается в регистрах IOINTEN1, IOINTEN2 (GPIO interrupt enable registers), а фронт срабатывания в регистрах IOINTEDG1, IOINTEDG2 (interrupt edge trigger enable registers). Флаги прерываний фиксируются в регистрах IOINTFLG1, IOINTFLG2.

 

Блок последовательного интерфейса UART

 

UART (universal asynchronous receiver and transmitter) это асинхронный последовательный интерфейс для приёма и передачи данных. Асинхронность означает отсутствие синхронизирующих импульсов при обмене данными. Совместимость приёмника и передатчика достигается тем, что они работают на одних частотах (эти частоты фиксированы и стандартизированы), измеряемых количеством битов передаваемых за секунду.

При приёме данных происходит преобразование из последовательной формы в параллельную, а при передаче преобразование параллельной формы в последовательную. Можно выделить следующие особенности UART:

-возможность программирования частоты приёма и передачи

-длина одной посылки 5,6,7 или 8 бит

-генерация и определение бита чётности

-наличие 16-ти байтного буфера FIFO (First In, First Out -«первым пришёл - первым ушёл»)

-поддержка контроллера DMA при приёме и передаче

-выделенный вектор прерывания на приём и передачу

-возможность работы через прерывания и через опрос битов регистров

-возможность диагностики за счёт создания внутренней обратной цепи и т.д.



Для асинхронных интерфейсов очень важна точность установки частоты обмена. На блок UART подаётся частота внутреннего тактового генератора процессора и для получения необходимой частоты используется два 8-ми битных регистра делителя (DLH и DLL). Диапазон деления частоты: от 1 до (216-1). Кроме этого при вычислении коэффициента деления необходимо учитывать, что на каждый передаваемый и принимаемый бит, вырабатывается 16 BCLK сигналов. Итоговая формула для вычисления значения, записываемого в делитель:

Divisor = (UART input clock frequency)/(Desired baud rate)/16

Как правило, полученная частота обмена данными точно не совпадает с частотой из набора разрешённых частот, но к этому надо стремиться.

Передающая секция UART содержит регистр передаваемых данных (THR), которые получены с шины данных процессора, и сдвиговый регистр (TSR). Когда UART работает в режиме FIFO, то в качестве THR выступает 16-ти байтное FIFO. Данные передаются через вывод процессора TX.

Принимающая секция содержит приёмный сдвиговый регистр (RSR) и приёмный буферный регистр (RBR). В RSR данные поступают с RX вывода процессора. При работе с FIFO в качестве RBR выступает 16-ти байтное FIFO.

Последовательность сигналов при приёме и передаче:1)Start бит, 2)5,6,7, или 8 бит данных, 3)бит паритета (PARITY) 4)Stop биты.

Блоки FIFO выделены отдельно для приёма и передачи. Механизм FIFO упрощает программирование UART, т.к. отпадает необходимость следить за приёмом и передачей каждого байта. Прерывание по FIFO при передаче происходит только при опустошении буфера, а при приёме при его заполнении.

Блок RTC (Real Time Clock)

 

Это так называемый блок реального времени, который может применяться как часы. Как уже отмечалось в пункте 2.3. к процессору подключается кварцевый резонатор с частотой 32768Гц. Это так называемый “часовой” кварц, т.к. после деления этой частоты на величину 215 получаются стабильные импульсы частотой 1Гц т.е. 1-н импульс в секунду. Подсчёт этих импульсов и определяет реальное время.



Большим преимуществом такой конструкции является то, что RTC может работать вне зависимости от процессора. Т.е. процессор может быть остановлен.

Основные особенности блока RTC:

-календарь на 100 лет (позволяет объём регистров)

-наличие отдельных счётчиков миллисекунд, секунд, минут, часов (в формате 24 часа) и даты (с отдельным отображением даты, месяца, года с учётом високосных)

-данные представляются в т.н. двоично-десятичном формате (BCD binary-coded-decimal)

-встроенный будильник (учитывающий год, месяц, день, час, минуту секунду и миллисекунду), имеющий прерывание

-возможность периодических прерываний каждую миллисекунду, секунду, минуту, час или день

Представление данных в двоично-десятичном формате заключается в том, что в 4-х битах помещаются числа от 0 до 9. Если бы в этих битах помещались числа от 0 до 15, то необходим бы был дополнительный пересчёт в десятичное число для отображения времени на индикаторах.

В таблице векторов прерывания выделен только один 18-й вектор. Поэтому причину, по которой произошло прерывание в RTC можно определить в регистре Interrupt Flag Register (RTCINTFL).

 

 






Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...





© cyberpedia.su 2017 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав

0.008 с.