Разделы
Публикации
Популярные
Новые
Главная » Классические однокристальные микроконтроллеры

1 ... 11 12 13 14 15 16 17 ... 20

DV o щ^,


BIAS

2.5V REFERENCE

CHARGING BALANCfNG A/D

CONVERTER

AUTO-ZEROED

DIGITAL

MODULATOR

FILTER

КО SVNC

CLOCK GENERATION

SERIAL INTERFACE

CONTROL REG/STER

OUTPUT REGISTER

AGND DGND Vj BFS TFS MODE SDATA SCLK D№Y AO

MCLK OUT

Рис. 11

в схеме на рис. 13 один из этих токов, протекая дополнительно через прецезионный резистор сопротивлением 12,5 кОм, создает на нем падение напряжения 2,5 Б, которое используется в качестве опорного. Как и в схемах на рис. 8 и 9, такая завязка делает устройство нечувствительным к нестабильности тока, протекающего через термосопротивление, независимо от того, где формируется этот ток.

ANALOG *5V SUPPLY

AVddoVo REFIN(-) г-6-6

REFIN(+) I REFOUT


DGND Vss

Рис. 12

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

REF IN(+)


Рис. 13

REF REF А 00 DVpo INH IN(t)

Г-О-О-О-О


CONTnoL

OUTPUT

REGISTER

REGISTER

AGND DGND Vss TFS MODE SDATA SCLK DRDY AO

Рис. 14

Аналогичный вход для сигналов высокого уровня есть и у AD7713 (рис. 15), но в отличие от предыдущей, она к тому же имеет два (а не один) дифференциальных входа и два встроенных 200-микроампер-ных источника тока. Для того, чтобы реализовать эти возможности, не увеличивая числа выводов микросхемы, разработчикам пришлось удалить из AD7713 встроенный источник опорного напряжения - как мы уже могли убедиться, в наиболее типичных применениях микросхемы его с успехом заменяет прецезионный резистор.

ОСОБЕННОСТИ AD7730 и AD7731

AD7730 является специализированной микросхемой, предназначенной для работы с мостовыми датчиками - не зря сама Analog



REF REF I-О-О-О-О-


RTDr 6-®-C!D-

SERIAL INTERFACE

CONTROL

OUTPUT

REGISTER

REGISTER

ASND DGND RFS TFS MODE SDATA SCLK DRDY AO

Рис. 15

Devices окрестила ее как Brige Transducer ADC. Она имеет две пары дифференциальных входов (рис. 16), оба вывода одной из которых могут быть использованы в качестве цифровых выходов для управления теми или иными микросхемами или устройствами. Кроме того, AD7730 имеет два выхода (АСХ и АСХ ), позволяющие изменять полярность сигнала, возбуждающего мостовую схему (и корректно учитывать его при измерении), что повышает точность преобразования.

REFINH REFINW


REFERENCE DETECT AD7730

SIGMA-DELTAA/d CONVERTER j Cj) STaHdBY

SIGHA-

PROGRAMMABLE

DELTA

DIGITAL

MODULATOR

HLTER

k-QSYNC

SERIAL INTERFACE AND CONTROL LOGIC

CLOCK--О MCLK IN

GENERATION -W) MCLK OUT

REGISTER BANK

CALIBRATION MICROCONTROLLER

SCLK CS DIN DOUT

RESET

Рис. 16

Поясним сказанное. На рис. 17 изображена упрощенная схема мостового датчика, в одной из сигнальных цепей которого (верхней) сидит некая паразитная ЭДС Е^, вносящая ошибку в результат преобразования. Разность потенциалов между сигнальными проводами в 268

Eos = SUM OF ALL OFFSET ERRORS Eos


Va-Vb = (Vo + Eos)-(-Vo + Eos) =2Vo

REVERSE

DRIVE VOLTAGES


Рис. 17

случае, когда нижний (по схеме) вывод моста заземлен (normal drive voltages), равна = -f Е^ где -сигнал непосредственно с выхода моста. Если же на нижний по схеме вывод моста подано возбуждающее напряжение, а верхний заземлен (reverse drive voltages), то разность потенциалов составит = -V + Е^. Разность - V(, будет равна 2V, т. е. окажется независимой от Е^,, в качестве которой чаще всего оказывается какая-то неучтенная термо-ЭДС.

На рис. 18 приведена схема, реализующая подобное включение мостового источника с учетом особенностей AD7730. Сигналы на выходах АСХ и АСХ противофазны и меняются с частотой, устанавливаемой при настройке микросхемы. Единичный уровень на выходе АСХ соединяет верхний вывод моста с питающим напряжением, нижний - с землей, а единица на АСХ - наоборот.

EXCITATION VOLTAGE = +SV


Рис. 18



Внутреннее строение AD7730 близко к AD7714, но несколько сложнее. В ней есть регистры, отсутствующие в последней, в частности регистр ЦАП. Ряд регистров имеет большую разрядность, например, вместо 8-разрядных верхнего и нижнего регистров фильтра в AD7730 присутствует один регистр фильтра, но 24-разрядный, вместо 8-разрядного регистра режима - 16-разрядный. Но в целом работа с AD7730 схожа с таковой у AD7714.

Еще одной особенностью AD7730 является наличие программно регулируемого встроенного 6-разрядного ЦАП, сигнал с которого суммируется (или вычитается) из входного перед усилением внутренним усилителем микросхемы. Если мост возбуждается напряжением 5 В, то диапазон напряжений, вырабатываемых ЦАП, составляет -77,5 ... -t-77,5 мВ с дискретностью 2,5 мВ.

Еще одной заслуживающей внимания особенностью AD7730 является возможность работы в режиме непрерывного чтения выбранного регистра (данных или состояния). Режим включается установкой в 1 соответствующего бита в регистре обмена (в AD7714 этот бит не задействован). При необходимости этот режим может быть отключен.

1Триложение 9

REFINH REFIN(.

AD7731

SIGM -DELTA АЛ) CONVERTER П OSTANBBV

l--6s


CLOCK -9 MCLK IN

GENERATION Л MCLK OUT

Рис. 19

RESET

AD7731 отличается от AD7730 по входам - у нее, как у AD7714, три пары дифференциальных входов, допускающих переконфигурирование в пять независимых псевдодифференциальных. У нее нет выводов АСХ и АСХ . В качестве цифровых выходов могут использоваться A1N3 и A1N4. Внутри в AD7731 отсутствует ЦАП и связанный с ним регистр (рис. 19). В остальном же AD7730 и AD7731 очень похожи, разве что последняя несколько более быстродействующая.

И последнее, о чем необходимо упомянуть - Analog Devices выпускает линейку 16-разрядных АЦП (AD7705,AD7706 и AD7715), схемотехнически похожих на вышеописанное 24-разрядное семейство.

ОСОБЕННОСТИ ОТЛАДКИ СИСТЕМ НА ОСНОВЕ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА Х51

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

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

В качестве примеров, иллюстрирующих некоторые положения, были использованы программаторы и инструментальные средства производства московской фирмы Фитон . Более подробные описания, включая рабочие и демо-версии программ, вы можете найти на http: www.phyton.ru.

ПРОГРАММИРОВАНИЕ МИКРОСХЕМ ПАМЯТИ И МИКРОКОНТРОЛЛЕРОВ. ПРОГРАММАТОРЫ

Перечень выпускаемых микросхем памяти и микроконтроллеров с внутренней памятью чрезвычайно велик. Это микросхемы памяти как с параллельным, так и с последовательным доступом информации (EPROM, EEPROM, Flash), а также микроконтроллеры с внутренней памятью команд и данных; микросхемы программируемой логики (PLD). Перечень таких изделий с каждым годом стремительно растет и расширяется.

Рассмотрим классификацию микросхем по возможности их программирования.



1. Однократно программируемые.

Масочные микросхемы - микросхемы, ПЗУ которых заполняется определенной информацией в процессе их изготовления. Обычно выпускаются производителем по контракту с соответствующим потребителем.

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

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

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

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

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

2. Микросхемы, программируемые непосредственно в устройстве пользователя. Микросхемы, поддерживающие режим внутрисхемного программирования ( ISP mode ). Они допускают выполне-

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

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

Говоря о программировании, нелишним будет отметить, что .многие микроконтроллеры с внутренним ПЗУ обладают рядом особенностей. Так, например, во многих микроконтроллерах поддерживаются различные режимы ограничения доступа. Выбор режима ограничения доступа производится при программировании. В зависимости от выбранного режима, все ПЗУ или его определенная часть могут быть:

защищены от возможности записи/дозаписи.

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

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

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

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



Рассмотрим классификацию программаторов по функцио^ нальным возможностям. Условно их можно подразделить на та* кие группы:

программаторы, программирующие микросхемы памяти (EPROM, EEPROM, Flash);

программаторы, программирующие микросхемы памяти (EPROM, EEPROM, Flash) и внутреннюю память микроконтроллеров;

программаторы, программирующие микросхемы памяти (EPROM, EEPROM, Flash), внутреннюю память микроконтроллеров, микросхемы программируемой логики (PLD);

универсальные программаторы-тестеры.

Данную классификацию можно считать достаточно условной, жестких границ между программаторами разных групп не существует. Программаторы первой и второй групп являются наиболее простыми и дешевыми устройствами. Программаторы третьей группы обычно аппаратно значительно более сложны, и стоимость их, соответственно, выше. Это объясняется, в частности, особенностью работы с устройствами программируемой логики. Микросхемы программируемой логики вообще стоят несколько обособленно в ряду программируемых устройств. Если информацию по программированию микросхем памяти и внутренней памяти микроконтроллеров фирмы-производители микросхем, как правило, не скрывают и публикуют в своих каталогах, то информацию по программированию микросхем PLD можно получить только после заключения соответствующего соглашения с фирмой-производителем микросхем. Причем некоторые производители PLD не стремятся увеличивать число фирм-производителей программаторов, поддерживающих их устройства, главное для них - качество программирования и строгое следование предписанным процедурам. Так, например, чтобы заключить соответствующие соглашения с фирмами AMD и Lattice, московской фирме Фитон пришлось сдавать квалификационный экзамен.

Последняя функциональная группа программаторов - универсальные программаторы - наиболее сложные и дорогие устройства. Но они способны работать с очень большим перечнем микросхем. Стоимость таких устройств может достигать тысяч и десятков тысяч долларов.

Аппаратное устройство программаторов

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

рой зависит способность программатора длительно и безотказно выполнять свои функции. Как показал наш многолетний опыт, любой программатор, вне зависимости от его сложности, стоимости и функциональных возможностей, обязательно должен быть снабжен (;пе1!;пальной тестовой колодкой, обеспечивающей многократный надежный контакте программируемой микросхемой. Фирмы, выпускающие такие колодки (на жаргоне последние еще называют сокет-ки), гарантируют надежный контакт при десятках тысячей операций установки в них микросхем. Наиболее удобными для пользователя являются специальные сокетки с нулевым )силием (ZIF socket). Если программатор не снабжен специальными тестовыми сокетками, предназначенными для многократных установок микросхем, а вместо них стоят дешевые одноразовые колодки, то считайте, что вы просто зря потратили свои деньги. Вы быстро сможете в этом убедиться, когда безвозвратно испортите микросхемы с однократным программированием из-за отсутствия контакта в колодке. В недорогих программаторах обычно устанавливаются универсальные (рассчитанные как на узкий, так и на широкий тип корпуса) Z1F DIP сокетки. В более дорогих образцах программаторов могут устанавливаться одновременно несколько видов ZIF сокеток, рассчитанных на разные типы корпусов микросхем (LCC, QFP и т. д.). Иногда программаторы снабжаются универсальными сменными головками под различные типы корпусов.

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

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



универсального программатора должно соответствовать количеству выводов тестовой сокетки, например, 40 драйверов для сокетки DIP-40 или 84 драйвера для сокетки LCC-84. В результате устройство становится очень сложным и дорогостояш,нм, но при этом абсолютно универсальным. Имея 40 универсальных драйверов и универсальную тестовую сокетку DIP-40, можно с уверенностью сказать, что удастся поддер;кать все суидествующие, а также любые тювые, микросхемы в корпусе DIP (с числом выводов до 40) без дополнительных адаптеров. Именно по такой схеме строятся дорогие универсальные программаторы.

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

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

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

подключение к принтерному порту;

подключение к последовательному порту;

установка специальной платы в компьютер.

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

и программатором за счет непосредственного управления последним. Но такая реализация программатора имеет и существенные недостатки. Во-первых, значительно снижается мобильность про-rpa.vEMaTopa, т. е. возможность использования одного программатора на разных компьютерах (например, в пределах одной лаборатории). Во-вторых, использование таких устройств с портативными кoшьютepaми notebook сопряжено с необходимостью использования специальных карт сопряжения.

Другой вариант сопряжения программатора с комггьютером - по каналу RS-2.32. Он допускает работу программатора с компьюте-pa.vm всех типов. К существенным недостаткам такого варианта сопряжения можно отнести невысокую пропускную способность канала. Максимальная скорость последовательного канала RS-232 ограничена значением 115 кбод, что суп^ественно ограничивает обмен между компьютером и программатором и, следовательно, снижает производительность последнего.

Подключение программатора к принтерному порту компьютера нам видится наиболее предпочтительным вариантом. Этот способ сочетает в себе достаточно высокую пропускную способность канала и не требует серьезных аппаратных затрат. При использовании этого способа удается воспользоваться центральным процессором компьютера в качестве управляющего процессора программатора.

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

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



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

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

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

Программное обеспечение программатора

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

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

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

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

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



возможность редактирования данных не только в шестнадцатеричном формате, но и в двоичном, восьмеричном и десятичном представлении;

заполнение массива строкой данных;

поиск и замена строки данных;

инвертирование данных;

копирование массива данных как внутри одного буфера, так и между разными буферами;

подсчет контрольной суммы;

конвертирование шин адреса и данных.

Еще одна особенность ПО программаторов, на которой стоит остановится отдельно - это пакетный режим работы. Такой режим реализован в очень небольшом числе программаторов. А преимущество его очевидно - автоматизация работы. Используя пакетный режим, можно создавать сценарии работы с программатором, автоматизируя всю рутинную работу. Наиболее интересны устройства, где пакетный режим работы практически не имеет ограничений, в нем доступны все ресурсы программатора. В пакетном режиме можно загружать файлы, запускать программирование, манипулировать параметрами программирования, окнами на экране, выводить графические данные и т. д. В качестве иллюстрации можно привести задачу программирования партии микросхем, в каждой из которых должен быть запрограммирован серийный номер. На специальном языке создается сценарий работы программатора, который заключается в следующем: оператор указывает начальное значение серийного номера партии микросхем и запускает процедуру программирования; программатор программирует микросхему с текущим серийным номером и вычисляет серийный номер следующей микросхемы, помещая его в соответствующий раздел памяти, далее процедура циклически повторяется. В приведенном примере пакетный режим работы значительно облегчает работу оператора и исключает ошибки оператора.

Завершая разговор о программаторах, приведем некоторые характеристики конкретного программатора ChipProg-l- производства фирмы Фитон .

Универсальный программатор ChipProg-t- предназначен для программирования:

микросхем памяти (EPROM, EEPROM, Flash);

внутреннего ППЗУ микроконтроллеров;

микросхем программируемой логики (РАЕ, GAL, EPLD, CPLD).

ChipProg-f рассчитан на работу с IBM PC совместимым компьютером. Связь с компьютером осуществляется через стандартный принтерный порт. Рабочая среда - Windows 95/98/NT/2000. Питание -

50/1708; - 37/729;

- 7/118;

внешний сетевой адаптер, питающийся от сети переменного тока с на-жением220В±10%.

< количество поддерживаемых микросхем (к-во производителей/к'во наименований) -

количество поддерживаемых микросхем памяти (к-во производителей/к-во наименований) -

количество поддерживаемых микросхем программируемой логики (к-во производителей/к-во наименований)

режим внутрисхемного программирования;

возможность чтения/программирования/верификации микросхем при различных напряжениях;

возможность изменения параметров программирования: tp, V,

возможность программирования 8-битной памяти для работы с 8-, 16-, 32-разрядными шинами;

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

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

работа с файлами в форматах Standard/Extended Intel HEX, Binary image, Motorola S, POF, JEDEC, PRG;

представление данных в шестнадцатеричном, восьмеричном, двоичном, символьном (ASCII) форматах;

запись/чтение/верификация/контроль стирания любой области памяти;

полнофункциональный двоичный редактор. Встроенный редактор поддерживает выполнение следующих функций:

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

заполнение массива строкой данных;

поиск и замена строки данных; . инвертирование данных;

копирование массива данных как внутри одного буфера, так и между разными буферами;

подсчет контрольной суммы;

. логические операции AND, OR, XOR с блоком данных;

конвертирование шин адреса и данных;

возможность автоматизированной работы по сценариям пользователя;

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

Программатор ChipProg+ аппаратно реализован на базе микросхем загружаемой логики. Программно конфигурируемая аппарату-



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

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

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

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

Пример типичного набора: стереть микросхему, проконтролировать чистоту, запрограммировать, сравнить запрограммированные данные с оригиналом, установить защиту.

ChipProg-l- снабжен одной 40-выводной колодкой с нулевым усилием. Программирование микросхем в корпусе DIP (широкий, узкий) производится без дополнительных адаптеров. Для работы с ИС в других корпусах используются специализированные адаптеры.

ChipProg+ соответствует требованиям ГОСТ 3 50377-92 (МЭК950-86), ГОСТ 29216-91 класс В, сертификат соответствия системы сертификации ГОСТ Р Госстандарта России № РОСС RU. ИМО4.ВО1990.

СРЕДСТВА РАЗРАБОТКИ И ОТЛАДКИ

ДЛЯ ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ

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

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

внутрисхемные эмуляторы;

программные отладчики-симуляторы;

платы развития (оценочные платы);

мониторные отладчики.

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

Внутрисхемные эмуляторы

Внутрисхемный эмулятор - программно аппаратное средство, способное замещать собой эмулируемый процессор в реальной схеме. Это наиболее мощное и универсальное отладочное средство.

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

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



адаптер-клипсу, который подключается непосредственно к выводам эмулируемого микроконтроллера.

Как минимум, эмулятор содержит следующие функциональные блоки:

узел эмуляции микроконтроллера;

эмуляциопная память;

подсистема точек останова;

отладчик.

Более продвхгиутые модели эмуляторов могут содержать дополнительно:

процессор точек останова;

трассировщик;

профилировщик (анализатор эффективности программного кода);

таймер реального времени;

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

программно-аппаратные средства, обеспечивающие синхронное управлен1те, необходимые для эмуляции в мультипроцессор-пых системах;

интегрированную среду разработки. Отладчик

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

Хороший отладчик позволяет осуществлять:

загрузку отлаживаемой программы в память системы;

вывод rja монитор состояния и содержимого всех регистров и памяти и при необходимости, их модификацию;

управление процессом эмуляции.

Более мощные отладчики (обычно их называют высокоуровневыми, Higii-Levei Debuggers) помимо этого позволяют:

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

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

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

Эмуляционная память

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

Трассировщик

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



1 ... 11 12 13 14 15 16 17 ... 20
© 2004-2024 AVTK.RU. Поддержка сайта: +7 495 7950139 в тональном режиме 271761
Копирование материалов разрешено при условии активной ссылки.
Яндекс.Метрика