MPC5xx

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 01:47, 5 июня 2019.
MPC5xx
970px-PPC-ECM.jpg
MPC561 модуль
Производство: C 2003
Производители:
Частота CPU: 40 Мгц ГГц — 66 Мгц ГГц
Микроархитектура V8
L1-кэш 1 мБ
L2-кэш 512 Кб
Преемник PowerPC 55xx

MPC5xx - семейство процессоров, таких как MPC555 и MPC565, которые являются 32-разрядными PowerPC встроенными микропроцессорами, работающими на частоте от 40 до 66 МГц и часто используемые в компьютерной системе автомобиля, включая контроллеры двигателя и трансмиссии. MPC5xx - все процессоры семейства PowerPC 5xx, которые используют общую схему именования. Разработка линейки PowerPC 5xx была прекращена в пользу более гибкого и мощного PowerPC 55xx. [Источник 1]

Область применения

Корпорация Delphi использует либо MPC561, либо MPC565 в контроллерах двигателей, которые они поставляют в General Motors, причем почти все автомобили моделей General Motors 2009 года использовали MPC5xx в контроллере двигателя. Bosch также использовал MPC5xx в серии контроллеров дизельных двигателей серии EDC-16, как и дизельные двигатели серии Cummins B от компании ECU.

Рисунок 1 - Garth Zeglin, инженер Робототехнического Института в Carnegie Mellon University

Также семейство процессоров MPC5xx используется в робототехнике. Так работу с MPC566 описал Garth Zeglin: начиная с 2004 года в проектах двуногого робота используются микроконтроллеры MPC5xx для низкоуровневых функций ввода / вывода. Первая причина сделать это состояла в том, чтобы улучшить оценку скорости с помощью TPU на чипе, чтобы измерить точную синхронизацию каждого фронта квадратурных сигналов оптического кодера.[Источник 2]

Первая итерация использовала MPC565 в сочетании с существующей настройкой карты PCI. Во время первоначальной настройки платы он делал записи, чтобы документировать основные необходимые программные инструменты. Настройка работала, хотя шина CAN была слишком медленной для работы аппарата; в конечном счете для работы использовались обе шины CAN с плотно подогнанным форматом пакетных данных.

Характеристики

Микропроцессоры MPC5xx считаются микроконтроллерами из-за их интегрированного набора периферийных устройств и их необычной архитектуры: нет MMU , большая встроенная SRAM и очень большая (до 1 МБ ) флэш-память с низким временем ожидания доступа, что означает, что их архитектура адаптирована к управляющим приложениям. Вместо преобразования блочных адресов и аппаратного перевода фиксированных страниц, предписанного первой спецификацией PowerPC, ядра 5xx обеспечивали программный механизм перевода, который поддерживал переменные размеры страниц. Эта модель является основой для встроенной модели MMU в текущей спецификации Power ISA.

Периферийные устройства в каждой модели различаются, но часто включают в себя аналого-цифровые преобразователи (АЦП), блоки процессора времени (TPU), GPIO и UARTS/последовательный (QSMCM). Семейство MPC5xx происходит от ядра семейства MPQU8xx PowerQUICC, что означает, что оно использует одноядерную архитектуру Harvard architecture. В отличие от семейства 8xx, модели 5xx имеют единицу с плавающей запятой. В то время как некоторые из более ранних чипов, таких как MPC509, имели кэш инструкций, в то время как последние модели микросхемы были способны накапливать большое количество флэш-памяти, способной передавать инструкции процессору. Некоторые недорогие чипы опускают функцию накопления флэш-памяти, потому что она требует большую площадь кристалла, повышая цену чипа. Многие приложения контроллеров запускают очень длинные циклы управления, где нет большого набора данных и существует низкая задержка, поэтому важен детерминированный доступ к процедурам данных и команд. Если большая часть данных может быть сохранена во встроенной памяти SRAM, доступной для канала данных процессора за один цикл, то производительность может быть гораздо улучшена. Если к данным часто приходится обращаться вне микросхемы, производительность может быть снижена, поскольку микросхема не может получить доступ к данным из внешней ОЗУ и имеет очень медленный протокол доступа. Благодаря простому интерфейсу памяти, который можно запрограммировать, установив ячейку памяти по умолчанию и записав несколько базовых регистров, микросхемы довольно популярны как среди любителей, так и среди автомобильных и промышленных инженеров.

Особенности использования

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

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

Существует несколько причин для использования двух устройств MPC5xx, а именно:

  1. Совместимость шин.
  2. Совместимость кода.
  3. Небольшие затраты на повторную разработку для клиентов, поскольку им нужно только добавить еще один элемент MPC5xx на свою печатную плату.
  4. Отсутствие требования для дальнейшей квалификации устройства для клиента, что повлекло бы за собой дополнительные затраты и время проектирования.
  5. Возможность будущего расширения при переходе с MPC561 на MPC563, который совместим по выводам, но обеспечивает 512 КБ флэш-памяти UC3F.
  6. Оба контроллера предоставляют одинаковые периферийные устройства и предназначены специально для работы с несколькими мастерами с использованием внешней шины.
  7. Другие интерфейсы, такие как CAN и SPI, работают на частотах ниже, чем внешняя шина, которая может работать до 66 МГц.

Рисунок 2 - Обмен данными на устройствах, использующих MPC5xx

Обмен данными

Устройства в системе multi-MPC5xx обмениваются данными друг с другом через интерфейс внешней шины. Подчиненное устройство фиксирует адрес в течение одного такта. Подчиненное устройство выбирает данные и представляет их на шине. Затем ведущее устройство фиксирует данные в те же часы, что и ведомое устройство. Цикл завершается TA (успешной передачей), TEA (неудачной передачей) или RETRY.

RETRY необходим для устранения тупика, который может возникнуть, когда ядро ​​устройства 1A пытается выполнить внешний доступ, но внешняя шина занята из-за доступа другого устройства 1B к некоторому внутреннему адресу устройства A. Как только эта ситуация возникла, RETRY дает устройству B сигнал на освобождение внешней шины и повторный доступ к нему позднее, предоставляя устройству A возможность завершить свой доступ. Сигнал запрета посылки (BI) может потребоваться, когда внешний мастер не может выполнить пакетный доступ к внутренним ресурсам, поскольку подчиненный интерфейс не поддерживает передачу. Вообще говоря, линия BI является необязательной, поскольку MCU запрашивает пакеты только для регулирования команд. Таким образом, если многопроцессорная система спроектирована таким образом, что один процессор не извлекает инструкции из внутренней памяти другого, линия BI не требуется.

Разграничение устройств

Рисунок 3 - Карта внутренней памяти MPC5xx

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

Поле IMMR [ISB0: 2] имеет три бита для установки адреса, что позволяет использовать восемь разных местоположений, однако следует отметить, что ISB [0] не сравнивается при внутреннем доступе, поэтому в системе разрешено только 3 действующих устройства. Единственный возможный способ использования более четырех устройств (1 ведущего и 3 подчиненных) в системе - это настроить до четырех дополнительных устройств в качестве ведущих, которые не позволяют другим ведущим устройствам получать доступ к их внутреннему адресному пространству. Другая причина наличия разных карт внутренней памяти заключается в том, что каждому контроллеру разрешено иметь свои собственные обработчики прерываний и процедуры сброса. В любом случае максимальная емкость шинных и тактовых сигналов не должна превышать значения, указанного в спецификации для семейства устройств на MPC5xx.[Источник 3]

Источники

  1. MPC5xx // WikiVisually [2018—2019]. Дата обновления: 20.05.2019 URL:https://wikivisually.com/wiki/MPC5xx (дата обращения: 03.06.2019 )
  2. Гарт Зеглин: Ресурсы MPC5xx // Университет Карнеги-Меллона [2018—2019]. Дата обновления: 26.03.2006 URL:https://www.cs.cmu.edu/~garthz/research/biped/MPC5xx/MPC5xx.html (дата обращения: 03.06.2019 )
  3. Multi-Controller Hardware Development for the MPC5xx Family Application Note // Freescale Semiconductor, Inc [2018—2019]. Дата обновления: 12.2003 URL:https://www.nxp.com/docs/en/application-note/AN2667.pdf (дата обращения: 04.06.2019 )