Микроконтроллеры Microchip серии PIC32. Внутренняя организация

 

 

 

 

 

Микроконтроллеры Microchip  серии PIC32. Внутренняя организация.

В данном цикле статей речь пойдет о 32-разрядных микроконтроллерах PIC32 , существенно отличающихся производительностью и объемом памяти на кристалле по сравнению с 16-разрядными микроконтроллерами и контроллерами цифровой обработки сигналов PIC24/dsPIC. Данные МК построены на ядре MIPS32 M4K и являются достойной альтернативой процессорам ARM, являясь к тому же лидерами в отношении мА/Мгц тактовой частоты.

Данные микроконтроллеры имеют следующие основные характеристики и особенности :

  1. Ядро MIPS32 M4K, частота тактирования 80МГц, производительность 1.56 Dhrystone MIPS/МГц. Отличная альтернатива ARM.
  2. Различные типы корпусов, начиная от DIP-28 и SOIC-28 и заканчивая TQFP-100
  3. Развитая периферия: PMP,USB OTG FS/LS, CAN, SPI, I2S, I2C, Ethernet и пр.
  4. Совместимость по выводам и отладочным средствам с 16-битными контроллерами Microchip.
  5. Готовые библиотеки, а также огромное количество примеров.
  6. Недорогие средства отладки – PicKit3 ( 1600 руб. )
  7. Большое количество отладочных, оценочных плат как фирменных так и стороннего производителя. ( olimex, mikroelektronika)

MCU  PIC32 обладает следующими особенностями :

  1. 5-ти уровневый конвейер.
  2. Ядро MIPS32 M4K , малое потребление, RISC архитектура с набором инструкций       «MIPS32 Release 2 Instruction Set Architecture»
  3. Наличие модуля для операций умножения-деления за один тактовый цикл.
  4. Два регистровых файла.
  5. Модуль предварительной выборки, ускоряющий работу с Flash.
  6. Наличие теневых регистров
  7. Атомарный доступ к регистрам периферии.
  8. Набор 16-ти разрядных инструкций (MIPS16e) для создания компактного кода.

На рис 1 представлена блок-схема внутреннего устройства процессора PIC32MX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис 1

Процессор содержит  2 внутренних шины, посредством которых периферия взаимодействует с ядром.Одна из них тактируется сигналом SYSCLK, другая PBCLK.Главная  периферийная шина объединяет основную часть периферийных модулей с шинной матрицей ( Bus Matrix ) через периферийный мост ( Peripheral Bridge ). Вторая периферийная шина   обслуживает контроллер прерываний, контроллер прямого доступа к памяти ( DMA ) , ICD (in-circuit Debugger ) ,USB и порты ввода-вывода.Все шины 32-разрядные.

Сердцем процессора является ядро M4K :

 

 

 

 

 

 

 

Таймер ядра.

Архитектура PIC32MX содержит таймер ядра ( Core timer ) который может быть применен в пользовательских программах. Данный таймер расположен в 2-х регистрах со-процессора : CP0_COUNT — счетный регистр и CP0_COMPARE — регистр сравнения. Счетный регистр увеличивает свое значение каждый второй «тик»системного клока ( SYSCLK )  Инкрементирование счетчика может быть приостановлено по желанию во время отладки ( Debug mode ) Регистр сравнения используется для инициирования прерывания , опять же, в случае необходимости.

Уровни конвейера.

5-ти ступенчатый конвейер состоит из :

1. Выборка инструкции.

2. Исполнение

3. Доступ к памяти

4. Выравнивание

5. Запись результата

Упрощенная схема конвейера представлена ниже

Конвейер

Запись опубликована в рубрике Микроконтроллеры с метками , , , , , . Добавьте в закладки постоянную ссылку.