PIC32MX. 32-разрядные микроконтроллеры от Microchip

Перейти вниз

PIC32MX. 32-разрядные микроконтроллеры от Microchip

Сообщение  Viktor2312 в Вс Мар 06 2016, 11:09


.
.
.

32-х разрядные контроллеры Microchip PIC32MX.




Компания Microchip Technology расширяет линейку выпускаемых микроконтроллеров 32-разрядным семейством PIC32
1. Ядро MIPS32 M4K, частота тактирования 80МГц, производительность 1.5 Dhrystone MIPS/МГц
2. 64- и 100-выводные корпуса с 512 кБ Flash и 32 кБ SRAM
3. Совместимость по выводам и отладочным средствам с 16-битными контроллерами Microchip

Microchip представляет новое семейство 32-разрядных микроконтроллеров PIC32, со значительно увеличенной производительностью и объемом памяти на кристалле по сравнению с 16-разрядными микроконтроллерами и контроллерами цифровой обработки сигналов PIC24/dsPIC. Тем не менее, обеспечивается полная совместимость по выводам с 16-разрядными контроллерами и поддержка нового семейства традиционными отладочными средствами.
Семейство PIC32 полностью поддерживается бесплатной средой разработки MPLAB IDE, которая используется для разработки приложений для 8- и 16-битных контроллеров Microchip.

Первые семь микроконтроллеров PIC32 общего назначения работают на частоте 80 МГц и содержат 512 кБ программной Flash-памяти и 32 кБ памяти данных на кристалле. Контроллеры PIC32 так же оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы и 16-битный параллельный порт, который может использоваться, например, для обслуживания внешних микросхем памяти и жидко-кристаллических индикаторов.

Семейство PIC32 построено на ядре MIPS32®, с лидирующей в отрасли комбинацией быстродействия, низкого потребления энергии, быстрой реакции на прерывание и средств разработки. В 32-разрядных микроконтроллерах PIC32 используется ядро MIPS32 M4K®, обеспечивающее лучшее в своем классе соотношение 1.5 Dhrystone MIPS/МГц. Такое быстродействие достигнуто благодаря эффективному набору инструкций, 5-ступенчатому конвейеру, аппаратному умножителю с накоплением и нескольким (до 8 ) наборам 32 регистров ядра. Кроме того, PIC32 поддерживает MIPS16e™ расширение – набор 16-битных инструкций, позволяющий на некоторых приложениях снизить объем кода на 40%.

Все микроконтроллеры PIC32 поддерживаются отладочными средствами Microchip, включая MPLAB IDE, новый компилятор MPLAB C32, внутрисхемный эмулятор REAL ICE™, популярный внутрисхемный отладчик MPLAB ICD2 и демонстрационную плату Explorer 16.

Семейство PIC32 так же поддерживается сторонними средствами разработки. Полные комплекты разработчика доступны от Ashling, Green Hills и Hi-Tech – включая среды разработки, С и С++ компиляторы и отладчики. Операционные системы реального времени (RTOS) для PIC32 поставляются различными производителями программного обеспечения, включая CMX, Express Logic, FreeRTOS, Micrium, Segger и Pumpkin. Доступны библиотеки графического интерфейса пользователя (GUI) от EasyGUI, Segger, RamTeX и Micrium. Полный список сторонних средств разработки для семейства PIC32 представлен на http://www.microchip.com/PIC32

Стартовый комплект PIC32 Starter Kit предназначен для быстрого начала работы с семейством и включает плату с PIC32, среду MPLAB IDE, компилятор MPLAB C32, документацию, примеры проектов, схему и библиотеку периферии, совместимую с аналогичной для 16-битных микроконтроллеров Microchip. Будут доступны различные платы расширения. Стартовый комплект PIC32 Starter Kit (PN: DM320001) доступен для заказа, стоимость 53 USD.

Источник


PicKit-3, Программатор для PIC- микроконтроллеров (PG164130)


Описание:

PICkit-3 Debug Express (PG164130) – внутрисхемный программатор-отладчик для разработки и отладки приложений с использованием PIC® микроконтроллеров c поддержкой низковольтных семейств. Программатор PICkit-3 позволяет запрограммировать внутрисхемно практически все Flash микроконтроллеры Microchip. Поддержка МК: PIC10, PIC12, PIC16, PIC18, PIC24, PIC32, dsPIC30 и dsPIC33 за исключением указанных в среде MPLAB.



Отличительные особенности:

• внутрисхемный программатор с USB Full Speed интерфейсом;
• среда разработки MPLAB® (v.8.20 и позднее);
• программирование до 512кБ Flash памяти;
• поддержка микроконтроллеров с напряжением питания от 1.8 В до 5 В;
• расширенный диапазон напряжения программирования от 1,8 В до 14 В;
• встроенный монитор от КЗ и перенапряжения;
• светодиоды состояния (Питание, Активность, Ошибка)
• демонстрационные коды и уроки по их применению...



Комплектация:
1. Внутрисхемный USB программатор;
2. USB-кабель;
3. Диск с программным обеспечением.


Техническая документация:

Скачать инструкцию (guide)


Видео:




Видео с кратким описанием платы DM320004, отладочный набор на базе PIC32MX795F512L

Описание:

DM320004 – отладочный набор на базе PIC32MX795F512L 32-разрядного микроконтроллера с ядром PIC32, тактовой частотой 80 МГц, 512 КБ Flash-памяти, 128 КБ ОЗУ, Ethernet, CAN и USB Host/Device/OTG.
DM320004 предназначен для разработки приложений, ориентированных на применение интерфейса Ethernet 10/100 Мбит/с. Компания Microchip предоставляет разработчику бесплатный стек TCP/IP.

Технические параметры:

Ядро базового компонента - MIPS32 M4k
Разрядность шины данных, Бит - 32
Наименование базового компонента - PIC32MX795F512L
Наличие USB интерфейса - да

Скачать PIC32 Ethernet Starter Kit User’s Guide



.


Последний раз редактировалось: Viktor2312 (Пт Мар 03 2017, 18:44), всего редактировалось 9 раз(а)
avatar
Viktor2312
Гуру+

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

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

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

Re: PIC32MX. 32-разрядные микроконтроллеры от Microchip

Сообщение  Viktor2312 в Вс Мар 06 2016, 11:50


.
.
.

Статьи.



_______________________________________________________


32-разрядные микроконтроллеры Microchip.



Скачать статью


Новые 32-разрядные микроконтроллеры Microchip.
Средства разработки.




Скачать статью


.


Последний раз редактировалось: Viktor2312 (Ср Сен 28 2016, 22:28), всего редактировалось 1 раз(а)
avatar
Viktor2312
Гуру+

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

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

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

Re: PIC32MX. 32-разрядные микроконтроллеры от Microchip

Сообщение  Viktor2312 в Ср Сен 28 2016, 20:59


.
.
.

Документация (Documentation).


Технические данные (Data Sheets).

PIC32MX5XX/6XX/7XX Family Data Sheet (технические данные семейства) 09/19/2016 - Скачать


Опечатки (Errata).

PIC32MX575/675/695/775/795 Family Errata and Datasheet Clarification 05/01/2013 - Скачать


Programming Specifications.

PIC32 Flash Programming Specification 09/25/2016 - Скачать


Указания по применению (Application Notes).

AN1044 - Data Encryption Routines for PIC24 and dsPIC Devices
(Шифрование данных стандартное для PIC24 и dsPIC устройств) 03/01/2013 - Скачать


Последний раз редактировалось: Viktor2312 (Ср Сен 28 2016, 22:27), всего редактировалось 2 раз(а)
avatar
Viktor2312
Гуру+

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

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

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

Re: PIC32MX. 32-разрядные микроконтроллеры от Microchip

Сообщение  Viktor2312 в Ср Сен 28 2016, 22:26


.
.
.

Литература.


PIC32 Microcontrollers and the Digilent chipKIT: Introductory to Advanced.
Dogan Ibrahim (2015г.)



PIC32 Microcontrollers and the Digilent chipKIT: Introductory to Advanced Projects will teach you about the architecture of 32-bit processors and the hardware details of the chipKIT development boards, with a focus on the chipKIT MX3 microcontroller development board. Once the basics are covered, the book then moves on to describe the MPLAB and MPIDE packages using the C language for program development. The final part of the book is based on project development, with techniques learned in earlier chapters, using projects as examples.

With this book you will learn:

- State-of-the-art PIC32 32-bit microcontroller architecture
- How to program 32-bit PIC microcontrollers using MPIDE, MPLAB, and C language
- Core features of the chipKIT series development boards
- How to develop simple projects using the chipKIT MX3 development board and Pmod interface cards
- how to develop advanced projects using the chipKIT MX3 development boards

- Demonstrates how to use the PIC32 series of microcontrollers in real, practical applications, and make the connection between hardware and software programming
- Usage of the PIC32MX320F128H microcontroller, which has many features of the PIC32 device and is included on the chipKIT MX3 development board
- Uses the highly popular chipKIT development boards, and the PIC32 for real world applications, making this book one of a kind.


Скачать rar (58 Мб)





Programming 32-bit Microcontrollers in C
Exploring the PIC32
Lucio Di Jasio
2008г.



Book Description:
Just months after the introduction of the new generation of 32-bit PIC microcontrollers, a Microchip insider and acclaimed author takes you by hand at the exploration of the PIC32 Free CD-ROM includes source code in C and the Microchip MPLAB C32 compiler Includes handy checklists to help readers perform the most common programming and debugging tasks The new 32-bit microcontrollers bring the promise of more speed and more performance while offering an unprecedented level of compatibility with existing 8 and 16-bit PIC microcontrollers. In sixteen engaging chapters, using a parallel track to his previous title dedicated to 16-bit programming, the author puts all these claims to test while offering a gradual introduction to the development and debugging of embedded control applications in C. Author Lucio Di Jasio, a PIC and embedded control expert, offers unique insight into the new 32-bit architecture while developing a number of projects of growing complexity. Experienced PIC users and newcomers to the field alike will benefit from the text's many thorough examples which demonstrate how to nimbly side-step common obstacles, solve real-world design problems efficiently and optimize code using the new PIC32 features and peripheral set. You will learn about: basic timing and I/O operation debugging methods with the MPLAB SIM simulator and ICD tools multitasking using the PIC32 interrupts all the new hardware peripherals how to control LCD displays experimenting with the Explorer16 board and the PIC32 Starter Kit accessing mass-storage media generating audio and video signals and more! TABLE OF CONTENTSDay 1 And the adventure beginsDay 2 Walking in circlesDay 3 Message in a BottleDay 4 NUMB3RSDay 5 InterruptsDay 6 Memory Part 2 ExperimentingDay 7 RunningDay 8 Communication Day 9 LinksDay 10 Glass = BlissDay 11 It's an analog worldPart 3 ExpansionDay 12 Capturing User InputsDay 13 UTubeDay 14 Mass StorageDay 15 File I/ODay 16 Musica Maestro! 32-bit microcontrollers are becoming the technology of choice for high performance embedded control applications including portable media players, cell phones, and GPS receivers. Learn to use the C programming language for advanced embedded control designs and/or learn to migrate your applications from previous 8 and 16-bit architectures. All code examples and software tools required to get acquainted with Microchip's MPLAB development environment, and to complete all the projects described in the book, are offered in the attached CDROM including the MPLAB C32 C Compiler (free Student Edition) and the full source code for more than 15 entertaining projects.


Скачать rar (4,3 Мб)


Последний раз редактировалось: Viktor2312 (Пн Фев 19 2018, 12:35), всего редактировалось 1 раз(а)
avatar
Viktor2312
Гуру+

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

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

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

PIC32. Новые 32-х разрядные микроконтроллеры Microchip.

Сообщение  Viktor2312 в Сб Фев 25 2017, 20:50


.
.

Новые 32-х разрядные микроконтроллеры Microchip.
Особенности архитектуры. Средства разработки.

____В ноябре 2007 года компания Microchip анонсировала выпуск первых в своей истории 32-разрядных микроконтроллеров PIC32. Выход лидера в производстве 8- и 16-битных микроконтроллеров на 32-разрядный рынок вполне объясним: рынок 32-битных контроллеров имеет постоянный и значительный рост, что в свою очередь связано с возрастающими требованиями к встраиваемым системам.

____Несмотря на то, что все предыдущие семейства контроллеров были разработаны специалистами Microchip, было решено лицензировать 32-разрядное ядро у компании MIPS Technologies Inc., одного из лидеров в разработке программных ядер. Архитектуры MIPS используют такие компании как AMD, Broadcom, Infeneon, Realtek, Sharp, Sony, NXP, Toshiba. Тем не менее, PIC32 это первый однокристальный процессор с архитектурой MIPS имеющий интегрированную Flash память и полный набор микроконтроллерной периферии.
____Архитектура MIPS32 выбрана не случайно.


Рис. 1

____При выборе новой платформы рассматривались различные варианты, а критерии выбора были следующими:

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

____По большинству параметров тендер выиграла компания MIPS с архитектурой MIPS32 M4K™.
____На сегодняшний день семейство PIC32 представлено 17 контроллерами с объемом Flash памяти от 32 до 512 кБ, объемом SRAM от 8 до 32 кБ в 64- и 100-выводных корпусах (табл. 1).



Архитектура

____Семейство PIC32MX основано на синтезируемом ядре MIPS32 M4K™, которое позиционируется разработчиком ядра для использования в микроконтроллерах с низким потреблением энергии.


Рис. 2

____Основные особенности ядра MIPS32 M4K™ синтезированного для применения в PIC32MX:

  • Пятиступенчатый конвейер, измеренная производительность до 1.5 DMIPS/МГц при использовании 32-х разрядных команд и до 1.2 DMIPS/МГц при 16-и разрядных командах.
  • Тактовая частота до 80 МГц
  • Программируемый кэш, позволяющий увеличить частоту доступа к Flash памяти до максимальной частоты ядра
  • Набор 32-битных инструкций MIPS32® release 2
  • Дополнительный набор 16-битных инструкций MIPS16e™, позволяющий снизить объем исполняемого кода
  • Аппаратный умножитель и делитель, оптимизированные по скорости выполнения операции
  • Векторный приоритетный контроллер прерываний
  • EJTAG порт, предназначенный для граничного сканирования, программирования Flash памяти и отладки приложения с модулем внутрисхемной трассировки

____Архитектура MIPS32® это архитектура типа "чтение-модификация-запись", то есть АЛУ ядра может обрабатывать только данные, находящиеся в регистрах общего назначения, а для загрузки и выгрузки данных предназначены специальные инструкции.
____В качестве регистров используется регистровый банк из 32 регистров, некоторые из которых выполняют специальные функции: (ra) - адрес возврата из подпрограммы, (sp) - указатель стека, (fp) - указатель фрейма стека, (gp) - указатель на область данных. Один из регистров (zero) всегда равен нулю.
____Большое количество регистров позволяет эффективно выполнять вычисления, сохраняя промежуточные результаты не в стеке, а регистровом файле. Кроме того, семейство PIC32MX имеет дополнительный набор регистров, который может использоваться в обработчике прерывания для минимизации времени входа.
____MIPS32® имеет пятиступенчатый конвейер со следующими стадиями: (I) - выборка инструкции, (E) - выполнение операции, (M) - выборка данных, (A) - выравнивание и (W) - сохранение результата. В ядро, синтезируемое для PIC32MX, была включена опция Register Bypassing - механизм, который позволяет значительно сократить время простоя конвейера при использовании в качестве аргумента следующей инструкции результата предыдущей.
____Несмотря на то, что память данных и память программ расположены в едином адресном пространстве, семейство PIC32MX имеет две раздельные шины: (I-side) - для выборки инструкций и (D-side) - для выборки данных с помощью инструкций загрузки/сохранения. Шины подключены к ядру через управляемую шинную матрицу, осуществляющую контроль доступа и генерацию исключений при ошибке доступа.
____Управление ядром осуществляется с помощью механизма сопроцессора - доступ к управляющим регистрам может быть получен только с помощью специальных инструкций. В набор управляющих регистров входит таймер ядра, инкрементируемый при каждом такте.


АЛУ и набор инструкций

____Семейство PIC32MX имеет два набора инструкций: 32-битные инструкции MIPS32® release 2 и 16-битный набор MIPS16e™, позволяющий снизить объем кода, и, соответственно, использовать микроконтроллеры с меньшим объемом Flash памяти.
____Благодаря пятиступенчатому конвейеру все инструкции выполняются за 1 командный такт, в том числе и инструкции 16-битного набора - они декодируются на стадии конвейера (I) - выборка инструкции. Исключение составляют инструкции переходов (требуют одного такта ожидания для выборки инструкции по адресу перехода), умножения (максимум два такта) и деления (максимум 35 тактов). Если приложение выполняется из Flash памяти без использования кэша, то командный такт будет равен времени доступа (максимальная частота доступа к Flash памяти у PIC32MX составляет 40 МГц). Если используется кэш программ, то командный такт будет в большинстве случаев равен такту генератора, т.е. максимальная частота выполнения инструкций будет составлять 80 МГц. Пятиступенчатый конвейер накладывает некоторые ограничения на последовательность инструкций, однако механизм пропуска результата по конвейеру (Register Bypassing) в большинстве случаев позволяет избежать циклов ожидания, в том числе и при использовании данных сразу после загрузки регистра.
____Большинство операций АЛУ и, соответственно, инструкции основного набора - трехоперандные. Источниками данных являются значения регистров, приемником результата так же является регистр ядра. Инструкции дополнительного набора MIPS16e™ - как трёхоперандные, так и двухоперандные.
____Косвенная адресация доступна только для инструкций загрузки/сохранения данных, что является особенностью всех "load-modify-store" архитектур. Непосредственная адресация (операции с константой в коде инструкции) доступны практически для всех вычислительных инструкций, при этом размер константы составляет 16 бит для набора инструкций MIPS32® release 2.
____Особенностью АЛУ ядер MIPS32® является отсутствие статусного регистра, в котором находятся флаги результатов операций (отрицательный результат, нулевой результат и т.п.) Флаги условных инструкций (сравнения и т.п.) сохраняются в указанном регистре, а инструкции условного перехода могут использовать любой регистр в качестве условия.

____Набор инструкций MIPS32® release 2 включает в себя следующие операции:

  • арифметическое сложение и вычитание
  • умножение со сложением и вычитанием из аккумулятора HI/LO
  • умножение с помещением результата в регистр общего назначения
  • деление
  • логические операции AND, OR, NOR, XOR
  • определение первой единицы и первого нуля в слове
  • условное перемещение
  • множество инструкций безусловных и условных переходов
  • атомарное разрешение и запрещение прерываний
  • манипуляция с битовыми полями
  • логический и арифметический сдвиг, вращение
  • расширение знака у байта, полуслова
  • загрузка и выгрузка слова, полуслова, байта
  • атомарная загрузка и выгрузка
  • системный вызов и программная точка останова
  • переход в энергосберегающий режим
  • доступ к модулю управления ядром

____Набор инструкций MIPS16e™ включает в себя следующие операции:

  • арифметическое сложение и вычитание (беззнаковые)
  • умножение
  • деление
  • логические операции AND, OR, NOT, XOR
  • расширение знака у байта, полуслова
  • логический и арифметический сдвиг
  • атомарное сохранение и восстановление стекового фрейма
  • множество инструкций безусловных и условных переходов
  • загрузка и выгрузка слова, полуслова, байта
  • программная точка останова

____При синтезе ядра M4K™ для PIC32MX умножитель и делитель, входящие в состав ядра, были синтезированы с опцией "оптимизация по скорости выполнения", несмотря на то, что это привело к увеличению площади кристалла. Умножитель 32 x 16 позволяет получить результат умножения 32 x 16 за один такт, а результат умножения 32 x 32 за два такта. Результат умножения может сохраняться как в регистре (младшее слово 64-битного результата), так и в специальной регистровой паре HI/LO (два слова 64-битного результата). Наличие инструкций умножения со сложением позволяет использовать эту регистровую пару как аккумулятор операций ЦОС.
____Делитель PIC32MX имеет механизм предварительного определения разрядности делителя, что сокращает время выполнения операции до 7 тактов при выполнении операции деления 32 / 8. Максимальное время выполнения операции деления составляет 35 тактов (в случае если разрядность делителя равна 32 битам).


Память

____Семейство PIC32MX имеет 32-битную шину адреса, что позволяет адресовать область памяти объемом до 4 ГБ. Флэш-память, SRAM, регистры управления периферией, конфигурационные регистры расположены в одном адресном пространстве, области имеют уникальные базовые адреса.
____Первые микроконтроллеры семейства PIC32MX имеют до 512 кБ Flash памяти и до 32 кБ SRAM. Флэш-память может программироваться в ходе выполнения программы, а часть Flash памяти (12 кБ) выделена в особый блок, называемый Internal Boot Flash, в котором может размещаться загрузчик приложения. Этот блок может отдельно от остальной памяти защищаться от записи конфигурационным словом.
____Приложение может выполняться как из внутренней Flash памяти, так и из внутреннего ОЗУ, которое можно динамически разделить на области программ и данных. Поддерживается только little-endian расположение байт в слове (младший байт имеет меньший адрес).
____В PIC32MX используются два метода адресации - физический и виртуальный. Физический метод адресации используют DMA и контроллер Flash памяти. Виртуальную адресацию использует ядро для выборки инструкций и данных. Виртуальную адресацию обеспечивает конфигурируемый механизм фиксированного перевода адресов (FMT), который преобразует виртуальные адреса в физические, необходимые для выборки из Flash памяти и SRAM.
____Виртуальная область памяти делится на две равных области по 2 ГБ. Область с младшими адресами называется областью пользователя (User Segment, KUSEG) а область со старшими адресами - областью ядра (Kernel Segments). Микроконтроллер может работать в двух режимах - пользовательском и режиме ядра (привилегированном режиме). В пользовательском режиме доступна только область пользователя, в привилегированном - как область пользователя, так и область ядра. Так как все регистры управления периферийными модулями отображены на область ядра, доступ к периферии возможен только в привилегированном режиме работы.
____Область памяти ядра в свою очередь делится на четыре области, называемые KSEG0, KSEG1, KSEG2 и KSEG3. В микроконтроллерах семейства PIC32MX физически реализованные ресурсы отображаются только на первые две области. Причем базовый адрес областей KSEG0 и KSEG1 отображается на физический адрес 0x00000000. Такая реализация позволяет быстро переключаться между режимами работы кэша Flash памяти.
____Как Flash память, так и ОЗУ может быть разделено между сегментами KUSEG, KSEG0 и KSEG1, дискретность составляет 2 кБ. Кроме того, возможно выделения части ОЗУ для всех сегментов в качестве программной памяти.
____Для обеспечения целостности данных и ограничения доступа предназначен модуль шинной матрицы. Он может быть сконфигурирован в различные режимы арбитража, которые отличаются приоритетами потребителей данных (ядро, DMA и т. п.) При конфликте доступа шинная матрица генерирует исключение.


Модуль предвыборки

____Семейство PIC32MX имеет Flash память с шиной 128 бит, которая позволяет за одно обращение выбирать четыре 32-битных инструкции. Однако даже при наличии 128-битного буфера выполнение инструкций с тактовой частотой ядра не представляется возможным, так как реальное приложение содержит больше количество ветвлений, повторяющихся инструкций и выборки данных из Flash памяти.
____Поэтому в архитектуру PIC32MX был введен конфигурируемый кэш предвыборки, состоящий из 16 128-битных строк. 4 строки могут использоваться в качестве кэша данных, что полезно при обработке больших константных массивов.
____Использование кэша предвыборки позволяет выполнять линейный код с максимальной частотой тактирования. Этому способствуют две линии кэша с адресной маской, которые могут содержать повторяющиеся инструкции, а так же механизм предикативной выборки инструкций.


Контроллер прерываний

____В ядре MIPS32 MK4™ предусмотрено три режима работы прерываний - совместимый с MIPS32 release 1, векторный режим и режим обслуживания внешнего контроллера прерываний.
____В семействе PIC32MX реализован внешний векторный контроллер прерываний, однако при сборке ядра оставлен и оригинальный одновекторный режим.

____Внешний контроллер прерываний PIC32MX обладает следующими особенностями:

  • время реакции на прерывание - не более 5 тактов генератора
  • до 96 источников прерываний
  • до 64 векторов прерываний
  • каждый вектор прерывания может иметь приоритет от 1 до 7
  • каждый вектор прерывания может иметь дополнительный приоритет от 0 до 3
  • дополнительный регистровый файл для обслуживания прерывания с максимальным приоритетом
  • конфигурируемое положение векторов прерываний
  • конфигурируемая дистанция между векторами прерываний
  • возможность программной генерации любого прерывания
  • таймер отложенных прерываний

____Контроллер прерываний PIC32MX аналогичен контроллеру прерываний 16-битных семейств PIC24/dsPIC за исключением того, что векторов прерываний меньше чем источников. Поэтому часть источников прерываний используют один вектор. Как правило, это прерывания одного периферийного модуля, например, прерывание по приему UART и прерывание по передаче UART. Приоритеты назначаются пользователем не источнику прерывания, а вектору.
____Контроллер прерываний PIC32MX отслеживает все источники на каждом такте генератора. Если один из источников прерываний активен и его приоритет больше чем текущий приоритет ядра, устанавливается флаг прерывания (который можно установить и программно) и запрос на прерывание. Между ступенями (E) и (M) конвейера проверяется запрос на прерывание и, если он установлен, ядро прекращает выполнение программы и переходит на соответствующий вектор прерывания.
____Вектора с приоритетами 7 могут использовать дополнительный набор регистров ядра, что позволяет снизить время входа в функцию обработки прерывания, так как в этом случае контекст сохранять не требуется.
____Положение векторов в адресном пространстве может быть изменено программно, так же как и дистанция между векторами.
____Интересной особенностью является таймер отложенных прерываний. Для использования этого таймера необходимо установить его период (32-битный регистр) и приоритет прерывания таймера. Все источники с приоритетом ниже или равным приоритету таймера не установят запрос на прерывание, а запустят таймер, в который перед этим будет загружено значение из регистра периода. Таймер будет декрементироваться каждый такт. Как только значение таймера будет равно нулю, установится флаг источника прерывания, запустившего таймер.


Системные модули

____Как и 16-битные контроллеры Microchip, семейство PIC32MX обладает набором системных модулей, необходимых для построения надежной и самодостаточной однокристальной системы.


Модуль сброса

____Модуль сброса PIC32MX полностью аналогичен модулю сброса 16-битных микроконтроллеров PIC24/dsPIC. Единственное отличие - отсутствие сброса при выборке инструкции с неизвестным кодом (это обрабатывается логикой исключений ядра), и сброса при конфликте исключений.

____Микроконтроллеры PIC32MX имеют следующие источники сброса:

  • сброс по включению питания (POR)
  • внешний сброс (MCLR)
  • сброс по снижению напряжения питания
  • сброс при ошибке четности конфигурационных слов
  • программный сброс
  • сброс по переполнению сторожевого таймера


Сторожевой таймер

____Сторожевой таймер в микроконтроллерах семейства PIC32MX тактируется от внутреннего низкочастотного RC генератора. Физически сторожевой таймер представляет собой 25-битный счетчик и регистр сравнения. Переполнение сторожевого таймера вызывает сброс контроллера или вывод ядра и периферии из режимов энергосбережения. Период сторожевого таймера может находиться в диапазоне от 1 мс до 1048 сек.
____Сторожевой таймер может включаться и отключаться программно. Программное отключение таймера может быть запрещено в слове конфигурации.
____Сброс сторожевого таймера в отличие от предыдущих семейств контроллеров Microchip осуществляется путем установки бита в регистре конфигурации таймера.


Система тактирования и энергосберегающие режимы

____Микроконтроллеры семейства PIC32MX имеют развитую систему тактирования. Ядро и периферийные модули могут тактироваться от четырех различных источников:

  • основного кварцевого генератора с возможностью подключения PLL
  • внутреннего высокочастотный RC генератора 8 МГц с выходным делителем и возможностью подключения PLL
  • внутреннего низкочастотного RC генератора 32 кГц
  • дополнительного кварцевого генератора с параметрами, оптимизированными для подключения часового резонатора (32768 Гц)

____Внутренний PLL предназначен для получения максимальной таковой частоты при использовании источников тактирования с частотой меньшей 80 МГц. Модуль PLL так же имеет выходной делитель, что позволяет получить широкую сетку частот от одного внешнего источника.
____Как и в большинстве микроконтроллеров Microchip, существует возможность переключать источники тактирования в ходе выполнения программы и подстраивать внутренний высокочастотный генератор в диапазоне ±12%.
____В систему тактирования PIC32MX входит монитор наличия тактовой частоты, который генерирует прерывание и переключает источник тактирования на дополнительный (внутренний RC генератор) при отказе основного. Этот же модуль обеспечивает вывод микроконтроллера из режима SLEEP с дополнительным источником с последующим переключением на основной. Это позволяет быстро начать выполнение приложения, не дожидаясь стабилизации частоты кварцевого генератора.
____Дополнительный кварцевый генератор 32768 Гц может быть включен и отключен программно. Он может использоваться для тактирования ядра, одного из таймеров и модуля часов реального времени.
____Для снижения потребления энергии можно уменьшить тактовую частоту периферийных модулей с помощью делителя частоты ядра с коэффициентами деления 2, 4 и 8.
____Микроконтроллеры семейства PIC32MX имеют два основных режима энергосбережения IDLE и SLEEP. В режиме IDLE ядро останавливает выполнение программы, однако основной тактовый генератор и периферийные модули продолжают работу. При входе в режим SLEEP, основной тактовый генератор отключается.
____Вывод микроконтроллера из энергосберегающих режимов возможен при сбросе, прерывании или переполнении сторожевого таймера. Для входа в энергосберегающий режим используется инструкция WAIT.
____Использование энергосберегающих режимов совместно с гибким управлением тактированием, позволит значительно уменьшить потребление энергии устройством.


Периферийные модули

____32-битное семейство PIC32MX имеет обширный набор периферийных модулей:

  • универсальные порты ввода-вывода, толерантные к +5 В
  • 24 входа внешних прерываний по изменению уровня с одним вектором
  • 5 входов внешних прерываний по фронту с индивидуальным векторами
  • 5 16-разрядных таймеров общего назначения
  • 5 модулей захвата
  • 5 модулей сравнения
  • 2 модуля SPI
  • 2 модуля I2C
  • 2 модуля UART с аппаратной поддержкой IrDA, LIN и RS-485
  • Универсальная последовательная шина USB OTG 2.0
  • параллельный 16-битный порт с 16-битной адресной шиной
  • часы реального времени с календарем
  • 10-битный 16 канальный аналого-цифровой преобразователь
  • два компаратора с регулируемым модулем опорного напряжения
  • JTAG интерфейс для граничного сканирования, программирования и отладки
  • модуль прямого доступа к памяти (DMA) с интегрированной функцией вычисления CRC

____Большинство периферийных модулей аналогично по функциональности соответствующим модулям семейства PIC24FJ, что должно упростить переход на 32-битные PIC32MX. Компания Microchip предоставляет библиотеку обслуживания периферии Peripheral Library PIC32MX, API которой совместим с аналогичным пакетом для PIC24FJ.
____Следует отметить основную особенность управления периферийными модулями. Все периферийные регистры PIC32MX имеют по три дополнительных слова для атомарной манипуляции с битами: xSET, xCLR и xINV. Установка битов в слове xSET устанавливает соответствующие биты в периферийном регистре. Установка битов в слове xCLR сбрасывает соответствующие биты в периферийном регистре. Слово xTGL предназначено для инвертирования битов в регистре.

____Например, сброс младшего бита в регистре TRISA будет выглядеть следующим образом:

TRISACLR = (1 << 0);

____В этом случае нет необходимости считывать значение TRISA в регистр, обнулять бит и сохранять итоговое значение:

TRISA &= ~(1 << 0);

____Такой механизм позволяет значительно сократить количество инструкций на обслуживание периферии, увеличить скорость работы и обеспечить атомарность операций. Кроме того, большинство периферийных регистров используют только младшую часть слова, что позволяет компилятору использовать эффективные арифметические и логические инструкции с константными операндами.
____Как уже отмечено, большинство периферийных модулей в PIC32MX перенесено из 16-битного семейства PIC24F, поэтому далее будут рассмотрен уникальный для PIC32MX контроллер DMA.


Контроллер прямого доступа к памяти (DMA)

____Контроллер DMA предназначен для передачи данных между блоками памяти и периферийными модулями без участия ядра контроллера.
____Семейство PIC32MX имеет до 4 идентичных каналов DMA, которые могут использоваться как для передачи данных между периферией и памятью, так и для переноса данных между блоками памяти.
____Контроллер DMA позволяет обеспечивать транзакции на уровне слов, и байтов. В последнем случае выравнивания по слову данных не требуется. Арбитраж доступа осуществляется на основании фиксированных приоритетов каналов.
____Два каналы могут быть объединены в цепочку - после окончания передачи ведущего канала автоматически запускается ведомый канал.
____Каналы могут работать в двух адресных режимах: нормальном и расширенном. В нормальном режиме объем передаваемых данных ограничен 256 байтами, но допустима транзакция по невыровненному адресу и передача типа "память-периферия". В расширенном режиме адресации объем передаваемых данных не должен превышать 64 кБ.
____Контроллер DMA имеет в своем составе модуль вычисления циклического избыточного кода (CRC), который может быть подключен к любому каналу. Модуль позволяет вычислять CRC любой разрядности с произвольным полиномом.


Отладочные средства для контроллеров PIC32

____Компания Microchip Technology Inc. предлагает полный набор отладочных средств для 16-и разрядных контроллеров PIC32, включая среду разработки MPLAB IDE, Си-компилятор, средства внутрисхемной отладки и отладочные платы.
____Среда разработки Microchip MPLAB IDE является универсальной для всех микроконтроллеров Microchip от простейших 6-и выводных 8-и разрядных PIC10F до 32-х разрядных контроллеров PIC32. Единая среда разработки для всей продукции Microchip позволяет разработчикам легко перейти на использование новых микроконтроллеров.
____Так же Microchip предлагает высокоэффективный компилятор Си для своих 32-х разрядных контроллеров. Компилятор периодически обновляется для обеспечения поддержки новых контроллеров, увеличения эффективности и добавления новых функций. Текущая версия компилятора MPLAB C32 версии 1.03 получила обновленные оптимизированные математические библиотеки с увеличенной скоростью более чем в пять раз.
____Для начального ознакомления и для учебных целей Microchip предлагает бесплатную студенческую версию компилятора C32. Данная версия работает без ограничений в течение 60 дней, после чего отключаются уровни оптимизации кода по быстродействию -O2 и -О3 и оптимизация по объему кода -Os. Так же по истечению ознакомительного срока перестает работать генератор кода MIPS16 (поддержка набора 16-битных инструкций).
____Совместно с компилятором С32 поставляется библиотека со стандартными ANSI-89 функциями, включая математические функции.


Аппаратные средства отладки

____Для внутрисхемной отладки кода контроллеров PIC32 подходят те же самые отладчики ICD-2 и REAL ICE, что и для остальных семейств микроконтроллеров Microchip. Сравнительные характеристики и особенности отладчиков приведены в Табл.2.
____PIC32MX - первое семейство в линейке Microchip, которое имеет не только проприетарный интерфейс внутрисхемной отладки. Ядро MIPS32 M4K™ включает в свой состав модуль внутрисхемной отладки EJTAG и модуль трассировки исполняемого кода и данных. Таким образом, сторонние разработчики отладочных средств могут интегрировать в свои продукты поддержку программирования и отладки PIC32MX с помощью JTAG.
____Тем не менее, PIC32MX включает в себя модуль теневой отладки, который на сегодняшний день поддерживают внутрисхемный отладчик ICD2 и внутрисхемный эмулятор REAL ICE, причем последний позволяет выполнять трассировку кода и данных. Семейство PIC32MX имеет 4 аппаратных точки останова по коду и 2 точки останова по данным.


____Для начала освоения контроллеров PIC32 Microchip предлагает две простые и дешевые демонстрационные платы PIC32 Starter Kit и PIC32 USB Board. Обе платы содержат контроллер PIC32MX (PIC32MX 360F512 или PIC32MX460F512) и интегрированный USB-JTAG внутрисхемный отладчик с возможностью установки точек останова. Таким образом разработчик, решивший попробовать PIC32 и не имеющий внутрисхемного отладчика, может начать освоение контроллера без дополнительных средств разработки. Демонстрационная плата PIC32 USB Board отличается тем, что содержит контроллер семейства PIC32MX с поддержкой USB OTG. Данная плата имеет разъемы USB-A (плата может являться хостом и позволяет подключать, например, внешние USB накопители) и USB-microAB для подключения USB устройств Host, Device и OTG.
____Для тех, кому стартового комплекта становится мало, Microchip предлагает плату расширения портов ввода-вывода - PIC32 I/O Expansion Board. Плата PIC32 Starter Kit или PIC32 USB Board является по сути процессорной платой для платы расширения PIC32 I/O Expansion Board, к которой, в свою очередь, можно подключать целый ряд специализированных интерфейсных плат. Интерфейсные платы расширения универсальны и так же подходят для совместной работы с отладочной платой Explorer 16.
____Для того чтобы работать с отладочной платой Explorer 16 и контроллерами PIC32MX, нужно в Explorer 16 установить процессорный модуль с соответствующим контроллером PIC32 или использовать плату переходник (AC320002) для подключения PIC32 Starter Board к плате Explorer 16.


Рис. 3. Конфигурирование платы Explorer 16 под различные контроллеры и прикладные задачи



____Компания Microchip поддерживает платформу PIC32MX не только отладочными платами, но и готовыми библиотеками. Под каждую интерфейсную плату есть соответствующие библиотеки и примеры программ.


Библиотеки и примеры программ

____В настоящий момент контроллеры PIC32 поддерживаются следующими специализированными библиотеками (см. Табл.4).



Средства отладки и разработки сторонних компаний

____Помимо библиотек, предоставляемых компанией Microchip Technology Inc., доступно большое количество библиотек и операционных систем реального времени от сторонних фирм:

  • CMX-RTX™ - коммерческая вытесняющая операционная система реального времени, с малым объемом кода и быстрым переключением контекста.
  • CMX-MicroNet™ - коммерческий стек протоколов TCP/IP c реализацией HTTP сервера, FTP сервера и клиента.
  • CMX-FFS-FAT™ - коммерческая файловая система FAT12/16/32 с поддержкой длинных имен, нескольких дисков и нескольких разделов на диске.
  • easyGUI - коммерческая библиотека для реализации графического интерфейса пользователя (GUI) с использованием монохромных и цветных панелей. Поддерживает большое количество контроллеров ЖКИ
  • ThreadX® - коммерческая вытесняющая RTOS
  • freeRTOS - бесплатная вытесняющая операционная система реального времени, поставляемая с открытыми исходными кодами, поставляемая под лицензией GPL-like, разрешающей применение freeRTOS в коммерческих проектах без публикации исходного кода проекта.
  • Salvo™ - коммерческая кооперативная RTOS.
  • RAMTEX GUI - коммерческая библиотека GUI
  • Segger embOS - коммерческая вытесняющая RTOS
  • Segger emWin - коммерческая библиотека GUI
  • Segger emFile - коммерческая файловая система FAT12/16/32
  • Micrium uC/OS-II - широко известная коммерческая вытесняющая RTOS, соответствует требованиям стандарта RTCA DO-178B для авиационного оборудования
  • Micrium uC/TCP-IP - компактный стек протоколов TCP-IP
  • Micrium uC/Probe - средство мониторинга, позволяет пользователю в реальном времени просматривать динамику системы без остановки программы. uC/Probe это Windows приложение, которое связывается по JTAG, RS-232, TCP-IP или USB интерфейсам
  • Micrium uC/FS - файловая система для встраиваемых приложений
  • Micrium uC/GUI - графическая библиотека для реализации пользовательского интерфейса на графических ЖК индикаторах.

____Сторонние фирмы предлагают также и средства разработки и отладки, поддерживающие 32-х битные контроллеры Microchip.
____Компания Ashling Microsystems предлагает отладчик кода PathFinder, среду разработки AsIDE и аппаратный эмулятор EJTAG с поддержкой микроконтроллеров PIC32. В качестве компилятора может использоваться либо MPLAB C32, либо компилятор C/C++ от компании MIPS (MIPS SDE). Полный набор отладки компании Ashling включает:

  • Внутрисхемный отладчик Opella-XD EJTAG
  • Отладчик кода PathFinder
  • Среда разработки AsIDE-MIPS
  • GDB-Server-MIPS. Сервер позволяет аппаратным эмуляторам Ashling использоваться с GNU GDB/Insight/Eclipse CDT и отладчиками. Поддерживается Windows и Linux.

____Компания Green Hills Software, лидер в области разработки программных отладочных средств, предлагает интегрированную среду разработки MULTI IDE, включающую в себя менеджер проектов, текстовый редактор, пофайлер DoubleCheck™. Так же компания Green Hills Software предлагает EJTAG эмулятор Green Hills Probe и компилятор Си Green Hills MIPS Compiler.
____Компания HI-TECH Software, хорошо известная по Си компиляторам для 8-и и 16-битных PIC-микроконтроллеров Microchip, так же объявила о выпуске Си компилятора для PIC32 - "HI-TECH C PRO for the PIC32".
____Это первый OCG (Omniscient Code Generation) Си компилятор HI-TECH для 32-битных микроконтроллеров.
____OCG позволяет компилятору определять какие конкретно регистры надо сохранить до того как входить в прерывание. Таким образом, вместо того, чтобы сохранять фиксированное количество регистров каждый раз, будут сохраняться только те, которые необходимо, тем самым исключаются лишние циклы, уплотняется код и увеличивается быстродействие, снижается потребляемый ток, и т.д.

____Особенности HI-TECH Си компилятора для PIC32:

  • интеграция в среду разработки HI-TIDE 3;
  • интеграция в среду разработки MPLAB IDE;
  • поддержка отладочных средств MPLAB ICD-2, MPLAB REAL ICE;
  • включает исходный код библиотек и примеры проектов;
  • включает макроассемблер, линкер, препроцессор;
  • поддерживает различные ОС: Windows (в том числе Vista 64-bit), Linux и Mac OS X;
  • поддерживается с командной строки, что обеспечивает интеграцию в сторонние среды разработки и редакторы кода.


____Как уже отмечалось, новое семейство высокопроизводительных 32-х разрядных микроконтроллеров PIC32 имеет совместимые с 16-и разрядными контроллерами PIC24 и dsPIC33 периферийные модули и программные библиотеки с одинаковым API, PIC32MX имеют те же самые корпуса и расположение выводов, что и контроллеры PIC24 и dsPIC33. Все микроконтроллеры Microchip поддерживаются единой средой разработки MPLAB IDE, и для отладки PIC32 используются те же самые отладочные средства, что и для других микроконтроллеров Microchip. Поэтому, если разработчику устройства с 16-и разрядным микроконтроллером Microchip необходимо добавить большей производительности или больше памяти в свой проект, то все что требуется, это заменить микроконтроллер, все остальное окружение и средства разработки остаются теми же самыми. Только Microchip Technology Inc. предоставляет более чем 500 типов микроконтроллеров от простых 8-и разрядных, высокопроизводительных 16-и разрядных микроконтроллеров и контроллеров цифровой обработки сигналов и 32-х разрядных PIC32, поддерживаемых единой бесплатной средой разработки и универсальными внутрисхемными отладчиками.



Илья Афанасьев,
Компания Гамма Санкт-Петербург


Статья была напечатана в журнале КиТ №9 за 2008 год
avatar
Viktor2312
Гуру+

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

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

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

Re: PIC32MX. 32-разрядные микроконтроллеры от Microchip

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


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


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

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


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