СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №1/2012

В ВЕДЕНИЕ Отладочная плата SP605 для ПЛИС Xilinx семейства Spartan 6 содержит большое количество периферийных устройств, одним из которых являет" ся флэш"память типа CF (Compact Flash). Эта память подключается к ПЛИС не напрямую, а через контрол" лер System ACE (System Advanced Con" figuration Environment). При таком подключении флэш"память может конфигурировать ПЛИС или служить внешним носителем данных. Если память работает как внешний но" ситель, требуется дополнительный контроллер в составе ПЛИС (далее – контроллер CF), который, как прави" ло, является частью системы на крис" талле и обеспечивает чтение/запись данных из памяти для других уст" ройств системы. При этом все низко" уровневые операции выполняются контроллером System ACE, а контрол" лер CF генерирует только высоко" уровневые команды, например, ко" манды чтения/записи определённо" го числа блоков данных. Данная статья содержит описание контроллера CF на языке Verilog. Все ПРОГРАММИРОВАНИЕ 74 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2012 исходные файлы проекта находятся в архиве CF_cntr_verilog.zip , который можно скачать с интернет"страницы журнала. Проект построен в программ" ной среде PlanAhead 12.3; моделирова" ние системы проводилось в среде Mo" delSim. Схема подключения памяти к ПЛИС изображена на рисунке 1. Контроллер System ACE конфигурирует ПЛИС че" рез интерфейс JTAG. Конфигурацион" ный файл может быть считан из раз" личных источников, в зависимости от установки переключателей на пла" те, – внешнего порта JTAG, встроен" ных параллельной и последователь" ной флэш"памяти и внешней карты памяти типа CF. При использовании памяти в качестве внешнего носителя обмен данными происходит через порт MPU. Этот порт представляет со" бой набор регистров в адресном пространстве контроллера SystemACE; подробное описание регистров при" ведено в [1]. Контроллер CF является частью системы на кристалле и обес" печивает обмен данными с внутрен" ними потребителями через шину Wishbone. К ОНТРОЛЛЕР CF Контроллер CF является частью системы на кристалле, изображён" ной на рисунке 2. Модуль верхнего уровня системы находится в файле sopc.v . Для обмена данными с компь" ютером используется асинхронный приёмопередатчик (UART) [2]. Эта простейшая система не имеет специ" ального контроллера шины Wish" bone, – обмен данными между кон" троллерами UART и CF происходит напрямую. В системе на кристалле модуль верхнего уровня контрол" л е р а C F п р е д с т а в л е н в ф а й л е sdcard_cntr.v . Этот модуль непосред" ственно генерирует управляющие сигналы для контроллера System ACE и содержит два дополнительных мо" дуля – контроллер шины Wishbone wb_cnt_ace.v и конечный автомат sdcard_fsm.v . Как упоминалось выше, обмен дан" ными между контроллерами СF и Sys" tem ACE происходит через порт MPU, который определяется следующими сигналами: ● output [6:0] mpa_o – адресные линии, задающие адрес регистра; ● inout [7:0] mpd_io – линии данных. Шина данных может быть 8" или 16" битной. Плата SP605 имеет восьмибитную двунаправленную шину данных, по" этому контроллер сконфигурирован для этой разрядности: ● output mpce_n_o – сигнал Chip En" able, активация контроллера; ● output mpwe_n_o – сигнал Write En" able, разрешение записи; ● output mpoe_n_o – сигналOutput En" able, чтение данных; ● input mpbrdy_i – готовность буфера данных для операций чтения/за" писи. В данной версии контроллера пре" рывания не используются. При восьмиразряднойшине данных, по адресам 0h – 3Fh расположены раз" личные конфигурационные и кон" трольные регистры контроллера Sys" tem ACE. В адресном пространстве 40h – 5Fh расположен 32"байтный бу" фер данных. Для корректной работы необходи" ма синхронизация рабочих частот контроллеров CF и SystemACE. На пла" те SP605, согласно схеме [3], рабочая частота (33 МГц) контроллера System ACE задаётся генератором U29. Этот же сигнал доступен в ПЛИС и являет" ся рабочей частотой системы на крис" талле. Рассмотрим более подробно работу отдельных блоков контроллера CF. Контроллер шиныWishbone Модуль контроллерашиныWishbone представлен в файле wb_cntr_ace.v . Этот модуль обеспечивает приём ко" манд, данных (от контроллера UART), а также передачу данных, считанных из флэш"памяти. Модуль содержит в своём составе конечный автомат, изображённый на рисунке 3. В режи" ме ожидания конечный автомат на" ходится в состоянии WBSD_IDLE . Для Контроллер System ACE ПЛИС Xilinx CF флэш память MPU port JTAG СF контроллер Рис. 1. Схема подключения памяти к ПЛИС UART Контроллер UART Шина WB Интерфейс с компьютером Интерфейс с System ACE контроллером СF контроллер Рис. 2. Блок схема системы на кристалле HDL реализация контроллера флэш памяти Алексей Гребенников (г. Актау, Казахстан) Статья содержит описание контроллера флэш памяти на языке Verilog. Рассмотрены принципы действия блоков контроллера со схемами конечных автоматов основных модулей. Приведена схема системы на кристалле, обеспечивающей обмен данными через шину Wishbone. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy