Свежие обсуждения
Микроконтроллеры

FPGA что это и с чем едят

Собственно вопрос по Altera EP3C10E144C8N - как я понимаю это ПЛИС + какая-то однокристалка в одном корпусе ? Просто устройство явно имеет признаки микроконтроллерной программы. Оно грубо говоря работает на обслуживании ЖК матрицы как контролер (кроме него ОЗУ динамического на 8Мх16 и тактового 60 МГц на плате ничего и нет). Проблема в том, что штатно технические выводимые сообщения на эту матрицу нерусЕфЕцированы, а надо русЕфЕцированные. Есть исходник (надеюсь полный - около 50 мБ !!! в нескольких тысячах файлов различных расширений, но в сути текстовых на каком-то макроязыке)) Собственно я уже нашел таблицу описывающую шрифт - там английский и китайский шрифты (понятненько откуда ноги растут) в размер китаезной таблицы русский влезет). Где надписи пока не нашел - сейчас идет поиск. Но я не нашел собственно части имеющей отношения к процессору - только какие-то Count и SPI

Шить понимаю обычным адаптерои на LPT. А чем это море компилировать ?

 

Процессор там может быть виртуальный, т.е. собран на тех-же логических элементах ПЛИС. Это практикуется в ПЛИС.
Для работы с ПЛИС от альтера есть программа MAX+PLUS II. Но это старая, может что и поновее есть.

 

Главно в даташите только электрические характеристики и задержки прохождения сигналов, а о структуре не гу-гу.

Нашел кое что - 10 тысяч ячеек (как понимаю триггеров) - сложновато из этого сообразить что-то суровее 8080 или простенького RISC. Хотя наверное на обработку сигналов вывода на матрицу марло ресурсов надо - читай себе ОЗУ да выпихивай сдвиговым регистром.

 

тема конечно очень интересная и объемная, с наскоку не взять. Обычно гуру начинают обьяснят с середины чтобы никто ни чего не понял ну выглядеть важно, но есть и нормальные люди, зайди на сюда, с самого начало и по мелким шашкам
http://marsohod.org/index.php/projects/8-emptyproject

 

Внутренняя структура задается файлом конфигурации, вполне возможно что это цифровой автомат.
ячейка это D триггер с матрицей перекодировок на входы.
кроме динамического ОЗУ и тактового генератора, должен быть конфигуратор обычно мс памяти

 

Как я понял память внутренняя. Удивляет что там внутри крутиться довольно сложное ПО, выводящие на экран меню и запоминающая "внутри ?) установки.

 

Вероятнее всего там внутри крутится что-то из вот этого:
http://www.altera.com/products/ip/processors/8_4bit/ipm-index.jsp
http://www.altera.com/products/ip/processors/32_16bit/ipm-index.jsp

Где-то там рядом с EP3C10E144C8N должна стоять восьминогая м.с. конфигурационной флеш памяти,
с которой при старте FPGA загружает в себя всю запрограммированную структуру.

 

у ip ядер есть существенная проблема они платные и не сильно дешевые, в ознакомительном варианте с подключенным программатором работают до бесконечности, если отключить программатор, запускается чсчетчмк и через некоторое время ядро перезагружается.
внутри там нет конфигуратора.
если есть исходник и его можно публиковать, то можно посмотреть что там внутри. это файлы типа (*.v,*.vhd,*.vhdl)
если там нет ip ядра, если есть то скорее всего это процессорное ядро nios + соответствующие интерфейсные ядра. к процессору скорее всего идет программа на С.

 

Среди текстов на С найдено

COMPONENTS_PROCESSOR := /cygdrive/d/altera/80/ip/nios2_ip/altera_nios2
COMPONENTS_OS := /cygdrive/d/altera/80/nios2eds/components/altera_hal
COMPONENTS_DEVICE_DRIVERS := /cygdrive/d/altera/80/ip/sopc_builder_ip/altera_avalon_jtag_uart \
/cygdrive/d/altera/80/ip/sopc_builder_ip/altera_avalon_epcs_flash_controller \
/cygdrive/d/altera/80/ip/sopc_builder_ip/altera_avalon_pio \
/cygdrive/d/altera/80/ip/sopc_builder_ip/altera_avalon_timer

Выложить все исходники к сожалению пока не могу. Вообще еще вопрос - они соответствуют прошивке или нет. Где что искать пока не понимаю - там тысячи 3 или 4 файлов в десятках каталогов.

Конфигурационная ПЗУ найдена EPCS16SI16N - только у нее 20 выводов. Еще буферная динамическая память и видео АЦП TVP5150A

 

тогда это встроенный процессор nios2, проект нужно открыть Quartus'ом тогда будет понятнее, где программа для процессора и как он взаимодействует с периферией, в ручную искать наверное будет сложно.