Pic16c505 применение как подключить
Перейти к содержимому

Pic16c505 применение как подключить

  • автор:

Pic16c505 применение как подключить

Практически все микроконтроллеры PICmicro имеют набор стандартных периферийных модулей. Список этих модулей продолжает расширяться. Краткое описание периферийных модулей, которые входят в состав новых микроконтроллеров Microchip:

ECCP (Enhanced Capture/Compare/PWM). Пришел на смену старому модулю CCP (Capture/Compare/PWM). Основное отличие — модуль широтно-импульсной модуляции ШИМ (PWM) можно настраивать на работу с одним выходом, двумя и четырьмя. Два выхода используются для управления полумостовой схемой силового драйвера. Четыре выхода управляют полной мостовой схемой (например, для управления преобразователями напряжений, электродвигателями сервоприводов). Введены специальные задержки между сигналами для устранения сквозных токов.

ICD (In-Circuit Debug). Логический аппарат на кристалле, позволяющий организовать пошаговое выполнение программы и просмотр содержимого памяти микроконтроллера по последовательному интерфейсу, используя всего лишь три сигнальных провода.

PLVD (Programmable Low Voltage Detection). Схема определения снижения напряжения питания ниже заданного уровня. Уровень выбирается программно из фиксированного ряда значений.

PBOR (Programmable Brown-Out Reset). Схема формирования сигнала сброса при уменьшении напряжения питания меньше заданного уровня. Уровень выбирается из фиксированного ряда значений.

PLL (Phase Locked Loop). Схема фазовой автоподстройки и умножения на 4 частоты тактового генератора.

EMA (Extended Memory Addressing). Интерфейс подключения внешней памяти программ.

Base-Line PICmicro

Самым удачным микроконтроллером Base-Line с 12 разрядным ядром попрежнему можно считать PIC16C505. Прежде всего, необходимо отметить низкую цену, малые габариты (14 pin DIP/ SOIC), встроенный генератор на 4 МГц. До 12 портов I/O! PIC16HV540 — 18 pin 51212 бит, 25 байт RAM. Этот микроконтроллер имеет уникальный диапазон напряжения питания: 3,5…15 В и логические входы/выходы, действующие во всем диапазоне питания. Такие характеристики обеспечиваются за счет встроенного стабилизатора и супервизора BOD. Идеально подходит для автомобильных front-end или портативных (батарейных) применений, так как имеет низкое энергопотребление и сокращает количество требуемых деталей на плате. Микроконтроллер pin-to-pin совместим со всеми 18 выводными PICmicro.

Mid-Range PICmicro

Микроконтроллеры с FLASH-памятью становятся все более популярными, и Microchip значительно расширила номенклатуру среднего Mid-Rangeсемейства именно такими кристаллами: PIC16F628/627 — 18 pin, FLASH 2 K / 1 K14 бит, 224 RAM, 128 EEPROM, 16 линий I/O, два аналоговых компаратора, модуль PWM(ШИМ)/Capture/Compare, USART, два внутренних (4 МГц и 37 кГц) ГТИ, BOR. Этот контроллер приходит на смену заслуженному PIC16F84 и полностью программно и pin-to-pin совместим с ним. Кроме того, PIC16F628 в полтора раза дешевле! PIC16F73/74/76/77 — 28/40 pin, FLASH 4 K/8 K14 бит, 2 ШИМ. В дополнение к завоевавшим популярность кристаллам с 8 разрядным АЦП выпускаются FLASH версии (до 100 циклов E/W) по цене однократных микроконтроллеров. PIC16F87X — 28/40 pin, FLASH 2 K/4 K/8 K14 бит, 1/2 ШИМ, 10 бит АЦП, 128/256 байт EEPROM. Это семейство обладает уникальной возможностью — программа пользователя может считывать/записывать программную память! PIC16F812/816 — 18 pin, FLASH 1К/2K14бит, 128 RAM, 64 EEPROM, 8ch@10-bit АЦП, модуль ССР, внутренний ГТИ (4 МГц и 37 кГц), LVD/BOR. PIC16F85/86 — 18 pin, FLASH 1 K/2 K14 бит, 96/128 байт RAM, 64 байта EEPROM. Главная особенность — это единственные кристаллы Microchip (за исключением PIC14000), где одновременно содержаться и компараторы, и 8 разрядный АЦП. В сочетании с малыми габаритами и встроенным ГТИ очень удобен для различных датчиков. PIC16C781/782 — 20 pin, 1 K/2 K14 бит, 128 байт RAM. Это одни из немногих микроконтроллеров PICmicro, у которых кроме встроенных компараторов и модуля 8-бит АЦП также есть цифроаналоговый преобразователь. PIC16C770/771 — 20 pin, 2 K/4 K14 бит, 256 байт RAM, 16 линий I/O, два встроенных ГТИ (4 МГц и 37 кГц). Изюминкой является 12 разрядное АЦП со встроенным модулем опорного напряжения. PIC16C717/770/771 — 18/20 pin. Эти контроллеры имеют усовершенствованную схему ШИМ (ECCP), позволяющую управлять силовыми ключами мостовой (4 канала) и полумостовой схемы (2 канала) или одноканальными выходами с 10 разрядным разрешением на частоте 20 кГц. Разрешение временной привязки логических сигналов модулем ECCP составляет 12,5 нс при 16 разрядном разрешении. PIC16C717 имеет 10 разрядное АЦП. PIC16C773/774 — 28/40 pin, 4 K14 бит, 256 байт ОЗУ, 12 бит АЦП, PBOD, PLVD, 2 ШИМ, MSSP 9 бит. Идеально подходят для компактных систем сбора информации. PIC16C745/765 — 28/40 pin, 4 K14 бит, 256 байт RAM, встроенный контроллер шины USB1.1 c 64 байтами двухпортовой буферной памяти, 8 бит АЦП 5/8 канала измерения, три таймера, встроенный модуль PLL (тактовая частота 24 МГц при кварце 6 МГц). Удобен для построения компьютерной периферии. PIC16C925/926 (64 TQFP/68 PLCC) 4 K/8 K14 бит, 176/336 байт RAM, 10 разрядное АЦП (8 каналов), ШИМ и встроенная схема управления дисплейным модулем. Разработаны в дополнение к PIC16C923/924. Для удобства проектирования встроенных систем управления для автомобильных применений Microchip представила семейство из двух микроконтроллеров PIC16C432/433 с аппаратновстроенным приемопередатчиком автомобильного протокола обмена данных LIN (Local Interconnection Network) Специально спроектированные для решения автомобильных задач, эти микроконтроллеры имеют небольшой корпус, широкий температурный диапазон и призваны объединить различные автомобильные подсистемы и модули в единую, надежную и многофункциональную бортовую систему автомобиля. PIC16C432/433 — 18/20 pin 2К14 бит, 128 байт RAM. Имея на одном кристалле микроконтроллер и аппаратно-реализованный приемопередатчик LIN в корпусе с 18 и 20 выводами, можно до предела сократить количество внешних навесных деталей, повысив при этом надежность устройства в целом. А наличие четырехканальных 8 битных АЦП позволяет обрабатывать аналоговые сигналы.

High End PICmicro

Новейшее семейство микроконтроллеров с 16-битным ядром PIC18CXXX и высокой производительностью (10MIPS @ 10MHz). Для массовых микрогабаритных применений интересной новинкой года станет восьмивыводной кристалл с высокопроизводительным ядром PICmicro18, системой контроля питания (детектором напряжения LVD и системой перезапуска BOR), FLASH-памятью программ и энергонезависимой памятью данных на кристалле. Семейство содержит четыре модификации, отличающиеся объемом памяти и наличием встроенного 10 битного АЦП: PIC18F010/020 — 8 pin, FLASH 1 K/ 2 Kслов, 256 RAM, 64 EEPROM, умножитель 88, 2 уровневая система прерываний, стек 31, LVD/BOR. PIC18F012/022 — 8 pin, FLASH 1 K/2 Kслов, 256 RAM, 64 EEPROM, 4ch@10bit АЦП, умножитель 88, 2 уровневая система прерываний, стек 31, LVD/BOR. Еще одна интересная новинка с ядром PIC18XXX и FLASH-памятью программ в 20 выводном корпусе: PIC18F122/132 — 20 pin, FLASH 4 K/8 Kслов, 256 RAM, 128 EEPROM, 16 I/O, умножитель 88, 2 уровневая система прерываний, стек 31, 7ch@10-bit АЦП, усовершенствованный модуль EССР, 9 бит USART, LVD/BOR. Наличие EEPROM и мощного вычислительного ядра в контроллере PIC18C1X2 позволяет расширить область применения и реализовать сложные алгоритмы регулирования. PIC18C658/858 — 64/80 pin, 16 К 16 бит, 1536 байт RAM, 12/16 каналов 10 разрядного АЦП, 52/68 линий I/O. Это семейство содержит встроенный контроллер CAN-интерфейса, полностью поддерживающий стандарт CAN2.0B (3 буфера передатчика, 2 буфера приемника, 6 фильтров, 2 маски). Теперь этими кристаллами можно легко заменить системы для проектов, где требуется высоконадежный стандарт передачи данных и малые габариты устройства. Максимальная тактовая частота— 40 МГц. PIC18F658/858 — то же самое, но с FLASH-программной памятью PIC18C258/458 — 28/40 pin, 8 K/16 K 16 бит, 512/1024 байт RAM, встроенный модуль CAN. Идеальны для малогабаритных устройств. В дополнение к популярным 28/40 pin PIC18C252/452 выпускаются FLASH-версии PIC18F252/452 . Все FLASH PICmicro 18-й серии поддерживают внутрисхемную отладку (ICD), работающую по трем проводам. Таким образом, можно запрограммировать и отладить работу микроконтроллера в полевых условиях, не прибегая к помощи дорогих внутрисхемных эмуляторов. Все кристаллы поддерживают работу с внутрисхемным отладчиком MPLAB-ICD (DV164001), работающим под управлением среды MPLAB. PIC18C958 — 100 pin. У этого гиганта 16 К16 бит, 1536 байт RAM, 84 линии I/O, 10 разрядное АЦП и встроенный модуль CAN в дополнение к обычным SPI, I2C и USART. PIC18F653. Этот микроконтроллер специально разработан для систем управления двигателями. Все устройства, интегрированные в этот кристалл, в той или иной комбинации встречаются в других моделях PICmicro. Главное, что выделяет именно этот прибор, — их количество: шесть независимых или три комплементарных (три пары зависимых) каналов двенадцатиразрядных PWM на кристалле для управления двигателями со встроенной функцией аппаратной защиты от сбоя, разрешающей способностью в 100 нс при тактовой частоте 10 МГц и программируемой задержкой включения комплементарных выходов. Так же в нем содержатся: два декодера датчиков вращения, SPI, Master I2C, адресуемый USART, два дополнительных модуля CCP (ШИМ), два компаратора, 10ch@10bit АЦП, 32 Kбайт FLASH-программной памяти, 1,5 Kбайт RAM, 256 байт EEPROM данных, а также LVD, BOR, ICD.

Микросхемы памяти

24LC01B — 1 Кбит последовательная EEPROM, также выпускается в 5 выводном корпусе для SMD-монтажа (SOT-23). Занимает на 50 % меньшую площадь по сравнению со стандартным TSSOP8 корпусом. Удачный выбор для тех, кто дорожит площадью и стоимостью печатной платы. Идеально подходит для хранения идентификационного персонального номера и калибровочных коэффициентов. Самое дешевое решение для сохранения важнейших данных микроконтроллера при выключении питания, I2C, 5 мкА standby, 1 мА, 1 000 000 циклов перезаписи.

Аналоговая и интерфейсная продукция

Супервизоры питания MCP1XX/8XX — семейство трехвыводных микросхем, вырабатывающих расширенный сигнал Reset при включении напряжения питания или его падения ниже нормы. Выпускаются на семь порогов срабатывания в семи типах цоколевок и корпусов. MCP1XXX — новое поколение микромощных супервизоров питания. Основное отличие от MCP1XX/8XX — ток потребления 1 мкА. Малогабаритные контроллеры CAN MCP2510 — на сегодняшний день CAN-контроллер фирмы Microchip является самым простым в использовании, малогабаритным и наиболее эффективным в применении по соотношению цена/возможности. Встроенные режимы разделения функций передачи и приема, многоуровневого буферирования, системы масок и фильтров, генерация сигналов прерывания — все это воплощено в MCP2510 для упрощения связи по CAN-интерфейсу и снижения требований к ресурсам системного микроконтроллера. Управление и обмен информацией происходит по стандартному SPI-интерфейсу. Выпускается в корпусах DIP18, SOIC18, TSSOP20. Идеология MCP2510 построена таким образом, что, спроектировав систему на PICmicro + MCP2510, разработчик с минимальной модификацией программного обеспечения может перейти на интегрированные PIC18C658/858 контроллеры с CAN , и наоборот. Также удобен для малогабаритных дешевых систем сбора информации, построенных по формуле (8pin микроконтроллер) +MCP2510. MCP250XX. Серия микросхем-расширителей CAN. Специально разработаны для того, чтобы исключить основной микроконтроллер в несложных приложениях, и таким образом, снизить себестоимость изделий. Семейство представлено следующими моделями. MCP25050 — расширитель CAN с возможностью работы как с цифровыми, так и с аналоговыми сигналами; MCP25055 — то же, возможность работы с однопроводной шиной; MCP25020 — расширитель CAN, предназначен для работы только с цифровыми сигналами; MCP25025 — то же, возможность работы с однопроводной шиной.

Операционные усилители

ОУ MCP601/602/603/604 — микромощные операционные усилители с полосой пропускания 2,8 МГц и типовым током потребления 230 мкА. Доступны в исполнениях с одним, двумя и четырьмя усилителями в корпусе. Также ОУ MCP603 имеет вход Chip Select (CS), который выключает ОУ и переводит его в режим микропотребления (не более 1 мкА!). При этом его выход переводится в высокоомное состояние. Такое сочетание параметров позволяет этому семейству ни в чем не уступать ОУ таких известных производителей, как Analog Devices, Motorola и т. д. Кроме того, MCP601 также выпускается в 5 выводном корпусе SOT-23. ОУ работают от однополярного источника питания 2…5,5 В, в индустриальном температурном диапазоне – 40…+ 85 °C. ОУ MCP606/607/608/609 — это семейство ОУ потребляет еще меньший ток (19 мкА) при полосе пропускания 155 кГц. Напряжение смещения 250 мкВ. Как и предыдущее семейство, имеет Rail-toRail выход. Выпускается с одним, двумя, четырьмя ОУ в корпусе. MCP608 имеет вход Chip Select (CS), позволяющий перевести ОУ в режим микропотребления, а его выход — в высокоимпедансное состояние. Однополярное питание 2,5…5,5 В, индустриальное исполнение –40…+85 °C. MCP606 так же выпускается в 5 выводном корпусе SOT-23. ОУ MCP616/617/618/619 — похоже на предыдущее, но имеет очень низкое напряжения смещения 125 мкВ. Полоса пропускания 150 кГц, потребляемый ток 25 мкА. Rail-to-Rail выход, 1/2/4 ОУ в корпусе, MCP618 имеет вход Chip Select.

Аналого-цифровые преобразователи

Microchip выпускает высокопроизводительные 10 и 12 разрядные АЦП. Отличные характеристики этих приборов и низкая цена делает привлекательным их использование в самых разнообразных применениях. MCP300X — семейство 10 разрядных АЦП, имеет высокую скорость преобразований (до 200 К выборок в секунду), низкий ток потребления (425 мкА, 5 нА в режиме «SLEEP»), широкий диапазон питающих напряжений 2,7…5,5 В и температур –40…+85 °C. Выпускаются в 1/2/4/8 канальном исполнении в 8/14/16 выводных корпусах DIP, SOIC. Управление и передача данных осуществляется через стандартный интерфейс SPI. MCP320X — семейство 12 разрядных АЦП, скорость преобразования до 100 К выборок в секунду. Имеет высокую точность преобразования (±1 LSB INL/DNL). Остальные параметры аналогичны предыдущему семейству. Автономные АЦП удобно применять в малогабаритных прецезионных датчиках (например, совместно с дешевым PIC12C508). Для построения систем с активными фильтрами и прецезионными АЦП Microchip предлагает воспользоваться бесплатным программным пакетом FilterLab. Поддерживается разработка фильтров до 8-го порядка Чебышева, Бесселя, Баттерворта с частотой среза от 0,1 Гц до 10 МГц. Синтезирует принципиальную схему и рассчитывает значение всех номиналов компонентов. FilterLab содержит в качестве библиотечных компонентов все ОУ и АЦП Microchip.

Цифровые потенциометры

MCP4XXXX — увеличивая номенклатуру выпускаемой аналоговой и интерфейсной продукции, Microchip представляет новую серию цифровых потенциометров семейства MCP4XXX, представленную шестью различными одно- и двухканальными устройствами с программированием по последовательному SPI-интерфейсу. Оба варианта доступны с номиналами 10, 50 и 100 кОм. Изменение положения «подвижного» (среднего) контакта задается через последовательный интерфейс SPI. Для уменьшения потребляемой мощности предусмотрено программное выключение в двухканальных версиях приборов. Также для выключения имеется специальный вывод. Семейство MCP4XXXX имеет разрешение 8 бит (256 положений «подвижного» контакта), работает от однополярного источника питания в диапазоне 2,7…5,5 В, потребляет в статическом режиме максимальный ток не более 1 мкА, погрешности DNL и INL — не более ±1 LSB. Выпускаются для работы в промышленном диапазоне температур от –40 до +85 °С.

Микросхемы для RFID-систем

MCRF450. Эта новейшая разработка от Microchip создана совместно с компаниями Mitsubishi Materials Corporation и Checkpoint Systems Inc. с использованием всех последних достижений в полупроводниковых технологиях. MCRF450 — единственное на сегодняшний день устройство на рынке, предлагающее 32-разрядную усовершенствованную функцию EAS, допускающее защиту и идентификацию удельного элемента памяти. Невозможно изготовление дубликатов тагов, так как уникальный 32-разрядный идентификатор не может быть изменен пользователем и программируется только на заводе-изготовителе.

Описание шины I 2 C.

Общие данные

Шина I 2 C разработана для подключения дополнительных устройств по двум линиям, обеспечивая двунаправленный обмен данными на высокой скорости. Руководство предназначено для ознакомления с работой шины I 2 C с целью самостоятельной реализации протокола обмена. Для более подробного описания обратитесь к технической документации фирмы-разработчика Philips Corporation. Ниже приведены характеристики шины I 2 C : — скорость обмена — до 100 кбит/сек для стандартного режима и до 400 кбит/сек для усовершенствованного быстрого режима; — максимальная длина линий — не более 2-х метро;. — суммарная емкость линий — не более 400 пф; — входная емкость на каждую ИС — не более 10 пф; — величина подтягивающих резисторов 1. 10 кОм;

Шина — это двунаправленная асинхронная шина с последовательной передачей данных и возможностью адресации до 128 устройств. Физически шина содержит две сигнальные линии, одна из которых (SCL) предназначена для передачи тактового сигнала, а вторая (SDA) для обмена данными. Для управления линиями применяются выходные каскады с открытым стоком или открытым коллектором, чтобы устройства можно было соединять по схеме «Монтажное ИЛИ». Для обеспечения высокого уровня при отсутствии на шине активного устройства используются внешние подтягивающие резисторы к источнику питания +5 В сопротивлением 1. 10 кОм, в зависимости от физической длины линии и скорости передачи данных. На одной шине могут работать устройства нормального и быстрого режима.

Все абоненты шины делятся на два класса — «Master» (ведущий) и «Slave» (ведомый). Устройство «Master» генерирует тактовый сигнал (SCL) и, как следствие, является ведущим. Оно может самостоятельно выходить на шину и адресовать любое ведомое устройство с целью передачи или приема информации. Когда ведущий хочет инициализировать передачу данных, он сначала передает адрес устройства, к которому он хочет обратиться. Все устройства на шине следят за выдаваемым адресом и сравнивают его с собственным. Вместе с адресом передается бит, определяющий, хочет ли ведущий читать из ведомого, или писать в него. Во время передачи всегда один из абонентов передатчик, а другой — приемник. Ведущий и ведомый могут работать в одном из двух режимов: — ведущий передает, а ведомый принимает; — ведущий принимает, а ведомый передает.

Кроме того, возможен, так называемый, «Multi Master» режим, когда на шине установлено несколько ведущих абонентов, которые либо совместно разделяют общие ведомые устройства, либо попеременно являются то ведущими устройствами, то ведомыми. Такой режим требует арбитража и распознавания конфликтов. Естественно, он сложнее в реализации и, как следствие, реже используется в реальных изделиях.

Инициализация и прекращение передачи данных

В начальный момент времени — в режиме ожидания, обе линии SCL И SDA находятся в состоянии лог. «1», так как притянуты подтягивающими резисторами (транзистор выходного каскада с открытым стоком или открытым коллектором закрыт). Начало и конец передачи данных определяют условия START и STOP. Условие START определяется как переход SDA из высокого уровня в низкий при высоком уровне SCL, а условие STOP — как переход SDA из низкого уровня в высокий при высоком уровне SCL (см. ниже рисунок 1). Ведущий генерирует эти условия в начале и конце передачи данных. Ввиду такого способа определения START и STOP при передачи данных линия SDA может изменять свое состояние только при низком уровне SCL.

Адресация на шине I 2 C

Существуют два формата адреса. Простейший 7-битный формат с битом R/-W (см. рисунок 2). Адрес — это 7 старших битов байта. Например, при указании адреса для PIC17C756 при записи в SSPADD младший бит не важен. Более сложным является 10-битный формат с битом R/-W, где первые пять битов определяют, что это 10-битный адрес.

.Где S — условие START, R/W — бит чтение/запись (1 — чтение, 0 — запись), ACK — подтверждение приема, посылается ведомым.

Подтверждение передачи

Данные должны передаваться побайтно, без ограничения количества байтов за сеанс. После каждого байта ведомый выдает бит подтверждения ACK. Когда ведомый не подтверждает получение адреса или данных, ведущий должен прервать передачу. Ведомый оставляет на SDA высокий уровень, чтобы ведущий выставил STOP.

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

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

Когда ведущий не желает освобождать шину (выставив STOP), он должен выставить повторный старт, который идентичен START (переход SDA из из высокого уровня в низкий при высоком уровне SCL), но выдается вслед за подтверждением, т.е. шина не освобождена. Это позволяет ведущему посылать команды ведомому и затем принимать запрошенную информацию или адресовать различные ведомые устройства. Подобный механизм показан на рисунке 4.

Работа при конкуренции

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

Арбитраж. Арбитраж осуществляется на шине данных SDA, пока на SCL высокий уровень. Ведущий, который выдает высокий уровень, когда другой ведущий выдает низкий уровень, теряет арбитраж и отключает свою линию данных, но может продолжать выдавать тактовый сигнал до конца байта, при попытке передачи которого ведущий потерял арбитраж. Когда несколько ведущих обращаются к одному ведомому, арбитраж происходит при передачи данных.

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

Арбитраж не допускается между:
— повторными START-ми
— STOP и битом данных
— повторным START и STOP

Ведущий должен обеспечить невозможность возникновения приведенных условий.

Синхронизация тактовых сигналов. Синхронизация тактовых сигналов начинается, когда устройства начинают арбитраж, и реализуется благодаря использованию «монтажного И» соединения с SCL. Переход SCL из высокого уровня в низкий заставляет все устройства, вовлеченные в арбитраж, начинать отсчет длительности низкого уровня. После того, как тактовый сигнал устройства перешел в низкий уровень, оно будет удерживать этот уровень на SCL до тех пор, пока тактовый сигнал не перейдет в высокий уровень, но при этом на SCL может по прежнему сохраняться низкий уровень, если уровень тактового сигнала другого устройства все еще низкий. Низкий уровень на SCL удерживается устройством с самым длинным полупериодом низкого уровня. Устройство с более коротким полупериодом выдают высокий уровень на SCL и переходят в состояние ожидания до тех пор, пока на SCL не появится высокий уровень. После этого все устройства начинают отсчет длительности высокого уровня. Устройства с самым коротким полупериодом высокого уровня по завершении его переведет SCL в низкий уровень. Длительность высокого уровня на SCL определяется устройством с самым коротким полупериодом высокого уровня.

Временные параметры шины

На рисунках 5 и 6 и в таблицах приведены требования PHILIPS к сигналам на шине.

Номер Символ Описание Мин. Ном. Макс. Ед. изм Прим
90 Tsu.sta Уста-
новление
START
100 кГц 4700 нс Только для повторного START
400 кГц 600
91 Thd.sta Удер-
жание
START
100 кГц 4000 нс
400 кГц 600
92 Tsu.sto Уста-
новление
STOP
100 кГц 4700 нс
400 кГц 600
93 Thd.sto Удер-
жание
STOP
100 кГц 4000 нс
400 кГц 600

Микроконтроллеры семейства PICmicro18 фирмы MICROCHIP

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

Микроконтроллеры с CAN-интерфейсом

Микроконтроллеры с CAN-интерфейсом интересны, прежде всего, для разработчиков технологического оборудования, промышленной электроники, систем сбора данных. Наличие встроенного узла освобождает центральный процессор от рутинной работы обеспечения передачи и приёма кадров данных.

Долгожданная модель PIC-контроллера с CAN-интерфейсом PIC18C658/858 поступит в продажу в ближайшие месяцы. Её можно считать прародителем всех модификаций PICmicro с CAN в связи с тем, что встроенный модуль CAN2.0B одинаков для всех моделей PIC. Это позволяет переносить наработанное ПО с одной модели PIC на другую практически без изменений. Модуль CAN имеет 3 буфера-передатчика, 2 буфера-приёмника, 2 маски и 6 фильтров. Длина идентификатора — 29 бит. Скорость передачи данных — 2 Мбит/с. Архитектура и возможности встроенного модуля CAN полностью соответствует MCP2510 (CAN-контроллер фирмы MICROCHIP) с точностью до адресов регистров управления и буферов данных.

PIC18C658/858 (ядро PICmicro18): 68pin/88pin, 32 Kбайт ROM, 1536 байт RAM, 52-68 I/O, 2-уровневая система прерываний, 2 аналоговых компаратора, АЦП 12ch-16ch@10bit с возможностью измерения в спящем режиме, 4 таймера, переключение тактовой частоты на T1/T3, 2 модуля CCP, 9 бит USART, модуль MSSP (SPI 4 режима / I2C master и slave), LVD/BOR.

Заметим, что самой интересной моделью PIC-контроллеров с CAN-интерфейсом, качественно расширяющей области их применения в промышленной электронике и автоматике, является PIC18F653. Это микроконтроллер со встроенной схемой управления двигателями. Все периферийные устройства, интегрированные в PIC18F653, в той или иной комбинации встречаются и в других моделях PICmicro. Главное, что выделяет именно этот прибор — количество широтно-импульсных модуляторов управления: 6 независимых или 3 комплементарных канала 12-разрядных PWM со встроенной функцией аппаратной защиты от сбоя с разрешающей способностью в 100 нс при тактовой частоте 10 МГц и программируемой задержкой включения комплементарных выходов. Возможности измерения аналоговых сигналов расширены оригинальным АЦП с возможностью одновременного измерения по двум каналам со скоростью 200 К выборок в секунду.

PIC18F653 (ядро PICmicro18): 68pin, 32-Kb Flash, 1536 RAM, 256 EEPROM, 52 I/O, умножитель 8ґ8, 2-уровневая система прерываний, стек 31, 2 аналоговых компаратора, АЦП 10ch@10-bit, 4 таймера, переключение тактовой частоты на T1/T3, 2 модуля CCP, 9 бит USART, модуль MSSP (SPI 4режима / I2C master и slave), LVD/BOR, ICD.

Миниатюризация оборудования и снижение стоимости вскоре сделают популярным PIC18F258 — недавно анонсированный 28-pin микроконтроллер с CAN-интерфейсом. Это первый в мире микроконтроллер в 28-выводном корпусе с CAN-шиной. Не секрет, что серийный выпуск анонсируемых приборов начинается через полгода-год с момента появления первых сведений о нём. Принимая это во внимание и учитывая, что новые микроконтроллеры появятся, в лучшем случае, в ближайшие месяцы, назревает вопрос — что надо предпринять для их упреждающего использования?

Уже сейчас разработчик может собрать прототип устройства с CAN-шиной из двух узлов — микроконтроллера PIC18C452 и MCP2510. Всё программное обеспечение, созданное для этой конфигурации, может быть в дальнейшем перенесено на микроконтроллер со встроенным CAN-контроллером.

PIC18F258/458: 28pin/40pin, 32 Kбайт Flash, 1536 RAM, 256 EEPROM, 22 I/O, АЦП 5ch@10bit, 4 таймера, переключение тактовой частоты на T1/T3, CCP (PWM), 9 бит USART, модуль MSSP (SPI 4 режима / I2C master и slave), LVD/BOR, ICD.

Кстати, использование MCP2510 с микроконтроллером PIC16C505 даёт самую дешёвую реализацию узла шины с простыми пользовательскими функциями, такими как обслуживание кнопок, индикаторов и прочих подобных устройств.

Сдерживающим фактором широкого распространения CAN-шины является относительно высокая стоимость периферийного CAN-узла. Вскоре с выпуском новой серии дешёвых контроллеров MCP250XXX эта проблема будет решена.

Очень часто от узла CAN требуются минимальные функции ввода/вывода логических сигналов, аналого-цифрового преобразования или широтно-импульсной модуляции, а также невысокая цена. Именно MICROCHIP впервые в мире предложил оригинальные контроллеры серии MCP250XXX с малым количеством выводов и предельно низкой ценой, предназначенные для систем с большим количеством CAN-узлов.

В каких же ещё PIC-контроллерах можно найти CAN-интерфейс? К выпуску запланированы следующие модели: PIC18C958 (100 pin); PIC18C858, PIC18F868 (80 pin); PIC18F458 (Flash, 40 pin). Особенно интересны 100 pin PIC18C958: в нём, кроме 32 Kb EPROM линейной памяти программ на кристалле, также существует возможность подключения до 2 Mбит линейно-адресуемой внешней памяти программ.

Микроконтроллеры с USB-интерфейсом

Растущая популярность USB-интерфейса продиктовала необходимость создания недорогих малогабаритных микроконтроллеров со встроенным модулем USB. Все модели PICmicro с таким интерфейсом имеют 14-бит ядро c элементами PICmicro18 типа внутреннего умножителя частоты (PLL).

PIC16F745/765 (ядро14 бит): 28/40 pin, 8 Kслов памяти программ, 256 байт SRAM, USB1.1 (LowSpeed), 2-канальный модуль Capture/Compare/PWM (CCP), 8-бит АЦП, последовательный интерфейс USART.

PIC16F747/767 (ядро14 бит): 28/40 pin, 8 Kслов памяти программ, 256 байт SRAM, USB1.1 (LowSpeed), 2-канальный модуль Capture/Compare/PWM (CCP), 8-бит АЦП, модуль MSSP (SPI 4 режима / I2C master и slave).

Модели 745 и 747 отличаются только типом встроенного последовательного интерфейса — USART или MSSP.

Несколько слов об отладке

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

Универсальная интегрированная среда MPLAB позволяет создавать и программно симулировать первоначальный вариант кода.

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

Далее наступает момент окончательной отладки, подгонки коэффициентов и отслеживание работы на “критических” участках кода. Здесь и пригодится внутрисхемный эмулятор MPLAB-ICE 2000.

Внутрисхемный эмулятор — программно-аппаратное средство, способное замещать собой эмулируемый (отлаживаемый) микроконтроллер в разрабатываемой схеме. Это наиболее мощное и универсальное отладочное средство, работающее под управлением PC, упрощает подчас очень трудоёмкий процесс отладки и делает его удобным и наглядным для разработчика.

MPLAB-ICE 2000 — это внутрисхемный эмулятор, предназначенный для отладки электронных схем, содержащих микроконтроллеры серии PICmicro. Он имеет превосходные технические характеристики и обеспечивает разработчику максимум удобств для создания надёжного программного обеспечения. MPLAB-ICE 2000 поддерживает все выпускаемые на данный момент кристаллы PICmicro.

  • отладку программы микроконтроллера непосредственно на разрабатываемом устройстве в реальном времени;
  • выполнение программы в реальном времени, режимы “Запуск”, “Останов”, “Сброс”;
  • пошаговую отладку;
  • измерение временных интервалов между событиями;
  • возможность установки программных точек останова на внутренние и/или внешние сигналы;
  • мониторинг внутренних регистров микроконтроллера, используя возможности расширенного отладочного дисплея;
  • программное переключение источника тактовой частоты (внутренний/внешний), а так же программную установку частоты внутреннего источника;
  • просмотр и/или изменение памяти программы, содержимого EEPROM, содержимого регистров калибровочных коэффициентов (например, у PIC12C509);
  • просмотр и/или изменение управляющих регистров, а также регистров общего назначения;
  • просмотр содержимого стека;
  • задание сложных комплексных точек останова при помощи встроенного редактора, позволяющего задавать различные комбинации событий на внутренних и внешних шинах микроконтроллера в сочетании с внешними сигналами отлаживаемого устройства;
  • точки останова по времени выполнения программы.
  • работа под управлением универсальной интегрированной среды разработки MPLAB-IDE;
  • эмуляция при снижении напряжения питания отлаживаемой схемы вплоть до 2,0 В;
  • поддержка эмуляции на всём диапазоне тактовых частот (до 25–40 МГц) как от внешнего, так и от внутреннего тактового генератора;
  • возможность программной установки тактовой частоты для внутреннего генератора от 32 кГц до 25–40 МГц;
  • Объём памяти для отладки: 32K x 128 бит;
  • поддержка эмуляции всех корпусов PICmicro, включая DIP, SOIC, SSOP и MQFP/TQFP;
  • подключение к параллельному (LPT) порту PC;
  • небольшие габаритные размеры и малый вес;
  • модульный дизайн, позволяющий разработчику приобретать только те блоки эмулятора, которые понадобятся ему для работы, экономя средства;
  • простота в эксплуатации.

Конструктивно MPLAB-ICE2000 (фото) состоит из центрального блока (1) (Emulator Pod), соединяющегося с параллельным (LPT) портом компьютера, адаптера питания, модуля эмуляционного кристалла (2) (Processor Module) с присоединённым к нему кабелем, эмуляционной головки (3) (Device Adapter) под конкретный тип кристалла и подключаемого к нему адаптера корпуса (4) (Transition Socket), служащего для соединения эмулятора непосредственно с отлаживаемым устройством.

По умолчанию подразумевается, что тип корпуса микроконтроллера, применяемого в отлаживаемом устройстве — DIP. Но в последнее время практически во всех новых разработках применяют корпуса типа SOIC, SSOP и другие, монтируемые на поверхность печатной платы, с большим количеством выводов и малым шагом. Как быть в этом случае? Можно, конечно, предусмотреть на печатной плате разрабатываемого устройства посадочные места под микроконтроллер и для корпуса DIP (специально для отладки), и для штатного корпуса, планируемого для серийного изделия (например, TQFP). Альтернативой такого сложного метода является оригинальное решение: в том случае, если типом корпуса применяемого микроконтроллера не является DIP, необходимо подключать MPLAB-ICE 2000 к отлаживаемому устройству через адаптер корпуса (Transition Socket). Он специально разработан таким образом, чтобы обеспечить совместимость электрических сигналов между корпусами различных типов, и состоит из двух частей: адаптера панели DIP, который соединяется с MPLAB-ICE 2000, и впаиваемой непосредственно в отлаживаемую плату головки того типа корпуса, который используется в устройстве. В данный момент доступны головки SOIC — 8-, 14-, 18-, 20- и 28-Lead; SSOP — 20- и 28-Lead; MQFP/TQFP — 44-, 64- и 80-Lead. Это значительно сокращает время разработки печатной платы.

На передней панели располагается и разъём логического зонда (Logic Probe), с помощью которого можно подключать MPLAB-ICE 2000 к различным точкам отлаживаемой схемы для задания дополнительных внешних точек останова в процессе эмуляции, сюда же могут быть подключены, например, джамперы, меняющие режимы отладки устройства “на лету”.

В заключение отметим основные тенденции развития микроконтроллеров серии PICmicro18: активное внедрение технологии FLASH с сохранением цены OTP, увеличение разнообразной встроенной периферии, размещение энергонезависимой памяти данных EEPROM на кристалле, увеличение числа встроенных команд, оптимизация работы с высокоуровневыми Си-компиляторами, наличие встроенной системы отладки, программирование по последовательному интерфейсу. При этом микроконтроллеры серии PICmicro18 остаются программно- и pin-to-pin-совместимы с предыдущими семействами. Всё это, а так же наличие мощнейшей базы технической поддержки делает новое семейство многообещающим и высокоперспективным для применения в новейших радиоэлектронных разработках.

Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники

Pic16c505 применение как подключить

Информация о изменениях в ПО программаторов ST-001/011

 Первая строка - версия задачи и ее дата выхода (st010e.exe и st010r.exe). Вторая строка - версия файла библиотеки (st010.mlb). В скобках - количество поддерживаемых типов микросхем в данной версии ПО. Далее следуют изменения ПО появившиеся в данной версии. V5.21m от 12-01-10 V5.25b от 18-02-11 (1645) Поддержка CAT24C(021-081),CAT24C(022-082), CAT24C161,162,CAT93C46 - sEEPROM Catalist MX25L1605D,3205D,6405D - sEEPROM Macronix K8D6316UT/UB - FLASH Samsung S29JL032R31/R32,S29JL036H - FLASH Spansion ATmega48A/PA,ATmega88A/PA,ATmega168A/PA, - Micro Atmel V5.21m от 12-01-10 V5.25a от 28-04-10 (1617) Поддержка Pm25LV010 - sEEPROM PMC W25X10,20,40,80,16,32,64 - sEEPROM Winbond A29L008AT/AB (TSOP40) - FLASH Amic Technology AE49F2008 - FLASH ASD PIC16F685,687,690 - Micro Microchip ВНИМАНИЕ. Начиная с версии библиотеки V5.25a введена поддержка работы программатора c микросхемами К556РТ161 через новый адаптер STERH (556рт161 V3). Данный адаптер обеспечивает полное выполнение ТУ завода изготовителя на программирование данных микросхем. V5.21m от 12-01-10 V5.24z от 21-01-10 (1603) Поддержка MX29F004B/T - Flash Macronix AT26DF321 - sEEPROM Atmel S29C51002T/B - Flash SyncMOS V5.21m от 12-01-10 V5.24y от 12-01-10 (1571) Поддержка 27513 - EPROM INTEL AT26F004,AT26DF081A - sEEPROM Atmel К1639РТ2 - EPROM Россия W27C020 - EEPROM Winbond MX29LV004/008/BT/BB - Flash Macronix (TSOP40) M50FW080N - Flash STM (TSOP40) S29C51004T/B - Flash SyncMOS ATmega16A/32A - Micro Atmel V5.21l от 06-05-09 V5.24x от 22-10-09 (1555) PIC18F2455 - Micro Microchip SST29C010 - EEPROM SST W25X(010-080) - sEEPROM Winbond M24C04,M24C08 - sEEPROM STM V5.21l от 06-05-09 V5.24v от 06-05-09 (1557) Поддержка AT27HC641,AT27HC642 - EPROM Atmel P89V(LV)51RB(RC)(RD)2 - Micro Philips (NXP) P89C51RD2 - Micro Philips EN25F80 - sEEPROM EON PIC12F508/509,PIC16F87/88, PIC16F818/819,PIC18F2610/2620 - Micro Microchip ATmega164P(V),ATmega324P(V),ATmega644P(V) -Micro Atmel SST49LF008A - FLASH SST SST25VF016B - sEEPROM SST Поддержка К1081РР1 с напряжением стирания 18 вольт. V5.21k от 08-02-07 V5.24u от 05-02-09 (1521) ВНИМАНИЕ. Изменен алгорим программирования и номиналы резисторов в переходнике для микросхем 556РТ161. Рекомендуться использовать для программирования этих микросхем переходник нашего производства DIP40 - RSOP40 (Универсальный "DIP" и "Планар") Номиналы резисторов в шинах данных изменены с 51 ом на 180 ом. ОСОБОЕ ВНИМАНИЕ. Использование данной версии библиотеки и переходников как нашего прежнего выпуска с резисторами в 51 ом, так и самодельных с таким же номиналом резисторов однозначно будет приводить к выходу микросхем из строя. Так-же нельзя производить программирование этих микросхем в DIP корпусах напрямую через панельку программатора без использования переходника. V5.21k от 08-02-07 V5.24t от 06-06-08 (1521) Поддержка Am29LV320DT(B) - FLASH AMD TE28F200,400,800B5T(B) - FLASH INTEL MT28F200,400,800B5T(B) - FLASH MICRON AT89LP213,AT89LP214 AT89LP2052,AT89LP4052 - Micro Atmel (параллельное и последовательное программирование) V5.21k от 08-02-07 V5.24s от 15-04-08 (1501) Поддержка SST37VF512,010,020,040 - EEPROM SST M50FW040 (TSOP40) - FLASH STM V5.21k от 08-02-07 V5.24r от 08-04-08 (1496) Поддержка SST25VF512,010,020,040,080B - sEEPROM SST V5.21k от 08-02-07 V5.24q от 20-03-08 (1491) Поддержка M27C322 - Eprom STM исправлена ошибка программирования M27C160 Eprom STM V5.21k от 08-02-07 V5.24p от 16-01-08 (1475) Поддержка AT27C516 - Eprom Atmel NMC93C06(7002MN010) - sEEPROM National Semiconductor V5.21k от 08-02-07 V5.24o от 19-12-07 (1472) Поддержка AT90USB128x - Micro Atmel (параллельное и последовательное программирование) V5.21k от 08-02-07 V5.24n от 28-11-07 (1470) Поддержка SST39V(L)F080 - Flash SST (корпус TSOP40) FM24C04A,FM24CL04,FM24C16A,FM24CL16, FM24C64,FM24CL64A,FM24C256,FM24C512 - FRAM Ramtron AT93C86 - sEEPROM Atmel V5.21k от 08-02-07 V5.24m от 10-10-07 (1458) Поддержка MX26LV160AT/AB - Flash Macronix A29L040L - Flash Amic V5.21k от 08-02-07 V5.24l от 19-09-07 (1455) Поддержка TC58FVB160,TC58FVT160 - Flash Toshiba W39V040FB - Flash Winbond V5.21k от 08-02-07 V5.24k от 18-07-07 (1451) Поддержка A29001T(B),A290011T(B) - Flash Amic M58LW032C,M58LW064C,M58LW128A - Flash STM PIC18C442,PIC18C452 - Micro Microchip PIC17C752,PIC17(L)C756(A),PIC17C762 PIC17C766 - Micro Microchip последовательное программирование Для внутрисхемного программирования PIC17CXXX от Microchip используются следующие контакты колодки DIP40/DIP42 программатора --------T--------¬ ¦ DIP40 ¦ DIP42 ¦ +-------+--------+ --------------------¬ ¦ 14 ¦ 15 +-------+ VCC ¦ * +-------+--------+ +-------------------+ ¦ 15 ¦ 16 +-------+ DATA (RA4) ¦ ** +-------+--------+ +-------------------+ ¦ 16 ¦ 17 +-------+ TEST ¦ +-------+--------+ +-------------------+ ¦ 17 ¦ 18 +-------+ MCLR ¦ +-------+--------+ +-------------------+ ¦ 18 ¦ 19 +-------+ SCK (RA5) ¦ ** +-------+--------+ +-------------------+ ¦ 19 ¦ 20 +-------+ OSC (RA1) ¦ +-------+--------+ +-------------------+ ¦ 20 ¦ 21 +-------+ GND ¦ *** L-------+--------- L-------------------- * - Не используеться, если для микросхемы в устройстве имеется питание +5 вольт. ** - При длинном кабеле >> 20 см. рекомендуется притянуть через резисторы 1 ком. к VCC на стороне устройства. *** - Соединяется с "землей" устройства в обязательном порядке. V5.21k от 08-02-07 V5.24j от 12-04-07 (1438) Поддержка AT89S8253 - Micro Atmel последовательное программирование V5.21k от 08-02-07 V5.24i от 15-03-07 (1426) Поддержка TE28F800C3T(B),TE28F160C3T(B) TE28F320C3T(B) - Flash Intel ATmega329,3290,645,6450,649,6490 - Micro Atmel (параллельное и последовательное программирование) AT24C32C,AT24C64B,AT24C64C AT24C128B,AT24C256B,AT24C512B, - sEEPROM Atmel TC58FVM5B2A,TC58FVM5T2A TC58FVM6B2A,TC58FVM6T2A - Flash Toshiba W39V040 - Flash Winbond EN29LV040 - Flash Eon SST29LE010 - EEPROM SST HT27C010 - EPROM Holtec EPCS1,EPCS4,EPCS16 - sEEPROM Altera M93C76 - sEEPROM STM V5.21k от 08-02-07 V5.24h от 08-02-07 (1372) ATtiny24/44/84/25/45/85/261/461/861 AT90PWM2/2B/3/3b - Micro Atmel (параллельное и последовательное программирование) V5.21j от 22-02-06 V5.24f от 24-01-07 (1331) Поддержка PIC16F636,PIC16F684,PIC16F688 - Micro Microchip V5.21j от 22-02-06 V5.24f от 24-01-07 (1328) Поддержка ET2716 - Eprom Mostek M5L2732K - Eprom Mitsubishi Electric PIC12F635,PIC12F683 - Micro Microchip AT25010A,AT25020A,AT25040A - sEEPROM Atmel FM93C56 - sEEPROM Fairchild Semiconductor M24C16,M24C32,M24C64 M24128,M24256,M24512 - sEEPROM STM 93c56A(B)(C), 93lc56A(C), 93aa56A(B)(C) 93c66A(B)(C), 93lc66A(C) 93aa66A(B)(C) - sEEPROM Microchip MBM29F080A,MBM29F016A MBM29DL161(2,3,4)TE(BE) - Flash Fujitsu V5.21j от 22-02-06 V5.24e от 02-11-06 (1287) Поддержка PIC16F913(916) - Micro Microchip V5.21j от 22-02-06 V5.24d от 19-10-06 (1285) Поддержка AT49BV(LV)1614(T) - Flash Atmel AT49BV160C(T),AT49BV162(T),AT49BV163(T) - Flash Atmel TS87C52X2 - Micro Temic V5.21j от 22-02-06 V5.24c от 03-10-06 (1272) Поддержка W39V040A - Flash Winbond V5.21j от 22-02-06 V5.24b от 26-09-06 (1271) Поддержка EN29F002(N)T(B) - Flash EON V5.21j от 22-02-06 V5.24a от 08-08-06 (1267) Поддержка W77L(E)516 - Micro Winbond V5.21j от 22-02-06 V5.23z от 16-06-06 (1265) Поддержка LE25FV051T - sEEPROM Sanyo ATMEGA325,640,644,645,6450,1280,1281,2560,2561 Micro Atmel (параллельное и последовательное программирование) V5.21j от 22-02-06 V5.23y от 23-05-06 (1235) Поддержка AT49F2048A,AT49LV8192A(T) - Flash Atmel V5.21j от 22-02-06 V5.23x от 25-04-06 (1232) Поддержка AT89S2051,AT89S4051 - Micro Atmel (параллельное и последовательное программирование) AK6420AM,AK6440AM,AK6480AM - sEEPROM Asahi Kasei V5.21j от 22-02-06 V5.23w от 22-02-06 (1225) Поддержка MPC89E(L)51,52,53,54,58,515,516,556 - Micro MegaWin исправлена ошибка программирования W77E58 - Micro Winbond V5.21i от 30-11-05 V5.23v от 15-02-06 (1209) Поддержка AT28HC256 - EEPROM Atmel 24LC512 - sEEPROM Microchip W27E040 - EEPROM Winbond V5.21i от 30-11-05 V5.23u от 23-12-05 (1206) Поддержка SST49LF002B,SST49LF003B,SST49LF004B - FLASH SST PIC10F200,PIC10F202,PIC10F204 PIC10F206 - MICRO Microchip Для внутрисхемного программирования PIC10 от Microchip используются следующие контакты колодки DIP40/DIP42 программатора --------T--------¬ ¦ DIP40 ¦ DIP42 ¦ +-------+--------+ -------¬ ¦ 14 ¦ 15 +------+ VCC ¦ * +-------+--------+ +------+ ¦ 15 ¦ 16 ¦ ¦ ¦ +-------+--------+ +------+ ¦ 16 ¦ 17 ¦ ¦ ¦ +-------+--------+ +------+ ¦ 17 ¦ 18 +------+ MCLR ¦ +-------+--------+ +------+ ¦ 18 ¦ 19 +------+ GP1 ¦ ** +-------+--------+ +------+ ¦ 19 ¦ 20 +------+ GP0 ¦ ** +-------+--------+ +------+ ¦ 20 ¦ 21 +------+ GND ¦ L-------+--------- L------- * - Не используеться, если для микросхемы в устройстве имеется питание +5 вольт. ** - При длинном кабеле >> 20 см. притянуть через резисторы 1 ком. к VCC на стороне устройства. V5.21i от 30-11-05 V5.23t от 30-11-05 (1195) Поддержка A29002T,A29002B,A290021T,A290021B,A290406 - Flash AMIC AT45DB321C - sEEPROM Atmel V5.21h от 14-10-05 V5.23s от 11-11-05 (1189) Поддержка CAT28F512 Flash Catalyst M29W320DT/DB,M29W640DT/DB - FLASH STM (SGS - Thompson) V5.21h от 14-10-05 V5.23r от 14-10-05 (1184) Поддержка P89C60X2,P89C61X2 - Micro Philips MX27C2000 - EPROM Macronix Am29F017D (TSOP40) - Flash AMD Am29F032B (TSOP40) - Flash AMD M95512 - sEEPROM STM (SGS - Thompson) V5.21g от 19-07-05 V5.23q от 28-09-05 (1178) Поддержка AT49BV040T - Flash ATMEL M27C322 - EPROM STM (SGS - Thompson) M573РФ4А - EPROM Россия V5.21g от 19-07-05 V5.23p от 19-07-05 (1175) Поддержка AT45DB21-AT45DB41 корпус SOIC8 - DataFlash ATMEL AT45DB11-AT45DB321 SPI программирование - DataFlash ATMEL Для SPI программирования DataFlash от ATMEL используются следующие контакты колодки DIP40/DIP42 программатора --------T--------ѓ Ѓ DIP40 Ѓ DIP42 Ѓ +-------+--------+ -------ѓ Ѓ 14 Ѓ 15 +------+ VCC Ѓ * +-------+--------+ +------+ Ѓ 15 Ѓ 16 +------+ RESETЃ +-------+--------+ +------+ Ѓ 16 Ѓ 17 +------+ SI Ѓ ** +-------+--------+ +------+ Ѓ 17 Ѓ 18 +------+ SO Ѓ ** +-------+--------+ +------+ Ѓ 18 Ѓ 19 +------+ SCK Ѓ ** +-------+--------+ +------+ Ѓ 19 Ѓ 20 +------+ CS Ѓ ** +-------+--------+ +------+ Ѓ 20 Ѓ 21 +------+ GND Ѓ L-------+--------- L------- * - Не используеться, если для микросхемы в устройстве имеется питание +5 вольт. ** - При длинном кабеле >> 20 см. рекомендуется притянуть через резисторы 1 ком. к VCC на стороне устройства. V5.21f от 13-04-05 V5.23o от 27-06-05 (1158) Поддержка Am29f016D ( корпус TSOP48 )- Flash AMD V5.21f от 13-04-05 V5.23n от 29-04-05 (1157) Поддержка AT45DB011B ( корпус SOIC8 )- DataFlash ATMEL V5.21f от 13-04-05 V5.23n от 29-04-05 (1156) Поддержка SST49LF003A - FLASH SST X24645 - sEEPROM Xicor V5.21f от 13-04-05 V5.23m от 13-04-05 (1154) Поддержка HY29F162T(B),HY29F163T(B) - FLASH HYNIX MX29F400TTC,MX29F400BTC - FLASH MACRONIX FM24C04 - sEEPROM Fairchild V5.21c от 23-02-05 V5.23k от 30-03-05 (1136) Поддержка ATtiny11L,ATtiny12V,ATtiny26(L) ATtiny2313(V) - MICRO ATMEL параллельное и последовательное (SPI) - программирование поддержка ATMEGA323(L) - MICRO ATMEL параллельное программирование AM29LV200BB/BT - FLASH AMD V5.21c от 23-02-05 V5.23j от 22-03-05 (1125) Поддержка PIC16LF84,PIC16F818/819 - MICRO Microchip S29AL016M01/M02,S29AL016MR1/MR2, - FLASH AMD A29L800T/U - FLASH AMIC MX26LV800TT/BT - FLASH Macronix SST39VF88,SST39VF160 - FLASH SST V5.21c от 23-02-05 V5.23i от 23-02-05 (1112) Поддержка W27c01 - EEPROM Winbond поддержка SST27SF256,SST27SF512 - EEPROM SST EN29f040A - FLASH EON V5.21b от 22-12-04 V5.23h от 22-01-05 (1108) Поддержка W39V040F - FLASH Winbond D8751H - MICRO AMD V5.21b от 22-12-04 V5.23h от 22-01-05 (1106) Поддержка M29F200BT(B),M29F400BT(B),M29F800DT(B) - FLASH ST-Microelectronics V5.21b от 22-12-04 V5.23g от 21-01-05 (1100) Исправлена ошибка программирования 85C22V10 -PLD Intel V5.21b от 22-12-04 V5.23f от 13-01-05 (1100) Поддержка W29C512A,W29EE512 - FLASH Winbond V5.21b от 22-12-04 V5.23e от 22-12-04 (1098) Поддержка SST39SF040,SST49LF004A - FLASH SST M5M27C202 - EPROM Mitsubishi Electric V5.21a от 12-10-04 V5.23d от 17-11-04 (1095) Поддержка 25(C)(LC)(AA)010-640 - sEEPROM Microchip V5.21a от 12-10-04 V5.23c от 28-10-04 (1074) Поддержка LE25FV101T - sEEPROM SANYO Внимание. Установка данной микросхемы в панельку программатора производиться с разворотом на 180 градусов V5.21a от 12-10-04 V5.23b от 12-10-04 (1073) Поддержка SST27SF010,SST27SF020 - EPROM SST Pm49FL002T - FLASH PMC Внимание. При работе со следующими микросхемами используется адаптер DIP40-TSOP40 (FLASH 256K-4M X 8) E28F008SA,E28F016SA E28F004S3,E28F008S3,E28F016S3 E28F004S5,E28F008S5,E28F016S5 - FLASH INTEL V5.20z от 20-09-04 V5.23a от 20-09-04 (1059) Поддержка TE28F800B3T(B),TE28F160B3T(B) TE28F320B3T(B),TE28F640B3T(B) - FLASH INTEL Внимание. При работе с данными микросхемами используется адаптер DIP42-TSOP48 (FLASH 128K-2M X 16) V5.20y от 17-08-04 V5.22z от 17-08-04 (1051) Исправлена ошибка в работе "внутреннего теста программатора" V5.20x от 26-05-04 V5.22y от 18-06-04 (1051) Исправлена ошибка программирования конфигурации на микроконтроллерах PIC18Fxxxx V5.20x от 26-05-04 V5.22x от 26-05-04 (1051) Поддержка P89C51,52,54,58X2 - MICRO Philips V5.20w от 13-11-03 V5.22w от 26-04-04 (1046) Поддержка AT89C51RD2,ED2,ID2 - MICRO Atmel поддержка MBM29F160BE,MBM29F160TE - FLASH Fujisu изменено распределение адресного пространства для T89C51AC2,CC01 - 0x00000 - 0x07fff -- User Memory 0x08000 - 0x0f7ff -- Unused Memory (неиспользуемое) 0x0f800 - 0x0ffff -- Boot Memory 0x10000 - 0x107ff -- Data Memory Внимание . Цоколевка для T89C51AC2,CC01 (корпуса PLCC и PQFP) не совпадает со стандартной для MCS51. V5.20w от 13-11-03 V5.22v от 09-04-04 (1041) Поддержка W78E52B,W78LE52 - MICRO Winbond Поддержка ATmega48,88,168(V) - MICRO ATMEL Параллельное и последовательное (SPI) - программирование V5.20w от 13-11-03 V5.22u от 08-04-04 (1027) Поддержка BU9882 - sEEPROM Rohm V5.20w от 13-11-03 V5.22t от 26-03-04 (1026) Поддержка AT49BV(LV)2048A - Flash Atmel Поддержка PIC16F(LF)627A,628A - MICRO Microchip Исправлена ошибка стирания PIC16F(LF)648A Исправлена ошибка программирования конфигурации на ATmega8515(L) Поправлен алгоритм программирования К1623РТ2 V5.20w от 13-11-03 V5.22s от 28-11-03 (1020) Поддержка CAT28F010 - Flash Catalyst V5.20w от 13-11-03 V5.22r от 13-11-03 (1019) Поддержка ATmega8535(V) - MICRO ATMEL Параллельное и последовательное (SPI) - программирование V5.20v от 07-05-03 V5.22q от 10-11-03 (1015) Поддержка PIC18F6520,8520,6620,8620 6720,8720 - MICRO Microchip Последовательное (SPI) - программирование V5.20w от 07-05-03 V5.22p от 01-11-03 (1009) Поддержка ATmega64(L) - MICRO ATMEL Последовательное (SPI) - программирование V5.20v от 07-05-03 V5.22o от 28-10-03 (1007) Поддержка ATmega162(L,V) - MICRO ATMEL Параллельное и последовательное (SPI) - программирование Поддержка ATmega64(L) - MICRO ATMEL параллельное программирование Поддержка PIC18FXXXX - MICRO Microchip Параллельное и последовательное (SPI) - программирование Таблица подключения для PIC18FXXXX (S) (SPI - режим) Sterh(14) - VCC Sterh(15) - MCLR Sterh(16) - Sterh(17) - RB7 / Serial DATA Sterh(18) - RB6 / Serial CLOCK Sterh(19) - RB5 / PGM Sterh(20) - GND Нумерация выводов для "Sterh" указана для DIP40 - панельки. V5.20v от 07-05-03 V5.22n от 17-10-03 (969) Исправлена ошибка стирания PIC16F87XA - MICRO Microchip V5.20v от 07-05-03 V5.22m от 19-09-03 (969) Поддержка AT25HP256/512 - sEEPROM ATMEL ATF16V8BQ - PAL ATMEL PIC16F873A/874A/876A/877A - MICRO Microchip Pm49F002T - FLASH PMC SST49LF020 - FLASH SST Исправлена ошибка программирования конфигурации на X1736E - X17256E(X) sEPROM Xilinx V5.20v от 07-05-03 V5.22l от 21-05-03 (960) Поддержка ATmega32(L) - MICRO ATMEL параллельное программирование V5.20v от 07-05-03 V5.22k от 19-05-03 (958) Поддержка XC1736E,XC1765E(X) XC17128E(X),XC256E(X) - SEPROM Xilinx Исправлена ошибка программирования M29F040B,M29W040 - FLASH STM и FLASH PMC (29F) возникающая на некоторых экземплярах ST-010 V5.20v от 07-05-03 V5.22j от 13-05-03 (951) Поддержка M29F040B,M29W040 - FLASH STM V5.20v от 07-05-03 V5.22i от 08-05-03 (949) Поддержка SST28S(V)F040 - FLASH SST Поддержка ATmega169(L,V),ATmega32(L) - MICRO ATMEL последовательное программирование V5.20v от 07-05-03 V5.22h от 07-05-03 (942) Поддержка ATmega8515(L) - MICRO ATMEL Параллельное и последовательное (SPI) - программирование Поддержка ATmega169(L,V) - MICRO ATMEL параллельное программирование Поддержка Z86E02 - MICRO ZILOG V5.20u от 24-03-03 V5.22g от 24-03-03 (934) Поддержка W78E58B - MICRO WINBOND при чтении идентов у ATtiny12,12l,15,15L добавлено чтение калибровочного байта V5.20t от 06-12-02 V5.22f от 01-03-03 (933) Поддержка M5M27C101,M5M27C201 - EPROM Mitsubishi Electric V5.20t от 06-12-02 V5.22e от 22-02-03 (931) Поддержка XC17S15A,30A,50A,100A,150F - sEPROM Xilinx mm29lf040 - Flash MEGAWIN HY29F002TC,HY29f002BC - Flash Hyundai W77E58 - MICRO Winbond V5.20t от 06-12-02 V5.22d от 15-02-03 (922) Поддержка PIC16F630,PIC16F676 - MICRO Microchip V5.20t от 06-12-02 V5.22c от 13-02-03 (920) Поддержка PIC12F629,PIC12F675,PIC16F(LF)648A - MICRO Microchip V5.20t от 06-12-02 V5.22b от 23-01-03 (916) Поддержка Am29LV001BT/BB,Am29F(LV)001(2)BT/BB - Flash AMD W49V002U - Flash Winbond V5.20t от 06-12-02 V5.22a от 16-01-03 (907) Поддержка W49V002A,W49V002FA - Flash Winbond V5.20t от 06-12-02 V5.21z от 06-12-02 (905) Поддержка ATmega16(L) - MICRO ATMEL параллельное и последовательное (SPI) - программирование V5.20s от 28-11-02 V5.21y от 28-11-02 (901) Поддержка ATmega8(L),ATtiny26(L) - MICRO ATMEL параллельное программирование Возвращена в список W78E58 - MICRO Winbond V5.20r от 17-10-02 V5.21x от 22-11-02 (896) Исправлена ошибка программирования "DCLK Pin option" у AT17C(LV)512A,AT17C(LV)010A, AT17C(LV)002A,AT17C(LV)020A - sEEPROM - ATMEL Исключена из списка W78E58 - MICRO Winbond V5.20r от 17-10-02 V5.21w от 15-11-02 (897) Поддержка AT29BV040A - Flash ATMEL Поддержка AT17C(LV)512A,AT17C(LV)010A в DIP8 корпусе sEEPROM - ATMEL V5.20r от 17-10-02 V5.21v от 29-10-02 (892) Поддержка M6M80021,M6M80041, - sEEPROM Mitsubishi Electric V5.20r от 17-10-02 V5.21u от 17-10-02 (890) Поддержка Am29LV160DT(B) - Flash AMD ATmega8(L),ATtiny26(L) - MICRO ATMEL Последовательное (SPI) - программирование Бит "RSTDISBL" в этом режиме не программируется V5.20q от 20-06-02 V5.21t от 11-10-02 (884) Поддержка AK6420AF,AK6440AF,AK6480AF - sEEPROM ASAHI KASEI V5.20q от 20-06-02 V5.21s от 05-10-02 (881) Поддержка Am29F080B - Flash AMD MX29F080 - Flash Macronix V5.20q от 20-06-02 V5.21r от 04-10-02 (879) Поддержка TC58FVT400/B400F(FT) - Flash Toshiba Am29LV040B - Flash AMD MBM29F040C - Flash Fujitsu AT49F(BV)8192A(T) - Flash Atmel AT49BV(LV)8011(T) - Flash Atmel M95010-M95256 - sEEPROM ST Microelectronics V5.20q от 20-06-02 V5.21q от 26-09-02 (860) Поддержка CAT28F102 - Flash Catalyst Поддержка M5M28F102 - Flash Mitsubishi Electric Поддержка FM27C256Q,512Q,010Q - EPROM Fairchild Semiconductor Поддержка AT24C1024 - sEEPROM Atmel V5.20q от 20-06-02 V5.21p от 14-09-02 (854) Поддержка AT17C(LV)002(A) - sEEPROM Atmel Поддержка AT49F1025 - FLASH Atmel Поддержка AT89(L)S51/52 - MICRO Atmel Параллельное и последовательное (SPI) - программирование Поддержка AT89(L)S53,AT89(L)S8252 - MICRO Atmel последовательное (SPI) - программирование подкорректирован алгоритм программирования для AT89C2051 - MICRO Atmel V5.20q от 20-06-02 V5.21o от 20-06-02 (837) Поддержка ATMEGA161(L) - MICRO Atmel Параллельное и последовательное (SPI) - программирование V5.20p от 17-05-02 V5.21n от 31-05-02 (833) Поддержка MX29F002(N)T/B - FLASH MACRONIX V5.20p от 17-05-02 V5.21m от 18-05-02 (829) Поддержка K9F4008W0A - NAND FLASH Samsung V5.20p от 17-05-02 V5.21l от 17-05-02 (828) Поддержка ATMEGA128(L) - MICRO Atmel Параллельное и последовательное (SPI) - программирование V5.20o от 11-04-02 V5.21k от 04-05-02 (824) Поддержка SST49LF002A - FLASH SST MBM29DL400TC/BC,MBM29DL800TA/BA - FLASH Fujitsu V5.20o от 11-04-02 V5.21j от 15-04-02 (819) Убрано из списка 8 контроллеров от Atmel которые никогда не выпускались Исправлена ошибка программирования конфигурации на PIC16C773(774) V5.20o от 11-04-02 V5.21i от 11-04-02 (827) Поддержка 89C51AC2,CC01,RB2,RC2,IB2,IC2 - MICRO Temic Semiconductors Распределение адресов для T89C51AC2,CC01 - 0x00000 - 0x7fff -- User Memory 0x08000 - 0x87ff -- Boot Memory 0x08800 - 0x8fff -- Data Memory Внимание . Цоколевка для T89C51AC2,CC01 (корпуса PLCC и PQFP) не совпадает со стандартной для MCS51. V5.20n от 03-04-02 V5.21h от 03-04-02 (821) Поддержка 89C51RD2 - MICRO Temic Semiconductors V5.20m от 18-03-02 V5.21g от 25-03-02 (820) Поддержка D2764D - EPROM NEC V5.20m от 18-03-02 V5.21f от 21-03-02 (819) Добавлен 21 PIC - контроллер от Microchip, в том числе - PIC16С52,PIC16C712,PIC16C716,PIC16C717 PIC16F74,PIC16F77 V5.20m от 18-03-02 V5.21e от 18-03-02 (798) Поддержка PALCE22V10Z - PAL AMD Поддержка PIC16F73,76 - MICRO Microchip Исправлена ошибка стирания ATMEGA163(L) на некоторых экземплярах ST-011 V5.20l от 15-02-02 V5.21d от 18-02-02 (795) Поддержка W78E516B - MICRO Winbond Распределение адресов для W78E516B - 0x00000 - 0xffff -- APROM 0x10000 - 0x10fff -- LDROM Поддержка M93C46,M93C86 - sEEPROM ST-Microelectronics (SGS-Thomson) V5.20l от 15-02-02 V5.21c от 15-02-02 (792) Поддержка TMS2764 - EPROM Texas Instruments Поддержка M5L2764K - EPROM Mitsubishi Electric V5.20k от 07-12-01 V5.21b от 08-02-02 (790) Коррекция алгоритма для К556РТ161 - PROM Россия V5.20k от 07-12-01 V5.21a от 30-01-02 (790) Исправлена ошибка стирания 39SF020 - FLASH SST Поддержка TMS2564 - EPROM Texas Instruments V5.20k от 07-12-01 V5.20z от 24-12-01 (789) Поддержка MX27C256 - EPROM Macronix Поддержка SDE2506 - sEEPROM Siemens V5.20k от 07-12-01 V5.20y от 19-12-01 (787) Поддержка 29F(LV)200/400/800XX - FLASH Fujitsu Коррекция алгоритма для N82802AB/AC - FLASH INTEL V5.20k от 07-12-01 V5.20x от 07-12-01 (773) Поддержка X2864A - EEEPROM Xicor, 2764 - EPROM SEEQ V5.20j от 26-10-01 V5.20w от 01-12-01 (771) Поддержка M6M80011 - sEEPROM Mitsubishi Electric Pm29F002T/B,Pm29F004T/B,Pm29LV104RT/RB - FLASH PMC V5.20j от 26-10-01 V5.20v от 06-11-01 (764) Поддержка W27E257,W27E512 - EEPROM WINBOND V5.20j от 26-10-01 V5.20u от 26-10-01 (762) Поддержка PIC16C745/765,PIC16C773/774 V5.20i от 19-10-01 V5.20t от 19-10-01 (758) Поддержка Am29FLV010 - FLASH AMD SPI-программирование Atmel AVR AT90S1200,AT90S2313 Исправлена ошибка программирования конфигурации у ATMEGA103 в SPI - режиме V5.20h от 09-10-01 V5.20s от 09-10-01 (755) Поддержка AT49F(BV)16X4(T) - FLASH ATMEL Необходимо помнить что "Unprotect" для данных микросхем - временный. Производиться подачей +12вольт на вывод "Reset" V5.20g от 24-09-01 V5.20r от 27-09-01 (747) Поправлена ошибка программирования AT24C04 и AVR AT89S4433 (S),AT89S8535 (S) через SPI Поддержка XLS93C46 - sEEPROM Exel 93LC46B,93LC56B,93LC66B - sEEPROM Microchip 24LC41(A) - Dual port I2C sEEPROM Microchip Распределение адресов для 24LC41 0x000 - 0x200 - 4 Kbit Serial EEPROM 0x200 - 0x27f - 1 Kbit EDID Table V5.20g от 24-09-01 V5.20q от 28-08-01 (742) В меню "Установки" ("Option") введена установка расширения файла по умолчанию V5.20f от 14-08-01 V5.20q от 28-08-01 (742) Поддержка W29C040 - EEPROM WINBOND Поддержка 24LC21,211,41 - sEEPROM Microchip Поддержка BR9010,9020,9040 - sEEPROM ROHM Поддержка ST24LC21B,ST24FC21,ST24LW21,ST24FW21 - -sEEPROM ST- Microelectronics V5.20f от 14-08-01 V5.20p от 14-08-01 (731) Поддержка NMC27C256BQ - EPROM National Semiconductor Поправлена ошибка приводящая к некорректному программированию битов конфигурации у PIC-контроллеров фирмы Microchip V5.20e от 03-07-01 V5.20o от 03-07-01 (730) Поддержка PIC16F870/871/872 - MICRO Microchip Программирование "PD" - бита на ATF22V10C(Z) Подкорректированы алгоритмы программирования AT89C51 - MICRO ATMEL 556РТ6,7(A) - PROM RUSSIA V5.20d от 11-04-01 V5.20n от 08-06-01 (727) Поправил алгоритм на 556РТ6(7)А PROM - RUSSIA На ST-011 были проблемы V5.20d от 11-04-01 V5.20n от 01-06-01 (727) Поддержка AE29F2008 - EEPROM ASD Поддержка N82802AB/AC - FLASH INTEL Поддержка PIC16(L)F627/628 - MICRO Microchip V5.20d от 11-04-01 V5.20m от 22-05-01 (720) Поддержка SPI-программирования Atmel AVR AT90S8515 V5.20d от 11-04-01 V5.20l от 19-05-01 (719) Исправлена ошибка программирования 24C04A - sEEPROM Microchip V5.20d от 11-04-01 V5.20k от 12-05-01 (719) Поддержка P87C575 - MICRO Philips V5.20d от 11-04-01 V5.20j от 05-05-01 (718) Исправлена ошибка при работе с ATmega163 Неправильно определялось наличие микросхемы при некоторых комбинациях битов в слове конфигурации V5.20d от 11-04-01 V5.20i от 23-04-01 (718) Поддержка AT17C020A,AT17LC20A - SEEPROM Atmel Поддержка MX29F040 - Flash Macronix Исправлена ошибка при работе с ATF20V8 после 1996 года выпуска. V5.20d от 11-04-01 V5.20h от 14-04-01 (715) Поддержка SPI - программирования Atmel AVR AT90S2333 AT90LS2333,AT90S4433,AT90LS4433 V5.20d от 11-04-01 V5.20g от 11-04-01 (711) Поддержка SST49LF004 - Firmware Hub SST Исправлена ошибка при печати буфера в WIN95/98 V5.20c от 21-03-01 V5.20f от 29-03-01 (710) Поддержка AT28C64B - EEPROM ATMEL Поддержка AT49LV040 - Flash ATMEL Поддержка T87C51U2 - MICRO TEMIC Исправлена ошибка приводившая к некорректной работе ST-011 с некоторыми PIC16 - контроллерами V5.20c от 21-03-01 V5.20e от 07-03-01 (707) Исправлена ошибка при программировании битов конфигурации на PIC - контроллерах фирмы Microchip V5.20b от 02-03-01 V5.20e от 07-03-01 (707) Поддержка SLA24C01/04/16,SLE24C64 - sEEPROM Siemens V5.20b от 02-03-01 V5.20d от 05-03-01 (703) Поддержка X24C00 - sEEPROM Xicor V5.20b от 02-03-01 V5.20c от 02-03-01 (702) Поддержка ATmega163,163L- Micro ATMEL (Parallel & Serial Programming) TMS2532 - EPROM Texas Instruments Поправлена ошибка на AT89C(1051-4051) для ST-011 приводившая к некорректной работе c этими микросхемами на некоторых экземплярах программаторов V5.20a от 31-01-01 V5.20b от 16-02-01 (697) Поддержка AT24C16 - sEEPROM ATMEL ATtiny12,12L,15,15L - Micro ATMEL (Low-Voltage & High-Voltage Programming) X24C01,X2402,X24C04 - sEEPROM Xicor Поправлена ошибка на PIC16F873,874,876,877 V5.20a от 31-01-01 V5.20a от 31-01-01 (685) Новый формат файла st010.mlb. Введено понятие версии библиотеки. Если версия задачи совпадает с текущей версией, то можно обновлять только файл библиотеки. Поддержка AT89C51RC - MICRO ATMEL M93C56/57/66/67 - sEEPROM SGS-Thomson M93CS46/47/56/57/66/67 - sEEPROM SGS-Thomson TMS27C010A,TMS27C240 - EPROM Texas V5.12d от 15-12-00 Исправлена ошибка при работе с AT49F040 - Flash Atmel (671) Поддержка AT49F040T - Flash Atmel Поддержка ATtiny28L/V - AVR Atmel AT87F51/LV51,AT87F52/LV52,AT87F55/LV55 - MICRO Atmel Поддержка I87C257 - EPROM Intel Исправлена ошибка при работе с 8748 - MICRO Intel В редакторе буфера добавлены функции поиска (Ctr/F) и продолжения поиска (Ctr/L). Сделан более удобный выбор фирм производителей и микросхем. Помимо выбора стрелками вверх - вниз можно выбирать фирму (микросхему) просто набирая на клавиатуре ее наименование. Группа "EPLD" переименована в "PLD". Убрана группа микросхем "PLM". Микросхемы 556РТ1(2) перенесены в группу "PLD". В меню "Связь" ("Link") добавлена опция "Внутренний тест программатора", позволяющая пользователю самому проконтролировать работоспособность программатора. В случае обнаружения неисправности выдается соответствующее сообщение. V5.12c от 18-11-00 Поддержка ATtiny10/11 - AVR Atmel (661) V5.12b от 17-11-00 Поддержка MBM27C1001 - EPROM Fujitsu, (659) MX27C1000 - EPROM Macronix, AT17C020,AT17LV020 - sEEPROM Atmel, Исправлена ошибка чтения MOTOROLA HEX - файлов, В редакторе добавлен подсчет контрольной суммы буфера по комбинации клавиш Shift+F5, Исправлена ошибка при проверке на чистоту 541РТ2 V5.12a от 31-10-00 Поддержка HT27C512 - OTP EPROM HOLTEK (655) V5.11z от 27-10-00 Поддержка SPI - программирования Atmel AVR AT90S4434 (654) AT90LS4434,AT90S8535,AT90LS8535 V5.11y от 06-10-00 Поддержка SST39SFXXX - SST FLASH (650) V5.11x от 06-09-00 Поддержка M87C257 - SGS-Tomson EPROM (639) NM93С46,76,86 - Fairchild Semiconductor SEEPROM V5.11w от 01-08-00 Поддержка NMC27C256Q - National. EPROM (635) Подкорректирована работа с ATMEGA103/603(S) V5.11v от 18-07-00 Поддержка W78E51B,52,54,58 - WINBOND MICRO (634) V5.11u от 13-07-00 Поддержка SST29EE512 - SST EEPROM (630) AT49F001(N)/(N)T - Atmel FLASH V5.11t от 12-07-00 Поддержка TS87C54X2/58X2 - TEMIC MICRO (625) MBM29LV160T,MBM29LV160B - Fujitsu FLASH Am29LV160BT,Am29LV160BB - AMD FLASH MT28F400B5-T,MT28F400B5-B - Micron FLASH Изменен выбор в окне фирм-производителей . для них введен скролинг, и выбор по начальным буквам. Исправлено несколько ошибок (M27C1001 - SGS-Thomson, ATF1500A - ATMEL,ATF16V8B/L,28F400BX-B - INTEL) V5.11s от 31-05-00 Поддержка m29f010b - SGS-Thomson FLASH (617) PIC16C63A - Microchip V5.11r от 05-04-00 Поддержка nvm3060 - ITT sEEPROM (615) tc89101p,tc89102p - Toshiba sEEPROM V5.11q от 01-04-00 Поддержка mbm29lv001(2)xx - Fujisu (612) V5.11p от 28-02-00 Поддержка U635H256 - ZMD 32k8 RAM & EEPROM (606) V5.11o от 23-02-00 Поддержка W27C512 - Winbond (605) V5.11n от 03-02-00 Поддержка DS87C520/530 - DALLAS (604) V5.11m от 18-01-00 Поддержка Am28F(256-020) - AMD (602) Изменен алгоритм для 556РТ161 - Россия. V5.11l от 17-12-99 Поддержка U632H64,U635H64 - ZMD 8k8 RAM & EEPROM (597) V5.11k от 10-12-99 Исправлена ошибка программирования на (595) W27C010 - Winbond (Обновлять только ST010.MLB) V5.11k от 18-11-99 Исправлена ошибка программирования на (595) M27C1024 - SGS-Thomson (Обновлять только ST010.MLB) V5.11k от 18-11-99 Поддержка W27C010 - Winbond (595) V5.11j от 17-11-99 Исправлена ошибка снятия защиты на Am29F040 - AMD (594) Исправлена ошибка при проверке на чистоту PIC17C(42-44) - Microchip V5.11i от 10-11-99 Подкорректирован алгоритм программирования для (594) К556РТ7А - Россия Исправлена ошибка стирания AT49F010 - Atmel V5.11h от 31-10-99 Поддержка AT29C1024,AT29LV1024 - Atmel (594) ATtiny22,ATtiny22L - Atmel AT49BV512,AT49F512 - Atmel чтение-запись HEX файлов в формате Motorola S19 V5.11g от 26-10-99 Поддержка Serial EEPROM 24lc128,256 (584) Microchip Technology V5.11f от 22-10-99 Чтение HEX файлов в формате Motorola S19 (579) V5.11e от 14-10-99 Поддержка MC68HC705P9,MC68HC705P6A - Motorola (579) только для ST-011 V5.11d от 08-10-99 Поддержка PIC16C505 - Microchip (577) V5.11b от 05-10-99 Поддержка PIC16F873,874,876,877 - Microchip (576) V5.11a от 30-09-99 Поддержка HN58064P,PF - Hitachi (572) V5.10z от 10-09-99 Поддержка mx29f001b/t - Macronix (570) v(f)29c51002b/t - Mosel vitelic V5.10y от 08-09-99 Поддержка DS1220,DS1225 (564) V5.10x от 17-08-99 Поддержка PIC17C756A,762,766 - Microchip (562) V5.10w от 27-07-99 Поддержка AT90S2333,LS2333,S4433,LS4433 (559) Параллельное программирование V5.10v от 21-07-99 Поддержка ATmega103-603 - Atmel (555) Параллельное и последовательное (ISP) программирование V5.10u от 05-07-99 Поддержка AT49F002(N)/(N)T - Atmel (547) Поправлен алгоритм для 556РТ5 - Россия Поправлен алгоритм для at89c2051 - Atmel Добавлено программирование конфигурации у x24325 - Xicor V5.10t от 22-06-99 P28F002BX/T,BX/B,BC/T,BC/B - Intel (543) V5.10s от 16-06-99 Поддержка x24325 - Xicor (539) V5.10r от 15-06-99 Поддержка at24c512 - Atmel (538) V5.10q от 27-05-99 Поддержка at29lv256,512,010a,020,040a (532) V5.10p от 26-05-99 Поддержка PIC16CE623,624,625 - Microchip (527) Поддержка MC68HC705MC4 - Motorola V5.10o от 18-05-99 Поддержка ATF16V8C,CZ - Atmel (523) Микросхемы с идентами "C0","C3","Z5","Z7" До этого времени было десять лет упорного труда и более десяти моделей программаторов "Sterh".

Микроконтроллер PIC16C84-04I/SO (оригинал)

PIC16C84 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EEPROM для программ, 8-битовые данные и 64байт EEPROM памяти данных. При этом отличаются низкой стоимостью и высокой производительностью. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГц), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16C84 имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек.

Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым предварительным делителем (фактически 16 — битный таймер) и13 линий двунаправленного ввода/вывода. Высокая нагрузочная способность (25мА макс. втекающий ток, 20 мА макс. вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшается общая стоимость системы. Разработки на базе контроллеров PIC16C84 поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором и программатором.

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

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

Следует добавить, что встроенный автомат программирования EEPROM кристалла PIC16C84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования.[1]

— только 35 простых команд;

— все команды выполняются за один цикл(400ns), кроме команд перехода -2 цикла;

— рабочая частота 0 Гц . 10 МГц (min 400 нс цикл команды)

— 14 — битовые команды;

— 8 — битовые данные;

— 1024 х 14 электрически перепрограммируемой программной памяти на кристалле (EEPROM);

— 36 х 8 регистров общего использования;

— 15 специальных аппаратных регистров SFR;

— 64 x 8 электрически перепрограммируемой EEPROM памяти для данных;

— восьмиуровневый аппаратный стек;

— прямая, косвенная и относительная адресация данных и команд;

— четыре источника прерывания:

а) внешний вход — INT

б) переполнение таймера — RTCC

в) прерывание при изменении сигналов на линиях порта — B

г) по завершению записи данных в память — EEPROM

Периферия и Ввод/Вывод

— 13 линий ввода-вывода с индивидуальной настройкой;

— втекающий/вытекающий ток для управления светодиодами

. макс втекающий ток — 25 мА

. макс вытекающий ток — 20 мА

— 8 — битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;

— автоматический сброс при включении;

— таймер включения при сбросе;

— таймер запуска генератора;

— Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;

— EEPROM бит секретности для защиты кода;

— экономичный режим SLEEP;

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

— RC генератор : RC

— обычный кварцевый резонатор : XT

— высокочастотный кварцевый резонатор : HS

— экономичный низкочастотный кристалл : LP

— встроенное устройство программирования EEPROM памяти программ и данных; используются только две ножки.

— экономичная высокоскоростная КМОП EPROM технология;

— статический принцип в архитектуре;

— широкий диапазон напряжений питания и температур:

. коммерческий: 2.0 . 6.0 В, 0. +70С

. промышленный: 2.0 . 6.0 В, -40. +70С

. автомобильный: 2.0 . 6.0 В, -40. +125С

. 3 мА типично для 5В, 4МГц

. 50 мкА типично для 2В, 32КГц

. 26 мкА типично для SLEEP режима при 2В.

Архитектура основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура). Шина данных и память данных (ОЗУ) — имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14- битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. В PIC16C84 программная память объемом 1К х 14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.

Tипы корпусов и исполнений

Обозначения корпусов для кристаллов PIC16C8x. Тип корпуса указывается в Маркировке при заказе микросхем. Корпуса бывают только с 18 Выводами.

PDIP — Обычный пластмассовый двухрядный корпус. Используется для OTP EPROM версий кристаллов.

SOIC — Малогабаритный DIP корпус для монтажа на поверхность

Исполнения микросхем бывают трех типов: комерческие, для промышлености и для автомобильной электроники. Основное их отличие в температурном диапазоне и рабочем напряжении.

Рабочая температура 0 . +70 C

Рабочее напряжение 3.0 . 5.5 В

Исполнение для промышленности:

Рабочая температура -40 . +85 C

Рабочее напряжение 3.0 . 5.5 В

Исполнение для автомобилей:

Рабочая температура -40 . +125 C

Рабочее напряжение 3.0 . 5.5 В

Mаркировка при заказе:

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

: PIC16C84 — Vdd range 4. 6 V

PIC16LC84 Vdd range 2. 6 V

Температурный диапазон бывает:

E от-40С до +125С

P — обычный пластмассовый DIP

SO -300 mil SOIC

PIC16C84-04/Pxxx 4 mHz, коммерческое исполнение в PDIP корпусе, норм.диапазон Vdd, масочное ПЗУ с программой xxx

PIC16LC84-04I/SO 4 mHz, исполнение для промышленности, расширенный диапазон питания, корпус=SOIC

PIC16C84-10E/P исполнение для автомобилей, 10 mHz, PDIP, норм. питание

Максимальные значения электрических параметров

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

1. Полная рассеиваемая мощность не должна превышать 800 мВт для каждого корпуса. Рассеиваемая мощность вычисляется по следующей формуле:

2. Понижение напряжения на ножке /MCLR ниже Vss(земля) вызывает большие токи, более 80 мА, и может привести к повреждению этой линии. Поэтому, рекомендуется подавать сигналы на ножку /MCLR через ограничивающий резистор 50-100 Ом.[1]

Обзор регистров и ОЗУ:

Все программные объекты, с которыми может работать PIC, представляют собой физические регистры. Чтобы понять, как работает PIC, нужно разобраться с тем, какие регистры у него существуют и как с каждым из них работать. Hачнем с набора операционных регистров. Этот набор состоит из регистра косвенной адресации (f0), регистра таймера/счетчика (f1), программного счетчика (f2), регистра слова состояния (f3), регистра выбора (f4) и регистров ввода/вывода (f5,f6).

Эти регистры представляют основную часть программно-доступных объектов микроконтроллера.

f0. РЕГИСТР КОСВЕHHОЙ АДРЕСАЦИИ IND0: Регистр косвенной адресации f0 физически не существует. Он использует регистр выбора f4 для косвенной выборки одного из 64 возможных регистров. Любая команда, использующая f0, на самом деле обращается к регистру данных, на который указывает f4.

f1. РЕГИСТР ТАЙМЕРА/СЧЕТЧИКА TMR0: Регистр таймера/счетчика TMR0 может быть записан и считан как и любой другой регистр. TMR0 может увеличиваться по внешнему сигналу, подаваемому на вывод RTCC, или по внутренней частоте, соответствующей частоте команд.

Основное применение таймера/счетчика — подсчет числа внешних событий и измерение времени. Сигнал от внешнего или внутреннего источника также может быть предварительно поделен при помощи встроенного в PIC программируемого делителя.

f2. ПРОГРАММHЫЙ СЧЕТЧИК PCL: Программный счетчик (PC) используется для генерации последовательности адресов ячеек ПЗУ программы, содержащих 14-разрядные команды.

Ширина программного счетчика — 13 бит. Младший байт программного счетчика (PCL) доступен для чтения и записи и находится в регистре 02h. Старший байт программного счетчика (PCH) не может быть прямым образом прочитан или записан. Старший байт программного счетчика может быть записан через PCLATH регистр, адрес которого 0Ah. В зависимости от того, загружается ли в программный счетчик новое значение во время выполнения команд CALL, GOTO, или в младший байт программного счетчика (PCL) производится запись, — старшие биты программного счетчика загружаются из PCLATH разными способами

f3. РЕГИСТР СЛОВА СОСТОЯHИЯ STATUS: Регистр слова состояния похож на регистр PSW, существующий в большинстве микропроцессоров. В нем находятся бит переноса, десятичного переноса и нуля, а также биты режима включения и биты страничной адресации.

f4. РЕГИСТР ВЫБОРА FSR: Как было уже сказано, регистр выбора FSR используется вместе с регистром косвенной адресации f0 для косвенной выборки одного из 64 возможных регистров. Физически задействовано 36 регистров ОЗУ пользователя, расположенных по адресам 0Ch-2Fh и 15 служебных регистров, расположенных по различным адресам.

f5, f6. РЕГИСТРЫ ВВОДА/ВЫВОДА PORTA, PORTB Регистры f5 и f6 соответствуют двум портам ввода/вывода, имеющимся у PIC16C84.

Порт A имеет 5 разрядов PA4-PA0, которые могут быть индивидуально запрограммированы как входы или выходы при помощи регистра TRISA, имеющего адрес 85h. Линии PA двунаправленные, а линия PA4 -выход с открытым стоком. Адрес регистра порта А — 05h. Относящийся к порту А управляющий регистр TRISA расположен на первой странице регистров по адресу 85h. TRISA — это регистр шириной 5 бит. Если бит управляющего TRISA регистра имеет значение единица, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки.

Порт В — это двунаправленный порт, шириной в восемь бит (адрес регистра 06h). Относящийся к порту В управляющий регистр TRISB расположен на первой странице регистров по адресу 86h. Если бит управляющего TRISB регистра имеет значение единица, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки. У каждой ножки порта В имеется небольшая активная нагрузка (около 100мкА) на линию питания. Она автоматически отключается, если эта ножка запрограммирована как вывод. Более того, управляющий бит RBPU OPTION может отключить (RBPU=1) все нагрузки. Сброс при включении питания также отключает все нагрузки.

Порт B имеет 8 разрядов PB7-PB0 и программируется при помощи регистра TRISB, имеющего адрес 86h.

Четыре линии порта В (PB) имеют способность вызвать прерывание при изменении значения сигнала на любой из них. Если эти линии настроены на ввод, то они опрашиваются и защелкиваются в цикле чтения Q1. Новая величина входного сигнала сравнивается со старой в каждом командном цикле. При несовпадении значения сигнала на ножке и в защелке, генерируется высокий уровень. Выходы детекторов «несовпадений» PB4,PB5,PB6,PB7 объединяются по ИЛИ и генерируют прерывание RBIF (запоминаемое в INTCON). Любая линия, настроенная как вывод, не участвует в этом сравнении. Прерывание может вывести кристалл из режима SLEEP. В подпрограмме обработки прерывания следует сбросить запрос прерывания одним из следующих способов:

1) Запретить прерывания при помощи обнуления бита RBIE INTCON.

2) Прочитать порт В. Это завершит состояние сравнения.

3) Обнулить бит RBIF INTCON.

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

Задание 1 в разряде регистра TRIS программирует соответствующий разряд порта как вход. При чтении порта считывается непосредственное состояние вывода, при записи в порт запись происходит в буферный регистр.

Проблемы при организации двунаправленных портов:

-Некоторые команды внутренне выполняются как чтение+запись. Например, команды BCF и BSF считывают порт целиком, модифицируют один бит и выводят результат обратно. Здесь необходима осторожность. Например, команда BSF для бита 5 регистра f6 (порт В) сначала считает все восемь бит. Затем выполняются действия над битом 5 и новое значение байта целиком записывается в выходные защелки. Если другой бит регистра f6 использует я в качестве двунаправленного ввода/вывода (скажем бит 0) и в данный момент он определен как входной, входной сигнал на этой ножке будет считан и записан обратно в выходную защелку этой-же ножки, затирая ее предыдущее состояние.

До тех пор пока эта ножка остается в режиме ввода, никаких проблем не возникает. Однако, если позднее линия 0 переключится в режим вывода, ее состояние будет неопределенным.

На ножку, работающую в режиме вывода, не должны «наваливаться» внешние источники токов(«монтажное И», «монтажное ИЛИ»). Результирующие большие токи могут повредить кристалл.

Последовательное обращение к портам ввода/вывода:

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

f8, f9. РЕГИСТРЫ ЭППЗУ EEDATA, EEADR: PIC16C84 имеет встроенное электрически перепрограммируемое ПЗУ размером 64 байта, которое может быть считано и записано при помощи регистра данных EEDATA и регистра адреса EEADR. Запись нового байта длится около 10 мсек и управляется встроенным таймером. Регистр EECON1 (адрес 88h) — это управляющий регистр шириной пять бит. Младшие пять бит физически существуют, а старшие три бита читаются всегда как `0`.

Управляющие биты RD и WR запускают соответственно чтение и запись. Они могут быть установлены только программно. Сбрасываются- аппаратно по завершения операций чтения/записи. Запрет программного сброса бита WR предотвращает преждевременное окончание записи.

RD =1 : Запускает чтение памяти данных EEPROM. Чтение занимает один цикл. Устанавливается программно. Обнуляется аппаратно.

WR =1 : Запускает запись в память данных EEPROM.

Устанавливается программно. Обнуляется аппаратно.

WREN — Бит разрешения записи в память данных EEPROM.

WREN = 1: Разрешена запись.

WREN = 0: Запрещена запись.

После включения питания WREN обнуляется.

Флаг ошибки WRERR устанавливается, когда процесс записи прерывается сигналом сброса /MCLR или сигналом сброса от WDT таймера. Рекомендуется проверять этот флаг WRERR и при необходимости производить перезапись данных, данные и адрес которых сохраняются в регистрах EEDATA и EEADR.

WRERR — Флаг ошибки записи.

WRERR = 1: Флаг устанавливается, когда операция записи преждевременно прерывается сигналом сброса /MCLR (во время обычного режима или режима SLEEP) или сигналом сброса WDT во время обычного режима.

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

EEIF — Флаг завершения записи.

EEIF = 1: Флаг устанавливается, когда завершена запись. Соответствующий бит разрешения прерывания — EEIE в регистре INTCON [1]

РЕГИСТРЫ ОБЩЕГО HАЗHАЧЕHИЯ

Регистры общего назначения представляют собой статическое ОЗУ, расположенное по адресам 0Ch-2Fh. Всего в PIC16C84 можно использовать 36 ячеек ОЗУ.[1]

СПЕЦИАЛЬHЫЕ РЕГИСТРЫ W, INTCON, OPTION

К ним относятся рабочий регистр W, используемый в большинстве команд в качестве регистра аккумулятора и регистры INTCON и OPTION. Регистр прерываний INTCON (адрес 0Bh) служит для управления режимами прерывания и содержит биты разрешения прерываний от различных источников и флаги прерываний. Регистр режимов OPTION (адрес 81h) служит для задания источников сигнала для предварительного делителя и таймера/счетчика, а также для задания коэффициента деления предварительного делителя, активного фронта сигнала для RTCC и входа прерывания. Кроме того при помощи регистра OPTION могут быть включены нагрузочные резисторы для разрядов порта B, запрограммированных как входы.[1]

СТОРОЖЕВОЙ ТАЙМЕР WDT

Сторожевой таймер WDT предназначен для предотвращения катастрофических последствий от случайных сбоев программы. Watchdog таймер представляет собой полностью независимый встроенный RC генератор, который не требует никаких внешних цепей. Он будет работать, даже если основной генератор остановлен, как это бывает при исполнении команды SLEEP. Таймер вырабатывает сигнал сброса. Выработка таких сбросов может быть запрещена путем записи нуля в специальный бит конфигурации WDTE. Эту операцию производят на этапе прожига микросхем.

Выдержка времени WDT:

Номинальная выдержка WDT составляет 18 мс (без использования делителя). Она зависит от температуры, напряжения питания, от особенностей типов микросхем. Если требуются большие задержки, то к WDT может быть подключен встроенный делитель с коэффициентом деления до 1:128; который программируется путем записи в регистр OPTION. Здесь могут быть реализованы выдержки до 2.5 секунд.

Команды «CLRWDT» и «SLEEP» обнуляют WDT и делитель, если он подключен к WDT. Это запускает выдержку времени сначала и предотвращает на некоторое время выработку сигнала сброс. Если сигнал сброса от WDT все же произошел, то одновременно обнуляется бит «TO» в регистре статуса (f3). В приложениях с высоким уровнем помех, содержимое регистра OPTION подвержено сбою. Поэтому регистр OPTION должен обновляться через равные промежутки времени.

Следует учесть, что наихудшей комбинацией является: Vdd=min, температура=max и max коэффициент деления делителя,- это приводит к самой большой выдержке времени, она может достигать нескольких секунд.[1]

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

В PIC16C84 существуют различия между вариантами сбросов:

1) Сброс по включению питания.

2) Сброс по внешнему сигналу /MCLR при нормальной работе.

3) Сброс по внешнему сигналу /MCLR в режиме SLEEP.

4) Сброс по окончанию задержки таймера WDT при нормальной работе.

5) Сброс по окончанию задержки таймера WDT в режиме SLEEP.

Некоторые из спец.регистров при сбросе не инициализируются. Они имеют случайное состояние при включении питания и не изменяются при других видах сбросов. Другая часть спец.регистров инициализируются в «состояние сброса» при всех видах сброса, кроме сброса по окончанию задержки таймера WDT в режиме SLEEP. Просто этот сброс рассматривается как временная задержка в нормальной работе. Есть еще несколько исключений. Программный счетчик всегда сбрасывается в ноль (0000h). Биты статуса TO и PD устанавливаются или сбрасываются в зависимости от варианта сброса. Эти биты используются программой для определения природы сброса.

Алгоритм сброса при вкл. питания.

Кристалл PIC16C84 имеет встроенный детектор включения питания. Таймер запуска начинает счет выдержки времени после того, как напряжение питания пересекло уровень около 1,2. 1,8 Вольт. По истечении выдержки около 72мс считается, что напряжение достигло номинала и запускается другой тайме выдержка на стабилизацию кварцевого генератора. Программируемый бит конфигурации позволяет разрешать или запрещать выдержку от встроенного таймера запуска. Выдержка запуска меняется от экземпляров кристалла, от питания и температуры. Таймер на стабилизацию генератора отсчитывает 1024 импульса от начавшего работу генератора. Считается, что кварцевый генератор за это время вышел на режим. При использовании RC генераторов- выдержка на стабилизацию не производится.

Затем включается таймер ожидания внешнего сброса /MCLR. Это необходимо для тех случаев, когда требуется синхронно запустить в работу несколько PIC контроллеров через общий для всех сигнал /MCLR. Если такого сигнала не поступает, то через время Tost вырабатывается внутренний сигнал сброса и контроллер начинает ход по программе. Время Tost программируется битами конфигурации в EEPROM. Здесь существует проблема, когда Vdd нарастает слишком медленно и все выдержки на запуск, а питание еще не достигло своего минимального значения Vdd(min) работоспособности. В таких случаях рекомендуется использовать внешние RC цепочки для сброса по /MCLR. [1]

Для микроконтроллеров семейства PIC возможно использование четырех типов тактового генератора:

XT кварцевый резонатор

HS высокочастотный кварцевый резонатор

LP микропотребляющий кварцевый резонатор

Кристаллы PIC16. могут также тактироваться и от внешних источников. Генератор, построенный на кварцевых или керамических резонаторах, требует периода стабилизации после включения питания. Для этого, встроенный таймер запуска генератора держит устройство в состоянии сброса примерно 8 мс после того, как сигнал на /MCLR ножке кристалла достигнет уровня логической единицы. Таким образом, внешняя цепочка RC , связанная с ножкой /MCLR во многих случаях не требуется. Встроенные генераторы работоспособны при определенных номиналах питающего напряжения:

При частотах ниже 500 кГц, внутренний генератор может генерировать сбойный импульс на гармониках, когда переключается бит 0 порта A. Этого не происходит при использовании внешнего генератора или при встроенном RC генераторе.

Генератор на кварцах: PIC16C84-XT, -HS или -LP требуют подключения кварцевого или керамического резонатора к выводам OSC1 и OSC2.

Маркировка следующая: XT — стандартный кварцевый генератор, HS — высокочастотный кварцевый генератор, LP — низкочастотный генератор для экономичных приложений. Резистор Rs может потребоваться для генератора «HS», особенно при частотах ниже 20 МГц для гашения гармоник. Для керамического резонатора более высокая емкость будет увеличивать стабильность генератора, но также будет увеличивать время запуска. В режимах HS и XT, чтобы избежать гармоник может потребоваться последовательный резистор Rs.

RC генератор: Когда не предъявляются требования к быстродействию и к точности по времени, ОТР кристалл, например PIC16C84-RC, позволяет сэкономить деньги и реализовать простой RC генератор.

Частота есть функция питающего напряжения, значений резистора Rext, конденсатора Cext и температуры. Кроме того, частота генератора будет незначительно изменяться от партии к партии. На частоту генерации влияет собственная емкость корпуса кристалла, ее влияние заметно для малых значений Cext. Нужно принять во внимание также дрейф R и C элементов. Для значений Rext ниже 2.2 кОМ генератор может работать нестабильно или не заводиться. При очень больших значениях Rext ( напр. 1 МОм) генератор становится чувствительным к помехам, влажности и монтажным утечкам тока.

Рекомендуемая величина Rext находится между 5 КОм и 100 КОм. Хотя генератор работоспособен и при отсутствии внешнего конденсатора (Cext = 0), С малой Cext, или вообще без нее, частота генератора сильно зависит от монтажных емкостей. Разброс будет тем больше, чем больше величина R.

Сигнал с частотой генератора, деленной на 4, присутствует на ножке OSC2/CLKOUT, и может быть использован для целей тестирования или синхронизации других схем.[1]

Организация встроенного ПЗУ:

Программный счетчик в PIC16C84 имеет ширину 13 бит и способен адресовать 8Кх14бит объема программной памяти. Однако, физически на кристалле имеется только 1Кх14 памяти (адреса 0000h-03FFh). Обращение к адресам выше 3FFh фактически есть адресация в тот же первый килобайт. Вектор сброса находится по адресу 0000h, вектор прерывания находится по адресу 0004h.

EEPROM PIC16C84 рассчитан на ограниченное число циклов стирания/записи. Чтобы записать в программную память, кристалл должен быть переведен в специальный режим при котором на ножку /MCLR подается напряжение программирования Vрrg, а питание Vdd должно находиться в пределах 4.5 В . 5.5В. PIC16C84 непригоден для применений, в которых часто модифицируется программа. Запись в программную память осуществляется побитно, последовательно с использованием только двух ножек.

Стек и возвраты из подпрограмм:

Кристалл PIC16C84 имеет восьмиуровневый аппаратный стек шириной 13 бит. Область стека не принадлежит ни к программной области ни к области данных, а указатель стека пользователю недоступен. Текущее значение программного счетчика посылается в стек, когда выполняется команда CALL или производится обработка прерывания. При выполнении процедуры возврата из подпрограммы команды RETLW , RETFIE или RETURN, в программный счетчик выгружается содержимое стека. Регистр PCLATH (0Ah) не изменяется при операциях со стеком.

Долговременная Память данных EEPROM:

Память данных EEPROM позволяет прочитать и записать байт информации. При записи байта автоматически стирается предыдущее значение и записываются новые данные (стирание перед записью). Все эти операции производит встроенный автомат записи EEPROM. Содержимое ячеек этой памяти сохраняется при выключении питания. Кристалл PIC16C84 имеет память данных 64х8 EEPROM бит, которая позволяет запись и чтение во время нормальной работы (во всем диапазоне питающих напряжений). Эта память не принадлежит области регистров ОЗУ. Доступ к ней осуществляется через два регистра: EEDATA , который содержит в себе восьмибитовые данные для чтения/записи и EEADR , который содержит в себе адрес ячейки к которой идет обращение. Дополнительно имеется два управляющих регистра: EECON1 и EECON2 .

При считывании данных из памяти EEPROM необходимо записать требуемый адрес в EEADR регистр и затем установить бит RD EECON1 в единицу. Данные появятся в следующем командном цикле в регистре EEDATA и могут быть прочитаны. Данные в регистре EEDATA защелкиваются.

При записи в память EEPROM, необходимо сначала записать требуемы адрес в EEADR регистр и данные в EEDATA регистр. Затем выполнить специальную последовательность команд, производящую непосредственную запись:

bsf EECON1,WR ;установить WR бит, начать запись

Во время выполнения этого участка программы, все прерывания должны быть запрещены для точного выполнения временной диаграммы. Время записи — примерно 10мс. Фактическое время записи будет изменяться в зависимости от напряжения, температуры и индивидуальных свойств кристалла. В конце записи бит WR автоматически обнуляется, а флаг завершения записи EEIF, он же запрос на прерывание, устанавливается.

Для предотвращения случайных записей в память данных предусмотрен специальный бит WREN в регистре EECON1. Рекомендуется держать бит WREN выключенным, кроме тех случаев, когда нужно обновить память данных. Более того, кодовые сегменты, которые устанавливают бит WREN и те, которые выполняют запись должны храниться на различных адресах, чтобы избежать случайного выполнения их обоих при сбое программы.[1]

Обзор команд и обозначения.

Каждая команда PIC16C84 — это 14-битовое слово, которое разделено по смыслу на следующие части: — 1. код операции, -2. поле для одного и более операндов, которые могут участвовать или нет в этой команде. Система команд PIC16C84 включает в себя байт-ориентированные команды, бит-ориентированные, операции с константами и команды передачи управления.

Для байт-ориентированных команд «f» обозначает собой регистр, с которым производится действие; «d» — бит определяет, куда положить результат. Если «d» =0, то результат будет помещен в W регистр, при «d»=1 результат будет помещен в «f», упомянутом в команде. Для бит-ориентированных команд «b» обозначает номер бита, участвующего в команде, а «f» -это регистр , в котором этот бит расположен.

Для команд передачи управления и опреаций с константами, «k» обозначает восьми или одиннадцатибитную константу.

Все команды выполняются в течение одного командного цикла. В двух случаях исполнение команды занимает два командных цикла: -1. проверка условия и переход, -2.изменение программного счетчика как результат выполнения команды. Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время исполнения командного цикла будет 1 мкс.[1]

Дополнительные режимы работы:

Кристалл PIC16C84 имеет пять битов конфигурации, которые хранятся в EEPROM и устанавливаются на этапе программирования кристалла. Эти биты могут быть запрограммированы (читается как `0`) или оставлены не- запрограммироваными (читается `1`) для выбора подходящего варианта конфигурации устройства. Эти биты расположены в EEPROM памяти по адресу 2007h. Пользователю следует помнить, что этот адрес находится ниже области кодов и недоступен программе. Ячейка EEPROM конфигурации.

CP — Бит защиты кода.

CP = 1: Код защиты выключен

CP = 0: Код защиты включен

Остальные биты в слове не используются и читаются как единицы.

Кристалл PIC16C84 имеет четыре слова, расположенные по адресу (2000h-2003h) Они предназначены для хранения идентификационного кода (ID) пользователя, контрольной суммы или другой информации. Как и слово конфигурации, они могут быть прочитаны или записаны только с помощью программатора. Доступа по программе к ним нет. Если кристалл защищен, пользователю рекомендуется использовать для идентификации только младшие семь бит каждого ID слова, а в старший бит записывать `0`. Тогда ID слова можно будет прочитать даже в защищенном варианте.

Защита программ от считывания:

Программный код, который записан в кристалл, может быть защищен от считывания при помощи установки бита защиты (CP) в слове конфигурации в ноль. Содержимое программы не может быть прочитано так, что с ним можно было бы работать. Кроме того, при установленном бите защиты становится невозможным изменять программу. То-же относится и к содержимому памяти данных EEPROM.

Если установлена защита, то бит CP можно стереть только вместе с содержимым кристалла. Сначала будет стерта EEPROM программная память и память данных и в последнюю очередь бит защиты кода CP.

Проверка кристалла с установленной защитой. При считывании защищенного кристалла, чтение любого адреса памяти даст результат, похожий на 0000000XXXXXXX(двоичный код), где X- это 0 или 1. Чтобы проверить сохранность памяти в защищенном кристалле, следуйте правилам:

1) запрограммируйте и проверьте работу исправного кристалла.

2) установите защиту кода программы и считайте содержимое программной памяти в файл-эталон.

3) проверяйте любой защищенный кристалл путем сравнения его программной памяти с содержимым этого эталона.

Память данных EEPROM не может быть проверена после установки бита защиты.

Режим пониженного энергопотребления:

Вход в режим SLEEP осуществляется командой SLEEP. По этой команде, если WDT разрешен, то он сбрасывается и начинает счет времени, бит «PD» в регистре статуса (f3) сбрасывается, бит «TO» устанавливается, а встроенный генератор выключается. Порты ввода/вывода сохраняют состояние, которое он имели до входа в режим SLEEP. Для снижения потребляемого тока в этом режиме, ножки на вывод должны иметь такие значения, чтобы не протекал ток между кристаллом и внешними цепями. Ножки на ввод должны быть соединены внешними резисторами с высоким или низким уровнем, чтобы избежать токов переключения, вызываемых плавающими высокоомными входами. То же и про RTCC. Ножка /MCLR должна быть под напряжением Vihmc.

Выход из режима SLEEP осуществляется в результате следующих событий:

1. Внешний сброс — импульс низкого уровня на на ножке /MCLR.

2. Сброс при срабатывании WDT(если он разрешен)

3. Прерывания. (Прерывание с ножки INT, прерывание при изменении порта B, прерывание при завершении записи данных EEPROM).

При первом событии происходит сброс всего устройства. Два других события предполагают продолжение выполнения программы. Бит «PD» в регистре статуса (f3), который устанавливается при включении, но обнуляется командой «SLEEP», может быть использован для определения состояния процессора до «просыпания»: или процессор был в режиме «SLEEP»(горячий старт), или было просто выключено питание (холодный старт). Бит «TO» позволяет определить, чем был вызван выход из режима SLEEP: или внешним сигналом на ножке /MCLR, или срабатыванием WDT.

Чтобы устройство вышло из режима SLEEP через прерывание, это прерывание должно быть разрешено установкой соответствующей маски в регистре INTCON. При выходе из режима SLEEP будет выполняться фоновая программа, если общая маска запрещает все прерывания (GIE=0). Если GIE=1, то будет выполняться подпрограмма обработки прерываний.[1]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *