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

 
 
 
Reply to this topicStart new topic
> Dream Platform II, недостающая часть мозаики (с картинками)
Evgeny_CD
сообщение Aug 14 2006, 23:52
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



========= Предыдущие обсуждения по теме =========

Dream Board
http://www.caxapa.ru/echo/arm.html?id=64968
http://www.caxapa.ru/echo/arm.html?id=64969
http://electronix.ru/forum/index.php?s=&am...st&p=143432

Dream Platform: "$8, которые изменили мир"
http://www.caxapa.ru/echo/arm.html?id=65085
http://electronix.ru/forum/index.php?showtopic=19858

FreeScale (Motorola) ColdFire - наши мольбы о !BGA услышаны?
http://www.caxapa.ru/echo/arm.html?id=63110
http://electronix.ru/forum/index.php?showtopic=18754

========= Термины и определения =========

HCPU - Host CPU - типа главный
HFPGA - его FPGA
SCPU - Slave CPU - периферийный сопроцессор
SFPGA - его FPGA

========= Рисунки к тексту =========

http://upload.caxapa.ru/Deram_Platform.pdf - 80к

========= Стандартые медленные драйвера =========

Обычный проц, обычная ОСь, обычные дрова. Медленная работа

* UART
* SPI
* I2C

========= Стандартые быстрые драйвера =========

* Ethernet
* USB

========= nanoPCI =========

Dream Platform: "$8, которые изменили мир"
http://www.caxapa.ru/echo/arm.html?id=65085
http://electronix.ru/forum/index.php?showtopic=19858

========= TAL драйвера =========

Transaction Abstraction Layer - по аналогии с HAL.

Специализированые драйвера. Все общение на уровне транзакций. Например, для SD/CF/IDE
* записать кластер
* считать кластер

Для RS-485, по которому ModBus бегает
* передать пакет
* считать принятый пакет.

Базовые примитивы драйвера

* init ()
* status_get ()
* cmd_read ()
* cmd_wright ()
* data_read ()
* data_wright ()

Есди надо, перифейриная плата выставляет запрос на обслуживание, который вызывает прерывание. Регистр прерываний.

========= Таймер реального времени =========

Привязка всех процессов к RT.

Выдача синхронизации на периферийные платы при помощи специальной команды.

========= Многопоточный контроллер памяти =========

Буферизация больших пакетов, чтобы экономить ресурс блочной памяти FPGA.

"Коммутация данных" - передача данных от одного периферийного устройства к другому минуя память HCPU.

========= Режим отладки =========

На плате основного контроллера запускается простое приложение, которое конвертирует данные периферийных контроллеров в простой и быстрй IP протокол (UDP, raw). Главное - скорость. Передача по локальной сети, потерь пакетов мало.

На пЫсюке запускается специальный отладочный сервер, который конвертит "простой протокол" в "сокетный" интерфейс по localhost. Каждое устройсто видно как 5 сокетов
* status_get
* cmd_read
* cmd_wright
* data_read
* data_wright

Целевая ОСь + целевое приложение - синтетический порт или симулятор. Нормальные TAL драйвера заменяются на сокетные. При этом симулируемая ОСь работает с реальным железом!!!

Идеальня среда для отладки нового железа. Через сокет "натягиваем" железяку отладочной софтиной на пЫтоне.

========= Требования к HCPU =========

* хороший контроллер DMA с работой через внешнюю шину
* Ethernet внутренний с DMA
* необходимый минимум контроллеров

Кандидаты:

* AT91RM9200 - пролетает по критерию DMA
* ColdFire - самое то по причине хорошего DMA и Ethernet
* LH7952(0|4|5) - самое то по причине DMA
* нелюбимый мною x86 - получает шанс, если HFPGA на PCI посадить.
* PPC405, MPC5200B - самое то!

Уникальный вариант - MCF5407CAI220 - IC MPU 32B 220MHZ COLDF 208-FQFP - 25 pcs $34.92 http://www.digikey.com

* 316 DMIPS !!!
* PQFP 208
* -40!
* мало периферии, Ethernet нет.
* DMA 4 канала есть.
* нет MMU - нет проблем с портированием ОСей. Порта на RTEMS нет, но должны пойти порты на MCF52xx с минимальным перехаком.

Это самый быстрый из известных мне PQFP -40 процессоров.

========= Экономические аспекты =========

Периферийный контроллер - от $11.

XC3S250E-4PQG208C 15.25 http://www.digikey.com

HCPU ColdFire MCF5270, 5208 - 10$.

Т.е. основной контроллер собирается от $30. Вполне разумная плата за фантатическую гибкость!

========= "А зачем нам кузнец?" =========

* Максимальная гибкость. Делаем небольшие платочки под специфическую периферию, и втыкам их в свободные слоты основной платы. Предложенного интерфейса nanoPCI хватит для всех стоящих лично передо мной Embedded задач на долгие и долгие годы.

* Независимость от поставщиов. Требования к HCPU очень простые, FPGA тоже какая-нибудь найдется всегда - "выкос" линеек процессоров нас не волнует.

* Идельная среда отлаки (при наличи мощного пЫсюка и гигабитного Ethernet порта получаем неплохой real time). Нет места спорам - какую ось выбрать. Взяли uCOS в синтетическом режиме - попробовали. Не понравилось - eCos, RTEMS к нашим услугам.

* в принципе, можно и на линукс целевую логику реализовать. Т.е. есть плата - концентратор данных, и есть Linuх управляющий софт, например на x86 (бр...)

========= Просьбы =========

Критика - welcom!

========= Дополнительные посты, полезные в контексте рассматриваемых проблем =========

TDD (Test-driven Development) применительно к embedded системам: похоже, я догнал, как это должно быть устроено.
http://www.caxapa.ru/echo/arm.html?id=63285
http://electronix.ru/forum/index.php?showtopic=18859

Развитие идей по упрощенной отладке.
http://www.caxapa.ru/echo/arm.html?id=63474
http://electronix.ru/forum/index.php?s=&showtopic=18859

eCos на ARM симуляторе SID, автоматическое тестирование при помощи DejaGNU - очень интересно!!!
http://www.caxapa.ru/echo/arm.html?id=62769
http://electronix.ru/forum/index.php?showtopic=18602

uCOS: гораздо более правильная ОСь, чем я долгое время думал.
http://www.caxapa.ru/echo/arm.html?id=61909
http://electronix.ru/forum/index.php?showtopic=18222

Сквозная система разработки embedded устройств
Полноценная GNU среда для embedded разработки
http://www.caxapa.ru/echo/arm.html?id=60891
http://electronix.ru/forum/index.php?showtopic=17562

Продвинутые make'еры: все уже изобретено!
http://www.caxapa.ru/echo/arm.html?id=61898
http://electronix.ru/forum/index.php?showtopic=18212

Концептуальный вопрос по написанию прототипа в среде "похожей на embedd Ось" (Ch и не только).
http://www.caxapa.ru/echo/arm.html?id=58541

"Питон для Си-программистов"
http://www.caxapa.ru/mcu/wwwboard.html?id=57403
http://www.caxapa.ru/mcu/wwwboard.html?id=57960

Ch
http://www.caxapa.ru/mcu/wwwboard.html?id=57905
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 15 2006, 10:57
Сообщение #2


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Все это необходимо дополнить идеологией концентраторов.

Есть кучка "контролеров светодиода" на LPC2101 | Atmega48. Чтобы они не занимали слоты на "мамке", ставим концентратор, который эту кучку "приводит" к одному слоту. Тоже на чем-то типа LPC2101.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 15 2006, 13:29
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Тут Ксил еще одну "бомбу" приготовил: XC3S500E-4CPG132C IC SPARTAN-3E FPGA 500K 132-CSP $17.30 http://www.digikey.com. Это уже очень "взрослая" ПЛИСка!
Go to the top of the page
 
+Quote Post
AVR
сообщение Aug 15 2006, 18:47
Сообщение #4


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Evgeny_CD @ Aug 15 2006, 17:29) *
Тут Ксил еще одну "бомбу" приготовил: XC3S500E-4CPG132C IC SPARTAN-3E FPGA 500K 132-CSP $17.30 http://www.digikey.com. Это уже очень "взрослая" ПЛИСка!
Извините что вклиниваюсь, но 500K это значит 500 тыс. вентилей за 17.3 доллара? Есть ли у Altera подобные штуки за такую цену?


--------------------
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 16 2006, 05:48
Сообщение #5


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(AVR @ Aug 15 2006, 22:47) *
Извините что вклиниваюсь, но 500K это значит 500 тыс. вентилей за 17.3 доллара? Есть ли у Altera подобные штуки за такую цену?
Да, именно так. Что есть у Альтеры - смотрите на их сайте + einfo.ru, efind.ru
Go to the top of the page
 
+Quote Post
AVR
сообщение Aug 16 2006, 13:02
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Evgeny_CD @ Aug 16 2006, 09:48) *
Цитата(AVR @ Aug 15 2006, 22:47) *
Извините что вклиниваюсь, но 500K это значит 500 тыс. вентилей за 17.3 доллара?
Да, именно так.
Как-то подозрительно/удивительно дешево получается... Тут есть подвох какой-то? У Альтеры ничего подобного нет за такую цену...


--------------------
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 16 2006, 13:09
Сообщение #7


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(AVR @ Aug 16 2006, 17:02) *
Как-то подозрительно/удивительно дешево получается... Тут есть подвох какой-то? У Альтеры ничего подобного нет за такую цену...
Нет никакой засады. Просто ксил решил "давонуть" компетиторов. Кстати, на рынке дешевых плисок для него не Altera главный ужас, а Lattice. Spartan-3E не так уже и дешев - технология отработана, Spartan-3 (без Е) уже несколько лет выпускается - так что все спокойно.
Go to the top of the page
 
+Quote Post
Delsian
сообщение Aug 18 2006, 12:42
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 79
Регистрация: 3-02-05
Из: Kiev
Пользователь №: 2 404



Цитата(AVR @ Aug 16 2006, 16:02) *
Цитата(Evgeny_CD @ Aug 16 2006, 09:48) *

Цитата(AVR @ Aug 15 2006, 22:47) *
Извините что вклиниваюсь, но 500K это значит 500 тыс. вентилей за 17.3 доллара?
Да, именно так.
Как-то подозрительно/удивительно дешево получается... Тут есть подвох какой-то? У Альтеры ничего подобного нет за такую цену...


Подвох в том, что в таком корпусе уже имеешь головную боль с нехваткой ног, например, повесил на нее память - и все, сидишь и сосешь локоть sad.gif
А вот в роли конвертилки чего-то во что-то на лету без накопления в памяти - самое оно, туда даже IP стек, наверное, запихнуть можно.
PS: Хотя XC3S500E-4FTG256C ненамного дороже получается - $22.85, а ног в два раза больше.


--------------------
Давайте выпьем за алкоголь - источник и решение всех наших проблем! (с) Г.Симпсон
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 20 2006, 14:20
Сообщение #9


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Дополнение про Dream Platform II

Написали дрова. Запускаем их либо под отладочным фреймфорком (startup + отладочный код), либо под пустой ОСью (дрова + тестовая задача.) Отладочная конфигцрация:

* железо
* дрова
* контроллер
* отладочный сокетный интерефейс
* пЫсюк
* test suite или синтетический порт ОСи

Начинаем замыкать контур ОС - выдаем данные в обратную сторону. Полный путь данных:

* железо
* дрова
* контроллер
* отладочный сокетный интерефейс
* пЫсюк
* синтетический порт ОСи
* отладочный сокетный интерефейс
* контроллер
* дрова
* железо

Длинновато, не на всех задачах RT получим.

Начинаем укорачивать "петлю ОС" - отлаженную часть обработки данных переносим на целевой контролер.

По скорости - при использовании контроллера на мамке с PCI интерфейсом (все современные тяжелые контроллеры умеют PCI 32 бит 66 Mhz) либо ставим Gigabit Ethernet, либо из мамки делам плату в PCI слот пЫсюка.

Унифицированный интерфейс между блоками (nanoPCI) позволит пилить большую задачу на много сблочков, каждый из которых прост и понятен.

Также возможен плавный переход к DSP и ASIC сопроцессорам:

* добились работоспособности целевой задачи при использование только процессора "мамки", пусть даже в нереальным времени 1:1000
* выбираем самый "напряжный" алгоритм и в DSP или (FPGA) его. Интерфейс тот же - nanoPCI.
* тестируем, снова добиваемся работосмособности.
* repeat until

За счет унифицированного сокетного отладочного интерфейса можно использовать симуляторы DSP и даже *HDL симуляторы!

В общем, TDD (test driven development) по полной программе smile.gif

Как работать с файлами из *HDL кода отчасти понятно, например
Reading and writing files from Verilog models
http://www.chris.spear.net/pli/fileio.htm

Вопрос - а нечто похожее с сокетами можно сделать? Или нужно делать хак на уровне ОСи - создавать некий виртуальный файл, который в реальности на сокет отмаплен или memory mapped file (понятно, что делать это лучше под Linux smile.gif )
Go to the top of the page
 
+Quote Post
3.14
сообщение Aug 23 2006, 06:10
Сообщение #10


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



2 Evgeny_CD
Извини, не хочу губить твой порыв (без иронии).
Но ты понимаешь, что ввязавшись в такое мы рискуем тебя на форуме не увидить эдак с пару лет smile.gif


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Aug 23 2006, 06:24
Сообщение #11


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(3.14 @ Aug 23 2006, 10:10) *
Но ты понимаешь, что ввязавшись в такое мы рискуем тебя на форуме не увидить эдак с пару лет smile.gif

Причем без гарантированного результата.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
3.14
сообщение Aug 23 2006, 06:53
Сообщение #12


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



2 Evgeny_CD
Кстати, я вижу ты охладел к BlackFin-у, почему (на приводимом MCF5407CAI220 ведь то-же MMU нет)?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 24 2006, 22:37
Сообщение #13


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



1. Пока не достигну концептуального просветления - ничего делать не буду.

2. После этого напишу подробно план действий и "запощу" в публик - дабы быть раскритикованным.

3. Далее выберу примитивный проект и буду на нем "тренироваться на кошках".

4. Все-таки попробую я написать книгу по всем своим идеями, с протоколированием освоения всяческих тулзов.

5. Соберу команду единомышленников.

6. После всего этого возьмусь за серьезные проекты.

Так что того - "не дождетесь"!!!

По BlackFin - я по прежнему считаю его самым лучшим DSP для практических задач. В том числе и по причине наличия GCC и JTAG для GDB за вполне разумные деньги
http://www.section5.ch/index.php?which=1&sub=0#insight

Dream Platform II неявно подразумевает наличие BF в качестве одного из периферийных устройств. biggrin.gif

Что касается MMU - после некоторого просветления по RTOS'ам я заметно отдалился от Linux, и MMU в Embedded приложениях мне кажется довольно бесполезной штукой.
Go to the top of the page
 
+Quote Post
dmivs
сообщение Aug 25 2006, 06:33
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 7-09-05
Из: Riga, LV
Пользователь №: 8 333



Цитата(Evgeny_CD @ Aug 25 2006, 01:37) *
Что касается MMU - после некоторого просветления по RTOS'ам я заметно отдалился от Linux, и MMU в Embedded приложениях мне кажется довольно бесполезной штукой.

В чем с вами и соглашается FreeScale


--------------------
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 25 2006, 06:51
Сообщение #15


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(dmivs @ Aug 25 2006, 10:33) *
Цитата(Evgeny_CD @ Aug 25 2006, 01:37) *
Что касается MMU - после некоторого просветления по RTOS'ам я заметно отдалился от Linux, и MMU в Embedded приложениях мне кажется довольно бесполезной штукой.
В чем с вами и соглашается FreeScale
В MCF5475/85 они таки прикрутили MMU к СoldFire. Мне фраза в доке понравилась: "обспечивает быстродействие на уровне 97% по отношению к такому же процу без MMU" (вольный пересказ).

Просто desktop и embedded ОСи - это идеологически разные ОСи. Путем шаманства их можно делать похожими друг на друга (патчить линух до приемлемых параметров либо обвешивать простую embedded оську всякими compatibility layer, пока она не упадет под тяжестью маразма) - но это не есть правильно.
Go to the top of the page
 
+Quote Post

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

 


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


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