Конфигурация ПЛИС фирмы Altera с помощью микроконтроллеров
Хотя фирма Altera и выпускает ПЗУ для конфигурирования своих ПЛИС со статическим
ОЗУ, данная продукция не всегда может удовлетворить конечного потребителя.
Фирменные ПЗУ либо однократно программируемые и достаточно дешевы, либо
многократно программируемые с малым числом циклов перезаписи и непомерно
высокой стоимостью (особенно в индустриальном исполнении). Atmel то же
выпускает микросхемы для конфигурирования ПЛИС фирмы Altera. При этом изделия
Atmel действительно многократно программируемые и гораздо дешевле. Но почему-то
на российском рынке они как-то не приживаются.
В общем, дабы исправить сложившееся положение, предлагается следующее решение:
Здесь предлагается хранить конфигурационную информацию в широкораспространенных и дешовых ПЗУ с интерфейсом I2C и с помощью микроконтроллера считывать ее из ПЗУ и записывать в ПЛИС по пассивному последовательному синхронному интерфейсу. В приведенной на рисунке схеме используется ПЗУ на 256 кБит. Такого объема достаточно для конфигурации следующих ПЛИС: EPF10K10, EPF10K10A, EPF10K20, EP1K10. Если применить ПЗУ на 512 кБит (при этом не потребуется вносить изменения в программу микроконтроллера, предлагаемую в конце статьи), то помимо вышеуказанных ПЛИС можно конфигурировать еще и следующие: EPF6010A, EPF6016, EPF6016A, EPF6024A, EPF10K30, EPF10K30A, EPF10K30E, EPF10K40, EP1K30, EP20K30E. Так же следует отметить возможность создания банка из нескольких ПЗУ с интерфейсом I2C. С помощью такого банка можно сконфигурировать любую ПЛИС фирмы Altera.
Данные в микросхему U1 записываются через разъем XT1 посредством программатора,
поддерживающего интерфейс I2C. Для этой цели вполне подходит "PonyProg"
(Берете файл формата Intel-HEX, генерируемый системами MAX+PLUS II или
Quartus II и с помощью "PonyProg" записываете его в U1). После
записи конфигурационной информации проекта в ПЗУ U1, для того чтобы микроконтроллер
U2 поместил ее в ПЛИС, необходимо выключить, а потом включить питание схемы,
либо выполнить аппаратный сброс микроконтроллера.
Светодиод HL1 предназначен для индикации факта успешного окончания конфигурации
и является необязательным элементом схемы.
Микроконтроллер U2 программируется по интерфейсу SPI через разъем XT2.
Программа для микроконтроллера U2: HEX, ASM.