 |
|
 |
Встраиваемый процессор Nios II от компании Altera®
Семейство программных процессоров Nios® II - это второе поколение встраиваемых процессоров общего назначения с перестраиваемой конфигурацией. Эти процессоры используются в ПЛИС Altera семейств Cyclone, Arria, Stratix и HardCopy. Cистемы на базе Nios II обеспечивают исключительную гибкость, позволяя программно создавать и использовать процессоры, соответствующие потребностям встраиваемой системы. Встраиваемое ядро процессора Nios - конвейерный RISC процессор, в котором команды выполняются за один цикл частоты синхронизации.
Преимущества микропроцессоров, встроенных в FPGA
Встроенные в FPGA микропроцессоры и микроконтроллеры на их основе абсолютно синхронны со всем остальным проектом, расположенным в этой же микросхеме. Если проектируемое устройство работает в реальном времени и с большими потоками данных, которые нужно получать от периферии и отдавать в периферию, то задача синхронизации становится достаточно серьёзной.
Все быстрые "мелкие" микроконтроллеры работают асинхронно относительно периферии в Altera и не имеют аппаратного входа "Готовность", поэтому они могут синхронизироваться с периферией только программно, а для программной привязки их к синхронному проекту в Altera нужно, во-первых, несколько команд процессора, что займет несколько тактов синхрочастоты и, во-вторых, для этого нужны ресурсы микросхемы FPGA и, в-третьих, они занимают довольно много места на плате. Быстрые "крупные" процессоры имеют возможность аппаратной синхронизации по входу "готовность", но дороги и занимают еще больше места на плате. Кроме того, применение "крупного" процессора для небольших задач нецелесообразно. А это значит, что при том же быстродействии ядра процессора можно получить выигрыш в производительности.
Следующее преимущество - специализированные команды пользователя. Это значит, что проектируя микроконтроллер, пользователь может произвести предварительное программирование и определить в потоке команд, выполняемых процессором, группы наиболее часто повторяющихся команд. Если теперь группу таких команд объединить в одну специализированную команду, то быстродействие процессора для данного класса задач увеличится, а программировать его станет легче. Специализированные команды пользователя (см. описание команд процессора NIOS), могут быть однотактные или многотактные. Они могут выполняться в ALU процессора или в дополнительном вычислительном блоке, подключаемом к ALU, например FFT, FIR и т.д.
Еще одно преимущество состоит в том, что микроконтроллер становится "невидимым". То есть микроконтроллер, конечно есть, просто увидеть его уже нельзя. Это теперь просто один из файлов проекта.
И последнее, что необходимо отметить - микроконтроллер получает ту периферию и в таком количестве, которая нужна пользователю. Периферия может быть от простого UART'a до сопроцессоров DSP.
Библиотечные элементы для периферии процессора
- Универсальный асинхронный приёмопередатчик (UART)
- Таймер
- Параллельный ввод-вывод (PIO)
- Интерфейс SRAM
- SDRAM контроллер
- Интерфейс FLASH памяти
- Последовательный периферийный интерфейс (SPI)
- Контроллер I2C
- Модулятор ширины импульса (PWM)
- IDE контроллер диска
- Контроллер локальной сети 10/100 Ethernet (MAC)
- Контроллер USB
Этот список не полный, но он даёт представление об уровне разработок библиотечных элементов. Подключив к процессору требуемые библиотечные элементы, можно программно сформировать необходимый для конкретного применения микроконтроллер.
Встроенный процессор Nios имеет следующие особенности:
- Загружаемая RISC архитектура с перестраиваемой конфигурацией
- Полностью синхронный адрес и интерфейс шины данных
- Разрядность данных 16 или 32 бита
- Адресное пространство 128 кБайт и 8 ГБайт, соответственно
- 16-битная система команд
- Малые требования к памяти
- Совместимость со стандартными FLASH устройствами
- Поддержка памяти на кристалле и внешней памяти
- Архитектура конвейера с 5 стадиями
- Одна команда выполняется за один цикл частоты
- До 512 регистров общего назначения
- Для ускорения обработки прерывания, доступ к регистрам осуществляется через окно в 32 регистра
- 64 векторных прерывания
- Среда разработки программного обеспечения, основанная на GNU C/C++ и Eclipse IDE
- Модуль отладки, обеспечивающий пуск, останов, пошаговую работу и трассировку процессора под управлением интегрированной среды разработки (IDE)
- Возможность встраивания операционных систем MicroC/OS-II (Micrium), uCLinux и Nucleus Plus (ATI/Mentor)
- Периферийные устройства на кристалле, настраиваемые пользователем
- Универсальный асинхронный приёмопередатчик (UART), таймер, параллельный ввод-вывод (PIO), SRAM и интерфейс FLASH памяти
- Последовательный периферийный интерфейс (SPI), модулятор ширины импульса (PWM), IDE контроллер диска, контроллер локальной сети 10/100 Ethernet на основе протокола CSMA-CD (MAC) и SDRAM контроллер
- MegaWizard интерфейс, который конфигурирует ядро процессора, подключение шин и периферийные устройства
- Генерирует периферийный модуль шины (PBM)
- Назначает уровень IRQ и приоритеты
- Назначает периферийные базовые адреса
- Устанавливает параметры конфигурации ширины данных 8 бит, 16 бит и 32 бита (динамическая шина)
- Конфигурирует периферийные состояния ожидания
Интерфейс MegaWizard позволяет пользователю выбирать тип и производительность отдельных узлов процессора, чтобы решить задачу с минимумом затраченных ресурсов.
|