Поставка электронных компонентов

ГлавнаяО компанииСтатьиПоставкиЦеныВакансииКонтакты English



Статьи

– Анонсы
– Публикации



Поиск по складу:
? - любой символ
* - любая серия символов


Одноплатные компьютеры VersaLogic: ни мороз им не страшен, ни жара

(Статья в журнале "Компоненты и технологии" N 9'2004)

Подробнее...



Рассылка новостей:
 подписаться
 отписаться



     




Первый среди равных. Микроконтроллер Cyan Technology eCOG1. Часть N 2. (Статья в журнале "Компоненты и технологии" N 4'2005)
Ракович Н.Н., info@premier-electric.com, 29.04.2005

Первый среди равных

 

Сам по себе микроконтроллер eCOG1 — «вещь в себе», и не более того. Только работа с периферией позволяет выявить все его характеристики, и чем больше возможностей для подключения внешних устройств, тем более востребован микроконтроллер.  

         Последовательный интерфейс I2C – двунаправленный многоабонентский двухпроводной интерфейс для подключения к микроконтроллеру внешних устройств (память, интерфейсные ИС), выполняющий последовательную передачу данных со скоростью 100 кбит/с (стандартный), 400 кбит/с (скоростной) и 3,4 Мбит/с (высокоскоростной режим передачи данных).

         Протокол I2C микроконтроллера eCOG1 поддерживает:

·        команды старта, останова, перезапуска;

·        совпадение адресов и арбитраж;

·        режимы – со многими ведущими и ведущий/ведомый;

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

·        10-разрядную и широковещательную адресацию.

Управление шиной I2C выполняется через DUSART (обрабатываются все сигналы низкого уровня и упорядочивается поток данных). На рис. 6 показана реализация интерфейса I2C в составе DUSART: I2C конфигурируется для каждого USART канала, обмен управляющими сигналами и данными осуществляется через банк регистров.

         Специально для I2C прерывания не предусмотрены, они формируются программно на основе прерываний DUSART.

         В eCOG1 контроллер I2C работает в двух режимах: ведущий или ведомый. Ведущий обращается к ведомому, задает синхронизацию и инициирует передачу. Наличие двух пар портов, доступных через DUSART, позволяет одновременно передавать данные в режимах ведущего и ведомого.

Последовательный периферийный интерфейс (SPI) также поддерживается модулем DUSART, что позволяет микроконтроллеру eCOG1 работать  ведущим или ведомым с возможностью поддержки нескольких ведомых в режиме ведущего (рис. 7). Передача данных определяется ведущим, который обеспечивает и синхронизацию (SCK). Ведомый должен использовать SCK при передаче данных. Полярность импульсов синхронизации от ведущего задается с помощью CPOL, а фаза – через CPHA (соответствующие clk_pol и clk_pha в регистре duasrt.spi_tx_cfg). Чтобы различать направление передачи данных от каждого контроллера (ведущего и ведомого), в состав eCOG1 введена дополнительная логика. Эта же логика обеспечивает управление «на лету» при связи портов с функциями кадрирования данных.

         Модуль интерфейса смарт-карт (Smart Card InterfaceSCI) содержит полную логику, необходимую для оконечной части (терминала) этого интерфейса. Последовательности действий при запуске и дезактивации реализованы с различной степенью автоматизации. Поддерживается протокол типа Т=0 (части 1-10 стандарта Smart Card ISO 7816). Следует отметить, что хотя все основные последовательности действий по установке карт, их активации и дезактивации реализованы аппаратно, встроенной поддержки переключения уровня напряжения, определения подделки или защиты от короткого замыкания в нагрузке нет (обычно вероятность наиболее высока при вставке и извлечении смарт-карты). Поэтому необходимо, чтобы между микроконтроллером и терминалом смарт-карты была включена внешняя схема интерфейса. Тактирование смарт-карты выполняется через модуль таймера (TIM). Помимо управления внешним источником тактовых сигналов, модуль SCI может использоваться для управления ШИМ-выходом PWM1. Частота тактового генератора SCI программируется с помощью регистра TIМ.

         Структура модуля смарт-карт приведена на рис. 8. SCI использует любой из портов USART (какой свободен в данный момент).

         Модуль инфракрасного интерфейса (IRF) предназначен для передачи и приема данных по ИК-каналу. Входные сигналы должны быть демодулированы до поступления в микроконтроллер для декодирования. Данные на выходе могут быть как в модулированном виде (для этого используется выход PWM2), так и немодулированные. Модуль разрабатывался для расширения возможностей при использовании различных пользовательских протоколов (RC-5, ASK, PPM и стандарта IRDA), а также для перспективных ИК-протоколов на основе программируемых регистров. Важно отметить, что этот модуль обеспечивает программирование команд и параметров для работы инфракрасного канала с помощью соответствующих регистров и программного обеспечения пользователя (которое, естественно, должно соответствовать данному протоколу).

         Последовательный порт пользователя (User Serial PortUSP) является расширением DUSART, обеспечивающим прямой доступ к USART А или к USART В, и может использоваться как дополнительный асинхронный порт. Таким образом, в микроконтроллере eCOG1 можно сконфигурировать и применять четыре отдельных асинхронных порта: два порта из специальной секции UART, асинхронный порт и последовательный порт пользователя из секции DUSART.

         Основное назначение порта пользователя – обеспечение гибкого последовательного порта ввода-вывода с параллельным доступом шириной в слово, автоматической вставкой, проверкой по четности и минимизацией требуемого для программ места. Последовательные протоколы, заданные пользователем, могут быть адаптированы простой реконфигурацией банка регистров USP. Кроме стандартных возможностей USART, реализована возможность «полуавтоматической» настройки порта, которая может быть при необходимости отключена.

         Интерфейс внешней памяти (External Memory InterfaceEMI) позволяет подключать внешнюю память с помощью менеджера памяти как со стороны команд, так и со стороны данных центрального процессора. EMI поддерживает два формата: формат интерфейса шины (Bus Interface Format) – независимый 25-разрядный адрес и 8-разрядные данные или мультиплексированные 24-разрядный адрес и 16-разрядные данные. Этот интерфейс работает с Flash-памятью, SRAM, ПЗУ или периферией на основе памяти. Формат интерфейса SDRAM реализует прямое подключение к SDRAM для передачи данных без каких-либо дополнительных внешних элементов.

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

         Интерфейс внешнего хоста (External Host InterfaceEHI) позволяет микроконтроллеру eCOG1 и внешнему процессору использовать внутреннее ОЗУ eCOG1 для прямого доступа как со стороны процессора микроконтроллера, так и со стороны  внешнего устройства ( рис. 9). Запись и чтение данных в ОЗУ процессор микроконтроллера выполняет через блок управления памятью MMU, в то время как внешнее устройство – с помощью EHI. Прямой доступ к памяти микроконтроллера внешний процессор получает в одном из двух режимов: первый — eCOG1 представляется как периферийное устройство с распределением памяти (ММР), в котором оперативная память отображается в карте памяти внешнего устройства; второй – режим прямого доступа к памяти DMА, когда внешнее устройство обращается к памяти микроконтроллера eCOG1 с использованием функций DMА. Режим ММР предназначен для передачи небольших произвольных объемов данных, а DMА – для больших блоков данных. Интерфейс EHI дает в руки разработчику средство чередования доступа к большим и малым массивам данных.

         Встроенная Flash-память на 64 кбайта с организацией 32 Кслов × 16 бит ( рис. 10) предназначена для хранения программ и данных (энергонезависимость этой памяти очень кстати). Работа и программирование Flash-памяти от напряжения 3,3 В (напряжение питания eCOG1) позволяет забыть о внешнем источнике высокого напряжения.

         Блок управления памятью MMU содержит два преобразователя адреса для Flash-памяти: один -  для доступа к программам, второй – для доступа к данным, которые конфигурируются в MMU. Доступ к программам конфигурируется с использованием регистров mmu.flash_code_log, mmu.flash_code_phy и mmu.flash_code_size, а доступ к данным – через регистры mmu.flash_data_log, mmu.flash_data_phy и mmu.flash_data_size. Как дополнение к основной памяти программ и данных  в отдельной области памяти (блок информации) имеются 64 16-разрядных слова. Эти ячейки памяти недоступны при прямом чтении или записи памяти, но к ним можно получить доступ посредством косвенной адресации через регистры flash.prg_adr, flash.prg_data, flash.inf_rd_adr и flash.inf_rd_data.

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

         И заканчивая описание Flash-памяти, скажем несколько слов о параметрах этой памяти:

·        полное программирование основного блока Flash-памяти – 660 мс;

·        полное программирование блока информации – 1,32 мс;

·        программирование одного слова – 42 мкс;

·        удаление данных из всего массива памяти – 210 мс;

·        удаление данных одной страницы – 10 мс;

·        гарантированное число циклов записи-стирания – 20000.

Аналого-цифровой преобразователь (АЦП) представляет собой 12-разрядный сигма-дельта преобразователь с частотой выборки 8 кГц (блок-схема АЦП и входных мультиплексторов представлена на рис. 11). АЦП может работать с четырьмя различными внешними аналоговыми сигналами, а также с сигналами от встроенных датчиков напряжения питания и температуры. Возможна работа в дифференциальном режиме с двумя внешними аналоговыми сигналами. Дифференциальный режим можно также использовать для подавления синфазных помех.

Измерение напряжения на выводах ANA0÷3 с применением АЦП  выполняется в одном из четырех режимов.

·        Режим А – измерение сигнала на одном из четырех входов относительно встроенного источника опорного напряжения.

·        Режим В аналогичен режиму А за исключением того, что внутреннее опорное напряжение подается на вывод ANA3,  которой не может использоваться для измерения внешнего сигнала.

·        Режим С предназначен для дифференциального измерения, при котором один из выводов ANA0÷2 выбирается как положительный вход, а ANA3 – как отрицательный. Таким образом, измеренное напряжение есть разность между выбранным выводом ANA0÷2 и выводом ANA3.

·        В режиме D выводы ANA0÷3 конфигурируются как две дифференциальные пары ANA0 и ANA1, ANA2 и ANA3. АЦП может выбрать (с помощью разработчика, конечно), какая из этих пар будет использоваться для измерения.

         Встроенный температурный датчик позволяет измерять температуру кристалла (совместно с АЦП). Режим измерения задается установкой битов adc.cfg.temp_sel и adc.cfg.temp_en, причем установкой бита adc.cfg.temp_sel запрещается работа АЦП с другими сигналами. Если датчик не используется, то с целью снижения потребления его можно отключить, очистив бит adc.cfg.temp_en. Результат измерения температуры появляется через два периода АЦП (250 мкс).

         Для получения точных результатов измерения необходимо провести калибровку датчика: измерить известную температуру (например, комнатную) и вычислить калибровочный коэффициент по формуле

CAL =  Тcal ((ADC — 2048) * 0,061 / 2),

где ADC – содержимое adc.sts.data, а Тcal – абсолютная температура (К), при которой выполнялась калибровка.

         Измеренная температура определяется выражением (тоже по шкале Кельвина):

Temp = CAL + ((ADC — 2048) * 0,061 / 2).

         С помощью встроенного датчика напряжения питания, который, как и температурный датчик, может использоваться совместно с АЦП, измеряется напряжение между выводами Vdd  и Vss микроконтроллера. Это позволяет контролировать состояние батареи питания или другого источника электроэнергии, используемого для работы микроконтроллера eCOG1.

         Запуск датчика задается установкой бита adc.cfg.vsens_en, а выбор для передачи в АЦП – битом adc.cfg.vsens_sel. Бит adc.cfg.temp_sel должен быть сброшен, поскольку иначе АЦП будет считывать данные температурного датчика.

Если датчик не используется, то его можно отключить, очистив бит adc.cfg.vsens_en и заодно понизив потребление. Результат измерения напряжения, как и для температуры, появляется через два периода АЦП (250 мкс).

         К такому «железу» идет и соответствующее программное обеспечение и отладочный комплект (Development Kit).

         В качестве программного обеспечения пользователь бесплатно получает программу моделирования ecogsim и эмулятор ecogemu. Эти программы имеют общий пользовательский интерфейс и команды, различие заключается в том, как они выполняются. Программа моделирования имеет eCOG1 интерпретатор для выполнения команд, а эмулятор работает через интерфейс eICE , подключенный к плате с микроконтроллером.

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

         Для эмулятора подключение пользовательских модулей обеспечивает внутрисхемное программирование внешней Flash-памяти. Инсталляция этих модулей позволяет загружать и отлаживать пользовательские программы обычным способом. Эмулятор программирует внутреннюю Flash-память микроконтроллера eCOG1 через интерфейс ICE.

         Основные «плюсы» программ ecogsim и ecogemu:

·        дистанционное управление программами через TCP/IP;

·        мощный синтаксический анализатор, позволяющий вводить сложные выражения;

·        оператор разыменования, позволяющий создавать ссылки на ячейки памяти в выражениях;

·        поддержка временных точек в ecogsim;

·        справка в формате HTML;

·        динамически загружаемые пользовательские модули;

·        команды оболочки;

·        многопоточные приложения;

·        32-разрядные приложения для Windows 95/98 and NT4/2000.

         C-компилятор, состоящий из ECOGCL и ECOGNCC, поддерживает полную версию языка С в соответствии с ANSI/ISO, включая операции с плавающей запятой. Компилятор полностью интегрирован для большинства средств поддержки eCOG, что позволяет совместить программирование на С и ассемблере, а также отладку на уровне исходного кода с использованием программы моделирования и эмулятора. Компилятор формирует удобочитаемый код ассемблера, который сохраняет имена и структуру исходного кода на С. Это позволяет «захватить» имеющиеся программы на С для последующей модификации на ассемблере в случае необходимости, кроме того, позволяет пользователю проверить и отладить программу на ассемблере (на уровне исходника).

         Операционная система реального времени PicOS, разработанная для установки и работы с отладочной платой eCOG1 и входящая в комплект поставки, позволяет создать многозадачную систему на основе микроконтроллера.

         В заключение два слова об отладочной плате из комплекта Development Kit ( рис. 12). В ее состав входит микроконтроллер eCOG1, интерфейс Fast Ethernet, память SDRAM 2М×16 бит, ЖК-дисплей (2 строки по 16 символов), два последовательных порта пользователя, параллельный отладочный интерфейс, последовательный интерфейс, динамик, 4 светодиода, интерфейс внешней памяти и хоста, стек TCP/IP, зона для макетирования и порты ввода-вывода.

         Таким образом, микроконтроллер eCOG1 представляет собой многофункциональную ИС, позволяющую создавать на ее основе устройства различного назначения – от средств связи  до охранных систем, от Интернет-устройств до сложной бытовой техники (рис. 13). Наличие отладочного комплекта и бесплатного ПО разработки и отладки позволяет сократить сроки и стоимость разработки.

         Дополнительную информацию можно найти на сайте www.cyantechnology.com.

 

Читайте также  

29.11.2005 TDK Semiconductor представляет новое семейство микросхем для учета электрической энергии
14.11.2005 USB ToolStick — оценочная плата от SiLabs
25.10.2005 TRISIL™ SMP100LC — защитные двунаправленные диоды для xDSL систем
30.03.2005 Первый среди равных. Микроконтроллер Cyan Technology eCOG1. Часть N 1. (Статья в журнале "Компоненты и технологии" N 3'2005)
21.02.2005 Компоненты для IP-телефонии
24.01.2005 Одноплатные компьютеры VersaLogic: ни мороз им не страшен, ни жара
02.12.2004 «Ниша» с высоким напряжением (компоненты Supertex с рабочим напряжением до 450 В)
11.06.2004 Три «С» в одном флаконе (однокристальный аналого-цифровой комплекс Silicon Labs)
28.02.2004 TFT-ДИСПЛЕИ — ИНФОРМАТИВНО, ФУНКЦИОНАЛЬНО, ПРОСТО
31.01.2004 CameraChips: полная видеосистема на одном кристалле
21.12.2003 Встроенные модемы TDK: быстрая передача данных с малой скоростью
19.11.2003 Надежность стального капкана  — энергонезависимая память Simtek
10.06.2003 USB — как альтернатива ISA интерфейсу в устройствах ввода-вывода
15.02.2003 16-ти битные АЦП производительностью 1 Msps в микроконтроллерах Cygnal
16.01.2003 Микроконтроллеры Cygnal со встроенными USB контроллером и стабилизатором напряжения
01.12.2002 8051 – совместимые микроконтроллеры и средства разработки компании Cygnal
01.10.2002 Новые 8051 совместимые микроконтроллеры Cygnal C8051F330 и C8051F331
01.09.2002 Миниатюрные микроконтроллеры — пополнение в семействе Cygnal
01.05.2002 8051 совместимые микроконтроллеры Cygnal производительностью 100 MIPS
01.04.2002 Микроконтроллеры Cygnal — новые семейства
01.03.2002 Линейные стабилизаторы с малым падением
01.02.2002 FLASH память — преимущества быстрых решений
01.12.2001 Защита аналоговых и цифровых портов
01.11.2001 Защита схем абонентских телефонных линий
01.10.2001 Импульсные источники питания VIPer
01.09.2001 OMNIFET
01.08.2001 NVRAM — комлексное решение в одном корпусе
00.00.0000 Альянс с Alliance Semiconductor: от памяти до подавления помех






ОДО "ПремьерЭлектрик" © 2002-2007 "PremierElectric"
тел/факс: (+375 17) 297-33-50, 297-33-62, 297-33-65, 248-68-67, 249-79-59
e-mail: sales@premier-electric.com