Научная статья на тему 'ЗАГРУЗЧИК ДАННЫХ ДЛЯ ДИСТАНЦИОННОГО ПЕРЕПРОГРАММИРОВАНИЯ МУЛЬТИПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ'

ЗАГРУЗЧИК ДАННЫХ ДЛЯ ДИСТАНЦИОННОГО ПЕРЕПРОГРАММИРОВАНИЯ МУЛЬТИПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
49
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА / ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО / МУЛЬТИПРОЦЕССОРНАЯ СИСТЕМА / ДИСТАНЦИОННОЕ ПЕРЕПРОГРАММИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Серов Андрей Николаевич, Иванов Виталий Александрович

Рассмотрены некоторые методы дистанционного перепрограммирования микропроцессорных вычислительных устройств. Приведена обобщенная схема двухпроцессорного вычислительного устройства, для которого разработан встроенный загрузчик кода программ. Показаны основные особенности построения вычислительного устройства с разработанным загрузчиком. Загрузчик может работать в качестве универсального модуля для аналогичных мультипроцессорных вычислительных устройств.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

BOOTLOADER OF MULTIPROCESSOR COMPUTERS FOR REMOTE REPROGRAMMING

Some methods of remote reprogramming of microprocessor computers have been considered. The generalized circuit of the dual-processor computer, for which the bootloader of the code of programs has been developed, has been provided. The main features of the computer creation have been shown. The bootloader can work as a universal module for similar multiprocessor computers.

Текст научной работы на тему «ЗАГРУЗЧИК ДАННЫХ ДЛЯ ДИСТАНЦИОННОГО ПЕРЕПРОГРАММИРОВАНИЯ МУЛЬТИПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ»

МИКРОПРОЦЕССОРНАЯ ТЕХНИКА

УДК 681.324

Загрузчик данных для дистанционного перепрограммирования мультипроцессорных вычислительных устройств

А.Н. Серов, В.А. Иванов

Национальный исследовательский университет ««МИЭТ»

Рассмотрены некоторые методы дистанционного перепрограммирования микропроцессорных вычислительных устройств. Приведена обобщенная схема двухпроцессорного вычислительного устройства, для которого разработан встроенный загрузчик кода программ. Показаны основные особенности построения вычислительного устройства с разработанным загрузчиком. Загрузчик может работать в качестве универсального модуля для аналогичных мультипроцессорных вычислительных устройств.

Ключевые слова: вычислительная система, вычислительное устройство, мультипроцессорная система, дистанционное перепрограммирование, загрузчик.

При разработке различных систем управления на базе микропроцессорных вычислительных устройств (ВУ) часто ставится задача дистанционного внутрисхемного перепрограммирования отдельных ВУ или их составных частей. Реализация на этапе разработки методов внутрисхемного перепрограммирования позволяет:

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

- ввести в технологический цикл изготовления, настройки и регулировки ВУ этапа загрузки временного тестового программного обеспечения;

- применить дополнительное программное обеспечение для настройки как самого ВУ, так и всей системы управления в целом;

- обеспечить оперативное изменение программного обеспечения по результатам испытаний ВУ и его работы в составе системы управления.

Для обеспечения внутрисхемного программирования в современных микропроцессорных модулях используется специальный блок, генерирующий напряжения, необходимые для программирования и обеспечивающий связь микропроцессора с программатором. Наиболее часто связь с программатором осуществляется по последовательному каналу с использованием протокола JTAG IEEE 1149.1 [1], который стал промышленным стандартом. Широкое распространение получили методы перепрограммирования с использованием встроенных последовательных интерфейсов UART, SPI, CAN и др. При наличии в схеме ВУ микросхем преобразователей интерфейсов возможно перепрограммирование микропроцессора по каналам типа RS-232, RS-422, RS-485 и др.

© А.Н. Серов, В.А. Иванов, 2014

Существуют два основных способа внутрисхемного программирования микропроцессорных устройств:

- программирование без использования ядра микропроцессора. При этом внешний программатор самостоятельно с использованием внутреннего блока внутрисхемного программирования обеспечивает запись данных и размещение данных по требуемым адресам. Ядро микропроцессора не используется, а выводы микропроцессора находятся в высокоимпедансном состоянии;

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

Рассмотренные способы перепрограммирования микропроцессоров имеют свои достоинства и недостатки.

Программирование без использования ядра микропроцессора не требует отдельной области памяти в ПЗУ микропроцессора и позволяет обеспечить защищенный вариант перепрограммирования ВУ через отдельный разъем, который можно опломбировать при эксплуатации. При этом перепрограммирование микропроцессора через наиболее распространенный интерфейс 1ТЛО [2] вводит ограничения на длину линии связи между программатором и микропроцессором в зависимости от скорости передачи данных [3], что не всегда можно обеспечить из-за особенностей конструкции вычислительного устройства и его расположения в составе системы управления.

Преимуществом загрузчика является использование для перепрограммирования имеющихся в вычислительном устройстве интерфейсов, обеспечивающих необходимые длины линий связи, помехоустойчивость и протокол обмена данными. В зависимости от типа микропроцессора недостатками загрузчика являются: использование значительной части ПЗУ для размещения программы загрузчика [4], возможность стирания загрузчика и рабочей программы при возникновении сбойных ситуаций, увеличение времени старта микроконтроллера, связанное с необходимостью запуска загрузчика в начале программы.

При разработке вычислительного устройства на отечественной элементной базе была выбрана структура построения микропроцессорного узла, упрощенный вид которой приведен на рис.1 [5].

Рис.1. Упрощенная структурная схема микропроцессорного вычислительного устройства

Вычислительное устройство представляет собой двухпроцессорный вычислительный модуль, основными элементами которого являются микроконтроллер 1874ВЕ36А и процессор цифровой обработки сигналов 1867ВМ2. Микроконтроллер (МК) осуществляет обмен данными с внешними устройствами по цифровому интерфейсу ИЛЯТ с последующим преобразованием уровней для совместимости с интерфейсом Я8-232, а

Загрузчик данных для дистанционного перепрограммирования...

также прием цифровых и аналоговых сигналов и выработку сигналов управления [5]. Процессор цифровой обработки сигналов решает основную часть задач обработки данных и задач управления [6].

Микроконтроллер и DSP выполняют программу из соответствующих запоминающих устройств Flash MK и Flash DSP марки Am29F010B. В качестве дополнительной внешней оперативной памяти используются ОЗУ МК и ОЗУ DSP соответственно. Взаимодействие МК с DSP осуществляется за счет прямого доступа МК к ОЗУ DSP и Flash DSP через шинный коммутатор.

Для выполнения внутрисхемного программирования Flash МК и Flash DSP разработан загрузчик, использующий аппаратную особенность МК. Процессорное ядро МК создано по архитектуре фон Неймана. Объединенное адресное пространство ОЗУ и ПЗУ МК дает возможность копирования участков загрузчика из резервной области ПЗУ в ОЗУ и обеспечивает дальнейшее выполнение программы загрузчика и алгоритма записи/чтения данных из внешнего ОЗУ МК.

Карты распределения адресов памяти MK и Flash МК приведены на рис.2.

2080h Внешнее ПЗУ 20000А

ПЗУ 1С000Л Сектор №7

специального 18000/г Сектор №6

2000/7 назначения 14000Л Сектор №5

Порт 4

1 FFFh 10000/7 Сектор №4

Порт 3

1 FFEh С000/7 Сектор №3

100Л Внешнее ОЗУ 8000/7 Сектор №2

Регистровый 4000/7 Сектор №1

0/7 файл ООООА Сектор №0

а б

Рис.2. Карта памяти МК (а) и Flash МК (б)

После старта МК считывает конфигурационный байт из области ПЗУ специального назначения по адресу 2018h (регистр CCR), после чего переходит в область внешнего ПЗУ и начинает выполнение программы с адреса 2080h.

Фрагмент схемы подключения Flash памяти к МК по шине адреса «А1» ... «А 15» и шине данных «D1» ... «D15» приведен на рис.3. Предложенный вариант с учетом других особенностей вычислительного устройства позволяет обеспечить раздельный доступ к секторам №0 и №4 Flash памяти. Доступ к секторам обеспечивается соответствующим уровнем внешнего сигнала «Сектор». При наличии высокого импеданса на входе устройства по цепи «Сектор» загружается основная программа из сектора №0. При замыкании цепи «Сектор» на «землю» работает загрузчик из сектора №4. Загрузчик может переключать адрес выбранного сектора уровнем сигнала «10» с МК и соответствующим адресом на шине адреса «А1» ... «А 15».

Предложенная схема разделения адресного пространства между рабочей программой и загрузчиком не требует постоянной работы загрузчика при старте МК, что позволяет уменьшить время готовности устройства к работе и минимизировать вероятность ложного срабатывания загрузчика.

Рис. 3. Фрагмент схемы подключения Flash памяти к МК

При запуске загрузчика происходит его автоматическое копирование в область памяти ОЗУ МК. Общая схема алгоритма работы загрузчика приведена на рис.4.

Рис.4. Общая схема алгоритма работы загрузчика

После завершения копирования загрузчик переходит в режим ожидания приема команды, которая определяет дальнейшую последовательность действий. Команда на запись или на чтение данных запускает соответствующую ветвь алгоритма.

Чтение и передача данных из Flash МК и Flash DSP обеспечивается считыванием данных из соответствующего сектора памяти.

Запись и стирание данных в Flash МК и Flash DSP реализуется в соответствии с алгоритмами программирования микросхемы Am29F010B [7], но имеет особенности, связанные со структурой построения микропроцессорного вычислительного устройства.

Загрузчик данных для дистанционного перепрограммирования.

Интерфейс микросхемы Лш29Б010Б соответствует стандарту ШББС для флэш-памяти с одиночным питающим напряжением. Защита от случайного выполнения команд записи и стирания обеспечивается выполнением цепочки команд, состоящей из 4-6 циклов со строго определенным адресом обращения. Сокращенные структуры алгоритмов стирания и записи приведены на рис.5. Назначение и состав циклов для команд записи и стирания микросхем Лш29Б010Б с учетом особенностей построения ВУ приведены в таблице. Отличительной особенность Лш29Б010Б от микросхем предыдущих поколений является наличие последовательности команд, определяющей не только начало, но и окончание операции записи и стирания. Состояние выполнения операций определяется по результату данных, полученных в цикле чтения по адресу ячейки, участвующей в операции.

а 6

Рис.5. Сокращенные структуры алгоритмов подпрограмм стирания (а) и записи (б)

Команды для Е1а8Ь-памяти Лш29Е010Б, вырабатываемые МК

Команда/ количество циклов Номер цикла Адрес1 Данные2

1 АААН ААААН

Программирование слова /4 2 554Н 5555Н

3 АЛАН А0А0Н

4 Адрес слова Данные для записи

1 АЛАН ААААН

2 554Н 5555Н

Стирание сектора /6 3 АААН 8080Н

4 АААН ААААН

5 554Н 5555Н

6 Адрес сектора 3030Н

Измененный формат адреса соответствует схемотехническим особенностям подключения Лш29Б010Б в вычислительном устройстве.

2При программировании двух микросхем Лш29Б010Б по 16-битной шине данные необходимо устанавливать для каждой микросхемы отдельно.

Для определения окончания операций используется метод проверки записи или стирания (Data Polling). Метод основан на анализе битов D7 и D15 данных, считанных по текущему адресу записи. В начале выполнения внутреннего цикла биты устанавливаются инверсными по отношению к тому, что должно быть записано в ячейки. По успешному окончанию операции биты принимают желаемые значения (при стирании - «1»). Дополнительно для определения ошибки записи проверяются биты D5 и D13. Единичное значение битов D5 и D13 - Exceeded Timing Limits - указывает на превышение допустимого времени выполнения операции.

При программировании микросхем для каждого записываемого слова выполняется четыре защитных цикла, при этом чтение по адресу программируемой ячейки выводит биты состояния.

При стирании сектора выполняется шесть защитных циклов. Необходимо учитывать, что стирание начинается через 80 мкс после окончания последнего цикла цепочки. На время выполнения стирания чтение по адресу любого из стираемых секторов (кроме защищенных) выводит биты состояния. Биты D3 и D11 - Sector Erase Timer - указывают на начало выполнения стирания сектора (очередную последовательность команд стирания сектора можно начинать пока биты 3 и 11 равны нулю).

Таким образом, при разработке вычислительного устройства, работающего в составе системы управления, могут применяться различные варианты дистанционного перепрограммирования микропроцессорных элементов. Рассмотренная аппаратно-программная реализация загрузчика может работать в качестве универсального модуля для аналогичных мультипроцессорных вычислительных систем, например рассмотренных в [8].

Литература

1. 1149.1 2001 IEEE Standard Test Access Port and Boundary-Scan Architecture. - 2001. -URL: www.ieee.org (дата обращения: 26.11.2013).

2. Переверзев А.Л., Савченко Ю.В., Твердунов Д.В. Масштабируемый программный комплекс для тестирования конфигурации и отладки устройств с помощью интерфейса JTAG // Естественные и технические науки. - 2011. - № 3. - С. 398-404.

3. Городецкий А. Дистанционное JTAG тестирование // Компоненты и технологии. - 2010. - № 12. -С. 92-94.

4. AVR Universal Bootloader. - URL: https://sites.google.com/site/shaoziyang/Home/avr/avr-universal-bootloadere (дата обращения: 26.11.2013).

5. Серов А.Н. Мультипроцессорное вычислительное устройство и варианты его модернизации // Оборонный комплекс - научно-техническому прогрессу России. - 2013. - № 1. - С. 90-93.

6. Серов А.Н. Решение некоторых технических задач при управлении объектами специального назначения // Техника и технология. - 2011. - № 1 (42). - С. 32-34.

7. Am29F010B. - URL: http://www.spansion.com/Support/Datasheets/Am29F010B_00.pdf (дата обращения: 26.11.2013)

8. Якунин А.Н. Особенности организации синхронных и асинхронных вычислительных процессов в многозначных микропроцессорных системах // Изв. вузов. Электроника. - 2009. - № 3 - С. 68-74.

Статья поступила 20 декабря 2013 г.

Серов Андрей Николаевич - кандидат технических наук, старший научный сотрудник НИИ ВС и СУ МИЭТ. Область научных интересов: проектирование специализированных вычислительных устройств и систем управления объектами специального назначения. E-mail: AndreySerov@yandex.ru

Иванов Виталий Александрович - аспирант кафедры вычислительной техники МИЭТ. Область научных интересов: проектирование специализированных вычислительных устройств и систем управления объектами специального назначения.

i Надоели баннеры? Вы всегда можете отключить рекламу.