А. Владимиров
Высокопроизводительные микроконтроллеры SX фирмы Ubicom поддерживаются доступными и эффективными инструментальными средствами и используются в коммуникационных приложениях, видеообработке, подключении к Ethernet и реализации TCP/IP-технологий.
Микроконтроллеры Ubicom SX [1] имеют производительность до 100 MIPS,
флэш-память программы, обеспечивают внутрисхемную отладку и
программирование, совместимы с популярными микроконтроллерами PIC16C5X,
поддерживаются эффективными и доступными инструментальными средствами и
широкой библиотекой примеров применения [2].
Параметры основных серийно
выпускаемых микроконтроллеров SX приведены в таблице.
Микроконтроллер | Выводы | Порты | Тактовая частота, МГц | Память программы | ОЗУ | Типы корпусов |
SX18AC | 18 | 12 | 50, 75 | 2048x12 | 136x8 | DIP, SOIC |
SX20AC | 20 | 12 | 50, 75 | 2048x12 | 136x8 | SSOP |
SX28AC | 28 | 20 | 50, 75 | 2048x12 | 136x8 | DIP, SOIC, SSOP |
SX48BD | 48 | 36 | 50 | 4096x12 | 262x8 | TQFP |
SX52BD | 52 | 40 | 50,100 | 4096x12 | 262x8 | PQFP |
Программные средства
Небольшие программы для микроконтроллеров SX эффективнее всего писать
на ассемблере. Фирма Ubicom поддерживает бесплатный SASM [3] — полноценный
макроассемблер, имеющий все необходимые функции. Все примеры применения
Ubicom [2] также скомпилированы им. Ассемблер SASM поддерживается
большинством внутрисхемных эмуляторов и программаторов для SX.
Более
сложные программы можно писать на C. Для микроконтроллеров Ubicom SX
существует компилятор SXC фирмы Byte Craft [4] и компилятор С2С [5],
однако наиболее компактный и эффективный код получается при использовании
компилятора Hitech C, бесплатная версия которого входит в комплект
внутрисхемного эмулятора SX-DEV [6].
Программные симуляторы для
микроконтроллеров SX не пользуются особой популярностью из-за того, что
аппаратные внутрисхемные эмуляторы для них дешевы и удобны в
использовании. Можно отметить бесплатный программный симулятор SxSim [7] и
популярный универсальный симулятор UMPS [8], также поддерживающий
микроконтроллеры SX.
Аппаратные средства
Для программирования микроконтроллеров SX можно использовать различные решения. Программатор можно собрать самостоятельно, воспользовавшись одной из опубликованных схем, например, программатор Fluffy. В практической работе обычно удобнее использовать внутрисхемный программатор, питающийся от отлаживаемого устройства, например, SX-TIPS фирмы SV TEHS (рис. 1).
SX-TIPS позволяет измерять и подстраивать частоту внутреннего
RC-генератора SX и осуществлять сброс процессора.
Микроконтроллеры SX
имеют встроенную поддержку функций внутрисхемной отладки, поэтому для них
существуют недорогие и удобные в использовании внутрисхемные
эмуляторы.
Внутрисхемный эмулятор SX-KEY фирмы Parallax (рис. 2) был первым
средством отладки для SX. Это маленькая плата, питающаяся от отлаживаемого
устройства. На плате имеется встроенный синтезатор частоты, позволяющий с
определённой дискретностью задать тактовую частоту отлаживаемого
микроконтроллера, при этом подключение внешнего источника тактовой частоты
невозможно. Следует отметить, что программное обеспечение SX-KEY
несовместимо с фирменным ассемблером SASM, эмулятор не поддерживает
низковольтный режим работы и потребляет от отлаживаемого устройства ток
порядка 100 мА. Эмулятор подключается к компьютеру через последовательный
порт.
Внутрисхемный эмулятор SX-ISD фирмы Advanced Transdata (рис.
3)
отличается наличием внешнего входа останова, регулируемого внешнего
источника питания, наличием встроенного синтезатора и возможностью
подключения внешнего источника тактовой частоты, достаточно удобным
программным обеспечением, а также довольно высокой ценой. Эмулятор
подключается к компьютеру через параллельный порт.
Внутрисхемный эмулятор SX-DEV фирмы SV TEHS [6] (рис. 4) использует 6-контактный разъём с ключом от неправильной установки, совместимый с SX-KEY и SX-ISD. Эмулятор состоит из двух частей: собственно программатора/эмулятора и модуля реального времени, содержащего генератор необходимой пользователю тактовой частоты. В модуль реального времени может быть установлен кварц, керамический резонатор или 4-выводный генератор частоты, используемой в отлаживаемом устройстве. Эмулятор поддерживает работу в полном диапазоне напряжения питания и тактовой частоты для SX и потребляет от отлаживаемого устройства ток менее 5 мА. Программное обеспечение эмулятора позволяет эффективно отлаживать программу на уровне исходного текста, в том числе и на уровне исходного текста Hitech C, полностью поддерживается ассемблер SASM. Поддерживается эмуляция регистров таймеров, банка памяти 0 и регистра Options для SX48/52, имеется возможность изменения регистров в процессе эмуляции в реальном времени. Эмулятор подключается к компьютеру через последовательный порт.
Примеры применения
Фирма Ubicom опубликовала обширную библиотеку примеров применения микроконтроллеров SX для различных приложений [2]. Благодаря фиксированному времени входа в прерывание (3 такта для внутренних прерываний) и аппаратному сохранению контекста при входе в прерывание, микроконтроллеры SX позволяют программно обрабатывать многие функции, ранее выполнявшиеся в виде аппаратных модулей. Такие отлаженные программные модули собраны в библиотеку виртуальных периферийных устройств. Уже опубликовано большое число модулей: 2400...230,4K асинхронный последовательный интерфейс; 8-канальный 19,2-K асинхронный последовательный интерфейс; 8-разрядный ШИМ; несколько ШИМ выходов; 8-разрядный АЦП; 16-разрядный таймер; I2C ведущий и ведомый; SPI/mWire ведущий и ведомый; управление шаговым двигателем; сканирование клавиатуры 4x4; формирование FSK; формирование DTMF; формирование синусоидального сигнала; часы реального времени; 8- и 4-разрядные интерфейсы ЖКИ на HD44780; BELL-202 FSK модем на 1200 бод; ввод/вывод DTMF; детектирование Caller ID; детектор вызова; детектор поднятой трубки; ввод/вывод линейных сигналов; импульсный набор номера и другие. Несколько других интересных приложений рассмотрим подробнее.
Вывод видео
В январе 2001 года в рамках списка рассылки PICLIST проходил конкурс на лучший пример применения SX в видеоустройствах. Проект SERVID представляет собой простейший ASCII видеотерминал на 4 строки по 20 символов, реализуемый на недорогом SX18. Терминал позволяет выводить данные на скорости 1200 бод, поддерживает управляющие команды VT52 и автоматический скроллинг, полностью формирует композитный видеосигнал амплитудой 1 В на нагрузке 75 Ом (рис. 5).
Выбор чересстрочной или прогрессивной развёртки, числа строк и кадров для системы PAL/SECAM и NTSC осуществляется условной компиляцией. Исходные тексты проекта доступны под GPL-лицензией.
Обработка видео
Устройство выделения логотипа LOGO позволяет детектировать наличие
определённого логотипа на телевизионном канале и при его появлении или
исчезновении вырабатывать сигнал. Устройство имеет библиотеку
идентификаторов логотипов, содержащуюся в электрически перепрограммируемой
памяти, а также имеет режим пополнения данной библиотеки на основе анализа
видеоизображения. При включении устройство работает в режиме поиска
логотипа. Если в видеосигнале найден какой-либо логотип из библиотеки,
устройство переходит в режим отслеживания: при пропадании логотипа
устройство плавно (за 300...500 мс) выключает звуковой канал, при
появлении логотипа — так же плавно его включает. При пропадании
синхронизации (переключении каналов) устройство возвращается в режим
поиска логотипа и включает звук, независимо от предыстории. Такой алгоритм
работы позволяет использовать это устройство в качестве блокиратора
телевизионной рекламы — на время коммерческой рекламы телевизионные каналы
снимают логотип канала, а устройство детектирует этот факт, выключает звук
и формирует логический сигнал, который может быть использован для
управления каким-либо внешним устройством, например, паузы
видеомагнитофона, переключения ТВ-канала, включения CD-ROM и так
далее.
Для настройки, задания логотипов и просмотра библиотеки
устройство имеет клавиатуру и режим отображения на экране, аналогичный
предыдущему примеру, только с другими размерами символов. ВидеоАЦП с
разрешением 150 нс по времени и 4 бита по уровню реализован на встроенном
компараторе SX. На входе компаратора формируется ШИМ-сигнал. На выходе ШИМ
формируется прямоугольный сигнал с периодом 64 мкс. При включении и
переключении канала происходит подстройка уровня чёрного — так, чтобы
сигнал на входе компаратора имел нулевой уровень в момент измерения
сигнала на чёрных строках (до начала основного кадра). Период нарастания
ШИМ напряжения на входе компаратора составляет 16 полукадров или 320 мс.
Измерение осуществляется следующим образом: в каждом полукадре для каждой
из 64 обрабатываемых точек логотипа запускается компаратор и определяется
номер полукадра, в котором уровень ШИМ-сигнала превысит уровень
видеосигнала. Номер этого полукадра (4 бита) запоминается в ОЗУ. Так
формируется матрица 32 байта (64 отсчёта). Всё устройство реализовано на
микроконтроллере SX28, FRAM 24C16 и ключе CD4053, для привязки к
видеосигналу используется внешний синхросепаратор LM1881.
Встраиваемый Web-сервер на
Ethernet
Фирма Ubicom опубликовала достаточную полную реализацию TCP/IP-стека для встраиваемых приложений, работающих на 10BASE-T Ethernet. Модуль SX-Ethernet построен на микроконтроллере SX52 и микросхеме интерфейса RTL8019AS, имеет интерфейсы 10BASE-T и RS232. Двухслойная плата имеет размеры 71x68x16 мм и два 20-контактных разъёма расширения. Для подключения внешней периферии остаются свободными 16 портов ввода/вывода SX52 и порт RS-232. Модуль имеет встроенное ЭППЗУ объёмом 256 Кбит для хранения содержимого web-сервера. Максимальная пропускная способность такого решения при работе по TCP/IP составляет около 1 Мбит без модификации стека и до 5 Мбит при оптимизации под конкретную задачу. Всё программное обеспечение для SX-Ethernet, схемы и чертежи платы свободно доступны.
Новый интернет процессор
IP2022
В мае 2001 года фирма Ubicom начинает серийный выпуск нового коммуникационного процессора IP2022. Процессор имеет тактовую частоту 100 МГц, встроенный умножитель частоты, позволяющий использовать внешние кварцы от 2 МГц и менять тактовую частоту в процессе работы, 16-разрядные команды, выполняющиеся за 1 такт, аппаратный умножитель 8x8, 64 Кбайт (32Kx16) флэш-память программы, 16 Кбайт (8Kx16) ОЗУ программы и 4 Кбайт ОЗУ данных. Обеспечивается гарантированное время реакции на прерывание в три такта с полным аппаратным сохранением контекста. Имеется встроенный 8-канальный 10-разрядный АЦП с частотой выборки 48 кГц, дополнительный тактовый генератор 32 кГц для поддержки реального времени, 8/16-разрядный параллельный интерфейс. Для поддержки внешних интерфейсов имеются два модуля последовательно-параллельного преобразования, каждый из которых может быть использован в режимах 10BASE-T Ethernet, USB, SPI, UART, IrDA, i2C и других. Процессор имеет встроенные средства программирования и внутрисхемной эмуляции, сильно облегчающие и ускоряющие отладку. Программное обеспечение Red Hat GNU Tools включает в себя компилятор C, ассемблер, компоновщик, отладчик, симулятор и оболочку. Для конфигурации используемых программных модулей предназначена отдельная утилита. Для нового процессора уже разработан полноформатный TCP/IP-стек и ряд программных модулей.
Литература
1. А.
Владимиров. Виртуальная периферия становится реальностью // Инженерная
микроэлектроника. 1998. № 4. С. 24–25.
2. Ubicom Application Notes.
3. Ubicom SASM Assembler.
4. Byte Craft SXC
compiler.
5. C2C compiler.
6. Внутрисхемный эмулятор SX-DEV.
7. SxSim
simulator.
8. UMPS simulator.
Автор документа: Сергей Гаврилюк
, http://www.gaw.ru" |
Дата публикации: 08.08.2007 Дата редактирования: 08.08.2007 |
Кол-во просмотров 3903 | |
Все новости одной лентой |