Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СВВиПУ_РК2

.pdf
Скачиваний:
6
Добавлен:
14.04.2015
Размер:
3.7 Mб
Скачать

Рис. 17. Обобщенная классификация ЦАП

Матрица R-2R – самый распространенный метод цифро-аналогового преобразования. Матрица работает по принципу деления входного напряжения на входах. Матрица имеет число входов по числу разрядов регистра данных. На каждый вход через ключ может быть подано опорное напряжение Vref или 0В. Ключи управляются разрядами регистра данных: «1» – на матрицу подается Vref, «0» – подается 0В.

Коммутатор опорного напряжения Vref позволяет выбрать внешний или встроенный источник опорного напряжения.

В регистр данных записывается цифровой код. Регистр данных определяет разрядность ЦАП.

Выбор Vref

Vref

Ком

мут

Vref_ext а

тор

Vref

Регистр D7 Данных (8разр)

2R

AOUT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R 2R

R

2R

R

2R

2R

Рис. 18. Модуль ЦАП с типом преобразования «Матрица R-2R»

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

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

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

Согласно спецификации AMBA Rev 2.0 (AMBA Specification (Rev 2.0))

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

Рис. 60. Типовая вычислительная система на базе AMBA.

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

встроенными памятью и интерфейсами.

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

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

Фирмой ARM разработан набор макроячеек периферийных компонентов,

22

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

Контроллеры

статической

памяти

(SRAM).

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

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

Рис. 61. Инструментальная система CoreLinkT AMBA Designer, предназначенная для разработки микроконтроллеров и СнК на базе ядра ARM с шинами AMBA AHB и AMBA APB.

Ведутся работы по дальнейшему расширению библиотеки.

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

23

встроенных компонентов, в особенностях организации интерфейсов.

Рис. 62. Пример простой системы на базе ARM7 с шинами AHB и APB, прилагаемый к CoreLinkT AMBA Designer.

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

Контроллер памяти. Арбитр.

Матрица.

Подчиненный контроллер (32 и 64 бита). Тестовый контроллер.

Мост AHB-APB.

Контроллер SRAM.

Подчиненный контроллер для APB.

Сторожевой таймер для APB. Таймеры для APB.

Другие IP-компоненты.

24

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

Внутрисистемный интерфейс AHB (Advanced High-performance Bus –

расширенная высокопроизводительная шина) предназначен для объединения быстродействующих, высокопроизводительных модулей, работающих на высоких тактовых частотах.

Рис. 63. Схема типичного микроконтроллера на базе шины AMBA-AHB.

Рис. 64. Пример использования шины AMBA AHB в микроконтроллере NXP LPC1768 на базе Cortex-M3.

AHB позволяет соединить ядро микропроцессора с внутренними и внешними модулями памяти, контроллерами ПДП, быстродействующими сетевыми контроллерами Fast Ethernet, контроллерами USB-2.0 и т.д.

25

Рис. 65. Схема взаимодействия главных и подчиненных устройств, подключенных к шине AMBA AHB.

На рисунке показан фрагмент структуры микроконтроллера NXP LPC1768, выполненного на базе ядра ARM Cortex-M3. На схеме видно, что шиной AHB объединены вместе практически все элементы микроконтроллера, требующие большой скорости обмена данными. Через два моста, к шине AHB подключены две независимые шины APB, к которым подключаются сравнительно медленные периферийные устройства (UART, I2C, таймеры и так далее).

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

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

26

Рис. 66. Простой обмен данными на шине AMBA AHB.

Опишем простой вариант обмена данными на шине AMBA AHB:

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

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

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

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

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

27

Рис. 67. Передача данных с тактами неготовности.

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

Рис. 68. Пример различных типов обмена на шине.

В зависимости от состояния сигнала HTRANS[1:0] может быть выделено четыре типа передач на шине:

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

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

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

28

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

Тип пакетной передачи определяется сигналом HBURST[2:0]. Существует 8 вариантов пакетной передачи:

1.SINGLE (000) – одиночная передача.

2.INCR (001) – инкрементная передача с неизвестной длиной. 3. WRAP4 (010) – циклическое окно на 4 адреса.

4. INCR4 (011) – инкрементная передача на 4 адреса. 5. WRAP8 (100) – циклическое окно на 8 адресов.

6. INCR8 (101) – инкрементная передача на 8 адресов. 7. WRAP16 (110) – циклическое окно на 16 адресов.

8. INCR16 (111) – инкрементная передача на 16 адресов.

Режим WRAP (циклическое окно)

позволяет работать циклически, по кругу,

в заданном окне адресов. Режим

INCR предполагает простой инкремент

(прибавление на единицу) адреса в каждом цикле шины.

Рис. 69. Пример использования режима WRAP4.

29

Рис. 70. Пример использования режима INCR4.

При передаче данных сигнал HWRITE становится активным (переводится в логическую «1»). В зависимости от состояния линий HSIZE[2:0] передаваться за один раз может 8, 16, 32, 64, 128, 256, 512 или 1024 бита данных. Эти биты (HSIZE)

работают совместно с сигналами HBURST.

Рис. 71. Выбор подчиненного устройства с помощью сигналов HSEL.

 

Сигнал HPROT[3:0] определяют

уровень

защиты

передаваемой

информации: код операции, доступ

к данным,

пользовательский доступ,

привилегированный доступ и так далее.

 

 

 

30