Владимиров А.
Виртуальная периферия становится реальностью
Новые 100MIPS 8-разрядные микроконтроллеры SX фирмы Scenix Semiconductor
имеют флеш память программы, обеспечивают внутрисхемную отладку и
программирование, совместимы с популярными микроконтроллерами PIC16C5X
и поддерживаются широким набором загружаемых периферийных модулей.
Каждый разработчик в своей практике сталкивался с тем, что несмотря на всю
широту выбора микроконтроллеров, нет именно того, который бы идеально
подошел под его конкретную задачу. Например, для управления небольшой
системой подошел бы 8-разрядный микроконтроллер с 3 каналами ШИМ до 20 кГц
и пятью UART на 19.2K. Среди серийно выпускаемых таких нет, нужно ставить
несколько микроконтроллеров и/или отдельных микросхем UART, объединять их в
систему и писать довольно сложную программу управления всей системой.
Другой подход стал возможен с появлением микроконтроллеров SX, имеющих
производительность до 100 MIPS при тактовой частоте 100 МГц и
высокоэффективную систему прерываний с автоматическим сохранением всех
служебных регистров. На тактовой частоте 100 МГц они имеют время выполнения
одной команды 10нс, время входа в прерывание и выхода из него фиксировано и
составляет 30 нс для внутренних прерываний и 50 нс для внешних.
Такая высокая производительность и фиксированное время обработки прерываний
позволяет заменить многие периферийные функции, ранее выполнявшиеся в виде
аппаратных модулей, небольшими отлаженными подпрограммами, работающими по
прерываниям, и выполняющимися независимо друг от друга. Выбор таких
виртуальных периферийных устройств уже сегодня довольно широк, и их
библиотека постоянно пополняется (см таблицу). Для
достижения совместимости всех периферийных устройств разработаны специальные
правила [1]. Теперь любой необходимый набор периферии
можно просто набрать из имеющихся модулей, не меняя сам микроконтроллер.
Более чем на порядок высокая производительность микроконтроллеров SX по
сравнению с типовыми микроконтроллерами других фирм позволяет использовать
гибкие программные решения там, где традиционно применялась жесткая логика,
вентильные матрицы и специализированные микросхемы - обработка ИКМ трактов,
выделение каналов из потока E1, маршрутизация, поддержка шины USB,
интерфейсов IrDA и ProfiBus, многоканальные и высокоскоростные UART,
широкодиапазонные синтезаторы частоты, телефонные модемы, формирование
и обработка видео- и аудиосигналов, врезка логотипов и субтитров,
телетекст и системы кодирования видеосигнала.
Ядро микроконтроллеров SX и их система команд совместимы с завоевавшими
широкую популярность микроконтроллерами PIC16C5X [2],
однако есть и ряд улучшений. Команды у SX выполняются за 1 период тактовой
частоты, а не за 4, как у PIC. Память программы электрически
перепрограммируемая (до 10000 циклов), причем нет необходимости принимать
специальные меры предосторожности для выводов RB6 и RB7, как у PIC -
программирование и отладка осуществляется через выводы OSC1 и OSC2, к
которым обычно подключены пассивные элементы - кварц или керамический
резонатор. Для каждого входа индивидуально можно выбрать порог срабатывания
- ТТЛ или КМОП, включить подтягивающий резистор, а для входов RB и RC еще и
триггер Шмидта. Все выходы имеют нагрузочную способность 30 мА, а выходы RA
еще и симметричные выходные ключи. Микроконтроллеры SX имеют быстрый
аналоговый компаратор (10 мВ, 250 нс) на выводах RB0...RB2, встроенный
RC генератор 4 МГц с программируемым коэффициентом деления до 31 кГц,
прерывания по изменению состояния на любом выводе порта RB, 8-уровневый
аппаратный стек. Добавлено 10 новых команд для увеличения эффективности
кода, память программы доступна для чтения, в командах сложения и
вычитания можно использовать флаг С (математические подпрограммы стали
почти вдвое короче по сравнению с PIC16C5X), регистр W отображается в
памяти данных.
Микроконтроллеры SX имеют всю необходимую поддержку для внутрисхемной
отладки в реальном времени. Каждый кристалл имеет дополнительную аппаратную
возможность перейти в отладочный режим, в котором есть аппаратная точка
останова, возможность чтения и модификации всех регистров и стека.
Управление процессом отладки идет через те же ножки OSC, но тактовую
частоту в режиме отладки генерирует эмулятор.
Конструктивно внутрисхемный эмулятор SX-KEY производства фирмы PARALLAX Inc.
представляет собой плату размером 15х50 мм с 4-контактным разъемом, содержащую
микроконтроллер SX18, синтезатор частоты до 130 МГц и преобразователь
напряжения. Эмулятор питается от отлаживаемого устройства, потребляя
менее 100 мА, заодно реализуя и функции внутрисхемного программатора.
Для микроконтроллеров SX отпадает необходимость в сложных, больших и дорогих
внешних эмуляторах и отладочных кристаллах как таковых. Особенно это важно
при отладке высокочастотных устройств и устройств с SMD монтажом (например,
для SX в корпусе SSOP). Традиционные методы внутрисхемной отладки в этих
случаях часто дают неадекватные результаты из-за вносимых ими паразитных
емкостей и задержек.
Уже доступен широкий спектр средств программирования и отладки для
микроконтроллеров SX. Выпущено несколько коммерческих и бесплатных
компиляторов Си, программных симуляторов, ассемблеров, программаторов.
Постоянно растут списки примеров применения и виртуальной периферии.
Всю эту информацию на русском и английском языках можно найти по адресу
http://www.svtehs.com/ru/scenix.htm. Там же публикуется русская
документация на микроконтроллеры SX, схемы и программное обеспечение
программаторов. Фирмой SV TEHS также разработаны две модели недорогих
программаторов для микроконтроллеров SX.
На сегодня микроконтроллеры SX доступны в 18/20 и 28-выводном вариантах
с памятью программы 2048х12 слов, ОЗУ 136х8 байт в корпусах DIP, SOIC и SSOP
с коммерческим 0...+70 и индустриальным -40....+85 диапазонами рабочих
температур. Версия 50 МГц поставляется со склада, версия 100 МГц будет
доступна в 1 квартале 1999 года. Ориентировочная стоимость микроконтроллеров
составляет $4 в партии 100 штук, стоимость внутрисхемного эмулятора-
программатора и среды разработчика SX-KEY 350$.
Литература:
[1]. Webb C. Designing Virtual Peripherals for the SX. Programming Considerations and Standarts.
http://www.scenix.com/virtual/vp/index.html
[2]. Владимиров А. Возможности однокристальных микроконтроллеров MICROCHIP PIC16C5X. Chip News N4, 1996.
Виртуальные периферийные устройства и требуемые ими ресурсы
Функция |
Слов ЭППЗУ |
% от 100MIPS |
Генератор 0...100 кГц |
30 |
2% |
Частотомер 0...100 кГц |
40 |
3% |
Таймер на частоте 100 кГц |
30 |
1% |
I2C master |
50 |
3% |
I2C slave |
80 |
2% |
Опрос клавиатурной матрицы 4х4 |
70 |
1% |
Контроллер клавиатуры PC |
80 |
1% |
Передатчик IrDA 4 Мбит |
60 |
30% |
Приемник IrDA 4 Мбит |
110 |
50% |
UART 19.2K |
60 |
5% |
ИКМ 64K |
60 |
10% |
Интерфейс USB 1.5 Мбит |
180 |
40% |
Интерфейс Е1 2 Мбит |
80 |
30% |
Интерфейс SPI/Microwire 500 кГц |
50 |
5% |
Интерфейс Dallas microwire |
130 |
2% |
Управление ЖКИ |
120 |
1% |
DMX-512 |
100 |
4% |
X-10 |
60 |
1% |
Приемник АОН "2 из 6" |
300 |
10% |
Приемопередатчик DTMF |
120 |
10% |
Интерфейс MIDI |
80 |
5% |
ШИМ 20 кГц 8 бит |
30 |
10% |
АЦП 1 кГц. 8 бит |
50 |
5% |
Модем 300/1200 бод |
280 |
10% |
|