Элементы вычислительного ядра: программируемый и непрограммируемый процессор, микропроцессор, микроконтроллер; память и др., их основные характеристики, примеры. Элементы системы ввода-вывода: контроллеры (КВВ) и процессоры ввода-вывода (ПВВ), периферийные устройства. Отличие КВВ от ПВВ, примеры. Вычислительное ядро и система ввода-вывода контроллера SDK-1.1.

Элементы вычислительного ядра: программируемый и непрограммируемый процессор,

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

Программируемый процессор – процессор, у которого есть система команд. Его можно настроить на решение той или иной задачи.

Непрограммируемый процессор имеет фиксированный набор функций.

Микропроцессор - процессор в интегральном исполнении, реализованный в рамках одной или нескольких интегральных микросхем; программируемый процессор в интегральном исполнении. Микроконтроллер- следует понимать как контроллер, построенный на основе микропроцессорной

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

Память – совокупность устройств, предназначенных для хранения программ, обрабатываемой информации (данных), промежуточных или окончательных результатов вычислений. Характеристики памяти – емкость, быстродействие и стоимость. Емкость ЗУ определяется предельным количеством информации, размещаемым в ЗУ, и исчисляется в кило-, мега- и гигабайтах. Быстродействие ЗУ характеризуется затратами времени на чтение запись информации при обращении к ЗУ. Стоимость ЗУ – это затраты средств в денежном выражении на хранение всего объема информации, определяемого емкостью ЗУ. Для сравнения качества ЗУ различных типов используется характеристика, называемая удельной стоимостью и равная стоимости ЗУ, деленной на емкость ЗУ.

Контроллер – устройство, управляющее функционированием отдельных блоков вычислительной системы и внешних устройств, например: вводом-выводом информации, доступом к памяти, к накопителям на магнитных дисках, дисплеям.

функции( локального управления чем-то; функции преобразования протокола / преобразование сигнала интерфейса ВУ - оконечное устройство)

Контроллеры ввода-вывода делятся на:

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

Элементы системы ввода-вывода:

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

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

Процессор ввода-вывода предназначен для работы в рамках системы ввода-вывода с целью увеличения производительности системы. Процессоры отличаются сложностью реализации от контроллеров. Доступ к ВЗУ осуществляется через внешние контроллеры, специализированные для этого ВЗУ. Процессоры могут подключать к себе дополнительно контроллеры, это сделано для увеличения производительности, за счет распараллеливания работы от разных ВЗУ. Процессоры ввода-вывода определяются по критерию сложности, но эта граница тоже расплывчата. Сопроцессор, блок вычислений ЧПЗ, видеопроцессор считаются акселераторами. Если устройство имеет программу, которая выполняется независимо от ЦП или является устройством с множеством сложных функций, то его можно отнести к ПВВ.

Вычислительное ядро: ЦП, Блоки памяти, непосредственно участвующие в работе, ПВВ (50 %), Интерфейсы, Некоторые аппаратные элементы. В SDK – микроконтроллер ADuC812

Система ввода: КВВ, ВУ, ПВВ, Некоторые аппаратные элементы. В SDK – клавиатура, ПЛИС.

Интерфейс. Аппаратный, программный и пользовательский интерфейс. Характеристики аппаратных интерфейсов. Понятие физической и логической организации аппаратных интерфейсов. Классификация аппаратных интерфейсов по различным критериям, в том числе по типу сопрягаемых объектов; особенности выделенных классов аппаратных интерфейсов, примеры. Последовательные и параллельные интерфейсы, особенности. Синхронные и асинхронные интерфейсы. Понятие интерфейсных систем.

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

Аппаратный, программный и пользовательский интерфейс.

1.Аппаратный(устройство-устройство) – совокупность алгоритмов обмена и технических средств, обеспечивающих обмен между устройствами. Примеры: I2C, MicroLAN, Ethernet;

2.Программный– соглашение о связях в программной среде между программными модулями. Примеры: Win32, POSIX, API любого программного модуля (интерфейс прикладного программирования – набор функций, предоставляемый для использования в прикладных программах); 3.Пользовательский(ВС – пользователь) – сценарии, по которым строится общение оператора с вычислительной системой, и стиль их реализации. Примеры: «дружественный интерфейс человеккомпьютер», стиль организации работы в программном комплексе Microsoft Office.

Характеристики аппаратных интерфейсов.

К основным характеристикам аппаратных интерфейсов относятся:

1.Скорость передачи (пропускная способность, производительность).

2.Протяжѐнность.

3.Тип сопрягаемых устройств вычислительной системы (см. следующий раздел).

4.Топология.

5.Разрядность слова данных (последовательный или параллельный интерфейс).

6.Синхронный или асинхронный интерфейс.

7.Симплексный, полудуплексный, дуплексный обмен.

Понятие физической и логической организации аппаратных интерфейсов.

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

Классификация аппаратных интерфейсов по различным критериям, в том числе по типу сопрягаемых объектов; особенности выделенных классов аппаратных интерфейсов, примеры.

По типу сопрягаемых объектов можно выделить следующие группы аппаратных интерфейсов:

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

2. Системные интерфейсы. Служат для развития системы, т.е. наращивания характеристик ядра (например, ISA, PC-104, PCI, ASB). Является компромиссом при создании дешевой вычислительной структуры.

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

4.Малые периферийные интерфейсы. Объединяют контроллер ввода-вывода с внешним устройством, из этого вытекают особенности организации этого интерфейса. Для каждого внешнего устройства требуется свой оптимальный интерфейс.

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

Интерфейсы локальных вычислительных сетей. Являются подмножеством интерфейсов систем передачи данных и предназначены для объединения вычислительных устройств, территориально сосредоточенных на сравнительно небольшой площади. Примеры: Fast Ethernet, Gigabit Ethernet, Wi-Fi)

6.Интерфейсы распределенных систем управления. Объединяют контроллеры с целью организации управления и сбора телеметрической информации с большого количества узлов сети. На первое место в таких системах выдвигается не объем и скорость передаваемой информации, а надѐжность и реальное время.

По среде передачи выделяют:

Проводные интерфейсы. Оптические интерфейсы. Беспроводные интерфейсы. Акустические интерфейсы.

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

Оптические интерфейсы используют для передачи информации свет. Например, для передачи Hi-Fi звука в музыкальных центрах.

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

Последовательные интерфейсы - предполагает для передачи данных в одном направлении единственную сигнальную линию, по которой информационные биты передаются друг за другом последовательно. При этом скорость изменения передатчиком состояния линии должна равняться скорости распознавания состояний приемником. Эта скорость измеряется в бодах (baud) – количестве изменений состояния линии за одну секунду. В простейшем случае в линии имеется всего два состояния сигнала, т.е. одним состоянием кодируется один бит, и тогда скорость изменения состояния в бодах совпадает со скоростью передачи двоичной информации, определяемой количеством передаваемых за секунду бит информации, bps (bits per second, бит/с)- . RS-232, I2C.

Параллельные интерфейсы - для передачи данных в одном направлении используется несколько линий (8, 16, 24, 32, 64). Примеры параллельных интерфейсов: ISA, ATA, SCSI, PCI, IEEE 1284/Centronics. С

понятиемпараллельного интерфейса соседствуют такие понятия, как шина и магистраль. К параллельным интерфейсам можно отнести системную шину, соединяющую микроконтроллер ADuC812 с внешней памятью программ и данных (SRAM) и ПЛИС; интерфейс подключения ЖКИ к ПЛИС.

Шина – совокупность линий, сгруппированных по функциональному назначению (например, шина адреса, шина данных и т.д.).

Магистраль – совокупность всех линий аппаратного интерфейса. Выделяются две магистрали: информационного канала и управления информационным каналом. По информационной магистрали передаются коды адресов, команд, данных, состояния. Аналогичные наименования имеют соответствующие шины интерфейса.

Синхронные интерфейс - Для организации передачи данных с синхронных последовательных интерфейсах, как правило, используется две линии, одна из которых используется для передачи информации, а вторая для синхронизации передачи данныхДля организации передачи данных с синхронных последовательных интерфейсах, как правило, используется две линии, одна из которых используется для передачи информации, а вторая для синхронизации передачи данных. Передающее устройство формирует передаваемое значение по синхросигналу, а принимающее устройство снимает значение с линии данных при изменении синхросигнала, например по его спаду. Главным условием передачи информации по параллельным синхронным интерфейсам является условие, что время передачи сигнала не может превышать половины периода синхронизации.Если устройство вырабатывает сигнал синхронизации и передает или принимает данные, то такое устройство называется ведущим или “master”, все остальные устройства являются

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

Основные достоинства: Потенциально, синхронный обмен – самый быстрый из всех рассматриваемых в данном разделе; Синхронный обмен требует минимум аппаратного обеспечения.

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

Контроллер последовательного канала (UART) «по опросу»: перед тем, как прочитать данные из порта данных контроллера, необходимо проверить, являются ли эти данные результатом приема посылки и не забирались ли они программой ранее. Т.е. необходимо проверить данные на достоверность. Перед тем же, как записывать данные для передачи в буфер контроллера, необходимо убедиться, что в буфере есть место, т.е. что запись новых данных в буфер не приведет к уничтожению ранее помещенных и еще не переданных данных.

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

Примером современной интерфейсной системы можно назвать систему AMBA, объединяющую в себе внутрисистемный, системный и периферийный интерфейсы, Еще одним хорошим примером интерфейсной системы является Multibus

фирмы Intel Corp., состоящая из системной шины (Multibus System Bus)

Порты ввода-вывода. Адресное пространство портов ввода-вывода: единое с оперативной памятью и раздельное. Дискретные однонаправленные, двунаправленные и с альтернативной функцией порты ввода-вывода. Примеры. Порты ввода-вывода микроконтроллера ADuC812.

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

Адресное пространство портов ввода-вывода: единое с оперативной памятью и раздельное.

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

Дискретные однонаправленные, двунаправленные и с альтернативной функцией порты ввода-вывода.

Однонаправленные порты, предназначенные только для ввода (входные порты, порты ввода) или только для вывода (выходные порты, порты вывода).

Двунаправленные порты - направление передачи определяется в процессе программно управляемой настройки схемы.

Порты с альтернативной функцией. Отдельные линии этих портов связаны со встроенными периферийными устройствами, такими, как таймер, контроллеры последовательных приемопередатчиков. Если соответствующий периферийный модуль не задействован, то линии можно использовать как обычные порты, если модуль активизирован, то связанные с ним линии автоматически или «вручную» (программно) конфигурируются в соответствии с функциональным назначением и не могут быть использованы в качестве универсальных портов ввода-вывода. В некоторых случаях порты могут использоваться только для связи с периферийным модулем (например, входы АЦП в некоторых процессорах).

Примеры. Порты ввода-вывода микроконтроллера 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 по принципу принадлежности вычислительному ядру или системе ввода-вывода выполнено на логическом уровне.

Устройства сопряжения с объектом (УСО) управляющих ЭВМ: назначение, технические решения, компоненты.

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

-Локальные, конструктивно совмещенные с логическим контроллером.

-Удаленные, или сетевые, взаимодействующие с логическим контроллером по сетевому каналу, конструктивно независимые от логических контроллеров.

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

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

Устройство сопряжения с объектом является водоразделом, отделяющим «тепличный» мир вычислительного устройства от достаточно агрессивной окружающей среды. УСО должно не только сопрягать различные уровни сигналов, например 24В, необходимые для включения реле, и 5В (TTL-уровень) на выходе битового порта ввода-вывода микроконтроллера, но и не пропускать высокие напряжения во внутренние цепи контроллера.

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

Устройство сопряжения с объектом (УСО), собственно, не является принадлежностью микроконтроллером, но его конкретная техническая реализация определяет, какими видами сигналов МК может обмениваться с ОУ. Конечно, конструкция ОУ и цель управления им накладывают определенные требования на конструкцию УСО. Поэтому конструкции УСО не поддаются унификации и в каждом конкретном случае возможно то или иное техническое решение. УСО обеспечивает связь объекта управления с шиной данных МК с использованием интерфейсных схем Ин.Вв. Технологические параметры объекта (температура, давление, перемещение, влажность и пр.) в первичных преобразователях (ПП) - термопарах, термометрах сопротивления, индуктивных датчиках - преобразуются в электрические сигналы (постоянное напряжение или частоту). Пройдя через блок нормирующих преобразователей БНП, обеспечивающий стандартный уровень сигнала (обычно 0-И О В), контролируемые параметры поступают на мультиплексор (МС), который коммутирует один из входных сигналов на единственный выход. Коммутация обеспечивается подачей цифрового кода через интерфейс вывода (Ин.Выв.) посредством программы. Скоммутированный канал подается на схему выборки и хранения (УВХ) и далее на аналого-цифровой преобразователь (АЦП), на выходе которого формируется цифровой код, пропорциональный величине контролируемого параметра. Затем цифровой код может быть считан в МП через интерфейс ввода (Ин.Вв.) и шину данных системы. Считанный цифровой код подвергается дальнейшей цифровой обработке в МП по определенному алгоритму. Конструкция схемы управления существенно зависит от типа исполнительного устройства. Если исполнительное устройство представляет собой, например, бесконтактное релейное устройство, обеспечивающее полное включение или выключение управляющего воздействия, то для управления на его вход достаточно подать сигнал, принимающий только два состояния: низкого или высокого уровня. Схема управления в этом случае должна выполнять функции усилителя мощности, работающего в ключевом режиме. Если же управляющее воздействие должно изменяться непрерывно, то схема управления должна преобразовать цифровой код, подступающий на ее вход из шины данных микроконтроллера через интерфейс вывода, в непрерывный аналоговый сигнал необходимой мощности. Такие схемы управления обычно строятся на базе цифро-аналоговых преобразователей (ЦАП).

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

Следует заметить, что такие звенья УСО, как мультиплексор, схема выборки и хранения, АЦП и Сх.У, нуждаются в управляющих воздействиях всякий раз, когда требуется обращение к ним. Управление этими устройствами осуществляется программно-цифровым кодом, поступающим из ШД системы через интерфейс вывода.

Устройства гальванической изоляции в аппаратных интерфейсах.

Гальваническая изоляция или гальваническая развязка – разделение электрических цепей посредством не проводящего ток материала. Для реализации гальванической изоляции можно использовать трансформаторы, конденсаторы, реле и оптроны.

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

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

Внутрисистемные интерфейсы. Интерфейсная система AMBA (AHB, ASB, APB): основные характеристики, физическая и логическая организация.

AMBA (Advanced Microcontroller Bus Architecture) – шина, разработанная фирмой ARM для организации эффективного взаимодействия компонентов устройств, построенных на базе ядер фирмы. Шина AMBA – стандартная встроенная ASIC-шина, обеспечивающая быстрое модульное проектирование систем при упрощении многократного использования схемотехники и тестов.

ARM также обеспечивает возможность использования библиотеки PrimeCell периферии, которая соответствует AMBA стандарту и обеспечивают простую разработку ASIC и ASSP. При использовании AMBA с синтезируемыми версиями периферийных устройств, аппаратные средства системы и программное обеспечение могут быть разработаны на начальном этапе проектирования и, следовательно, может быть снижен риск ошибок проектирования конечной системы.

Согласно спецификации AMBA Rev 2.0 (AMBA Specification (Rev 2.0)) типовая шина AMBA 2 содержит высокоскоростную системную магистральную шину (AHB или ASB) и шину периферии (APB).

Системная шина соединяет встраиваемые процессоры, такие как ARMядра, с высокопроизводительной периферией, контроллерами DMA, встроенными памятью и интерфейсами.

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

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

-Контроллеры статической памяти (SRAM).

-Контроллеры динамической памяти (DDR, DDR2).

-Контроллеры прямого доступа к памяти.

-Контроллеры прерываний (VIC, Advanced VIC).

-UART, синхронные последовательные интерфейсы (SPI), часы реального времени, средства ввода-вывода общего назначения (GPIO), интерфейсы смарт-карт, контроллеры цветных ЖКИ.

Для разработки микроконтроллеров и СнК на базе AMBA существуют специальные инструментальные средства. Например, CoreLinkT AMBA Designer позволяет скомпоновать СнК из готовых IP компонентов. В состав IP-компонентов входят:

Контроллер памяти, арбитр, матрица, подчиненный контроллер (32 и 64 бита), тестовый контроллер, мост AHB-APB, монтроллер SRAM, подчиненный контроллер для APB, сторожевой таймер для APB, таймеры для APB, другие IP-компоненты.

Внутрисистемный интерфейс AMBA AHB

Внутрисистемный интерфейс AHB (Advanced High-performance Bus – расширенная высокопроизводительная шина) предназначен для объединения быстродействующих, высокопроизводительных модулей, работающих на высоких тактовых частотах. AHB позволяет соединить ядро микропроцессора с внутренними и внешними модулями памяти, контроллерами ПДП, быстродействующими сетевыми контроллерами Fast Ethernet, контроллерами USB-2.0 и т.д. На рисунке показан фрагмент структуры микроконтроллера NXP LPC1768, выполненного на базе ядра ARM Cortex-M3. Шиной AHB объединены вместе практически все элементы микроконтроллера, требующие большой скорости обмена данными. Через два моста, к шине AHB подключены две независимые шины APB, к которым подключаются сравнительно медленные периферийные устройства (UART, I2C, таймеры и так далее).

Шина AHB названа Matrix (матрица). Такое название справедливо, так как на самом деле шина является коммутатором, матрицей, связывающей несколько устройств попарно друг с другом в различные моменты времени.

Мы видим, что арбитр шины управляет мультиплексорами, к которым подключены шины адреса и шины записи данных из главных устройств (Master) в подчиненные (Slave). Декодер управляет мультиплексором, через который считываются данные с подчиненных устройств. Хорошо видно, что для записи и чтения существуют раздельные шины. Опишем простой вариант обмена данными на шине AMBA AHB:

1.Главное устройство выставляет адрес и управляющие сигналы по фронту сигнала HCLK.

2.Подчиненное устройство считывает значения с шины адресы (HADDR) и шины управления (Control) на следующем фронте HCLK.

3.После считывания адреса и данных подчиненное устройство может выдать ответ на шину в этом же цикле (сигнал HREADY активен).

4.Главное устройство считывает данные, выставленные подчиненным устройством в третьем цикле шины.

Подчиненное устройство может вставлять такты неготовности, используя сигнал HREADY.Такт неготовности – это такой такт, во время которого обмен по шине не производится вследствие отсутствия готовых данных у одного из устройств. В зависимости от состояния сигнала HTRANS*1:0+ может быть выделено четыре типа передач на шине:

1.IDLE. Передача данных не требуется.

2.BUSY. Позволяет вставлять IDLE циклы в середину пакетной передачи.

3.NONSEQ. Индицирует начало одиночной или пакетной передачи. Адрес установленный в предыдущем цикле шины игнорируется.

4.SEQ. Показывает, что адрес в новом цикле шины инкрементируется на 1, а сигналы на шине управления такие же.

Режим WRAP (циклическое окно) позволяет работать циклически, по кругу, в заданном окне адресов. Режим INCR предполагает простой инкремент (прибавление на единицу) адреса в каждом цикле шины. При передаче данных сигнал HWRITE становится активным (переводится в логическую «1»). В зависимости от состояния линий HSIZE*2:0+ передаваться за один раз может 8, 16, 32, 64, 128, 256, 512 или 1024 бита данных. Эти биты (HSIZE) работают совместно с сигналами HBURST. Сигнал HPROT*3:0+ определяют уровень защиты передаваемой информации: код операции, доступ к данным, пользовательский доступ, привилегированный доступ и так далее.

Выбор подчиненного устройство происходит с помощью декодера адреса, формирующего сигналы HSEL. Сигнал HREADY используется для информирования главного устройства о завершении или продолжении передачи данных. Если уровень этого сигнала активный, то передача данных завершена. Сигнал HRESP*1:0] используется для подтверждения транзакции. Его значениями могут быть: OKAY – транзакция завершена успешно, ERROR – ошибка, RETRY – повторить попытку, SPLIT – данные переданы не полностью.

Сигналы HWDATA*31:0+ используются для передачи данных от главного устройства к подчиненным. Сигналы HRDATA*31:0+ используются для передачи данных от подчиненных устройств к главным. Арбитраж используется для того, чтобы только один мастер имел доступ к шине в один момент времени.

Системный интерфейс AMBA ASB

AMBA ASB (Advanced System Bus) является системным интерфейсом и предназначен для использования в высокопроизводительных 16- и 32разрядных микроконтроллерах. Интерфейс позволяет связать процессор, встроенную и внешнюю память. В AMBA ASB заложена тестовая инфраструктура. В настоящее время этот интерфейс используется сравнительно редко, вместо него обычно используют более производительный

AMBA AHB.

ВAMBA ASB поддерживается множество ведущих устройств и пакетная передача. Шина ASB является более простой, по сравнению с AMBA AHB. Коренными отличиями является двусторонняя шина данных (в AHB для данных есть отдельные шины, предназначенные для записи и чтения), более узкая шина данных (32 разряда), не поддерживается раздельная (SPLIT) передача данных. Система с шиной AMBA ASB (AHB) обычно содержит следующие компоненты:

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

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

Вшине возможны три основных состояния:

NONSEQUENTIAL (N-TRAN)– используется для одиночных передач или первой передачи данных в пакете. SEQUENTIAL (S-TRAN) – используется при пакетной передаче данных.

ADDRESS-ONLY – используется, если нет необходимости в передаче данных. Рассмотрим взаимодействие нескольких главных устройств через арбитр шины: Главное устройство выставляет сигнал AREQx, означающий запрос на захват шины. Арбитр считывает запрос от главного устройства.

Если сигнал BLOCK пассивен, то арбитр разрешает захват шины главному устройству, выставляя сигнал AGNTx. В противном случае, если сигнал BLOCK активен, разрешение на захват шины не выдается.

Периферийный интерфейс AMBA APB

Интерфейс AMBA APB (Advanced Peripheral Bus) является частью иерархии интерфейсов AMBA и предназначен для объединения периферии, используемой в микроконтроллерах. Интерфейс AMBA APB используется практически во всех современных микроконтроллерах с ядром ARM. Цель создания интерфейса – минимизация потребляемой мощности и упрощение архитектуры вычислительной системы. Интерфейс AMBA APB инкапсулирован в одном подчиненном устройстве шин AMBA AHB или AMBA ASB. При использовании шины APB потребление энергии значительно меньше, чем при прямом подключении контроллеров к системной шине. Интерфейс APB имеет смысл использовать с такими устройствами, в которых не требуется высокая пропускная способность шины и пакетный режим работы. Примерами таких устройств могут быть: контроллеры последовательного канала, таймеры, контроллеры I2C, SPI, ЦАП, АЦП, часов реального времени, сторожевого таймера и так далее. Единственным главным устройством (мастером) на шине APB является мост. Все остальные устройства (контроллеры) являются подчиненными устройствами. Интерфейс AMBA APB может находиться в одном из трѐх состояний:

IDLE – устройство не готово, шина находится в исходном состоянии. SETUP – запущен процесс инициализации устройства.

ENABLE – устройство готово к обмену.

Если требуется что-то передать по шине, мы должны выбрать устройство, с которым мы будем общаться, с помощью сигнала PSELx. После получения сигнала устройство производит инициализацию и выставляет на шину сигнал PENABLE. Для взаимодействия с шинами AMBA AHB или AMBA ASB используется мост (APB bridge).

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