Компания
Microchip производит семейство 16-ти разрядных Flash микроконтроллеров
с поддержкой команд цифровой обработки сигналов dsPIC30F. Высокое
быстродействие в 30 MIPS (миллионов операций в секунду) и эффективная
система команд позволяет использовать контроллеры в сложных системах
реального времени. Ядро dsPIC30F построено по 16-ти разрядной модифицированной Гарвардской архитектуре с расширенной системой команд, включающей команды поддержки цифровой обработки сигналов (DSP). Процессорное ядро имеет 24-битные команды, которые выполняются за один машинный цикл (4 периода тактовой частоты), за исключением команд деления, переходов, команд пересылки данных из регистра в регистр и табличных команд.
Программный счетчик позволяет адресовать до 4М программной памяти (4М*24бит).
Ядро поддерживает программные циклы DO и REPEAT, не требующие
дополнительного расхода памяти программ. Эти циклы могут быть прерваны
функциями прерывания в любой точке.
Массив рабочих регистров состоит из 16 регистров, каждый из которых может
выступать как данные, адрес или смещение адреса. Один рабочий регистр
выступает как программный указатель стека для прерываний и вызовов
подпрограмм.
Система команд ядра dsPIC30F имеет два класса команд: микроконтроллерные
инструкции и команды цифровой обработки сигналов (DSP). Оба этих класса
равноправно интегрированы в архитектуру контроллера и обрабатываются
одним ядром.
В контроллерах dsPIC поддерживаются различные типы адресации и система
команд оптимизирована для получения максимальной эффективности при
программировании на языке высокого уровня Си.
Память данных контроллеров dsPIC может адресоваться как 32К слов (64К байт) и
разбита на два блока, обозначаемых как X и Y память данных. Каждый блок
памяти данных имеет свой собственный независимый модуль генерации
адресов (Address Generation Unit – AGU). Х-AGU поддерживает
бит-реверсивную адресацию для упрощения ввода или переупорядочение
выходных данных для построения алгоритмов дискретного быстрого
преобразования Фурье (FFT).
Микроконтроллерные команды могут работать только с Х-областью памяти, доступ к которой осуществляется как к одному линейному адресному пространству.
Инструкции из класса DSP работают с обеими Х и Y областями памяти и
поддерживают доступ к двум операндам из разных областей памяти. Для
большинства инструкций dsPIC возможно одновременное (за один цикл)
чтение инструкции, обращение к данным в памяти, к рабочему регистру и
запись результата в память. Таким образом dsPIC поддерживает 3-х
операндные команды, позволяя выполнить команды типа А+В=С за один
машинный цикл.
Ядро DSP контроллера имеет 40-разрядное АЛУ и поддерживает команды умножения 17*17 за один цикл, имеет два 40-бит аккумулятора.
Подробная техническая информация о микроконтроллерах dsPIC доступна на сайте www.microchip.com/dspic
Более подробная статья о возможностях dsPIC30F в разделе статьи
dsPIC для построения датчиков
dsPIC общего применения
dsPIC управления двигателями и преобразователями энергии
Отладочные платы
Примеры применения
Программное обеспечение и библиотеки