реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проектирование протокола для инструментального аппаратного загрузчика, Стоит игра свеч?
MIX@
сообщение Apr 7 2009, 19:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 21-01-09
Пользователь №: 43 756



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

Товарищи, созрел вопрос - создание инструментального аппаратного загрузчика на FPGA.
Суть его проста - часть системы на кристалле, обеспечивающая начальную инициализацию памяти для дальнейшего функционирования внешнего блока, например, какого-либо SOFT-процессора. Т.е. после отработки - он просто отключается от всех шин.

На данный момент разработал загрузчик на базе протокола Intel Hex с небольшими изменениями.

Изменения следующие - разбил одну IntelHex запись на две части - заголовок и данные и после каждого влепил свою контрольную сумму (XOR, как в оригинальном Intel HEX), обозвав это всё пакетом.

Организовал сие за следующим: длина записи не фиксированной длины (может варьироваться от 0 до 255) и при неправильной передаче этого поля - контроллер может просто зависнуть. Т.е. проверка контрольной суммы после заголовка - служит некоторой защитой от этого. Загрузчик сейчас работает вкупе с UART (принимает данные с UART побайтно), но цель проектирования была, в первую очередь, универсальность. Т.е. возможность работы с устройствами сопрягающиеся, возможно, с менее надёжными каналами.

Вообщем, такие вот противоречивые требования, ибо проект академический.

Как по вашему - стоит ли игра с разработкой "нового" протокола свеч или, может быть, посоветуете другие проектные решения протокола для подобной задачи.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Apr 8 2009, 07:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(MIX@ @ Apr 7 2009, 23:38) *
Как по вашему - стоит ли игра с разработкой "нового" протокола свеч или, может быть, посоветуете другие проектные решения протокола для подобной задачи.

Посмотрите на механизм загрузки (BTL) в микроконтроллерах Infineon-a.
Кратко:
- при вкл. питания микроконтроллер (или Ваш плис-загрузчик) ждет нулевой (==0) байт из UART-a
- по этому байту определяется скорость передачи и настраивается собственный UART
- высылается подтверждение (1 байт)
- принимается 32 байта (можно больше), которые записываются в память со стартового адреса своего процессора
- снимается ресет с процесора, который начинает выполнять эти 32 байта
(32 байта вполне достаточно для примитивной программы-загрузчика, которая может догрузить саму себя)
На мой взгляд - ничего лишнего в плис и вся нагрузка на программу.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 13:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01343 секунд с 7
ELECTRONIX ©2004-2016