ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 июля
418238
Evgeny_CD, Архитектор (17.06.2013 01:21 - 02:34, просмотров: 11151)
Размышлизма про линейку телематических контроллеров с большим диапазоном масштабирования. По идеям -> http://caxapa.ru/418133.html
Пусть мы строим линейку устройств с набором фич: • LCD графического в составе устройства не будет. Только как отдельный модуль со своим процессором. Максимум, что будет встроенного – 128х64 I2C монохром. • USB - CDC, WinUSB • ADC, DAC, SPI, I2C, UART, PWM, счетчик импульсов – стандартный функционал без «изюма» • Высокоприоритетное короткое прерывание, вызываемое с темпом 100 Кгц или около того. • «SPI сопроцессоры» обязательно • GSM -- SMS «полный фарш» -- MMS • IP «простое». Производительность IP низкая, не более 20-30кбайт/сек при любом варианте. -- SSL -- SSH • DSP -- Эхокомпенсатор -- VAD -- JPEG D1 2…4 fps --- Обязательно с возможностью подключения кучи аналоговых камер -- Работа с 3-х осевым акселерометром • Конфигурирование -- Конфигурирование через запись параметров -- Конфигурирование через загрузку управляющего скрипта Lua, JIM -- Загрузка пользовательских аплетов (разумной функциональности) • In Memory DB специфической конфигурации, с жестким набором полей, порядка 8-12Мбайт блок памяти. Производительность 10 транзакций/сек • Файловая система. Производительность FLASH варианта 200-300 кбайт в сек за глаза -- Память -- NAND параллельный -- SPI NOR -- SD карточка -- FLASH stick – непонятно, надо ли. • FPGA для кастомной периферии - некоторые варианты • Возможность жить месяцами от литиевого аккумулятора, просыпаясь изредка для поиска нужного события Таблица фичи-модель сильно прореженная, «все в одном» едва ли будет. Срок разработки от первых «дышащих» вариантов – 2года. Срок службы платформы – хорошо бы 10 лет. Тиражность: минимум 1к в год конкретной модели, 10-20к предел в варианте гибкого дизайна, при больших тиражах редизайн с минимальными правками кода для минимизации BOM для узкой задачи. Разработка силами распределенной команды в рамках единого репозитория кода. BGA допустимы для тиражных вариантов, но лучше бы избежать нафиг. Понятно, что требования взаимосключающие. В максимальной конфигурации без внешней памяти не обойтись, лучше, конечно, SDRAM. Вот так навскидку это 150 Мгц + Cortex-M4. Плавучка очень желательна для того, чтобы можно было вставлять готовый код с плавучкой, и использовать его в простых конфигурациях, занимаясь оптимизацией только по необходимости. Варианты решения задачи: • Безфлешовый контроллер + SDRAM + кеш • FLASH + SDRAM + кеш • FLASH 2М+ SDRAM + 256k SRAM с оверлеями Бесфлешовые контроллеры с внешним SDRAM были многократно обсосаны. Имеют ограничения по маложрущим режимам и по скорости пробуждения из сна. Копипротекшн тоже страдает. Их возможности обработки 100 КГц прерывания определяются исключительно набортным ОЗУ - кеши тут не помогут. FLASH + SDRAM + кеш – это сказочно, но пока есть несколько моделей у Кинетиса. Нифига не дешевых. В общем, стремно. 2М FLASH + SDRAM + 256k SRAM с оверлеями возможны в двух вариантах: * SDRAM контроллер внутри чипа * SDRAM во внешней плиске Первое лучше для In Memory DB. Мой выбор – оверлеи. Причины такие * В 2 М кода все нужное мне влезет почти наверняка. * 128к на RTOS + глобальные данные, 128к – вытесняемый контекст задачи. * Очень хорошо ложится на малоржручие задачи. Пока спим – SDRAM и ее задачи погашены. Если что нашли – быстро стартуем. Либо просто с нуля инициализируемся, либо можно из FLASH прочитать своп :) * Хорошо масштабируемся. Многие варианты влезут без всякого оверлея – памяти хватит. Потом, постепенно, по мере отработки кода, можно будет прикрутить оверлеи. Более того, многие варианты вообще в 64к ОЗУ влезут, а тут http://caxapa.ru/418105.html цены вообще приятные обещаются. * Дизайны !BGA, как ни крути, удобны для поделочно-малосериных целей. В рамках этого проекта выпустить серию 100 шт изделия под конкретного юзера, с возможностью быстро спаять руками макетный вариант, выглядит очень заманчиво. * 100 Кгц прерывание будет отработано вполне нормально. Очень хорошо подходят Fujitsu FM4 http://caxapa.ru/418105.html Цены на них пока неизвестны, но глядя на этот камень http://caxapa.ru/418219.html, я бы рискнул предположить, что в варианте 2М|256 к будет не дороже 12…15$. Renesas RX600 в варианте 2M FLASH 256 SRAM пока в разработке, но немного стремает нестандартность архитектуры. С Cortex можно перейти на продукты многих производителей, с RX600 такой фокус не удастся. NXP LPC43xx – мало памяти, дорого Vybrid вызывает у меня много вопросов применительно к этой задаче. • Ни разу не маложруший. Там моща от 400 мВт начинается • С батарейными режимами у него плохо. за 45 нм надо платить. • Масштабирование «вниз» будет сопряжено с переделкой всего. В варианте Cortex-M4 можно много чего поставить • Наличие секурности на кристалле потенциально обеспечивает геморрой с поставками • Linux, LCD и даже 2 Ethernet в рамках линейки не нужны. Но для других задач Vybrid хорош! Критика подхода?