Dream Platform II: недостающая часть мозаики (с картинками) http://upload.caxapa.ru/Deram_Platform.pdf
========= Предыдущие обсуждения по теме ========= Dream Board http://www.caxapa. …echo/arm.html?id=64968 http://www.caxapa. …echo/arm.html?id=64969 http://electronix. …=findpost&p=143432 Dream Platform: "$8, которые изменили мир" http://www.caxapa. …echo/arm.html?id=65085 http://electronix. …ex.php?showtopic=19858 FreeScale (Motorola) ColdFire - наши мольбы о !BGA услышаны? http://www.caxapa. …echo/arm.html?id=63110 http://electronix. …ex.php?showtopic=18754 ========= Термины и определения ========= HCPU - Host CPU - типа главный HFPGA - его FPGA SCPU - Slave CPU - периферийный сопроцессор SFPGA - его FPGA ========= Рисунки к тексту ========= http://upload.caxa ….ru/Deram_Platform.pdf - 80к ========= Стандартые медленные драйвера ========= Обычный проц, обычная ОСь, обычные дрова. Медленная работа * UART * SPI * I2C ========= Стандартые быстрые драйвера ========= * Ethernet * USB ========= nanoPCI ========= Dream Platform: "$8, которые изменили мир" http://www.caxapa. …echo/arm.html?id=65085 http://electronix. …ex.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. …echo/arm.html?id=63285 http://electronix. …ex.php?showtopic=18859 Развитие идей по упрощенной отладке. http://www.caxapa. …echo/arm.html?id=63474 http://electronix. …s=&showtopic=18859 eCos на ARM симуляторе SID, автоматическое тестирование при помощи DejaGNU - очень интересно!!! http://www.caxapa. …echo/arm.html?id=62769 http://electronix. …ex.php?showtopic=18602 uCOS: гораздо более правильная ОСь, чем я долгое время думал. http://www.caxapa. …echo/arm.html?id=61909 http://electronix. …ex.php?showtopic=18222 Сквозная система разработки embedded устройств Полноценная GNU среда для embedded разработки http://www.caxapa. …echo/arm.html?id=60891 http://electronix. …ex.php?showtopic=17562 Продвинутые make'еры: все уже изобретено! http://www.caxapa. …echo/arm.html?id=61898 http://electronix. …ex.php?showtopic=18212 Концептуальный вопрос по написанию прототипа в среде "похожей на embedd Ось" (Ch и не только). http://www.caxapa. …echo/arm.html?id=58541 "Питон для Си-программистов" http://www.caxapa. …wwwboard.html?id=57403 http://www.caxapa. …wwwboard.html?id=57960 Ch http://www.caxapa. …wwwboard.html?id=57905
========= Предыдущие обсуждения по теме ========= Dream Board http://www.caxapa. …echo/arm.html?id=64968 http://www.caxapa. …echo/arm.html?id=64969 http://electronix. …=findpost&p=143432 Dream Platform: "$8, которые изменили мир" http://www.caxapa. …echo/arm.html?id=65085 http://electronix. …ex.php?showtopic=19858 FreeScale (Motorola) ColdFire - наши мольбы о !BGA услышаны? http://www.caxapa. …echo/arm.html?id=63110 http://electronix. …ex.php?showtopic=18754 ========= Термины и определения ========= HCPU - Host CPU - типа главный HFPGA - его FPGA SCPU - Slave CPU - периферийный сопроцессор SFPGA - его FPGA ========= Рисунки к тексту ========= http://upload.caxa ….ru/Deram_Platform.pdf - 80к ========= Стандартые медленные драйвера ========= Обычный проц, обычная ОСь, обычные дрова. Медленная работа * UART * SPI * I2C ========= Стандартые быстрые драйвера ========= * Ethernet * USB ========= nanoPCI ========= Dream Platform: "$8, которые изменили мир" http://www.caxapa. …echo/arm.html?id=65085 http://electronix. …ex.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. …echo/arm.html?id=63285 http://electronix. …ex.php?showtopic=18859 Развитие идей по упрощенной отладке. http://www.caxapa. …echo/arm.html?id=63474 http://electronix. …s=&showtopic=18859 eCos на ARM симуляторе SID, автоматическое тестирование при помощи DejaGNU - очень интересно!!! http://www.caxapa. …echo/arm.html?id=62769 http://electronix. …ex.php?showtopic=18602 uCOS: гораздо более правильная ОСь, чем я долгое время думал. http://www.caxapa. …echo/arm.html?id=61909 http://electronix. …ex.php?showtopic=18222 Сквозная система разработки embedded устройств Полноценная GNU среда для embedded разработки http://www.caxapa. …echo/arm.html?id=60891 http://electronix. …ex.php?showtopic=17562 Продвинутые make'еры: все уже изобретено! http://www.caxapa. …echo/arm.html?id=61898 http://electronix. …ex.php?showtopic=18212 Концептуальный вопрос по написанию прототипа в среде "похожей на embedd Ось" (Ch и не только). http://www.caxapa. …echo/arm.html?id=58541 "Питон для Си-программистов" http://www.caxapa. …wwwboard.html?id=57403 http://www.caxapa. …wwwboard.html?id=57960 Ch http://www.caxapa. …wwwboard.html?id=57905
-
- и еще немного о целях всего проекта.. Grau(1859 знак., 17.08.2006 13:13, )
- -> - Evgeny_CD(23.08.2006 00:00, , ссылка)
- Дополнение про Dream Platform II Evgeny_CD(2121 знак., 20.08.2006 18:19, )
- Тут Ксил еще одну "бомбу" приготовил: XC3S500E-4CPG132C IC SPARTAN-3E FPGA 500K 132-CSP $17.30 http://www.digikey.com. Это уже очень "взрослая" ПЛИСка! - Evgeny_CD(15.08.2006 17:26, )
- Все это необходимо дополнить идеологией концентраторов. Evgeny_CD(193 знак., 15.08.2006 14:54, )
- Ответ: каждому свое Grau(1210 знак., 15.08.2006 13:31, )
- и еще немного о целях всего проекта.. Grau(1859 знак., 17.08.2006 13:13, )