Предыдущая Следующая

Подпрограмма автоматической установки скорости обмена анализирует полученные символы, чтобы проверить настройку синхронизации. Если проверка синхронизации осуществлена успешно, хосту посылается символьная строка «OK<CR><LF>». Хост должен ответить, посылая значение частоты резонатора (в кГц), которая используется в микроконтроллере для синхронизации обмена данными. Например, если используется частота 10 МГц, то корректный ответ хоста будет «10000<CR><LF>». После получения значения частоты резонатора, хосту посылается символьная строка «OK<CRXLF>». Если при проверке синхронизации обнаружилась ошибка (настройка порта микроконтроллера не соответствует настройке порта хоста), то подпрограмма автоматической установки скорости обмена вновь ожидает поступления символа синхронизации.

Для корректной работы подпрограммы автоматической установки скорости обмена, частота резонатора микроконтроллера должна быть больше или равна 10 МГц. Встроенная система ФАПЧ загрузочным кодом не используется.

Как только значение частоты резонатора получено, производится частичная инициализация и вызывается обработчик команд ISR Из соображений безопасности, перед выполнением команд, приводящих к стиранию/записи Flash-памяти и команды Go, необходимо выполнить команду разблокировки Unlock. Остальные команды могут быть выполнены без предварительного выполнения команды разблокировки. Команду Unlock необходимо выполнить хотя бы однажды за сессию ISR Подробное описание команд Go и Unlock приведено ниже при описании команд ISR

Следует отметить, что действительная пользовательская сигнатура автоматически формируется при программировании Flash-памяти с помощью ISP файлом «прошивки» пользовательской программы.

20.5. Коммуникационные протоколы

Все команды ISP нужно посылать как отдельные символьные строки ASCII. Строки должны заканчиваться управляющими символами «Возврат каретки» (CR) и/или «Перевод строки» (LF). Дополнительные символы <CR> и <LF> игнорируются. Все ответы ISP посылаются как символьные строки ASCII, заканчивающиеся символами <CR> и <LF>. Данные посылаются и принимаются в формате UU-encoded.

Формат команды ISP: «Команда Параметр_0 Параметр_1... Параметрп <CR> <LF>» «Данные» (поле используется только для команд записи).

Формат ответа ISP: «Возвращаемый_код <CR> <LF> Ответ_0 <CR> <LF> Ответ_1 <CR> <LF>... Ответ_п <CR> <LF>» «Данные» (поле используется только для команд чтения).

Формат данных ISP. Поток данных ISP передается в формате UU-encode. Алгоритм UU-encode преобразует 3 байта двоичных данных в 4 байта печатных символов ASCII. Этот формат является более эффективным, чем формат Hex, который преобразует 1 байт двоичных данных в 2 байта шестнадцатерич-ного кода ASCII. При передаче данных отправитель должен послать контрольную сумму после передачи 20 строк в формате UU-encode. Длина любой строки в формате UU-encode не должна превышать 61 символа (байта), т. е. строка может содержать до 45 байтов данных. Получатель должен сравнить принятую контрольную сумму с вычисленной контрольной суммой полученных байтов. Если контрольные суммы совпадут, то получатель должен ответить строкой «ОК <CR> <LF>», чтобы разрешить дальнейшую передачу. Если контрольные суммы не совпадают, то получатель должен ответить строкой «RESEND<CR> <LF>». В ответ отправитель должен повторно передать байты. Описание формата UU-encode доступно в сети Интернет по адресу: http://www.wotsit.org.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz