PIC32MX. Микроконтроллер PIC32MX270F256B (SPDIP)

Перейти вниз

PIC32MX. Микроконтроллер PIC32MX270F256B (SPDIP)

Сообщение  Viktor2312 в Пн Фев 19 2018, 13:00

.
Микроконтроллер PIC32MX270F256B-I/SP.


В данной теме будет собираться вся имеющаяся информация касающаяся данного микроконтроллера, происходить его изучение и вообще всё, что только возможно. Привлекательность данного микроконтроллера, на мой взгляд, в том, что он выполнен в DIP корпусе, а именно 28 выводном корпусе типа SPDIP, что очень удобно при монтаже, отладке, да и вообще это очень удобно и замечательно...
Помимо обычного микроконтроллера PIC32MX270F256B-I/SP (40 МГц) обнаружен ещё микроконтроллер PIC32MX270F256B-50I/SP у которого заявлена тактовая частота 50 МГц. Надеюсь мне удастся в ближайшие пару месяцев приобрести несколько данных микроконтроллеров для практических уже экспериментов, а пока будет время на сбор информации и изучение теоретической части. Теория будет оформляться как я обычно это привык делать, в виде конспекта в этой же теме, мне так удобно. Так же постараюсь перенести всю имеющуюся информацию на официальном сайте по данному семейству (Family), а то знаем мы их, пройдёт пару условных лет и они удалят, а потом ищи свищи, а зная себя, то изучение может и притормозится, как раз на пару этих условных лет, от независящих от меня причин, поэтому лучше всё хранить в одном месте, при себе.


Обобщённая структурная схема основных и периферийных модулей:



.


Последний раз редактировалось: Viktor2312 (Ср Фев 21 2018, 13:25), всего редактировалось 3 раз(а)
avatar
Viktor2312
Гуру+

Сообщения : 11000
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: PIC32MX. Микроконтроллер PIC32MX270F256B (SPDIP)

Сообщение  Viktor2312 в Пн Фев 19 2018, 13:14

Datasheet PIC32MX270F256B-I/SP
PIC32MX1XX/2XX Family Data Sheet
11.04.2016г.



Скачать


Данный datasheet естественно не на один микроконтроллер, рассматриваемый в данной теме, а на всё семейство, но вся информация по рассматриваемому микроконтроллеру в нём имеется.
avatar
Viktor2312
Гуру+

Сообщения : 11000
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  Viktor2312 в Пн Фев 19 2018, 13:54

Errata
PIC32MX1XX/2XX Family Silicon Errata and Data Sheet Clarification
11.04.2016г.



Скачать
avatar
Viktor2312
Гуру+

Сообщения : 11000
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  Viktor2312 в Пн Фев 19 2018, 14:00

Programming Specifications
PIC32 Flash Programming Specification
24.07.2017г.



Скачать
avatar
Viktor2312
Гуру+

Сообщения : 11000
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  Viktor2312 в Пн Фев 19 2018, 15:09

.
PIC32MX270F256B-I/SP (PIC32MX270F256B-50I/SP).


____Итак, рассмотрим, что представляет из себя наш микроконтроллер, что в нём есть. Наш микроконтроллер выполнен в 28 выводном корпусе SPDIP. Имеет 256 Кбайт памяти программ и как указано в datasheet имеет 3 Кбайта загрузочной флеш-памяти (This device features 3 KB of boot Flash memory). Память данных имеет объём 64 Кбайта. 19 выводов из 28 являются перестраиваемыми на них выводятся входы и выходы перестраиваемых периферийных устройств. Пять таймеров, четыре из которых могут быть перенаправлены (Four out of five timers are remappable). Пять модулей захвата (Capture) и пять модулей сравнения (Compare). Так же имеется 2 порта UART, и по 2 порта SPI/I2S. Пять внешних прерываний (External Interrupts). Три аналоговых компаратора (Analog Comparators). Имеется порт USB On-The-Go (OTG). Два порта I2C. Так же имеется модуль параллельного интерфейса PMP (Parallel Master Interface). Этот интерфейс был специально разработан для взаимодействия с многочисленными периферийными устройствами, которые передают данные по параллельному интерфейсу (принтеры, сканеры, жидкокристаллические индикаторы, устройства памяти и др.). Имеется 4 программируемых канала ПДП (DMA) и 2 выделенных канала ПДП. А так же имеется модуль измерения времени заряда CTMU (CTMU – Charge Time Measurement Unit). Девять каналов АЦП (10-bit 1 Msps ADC). Имеется модуль часов/календаря реального времени (Real Time Clock and Calendar, RTCC). Всего 19 выводов ввода-вывода. А так же JTAG порт.

Ниже показан внешний вид микроконтроллера, расположение и нумерация выводов:





Центральное процессорное устройство (CPU).

____В 2002 компания MIPS Technologies представила ядро M4K – высокопроизводительное, синтезируемое ядро, оптимизированное для применения в микроконтроллерах. Ядро M4K лицензировало около 30- компаний и используется в мобильных телефонах, модемах, GPS приёмниках, цифровых камерах и т. д., а так же является основой микроконтроллеров общего применения PIC32MX компании Microchip Technology Inc.
____Ядро M4K разработано с набором функций, комбинация которых предоставляет лучшие в классе быстродействие и значительно превосходит предлагаемые другими компаниями.
____Достигнутые показатели архитектуры MIPS обеспечиваются, в том числе, следующими особенностями.
____Ядро M4K имеет набор из тридцати двух, 32-битных регистров общего назначения (РОН, GPR), число таких наборов может быть 1, 2, 4, 8 и 16. Эти наборы регистров сохраняют параметры и команды, снижая тем самым накладные расходы на пересылки в память, и освобождая командные циклы. Это имеет положительный эффект на увеличении производительности. Использование набора теневых РОН так же увеличивает быстродействие системы за счет уменьшения накладных расходов в обработчике прерывания. При возникновении прерывания или немаскированного прерывания (исключения) ядро определит какой теневой набор регистров будет использоваться, установит его как активный набор РОН и позволит выполняться программе с вектора прерывания. Этот процесс полностью устраняет необходимость сохранения и восстановления контекста при обработке прерываний. Это так же сохраняет содержимое РОН от изменения в прерываниях, уменьшает время обработчика прерывания и сохранение РОН в ОЗУ. Следует отметить, что в реализации ядра в контроллерах PIC32MX используется два набора 32-х разрядных РОН.
____Помимо 32-битных инструкций MIPS32 ядро M4K поддерживает набор команд MIPS16e, состоящий из «наиболее востребованных» инструкций MIPS32 в их 16-битном эквиваленте. Команды MIPS16e сжимают код в меньший размер памяти, сохраняя при этом высокий уровень производительности за счёт снижения пропускной способности памяти и времени выполнения команд. Применение расширения системы команд MIPS16e (Application Specific Extension – ASE) уменьшает размер кода до 40%.
____Системный Со-Процессор (System Co-Processor – CP0) это уникальный модуль для MIPS архитектуры, который ответственен за преобразование адресов из виртуальной памяти в физическую, систему контроля исключений, диагностику ядра, режимы работы (Kernel, User и Debug) и состояние контроллера прерываний.
____Конвейер ядра в M4K имеет 5 стадий. Большая длинна конвейера даёт возможность выполнять больше инструкций в секунду, с другой стороны, увеличивает время реакции на прерывания. Однако, как рассмотрено выше, наличие в M4K нескольких наборов РОН, позволяет существенно снизить накладные расходы на сохранение/восстановление контекста в обработчике прерываний.
____В ядре M4K все операции сдвигов выполняются за один цикл. Специальная логика (Bypass logic) включена в работу конвейера и предоставляет быстрый доступ к данным для использования в следующих инструкциях до того, как команда пройдет весь конвейер. Производительность улучшается в результате уменьшения числа циклов, необходимых для выполнения конкретной задачи.
____Лицензируемое, синтезируемое ядро MIPS32 M4K нацелено на недорогие, малопотребляющие встраиваемые приложения. Задачи ЦОС так же часто востребованы в такого рода приложениях. Ядро M4K может успешно выполнять как контроллер-ориентированные задачи, так и задачи, связанные с цифровой обработкой сигналов.
____Синтезируемые ядра MIPS позволяют создавать микроконтроллеры и добавлять ряд пользовательских функций. Разрабатывая PIC32MX – сложную систему на кристалле (system-on-chip – SoC), компания Microchip внесла ряд функциональных улучшений относительно базового ядра M4K. К таким улучшениям относятся Кэш инструкций, Шинная матрица (Bus Matrix), Контроллер прерываний и интерфейс отладки ICSP.
____В PIC32 приложение может выполняться как из внутренней флэш-памяти, так и из внутреннего ОЗУ, которое можно динамически разделить на области программ и данных.
____PIC32 MCU представляет собой сложную систему на кристалле (SoC), основанную на микропроцессорном ядре M4K от MIPS Technologies. M4K - это современное 32-битное, малопотребляющее ядро RISC-процессора с расширенной архитектурой, набором команд MIPS32 Release 2 (ISA).
____Процессорное ядро MIPS32 M4K является основой семейства микроконтроллеров PIC32MX1XX/2XX, в том числе и рассматриваемого нами микроконтроллера PIC32MX270F256B-I/SP. Центральное процессорное устройство (CPU) извлекает инструкции из памяти команд, декодирует каждую команду, извлекает исходные операнды, выполняет каждую инструкцию и записывает результаты выполнения команд в соответствующие регистры.


Особенности.


  • 5-уровневый конвейер
  • 32-битные шины адреса и данных
  • MIPS32 расширенная архитектура (Release 2)

    • Инструкции умножение с накоплением и умножение с вычитанием
    • Инструкции целевого умножения
    • Инструкции по обнаружению нуля/единицы
    • Инструкция ожидания WAIT
    • Инструкции условного перемещения (MOVN, MOVZ)
    • Векторные прерывания
    • Программируемая векторная база исключений
    • Включение/выключение атомарных прерываний
    • Инструкции по управлению битовым полем


  • MIPS16e уменьшение объёма кода

    • 16-битное кодирование 32-битных инструкций для улучшения плотности кода
    • Специальные инструкции, релятивного счётчика команд (PC-relative), для эффективной загрузки адресов и констант
    • SAVE и RESTORE макрокоманды для настройки и разрыва кадров стека внутри подпрограмм
    • Улучшенная поддержка обработки 8 и 16-разрядных типов данных


  • Простой механизм преобразования фиксированных карт (Fixed Mapping Translation - FMT)
  • Простой интерфейс с двойной шиной

    • Независимые 32-битные шины адреса и данных
    • Транзакции могут быть прерваны для улучшения латентности прерываний


  • Автономный блок умножения/деления

    • Максимальная скорость умножения 32x16 за один такт тактовой частоты
    • Максимальная скорость умножения 32x32 за два такта тактовой частоты
    • Раннее итеративное деление. Минимальное время ожидания 11 и максимум 33 тактов

      Операция деления выполняется за несколько итераций и в зависимости от знака и значения делимого занимает от 11 до 33 тактов, это время можно занять командами, не использующими MDU.


  • Контроль питания

    • Минимальная частота: 0 МГц
    • Режим низкого энергопотребления (срабатывает инструкция WAIT)
    • Широкое использование локальных стробирующих частот


  • EJTAG отладка и отслеживание команд

    • Поддержка пошагового исполнения команд
    • Виртуальные команды и адреса/значения данных
    • Точки останова




____Конвейер ядра M4K имеет 5 стадий. Большая длинна конвейера даёт возможность выполнять больше инструкций в секунду, с другой стороны, увеличивает время реакции на прерывания. Однако, наличие в M4K нескольких наборов РОН, позволяет существенно снизить накладные расходы на сохранение/восстановление контекста в обработчике прерываний.
____В ядре M4K все операции сдвигов выполняются за один цикл. Специальная логика (Bypass logic) включена в работу конвейера и предоставляет быстрый доступ к данным для использования в следующих инструкциях до того, как команда пройдет весь конвейер. Производительность улучшается в результате уменьшения числа циклов, необходимых для выполнения конкретной задачи. Еще одно преимущество ядра M4K это высокопроизводительная реализация модуля умножения/деления (Multiply/Divide Unit – MDU), который выполняет умножение 32x16 бит (или MAC- инструкцию) за один цикл, а операция 32x32 бит умножения выполняется за 2 цикла.


Обзор архитектуры.

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

  • Исполнительный блок (Execution Unit)
  • Блок умножения - деления (Multiply/Divide Unit - MDU)
  • Сопроцессор управления системой (System Control Coprocessor - CP0)
  • Блок фиксированной трансляции адресов (Fixed Mapping Translation - FMT)
  • Интерфейс двойной внутренней шины (Dual Internal Bus interfaces)
  • Блок управления энергопотреблением (Power Management)
  • Поддержка MIPS16e
  • Улучшенный контроллер JTAG (EJTAG)

____Помимо 32-х битных инструкций MIPS32 ядро M4K поддерживает набор команд MIPS16e, состоящий из «наиболее востребованных» инструкций MIPS32 в их 16-и битном эквиваленте. Команды MIPS16e сжимают код в меньший размер памяти, сохраняя при этом высокий уровень производительности за счёт увеличения пропускной способности памяти и времени выполнения команд. Применение расширения системы команд MIPS16e (Application Specific Extension – ASE) уменьшает размер кода до 40%.


Исполнительный блок (Execution Unit)

____Исполнительный блок процессорного ядра MIPS32 M4K реализует архитектуру загрузки/хранения с выполнением операций за один такт в ALU (логические, сдвиг, сложение, вычитание) и автономным блоком умножения-деления. Ядро содержит тридцать два 32-разрядных регистра общего назначения РОН (GPRs), используемые для целых операций и вычисления адресов. Регистровый файл состоит из двух портов чтения и одного порта записи для минимизации времени ожидания при работе конвейера.
____Блок исполнения включает:

  • 32-разрядный сумматор, используемый для вычисления адреса данных
  • Блок адреса для вычисления адреса следующей инструкции
  • Логику для определения ветвления и расчёт целевого адреса ветвления
  • Блок выравнивания
  • Обходные мультиплексоры, используемые для предотвращения остановки при выполнении потоков команд
  • Главный блок обнаружения нуля/единицы для реализации инструкций CLZ и CLO
  • Арифметическое логическое устройство (АЛУ/ALU) для выполнения побитовых логических операций
  • Сдвиг и хранение блока выравнивания


Блок умножения - деления (Multiply/Divide Unit - MDU)

____Процессорное ядро MIPS32 M4K включает в себя блок умножения - деления (MDU), который содержит отдельный конвейер для операций умножения и деления. Этот конвейер работает параллельно с конвейером Integer Unit (IU) основного ядра и не останавливается, когда конвейер IU останавливается.
____Модуль MDU это выделенный вычислительный блок, имеющий собственный конвейер и работающий независимо от конвейера выполнения команд ядра. Любая команда умножения и деления попадает напрямую в MDU, а следующая инструкция (не MDU) в конвейер ядра, тем самым обеспечивается параллельное выполнение команд без задержек (кроме случая, когда следующая за MDU инструкция должна использовать результат предыдущей MDU команды). Так как ядро M4K имеет два конвейера, то программист имеет возможность распараллелить процессы, например пересылку данных и MDU инструкции и тем самым получить существенный выигрыш в быстродействии.
____Высокопроизводительный MDU состоит из 32x16 перекодирующего умножителя Бута, регистров результата/накопления (HI и LO), конечного автомата деления и необходимых мультиплексоров и логики управления.



.
avatar
Viktor2312
Гуру+

Сообщения : 11000
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: PIC32MX. Микроконтроллер PIC32MX270F256B (SPDIP)

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения