Режим загрузки и верификации прикладных программ
Под воздействием внешних электрических сигналов МК51 может быть электрически запрограммирован или, иными словами, в РПП микроконтроллера могут быть загружены объектные коды прикладной программы. Содержимое РПП микроконтроллера может быть уничтожено выдержкой под ультрафиолетовым источником света (стирание) для последующего перепрограммирования. Микроконтроллер имеет средство защиты от программного "разбоя", обеспечивающее невозможность прочтения содержимого РПП в конечном изделии и, следовательно, сохранение профессиональных секретов разработчика прикладного программного обеспечения.
Загрузка программ в РПП. В режиме программирования МК51 должен работать на пониженной частоте (с резонатором 4-6 МГц) из-за необходимости мультиплексирования на внутренней шине адресной и кодовой информации. На рис. 3.14 приведена схема подключения МК51 к программатору.
Адрес ячейки РПП, в которую должен быть загружен байт прикладной программы, подается на выводы порта 1 и выводы P2.0-Р2.3 порта 2. При этом загружаемый байт поступает в МК через порт 0. Выводы Р2.4-Р2.6 и мPSEN должны быть заземлены, а на выводы Р2.7 и RST необходимо подать уровень логической 1 (для входа RST уровень логической 1 - не менее 2.5 В, для остальных входов - стандартный уровень ТТЛ). На входе мEA/VPP поддерживается уровень +5 В, но в момент загрузки байта он должен быть подключен к источнику напряжения с уровнем +21 В. В это время уровень на входе ALE/ мPROG должен быть не менее чем на 50 мс сброшен в 0. После этого напряжение на входе мEA/VPP возвращается к уровню +5 В. Источник напряжения +21 В (VPP) должен быть очень хорошо стабилизирован, так как превышение предельного значения +21.5 В на входе мEA/VPP приводит к необратимым повреждениям РПП.
Запись бита защиты. Бит защиты РПП, будучи установлен, запрещает доступ к РПП любыми внешними средствами. Схема записи бита защиты показана на рис. 3.15.
Процедура записи бита защиты такая же, как и при загрузке программ в РПП, но на вывод P2.6 должен подаваться уровень 1. Сигналы на выводах портов P0, P1 и P2.0-P2.3 могут быть в любом состоянии. Однажды установленный бит защиты можно сбросит только путем полного стирания РПП под источником УФ-излучения.
Верификация программ. Если бит защиты не запрограммирован, то содержимое РПП может быть прочитано с целью проверки правильности загрузки прикладной программы либо по ходу программирования либо после окончания программирования МК51. Доступ к ячейкам РПП (рис. 3.16) осуществляется так же, как и при программировании РПП за исключением того, что на вывод P2.7 подается сигнал 0, используемы в качестве строб-сигнала чтения. Считанные коды команд и соответствующие им адреса РПП могут отображаться для визуального контроля на любом внешнем индикаторе и, кроме того, могут быть переданы в ОЗУ инструментальной ЭВМ для дизассемблирования.
Стирание РПП. Для стирания содержимого РПП микроконтролер следует поместить под источник УФ-излучения с длиной волны менее 4*10-7 м. Если кварцевая лампа имеет световую мощность 12000 мкВт/см2, а расстояние между источником света и МК равно 2-3 см, то выдержка 20-30 мин обеспечивает световую дозу, достаточную для надежного стирания РПП. После стирания в матрице РПП содержатся все единицы.
Так как в спектре солнечного света и люминесцентного освещения содержится излучение с длиной волны менее 4*10-7 м, то пребывание МК под воздействием этих источников света дольше установленного предела (около одной недели на солнечном свете или около трех лет при люминесцентном освещении) может привести к искажению содержимого РПП. Для защиты содержимого РПП от разрушения под воздействием света на окне корпуса МК укрепляют светонепроницаемый экран.