Выбрать главу

СТИРАЕМЫЕ ПРОГРАММИРУЕМЫЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА

Работа некоторых устройств памяти, в которых информация стирается оптическим способом диапазона УФ, может нарушиться при наличии яркого света вблизи окна стирания. Это справедливо для стираемых программируемых постоянных ЗУ и для микроконтроллеров. И солнечное, и искусственное освещение одинаково опасны, но чаще всего, особенно на стадии доводки устройства, рабочий стол ярко освещается искусственным светом. Поэтому из предосторожности следует всегда закрывать окно стирания непрозрачной наклейкой. Во время программирования достаточно прикрывать окно обычным ластиком. Некоторые полезные замечания по программированию ЗУ сделаны в главе 2, в разделе «Программируемое постоянное запоминающее устройство».

ФОРМАТЫ ФАЙЛОВ

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

Существует три таких формата, два из которых были разработаны производителями микропроцессоров. Самым простым является собственно двоичный формат, в котором байты сохраняются один за другим в форме последовательности. Он воспринимается многими программами, но для него не существует стандартного расширения, которое добавляется к имени файла при его сохранении. Часто используется расширение. bin, но оно не является универсальным. Два другие распространенных формата, созданных компанией Motorola, — это формат S19 (расширение. sl9) и так называемый формат Intel (расширение. hex). В этих форматах данные сохраняются в форме кода ASCII и обычно через каждые 16 байт добавляется контрольная информация (checksum — проверка суммы). Для ее формирования выполняется сложение этих байтов. Результат сложения, превышающий FFH, делится на 256 или 16 (в зависимости от формата) и в соответствующем виде сохраняется в начале или в конце строки. Каждая строка предваряется адресом, по которому байты строки будут располагаться в ЗУ. В этих условиях размер сохраняемого файла во многом зависит от структуры программы. Например, если объем ЗУ равен 8 Кб, то для сохранения 10 байт полезной информации при компактном размещении данных потребуется файл размером 8 Кб в двоичном формате и приблизительно 25 байт в других форматах. В этом случае файл будет содержать адрес, за которым следует 10 байт информации, предназначенной для хранения.

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

Рассмотрим представление информации в различных форматах.

Пусть устройство памяти объемом 8 Кб должно содержать по адресу 01 00Н следующие 16 байт:

9В А6 FF В7 04 В7 05 А6 F7 В7 06 11 00 15 00 13

В двоичном формате файл займет 8192 байт, включая 256 (FFH) пустых байтов, после которых размещаются 16 байт данных, и затем опять 7920 пустых байтов.

В формате S19 файл будет записан таким образом:

В кодах ASCII получим последовательность, занимающую в шестнадцатеричной форме 43 байта:

53 31 31 31 33 30 31 30 30 39 42 41 36 46 46 42 37 30 34 42 37 30 35 41 36 46 37 42 37 30 36 31 31 30 30 31 35 30 30 31 33 41 35

Эквивалентная запись в формате Intel имеет вид:

Соответствующая последовательность кодов ASCII в шестнадцатеричной форме займет 42 байта:

31 30 30 31 30 30 30 30 39 42 41 36 46 46 42 37 30 34 42 37 30 35 41 36 46 37 42 37 30 36 31 31 30 30 31 35 30 30 31 33 41 35

ЭНЕРГОНЕЗАВИСИМОЕ ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО

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

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