Гибкая структура ввода/вывода микроконтроллеров

№ 11’2009
PDF версия
В последнее время фиксируются две тенденции: во-первых, продолжается снижение стоимости полупроводниковых компонентов, и, во-вторых, современные микроконтроллеры выполняют все большее количество функций. Сегодня у типового микроконтроллера имеется как минимум три 16-разрядных таймера с множеством каналов ввода/вывода, выходы ШИМ и несколько 8-разрядных таймеров, а также различные последовательные порты, выводы внешних прерываний и аналоговые порты ввода/вывода, такие как АЦП и Ц АП. Разумеется, они могут использоваться и для стандартного цифрового ввода/вывода. Это означает, что у современных микроконтроллеров каждый вывод может выполнять несколько специальных функций.

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

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

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

Стандартной чертой микроконтроллеров следующего поколения станет так называемый программно-определяемый ввод/ вывод, предполагающий возможность выбирать конфигурацию периферии и портов ввода/вывода исходя из требований конкретной конструкции. В этих новых устройствах будет реализован контроллер конфигурации периферии (Peripheral Mapping Controller, PMC), который позволит программно назначать тем или иным выводам функции периферийного ввода/ вывода микроконтроллера. Такой контроллер (рис. 1) станет очередной вехой на пути к созданию по-настоящему гибких микроконтроллеров.

Рис. 1. Контроллер конфигурации периферии (PMC)

Вывод каждого специализированного функционального блока (например, схемы обработки прерываний IRQ, последовательного интерфейса или выхода таймера) может располагаться на одном из множества выводов по всем четырем сторонам микросхемы. Например, в изображенном на рис. 2 80-вы-водном микроконтроллере роль вывода прерывания IRQ7 может играть один из 7 различных выводов по периметру микросхемы. Перечень выводов, которые могут использоваться в качестве вывода IRQ7, приведен ниже. Итак, доступ к каждому специализированному функциональному блоку устройства может быть реализован через несколько различных выводов.

Рис. 2. PMC — выбор контакта IRQ7

У каждого устройства есть ряд выводов системного назначения — Vcc, Vss, Reset, а также выводы аналоговых функциональных блоков (АЦП, интерфейс I2C). Их местоположение нельзя изменить: они привязаны к конкретным выводам микросхемы. Расположение выводов цифрового ввода/вывода также фиксировано, но выводы любого специализированного цифрового функционального блока — схемы внешних прерываний, ШИМ, входа таймера или последовательного порта — могут быть перемещены в различные точки по периметру микросхемы. Возможность выбора выводов микроконтроллера для доступа к периферийным функциям дает множество преимуществ.

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

Рис. 3. Уменьшение длины токоведущих дорожек и устранение необходимости в их пересечении

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

Контроллер конфигурации периферии можно также использовать для реализации нескольких изделий на базе одного и того же программного обеспечения и с одинаковой компоновкой печатной платы. На рис. 4 приведено несколько простых примеров. В данном случае выводы 29 и 30 микроконтроллера соединяются с разнообразными простыми интерфейсами — переключателями, светодиодами и соединителем печатной платы.

Рис. 4. Примеры компоновки

К выводам проложены токоведущие дорожки для каждого из интерфейсов, но установлены на плату только те компоненты, которые присутствуют в конкретной модели.

В модели A установлен соединитель параллельного порта, а выводы приемной и передающей части одного из имеющихся в устройстве SCI-интерфейсов (USART) перемещены с помощью контроллера конфигурации периферии на выводы 29 и 30.

В модели B к выводам 29 и 30 подсоединены переключатель и светодиод, вывод IRQ перемещен на контакт 30, а вывод 29 используется в качестве входа/выхода общего назначения, сигнал с которого управляет работой светодиода. SCI можно использовать, переместив его выводы на другие контакты микросхемы.

В модели C оба вывода используются в качестве входов/выходов общего назначения.

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

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

Еще интересней то, что это можно делать в динамическом режиме, то есть периферийные устройства можно использовать по-разному в одной и той же конструкции. Типичный пример — параллельные порты. Пусть у микросхемы имеется 3 аппаратных интерфейса SCI, но выводы каждого из них могут располагаться в различных местах микросхемы (до 6). Это означает, что в приложениях, где необходимо иметь большее количество последовательных интерфейсов, один и тот же SCI может обслуживать несколько последовательных интерфейсов, если только от них не требуется одновременная работа.

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

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

Микроконтроллеры семейства H8STiny компании Renesas — первые устройства нового поколения, содержащие контроллер конфигурации периферии. Гибкость, которую они обеспечивают, значительно облегчает процесс проектирования печатных плат и программного обеспечения и позволяет использовать одно и то же изделие в различных областях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *