Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разрядные микроконтроллеры Microchip




АСУ ТП на базе контроллеров MICRO-PC

АСУ ТП на базе контроллеров Micro-PC предназначена для автоматизации сбора данных о работе сложных пространственно-распределенных комплексов технологического оборудования и управления ими. Программно-технический комплекс АСУ ТП состоит из следующих основных частей:

- технические средства контроля и управления локального технологического объекта;

- технические и программные средства местных диспетчерских пунктов и центральных диспетчерских пунктов;

- система радиоконтроля удаленных, малых, необслуживаемых технологических объектов;

- система телемеханики для контроля и управления удаленными малыми и средними технологическими объектами;

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

Части программно-технического комплекса могут стыковаться в различных комбинациях, предоставляя возможность построения многоступенчатых, территориально - распределенных, проектно - компонуемых систем сбора, передачи и представления данных.

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

• количество сигналов, обслуживаемых АСУ ТП – до 23000;

• протокол обмена данными – TCP/IP;

• скорость передачи данных по всем каналам – более 19,2 Кбит/сек;

• ОС РВ – OC QNX.

 

 

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

В ноябре 2007 года компания Microchip выпустила первый 32-разрядный микроконтроллер PIC 32 (рис. 4.14), который лицензировался компанией MIPS Technologies Inc. Архитектуры MIPS используют такие компании как AMD, Broadcom, Infeneon, Realtek, Shar p, Sony, NXP, Toshiba. PIC 32 это первый однокристальный процессор с архитектурой MIPS имеющий интегрированную флэш-память и полный набор микроконтроллерной периферии. Критерии выбора архитектуры MIPS 32 были следующими:

- размер кристалла и стоимость конечного изделия;

- потребление энергии на МГц тактовой частоты;

- производительность на МГц тактовой частоты;

- возможность расширения архитектуры;

- простота интеграции периферии;

- время реакции на прерывание.

Семейство PIC 32 представлено 7 контроллерами с объемом флэш-памяти от 32 до 512 кБ, объемом SRAM от 8 до 32 кБ в 64- и 100-выводных корпусах (табл. 4.2)

Архитектура. Семейство PIC 32 MX основано на синтезируемом ядре MIPS 32 M 4 K ™, которое позиционируется разработчиком ядра для использования в микроконтроллерах с низким потреблением энергии.

Таблица 4.2

Наименование Частота, МГц Flash, КБ ОЗУ, КБ Модуль пред. выборки DMA, каналов Трассировка Число выводов
PIC 32 MX 300 F 032 H       - - -  
PIC 32 MX 320 F 064 H       Да - -  
PIC 32 MX 320 F 128 H       Да - -  
PIC 32 MX 340 F 256 H       Да   -  
PIC 32 MX 320 F 128 L       Да - -  
PIC 32 MX 360 F2 56 L       Да   Да  
PIC 32 MX 360 F 512 L       Да   да  

 

 

Основные особенности ядра MIPS 32 M 4 K ™ синтезированного для применения в PIC 32 MX:

- пятиступенчатый конвейер, производительность до 1.5 DMIPS /МГц;

- тактовая частота до 72 МГц;

- программируемый кэш, позволяющий увеличить частоту доступа к флэш-памяти до максимальной частоты ядра;

- набор 32-битных инструкций MIP S32® release 2;

- дополнительный набор 16-битных инструкций MIPS 16 e ™, позволяющий снизить объем исполняемого кода;

- аппаратный умножитель и делитель, оптимизированные по скорости выполнения операции;

- векторный приоритетный контроллер прерываний;

- EJTAG порт, предназначенный для граничного сканирования, программирования флэш-памяти и отладки приложения с модулем внутрисхемной трассировки.

Архитектура MIPS 32® это архитектура типа «чтение-модификация-запись», то есть АЛУ ядра может обрабатывать только данные, находящиеся в регистрах общего назначения, а для загрузки и выгрузки данных предназначены специальные инструкции.

В качестве регистров используется регистровый банк из 32 регистров, которые выполняют специальные функции. Большое количество регистров позволяет эффективно выполнять вычисления, сохраняя промежуточные результаты не в стеке, а регистровом файле. Семейство PI C32 MX имеет набор регистров, который может использоваться в обработчике прерывания для минимизации времени входа.

Память данных и память программ расположены в едином адресном пространстве, семейство PIC 32 MX имеет две раздельные шины: (I - side) – для выборки инструкций и (D - side) – для выборки данных с помощью инструкций загрузки/сохранения. Шины подключены к ядру через управляемую шинную матрицу, осуществляющую контроль доступа и генерацию исключений при ошибке доступа. Управление ядром осуществляется с помощью механизма сопроцессора – доступ к управляющим регистрам получают с помощью специальных инструкций. В набор управляющих регистров входит таймер ядра, инкрементируемый при каждом такте.

АЛУ и набор инструкций. Семейство PIC 32 MX имеет два набора инструкций: 32-битные инструкции MIPS 32® release 2 и 16-битный набор MIPS 16e™, позволяющий снизить объем кода, и, соответственно, использовать микроконтроллеры с меньшим объемом флэш-памяти.

Благодаря пятиступенчатому конвейеру все инструкции выполняются за 1 командный такт, в том числе и инструкции 16-битного набора – они декодируются на стадии конвейера (I) – выборка инструкции. Исключение составляют инструкции переходов (требуют одного такта ожидания для выборки инструкции по адресу перехода), умножения (максимум два такта) и деления (максимум 35 тактов). Если приложение выполняется из флэш-памяти без использования кэша, то командный такт будет равен времени доступа (максимальная частота доступа к флэш-памяти у PIC 32 MX составляет ~33 МГц). Если используется кэш программ, то командный такт будет в большинстве случаев равен такту генератора, т.е. максимальная частота выполнения инструкций будет составлять 72 МГц.

Пятиступенчатый конвейер накладывает некоторые ограничения на последовательность инструкций, однако механизм пропуска результата по конвейеру (Register Bypassing) в большинстве случаев позволяет избежать циклов ожидания, в том числе и при использовании данных сразу после загрузки регистра.

Большинство операций АЛУ – трехоперандные. Источниками данных являются значения регистров, приемником результата также является регистр ядра. Инструкции дополнительного набора MIPS 16e™– как трехоперандные, так и двухоперандные. Косвенная адресация доступна только для инструкций загрузки/сохранения данных, что является особенностью всех «load-modify-store» архитектур. Непосредственная адресация доступна практически для всех вычислительных инструкций, при этом размер константы составляет 16 бит для набора инструкций MIPS 32® release 2. Особенностью АЛУ ядер MIPS 32® является отсутствие статусного регистра, в котором находятся флаги результатов операций. Флаги условных инструкций сохраняются в указанном регистре, а инструкции условного перехода используют любой регистр в качестве условия.

Память. Семейство PIC 32 MX имеет 32-битную шину адреса, что позволяет адресовать область памяти объемом до 4 ГБ. Флэш-память, SRAM, регистры управления периферией, конфигурационные регистры расположены в одном адресном пространстве, области имеют уникальные базовые адреса. Первые микроконтроллеры семейства PIC 32 MX имеют до 512 кБ флэш-памяти и до 32 кБ SRAM. Флэш-память может программироваться при выполнении программы, а часть флэш-памяти (12 кБ) выделена в особый блок, называемый Internal Boot Flash, в котором размещают загрузчик приложения. Этот блок может отдельно от остальной памяти защищаться от записи конфигурационным словом.

Приложение может выполняться как из внутренней флэш-памяти, так и из внутреннего ОЗУ, которое можно динамически разделить на области программ и данных. Поддерживается только little-endian расположение байт в слове (младший байт имеет меньший адрес).

В PIC 32 MX используются два метода адресации – физический и виртуальный. Физический метод адресации используют DMA и контроллер флэш-памяти. Виртуальную адресацию использует ядро для выборки инструкций и данных. Виртуальную адресацию обеспечивает конфигурируемый механизм фиксированного перевода адресов (FMT), который преобразует виртуальные адреса в физические, необходимые для выборки из флэш-памяти и SRAM.

Виртуальная область памяти делится на две равных области по 2 ГБ. Область с младшими адресами называется областью пользователя (User Segment, KUSEG), а область со старшими адресами – областью ядра (Kernel Segments). Микроконтроллер может работать в двух режимах – пользовательском и режиме ядра (привилегированном режиме). В пользовательском режиме доступна только область пользователя, в привилегированном – как область пользователя, так и область ядра. Так как все регистры управления периферийными модулями отображены на область ядра, доступ к периферии возможен только в привилегированном режиме работы.

Для обеспечения целостности данных и ограничения доступа предназначен модуль шинной матрицы. Он может быть сконфигурирован в различные режимы арбитража, которые отличаются приоритетами потребителей данных (ядро, DMA и т. п.). При конфликте доступа шинная матрица генерирует исключение.

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

Контроллер прерываний. В ядре MIP S32 MK 4™ предусмотрено три режима работы прерываний – совместимый с MIPS 32 release 1, векторный режим и режим обслуживания внешнего контроллера прерываний. В семействе PIC 32 MX реализован внешний векторный контроллер прерываний, однако при сборке ядра оставлен и оригинальный одновекторный режим. Внешний контроллер прерываний PIC 32 MX обладает следующими особенностями:

- время реакции на прерывание – не более 5 тактов генератора;

- до 96 источников прерываний;

- до 64 векторов прерываний;

- каждый вектор прерывания может иметь приоритет от 1 до 7;

- каждый вектор прерывания может иметь дополнительный приоритет от 0 до 3;

- дополнительный регистровый файл для обслуживания прерывания с максимальным приоритетом;

- конфигурируемое положение векторов прерываний;

- конфигурируемая дистанция между векторами прерываний;

- возможность программной генерации любого прерывания;

- таймер отложенных прерываний.

Контроллер прерываний PIC 32 MX аналогичен контроллеру прерываний 16-битных семейств PIC 24/ dsPIC за исключением того, что векторов прерываний меньше, чем источников. Поэтому часть источников прерываний используют один вектор. Как правило, это прерывания одного периферийного модуля, например, прерывание по приему UART и прерывание по передаче UART. Приоритеты назначаются пользователем не источнику прерывания, а вектору.

Контроллер прерываний PIC 32 MX отслеживает все источники на каждом такте генератора. Если один из источников прерываний активен и его приоритет больше, чем текущий приоритет ядра, устанавливается флаг прерывания и запрос на прерывание. Между ступенями (E) и (M) конвейера проверяется запрос на прерывание и, если он установлен, ядро прекращает выполнение программы и переходит на соответствующий вектор прерывания.

Вектора с приоритетами 7 используют дополнительный набор регистров ядра, что позволяет снизить время входа в функцию обработки прерывания, так как в этом случае контекст сохранять не требуется.

Положение векторов в адресном пространстве может быть изменено программно, так же как и дистанция между векторами.

Особенностью является таймер отложенных прерываний. Для использования этого таймера необходимо установить его период (32-битный регистр) и приоритет прерывания таймера. Все источники с приоритетом ниже или равным приоритету таймера не установят запрос на прерывание, а запустят таймер, в который перед этим загружено значение из регистра периода. Таймер декрементирует каждый такт. Как только значение таймера будет равно нулю, установится флаг источника прерывания, запустившего таймер.

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

Модуль сброса PIC 32 MX полностью аналогичен модулю сброса 16-битных микроконтроллеров PIC 24/ dsPIC. Единственное отличие – отсутствие сброса при выборке инструкции с неизвестным кодом (это обрабатывается логикой исключений ядра) и сброса при конфликте исключений. Микроконтроллеры PIC 32 MX имеют следующие источники сброса:

- сброс по включению питания (POR);

- внешний сброс (MCLR);

- сброс по снижению напряжения питания;

- сброс при ошибке четности конфигурационных слов;

- программный сброс;

- сброс по переполнению сторожевого таймера.

Сторожевой таймер в микроконтроллерах семейства PIC 32 MX тактируется от внутреннего низкочастотного RC генератора. Переполнение сторожевого таймера вызывает сброс контроллера или вывод ядра и периферии из режимов энергосбережения. Сторожевой таймер может включаться и отключаться программно. Сброс сторожевого таймера, в отличие от предыдущих семейств контроллеров Microchip, осуществляется путем установки бита в регистре конфигурации таймера.

Система тактирования и энергосберегающие режимы. Микроконтроллеры семейства PIC 32 MX имеют развитую систему тактирования. Ядро и периферийные модули могут тактироваться от четырех различных источников:

· основного кварцевого генератора с возможностью подключения PLL;

· внутреннего высокочастотный RC генератора 8 МГц с выходным делителем и возможностью подключения PLL;

· внутреннего низкочастотного RC генератора 32 кГц;

· дополнительного кварцевого генератора с параметрами, оптимизированными для подключения часового резонатора (32768 Гц).

Внутренний PLL предназначен для получения максимальной таковой частоты при использовании источников тактирования с частотой меньшей 72 МГц. Модуль PLL также имеет выходной делитель, что позволяет получить широкую сетку частот от одного внешнего источника. Как и в большинстве микроконтроллеров Microchip, существует возможность переключать источники тактирования в ходе выполнения программы и подстраивать внутренний высокочастотный генератор в диапазоне ±12%.

В систему тактирования PIC 32 MX входит монитор наличия тактовой частоты, который генерирует прерывание и переключает источник тактирования на дополнительный (внутренний RC генератор) при отказе основного. Этот же модуль обеспечивает вывод микроконтроллера из режима SLEEP с дополнительным источником и последующим переключением на основной. Это позволяет начать выполнение приложения, не дожидаясь стабилизации частоты кварцевого генератора.

Микроконтроллеры семейства PIC 32 MX имеют два основных режима энергосбережения IDLE и SLEEP. В режиме IDLE ядро останавливает выполнение программы, однако основной тактовый генератор и периферийные модули продолжают работу. При входе в режим SLEEP основной тактовый генератор отключается. Вывод микроконтроллера из энергосберегающих режимов возможен при сбросе, прерывании или переполнении сторожевого таймера. Для входа в энергосберегающий режим используется инструкция WAIT. Использование энергосберегающих режимов совместно с гибким управлением тактированием уменьшает потребление энергии устройством.

Периферийные модули. 32-битное семейство PI C32MX имеет обширный набор периферийных модулей:

- универсальные порты ввода/вывода, толерантные к +5 В;

- 24 входа внешних прерываний по изменению уровня с одним вектором;

- 5 входов внешних прерываний по фронту с индивидуальным векторами;

- 5 16-разрядных таймеров общего назначения;

- 5 модулей захвата;

- 5 модулей сравнения;

- 2 модуля SPI;

- 2 модуля I 2C;

- 2 модуля UART с аппаратной поддержкой IrDA, LIN и RS -485;

- параллельный 16-битный порт с 16-битной адресной шиной;

- часы реального времени с календарем;

- 10-битный 16-канальный аналого-цифровой преобразователь;

- два компаратора с регулируемым модулем опорного напряжения;

- JTAG интерфейс для граничного сканирования, программирования и отладки;

- модуль прямого доступа к памяти (DMA) с интегрированной функцией вычисления CRC.

Большинство периферийных модулей аналогично по функциональности соответствующим модулям семейства PIC 24 FJ, что должно упростить переход на 32-битные PIC 32 MX. Компания Microchip предоставляет библиотеку обслуживания периферии Peripheral Library PIC 32 MX, API которой совместим с аналогичным пакетом для PIC 24 FJ.

Все периферийные регистры PIC 32 MX имеют по три дополнительных слова для атомарной манипуляции с битами: xSET, xCLR и xINV. Установка битов в слове xSET устанавливает соответствующие биты в периферийном регистре. Установка битов в слове xCLR сбрасывает соответствующие биты в периферийном регистре. Слово xTGL предназначено для инвертирования битов в регистре. Это позволяет значительно сократить количество инструкций на обслуживание периферии, увеличить скорость работы и обеспечить атомарность операций. Большинство периферийных регистров используют только младшую часть слова, что позволяет компилятору использовать эффективные арифметические и логические инструкции с константными операндами. Большинство периферийных модулей в PIC 32 MX перенесено из 16-битного семейства PIC 24 F, поэтому рассмотрим уникальный для PIC 32 MX контроллер прямого доступа к памяти (DMA), предназначенный для передачи данных между блоками памяти и периферийными модулями без участия ядра контроллера.

Семейство PIC 32 MX имеет до 4 идентичных каналов DMA, которые используются как для передачи данных между периферией и памятью, так и для переноса данных между блоками памяти. Контроллер DMA позволяет обеспечивать транзакции на уровне слов и байтов, при этом выравнивания по слову данных не требуется. Арбитраж доступа осуществляется на основании фиксированных приоритетов каналов. Два канала могут быть объединены в цепочку – после окончания передачи ведущего канала автоматически запускается ведомый канал.

Каналы могут работать в двух адресных режимах: нормальном и расширенном. В нормальном режиме объем передаваемых данных ограничен 256 байтами, но допустима транзакция по невыровненному адресу и передача типа «память-периферия». В расширенном режиме адресации объем передаваемых данных не должен превышать 64 кБ.

Контроллер DMA имеет в своем составе модуль вычисления циклического избыточного кода (CRC), который может быть подключен к любому каналу. Модуль позволяет вычислять CRC любой разрядности с произвольным полиномом.

Средства разработки. Компания Microchip традиционно предоставляет полный набор отладочных средств для освоения и профессиональной работы с семейством PIC 32MX.

Программные средства разработки. Одновременно с анонсом 32-разрядных контроллеров PIC 32 MX компания Microchip выпустила новую версию среды разработки MPLAB 8.0, которая на сегодняшний день поддерживает все семейства, начиная от PIC 10 и заканчивая PIC 32. Выпущен компилятор с языка Си MPLAB C 32 – порт известного компилятора GCC. Компилятор включает библиотеки стандартных функций, написанные разработчиком ядра MIPS.




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 738; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.094 сек.