Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Журнал Компел

2010: 
1, 2, 3, 4, 5, 6, 7, 8, 9
2009: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16
2008: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16
2007: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16, 17, 18, 19, 20
2005: 
1, 2, 3

Новости электроники

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

как молоды мы были и как быстро пробежали годы кулотино самое счастливое мое время

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

Журнал "Новости Электроники", номер 13, 2008 год.

Микроконтроллеры семейства STR91

Дмитрий Парошин (Компания IntegrIT)
32-битные ARM-микроконтроллеры STR7/STR9 относятся к классу самых высокопроизводительных в продуктовой линейке компании STMicroelectronics. Среди важнейших ╚фамильных╩ черт эти контроллеров можно отметить наличие внутренней Flash-памяти и способность исполнять программные инструкции. Помимо прочего, STR9 отличает наличие Ethernet-интерфейса, что позволяет создавать интеллектуальные сетевые устройства с WEB-интерфейсом и мощными функциями управления.

 

Семейство STR7

Это семейство основано на широко распространенном ядре ARM7TDMI, имеющем классическую RISC-архитектуру. Ядро, по сути, предназначено для решения задач управления, которые обычно связаны с переселкой данных между портами ввода вывода и памятью, обработкой условных переходов и несложными битовыми манипуляциями. Процессор не имеет специалицированных DSP-инструкций, поэтому математические операции ядро делает неэффективно. В состав семейства входят три модификации STR710, STR730 и STR750.

Основные характеристики микроконтроллера STR710:

Основные характеристики микроконтроллера STR730:

Основные характеристики микроконтроллера STR750:

Как видно, все эти микроконтроллеры обладают соизмеримым быстродействием и отличаются наличием или отсутствием интерфейса внешней памяти, разным набором периферии и типами доступных корпусов. STR710 подходит для приложений, где важно низкое энергопотребление с умеренными требованиями к производительности. Отсутствие DMA-контроллера не позволяет обеспечить пересылку данных без участия ядра. Производитель рекомендует эти изделия для применения в бытовой и промышленной электронике, GSM, Bluetooth, DAB/DBM, трехфазных измерителях мощности, сканерах банковских карт и т.д.

STR730 обладает большей тактовой частотой по сравнению с STR710 и имеет DMA-контроллер, который, к сожалению, может работать только с таймерами, портами BSP и АЦП. Большое количество таймеров и портов ввода-вывода позволяет применять микроконтроллер в приложениях промышленной электроники, автоэлектронике, в индустриальных измерителях мощности, принтерах, регистраторах и т.д.

DMA-контроллер STR750 обладает более развитыми возможностями. Он поддерживает циркулярную адресацию и может быть подключен к портам UART0, SSP0, PWM-таймеру, TIM0, ADC. Наличие интерфейса к внешней памяти и относительно высокая тактовая частота позволяет применять микроконтроллеры в задачах приборостроения, управления бесщеточных двигателей, USB-периферии, UPS, системах сигнализации, медицинском оборудовании и т.д.

Семейство STR9

Это самые высокопроизводительные микроконтроллеры компании STMicroelectronics. Они построены на основе ядра ARM966E-S с гарвардской архитектурой, свойственной DSP-процессорам, с независимыми шинами данных и инструкций. На бинарном уровне STR9 совместим с инструкциями ARM7 и 16-битным Thumb-кодом.

Основные характеристики микроконтроллеров STR9:

Как и все микроконтроллеры, рассмотренные выше, STR9 работает непосредственно из FLASH-памяти на тактовой частоте до 96 МГц. Оборудованный Ethernet- и USB-интерфейсами и поддержкой до 2 Мбайт FLASH, STR9 позволяет создавать на его основе современные высокопроизводительные сетевые устройства. Функциональная схема микроконтроллера STR9 показана на рисунке 1.

 

Функциональная схема микроконтроллера STR9

 

Рис. 1. Функциональная схема микроконтроллера STR9

Рассмотрим основные компоненты микроконтроллера STR9.

TIM-интерфейс

Одновременная загрузка инструкций и запись/чтение данных происходит через TIM-интерфейс (TIghtly-coupled Memory), таким образом обеспечивается последовательное исполнение инструкций и уменьшается количество тактов, приходящихся на одну инструкцию. В дополнение к этому используется 5-ступенчатый конвейер для распараллеливания выполнения команд и повышения производительности.

DSP-расширение

Буква ‘E' в названии ядра указывает на наличие специальных инструкций для DSP-обработки. Дополнительные DSP-инструкции включают однотактовые 32х16 МАС, сложение/вычитание с насыщением и операцию вычисления лидирующих нулей. Типичный выигрыш от применения DSP-инструкций на ядрах ARM составляет около 20%, что является неплохим результатом для RISC-микроконтроллера.

Блочный FLASH-интерфейс

Блочный FLASH-интерфейс интегрирован непосредственно с модулем TIM (I-TIM). Здесь же располагается очередь предварительной выборки PFQ (Pre-Fetch Queue) на 8 элементов и кэш переходов BC (Branch Cache) на 15 записей, благодаря которому ядро ARM966E-S работает на частоте 96 МГц напрямую из FLASH. Такая архитектура обеспечивает высокую производительность без необходимости использования дорогостоящей внутренней памяти SRAM для инструкций, кэша инструкций или внешней SDRAM. Отсутствие кэша инструкций фактически означает уменьшение времени реакции на прерывания.

SRAM

32-битная статическая память SRAM располагается на интерфейсе D-TCM (TCM со стороны шины данных) и обеспечивает одноцикловый доступ к данным. D-TCM разделяет доступ к SRAM вместе с шиной AHB (Advanced High-performance Bus) и управляется простой арбитражной логикой, которая также позволяет контроллеру DMA через шину AHB достучаться до SRAM. Предусмотрена возможность сохранения содержимого SRAM при пропадании напряжения питания (линии VDD и VDDQ) и наличии подключенной резервной батареи к линии VBATT.

DMA-контроллер

DMA-каналы, работающие через шину AHB, в полной мере используют специфику гарвардской архитектуры и быстро пересылают данные, практически не влияя на процесс вычитывания инструкций. DMA-контроллер состоит из двух элементов: первый специально предназначен для перемещения данных от интерфейса Ethernet в память SRAM; второй содержит 8 программируемых каналов и 14 сигнальных линий для обслуживания интерфейсов USB, SSP, ADC, UART, Timers, EMI и внешних прерываний. DMA-контроллер поддерживает работу в режиме связанного списка (Linked List), когда пересылка данных для каждого блока описывается отдельной структурой параметров со ссылкой на следующую структуру и так далее. Таким образом, можно осуществлять пересылки блоков данных разной длины и в разные области памяти без участия процессора [3].

FLASH

STR9 содержит два банка FLASH-памяти и предоставляет возможность читать и одновременно с этим записывать или стирать сектора. Память рассчитана на хранение информации не менее 20 лет и не менее 100К циклов перезаписи. Основной банк памяти (макс. 2 Мбайт) намного больше, чем дополнительный (макс. 128 Кбайт). STR9 может загружаться и исполнять код из любого банка, однако наиболее практичным будет использование основного банка для хранения исполняемого кода, а дополнительного - для хранения временных данных. FLASH-память может быть запрограммирована через JTAG ISP-интерфейс, который работает совершенно независимо от ядра. Этим очень удобно пользоваться на этапах программной разработки и производства.

ОТР

В дополнение к двум банкам FLASH-памяти STR9 содержит 32 байта памяти OTP (one-time-programmable), которые могут быть запрограммированы только один раз через JTAG-интерфейс или микропроцессорное ядро. После записи байты уже не могут быть изменены. ОТР-память идеально подходит для хранения серийных номеров, ключей шифрования, фабричных калибровочных констант и т.д. Также предусмотрен защитный бит (lock bit), который запрещает запись в те ячейки OTP-памяти, которые еще не были прописаны.

VIC

Обработка прерываний сделана на основе двух стандартных блоков VIC (Vectored Interrupt Controller - векторный контроллер прерываний). Этот комбинированный модуль VIC имеет 32 приоритизированных канала и генерирует два выходных прерывания FIQ и IRQ на микропроцессорное ядро. Приоритет FIQ выше, чем IRQ.

FIQ - это единственное не векторизованное прерывание, по которому ядро может запускать обработчик прерывания без необходимости определения/приоритизации источника прерывания, минимизируя таким образом задержку обработки. Обычно только один источник прерываний из 32 может быть сопоставлен с FIQ. FIQ-прерывание имеет свой банк регистров для уменьшения времени переключения контекста. Прерывание IRQ - векторизованное, и этот сигнал является логическим «или» всех 32 источников прерывания. Приоритет каждого источника прерывания определяется аппаратно (IRQ-канал 0 имеет наивысший приоритет, а канал 31 - наименьший). Внутри каждого модуля VIC имеется возможность сопоставить каждый источник прерывания с конкретным IRQ-каналом. Таким образом, можно менять приоритеты источников прерывания, которыми могут быть все перефирийные элементы микроконтроллера.

Особенности работы с Ethernet

Современные устройства уже не обходятся без поддержки Ethernet-интерфейса. Важно понимать, какие существуют «подводные камни» и ограничения в STR9 при работе с Ethernet.

Как уже упоминалось, пересылкой IP-пакетов из Ethernet и обратно в STR9 занимается отдельный DMA-канал. Будучи сохраненным в памяти, IP-пакет должен отдаваться в TCP/IP-стек для дальнейшей обработки. Однако тонкость состоит в том, что для эффективной работы с данными процессор должен использовать 32-битный доступ по выравненным адресам. Но, как известно, Ethernet-заголовок IP-пакета имеет длину 14 байт, поэтому все остальные заголовки в пакете будут сдвинуты в памяти на 2 байта относительно выравненного первого байта пакета. А для их корректной обработки нужно либо использовать 16-битный доступ к памяти, либо делать искусственное выравнивание в памяти, что, безусловно, вносит дополнительную нагрузку на ядро. В [2] детально и с примерами описано как правильно обрабатывать IP-пакеты, приходящие с DMA. Показано, что правильное выравнивание данных в памяти позволяет ускорить копирование буферов в 20 раз. Таким образом, при оценке загрузки ядра нужно учитывать подолнительные «накладные расходы» на пересылку IP-пакетов.

Средства разработки для STR9

Ассортимент средств разработки и отладки для микроконтроллеров STMicroelectronics весьма широк. Существует большое количество как коммерческих, так и бесплатных вариантов. Стоит в первую очередь отметить, что доступны следующие бесплатные библиотеки:

Несколько слов об операционной системе (ОС) для STR9. Следует знать, что поскольку STR9 не содержит блока MMU (блок управления памятью), то использовать полноценные ОС, например Linux, невозможно. MMU используется операционной системой для физического разделения адресного пространства потоков и их доступа к памяти. Поэтому можно применять только облегченные варианты операционных систем, которые, по сути, нужны для синхронизации потоков, обмена данными и переключения контекста. Самое важное требование, которому должна удовлетворять ОС - это минимальное время реакции на события и минимальное время переключения контекста потоков. Можно порекомендовать FreeRTOS, которая является проектом с открытым кодом и может быть использована для разработки коммерческих приложений.

Если нужен TCP/IP-стек, то можно порекомендовать бесплатный NicheLite TCP/IP, который поддерживает все основные сетевые протоколы. Взяв за основу этот вариант, в последствии можно докупить опциональные сервера/протоколы или разработать их самостоятельно. NicheLite может работать как под управлением RTOS, так и без нее.

Количество сред разработки поражает своим разнообразием, и новичкам может быть трудно в нем сориентироваться. Если особенных предпочтений нет, то можно порекомендовать «классический» и самый надежный вариант: Linux-машина, GCC-кросс-компилятор, GDB-отладчик и аппаратный JTAG-эмулятор Abatron BDI2000 или аналогичный ему. На машине с ОС Windows GCC/GDB могут быть запущены из под эмулятора Linux-окружения Cygwin. По желанию может быть использована универсальная графическая среда разработки IDE Eclipse или подобная ей.

Стоит отметить что GCC-компилятор генерирует довольно неоптимальный код, и если стоит задача реализации сложного вычислительного алгоритма, особенно с использованием DSP-инструкций, то надо быть готовым к ручной ассемблерной оптимизации кода, иначе производительности ядра может просто не хватить. Ассемблер у всех ядер ARM довольно простой и понятный, так что освоить технологию ручной оптимизации кода под ARM большого труда не составляет. Альтернативой может служить использование других коммерческих компиляторов, например KEIL, которые известны хорошим качеством сгенерированного кода.

 

Литература

1. STR91xFAxxx datasheet, www.st.com

2. AN2367 - Optimized memory copy routine for TCP/IP on the STR91x, http://www.st.com/  

3. AN2442 - Using the STR91xFA DMA controller, http://www.st.com/  

4. Easy-to-use firmware libraries for STR91xFA, um0233.zip, http://www.st.com/  

5. ENET Firmware library, um0248.zip, http://www.st.com/  

6. DSP library, um0304.zip, http://www.st.com/  

7. STR7/STR9 USB developer kit software, um0209.zip, http://www.st.com/.

 

STM. ARM-микроконтроллеры

Получение технической информации, заказ образцов, поставка -
e-mail: mcu.vesti@compel.ru  

Вернуться к содержанию номера







Ваш комментарий к статье
Журнал "Новости Электроники", номер 13, 2008 год. :
Ваше имя:
Отзыв: Разрешено использование тэгов:
<b>жирный текст</b>
<i>курсив</i>
<a href="http://site.ru"> ссылка</a>