Как проектировать электронные схемы - Галле Клод. Страница 35
В любом случае полезно выписать параметры жесткого диска и наклеить памятку на корпус прибора.
Материнская плата и микропроцессор не вечны, и вполне возможно, что рано или поздно придется подключать старый жесткий диск к другому компьютеру. Без упомянутой предосторожности, особенно если жесткий диск распознавался автоматически, не останется практически никакой возможности определить его параметры. Крупные производители иногда указывают нужные показатели на корпусе прибора, но в подавляющем большинстве случаев эти данные на диске отсутствуют. Пример маркировки жесткого диска приведен ниже:
СТИРАЕМЫЕ ПРОГРАММИРУЕМЫЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА
Работа некоторых устройств памяти, в которых информация стирается оптическим способом диапазона УФ, может нарушиться при наличии яркого света вблизи окна стирания. Это справедливо для стираемых программируемых постоянных ЗУ и для микроконтроллеров. И солнечное, и искусственное освещение одинаково опасны, но чаще всего, особенно на стадии доводки устройства, рабочий стол ярко освещается искусственным светом. Поэтому из предосторожности следует всегда закрывать окно стирания непрозрачной наклейкой. Во время программирования достаточно прикрывать окно обычным ластиком. Некоторые полезные замечания по программированию ЗУ сделаны в главе 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
ЭНЕРГОНЕЗАВИСИМОЕ ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО
Сохранение данных в устройстве памяти при отключении напряжения питания можно обеспечить путем использования специальных компонентов. В случае применения классических компонентов оперативной памяти тот же результат достижим при организации бесперебойного питания ЗУ.
В первом варианте используются постоянные ЗУ, представляющие собой программируемые устройства, в которых информация стирается не оптическим, а электрическим способом. Недостатками таких ЗУ являются относительная сложность их применения (требуется специальное программное обеспечение, рассматриваемое ниже), довольно большое время доступа, недостаточная емкость наиболее распространенных моделей и высокая стоимость.
Есть микросхемы энергонезависимых ОЗУ, которые в своем несколько увеличенном корпусе содержат статическую память и одну или две батарейки питания. В этом случае основным недостатком также является высокая стоимость и невозможность замены израсходованных батареек. Следует, однако, отметить, что батарейки теоретически имеют очень большой срок службы.
В технической документации указывается, что подобные ЗУ можно монтировать в существующие системы, но в действительности это достаточно рискованно, поскольку в момент снятия напряжения (или при его повторном включении) возможно появление ошибочной записи. Поэтому разумнее использовать классические схемы статических ЗУ на дискретных элементах или (что предпочтительнее) монолитные ИС.
Имеется много схем, контролирующих напряжение питания, которые при необходимости переключают устройства на питание от батарейки или аккумулятора, а также обеспечивают управление логическими сигналами, запрещающими некоторые операции в режиме автономного питания. На рис. 4.3 приведен пример использования одной из таких схем, а именно микросхемы МАХ690.
При необходимости (если используется достаточно мощная батарейка) аварийным питанием можно обеспечить не только элементы памяти, но и все компоненты устройства. Микросхемы ОЗУ выбираются из многочисленных существующих типов (6116 и др.), изготовленных по КМОП технологии, с различными размерами корпуса. При переходе в режим питания от батарейки логический сигнал низкого уровня с вывода 7 микросхемы М АХ690 поступает на определенный вход ЗУ и запрещает всякий доступ к нему. Имеется в виду вход выбора кристалла CS или соответствующий дополнительный вход при инвертировании сигнала. Для более сложных вариантов адресации иногда необходимо добавить нескольких логических вентилей.
Рассмотренная небольшая схема успешно обеспечивает бесперебойную работу встроенной энергонезависимой памяти. Если вместо батареек используется аккумулятор, потребуется дополнительное зарядное устройство.
НАЧАЛЬНАЯ УСТАНОВКА МИКРОКОНТРОЛЛЕРА
Начальная установка микропроцессора или микроконтроллера — важная стадия работы, от которой зависит нормальное выполнение программы. Даже кратковременное отключение напряжения питания должно вызывать перезапуск устройства (если отсутствует резервное питание, например батарейное). Тогда схема типа МАХ690, как было показано выше, успешно генерирует управляющий импульс. Простой операционный усилитель, включенный по схеме компаратора напряжения (рис. 4.4), также может генерировать сигнал установки в исходное состояние.