[i.MX6SLL] подробно как очень интересный чип для модульков. Немного касались -> Цены --> http://caxapa.ru/784412.html
http://caxapa.ru/784411.html
-- Цены! 100 - $10.2527, 500 - $9.1205
-- -40°C ~ 105°C
-- 800 МГц Cortex-A9
-- 256 KB L2, 128 KB быстрой RAM на чипе
-- 32-bit LPDDR2/LPDDR3 400 МГц
-- 24-bit Parallel LCD без ненужных сложностей
--
eMMC 5.0/SD 3.0 8 бит шина! 3 штуки очень продвинутых, со своим DMA.
-- USB 2.0 HS OTG with PHY x 2
-- UART x 5
-- I2C x 3
-- SPI x 4
--
Smart DMA - со своей системой команд. Программируется как процессорное ядро.
-- BGA 14 x 14 mm, 0.65 mm Pitch, 24 x 24 Ball Matrix - печально.
--
компактная errata. К стандартным багам Cortex-A9 добавлено совсем немного некритичных багов периферии.
-- продвинутый bootloader в ROM. Сам умеет настраивать кеши и MMU, тактовые частоты. т.е. даже на этапе загрузки проц работает с максимальной скоростью. Грузит много с чего.
Память для комплекта
W979H2KBVX2I LPDDR2 512Mb (16M x 32) 400MHz 134-VFBGA (10x11.5) -40°C ~ 85°C (TA)
1 - $7.06
На первый взгляд сильно урезанный камень, в котором даже шины SRAM нет вообще! Посему маркетолухи разрешили назначить такую низкую цену. Ethernet нет, CAN тоже. Типа жопа.
При этом 800 МГц Cortex-A9 будет быстрее любого современного MCU, даже 600 МГц Cortex-M7. На дабловой плавучке особенно.
Но eMMC 5.0/SD 3.0 3 штуки!!! Берем ECP5
http://caxapa.ru/778579.html
LFE5U-12F-6BG381I -40°C ~ 100°C 381-CABGA 0.8 197 12000 32х18k YES 28 2 100 - $5.64
и делаем реализацию пары команд MMC - передать блок и прочитать блок.
$10+$7+$5=$22 - BOM модулька. Очень грубо.
ММС в простом варианте - 8бит 50 Мгц. 50 Мбайт/сек скорость пакетной передачи вполне достаточна для многих задач общения с внешним миром. Не хватит - есть второй и третий каналы :) Можно в DDR варианты MMC поиграть, если PLL в ПЛИС хватит, там вообще скорости будут под 200 Мбайт/сек.
В части того же гигабитного Ethernet. Которого в камне нет. Берем PHY, подцепляем к FPGA, и Тиньку по 10 МГц SPI снаружи. Тинька настраивает PHY, опрашивает MDIO, не упал ли линка и прочая, принятный пакет кладется в буфер FPGA, и затем переливается по MMC.
Причем, что важно, можно сразу превратить пакет в С структуру с выровненными полями, что не так и сложно, а производительности при процессорной обработке добавит прилично (чтобы структура была выровнена по границе кеш лайна и проч.)
Важно, что надо ставить RTOS на все это хозяйство. Но на Cortex-A9 RTOS портировано много, в том числе на i.MX 6. NuttX самое то.
http://caxapa.ru/650955.html