43697

Внутрисхемное программирование

Дипломная

Информатика, кибернетика и программирование

Программатор, использующий интерфейс SPI, необходимо подключить к объекту, используя как можно меньшее количество проводов. Для подключения программатора микроконтроллеров AVR непосредственно к печатной плате используется шестипроводной интерфейс.

Русский

2013-11-06

288.79 KB

19 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Иностранные языки»

ДИПЛОМНАЯ РАБОТА

на тему:

«Внутрисхемное программирование»

Выполнил:

студент 3 курса

Пушкарев А.С.

Руководитель:

доц. кафедры

«Иностранные языки»

Воронцова Ю.А.

Брянск 2012

ОГЛАВЛЕНИЕ

1.    Внутрисхемное программирование 3

1.1.1  Внутрисхемный программатор AVR910 5

1.1.2.  Введение 5

1.2 Интерфейс программирования 6

1.3 Реализация аппаратных средств 7

     1.4 Протокол программирования………………………………… 11

1.5. Формат команд 12

2. Технология COOLMOS™ …………………………………………………. ..20

2.1. Введение………………………………………………………………20

2.2. Принцип работы устройства……………….…………………….….21

3.1   Продукция компании Infineon Technologies…………………………… 26

         3.2. Продукция компании AD ELECTRONICS PVT. LTD……………..27

Ссылки………………………………………………………………………..…..30

Приложения 31

  1.  Внутрисхемное программирование.

Внутрисхемное программирование (ISP) - способ, при котором программа вносится в прибор после его установки на монтажную плату. Ранее чип необходимо было извлечь из платы и поместить в программатор, современные же микроконтроллеры и микросхемы памяти можно перепрограммировать, не отсоединяя от целевого устройства.  Внутрисхемное программирование исключает дополнительный этап, требуемый в процессе производства – отдельное программирование устройства внешним программатором до помещения его на монтажную плату. Отсутствие данного этапа уменьшает вероятность повреждения выводов у микросхем для поверхностного монтажа с большим количеством хрупких ножек или повреждения приборов электростатическим разрядом. В дополнение ISP позволяет использовать автоматическое тестовое оборудование для отладки операций программирования  совместимых устройств, а также внедрения этих операций в серийное промышленное производство. Это может позволить производителям программировать микросхемы в производственной линии собственной системы вместо покупки заранее запрограммированных чипов у другого дистрибьютора или производителя, следовательно,  облегчая внесение изменений в код или проект в ходе процесса производства. Обычно,  чипы со встроенным интерфейсом ISP имеют внутреннюю цепь для преобразования напряжения питания схемы в необходимое для программирования  напряжение и обеспечение совместимости с программатором, использующим серийный протокол. Большинство программируемых логических устройств используют  протокол JTAG IEEE 1149.1a-1993 – стандартный для использования с внутрисхемным программированием –  чтобы обеспечить более легкую интеграцию в процедуры автоматического тестирования. В некоторых устройствах используются совместимые протоколы или протоколы, определенные ранними стандартами. В системах, достаточно сложных чтобы требовать наличие связующей логики, разработчики могут реализовать JTAG-совместимые подсистемы для несовместимых устройств, таких как микросхемы ПЗУ и микроконтроллеры. Это позволяет выполнить все операции программирования и тестирования с использованием одного протокола. Например, это ISP-совместимая линейка микроконтроллеров AVR – серия ATmega. Внутрисхемное программирование сложнее, чем отдельное программирование. Допустимо использовать программатор, не предназначенный для внутрисхемного программирования, в случае если разработчик соответствующим образом его доработает. Иными словами, полностью изолировать объект и устройство в процессе программирования. ISP устраняет и ограничения, связанные с традиционным отдельным программированием. Преимуществом ISP  является то, что оно удешевляет процесс программирования. Он становится независимым от производства внешних программаторов и обновления системных прошивок. Следовательно – снижаются производственные задержки. Снижение цены устройств, совместимых с  ISP стало причиной взрыва их популярности в течение последних нескольких лет. Однако широкий спектр устройств и способов программирования требует от пользователя приобретать и использовать различные типы внутрисхемных программаторов, различных для каждого производителя микросхем.  В результате чего, конструкторы должны изучать новые приложения и алгоритмы для программирования различных устройств, что, в свою очередь, является причиной неэффективного использования инженерных ресурсов. Для снижения трудозатрат и стоимости процесса внутрисхемного программирования, конструкторы могут выгодно приобретать средства разработки напрямую у производителя микросхем. Как правило, это приложения со встроенным программным обеспечением. Это позволит ускорить процесс производства и включить этап программирования и тестирования в одну производственную фазу вместо ее разделения на предварительное программирование и последующую сборку. В последнее время многие производители микросхем, такие как Atmel, Microchip и Xilinx выпускают дешевые ISP-совместимые решения, включающие средства разработки.

Внутрисхемный программатор AVR-910

  1.  Особенности

- Законченное ISP решение для микроконтроллеров типа AVR

- Поддерживает все совместимые микроконтроллеры

- Позволяет перепрограммировать как ППЗУ, так и ЭСППЗУ

- Законченная схема дешевого программатора

- Простой трехпроводной SPI интерфейс программирования

  1.  Введение

SPI позволяет запрограммировать и перепрограммировать любой микроконтроллер семейства AVR, встроенный в серверную систему. Используя простой трехпроводной интерфейс, внутрисхемный  программатор связывается с микроконтроллером, программируя все энергонезависимые участки памяти микросхемы. Внутрисхемное программирование не требует физического отключение чипа от системы. Это сохранит время и деньги как во время разработки в лаборатории, так и на испытаниях в полевых условиях. Данное пособие показывает, как разработать систему, поддерживающую SPI. Также позволяет сконструировать дешевый внутрисхемный программатор, который позволит запрограммировать необходимый AVR микроконтроллер при помощи любого персонального компьютера, имеющего серийный COM-порт. Кроме того, программатор может быть встроен в систему, которая позволит перепрограммировать его самого.

  1.  Интерфейс программирования

Программатор, использующий интерфейс SPI, необходимо подключить к объекту, используя как можно меньшее количество проводов. Для подключения программатора микроконтроллеров AVR непосредственно к печатной плате используется шестипроводной интерфейс. Необходимые подключения изображены на рис.1 Последовательный интерфейс периферийных устройств (SPI) включает в себя три провода: тактовый сигнал (SCK), вход ведущего – выход ведомого (MISO), и выход ведущего – вход ведомого (MOSI). При программировании AVR программатор всегда выступает в роли ведущего, а программируемая система – как ведомый. Программатор (ведущий) обеспечивает тактирование по линии SCK. Каждый импульс по линии SCK разрешает передачу одного бита информации от программатора (ведущего) к программируемой микросхеме (ведомой) по линии MOSI. Одновременно этот импульс обеспечивает передачу импульса от схемы в программатор по линии MISO.

Рис 1. Шестипроводное соединение между программатором и микроконтроллером

Для того чтобы обеспечить надлежащую связь по трем линиям последовательного программирования, необходимо соединить нулевой провод программатора  и программируемого устройства. (GND) Чтобы облегчить задачу программирования и позволить программатору автоматически контролировать сброс и загрузку программируемой микросхемы, используется четвертая линия управления – линия сброса (Reset).

Для поддержания работы и входа в режим последовательного программирования, на линии сброса микроконтроллера AVR необходимо поддерживать уровень логического нуля. При выполнении команды стирания чипа, по линии сброса должны подаваться импульсы, пока процесс стирания не закончится. Для удобства программирования микросхем с широким диапазоном питающих напряжений  (2.7 – 6.0 В),  линия питания программатора  (VCC)  может подключаться напрямую к программируемой схеме. Это устраняет потребность в отдельном источнике питания для программатора  при питании его от схемы или, напротив, в источнике питания схемы на этапе программирования при ее подключении к линии VCC. Разъем подключения программатора к схеме изображен на рис. 2

Рис 2. Рекомендуемый разъем интерфейса SPI

  1.  Реализация аппаратных средств

Для внутрисхемного программирования микроконтроллеров AVR, программатору необходимо переопределять назначение выводов микросхемы в ходе работы. Данный раздел описывает особенности каждого контакта, необходимого для  операции программирования.

«Земля», нулевой провод (GND) –  ISP программатор и целевая схема должны работать под одним эталонным напряжением. Для этого выводы земли программатора и схемы  соединяются. Никаких других функциональных особенностей данный контакт не несет.

Сброс (RESET) – Микроконтроллер семейства AVR  входит в режим последовательного программирования только при наличии на линии сброса логического нуля. При операции стирания чипа, линия сброса последовательно переключается с момента начала и до конца цикла. Для упрощения этой операции рекомендуется, чтобы состояние данного вывода микросхемы управлялось программатором. В момент установки линии сброса в активное состояние, внутрисхемный программатор начинает передавать информацию по трем отмеченным ранее линиям: SCK, MISO и MOSI.

При работе с внешней цепью, для предотвращения конфликтов в управлении, необходимо в каждую SPI-линию включить резистор. Схема включения представлена на рис. 3. Номиналы резисторов выбираются в зависимости от схемы, подключенной к шине SPI. Следует заметить, что микроконтроллер AVR автоматически устанавливает все порты входа/выхода на вход и отключает «подтягивающие» резисторы, когда активна линия сброса.

Таблица 1.  Соединения, необходимые для интерфейса SPI

Вывод

Обозначение

Комментарий

SCK

Линия тактирования

Тактирование  генерируется программатором

MOSI

Выход ведущего – вход ведомого

Линия связи от программатора (ведущего) к микроконтроллеру (ведомому)

MISO

Вход ведущего – выход ведомого

Линия связи от микроконтроллера(ведомого) к программатору (ведущему)

GND

Земля

Объединяет две системы при программировании

RESET

Сброс

Для входа в режим программирования, линия сброса должна быть активна. Для упрощения, программатор контролирует сброс микроконтроллера.

Vcc

Питание

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

Рис. 3 Соединение программатора и микроконтроллера по шине ISP

Чтобы избежать ошибок, ISP программатор должен поддерживать состояние линии сброса на всем этапе цикла программирования. Для программируемой схемы недопустимо оперировать линиями SPI, пока активна линия сброса.

Линия тактирования (SCK) – пока микроконтроллер программируется в последовательном режиме,  программатор передает по данной линии всю информацию о тактировании. Вывод SCK всегда управляется программатором и для ведомой схемы работа с ним недопустима, пока активен RESET. В момент активации, вывод SCK управляется логическим нулем программатора. В течение первой фазы цикла программирования, снятие пульсаций с линии тактирования критично, так как возможна потеря синхронизации микроконтроллера и программатора. При наличии синхронизации, второй байт ($53)  команды начала программирования возвращается при подаче третьего байта. Если байт $53 не вернулся, на линии сброса появляется положительный импульс, который заново вызывает команду начала программирования. Следует заметить, что перед передачей данных, необходимо отправить четыре байта команды начала программирования. Микроконтроллер AVR по умолчанию устанавливает вывод тактирования как вход в момент активности линии сброса. Минимальный и максимальный периоды тактирования размещены в программных разделах документации на микросхемы. Для микроконтроллера AT90S1200 минимум 1 и максимум – 4 периода тактирования.

Выход ведущего – вход ведомого (MOSI) – по этой линии в  режиме последовательного программирования  ISP программатор передает данные схеме. Вывод MOSI так же, как и SCK управляется исключительно программатором. Программируемый микроконтроллер по умолчанию устанавливает данный вывод входом при активной линии сброса.

Вход ведущего – выход ведомого (MISO)  В момент, когда линия сброса микроконтроллера AVR активна, вывод MISO используется как вход. Как выход MISO устанавливается только после корректной передачи микроконтроллеру команды начала программирования. Программатору необходимо поддерживать логический уровень линии MISO пока она не начнет управляться микроконтроллером.

Вывод питания (VCC) При работе, параметры выходов программатора должны лежать в диапазоне определяемом характеристиками по постоянному току. Чтобы адаптироваться к широкому диапазону напряжений, программатор может питаться от программируемой схемы. Допустимо, чтобы программатор потреблял от схемы небольшой ток, обычно не более 20мА. Программатор, описываемый далее работает в данном режиме.

Таблица 2. Рекомендации при проектировании SPI-совместимого аппаратного обеспечения

Вывод

Рекомендация

Земля

Соединить нулевой вывод микроконтроллера и программатора

Сброс

Обеспечить программатору управление сбросом микроконтроллера

Тактирование

Линия тактирования должна управляться программатором пока активна линия сброса микроконтроллера. Пульсаций в линии тактирования при активной линии сброса критичны, так как возможна потеря синхронизации микроконтроллера и программатора. При программировании импульсы должны идти при активной линии сброса.

Линия связи от программатора (ведущего) к микроконтроллеру (ведомому)

В момент активации сброса, линия управляется логическим нулем программатора. При программировании импульсы должны идти при активной линии сброса.

Линия связи от микроконтроллера (ведомого) к программатору (ведущему)

Данная линия должна быть настроенной на выход при активной линии сброса. При программировании импульсы должны идти при наличии высокого логического уровня на линии сброса.

Питание

Позволяет программатору  питаться от программируемой схемы  для обеспечения программирования микроконтроллера в данном диапазоне напряжений. Максимальный ток, необходимый при этом зависит от типа программатора.

  1.  Протокол программирования

 Сразу после активации линии сброса микроконтроллера AVR чип может перейти в режим программирования. В этот момент внутренний интерфейс последовательного программирования активирован и способен принимать команды программатора. Для микроконтроллера AT90S1200 очень важно наличие постоянного логического уровня на выводе тактирования, так как даже единичный фронт может стать причиной потери синхронизации с программатором. Для других устройств использование алгоритма синхронизации описано в технической документации. После установления низкого логического уровня на линии сброса необходима задержка минимум 20 мс перед подачей первой команды.

  1.  Формат команд  

Все команды имеют одинаковый формат и состоят из 4 байт. Первый байт включает код команды, выбор операции и целевую память. Второй и третий байты содержат адрес выбранной области памяти. Четвертый байт включает в себя данные, идущие в любом направлении. Данные, возвращающиеся от программируемой схемы, обычно, содержатся в предыдущим байте. В таблице 3 показан пример двух последовательных команд микроконтроллеру. Следует обратить внимание, что принятый байт эквивалентен отправленному.

Некоторые команды возвращают один байт памяти микроконтроллера. Он обычно возвращается последним (байт 4). Данные всегда идут по линиям MOSI и MISO, причем первым идет бит высшего разряда. Детали процесса можно увидеть в разделе «Последовательное программирование» технической документации.

Разрешение доступа к памяти

Когда линия сброса активна, единственная команда, принимаемая интерфейсом SPI -  переход в режим программирования. Только данная команда разрешает доступ к ППЗУ и ЭСППЗУ. Без активации данного доступа остальные команды будут проигнорированы. Таблица три показывает пример активации доступа к памяти первой командой, отправленной программируемой микросхеме.

Таблица 3.  Пример команды доступа к памяти и стирания чипа

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Разрешить программирование

$AC 53 xx yy

$zz AC 53 xx

Прочитать биты подписи $1E по адресу $00

$30 nn 00 mm

$yy 30 nn 1E

После подачи команды перехода в режим программирования доступ к энергонезависимой памяти разрешается в соответствии с текущими установками битов защиты. Чтобы проверить, принята ли команда микроконтроллером, необходимо прочитать код устройства. Код устройства иногда называют битами подписи.

Биты подписи

После успешного прочтения интерфейсом SPI команды перехода в режим программирования, программатор поставщика чипа (компания Atmel), семейство (AVR), размер ППЗУ в килобайтах и название чипа. Формат команды чтения кода устройства описывается в разделе «Последовательное программирование» технической документации. В качестве примера, для микроконтроллера AT90S1200 эта команда выглядит так: [$30, $XX, $adr, $code]. Доступные адреса $00, $01 и $02. В таблице 4 показан ответ микроконтроллера на команду. Таблица 5 показывает, что иногда код устройства представлен в виде $FF. В этом случае биты подписи не были запрограммированы в устройство. Данный случай не является ошибкой и должен быть определен программатором. Код устройства также может быть $FF если микроконтроллер не готов к работе или присутствует постоянный высокий логический уровень на линии MISO. Случай, если микроконтроллер сообщает код поставщика $00, код семейства $01 и название чипа $02 означает, что установлены все биты защиты. Это запрещает доступ к памяти микроконтроллера и значением полученного байта будет байт с соответствующим адресом отправленный программатором. Чтобы стереть биты защиты необходимо выполнить операцию «Стереть чип». В таблице 6 представлен пример чтения битов подписи микроконтроллера AT90S1200.

Таблица 4.  Возможные коды устройств

Адрес

Код

Доступные коды

$00

Код поставщика

$1E – производитель Atmel

$00 – устройство заблокировано

$01

Название семейства и объем флэш

$9n -  семейство AVR c 2n кб памяти

$02

Название чипа

Название чипа. Поддерживаемые устройства в файле avr910.asm

Таблица 5. Примеры идентификации названия чипов

Семейство и объем флэш-памяти

Обозначение чипа

Чип

$90

$01

AT90S1200

$91

$01

AT90S2313

$92

$01

AT90S4414

$93

$01

AT90S8515

$FF

$FF

Код чипа стерт

$01

$02

Чип защищен от чтения

Таблица 6 . Пример чтения кода микроконтроллера AT90S1200, ожидается $1E 90 01

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Чтение кода поставщика, адрес $00

$30 xx 00 yy

zz 30 xx 1E

Чтение семейства и объема флэш-памяти, адрес $01

$30 nn 01 mm

yy 30 nn 90

Чтение обозначения чипа, адрес $02

$30 xx 02 yy

mm 30 xx 01

Доступ к программируемой ПЗУ (флэш-памяти)

Доступ к флэш-памяти возможен после этапа идентификации. Перед программированием необходимо выполнить операцию стирания чипа. В зависимости от типа программируемой микросхемы флэш-память программируется побайтно или постранично. Для устройств с побайтным программированием каждая ячейка заполняется и программируется отдельно. В режиме постраничного программирования сначала заполняется страница в буфере обмена, которая затем программируется одним циклом записи. Этот режим позволяет сэкономить общее время программирования флэш-памяти. Микросхемы могут поддерживать только один из данных режимов программирования.  Устройства, работающие с побайтным программированием, не поддерживают постраничный режим, однако, в устройствах, совместимых с последним, ЭСППЗУ можно программировать побайтно. Независимо от режима программирования, чтение флэш-памяти  происходит по одному байту за цикл по команде «Прочитать программируемую флэш-память»  Команда посылает адрес памяти ($aabb), чтобы выбрать 16-битное слово и выбирает младший или старший байт с битом H в командном разряде (0 младший, 1, старший байт). Байт, имеющий данный адрес, затем отправляется в программируемый микроконтроллер четвертым. Обычно, одно 16-битное слово содержит в себе одну команду. Если предположить, что адрес команды “add r16,r17” $104, то код операции этой команды будет храниться как $0F01. То есть при последовательном чтении $104 ожидаемый результат вернется в четвертом байте как $0F в старшем разряде и $01 – в младшем. Данные линий MISO и MOSI  представлены в таблице 7. Запись во флэш-память, напротив, отличается в зависимости от режима программирования. Для устройств, поддерживающих побайтное программирование, запись осуществляется по команде «Записать программируемую флэш-память». Алгоритм записи таких устройств аналогичен алгоритму чтения. Для устройств с постраничным программированием операция записи флэш-памяти осуществляется в два этапа. Сначала заполняется буфер обмена при помощи команды «Загрузить участок программируемой памяти» Каждый байт в этом буфере имеет независимый доступ. После заполнения буфера, он может быть записан во флэш-память контроллера командой «Записать участок программируемой памяти». В некоторых устройствах нет способа отследить окончание процесса флэш-программирования.

По этой причине, данный программатор осуществляет задержку в N мс перед попыткой передать следующую команду SPI  (задержка зависит от программируемой микросхемы и уточняется в технической документации). Для некоторых устройств допустимо использовать режим запроса. Когда байт программируется во флэш-память или ЭСППЗУ, чтение адреса расположения даст значение М (часто $FF). В момент, когда устройство готово к записи нового байта, записанное значение будет корректно считываться. Это может быть использовано для определения готовности микроконтроллера к записи последующего байта.

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

Таблица 7 . Пример чтения операции “add r16,r17” как $0F01 из адреса флэш-памяти $104

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Чтение $01, адрес $104, младший байт

$20 01 04 xx

$zz 20 01 01

Чтение $0F, адрес $104, старший байт

$28 01 04 yy

$xx 28 01 0F

Таблица 8. Пример записи операции “add r17,r18” как $0F02 по адресу флэш-памяти $10С (режим побайтного программирования)

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Запись $12, адрес $10С, младший байт

$60 01 0C 12

$zz 60 01 0C

Ожидание N мс

Запись $0F, адрес $10С, старший байт

$68 01 0C 0F

$xx 68 01 0C

Ожидание N мс

Доступ к ЭСППЗУ

ЭСППЗУ может быть побайтно прочитано при помощи команды «Прочитать электрически-стираемое программируемое постоянное запоминающее устройство» Данная команда посылает адрес ($aabb) чтобы выбрать байт в массиве ЭСППЗУ.

Таблица 9. Пример чтение $ab из ячейки памяти ЭСППЗУ с адресом $3F

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Чтение $ab, адрес $3F

$A0 00 3F xx

$zz A0 00 AB

ЭСППЗУ записывается также побайтно командой «Записать ЭСППЗУ». Эта команда выбирает байт для записи аналогично команде чтения и отправляет данные записи в микроконтроллер последним байтом.

Для некоторых устройств также не существует метода отслеживания окончания процесса записи. Процедура задержки записи и режим запроса в этом случае используются аналогично работе с флэш-памятью. Пример записи в ЭСППЗУ показан в таблице 10.

Таблица 10. Пример записи $0F в ячейку ЭСППЗУ с адресом $11

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Запись $0F, адрес $11

$C0 00 11 0F

$zz C0 00 11

Ожидание N мс

Доступ к битам защиты

Биты защиты используются для предотвращения случайной перезаписи памяти, несанкционированного чтения и защиты содержимого памяти в целом. Как показано в таблице 11, память может быть защищена только от дальнейшей записи или же можно одновременно отключить чтение и запись чипа. В некоторых устройствах невозможно прочитать биты защиты, пока их установка не проверена программатором. В этих устройствах, для проверки правильности установки битов защиты необходимо менять расположение адресов в ЭСППЗУ. Когда установлен бит защиты 1, адреса не изменяются. Когда установлены биты 1 и 2, адрес нельзя прочитать и младшим вернувшимся байтом будет адрес, прошедший в команде. Установка второго бита отдельно не имеет защитного эффекта. Пока чип не защищен от чтения, он должен быть защищен от записи. Биты защиты в этом случае запрещают программному интерфейсу изменение записанных данных, но ядро может прочитать флэш-память и ЭСППЗУ в обычном режиме, независимо от битов защиты.

Таблица 11. Способы установки битов защиты

Бит защиты 1

Бит защиты 2

Тип защиты

1

1

Защита отсутствует

0

1

Запись во флэш-память и ЭСППЗУ запрещена

0

0

Чтение и запись флэш-памяти и ЭСППЗУ запрещена

Единственным способом возобновить доступ к памяти после установки битов защиты является стирание чипа целиком командой «Стереть чип». Биты будут установлены в единицу, а защита отключена только после успешного стирания всех ячеек памяти. После стирания чипа, биты защиты принимают значение 1, а это значит, что бит не установлен. Хотя операция включения защиты подразумевает «установку» битов защиты, именно нулевое значение означает включение защиты.

Таблица 12. Пример установки бита защиты 1 для отключения возможности повторного программирования  микроконтроллера

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Установка бита защиты 1, отключение программирования

$AC FD xx yy

$zz AC FD xx

Ожидание N мс

Операция стирания чипа

Перед каждой новой записью флэш-памяти, старое содержимое должно быть очищено. Без стирания возможно только записать нули во все ячейки флэш-памяти. Операция стирания памяти выполняется командой «Стереть чип». Данная команда очищает содержимое как флэш-памяти, так и ЭСППЗУ. Только после этого стираются биты защиты. Этот метод гарантирует сохранность данных в памяти до их стирания. После выполнения операции очистки чипа содержимое ячеек памяти читается как $FF. Единственным способом остановить операцию стирания – временно отключить линию сброса.

Таблица 13. Пример команды стирания содержимого флэш-памяти и ЭСППЗУ

Действие

Линия MOSI,  отправка команды микроконтроллеру

Линия MISO, прием данных от микроконтроллера

Стирание чипа

$AC 8x yy nn

$zz AC 8x yy

Ожидание N мс

Отключение линии сброса для завершения операции стирания

  1.  Технология COOLMOS™ – новый этап в развитии мощных высоковольтных МДП-транзисторов.

2.1 Введение

Недавно была запущена в производство новая технология изготовления мощных высоковольтных полевых транзисторов – COOLMOS™. Обновленная компоновка устройства, основанная на компенсации заряда, позволяет снизить сопротивление ключа в открытом состоянии. Например, для транзисторов, рассчитанных на 600В - в 5 раз. В новом устройстве отсутствует недостаток биполярных транзисторов - хорошо известный эффект «хвоста тока», который наблюдается в момент фазы выключения  устройств IGBT. COOLMOS™ сочетает в себе низкие коммутационные потери технологии МДП с низкими статическими потерями IGBT. Кроме того, изменена зависимость сопротивления открытого состояния прибора от напряжения пробоя - достигнута линейная зависимость вместо квадратичной у технологии  МДП. Это обеспечивает более широкий спектр применения. Миниатюризация, повышенные частоты переключения, сниженные паразитные параметры, высокий КПД, снижение стоимости – всё это указывает на необходимость дальнейшего развития технологии COOLMOS™.  Мало того что был достигнут прорыв в области снижения сопротивления открытого состояния, данная технология установила новые стандарты для емкостей. Из-за уменьшения размеров и новой внутренней структуры, технология COOLMOS™ обеспечивает очень низкую входную емкость наряду со строго нелинейной выходной. Существенно сниженный заряд затвора упрощает систему управления, тем самым снижая ее стоимость, а маленькая обратная емкость уменьшает динамические потери. Использование технологии COOLMOS™  полностью переоценивает значения сопротивлений открытого состояния устройств в наиболее часто используемом диапазоне напряжений порядка 600÷1000В.

2.2  Принцип работы устройства

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

RDS(ON) – сопротивление транзистора в открытом состоянии

VDSS – напряжение сток-исток

Poly-Gate – затвор

Рис. 2.1 Составляющие сопротивления RDS(ON) мощных высоковольтных и низковольтных МДП

Из рисунка видно, что сопротивление зоны дрейфа составляет 95% от RDS(ON) МДП на 600В. Так как основной упор делается на увеличение производительности, то необходимо уменьшать значение этого сопротивления. В настоящее время для решения этой проблемы с успехом применяется МОП-управляемая инжекция носителей обоих типов в область дрейфа. На данный момент в диапазоне от 1кВ до 6.5кВ популярны устройства IGBT, и они даже начинают вытеснять с рынка GTO-тиристоры.  Когда транзистор IGBT открыт, концентрация основных носителей увеличивается путем инжекции дополнительных носителей от нижнего p-слоя (см. рис.2.2). Однако механизм инжекции требует минимального порогового напряжения порядка 0.7 В. Так как эти носители полностью рекомбинируют с противоположно заряженными электронами из канала протекания тока, то общая концентрация носителей заряда может быть на несколько порядков выше концентрации легирования. Это значительно улучшает проводимость области дрейфа, образуя область рассасывания. Если транзистор выключен, неосновные носители заряда должны быть удалены из области дрейфа, они являются причиной «хвоста тока» IGBT. По-сравнению с классическими МДП, для области дрейфа должна быть выбрана большая толщина слоя, чтобы предотвратить превышение запирающего напряжения между верхним сильно легированным слоем и p-подложкой. Уровнем инжекции IGBT можно управлять  с помощью регулировки времени жизни носителей или эффективности эмиттера. Оба этих метода позволяют сократить хвост тока, однако они увеличивают падение напряжения в открытом состоянии. Таким образом, компромисс между величиной проводимости и коммутационными потерями неизбежен.

Рис.2.2 Поперечное сечение ячейки IGBT, n-область заполнена электронно-дырочной плазмой.

Рис. 2.3 Поперечное сечение нового высоковольтного мощного CoolMOS™  МДП

Принцип CoolMOS™ (см. Рис. 2.3) предлагает новый подход к проблеме сопротивления зоны дрейфа. Электрическая проводимость обеспечивается только основными носителями заряда. Отсутствует вклад тока биполярной структуры, следовательно коммутационные потери сравнимы с классическим МДП. Однако, статические потери уменьшены в 5 раз по сравнению с классической технологией.  Легирование слоя для поддержания напряжения увеличено примерно на порядок, для ограничения количества носителей в структуру вводятся p-столбы. Когда транзистор выключен, возникает боковое электрическое поле, которое направляет носители у области контакта. Область пространственного заряда возникает непосредственно на границе перехода и при напряжении 50В распространяется по всей столбчатой p(-)-n(-) структуре. При дальнейшем увеличении напряжения линейно возрастает электрическое поле, но ОПЗ не расширяется. Ток через ОПЗ не протекает, как показано на рис. 2.4. Носители заряда обоих типов под действием очень маленького поля идут по своим каналам к контакту. Это характерно для устройств со скомпенсированным зарядом и обеспечивает существенно сниженные потери. В сравнении на рис. 2.4 показан IGBT в момент выключения. В еще нем присутствует существенное количество не скомпенсированных электронов и дырок. Ток канала уже может отсутствовать, но накопленные электроны могут двигаться слабым полем в p-область и продолжать инжектировать дырки. Эти дырки диффундируют через тело п/п и направляются под действием сильного поля ОПЗ к верхнему p-слою. Ток, протекающий через выключенный прибор, является следствием физики устройства и причиной более высоких потерь у IGBT чем у устройств со скомпенсированным зарядом.

Рис. 2.4 Ток через выключенный CoolMOS™ МДП и IGBT(справа). Из-за накопления электронов на границе нижнего p-слоя в IGBT присутствует дырочный ток через ОПЗ. В CoolMOS™ носители рассасываются при очень низких напряжениях и ток отсутствует.

Во включенном состоянии ОПЗ в обоих устройствах исчезает вследствие инжекции электронов в область канала. COOLMOS™ также требует диффузии дырок из высоколегированного p-слоя в p-столб. Для этого, в свою очередь, необходим хороший омический контакт. Из за довольно большой площади p-n перехода, обратный диод в COOLMOS™ обладает низким падением напряжения и довольно быстрой характеристикой обратным восстановлением. Так как обедненный слой распространяется вдоль всего внутреннего p-n перехода, который растягивается на всю зону дрейфа, инжектированные носители должны быть полностью удалены до того, пока диод не обеспечил достаточное запирающее напряжение. Это приводит к большому импульсу тока обратного восстановления. Следовательно, после максимума обратного восстановления, ток может протекать лишь за счет заряда, накопленного в p- и n- столбах. Поскольку это количество заряда очень мало по сравнению с плотностью инжектированных носителей, обратный ток имеет характеристику с большим значением di/dt.

Рис. 2.5 Напряжение пробоя МДП CoolMOS™ является функцией разностного заряда – приведенной разницы степеней легирования двух противоположных типов в области дрейфа.

Напряжение пробоя технологии  COOLMOS™ в значительной степени зависит от баланса разности зарядов. Баланс разности зарядов - это интеграл степени легирования канала протекания тока, нормированной к степени легирования n-столба. Разностный заряд вносит вклад в вертикальное электрическое поле, преобразуя pin-структуры либо в pn-n, либо  в pp-n, поэтому снижается запирающее напряжение. Диапазон этого распределения и определенные ограничения запирающего напряжения являются основной технологической проблемой CoolMOS™.

  1.  Продукция компании Infineon Technologies

Компания Infineon Technologies дополняет линейку мощных полупроводниковых приборов для автомобиля новым 650В CoolMOSCFDA. Это первый МДП прибор с интегрированным ультрабыстрым диодом, подходящим под стандарт качества автомобилестроения AEC-Q101. 650В CoolMOSCFDA разработан специально для резонансных схем, которые используются в преобразователях постоянного тока, зарядных устройствах, газоразрядных лампах повышенной интенсивности для электрокаров и гибридных автомобилей.

Новый прибор Infineon сочетает в себе преимущества быстродействующих МДП: эффективность для различной нагрузки, уменьшенный заряд затвора, малые динамические потери, простота и, как следствие, высокая надежность. Infineon предлагает превосходное решение для повышения энергоэффективности –  новый 650В CoolMOSCFDA обладает низким сопротивлением в открытом состоянии, легкой управляемостью, а также наивысшей из представленных на рынке надежностью встроенного  диода. Низкое значение заряда обратного восстановления и Qoss при последовательном переключении интегрированного диода снижает динамические потери и уменьшает время задержки включения/выключения. “Революционная технология CoolMOS™ делает компанию Infineon лидером рынка в области устройств с высоким КПД и малой мощностью рассеивания” – утверждает  Jan-Willem Reynaerts, глава отдела выпуска высоковольтных преобразователей энергии в компании Infineon. “650В CoolMOSCFDA дополняет семейство продукции CoolMOSCFD и устанавливает новые стандарты производительности в стремительно развивающемся сегменте автомобильной электроники ”.

Хорошая управляемость переходных процессов для тока и напряжения, а также мягкое переключение уменьшает появляющиеся электромагнитные помехи и дает новой серии явное преимущество в сравнении с конкурентами.

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

CoolMOSCFDA обеспечивает напряжение пробоя 650В, что дает запас прочности по сравнению с 600В.

Образцы IPW65R150CFDA (650В, 150 мОм RDS (ON), корпус TO247) имеются в наличии, по цене 1,85 EUR за штуку (количество товара ограничено 10000 шт.).

3.2 Программируемые логические контроллеры и системы управления производства компании AD ELECTRONICS PVT. LTD.

Система CompactLogix

- CompactLogix – самая компактная из представленных на рынке систем логического управления подобного класса.

- Одновременно включая в себя контроллер Logix и порты ввода/вывода, CompactLogix является прекрасным решением проблемы уменьшения габаритов автоматических систем управления с беспрецедентной мощностью и масштабируемостью.

Система ControlLogix

- Система ControlLogix – прекрасный подход к различным типам управления.

- С помощью нее Вы можете управлять последовательными процессами, контролировать привод или подачу в любой комбинации.

- Система дополнительной диагностики и символьный тип программирования увеличат инженерную производительность труда.

- Ваши инвестиции в ControlLogix обеспечит такая особенность, как обновляемая флэш-прошивка.

Система FlexLogix

- Распределенный подход к управлению значительно сокращает количество проводов и увеличивает производительность, так как контроллер и порты ввода/вывода расположены рядом с объектом управления.

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

Программа SoftLogix 5800

- SoftLogix 5800 объединяет вместе мощность и доступность Вашего компьютера с высокой производительностью контроллеров Logix

- Каков результат? Система управления на базе ПК, обеспечивающая гибкость, расширенные подключения и встроенную информацию без потери надежности, которую Вы ожидаете от традиционных программируемых логических контроллеров.

Контроллеры Pico

Контроллеры Pico линейки Allen-Bradley обеспечивают:

- Простую логику

- Временную синхронизацию

- Различные вычисления

- Операции в режиме реального времени

- Разделяя как функции временных реле, так и программируемых логических контроллеров низкого уровня, контроллеры Pico идеально подходят для замены реле при решении простых задач управления, таких как освещение зданий и парковок, а также в приложениях, где стоимость – основной вопрос конструкции.

Система MicroLogix 1000

- MicroLogix 1000 может справиться с широким спектром длительных задач, используя 32 порта ввода/вывода или менее. При этом будет задействована лишь часть полноразмерного контроллера –  а соответственно, уменьшена его стоимость.

Система MicroLogix 1100

- Функция интернет-редактирования.

Изменения могут вноситься в программу в момент ее выполнения. Таким образом, обеспечивается возможность тонкой настройки системы управления, включая  ПИД-регуляторы. Эта функция сократит  время разработки, а также поможет в устранении неполадок.

- Встроенный ЖК-дисплей позволит Вам контролировать данные контроллера, изменять их и взаимодействовать с управляющей программой. Он отображает статус функций контролера и встроенных цифровых входов/выходов, тем самым позволяя пользователю настраивать программу.

- Порт Ethernet/IP  - для обеспечения высокоскоростной передачи данных между контроллерами и возможности проверки программы из любой точки доступа интернет.

- Изолированный RS-232/RS-485 комбинированный порт открывает доступ к множеству локальных и сетевых протоколов.

- Встроенный WEB-сервер позволяет отображать Ваши данные конфигурации контроллера на WEB-странице.

Система MicroLogix 1200

- Корпусные контроллеры MicroLogix 1200 удовлетворяют тенденции рынка для микро-ПЛК с малой площадью и высокой функциональностью.

- Более мощное и универсальное чем когда либо, это семейство контроллеров экономически выгодно и может включать до 136 портов ввода/вывода.

- Контроллеры обеспечивают выход ШИМ или PTO с частотой 20 кГц для недорогих шаговых или сервоприводов и имеют 6 новых дискретных аналоговых модулей ввода/вывода.

Система MicroLogix 1500

В мире автоматизации, MicroLogix 1500 может открыть перед Вами новые возможности и с легкостью обеспечить результат, к которому Вы стремитесь.

Этот динамический контроллер представляет собой более мощное и расширенное дополнение к семейству MicroLogix:

- Гибкость применения и универсальность в сочетании с компактностью портов ввода/вывода означает небольшие габариты и расширение количества I/O более чем до 100.

- Большой объем встроенной энергонезависимой памяти

- Встроенные часы реального времени позволяют контролировать время управления

- Возможность загрузки внешних программ позволяет пользователю загружать свои алгоритмы управления

- Данные можно загружать и переносить с использованием внешних карт памяти

- Встроенная возможность ПИД-регулирования

- Встроенные инструменты для настройки и мониторинга данных

- Восемь импульсных входов, четыре программных прерывания

Система SLC 500

- SLC 500 – растущее семейство малых программируемых контроллеров, построенных на основе двух типов оборудования – фиксированный контроллер или модульный контроллер.

- Модульный контроллер обеспечит Вам максимальную гибкость системной конфигурации.

- С несколькими типами процессора, множеством вариантов питания и обширными возможностями ввода/вывода, модульный контроллер SLC 500 позволит Вам создавать системы специально для Ваших задач.

Ссылки

  1.  8-bit AVR RISC Microcontroller. Application Note
  2.  Публикация выступления International Symposium on Power Semiconductor Devises, 2009 г.
  3.  Статья L.Lorenz, G.Deboy, A.Knapp and M. März. Siemens AG, Semiconductor Division, Balanstr. 73, 81541 Munich, Germany
  4.  Материалы Интернет-ресурса

http://www.automotive-electronicspecifier.com  

  1.  Материалы Интернет-ресурса: http://www.adelectronics.co.in/products.htm

ПРИЛОЖЕНИЯ

Приложение 1

Definition and advantages of In-System Programming

In-System Programming (ISP) is a technique where a programmable device is programmed after the device is placed in a circuit board. While in earlier days a chip had been removed from the target board and placed in a programming device, today's microcontrollers and external memory chips can be re-programmed without being removed from the circuit.

ISP eliminates the extra handling step required in the manufacturing process to program the devices on an external programmer before placing them on your circuit board. Eliminating this step reduces the possibility of damaging the delicate leads of high pin count surface mount devices or damaging the device through electrostatic discharge (ESD). In addition, ISP allows you to use your Automatic Test Equipment (ATE) to perform ISP operations on your ISP devices and integrate these ISP operations with the normal production test flow.

This may allow manufacturers to program the chips in their own system's production line instead of buying preprogrammed chips from a manufacturer or distributor, making it feasible to apply code or design changes in the middle of a production run. Typically, chips supporting ISP have internal circuitry to generate any necessary programming voltage from the system's normal supply voltage, and communicate with the programmer via a serial protocol. Most programmable logic devices use a variant of the Joint Test Action Group (JTAG) IEEE 1149.1a-1993 Standard protocol for ISP, in order to facilitate easier integration with automated testing procedures. Other devices usually use proprietary protocols or protocols defined by older standards. In systems complex enough to require moderately large glue logic, designers may implement a JTAG-controlled programming subsystem for non-JTAG devices such as flash memory and microcontrollers, allowing the entire programming and test procedure to be accomplished under the control of a single protocol. An example of devices using ISP is the AVR line of micro-controllers by Atmel such as the ATmega series.

In-circuit programming is more complicated than in-socket programming. It is possible to use a programmer that was not designed for in-circuit programming if the hardware designer takes extreme measures to make the device appear to be in-socket. In other words, completely isolate the device from the target during programming. The programming of devices In-Circuit or In-System (ISP) eliminates limitations associated with traditional programmable devices (On-Socket or Pre-Programmed). Another advantage that ISP can offers is that it makes the cost of programming much cheaper in which they no longer depend on external programmers manufacture to upgrade the system firmware; which means that it will reduce manufacturing delay.

The decreasing cost of programmable devices has caused their popularity to explode during recent years. However, the wide variety of available devices and programming methods requires users to acquire and maintain different types of in-system programmers specific to each device manufacturer. As a result, engineers must learn new tools and programming algorithms to program each device causing an inefficient use of engineering resources. In order to save development time and cost of in-circuit programming system, engineers may purchase cost effective development tools from device manufacturers which generally including both software and hardware tools. It will speed up the manufacturing process and integrate both programming and testing into one production phase rather than having to separate the programming stage before the assembling stage. Recently, many of device manufacturers such as Atmel, Microchip, and Xilinx provide low-cost ISP solutions including development tools (debuggers).

AVR910: In-System Programming

Features

• Complete In-System Programming Solution for AVR Microcontrollers

• Covers All AVR Microcontrollers with In-System Programming Support

• Reprogram Both Data Flash and Parameter EEPROM Memories

• Complete Schematics for Low-cost In-System Programmer

• Simple Three-wire SPI Programming Interface

Introduction

In-System Programming allows programming and reprogramming of any AVR microcontroller positioned inside the end system. Using a simple Three-wire SPI interface, the In-System Programmer communicates serially with the AVR microcontroller, reprogramming all non-volatile memories on the chip.

In-System Programming eliminates the physical removal of chips from the system.

This will save time, and money, both during development in the lab, and when updating the software or parameters in the field. This application note shows how to design the system to support In-System Programming. It also shows how a low-cost In-System Programmer can be made, that will allow the target AVR microcontroller to be programmed from any PC equipped with a regular 9-pin serial port. Alternatively, the entire In-System Programmer can be built into the system allowing it to reprogram itself.

The Programming Interface

For In-System Programming, the programmer is connected to the target using as few wires as possible. To program any AVR microcontroller in any target system, a simple Six-wire interface is used to connect the programmer to the target PCB. Figure 1 below shows the connections needed.

The Serial Peripheral Interface (SPI) consists of three wires: Serial Clock (SCK), Master In – Slave Out (MISO) and Master Out – Slave In (MOSI). When programming the AVR, the In-System Programmer always operate as the Master, and the target system always operate as the Slave.

The In-System Programmer (Master) provides the clock for the communication on the SCK Line. Each pulse on the SCK Line transfers one bit from the Programmer (Master) to the Target (Slave) on the Master Out – Slave In (MOSI) line. Simultaneously, each pulse on the SCK Line transfers one bit from the target (Slave) to the Programmer (Master) on the Master In – Slave Out (MISO) line.

Figure 1

To assure proper communication on the three SPI lines, it is necessary to connect ground on the programmer to ground on the target (GND).

To ease the programming task, it is preferred to let the programmer take control of the target microcontroller reset line to automate this process using a fourth control line (Reset).

To enter and stay in Serial Programming mode, the AVR microcontroller reset line has to be kept active (low). Also, to perform a Chip Erase, the Reset has to be pulsed to end the Chip Erase cycle. To allow programming of targets running at any allowed voltage (2.7 - 6.0 V), the programmer can draw power from the target system (VCC). This eliminate the need for a separate power supply for the programmer. Alternatively, the target system can be supplied from the programmer at programming time, eliminating the need to power the target system through its regular power connector for the duration of the programming cycle.

Figure 2 shows the connector used by this In-System Programmer to connect to the target system.

Figure 2

Hardware Design Considerations

To allow In-System Programming of the AVR microcontroller, the In-System Programmer must be able to override the pin functionality during programming. This section describes the details of each pin used for the programming operation.

GND The In-System Programmer and target system need to operate with the same reference voltage. This is done by connecting ground of the target to ground of the programmer. No special considerations apply to this pin.

RESET The target AVR microcontroller will enter Serial Programming mode only when its reset line is active (low). When erasing the chip, the reset line has to be toggled to end the erase cycle. To simplify this operation, it is recommended that the target reset can be controlled by the In-System Programmer. Immediately after Reset has gone active, the In-System Programmer will start to communicate on the three dedicated SPI wires SCK, MISO, and MOSI. To avoid driver contention, a series resistor should be placed on each of the three dedicated lines if there is a possibility that external circuitry could be driving these lines. The connection is shown in Figure 3. The value of the resistors should be chosen depending on the circuitry connected to the SPI bus. Note that the AVR microcontroller will automatically set all its I/O pins to inputs, with pull ups disabled, when Reset is active.

Table 1

Figure 3

To avoid problems, the In-System Programmer should be able to keep the entire Target System Reset for the duration of the programming cycle. The target system should never attempt to drive the three SPI lines while Reset is active.

SCK When programming the AVR in Serial mode, the In-System Programmer supplies clock information on the SCK pin. This pin is always driven by the programmer, and the target system should never attempt to drive this wire when target reset is active. Immediately after the Reset goes active, this pin will be driven to zero by the programmer. During this first phase of the programming cycle, keeping the SCK Line free from pulses is critical, as pulses will cause the target AVR to loose synchronization with the programmer. When in synchronization, the second byte ($53), will echo back when issuing the third byte of the programming enable instruction. If the $53 did not echo back, give Reset a positive pulse, and issue a new Programming Enable command. Note that all four bytes of the of the Programming Enable command must be sent before starting a new transmission. The target AVR microcontroller will always set up its SCK pin to be an input with no pull up whenever Reset is active. The minimum low and high periods for the Serial Clock (SCK) input are defined in the programming section of the datasheet. For the AT90S1200 they are defined as follows:

Low: >1 XTAL1 clock cycle

High: >4 XTAL1 clock cycles

MOSI When programming the AVR in Serial mode, the In-System Programmer supplies data to the target on the MOSI pin. This pin is always driven by the programmer, and the target system should never attempt to drive this wire when target reset is active. The target AVR microcontroller will always set up its MOSI pin to be an input with no pull up whenever Reset is active.

MISO When Reset is applied to the target AVR microcontroller, the MISO pin is set up to be an input with no pull up. Only after the “Programming Enable” command has been correctly transmitted to the target will the target AVR microcontroller set its MISO pin to become an output. During this first time, the In-System programmer will apply its pull up to keep the MISO line stable until it is driven by the target microcontroller.

VCC When programming the target microcontroller, the programmer outputs need to stay within the ranges specified in the DC Characteristics.

To easily adapt to any target voltage, the programmer can draw all power required from the target system. This is allowed as the In-System Programmer will draw very little power from the target system, typically no more than 20 mA. The programmer shown in this application note operates in this mode.

Table 2

Programming Protocol Immediately after Reset goes active on the target AVR microcontroller, the chip is ready to enter Programming mode. The internal Serial Peripheral Interface (SPI) is activated, and is ready to accept instructions from the programmer. On the AT90S1200, it is very important to keep the SCK pin stable, as one single edge will cause the target to loose synchronization with the programmer. For other devices use the synchronization algorithm specified in the datasheet. After pulling Reset low, wait at least 20 ms before issuing the first command.

Command Format All commands have a common format consisting of four bytes. The first byte contains the command code, selecting operation and target memory. The second and third byte contain the address of the selected memory area. The fourth byte contains the data, going in either direction.

The data returned from the target is usually the data sent in the previous byte. Table 3 shows an example, where two consecutive commands are sent to the target. Notice how all bytes returned equal the bytes just received. Some commands return one byte from the target’s memory. This byte is always returned in the last byte (byte 4). Data is always sent on MOSI and MISO lines with most significant bit (MSB) first. For details on available instructions, please refer to the Serial Programming section of the datasheet.

Enable Memory Access

When the Reset pin is first pulled active, the only instruction accepted by the SPI interface is “Programming Enable”. Only this command will open for access to the Flash and EEPROM memories, and without this access, any other command issued will be ignored. Table 3 shows an example where memory access is enabled in the first command sent to the chip.

Table 3

After a “Programming Enable” command has been sent to the target, access is given to the nonvolatile memories of the chip according to the current setting of the protecting Lock bits. To check if the command has been accepted by the target AVR microcontroller, the device code could be read. The device code is also known as the signature bytes.

Device Code After the “Programming Enable” command has been successfully read by the SPI interface, the programmer can read the device code. The device code will identify the chip vendor (Atmel), the part family (AVR), Flash size in kilobytes, and family member (i.e., AT90S1200). The “Read Device Code” command format is found in the Serial Programming section of the datasheet. As an example, this command will, for the AT90S1200, be [$30, $XX, $adr, $code]. Valid addresses are $00, $01 and $02. Table 4 shows what the expected result will be. Table 5 indicates that Device Code will sometimes read as $FF. If this happens, the part device code has not been programmed into the device. This does not indicate an error, but the part has to be manually identified to the programmer.

Device code $FF might also occur if there is no target ready or if the MISO line is constantly pulled high. The programmer can detect this situation by detecting that also a command sent to the target is returned as $FF.

If the target reports Vendor Code $00, Part Family $01, and Part Number $02, both Lock bits have been set. This prevents the memory blocks from responding, and the valued returned will be the byte just received from the programmer, which just happens to be the current address. To erase the Lock bits, it is necessary to perform a valid “Chip Erase”. Table 6 shows an example reading the Device Code from an AT90S1200.

Table 4 5 6

Flash Program Memory Access

When the part has been identified, it is time to start accessing the Flash memory. A Chip Erase should be performed before programming the Flash memory. Depending on the target device the Flash is programmed using “Byte” or “Page” mode. For devices with Byte Programming mode each Flash location is dressed and programmed individually. In Page Programming mode, a temporary Page buffer is first filled, and then programmed in one single write cycle. This mode reduces the total Flash programming time. A device will only have one of these modes available. A device with Byte Programming mode does not have the Page Programming option. A device with Page Programming mode of the Flash will, however, use byte programming for the EEPROM memory.

Regardless if the device uses Byte Programming mode or Page Programming mode the Flash will be read one byte at the time using the “Read Flash Program Memory” command. The command sends a memory address ($aa bb) to select a 16-bit word, and selects low or high byte with the H bit in the command byte (0 is low, 1 is high byte). The byte stored at this address is then returned from the target AVR microcontroller in byte 4. Usually, each 16-bit word in Flash contains one AVR instruction. Assuming the instruction stored at address $104 is “add r16,r17”, the op-code for this instruction would be stored as $0F01. Reading address $104 serially, the expected result returned in byte 4 will be $0F from the high byte, and $01 from the low byte. The data on the MISO and MOSI lines will look like shown in Table 7.

Writing to the Flash memory will, however, differ depending on the available programming mode.

For devices using Byte Programming mode bytes are written with the “Write Program Flash Memory” command. This command sends a memory address ($aa bb) to select a 16-bit word, and selects low or high byte with the H bit (0 is low, 1 is high byte). The byte to be stored is then sent to the target AVR microcontroller in byte 4. For devices using Page Programming mode the Flash is programmed in two steps. First a temporary Page buffer is filled using the “Load Program Memory Page” command. Each byte in this buffer can be directly accessed. Once the entire Page buffer is filled, it can be written to the Flash Memory using the “Write Program Memory Page” command. In some devices, there is no method to detect when the Flash write cycle has ended. For this reason, the programmer presented in this application note waits N ms before attempting to send another command to the interface (the delay N will depend on target device, and can be found in the programming section of the datasheet). For some devices it is possible to use polling. When a byte is being programmed into the Flash or EEPROM, reading the addressed location being programmed will give a value M (often $FF). At the time the device is ready for a new byte, the programmed value will read correctly. This can be used to determine when the next byte can be written. When programming the value M polling will not work, and a delay N should be used before writing the next value. Polled mode will decrease the time required to program a device.

Table 7

Table 8

EEPROM Data Memory Access

Using the “Read EEPROM Data Memory” command, EEPROM contents can be read one byte at a time. The command sends a memory address ($aa bb) to select a byte location in the EEPROM.

Table 9

EEPROM is written one byte at a time, with the “Write EEPROM Memory” command. This command selects the byte to write just like “Read EEPROM Memory”, and transfers the data to be written in the last byte sent to the target. For some devices there is no method to detect when the write cycle has ended. The programmer should simply wait N ms before attempting to send another command to the interface (the delay N will depend on target device, and can be found in the programming section of the datasheet). For increased programming speed, polling can be used as described in the “Flash Program Memory Access” section. An example of an EEPROM Write is shown in Table 10.

Table 10

Lock Bits Access To protect memory contents from being accidentally overwritten, or from unauthorized reading, the Lock bits can be set to protect the memory contents. As shown on Table 11, the memories can be either protected from further writing, or you may completely disable both reading and writing of memories on the chip. In some devices the Lock bits can not be read, and setting Lock bits can not be verified by the programmer. To check that the Lock bits have been set properly in these devices, one should attempt to alter a location in EEPROM. When Lock bit 1 is set, memory locations are not altered. When both Lock bits 1 and 2 are set, no location can be read, and the result returned will be the Low byte of the address passed in the command. Setting only Lock bit 2 will have no protective effect. Before the chip is protected from reading, it has to be successfully protected from writing. The Lock bits will only prevent the programming interface from altering memory contents. The core can read the Flash program memory and access the EEPROM as usual, independent of the Lock bit setting.

Table 11

The only method to regain access to the memory after setting the lock bits, is by erasing the entire chip with a “Chip Erase” command. The lock bits will be cleared to 1, disabling the protection, only following a successful clearing of all memory locations. On Chip Erase, the Lock bits obtain the value 1, indicating the bit is cleared. Although the operation of enabling the protection is referred to as “setting” the Lock bit, a zero value should be written to the bit to enable protection.

Table 12

Chip Erase Operation Before new contents can be written to the Flash Program Memory, the memory has to be erased. Without erasing, it is only possible to program bits in Flash memory to zero, not selectively setting a bit to one. Erasing the memory is performed with the “Chip Erase” command.

This command will erase all memory contents, both Flash Program Memory and EEPROM. Only after a successful erase of the memory, the Lock bits will be erased. This method ensures that data in the memories are kept secured until all data have been completely erased. After a Chip Erase, all memory contents will be read as $FF. The only way to end a Chip Erase cycle is by temporarily releasing the Reset line.

Table 13

Приложение 2

COOLMOS™ - a new milestone in high voltage Power MOS*

L. Lorenz, G. Deboy, A. Knapp and M. März

Siemens AG, Semiconductor Division, Balanstr. 73, 81541 Munich, Germany

I. INTRODUCTION

Recently a new technology for high voltage Power MOSFETs has been introduced – the CoolMOS™. Based on the new device concept of charge compensation the  RDS(on) area product for e.g. 600V transistors has been reduced by a factor of 5. The devices show no bipolar current contribution like the well known tail current observed during the turn-off phase of IGBTs. CoolMOS™ virtually combines the low switching losses of a MOSFET with the on-state losses of an IGBT. Furthermore, the dependence of  RDS(on) on the breakdown voltage has been redefined. The more than square-law dependence in the case of standard MOSFET has been broken and a linear voltage dependence achieved. This opens the way to new fields of application even without  avalanche operation. System miniaturization, higher switching frequencies, lower circuit parasitics, higher efficiency, reduced system costs are pointing the way towards future developments. Not only has the new technology achieved breakthrough at reduced RDS(on) values, but new benchmarks have also been set for the device  capacitances. Due to chip shrink and novel internal structure, the technology shows both, a very small input capacitance as well as a strongly non-linear output capacitance. The drastically lower gate charge facilitates and reduces the cost of controllability, and the smaller feedback capacitance reduces the dynamic losses. With this new technology, the minimum RDS(on) values in all packages are being redefined in the important 600 - 1000V categories.

II. DEVICE CONCEPT

The on-resistance of the conventional high voltage Power MOSFET is dominated by the resistance of the voltage sustaining drift zone. The blocking capability of this region is determined by its thickness and the doping. In order to increase the blocking voltage the doping must be simultaneously reduced and the layer thickness increased. The resistance of the transistor therefore increases disproportionately strongly as a function of its blocking capability (see Fig. 1).

Fig. 1:  Components of the overall RDS(on)  in conventional power MOSFETs for low and high voltage devices.

Accordingly the drift zone causes over 95% of the total on-resistance in e.g. a 600V transistor. The main emphasis in improving the transistors performance must therefore be directed towards reducing this drift region resistance. Today the most successful way to solve this challenge is the MOS controlled injection of both carrier types into the drift zone. Devices like the IGBT are very popular around  1  kV and have made their way up to 6.5 kV where they start to push e.g. GTO thyristors off the market. When the IGBT is in the on-state, the concentration of the charge carriers available for carrying current is markedly increased by the injection of additional carriers from the backside p-layer (see Fig. 2). The injection mechanism requires however a minimum threshold of around 0.7 V. As these carriers are precisely balanced by the opposite charged electrons from the channel current, the overall charge carrier concentration can be several orders of magnitude above the basic doping. This significantly improves the conductivity of the drift region, this zone being referred to as swamped. If the transistor is turned off, the additional charge carriers must be removed from the drift region once more, causing the IGBT's characteristic "tail current". Compared to the conventional MOSFET, a larger layer thickness must be selected for the drift region in order to prevent punchthrough of the blocking voltage from the upper p-well to the backside p-layer. The injection level of the IGBT can be controlled by an adjustment of the carrier life time or emitter efficiency of the backside p-layer, respectively. Both methods allow for  a reduction of the tail current, they deteriorate however the voltage drop across the transistor in its on-state. Accordingly a trade-off between conduction and switching losses is unavoidable.

Fig. 2: Cross section of an IGBT cell, the  n-region is swamped by an electron-hole plasma.

Fig. 3: Cross section of the new CoolMOS™ high voltage Power MOSFET.

The CoolMOS™ concept (see Fig. 3) offers here a new approach to overcome the challenge of the drift zone resistance. The electrical conductivity is provided by majority carriers only. There is no bipolar current contribution, the switching losses are hence equal to that of conventional MOSFET. The conduction losses have however been cut down by a factor of 5 versus this conventional technology. The doping of the voltage sustaining layer is rised by roughly one order of magnitude; additional vertical p-stripes are inserted into the structure, which compensate the surplus current conducting n-charge. When the transistor is reverse biased, a lateral electric field is built up, which drives the charge towards the contact regions. The space charge layer builds up along the physical pn-junction line and spreads at a voltage around 50 V across the whole p-/n-striped structure. The drift zone is now completely depleted and acts like the voltage sustaining layer of a pin-structure. If the voltage is further increased, the electrical field rises linearly without any further expansion of the space charge layer. As shown in Fig. 4 no current flows through the space charge layer. Both carrier types are driven by very low electric fields within their columns towards the contacts. This behavior is characteristic for charge compensated devices and leads to extremely low losses. The IGBT shows in comparison during turn-off a substantial area, which is still swamped with an electron-hole plasma. The electrons stored in there - the channel current may already be interrupted – are driven by a very weak field to the backside p-layer and continue to inject holes. These holes diffuse through the plasma and are driven through the high-field space charge layer towards the top side p-well. This current flow is the device physics based origin of higher turn-off losses of IGBTs versus charge compensated devices.

Fig. 4: Current flow during turn-off in a CoolMOS™ device (left side) and in an IGBT (right side). The IGBT shows a hole current through the high-field space charge layer (scl), which originates from the stored electron-hole plasma at the backside (shaded region). The CoolMOS™ depletes completely at very low voltages without current low through high field regions.

During turn-on the space charge layer is removed in both devices by the injection of electrons through the channel region. The CoolMOS™ requires additionally the diffusion of holes from the p-well into the p-column. A good  ohmic contact is therefore required. Due to the large surface of the internal pn-junction the inverse diode of the CoolMOS™ shows a very low forward voltage drop, but quite a snappy reverse recovery behavior. As the depletion layer spreads around the internal pn-junction, which expands practically through the whole voltage sustaining drift zone (see Fig. 3), the injected plasma must be completely removed before the diode supports a substantial amount of blocking voltage. This leads to a very high peak reverse recovery current. Consequently, current flow after the maximum of the reverse recovery current can only be supported by the charge stored in the p- and n-columns. As this amount of charge is very small compared to the injected plasma density, the reverse current shows a snappy characteristic with high dI/dt ratio. The breakdown voltage of the CoolMOS™ technology shows a significant dependence of the net charge balance (see Fig. 5). The net charge balance is the integral of the doping over the whole voltage sustaining layer normalized to the doping of the n-column. A negative value indicates a surplus of p-doping. The maximum breakdown voltage is achieved, if the charge of the two opposite doped regions cancel each other out perfectly. A remaining net charge contributes to the vertical electric field, transforming the pin-structure in either pn-n or  pp-n, respectively. The blocking voltage therefore decreases. The width of this distribution at the specified blocking voltage limits the production window and is one of the CoolMOS™ main technological challenges.

Fig. 5: The CoolMOS™ breakdown voltage as a function of the net charge balance, which is the normalized difference of the two opposite doping types in the drift zone.

Приложение 3

http://www.automotive-electronicspecifier.com/Automotive-Products/Infineons-650V-CoolMOS-CFDA-for-Automotive-Applications.asp

Infineon Technologies expands its Automotive power semiconductor lineup with the new 650V CoolMOS CFDA. This is the industry's first Superjunction MOSFET solution with Integrated Fast Body Diode to meet the highest Automotive qualification standard AEC-Q101. The 650V CoolMOS CFDA is particularly designed for resonant topologies such as battery charging, DC/DC converters and HID (High Intensity Discharge) Lighting, also in hybrid and electric vehicles.

Infineon’s new solution combines all benefits of fast switching Superjunction MOSFETs: a better light load efficiency, reduced gate charge, lower switching losses, easy implementation as well as an outstanding reliability. Infineon offers a superior solution to the demand for higher energy efficiency of automotive applications: the new 650V CoolMOS™ CFDA provides lower area specific on-resistance while offering easy control of switching behavior as well as the highest body diode ruggedness in the market. Lower value of Q rr and Q oss at repetitive commutation on body diode reduces switching losses and turn on/off delay times.

“With the revolutionary CoolMOS™ technology Infineon has become the market leader in energy efficiency and power density,” says Jan-Willem Reynaerts, Product Segment Head of High Voltage Power Conversion at Infineon Technologies. “The 650V CoolMOS™ CFDA complements the CoolMOS™ CFD product family and sets new performance standards in the rapidly progressing electrification of cars.”

Good controllability of rapid current and voltage transients and softer commutation behavior that results in reduced EMI (Electromagnetic Interference) appearance, gives the new series a clear advantage in comparison with competitor parts. Limited voltage overshoot during hard commutation of the body diode enables easier implementation of layout and design. CoolMOS™ CFDA provides 650V breakdown voltage, which means an increased safety margin compared to 600V.

Samples of IPW65R150CFDA (650V, 150mOhm Rds (on), TO247 package) are available, EUR 1.85 per piece (10k pieces quantity).

http://www.adelectronics.co.in/products.htm

CompactLogix System

►CompactLogix is a powerful Logix-based control system that is more compact than others of its kind.

►Bringing together a Logix controller with Compact I/O, CompactLogix controllers are perfect for tackling smaller, machine-level control applications with unprecedented power and scalability.

ControlLogix System

►The ControlLogix system offers a superior approach to multiple types of control.

►You can perform sequential process, drive or motion control - in any combination - with this single system.    

►Engineering productivity is increased through such                                                                                                                       tools as advanced  diagnostics and symbolic programming.                                                                                                                                     And your investment in ControlLogix is assured  through with such features as flash-upgradeable firmware.

     FlexLogix System  

►The distributed approach to control drastically reduces                                                                                                                                                                        field wiring and heightens performance because                                                                                                                    the controller  and I/O are placed close to the machine or process.                                                                                                                                                                                      

►FlexLogix achieves distributed  control without the                                                                                            compromises - such as reduced processing power                                                                                                              and programming capability - common to other distributed control solutions.

       SoftLogix 5800 Controller

►SoftLogix 5800 takes the high performance Logix control                                                                                          engine, combines it with integrated motion, and puts                                                                                                 everything together with the power and openness of your PC.

► The result?  A PC-based control solution that provides                                                                                               improved flexibility, connectivity and information integration,                                                                                       without losing any of the reliability you've come to expect from a traditional PLC.

Programmable Logic Controllers

Pico Controllers

The Allen-Bradley Pico controller performs:

►Simple Logic

►Timing

►Counting

►Real-time clock operations.

►Splitting the difference between a timing relay and a low-end PLC, the Pico controller is ideal for relay replacement applications, simple control applications such as building and parking lot lighting, and applications in which cost is a primary design issue.

MicroLogix 1000 System

►The MicroLogix 1000 micro-PLC can handle a wide variety of big-time applications at 32 I/O or below, while using only a fraction of the space of a full-size controller - at a fraction of the price.

MicroLogix 1100 System  

►Online Editing - modifications can be made to a program while it is running, making fine tuning of an operating control system possible, including PID loops. Not only does this feature reduce development time, but it aids in troubleshooting.

►Built-in LCD - lets you monitor data within the controller, optionally modify that data and interact with the control program. The LCD displays status for embedded digital I/O and controller functions, and acts as a pair of digital trim pots to allow a user to tweak and tune a program.

►Ethernet/IP Port - for peer-to-peer messaging offers users’ high-speed connectivity between controllers and the ability to access, monitor and program from the factory floor to anywhere an Ethernet connection is available.

►Isolated RS-232/RS-485 combo port - provides a host of different point-to-point and network protocols.

►Embedded Web Server - lets you custom configure data from the controller to be displayed as a web page.

MicroLogix 1200 System

►The MicroLogix 1200 packaged controllers address the market trend for micro-PLCs with a small footprint and high functionality.

►More powerful and flexible than ever, this family of                                                                                                        small, cost-effective micro-controllers can expand up to 136 I/O.

►With the addition dc powered controllers that provide a 20 kHz PTO (Pulse Train Output) or PWM (Pulse Width Modulated) output for inexpensive stepper or servo motor control, six new discrete and analog I/O modules.

MicroLogix 1500 System

In the world of automation, the MicroLogix 1500 controller can help you open up new possibilities and get you to where you want to go with ease. This dynamic controller is a more powerful and expandable addition to the MicroLogix family:

►Application flexibility and versatility with compact I/0 means a small footprint and expansion to over 100 I/O points,

►Large onboard non-volatile memory,

►Real Time Clock (RTC) capabilities allow time scheduling of control,

►Program portability allows user programs to be uploaded,

►Downloaded and transported via Memory Modules,

►Built in PID capabilities,

►Data Access Tool for data monitoring and adjustment,

►Eight Latching (pulse catch) inputs, four event interrupts.

SLC 500 System

►The SLC 500 family is a growing family of small programmable controllers built around two hardware options: a fixed controller or a modular controller.

►The modular controller offers you maximum flexibility in                                                                                        system configuration.

►With its multiple processor choices, numerous power supply options and extensive I/O capacity, the modular SLC 500 controller allows you to create a system specifically designed for your application.


 

А также другие работы, которые могут Вас заинтересовать

11408. УСТНОЕ НАРОДНОЕ ТВОРЧЕСТВО Обрядовый фольклор 58 KB
  УСТНОЕ НАРОДНОЕ ТВОРЧЕСТВО Обрядовый фольклор 2 часа Урок 8 Обряды и обрядовый фольклор. Произведения календарнообрядового цикла: колядки веснянки масленичные летние песни осенние обрядовые песни. Эстетическое значение обрядового фольклора
11409. ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ 71.5 KB
  Лабораторная работа ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ Цель работы; ознакомление и приобретение навыков алгоритмизации задач методом структурной декомпозиции использования основных арифметикологических и управляющих операторов языка С/С и отладки пр...
11411. ОБРАБОТКА МАССИВОВ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ 50.5 KB
  Лабораторная работа ОБРАБОТКА МАССИВОВ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ Цель работы: ознакомление с принципами описания и алгоритмизации обра ботки массивов однотипных данных средствами языка С/С и приобретение навыков работы и отладки...
11413. Нормализация баз данных 36 KB
  Лабораторная работа № 1. Нормализация баз данных. Задание: 1. Спроектировать реляционную базу данных состоящую из четырех связанных отношений. 2. Произвести нормализацию БД до третьей нормальной формы. Нормализация данных Один и тот же набор данных в реляцио...
11414. Запросы определения данных SQL 59.5 KB
  Лабораторная работа № 2. Запросы определения данных SQL. Задание: 1. Определить схемы разработанных отношений на SQLсервере. Обосновать выбор типов данных атрибутов отношений. 2. Определить произвольный двух или трехзначный атрибут пол статус и т.д. и ввести его в одн
11415. Запросы выборки данных SQL 41.5 KB
  Лабораторная работа № 3. Запросы выборки данных SQL. Задание: Создать запросы: 1. На выборку всех кортежей отношения 2. На выборку всех значений нескольких атрибутов отношения. 3. Запрос на выборку значений нескольких атрибутов с назначением альтернативных име
11416. Работа с РБД в MS Access 87 KB
  Лабораторная работа № 4. Работа с РБД в MS Access. Задание: 1. Создать формы для ввода данных. 2. Визуализировать схему данных. 3. Создать отчеты для вывода результатов запросов. Access: запросы формы отчеты макросы. Запрос это объект базы данных являющийся основн