Если бы MikaTech была недобросовестной компанией, в интернете было бы множество негативных отзывов за 28 лет истории
Таким образом, ответ — ДА! Мы хорошие люди.Почему стоит выбрать Mikatech, пожалуйста, нажмите здесь, чтобы узнать
Главные цели нашей службы: 1) выполнить работу,
2) ваши платежи в безопасности. Выигрыш для нас обоих.
Atmel Corporation — американский производитель полупроводников, основанный в 1984 году. Компания специализируется на встраиваемых системных решениях на базе флэш-микроконтроллеров. Её продукция включает микроконтроллеры (8-битные AVR, 32-битные AVR, на базе ARM, автомобильного класса и производные 8051), радиочастотные (RF) устройства, включая Wi-Fi, EEPROM и флэш-память, симметричные и асимметричные чипы безопасности, сенсорные контроллеры, а также ряд специализированных продуктов.
Atmel поставляет свои устройства как стандартные изделия, ASIC или ASSP в зависимости от требований заказчиков. Atmel обслуживает широкий спектр приложений, включая потребительскую электронику, связь, компьютерные сети, промышленность, медицину, автомобилестроение, аэрокосмическую и оборонную отрасли. Компания является лидером в области микроконтроллеров и сенсорных систем, особенно для встраиваемых систем, таких как известные наборы разработки Arduino.
Штаб-квартира Atmel находится в Сан-Хосе, Калифорния. Крупные офисы расположены в Тронхейме (Норвегия), Колорадо-Спрингс (Колорадо), Ченнаи (Индия), Шанхае (Китай), Тайбэе (Тайвань), Руссе (Франция), Хайльбронне (Германия), Уайтли (Великобритания) и Мюнхене (Германия), а также в других местах по всему миру. Atmel придерживается стратегии «fab-lite», размещая большую часть своей продукции на сторонних фабриках. Ей принадлежит завод в Колорадо-Спрингс, где производится линия гибких сенсоров XSense.
ATF16V8 – 20-выводные устройства с 8 макроячейками
ATF16V8, ATF16V8B, ATF16V8C
ATF16V8BQ, ATF16V8BQL, ATF16V8CZ
ATF16LV8, ATF16LV8C
ATF20V8 – 24-выводные устройства с 8 макроячейками
ATF20V8, ATF20V8B, ATF20V8C
ATF20V8BQ, ATF20V8BQL
ATF20LV8, ATF20LV8C
ATF22V10 – флагманское SPLD с переменной терминированием
ATF22V10, ATF22V10B, ATF22V10C
ATF22V10CQ, ATF22V10CQZ
ATF22LV10, ATF22LV10C
Высокоплотные расширенные SPLD
ATF28V12, ATF29M16
2. ATF15xx – JTAG ISP-программируемые логические устройства (CPLD)
ATF1500 – CPLD начального уровня с 32 макроячейками
ATF1500A, ATF1500AL
ATF1502 – CPLD средней плотности с 32 макроячейками
ATF1502AS, ATF1502ASL, ATF1502ASV, ATF1502ASVL
ATF1504 – CPLD средней плотности с 64 макроячейками
ATF1504AS, ATF1504ASL, ATF1504ASV, ATF1504ASVL
ATF1508 – CPLD высокой плотности с 128 макроячейками
ATF1508AS, ATF1508ASL, ATF1508ASV, ATF1508ASVL
Старые CPLD средней плотности
ATF750C, ATF750CL, ATF750LVC
ATF2500C, ATF2500CL, ATF2500LVC
3. УФ-стираемые EPLD серии ATV
ATV750, ATV750B
ATV2500, ATV2500B
Atmel AVR
Atmel ATmega8 в 28-выводном узком DIP-корпусе. AVR — это 8-битный RISC-микроконтроллер с модифицированной гарвардской архитектурой, разработанный Atmel в 1996 году. AVR был одним из первых семейств микроконтроллеров, использующих встроенную флэш-память для хранения программ, в отличие от однократно программируемой ROM, EPROM или EEPROM, которые использовались другими микроконтроллерами того времени.
Краткая история. Архитектура AVR была задумана двумя студентами Норвежского технологического института (NTH) — Альфом-Эгилом Бугеном и Вегардом Волланом.
Оригинальный микроконтроллер AVR был разработан в местной ASIC-компании в Тронхейме, Норвегия, называвшейся Nordic VLSI (ныне Nordic Semiconductor), где Буген и Воллан работали студентами. Он был известен как μRISC (Micro RISC) и поставлялся как IP-блок для Nordic VLSI. Когда технология была продана Atmel, внутренняя архитектура была доработана Бугеном и Волланом в Atmel Norway. Разработчики тесно сотрудничали с авторами компиляторов из IAR Systems, чтобы обеспечить эффективную компиляцию языков высокого уровня. Atmel утверждает, что название AVR не является аббревиатурой и ничего конкретного не означает. Однако принято считать, что AVR означает «Alf (Egil Bogen) и Vegard (Wollan)'s RISC processor».
Отметим, что использование термина «AVR» в этой статье в основном относится к 8-битной RISC-линейке микроконтроллеров Atmel AVR.
Одним из первых в линейке AVR был AT90S8515, который в 40-выводном DIP-корпусе имел ту же распиновку, что и микроконтроллер 8051, включая внешнюю мультиплексированную шину адреса и данных. Полярность линии RESET была противоположной (у 8051 активный высокий уровень, а у AVR — активный низкий), но в остальном распиновка была идентичной.
Обзор устройств. AVR — это машина с модифицированной гарвардской архитектурой, где программа и данные хранятся в отдельных физических системах памяти, отображаемых в разных адресных пространствах, но с возможностью чтения данных из программной памяти с помощью специальных инструкций.
Основные семейства AVR обычно делятся на шесть групп:
tinyAVR — серия ATtiny
0,5–16 КБ программной памяти
6–32-выводные корпуса
Ограниченный набор периферии
megaAVR — серия ATmega
4–512 КБ программной памяти
28–100-выводные корпуса
Расширенный набор инструкций (умножение и работа с большими программами)
Широкий набор периферии
XMEGA — серия ATxmega
16–384 КБ программной памяти
44–64–100-выводные корпуса (A4, A3, A1)
Расширенные возможности производительности, такие как DMA, «система событий» и поддержка криптографии.
Широкий набор периферии с АЦП
Специализированные AVR
megaAVR с особыми функциями, отсутствующими у других членов семейства, такими как контроллер ЖКИ, USB, расширенный ШИМ, CAN и т. д.
FPSLIC (AVR с FPGA)
FPGA от 5K до 40K вентилей
SRAM для кода AVR, в отличие от всех других AVR
Ядро AVR может работать до 50 МГц [5]
32-битные AVR
В 2006 году Atmel выпустил микроконтроллеры на базе новой 32-битной архитектуры AVR32. Они включают SIMD и DSP-инструкции, а также другие функции обработки аудио и видео. Это 32-битное семейство предназначено для конкуренции с процессорами на базе ARM. Набор инструкций похож на другие RISC-ядра, но не совместим с оригинальным AVR или ядрами ARM.
Архитектура устройств. Флэш-память, EEPROM и SRAM интегрированы на одном кристалле, что устраняет необходимость во внешней памяти в большинстве приложений. Некоторые устройства имеют внешнюю параллельную шину для добавления дополнительной памяти или подключаемых устройств. Почти все устройства (кроме самых маленьких TinyAVR) имеют последовательные интерфейсы для подключения внешней EEPROM или флэш-памяти.
Программная память. Инструкции программы хранятся в энергонезависимой флэш-памяти. Хотя МК являются 8-битными, каждая инструкция занимает одно или два 16-битных слова.
Размер программной памяти обычно указывается в названии устройства (например, ATmega64x имеет 64 КБ флэш-памяти, а ATmega32x — 32 КБ).
Внешняя программная память не предусмотрена; весь код, выполняемый ядром AVR, должен находиться во встроенной флэш-памяти. Однако это ограничение не относится к чипам AT94 FPSLIC AVR/FPGA.
Внутренняя память данных. Адресное пространство данных состоит из регистрового файла, I/O-регистров и SRAM.
Внутренние регистры.
Atmel ATxmega128A1 в 100-выводном корпусе TQFP. AVR имеют 32 однобайтовых регистра и классифицируются как 8-битные RISC-устройства.
В большинстве вариантов архитектуры AVR рабочие регистры отображаются в первые 32 адреса памяти (000016–001F16), за которыми следуют 64 I/O-регистра (002016–005F16).
Собственно SRAM начинается после этих секций (адрес 006016). (Обратите внимание, что пространство I/O-регистров может быть больше на некоторых более сложных устройствах, в этом случае отображаемые в память I/O-регистры будут занимать часть адресного пространства SRAM.)
Хотя существуют отдельные схемы адресации и оптимизированные коды операций для доступа к регистровому файлу и I/O-регистрам, все они могут быть адресованы и обработаны как часть SRAM.
В варианте XMEGA регистровый файл не отображается в адресное пространство данных, поэтому невозможно обращаться к рабочим регистрам как к SRAM. Вместо этого I/O-регистры отображаются в адресное пространство данных, начиная с самого начала адресного пространства. Кроме того, объем адресного пространства, отведенного под I/O-регистры, значительно вырос до 4096 байт (000016–0FFF16). Однако, как и в предыдущих поколениях, быстрые команды манипуляции I/O могут обращаться только к первым 64 регистрам (первые 32 для побитовых операций). За I/O-регистрами в XMEGA отведен диапазон 4096 байт (100016–1FFF16) для опционального отображения внутренней EEPROM в адресное пространство данных. Собственно SRAM начинается после этих диапазонов с адреса 200016.
EEPROM. Почти все AVR-микроконтроллеры имеют внутреннюю EEPROM для полупостоянного хранения данных. Как и флэш-память, EEPROM сохраняет содержимое при отключении питания.
В большинстве вариантов архитектуры AVR эта EEPROM не отображается в адресное пространство МК. Доступ к ней осуществляется так же, как к внешнему периферийному устройству, с использованием специальных регистров-указателей и команд чтения/записи, что делает доступ к EEPROM гораздо медленнее, чем к внутренней SRAM.
Однако некоторые устройства SecureAVR (AT90SC) используют специальное отображение EEPROM в память данных или программ в зависимости от конфигурации. Семейство XMEGA также позволяет отображать EEPROM в адресное пространство данных.
Поскольку количество записей в EEPROM не бесконечно (Atmel указывает 100 000 циклов в даташитах), правильно написанная процедура записи должна сравнивать содержимое адреса с желаемым и выполнять запись только при необходимости изменения.
Стирание и запись часто могут выполняться отдельно, побайтово, что также может продлить срок службы, когда нужно только установить биты в 1 (стирание) или выборочно сбросить в 0 (запись).
Выполнение программы. AVR Atmel имеют двухступенчатый конвейер. Это означает, что следующая команда выбирается во время выполнения текущей. Большинство команд выполняются за один или два такта, что делает AVR относительно быстрыми среди 8-битных микроконтроллеров.
Процессоры AVR были спроектированы с учетом эффективного выполнения скомпилированного кода C и имеют несколько встроенных указателей для этой задачи.
Набор инструкций. Набор инструкций AVR более ортогонален, чем у большинства 8-битных микроконтроллеров, особенно у клонов 8051 и PIC, с которыми AVR конкурирует сегодня. Однако он не полностью регулярен:
Регистры-указатели X, Y и Z имеют разные адресные возможности.
Регистры R0–R15 имеют разные адресные возможности, чем R16–R31.
Порты ввода-вывода 0–31 имеют разные адресные возможности, чем порты 32–63.
CLR влияет на флаги, а SER — нет, хотя они являются дополнительными инструкциями. CLR устанавливает все биты в 0, а SER — в 1. (Примечание: CLR — псевдооперация для EOR R,R; SER — сокращение для LDI R,$FF. Математические операции, такие как EOR, изменяют флаги, а операции перемещения/загрузки/сохранения/ветвления, такие как LDI, — нет.)
Доступ к данным, хранящимся в программной памяти (флэш), требует специальных инструкций LPM; шина флэш-памяти иначе зарезервирована для памяти инструкций.
Кроме того, некоторые различия между чипами влияют на генерацию кода. Указатели кода (включая адреса возврата в стеке) занимают два байта на чипах с флэш-памятью до 128 КБ, но три байта на более крупных; не все чипы имеют аппаратный умножитель; чипы с флэш-памятью более 8 КБ имеют команды перехода и вызова с большей дальностью и т. д.
Достаточно регулярный набор инструкций делает программирование на C (или даже Ada) довольно простым. GCC уже давно поддерживает AVR, и эта поддержка широко используется. Atmel запрашивала мнение разработчиков компиляторов для малых микроконтроллеров, чтобы определить наиболее полезные для компиляторов особенности набора инструкций.
Скорость МК. Линейка AVR обычно поддерживает тактовые частоты от 0 до 20 МГц, некоторые устройства достигают 32 МГц. Для работы с пониженным энергопотреблением обычно требуется снижение тактовой частоты. Все недавние AVR (Tiny, Mega и Xmega, но не 90S) имеют встроенный генератор, что устраняет необходимость во внешнем кварце или резонаторе. Некоторые AVR также имеют предделитель тактовой частоты, который может делить системную частоту до 1024. Этот предделитель можно перенастраивать программно во время выполнения, что позволяет оптимизировать частоту.
Поскольку все операции (кроме литералов) с регистрами R0–R31 выполняются за один такт, AVR может достигать 1 MIPS на МГц, т.е. 8-МГц процессор может достигать 8 MIPS. Загрузка и сохранение из/в память занимают два такта, ветвления — два такта. Ветвления в новейших устройствах с «3-байтовым PC», таких как ATmega2560, выполняются на один такт медленнее, чем на предыдущих.
Разработка.
Плата разработки Atmel STK500. AVR имеют большое сообщество благодаря бесплатным и недорогим инструментам разработки, включая доступные отладочные платы и бесплатное ПО. AVR продаются под разными названиями, но с одним базовым ядром и различными комбинациями периферии и памяти. Совместимость между чипами в каждом семействе достаточно хорошая, хотя возможности контроллеров ввода-вывода могут различаться.
Смотрите ссылки на сайты, посвященные разработке AVR.
Возможности. Современные AVR предлагают широкий набор функций:
Многофункциональные двунаправленные порты ввода-вывода с настраиваемыми встроенными подтягивающими резисторами
Несколько внутренних генераторов, включая RC-генератор без внешних деталей
Внутренняя самопрограммируемая флэш-память инструкций до 256 КБ (384 КБ на XMega)
Внутрисхемное программирование через последовательный/параллельный интерфейс или JTAG
Опциональный сектор загрузчика с независимыми битами защиты
Поддержка внутрисхемной отладки (OCD) через JTAG или debugWIRE на большинстве устройств
Сигналы JTAG (TMS, TDI, TDO, TCK) мультиплексированы с GPIO. Эти выводы могут быть настроены как JTAG или GPIO в зависимости от установки fuse-бита, который можно программировать через ISP или HVSP. По умолчанию AVR с JTAG имеют включенный интерфейс JTAG.
debugWIRE использует вывод /RESET как двунаправленный канал связи для доступа к внутрисхемной отладочной схеме. Присутствует на устройствах с меньшим числом выводов, так как требует только одного вывода.
Внутренняя EEPROM данных до 4 КБ
Внутренняя SRAM до 16 КБ (32 КБ на XMega)
Внешнее 64-КБ адресное пространство данных с порядком little-endian на некоторых моделях, включая Mega8515 и Mega162.
Внешнее пространство данных накладывается на внутреннее, так что полное адресное пространство 64 КБ не появляется на внешней шине, и доступ, например, к адресу 010016 будет обращаться к внутренней SRAM, а не к внешней шине.
В некоторых членах серии XMEGA внешнее пространство данных расширено для поддержки как SRAM, так и SDRAM. Также расширены режимы адресации данных, позволяя напрямую адресовать до 16 МБ памяти.
AVR обычно не поддерживают выполнение кода из внешней памяти. Некоторые ASSP на базе ядра AVR поддерживают внешнюю программную память.
8- и 16-разрядные таймеры
ШИМ-выход (некоторые устройства имеют расширенный ШИМ-периферийный модуль с генератором мертвого времени)
Захват входа, записывающий временную метку по фронту сигнала
Аналоговый компаратор
10- или 12-разрядные АЦП с мультиплексором до 16 каналов
12-разрядные ЦАП
Различные последовательные интерфейсы, включая
I²C-совместимый двухпроводный интерфейс (TWI)
Синхронные/асинхронные последовательные периферийные устройства (UART/USART) (используются с RS-232, RS-485 и др.)
Интерфейс SPI
Универсальный последовательный интерфейс (USI) для двух- или трехпроводной синхронной передачи данных
Детектор пониженного напряжения
Сторожевой таймер (WDT)
Несколько режимов пониженного энергопотребления
Модели контроллеров для управления освещением и двигателями (специализированный ШИМ)
Поддержка CAN-контроллера
Поддержка USB-контроллера
Полноскоростной (12 Мбит/с) аппаратный хаб с встроенным AVR.
Также доступны бесплатные программные эмуляции низкоскоростного (1.5 Мбит/с) USB HID.
Поддержка Ethernet-контроллера
Поддержка ЖК-контроллера
Низковольтные устройства, работающие от 1.8 В (до 0.7 В для частей со встроенным DC-DC преобразователем)
устройства picoPower
Контроллеры DMA и периферийная связь через «систему событий».
Быстрая поддержка криптографии AES и DES
Интерфейсы программирования. Существует множество способов загрузки кода в AVR-чип. Методы программирования AVR различаются от семейства к семейству.
Arduino Uno
Arduino Nano
Arduino LilyPad
Arduino Mega 2560
Arduino Ethernet
Arduino Due
Arduino Leonardo
Arduino Yún [6-7]
ISP. Метод внутрисхемного программирования (ISP) функционально выполняется через SPI, плюс манипуляции с линией Reset. Пока выводы SPI AVR не подключены к чему-то мешающему, чип можно перепрограммировать, не выпаивая с платы. Все, что нужно — 6-контактный разъем и программатор. Это самый распространенный способ разработки с AVR.
Устройство Atmel AVR ISP mkII подключается к USB-порту компьютера и выполняет внутрисхемное программирование с использованием ПО Atmel.
AVRDUDE (AVR Downloader/UploaDEr) работает в Linux, FreeBSD, Windows и Mac OS X и поддерживает множество аппаратных программаторов, включая Atmel AVR ISP mkII, Atmel JTAG ICE, старые последовательные программаторы Atmel, а также различные сторонние и самодельные программаторы.
Arduino GSM Shield
Arduino Ethernet Shield
Arduino WiFi Shield
Arduino Wireless SD Shield
Arduino USB Host Shield
Arduino Motor Shield
Arduino Wireless Proto Shield
Arduino Proto Shield
PDI. Program and Debug Interface (PDI) — проприетарный интерфейс Atmel для внешнего программирования и внутрисхемной отладки устройств XMEGA. PDI поддерживает высокоскоростное программирование всех энергонезависимых областей памяти (флэш, EEPROM, предохранители, биты защиты и User Signature Row). Это делается через доступ к контроллеру NVM XMEGA через интерфейс PDI и выполнение команд контроллера NVM. PDI — это 2-проводный интерфейс, использующий вывод Reset для тактового входа (PDI_CLK) и выделенный вывод данных (PDI_DATA) для ввода и вывода.
Высоковольтное последовательное программирование (HVSP) — это, в основном, резервный режим на меньших AVR. 8-выводной корпус AVR не оставляет много уникальных комбинаций сигналов для перевода AVR в режим программирования. Однако сигнал 12 В — это то, что AVR должен видеть только во время программирования и никогда при нормальной работе.
Высоковольтное параллельное программирование (HVPP) считается «последним средством» и может быть единственным способом восстановить AVR с неправильными настройками fuse.
Загрузчик. Большинство моделей AVR могут резервировать область загрузчика (256 Б – 4 КБ), где может размещаться код перепрограммирования. При сбросе сначала выполняется загрузчик, который по пользовательской программе определяет, нужно ли перепрограммировать или перейти к основному приложению. Код может перепрограммироваться через любой доступный интерфейс, например, читать зашифрованный двоичный файл через Ethernet-адаптер, как PXE. Atmel имеет примечания и код для многих шинных интерфейсов.
ROM. Серия AT90SC AVR доступна с заводской маскируемой ROM вместо флэш-памяти. Из-за больших первоначальных затрат и минимального заказа маскируемая ROM экономически оправдана только для крупносерийного производства.
aWire — новый однопроводной отладочный интерфейс, доступный на новых устройствах AVR32 UC3L.
Отладочные интерфейсы. AVR предлагает несколько вариантов отладки, в основном с использованием внутрисхемной отладки, пока чип находится в целевой системе.
debugWIRE — решение Atmel для внутрисхемной отладки через один вывод микроконтроллера. Особенно полезно для устройств с малым числом выводов, у которых нет четырех «свободных» выводов для JTAG. JTAGICE mkII, mkIII и AVR Dragon поддерживают debugWIRE. debugWIRE был разработан после выпуска оригинального JTAGICE, и сейчас клоны также поддерживают его.
JTAG. JTAG-интерфейс обеспечивает доступ к внутрисхемной отладке, пока чип работает в целевой системе. JTAG позволяет обращаться к внутренней памяти и регистрам, устанавливать точки останова и выполнять пошаговое выполнение для наблюдения за поведением системы.
Atmel предоставляет серию JTAG-адаптеров для AVR:
1. JTAGICE 3 — новейший член семейства JTAGICE (JTAGICE mkIII). Поддерживает JTAG, aWire, SPI и PDI интерфейсы.
2. JTAGICE mkII заменяет JTAGICE и имеет аналогичную цену. Подключается к ПК через USB, поддерживает JTAG и debugWIRE. После того как Atmel опубликовала протокол связи, появились многочисленные сторонние клоны.
3. AVR Dragon — недорогая (около $50) замена JTAGICE mkII для некоторых целевых устройств. AVR Dragon обеспечивает внутрисхемное последовательное программирование, высоковольтное последовательное и параллельное программирование, а также эмуляцию JTAG или debugWIRE для устройств с программной памятью до 32 КБ. Atmel изменила отладочную функцию AVR Dragon с новыми прошивками AVR Studio 4/5, и теперь он поддерживает устройства с памятью более 32 КБ.
4. JTAGICE адаптер подключается к ПК через стандартный последовательный порт. Хотя он объявлен «снятым с производства», он все еще поддерживается в AVR Studio и других инструментах.
JTAG также может использоваться для выполнения пограничного сканирования (boundary scan), которое проверяет электрические соединения между AVR и другими чипами, поддерживающими boundary scan, в системе. Boundary scan хорошо подходит для производственной линии, в то время как любителю, вероятно, лучше подойдет мультиметр или осциллограф.
Инструменты разработки и оценочные наборы. Официальные инструменты разработки Atmel AVR включают несколько стартовых наборов и отладочных средств с поддержкой большинства AVR-устройств:
STK600 стартовый набор. STK600 — это обновление STK500. Использует базовую плату, плату маршрутизации сигналов и целевую плату.
Базовая плата похожа на STK500: обеспечивает питание, тактовую частоту, внутрисхемное программирование, порт RS-232 и CAN через разъемы DE9, а также штыревые выводы для всех GPIO-сигналов целевого устройства.
Целевые платы имеют ZIF-разъемы для DIP, SOIC, QFN или QFP корпусов.
Плата маршрутизации сигналов находится между базовой и целевой платами и направляет сигналы на соответствующий вывод устройства. Существует множество различных плат маршрутизации, которые могут использоваться с одной целевой платой в зависимости от устройства в ZIF-разъеме.
STK600 позволяет внутрисхемное программирование с ПК через USB, оставляя порт RS-232 доступным для целевого микроконтроллера. На STK600 есть 4-контактный разъем «RS-232 spare», который может подключить любой USART-порт на чипе к встроенному MAX232 для преобразования сигналов до уровней RS-232. Сигналы RS-232 подключаются к выводам RX, TX, CTS и RTS на разъеме DB-9.
STK500 стартовый набор. STK500 поддерживает ISP и высоковольтное программирование для всех AVR-устройств, либо напрямую, либо через платы расширения. Плата оснащена DIP-разъемами для всех AVR в DIP-корпусах.
Модули расширения STK500:
STK501 — добавляет поддержку микроконтроллеров в 64-выводных корпусах TQFP.
STK502 — для AVR с ЖКИ в 64-выводных TQFP.
STK503 — для микроконтроллеров в 100-выводных TQFP.
STK504 — для AVR с ЖКИ в 100-выводных TQFP.
STK505 — для 14- и 20-выводных AVR.
STK520 — для 14, 20 и 32-выводных микроконтроллеров семейства AT90PWM и ATmega.
STK524 — для семейства ATmega32M1/C1 CAN/LIN/Motor Control.
STK525 — для AT90USB в 64-выводных TQFP.
STK526 — для AT90USB в 32-выводных TQFP.
STK200 стартовый набор. STK200 имеет DIP-разъем для AVR в 40, 20 или 8-выводном корпусе. На плате есть тактовый генератор 4 МГц, 8 светодиодов, 8 кнопок, порт RS-232, разъем для 32 КБ SRAM и множество выводов общего назначения. Программирование осуществляется через переходник, подключаемый к параллельному порту.
Поддерживаемые микроконтроллеры (согласно руководству):
AT90S1200: 1КБ флэш, 64 EEPROM, 0 SRAM, 12 МГц, PDIP-20
AT90S2313: 2КБ, 128, 128, 10 МГц, PDIP-20
AT90S/LS2323: 2КБ, 128, 128, 10 МГц, PDIP-8
AT90S/LS2343: 2КБ, 128, 128, 10 МГц, PDIP-8
AT90S4414: 4КБ, 256, 256, 8 МГц, PDIP-40
AT90S/LS4434: 4КБ, 256, 256, 8 МГц, PDIP-40
AT90S8515: 8КБ, 512, 512, 8 МГц, PDIP-40
AT90S/LS8535: 8КБ, 512, 512, 8 МГц, PDIP-40
AVR ISP и AVR ISP mkII. Это недорогие инструменты, позволяющие программировать все AVR через ICSP.
AVR ISP подключается к ПК через последовательный порт и получает питание от целевой системы. Поддерживает 10- или 6-контактный разъемы. Снят с производства, заменен на AVR ISP mkII.
AVR ISP mkII подключается к ПК через USB и питается от USB. Светодиоды, видимые через полупрозрачный корпус, показывают состояние питания цели.
AVR Dragon. Это недорогой инструмент, подключаемый к ПК через USB. Dragon может программировать все AVR через JTAG, HVP, PDI или ICSP. Dragon также позволяет отлаживать все AVR через JTAG, PDI или debugWIRE; ранее ограничение на устройства с программной памятью до 32 КБ было снято в AVR Studio 4.18. На Dragon есть небольшая макетная область, которая может вместить 8, 28 или 40-выводной AVR, с подключением к питанию и выводам программирования. Нет места для дополнительной схемы, но это может быть обеспечено сторонним продуктом «Dragon Rider».
JTAGICE mkI. Отладочный инструмент JTAG ICE поддерживает внутрисхемную отладку AVR с JTAG-интерфейсом. Использует RS-232 для связи с ПК и может программировать только AVR с JTAG. Снят с производства, заменен mkII.
JTAGICE mkII. Поддерживает внутрисхемную отладку AVR с интерфейсами SPI, JTAG, PDI и debugWIRE. debugWIRE позволяет отладку с использованием только одного вывода (Reset), что полезно для маловыводных микроконтроллеров.
JTAGICE mkII подключается через USB, но есть альтернативное подключение через последовательный порт с отдельным питанием. Поддерживает программирование через ISP (6- или 10-контактные адаптеры). USB и последовательный порт используют вариант протокола STK500.
JTAGICE3. Обновляет mkII более продвинутыми возможностями отладки и более быстрым программированием. Подключается через USB, поддерживает JTAG, aWire, SPI и PDI. В комплект входят различные адаптеры.
AVR ONE! Профессиональный инструмент для всех 8- и 32-битных AVR с внутрисхемной отладкой. Поддерживает SPI, JTAG, PDI, aWire программирование и отладку через debugWIRE, JTAG, PDI и aWire.
Демонстрационная плата Butterfly.
Atmel ATmega169 в 64-выводном корпусе MLF на обратной стороне платы AVR Butterfly. Очень популярная плата AVR Butterfly представляет собой автономный компьютер на батарейках на базе ATmega169V. Создана для демонстрации семейства AVR, особенно встроенного ЖК-интерфейса. Плата включает ЖК-дисплей, джойстик, динамик, последовательный порт, часы реального времени (RTC), флэш-память, датчики температуры и напряжения. Ранние версии также содержали CdS-фоторезистор, который был удален после июня 2006 года для соответствия RoHS. На задней стороне есть булавка для ношения в качестве бейджа.
AVR Butterfly поставляется с предустановленным ПО для демонстрации возможностей. Заводская прошивка может прокручивать ваше имя, отображать показания датчиков и время. Также есть пьезоэлектрический преобразователь для воспроизведения звуков и музыки.
Плата демонстрирует управление ЖКИ с помощью 14-сегментного шестисимвольного дисплея. Однако интерфейс ЖКИ занимает много выводов ввода-вывода.
CPU ATmega169 способен работать до 8 МГц, но по умолчанию настроен на 2 МГц для сохранения батареи. Предустановленный загрузчик позволяет перепрограммировать плату через RS-232.
AT90USBKey. Эта небольшая плата, размером примерно с половину визитки, стоит немного дороже AVR Butterfly. Включает AT90USB1287 с поддержкой USB On-The-Go, 16 МБ DataFlash, светодиоды, мини-джойстик и датчик температуры. ПО позволяет ей работать как USB-накопитель (документация поставляется на DataFlash), USB-джойстик и т. д. Для поддержки USB-хоста требуется питание от батареи, но как USB-периферия она питается от USB.
Только порт JTAG использует обычный шаг 2,54 мм. Все остальные порты AVR требуют более компактные разъемы 1,27 мм.
AVR Dragon может программировать и отлаживать после снятия ограничения в 32 КБ в AVR Studio 4.18, а JTAGICE mkII способен и программировать, и отлаживать процессор. Процессор также может программироваться через USB с Windows или Linux с использованием протокола Device Firmware Update. Atmel поставляет примеры программ и стек протоколов USB.
LUFA — сторонняя бесплатная (MIT) библиотека USB для USBKey и других 8-битных USB AVR.
Беспроводной набор Raven. Поддерживает беспроводную разработку с использованием чипов IEEE 802.15.4 Atmel для ZigBee и других стеков. Представляет собой пару более мощных плат, похожих на Butterfly, плюс беспроводной USBKey, по цене около $100. Все платы поддерживают JTAG-разработку.
В комплект входят две платы AVR Raven, каждая с 2.4 ГГц приемопередатчиком IEEE 802.15.4 и стеком ZigBee. Радиоуправление осуществляется с ATmega1284p, которые управляют сегментным ЖК-дисплеем через ATmega3290p. Периферия Raven похожа на Butterfly: пьезодинамик, DataFlash (больше), внешняя EEPROM, датчики, кварц 32 кГц для RTC и т. д. Предназначены для разработки удаленных сенсорных узлов.
USB-ключ использует AT90USB1287 для связи с USB-хостом и беспроводными каналами. Предназначен для мониторинга и управления удаленными узлами, питается от USB.
Сторонние программаторы. Существует множество сторонних инструментов программирования и отладки для AVR, использующих RS-232, параллельный порт и USB. Полный список на AVR Freaks.
Применение Atmel AVR.
Atmel AVR Atmega328 в 28-выводном DIP на плате Arduino Duemilanove. AVR используются в автомобильных приложениях: безопасность, охрана, силовые агрегаты и развлекательные системы. Atmel выпустила публикацию «Atmel Automotive Compilation» для помощи разработчикам автомобильных приложений. Примеры использования: BMW, Daimler-Chrysler и TRW.
Платформа Arduino основана на ATmega328 (ранее ATmega168 или ATmega8). ATmega1280 и ATmega2560 используются в Arduino Mega. Платы Arduino могут использоваться с их языком и IDE, либо с более обычными средами (C, ассемблер и т.д.).
AVR с USB использовались в контроллерах Microsoft Xbox.
Множество компаний производят AVR-платы для хобби, робототехники, экспериментов и разработчиков, включая Cubloc, gnusb, BasicX, Oak Micros, ZX Microcontrollers, myAVR. Также существует большое сообщество совместимых с Arduino плат.
Schneider Electric производит чип управления двигателем M3000, включающий ядро AVR и продвинутый контроллер движения.
Клоны на FPGA. С ростом популярности FPGA сообщество разрабатывает открытые процессоры, совместимые с AVR. На OpenCores перечислены следующие основные проекты клонов AVR:
pAVR, написанный на VHDL, нацелен на создание самого быстрого и полнофункционального процессора AVR с более глубоким конвейером.
avr_core, написанный на VHDL, клон, максимально близкий к ATmega103.
Navré, написанный на Verilog, реализует все инструкции Classic Core, нацелен на высокую производительность и низкое использование ресурсов. Не поддерживает прерывания.
Почему стоит выбрать Mikatech, пожалуйста, нажмите здесь, чтобы узнать
У разных производителей разные номера деталей, но внутреннее ядро может быть изготовлено по одной технологии. Невозможно перечислить все номера, где применима наша технология, такие как MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.
С развитием технологий мы ежедневно получаем новый опыт и разрабатываем методы для обратной разработки различных интегральных схем. Полный список деталей, с которыми мы работаем, постоянно растет, пожалуйста, свяжитесь с нами для уточнения.
Mikatech Innovative Limited понимает важность конфиденциальности клиентов. В момент обращения к нам ваша личная информация защищается нашими правилами управления, разработанными за годы практики. Mikatech использует эту информацию для настройки услуг под вас и никогда не передает третьим лицам по какой-либо причине.
По каждому проекту мы удаляем все данные, материалы и коды через 60 дней после передачи файлов, это защищает нас и вашу конфиденциальность.
Да, это абсолютно законно.
Mikatech предоставляет услуги обратной разработки исключительно в образовательных целях. Использование вышеуказанных услуг может быть незаконным в некоторых странах или регионах, проверьте местное законодательство.
Mikatech не несет ответственности за использование услуг, которое может быть признано незаконным.
Инвазивная декапсуляция для восстановления кода и ключей заблокированных промышленных МК. Среди всех существующих методов атак на безопасность МК декапсуляция и восстановление кода остаются наиболее надежными и полностью эффективными способами обхода постоянно установленных битов защиты на промышленных встраиваемых микроконтроллерах. Промышленные МК, используемые в производственном оборудовании, системах управления технологическими процессами и интеллектуальных сетях, реализуют высший уровень защиты OTP, который не может быть изменен, сброшен или обойден чисто программными методами. Эти устройства соответствуют стандартам IEC 62443, которые требуют необратимой блокировки отладки и изолированных защищенных доменов памяти по умолчанию. Когда программные и полуинвазивные атаки не могут обойти жесткие барьеры защиты, исследователи безопасности и злоумышленники вынуждены прибегать к физической инвазивной обработке через декапсуляцию. Процесс декапсуляции начинается с точной подготовки устройства для изоляции целевого МК от печатной платы. Техники выпаивают микроконтроллер с использованием терморегулируемых станций, чтобы избежать теплового повреждения кристалла и внутренних проводов. Неправильная пайка вызывает тепловой стресс, который может привести к трещинам кристалла, повреждению ячеек OTP или разрушению массивов EEPROM до начала анализа. После удаления с платы МК проходит визуальный осмотр под металлографическим микроскопом для определения толщины корпуса, типа эпоксидной смолы и положения кристалла внутри полости. Этот осмотр определяет оптимальный химический реагент и время воздействия для контролируемого удаления материала. Основной метод декапсуляции для стандартных эпоксидных корпусов — мокрое химическое травление с использованием концентрированной азотной или серной кислоты. Эти химикаты растворяют эпоксидный компаунд, не повреждая пассивирующий слой на поверхности кремния. Техники погружают МК в нагретые химические растворы на калиброванное время, удаляя слои упаковки постепенно, чтобы избежать перетравливания. После химического травления поверхность кристалла, алюминиевые провода и периферийные схемы становятся полностью видимыми под микроскопом. Для высокозащищенных МК с керамическими герметичными корпусами вместо химии используется сухая лазерная абляция, которая испаряет керамику слой за слоем без теплопередачи на кристалл. Это критично для военных и аэрокосмических МК, где тепловое воздействие повредило бы ячейки памяти и OTP. После полной декапсуляции кристалл очищается растворителями для удаления остатков. Финальный микроскопический сканирование дает карту физической компоновки критических цепей: логических вентилей защиты, шин контроллера памяти, периферии EEPROM и модулей изоляции криптопамяти. Имея прямой доступ к цепям кристалла, исследователи могут подключать нанозонды к внутренним шинным узлам, расположенным после логики блокировки, обходя аппаратные ограничения доступа. Это позволяет полностью считывать содержимое регистров ядра EEPROM, скрытых конфигурационных разделов и данных состояния, которые наглухо заблокированы для внешних отладочных интерфейсов. Регистры управления EEPROM содержат заводские калибровки, температурные компенсации и таблицы прав доступа. Извлечение этих регистров позволяет восстановить недокументированные правила доступа. После этого выполняются систематические последовательности для полного дампа флэш и EEPROM всех энергонезависимых банков памяти. Дамп флэш-памяти содержит всю прошивку промышленного управления, а дамп EEPROM — журналы операций, уникальные идентификаторы и записи о взломах за годы работы. Эти дампы формируют полную базу для глубокой обратной разработки. Инженеры используют физическую карту кристалла и дампы для восстановления недокументированных наборов инструкций, скрытых модулей и проприетарных протоколов. Наиболее ценной целью является доступ к криптопамяти — изолированному разделу, хранящему промышленные корневые ключи и хэши проверки безопасности. В отличие от пользовательской памяти, криптопамять не имеет внешних шинных соединений и доступна только через прямое зондирование схем контроллера безопасности. Успешное копирование этих данных позволяет расшифровывать обновления прошивки, подделывать сертификаты безопасности и клонировать узлы управления. Это создает серьезные риски для критической инфраструктуры. Полный инвазивный процесс остается золотым стандартом для извлечения прошивок из промышленных МК с необратимой OTP-защитой. Ни один неинвазивный метод не может сравниться по надежности. Для противодействия производители интегрируют датчики вскрытия, которые при обнаружении воздействия стирают криптопамять. Датчики контролируют емкость, свет и механическое напряжение. При срабатывании контроллер немедленно затирает криптопамять случайным шумом, делая извлечение ключей невозможным. Эта многоуровневая физическая защита дополняет традиционные биты защиты, поднимая стоимость и сложность атак за пределы возможностей большинства негосударственных субъектов.