Примеры. Порты ввода-вывода микроконтроллера aDuC812.

Примерами служат: COM-порт в PC/AT, пространство портов ввода-вывода, порт контроллера ПДП (DMA).

Порты P0, P1, P2, P3 микроконтроллера ADuC812 являются квазидвунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией микроконтроллера с внешними устройствами, образуя 32 линии ввода-вывода.

Порт P0 может быть использован для организации шины адреса/данных при работе микроконтроллера с внешней памятью данных или программ, при этом через него выводится младший байт адреса (A0-A7), выдается из микроконтроллера или принимается в микроконтроллер байт данных.

Порт P1 – аналоговые входы.

Порт P2 может быть использован для организации шины адреса при работе микроконтроллера с внешней памятью данных или программ, при этом через него выводится старший байт адреса (A8–A15) для доступа к памяти программ; средний и старший байт адреса (A8 – A15, A16 – A23) для доступа к памяти данных.

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

Р3.0 RxD – вход последовательного порта (UART).

Р3.1 TxD – выход последовательного порта (UART).

Р3.2 INT0 используется как вход 0 внешнего запроса прерываний.

Р3.3 INT1 используется как вход 1 внешнего запроса прерываний.

Р3.4 Т0 используется как вход счетчика внешних событий 0.

Р3.5 Т1 используется как вход счетчика внешних событий 1.

Р3.6 WR – строб записи во внешнюю память данных.

Р3.7 RD – строб чтения из внешней памяти данных.

Демонстрация принципов организации системы ввода-вывода на примере контроллера sdk.

Принципы (на всякий случай):

принцип программного управления элементами СВВ;

адресуемость элементов СВВ (прозрачность доступа для программиста);

многоуровневая организация СВВ;

параллельность работы элементов СВВ.

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

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

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

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

Система ввода-вывода содержит элементы вычислительной системы, обеспечивающие общение вычислительного ядра с внешней средой. Таким образом, к системе ввода-вывода контроллера SDK-1.1 относятся все контроллеры ввода-вывода и периферийные устройства, находящиеся в микроконтроллере ADuC812: порты ввода-вывода, таймеры/счетчики, универсальный асинхронный приемопередатчик (UART), контроллеры интерфейсов I2C и SPI, АЦП, ЦАП и др. Доступ ко всей периферии в микроконтроллере осуществляется через регистры специального назначения (SFR). Также к системе ввода-вывода стенда относится расширитель портов ввода-вывода, выполненный на базе ПЛИС, и все подключенные к нему периферийные устройства: ЖКИ, матричная клавиатура, линейка светодиодов, звуковой излучатель, дискретные порты ввода-вывода. Необходимо отметить, что расширитель портов ввода-вывода разделяет единое внешнее пространство данных с внешним ОЗУ.

Данное разделение компонентов стенда SDK-1.1 по принципу принадлежности вычислительному ядру или системе ввода-вывода выполнено на логическом уровне.

Соседние файлы в папке ответы на контрольные работы (примерные)