LCD Controller - это пользовательский компонент, разработка которого и является целью данной работы. Он связан с самим дисплеем, который находится вне системы на кристалле.
3 Внутренняя архитектура компонента Рис 2. Архитектура компонента На рисунке 2 изображена внутренняя архитектура пользовательского компонента. Слева идут сигналы от шины Avalon. Writedata передает данные, write выступает в качестве строба передачи, waitrequest реализует ответный сигнал готовности компонента. По clk передается тактовая частота (50 МГц), а reset выступает в качестве сброса состояния компонента. Задача самого контроллера - отрисовать пиксель на дисплее по требуемым координатам и нужного цвета. Модуль состоит из трех главных компонентов, выполняющих определенные функции. При старте системы запускается автомат инициализации Init и подготавливает дисплей к работе. Далее управление передается автомату тестирования TestFSM. Он перекрашивает весь дисплей в три разных цвета и запускает JustDrawFSM. Этот автомат работает в бесконечном цикле и отключается только при сбросе состояния компонента. Его задача - принять данные от процессора и нарисовать пиксель. Все остальные составляющие являются вспомогательными. ValueFSM передает 8-битное значение на дисплей. CommandFSM передает 8-битную команду. Value16bitsFSM передает 16-битное значение. Counter отмеряет промежутки времени и реализует задержки. Все вспомогательные элементы имеют сигнал обратной связи ready, который сигнализирует об окончании их работы. Также имеется reset, который запрещает работу. Если имеется несколько использующих элементов, то reset собирается при помощи логического ИЛИ.
|