PIC24 - микроконтроллеры, изучение, и всё что с ними связано

Страница 6 из 6 Предыдущий  1, 2, 3, 4, 5, 6

Перейти вниз

Re: PIC24 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 в Сб Янв 21 2017, 01:34


.
.

Обзор 16-битных PIC-микроконтроллеров.

____Разработанные фирмой Microchip 16-битные микроконтроллеры являются очередным шагом на пути повышения производительности и эффективности встроенных и мобильных приложений. Эта 16-битная архитектура изначально разрабатывалась как альтернатива 8-битным решениям и призвана заменить в ближайшее время 8-битные микроконтроллеры в большинстве приложений.
____Разработанная фирмой Microchip 16-битная платформа реализована в двух семействах 16-битных микроконтроллеров и в двух семействах цифровых сигнальных контроллеров. Все эти семейства объединяет ряд общих характеристик:

  • совместимость по назначению выводов различных 16-битных устройств;
  • возможность использования для всех устройств одних и тех же инструментальных средств разработки программного обеспечения;
  • аппаратно-программная совместимость всех одноименных периферийных модулей микроконтроллеров;
  • общая базовая система команд процессора, используемая во всех семействах.

____Выбор той или иной модели микроконтроллера или сигнального контроллера зависит от требований к разрабатываемому приложению. Для большинства не дорогих устройств средней производительности подходят микроконтроллеры PIC24F, максимальная производительность которых составляет 16 MIPS. Для устройств, требующих высокой производительности, можно использовать микроконтроллеры PIC24H с максимальным быстродействием 40 MIPS. Микроконтроллеры семейств PIC24F и PIC24H работают с одним и тем же набором инструкций процессора, включают одни и те же периферийные модули, имеют одну и ту же цоколёвку, и для работы с ними используются одни и те же инструментальные средства для разработки программного обеспечения.
____Если требуются дополнительные возможности по обработке сигналов, то вместо микроконтроллеров семейств PIC24F/H можно применить цифровые сигнальные контроллеры семейства dsPIC30F, которые могут помимо всего прочего работать при напряжении питания 5 В, или высокопроизводительные (40 MIPS) контроллеры dsPIC33F, которые имеют большой объем памяти и используют низковольтное (3.3 В) питание. В качестве инструментального средства разработки программного обеспечения 16-битных микроконтроллеров и цифровых сигнальных контроллеров используется свободно распространяемая интегрированная среда разработки (ИСР) MPLAB IDE фирмы Microchip, которая позволяет разрабатывать и отлаживать 8-, 16- и 32-битные приложения. Программа MPLAB IDE работает под управлением операционных систем Windows 2000/XP/Vista/7 и позволяет выполнить все этапы разработки и отладки программного обеспечения для целевой системы. Среда MPLAB IDE позволяет выполнять тестирование и отладку программ с использованием мощного программного симулятора MPLAB SIM. Кроме того, для разработки программного обеспечения для 16-битных систем в среде MPLAB IDE можно использовать следующие инструментальные средства:

  • ассемблер ASM30 — полнофункциональный макроассемблер, в котором можно создавать пользовательские макросы и использовать условное ассемблирование. Многочисленные директивы языка делают макроассемблер очень мощным средством разработки программ;
  • компилятор программ, написанных на языке Си, который называется MPLAB C для PIC24. Этот компилятор используется для компиляции и оптимизации программ, написанных для 16-битных микроконтроллеров PIC24F/H и цифровых сигнальных контроллеров dsPIC30/33. Он совместим со стандартом ANSI C и включает полную библиотеку стандартных функций ANSI C, в числе которых функции манипулирования строками, функции работы с динамической памятью, функции преобразования даты/времени и математические функции. В компиляторе MPLAB C для PIC24 имеется мощный оптимизатор, позволяющий почти в 1,5 раза уменьшить размер программного кода по сравнению с компиляторами других фирм производителей;
  • визуальный генератор кода инициализации MPLAB VDI, позволяющий значительно упростить процесс создания инициализационного кода программы. С помощью VDI можно в графическом виде сконфигурировать
    устройство и по завершении вставить сгенерированный программный код инициализации в программу на языке Си или ассемблере;
  • библиотеку периферийных модулей, включающую более чем 270 функций для работы с различными периферийными модулями;
  • библиотеку математических функций, совместимую со стандартом IEEE754, которая включает ряд функций для выполнения операций над обычными вещественными числами и вещественными числами с двойной точностью. Функции этой библиотеки могут использоваться как в программах на языке Си, так и на ассемблере.

____Кроме инструментальных средств разработки и отладки программного обеспечения фирмы производителя на рынке присутствуют и программные средства, выпускаемые многими известными фирмами (Hi Tech, CCS и т. д.). Из аппаратных средств разработки наиболее известна и популярна отладочная
плата «Explorer 16 Development Board» фирмы Microchip, хотя другие фирмы также приступили к выпуску отладочных плат на базе 16-битных микроконтроллеров.



.


Последний раз редактировалось: Viktor2312 (Сб Янв 21 2017, 01:38), всего редактировалось 2 раз(а)
avatar
Viktor2312
Гуру+

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

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

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

Re: PIC24 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 в Сб Янв 21 2017, 01:36


.
.

Архитектура микроконтроллеров PIC24F.

____Микроконтроллеры PIC24F были разработаны как недорогое аппаратно-программное решение для перехода от 8-битных микроконтроллеров семейства PIC18 к 16-битной архитектуре, призванное обеспечить максимальную преемственность как уже разработанных приложений для PIC18, так и вновь создаваемых, более эффективных и недорогих 16-битных решений.
____Выбор микроконтроллеров PIC24F оправдан в тех случаях, когда необходимо обеспечить среднюю производительность системы при относительно невысокой стоимости конечного продукта. Для приложений, требующих более высокой производительности (выше, чем 16 MIPS), можно использовать более дорогие микроконтроллеры семейства PIC24H.
____Микроконтроллеры PIC24F обладают следующими характеристиками:

  • высокая производительность (до 16 MIPS);
  • векторная система прерываний с 16 уровнями приоритетов;
  • наличие 16 рабочих регистров;
  • возможность выполнения 16-битных математических операций;
  • возможность выполнения операций умножения с разрядностью 17 х 17 бит за один машинный цикл;
  • возможность выполнения сдвига на произвольное количество бит (до 16) за один машинный цикл;
  • аппаратно-программная архитектура, оптимизированная для разработки программ на языке Си;
  • мощная система команд, которая включает инструкцию повторения repeat для циклического выполнения команд, что особенно полезно при использовании команд пересылки данных.

____По сравнению с микроконтроллерами PIC18 микроконтроллеры PIC24F обладают многими кардинальными улучшениями. Во-первых, в микроконтроллерах PIC24F расширен объем оперативной и флэш-памяти, что при прочих равных условиях позволяет оптимизировать обработку больших объёмов данных и создавать более высокопроизводительные системы управления и обработки данных. Еще одним существенным улучшением стало включение в состав микроконтроллера дополнительных периферийных модулей.
____В микроконтроллерах семейства имеется пять 16-битных таймеров, четыре из которых можно каскадировать, получая два 32битных. Кроме того, на кристалле микроконтроллера находится интегрированный 10-битный аналого-цифровой преобразователь последовательного приближения, который может выполнять преобразование аналоговых сигналов со скоростью до 500 тыс. выборок в секунду. В микроконтроллерах семейства также реализован модуль JTAG, который позволяет выполнять тестирование и программирование микроконтроллера в системе.
____Микроконтроллеры PIC24F могут взаимодействовать с различными внешними периферийными устройствами посредством интерфейсов I2C, SPI и UART. Для этого в состав устройства включены соответствующие модули, которые могут настраиваться и работать независимо друг от друга. Функциональность подсистемы асинхронной последовательной передачи данных улучшена за счет включения в UART аппаратно-программного субмодуля IrDA. Существенно улучшает рабочие характеристики модулей интерфейсов SPI и UART сериализация данных в буфере FIFO, которая позволяет снизить непроизводительные
траты процессорного времени на обработку передачи данных. В отличие от многих устройств семейства PIC18, в которых реализован порт параллельной передачи данных, работающий только в режиме «ведомого», в микроконтроллерах PIC24F имеется модуль параллельного обмена данными, который позволяет работать как в режиме «ведомого», так и в режиме «ведущего». Это существенно расширяет возможности PIC24F при обмене данными с периферийными устройствами, имеющими параллельный интерфейс (принтеры, сканеры, устройства
внешней памяти и т. д.).
____Все устройства семейства PIC24F имеют один и тот же набор базовых периферийных модулей и отличаются объемом флэш-памяти. Обобщенная функциональная схема микроконтроллеров семейства PIC24F показана на рисунке ниже:


____Периферийные модули микроконтроллеров PIC24F позволяют создавать системы обработки данных и управления для широкого класса задач, решаемых в промышленности и в лабораторных исследованиях. Ниже будут детально рассмотрены принципы функционирования большинства из этих периферийных модулей, а сейчас проведем краткий обзор и начнём с модуля аналого-цифрового преобразователя.
____В микроконтроллерах семейства Microchip используется 10-битный аналого-цифровой преобразователь последовательного приближения. Ниже приводятся отдельные характеристики этого преобразователя:

  • скорость преобразования — до 500 тыс. выборок/с;
  • количество каналов входных аналоговых сигналов — 16;
  • источник опорного напряжения — внешний или внутренний.

____Аналого-цифровой преобразователь может работать в режиме автоматического сканирования входов и поддерживает различные режимы синхронизации. Модуль АЦП допускает автономную работу при переходе процессора в «спящий» режим или режим «холостого хода». Аналого-цифровой преобразователь может производить несколько последовательных выборок, накапливая результат в 16-уровневом буфере данных, и сохранять результат в одном из четырех форматов.
____Следующий периферийный модуль — модуль аналоговых компараторов. Это устройство включает в себя два компаратора, которые используются при реализации широкого класса функциональных узлов, например детектора перехода через ноль в схеме синхронизации по переменному току 50 Гц, или при создании более сложных устройств, таких, как 16-битный сигмадельта аналого-цифровой преобразователь.
____Микроконтроллеры PIC24F включают 5 модулей таймеров общего назначения разрядностью 16 бит. Все пять таймеров обладают общими базовыми функциональными возможностями. Регистры периода всех таймеров могут использоваться для генерации прерывания при совпадении содержимого такого регистра с текущим содержимым регистра таймера. Во всех таймерах предусмотрены режим запуска/останова по внешнему сигналу и генерация прерывания по спаду внешнего сигнала. Четыре из пяти таймеров могут объединяться попарно для формирования 32-битных таймеров. С модулями таймеров тесно связан 5-канальный модуль захвата входных сигналов и 5-канальный модуль генерации цифровых сигналов. Модуль захвата входных сигналов используется для измерения интервалов между событиями. Минимальная разрешающая способность при таком измерении равна длительности одного машинного цикла. Для синхронизации временных меток модуль захвата входных сигналов использует в качестве базовых Таймеры 2 и 3.
____Модуль генерации цифровых сигналов используется для генерации одиночных импульсов и импульсных последовательностей и имеет пять каналов. Для отсчёта интервалов времени при формировании таких сигналов модуль генерации цифровых сигналов использует в качестве базовых Таймер 2 и Таймер 3. Выходные сигналы этого модуля могут использоваться для управления обычными (термоэлементы) и индуктивными (электродвигатели) нагрузками, а также для синтеза голосовых сигналов.
____В микроконтроллерах семейства PIC24F имеется два модуля универсального
асинхронного приемопередатчика (UART), которые позволяют реализовать обмен данными в соответствии со стандартами RS-232 и RS-485. Приёмопередатчик обеспечивает обмен 8- или 9-битными данными с контролем чётности или без такового с одним или двумя стоповыми битами. Устройство поддерживает функцию аппаратного контроля обмена данными, что обеспечивает высокий уровень надежности и производительности, позволяя подключать к микроконтроллеру различные периферийные устройства, например модемы. Скорость
передачи данных может изменяться от 15 бод до 1 Мбод. Повышение производительности операций обмена данными и разгрузка процессора обеспечиваются за счет использования 4-уровневых буферов входных/выходных данных и прерываний. Кроме того, модуль UART поддерживает передачу информации по протоколам IrDA и LIN.
____Для обмена данными между различными устройствам в настоящее время очень часто используются протоколы I2C и SPI. Микроконтроллеры PIC24F имеют интегрированные периферийные модули для поддержки этих протоколов. В модуле I2C применяется аппаратно-программный алгоритм, позволяющий выбрать режим «ведущего» или «ведомого». Модуль поддерживает как 7, так и 10-битную адресацию устройств на шине I2C, при этом тактовая частота шины I2C может быть задана равной 100 или 400 кГц.
____Модули SPI микроконтроллеров PIC24F можно сконфигурировать для работы с двумя, тремя или четырьмя сигнальными линиями. В режиме с двумя линиями (синхронизации и данных) интерфейс SPI можно использовать для приёма сигналов датчиков. Для работы с аналого-цифровыми преобразователями, сдвиговыми регистрами и микросхемами памяти EEPROM используется, как правило, 3-проводной интерфейс.
____Еще один периферийный модуль — модуль часов реального времени с календарём (RTCC) — предназначен для точного отсчета времени в течение длительных интервалов и оперирует с датами и временем. Он может выполнять функцию будильника, включая внешнее устройство в определенный момент
времени в будущем. Модуль RTCC синхронизируется непосредственно от внешнего источника тактового сигнала частотой 32 кГц. Из этого сигнала посредством предделителя формируется внутренний сигнал с периодом 0.5 с,
который используется для синхронизации регистров модуля, содержащих элементы даты (год, месяц, день, день недели, часы, минуты и секунды). Данные хранятся в регистрах в удобном BCD-формате. Функция будильника может быть запрограммирована на определенный месяц, день, день недели, час, минуту и секунду. Кроме того, поскольку регистры модуля часов реального времени работают на очень низкой частоте, это позволяет минимизировать энергопотребление устройства. Часы реального времени могут функционировать и в том случае, если процессор находится в «спящем» режиме. Для управления внешними устройствами можно использовать выходной сигнал модуля частотой 1 Гц или сигнал, формируемый при срабатывании будильника.
____Модуль параллельного порта позволяет легко реализовывать аппаратно-программный 8-битный интерфейс с внешними устройствами и модулями памяти. Модуль поддерживает мультиплексирование шин адреса/данных, позволяя передавать по 8-битной шине 16-битные данные. В модуле предусмотрена работа
с 16 адресными линиями, что дает возможность адресовать до 64 Кбайт памяти, а при использовании дополнительных линий адреса, в качестве которых могут быть задействованы выводы портов общего назначения, — и большее пространство адресов. В модуле предусмотрена функция автоинкремента/автодекремента адреса, что позволяет оптимизировать передачу больших блоков данных.
____Последнее периферийное устройство — модуль контроля достоверности данных с использованием циклического избыточного кода (CRC). Этот модуль находит применение при контроле ошибок обмена данными с периферийным оборудованием и памятью, особенно при работе с коммуникационным оборудованием по протоколам CAN, USB и Ethernet.
____Микроконтроллеры семейства PIC24F имеют 16-разрядную шину данных, что существенно повышает их функциональные возможности по сравнению с устройствами семейства PIC18. Длина инструкции (команды) процессора в микроконтроллерах серии PIC24 равна 24 битам, а частота выполнения
команд процессора в 2 раза меньше, чем частота синхронизации устройства. Если использовать принятые в документации фирмы Microchip обозначения, то это соотношение можно выразить формулой:

FCY = FOSC/2,

где FOSC — тактовая частота синхронизации микроконтроллера, а FCY — тактовая частота процессора.
____Счетчик команд (Program Counter, PC) имеет разрядность 23 бита и позволяет адресовать до 4 миллионов инструкций в памяти программ. Высокая производительность микроконтроллера обеспечивается за счет использования механизма конвейеризации инструкций, при котором выборка и декодирование следующей инструкции процессора осуществляются на этапе выполнения предыдущей. При этом все инструкции выполняются за один машинный цикл, за исключением инструкций передачи управления, инструкций, оперирующих двойными словами, и инструкций табличного чтения/записи. Кроме того, определённую оптимизацию загрузки процессора можно осуществить за счет применения инструкции цикла repeat.
____Микроконтроллеры семейства PIC24F имеют 16 рабочих регистров, оперирующих данными размером в одно слово (16 бит). Каждый из этих регистров может выступать в роли регистра данных, адреса или смещения. Шестнадцатый по счету регистр (W15) используется в качестве указателя стека (SP, Stack Pointer) в операциях вызова процедур и обработчиков прерываний. В микроконтроллерах PIC24F предусмотрена возможность отображения верхних 32 Кбайт памяти данных на адресное пространство памяти программ с выравниванием по границе слова, для чего используется 8-битный регистр PSVPAG (Program Space Visibility Page).
____Разработчики семейства PIC24F предусмотрели обратную совместимость инструкций и режимов адресации процессора с микроконтроллерами семейства PIC18 за счет прямого включения подмножества инструкций PIC18 в систему команд PIC24, а также посредством использования макросов.
____В микроконтроллерах семейства PIC24F реализована гарвардская архитектура, в которой память программ и память данных разделены, что позволяет осуществлять прямой доступ к памяти программ из памяти данных во время выполнения программного кода. Организация памяти программ одной из наиболее распространенных линеек микроконтроллеров семейства PIC24FJ128GAxxx со 128 Кбайт флэш-памяти показана на рисунке ниже:


____Пользовательским программам доступна область памяти в диапазоне адресов 0x000000…0x7FFFFF, за исключением области конфигурации устройства, доступ к которой осуществляется посредством инструкций tblrd/tblwt. Память программ организована в виде блоков, адресуемых пословно. Хотя адрес памяти является 24битным, более удобно рассматривать любой адрес в виде младшего и старшего слова, при этом старший байт старшего слова не используется и равен 0. Младшее слово всегда располагается по четному адресу, а старшее — по нечетному. Следует сказать, что адреса памяти программ всегда выравниваются по границе слова и при выполнении программного кода всегда инкрементируются и декрементируются на 2.
____Область памяти программ между адресами 0х000000 и 0х000200 зарезервирована для векторов прерываний. По адресам 0x000000 и 0x000002 размещается команда перехода к фактическому началу программы, при этом по первому адресу располагается код операции инструкции goto, а по второму — собственно адрес точки входа в программу. Также в памяти программ размещаются две таблицы векторов прерываний. Одна из них располагается в диапазоне адресов 0x000004…0x0000FF, а вторая (альтернативная) — в диапазоне адресов 0x000100…0x0001FF.
____Адресное пространство памяти данных микроконтроллеров PIC24F представляет собой непрерывную область 16-битных адресов с линейной адресацией. Адрес для доступа к данным формируется двумя модулями генерации адресов, один из которых используется в операциях записи, а другой — в операциях чтения данных. Распределение памяти данных микроконтроллеров PIC24F (моделей с 8 Кбайт ОЗУ) показано на рисунке ниже:


____Все действующие адреса памяти данных (Effective Addresses, EA) имеют размер 16 бит, что позволяет адресовать 64 Кбайт памяти. Нижняя половина адресов памяти данных, для которых старший бит действующего адреса равен 0, используется для адресации данных, а старшая половина адресов, для которых старший бит адреса равен 1, — для отображения памяти программ на память данных (Program Space Visibility Area, PSVA). Микроконтроллеры PIC24FJ128GA010 имеют объем памяти данных 8 Кбайт; при обращении к памяти данных по адресу, лежащему за пределами этой области, возвращается нулевой байт или слово.
____Данные в памяти выравниваются по границе слова, при этом младшие байты имеют четные, а старшие — нечетные адреса. Для обратной совместимости с 8-битными микроконтроллерами в систему команд PIC24F включены команды, поддерживающие операции как со словами, так и с отдельными байтами. При этом процессор распознает, когда выполняется операция над байтом, а когда – над словом, и генерирует соответствующий адрес. Например, если в команде используется косвенная адресация с постинкрементном, такая, как [W1++], то для байтовой команды генерируется адрес, равный W1+1, а для команды, работающей со словом, — W1+2. При любых операциях со словами данные должны иметь чётный адрес, поэтому компилятор будет выдавать ошибку при сборке программ, если в программном коде происходит обращение к слову по нечетному адресу. Если такая ситуация возникает при выполнении программы, то генерируется ошибка адресации и вызывается обработчик этой исключительной ситуации. По этой причине следует соблюдать осторожность, если в программе одновременно присутствуют инструкции, работающие с байтами и со словами.
____Для повышения эффективности работы программ в систему команд включен ряд инструкций, позволяющих преобразовывать байты данных в слова. Это инструкция расширения знака se (Sign-Extend), приводящая 8-битное число со знаком к 16-битному формату, и инструкция расширения нуля ze (Zero Extend), заполняющая старший байт беззнакового целого нулями. Большинство инструкций процессора могут работать как с байтами, так и со словами, но некоторые инструкции оперируют только со словами.
____Первые два килобайта адресного пространства памяти данных (от 0x0000 до 0x7FF) выделяются для регистров специальных функций (Special Function Register, SFR), которые используются ядром и периферийными модулями микроконтроллера PIC24F для выполнения различных операций. Эти регистры
распределены между модулями, с которыми они связаны, и, как правило, группируются по принадлежности к тому или иному периферийному модулю. Большинство адресов, выделяемых под регистры специальных функций, на данный момент не задействованы и читаются как 0.



.
avatar
Viktor2312
Гуру+

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

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

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

Страница 6 из 6 Предыдущий  1, 2, 3, 4, 5, 6

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

- Похожие темы

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