Особенности построения памяти в микропроцессорных системах.

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

Имеются два типа полупроводниковых ЗУ: ОЗУ и ПЗУ [3]. Каждый из них имеет множество разновидностей. Общей особенностью для этих устройств является то что стимулирование входов (выбор кристалла и адрес) приводит к появлению информации на выходе (шина данных). Разницей является то, что, у ОЗУ, в отличие от ПЗУ, есть ещё два управляющих сигнала: чтение и запись которые позволяют не только считывать программы и данные из памяти, но и ещё и оперативно сохранять их в ней. К недостаткам же ОЗУ относится то, что при отключенном питании информация в них теряется.

Стандартная микросхема памяти имеет элементарную ячейку в один байт, которая адресуется одним адресом.

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

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

Из-за необходимости постоянного восстановления информации системы с динамическим ЗУ должны усложняться дополнительными специальными схемами. Но динамические ЗУ более дёшевы и потребляют меньшую мощность по сравнению со статическим ЗУ такого объема. Поэтому, статические ЗУ обычно используются лишь в небольших системах, тогда как большие ОЗУ строятся на динамических ЗУ.

В ПЗУ хранится постоянная информация. ОЗУ из-за того, что они теряют своё содержимое при отключении питания, не подходят для запоминания постоянных программ.

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

Имеются также ПЗУ, где стирание выполняется ультрафиолетовым облучением через окошко в корпусе микросхемы. Эти устройства наиболее удобны для приборов, выпускаемых небольшими объёмами.

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

В диагностируемой микропроцессорной системе К580 ОЗУ построено с использованием статического ЗУ емкостью 1К бит. Оно построено на МДП БИС ЗУ К565РУ2 с организацией 1К*1 битов. Чтобы построить 8-разрядное слово, надо взять 8 таких ЗУ. ПЗУ реализовано на двух биполярных микросхемах ППЗУ КР556РТ5 с организацией 512*8 битов. Предусмотрена возможность увеличения емкости до 1,5К байта, для чего необходимо добавить 1 микросхему в адаптер для ППЗУ. 768 байтам ПЗУ ( в которой записана программа монитора) отводятся адреса от 0000 до 002F. Информация в этой области не может быть изменена пользователем с помощью перезаписи. Для изменения его содержимого необходимы новые микросхемы ППЗУ с занесенной в них постоянной программой пользователя, которая в этом случае будет играть роль монитора системы. Если же пользователю нужно расширить функции системы без изменения уже заложенных в нее возможностей, то его дополнительная постоянная программа может располагаться по адресам от 0300 до 03FF.

Микроконтроллеры семейства 68HC08/908 реализуются на основе Гарвардской архитектуры, использующей отдельную память для хранения программ и данных [9]. Для хранения программ в различных типах микроконтроллеров применяется либо масочно-программируемое ПЗУ (ROM), либо однократно-программируемое ПЗУ (PROM), либо электрически репрограммируемое ПЗУ (EPROM, EEPROM или Flash). Внутренняя память программ обычно имеет объем от нескольких единиц до десятков Кбайт. Для хранения данных используется регистровый блок, организованный в виде нескольких регистровых банков, или внутреннее ОЗУ. Объем внутренней памяти данных составляет от нескольких десятков байт до нескольких Кбайт. Некоторые типы 8-разрядных микроконтроллеров позволяют, в случае необходимости, подключать дополнительную внешнюю память команд и данных объемом до 64–256 Кбайт. В частности, микроконтроллер 68HC908GP32 имеет Flash-память емкостью 32 Кбайт, ОЗУ данных емкостью 512 байт.

 

5.4 Методы диагностики микропроцессорных систем.

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

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

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

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

- регистрировать эти последовательности в связи с редкими (однократными) появлениями заданных комбинаций логических состояний;

Регистрировать состояния контрольных выходов в интервале времени, предшествующем выбранному событию;

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

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

Обобщенная структурная схема ЛА представлена на рис 5.1.

 

Рис.5.1

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

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

В режиме регистрации сигналы с контрольных точек поступают на входные усилители-компараторы, пороговый уровень которых определяется элементной базой МПС. Сформированный компараторами уровней набор значений сигналов подается на входы запоминающего устройства (ЗУ) и логического компаратора (ЛК). Логический компаратор предварительно настраивается (программируется) на обнаружение определенной последовательности наборов значений сигналов. После поступления запрограммированной последовательности входных наборов ЛК выдает сигнал генератору задержки, последний по истечении запрограммируемого времени выдает сигнал на устройство запуска (УЗ), которое инициирует или прекращает запись наборов значений входных сигналов в ЗУ. Основные характеристики ЛА определяют разрядность, объем и быстродействие ЗУ блока регистрации. Запись информации в ЛА происходит по тактовым сигналам. В том случае, когда тактовые сигналы поступают от внутреннего генератора независимо от испытуемого объекта, реализуется асинхронный режим записи данных. Если для синхронизации работы ЛА используются сигналы испытуемого объекта, то реализуется синхронный режим записи данных. При этом значения могут записываться фронтом или срезом тактового сигнала. Выборочная запись информации реализуется с помощью квалификаторов – отдельных каналов, не фиксируемых в памяти, но определяющих возможность записи входных данных в память. Это позволяет экономить объем свободной памяти. В реальных системах могут возникать импульсы и всплески, длительность которых меньше длительности тактового сигнала. Такие ложные сигналы считаются помехами. Существует два способа обнаружения помех: увеличение тактовой частоты в асинхронном режиме и применение «ловушек». В первом случае помехи фиксируются и визуализируются как данные, во втором случае помехи фиксируются отдельно от основных данных и визуализируются не как биты данных, а как ложные сигналы.

Основное разнообразие в семейство логических анализаторов вносят способы запуска и формы представления данных. В соответствии с сегодняшними требованиями можно разделить ЛА на несколько типов. Фирма Tektronix выделяет два основных типа: анализаторы микропроцессорных систем на программном уровне описания (embedded microprocessor software debug applica tions), называемые также анализатора мисостояний (state analyser) и анализа торы цифровых систем на логическом и временном уровне (hardware debug applications), называемые анализаторами временных соотношений (timing analyser). Первый тип ЛА характеризуется отсутствием явной причинно-следственной связи между событием и вызванным им следствием. Причем событие и следствие намного разнесены по времени. Очень часто следствие, вызванное неисправностью, появляется много позже, чем неисправность. Поэтому основные требования для таких анализаторов – наличие разнообразных сложных механизмов запуска, позволяющих отследить причину и следствие, и большие объемы памяти, необходимые для этого. Основной задачей ЛА данного типа является фиксация логических состояний на шинах процессора с частотой, соответствующей частоте работы процессора. Целесообразнее использовать внешнюю синхронизацию процессора и синхронный режим, вследствие чего частота синхронизации будет, как правило, меньше, чем у второго типа ЛА. Для отладки микропроцессорных систем требуется не только зафиксировать логические состояния, передаваемые по одной магистрали, но и идентифицировать информацию, то есть определить, к какому типу она относится (данные, команды или управление). Для этого используют многофазную синхронизацию. Этот режим работы анализатора может быть реализован следующим образом. Входные каналы анализатора разбиваются на две или три группы. По одной группе каналов записывается адрес, по другой — данные, по третьей — команды и коды управления. Каждая группа каналов записывается по своему тактовому сигналу и в свои разряды буферного регистра. После прихода всех тактовых им пульсов данные из буферного регистра подаются одновременно и в память, и на логический компаратор. Информация из памяти расшифровывается, коды команд переводятся в мнемонический код, соответствующий данному типу процессора, а данные и коды управления остаются без изменений. Эта операция называется дисассемблирование, после чего производятся визуализация и сохранение информации. Второй тип ЛА характеризуется тесной причинно-следственной связью и хронологической зависимостью между событием и следствием. Поэтому часто требуется срабатывание ЛА именно по причине, а не по следствию. Для данного типа характерен небольшой объем памяти, но анализ временных соотношений требует более высокой частоты опроса. В таких устройствах чаще всего используется асинхронный режим, позволяющий отследить временные сдвиги сигналов. Способы запуска таких анализаторов не отличаются большим разнообразием и часто ограничиваются запуском по какомулибо событию. Частота исследуемых сигналов значительно возросла, поэтому существенное влияние на работу системы может оказать изменение формы сигналов. Это привело к тому, что помимо оценки временных характеристик часто бывает необходимо исследовать такие характеристики сигналов, как активные длительности фронта и среза, активная длительность импульса, всплески, дребезг сигналов и т.д. Для этого в состав модуля ЛА включается цифровой осциллограф, позволяющий видеть реальный сигнал и использо вать его параметры при задании способов запуска ЛА. Рассмотрим основные типы ЛА на примере анализаторов фирмы HP.

1. Настольный логический анализа тор (benchtop logic analyser). Предназначен для решения комплексных задач программно-аппаратной отладки микропроцессорных систем . Сочетает в себе все необходимые возможности для решения конкретной задачи. Прибор может включать различные опции, например, аналоговый вход, большой объем памяти, осциллограф, генератор логических состояний.

2. Модульная система логического анализа (modular logic analysis system). Предоставляются наборы измерительных средств для различных задач тестирования цифровых систем, например, модули анализа временных соотношений и анализа состояний (state and timing analysis modules), модулиции цифрового осциллографа (digitizing oscilloscope modules), генератор логических состояний (pattern generator module), программные анализаторы реального времени (realtime software analysers). Модульная система представляет собой более мощное средство логического анализа, чем настольный логический анализатор. Она включает основной блок (mainframe) и набор модулей. При помощи добавления различных модулей можно как наращивать число каналов системы, так и расширять ее функциональные возможности.

3. Анализатор прототипов (prototype analyser). Используется для обработки и визуализации сигналов, собранных при помощи модульной системы логического анализа. Пользователю предоставляется удобный оконный интерфейс, позволяющий в различных окнах разместить такие представления сигналов, как временные диаграммы, листинг кода, гистограммы и т.д. С помощью маркеров обеспечивается привязка сигналов во времени для всех окон.