ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
160274
Evgeny_CD, Архитектор (28.06.2009 21:28, просмотров: 26884)
Размышлизма про софт процессоры, коих противником я всегда был :) Берем что-то из этих камней в 144 пиновом корупсе * EP3C5E144C8 - $ 12.8 - 94 пина - 5,136 LE - 46 M9K Blocks * EP3C10E144C8 - $19.2 - 94 пина - 10,320 LE - 46 M9K Blocks * EP3C16E144C8N - $26.7 - 84 пина - 15,408 LE - 56 M9K Blocks И делаем следующее. * SDR SDRAM контроллер 16 бит ~40 пинов * NAND FLASH ~16 пинов * SPI сопроцессоры - 10 пинов (с адресацией, запросами и пр) * SPI Ethernet - 5 пинов (оценка, с прерываниями; в FPGA вполне можно сделать конвертер SPI-параллельная шина, так что задержек особых не будет) http://caxapa.ru/157641.html - пикрочипеговский http://caxapa.ru/159074.html - Micrel * FTDI FT2232H 1 канал FIFO - 13 пинов http://www.ftdichi …m/Products/FT2232H.htm * RS-232 - 3пина на FTDI FT2232H Итого остается 7 пинов :) Их множно употребить по всякому. Можно SD контроллер замутить. Можно поставить сосику 595 регистров, и сделать хоть 128 выходных пинов (заметим, такую штуку разводить по плате будет куда удобнее, чем тянуть много проводков от процессора во все стороны). Аналогично можно сделать регистры на ввод. Причем, что приятно, для упомянутых выше регистров можно сделать изящную логику, так что процессору с ними будет легко и приятно работать. Для защиты от понЭров поставим SHA EEPROM. В минимуме 1 провода достаточно - для Dallas. Что-то еще на JTAG потратить придется. Но, в общем, все влазит. Логика работы такова. Стартуем из SPI FLASH. У проца на шире 1-кбайтный блок ОЗУ, в котором в качестве начального состояния записан код бутоадера. Тот стартует, и грузит основную прошивку из NAND, при этом ремапит блок бутлоадера в нормальное место на шину данных. Такая конфигурация будет несколько дороже "простых" контроллеров, цены на которые вплотную к $10 приблизились, но удобтво работы с ней будет на порядок выше. Во первых, за счет быстрого канала связи с PC, процесс отладки сильно упростится. Я уже давно излагаю эту идею. Программа пишет число по адресу. Операция атоммарная, 2-4 такта на современных процах. FPGA блок принимает его, дописывает к адресу и числу, ставит метку времени от таймера выского разрешения, упаковывает в пакет и загоняет на FT2232H. На писбке декодируем, и по меткам находим соотвествие засечки и кода. В комбинации с JTAG это даст фантастическую гибкость: поставили - идти от сих и до сих, посмотрели по меткам - как ходили, посмотрели переменные JTAG. Для экономии пинов в боевом устройстве (если HS USB не надо) ставим SPI USB от макса :) MAX3420E http://www.maxim-i …k_view2.cfm/qv_pk/4751 Там программно делаем всякbе красивости типа USB Mass Storage для бездрайверной работы и т.д. Верятно, почти все из описанноего влезет EP3C5E144C8 - $ 12.8, но если не так - точно все влезет в EP3C10E144C8 - $19.2. Что касается АЦП и "быстрого ногодрыгства" - тут всяких ATxmega, Cortex и пр. пруд пруди, пусть себе сопроцессорствуют :)