Порт оригинального проекта конфигурации TS-Conf для платы Reverse U16 https://code.google.com/p/reverse-u16/, Автор оригинального проекта: MVV ``
Плата достаточно бедно укомплектована, для полноценной работы проекта необходимо провести ряд модификаций с паяльником для того, чтобы сделать поддержку SD-карты и задействовать освободившиеся пины (под SD-карту и вывод звука, в частности).
- Необходимо выпаять 7-сегментный индикатор и впаять вместо него pin header 2x6
- Необходимо выпаять IR-приемник и паять вместо него pin header 1x3
- Необходимо выпаять ВЧ-разъем
- Необходимо заменить (опционально) резисторные сборки RP10-RP12 300 Ом на сборки 0 Ом
- Собрать shield-плату https://github.com/andykarpov/wxeda-sdcard-shield, которая будет служить адаптером SD-карты + линейный выход звука
Данная модификация также подходит для таких проектов:
- Радио-86РК для WXEDA https://github.com/andykarpov/radio-86rk-wxeda
- Специалист для WXEDA https://github.com/andykarpov/specialist-wxeda
- Вектор-06Ц для WXEDA https://code.google.com/p/vector06cc/ (svn-ветка wxeda-cycloneiv)
- Speccy для WXEDA https://github.com/andykarpov/speccy-wxeda
Фото девборды после модификаций:
Фото девборды с SD-адаптером:
Данной конфигурацией поддерживается загрузка ПЗУ:
- с FAT32 SD карты
- либо со встроенной на плате SPI flash памяти W25Q32 объемом 4МБ.
По-умолчанию в проект подключен FAT32 загрузчик (loader_fat32), который ищет файл ROMS/ZXEVO.ROM на SD-карте и загружает его.
Для тех, кому этот вариант кажется слишком простым, вот вариант записи ПЗУ на SPI flash W25Q32 для SPI-загрузчика (при этом rom.vhd в проекте нужно перестроить на использование ../loader/loader.hex вместо loader_fat32/loader.hex):
Необходимо записать на встроенную SPI Flash Winbond W25Q32 образ roms/W25Q32.ROM. Так как у автора не было специального программатора, но была под рукой Raspberry Pi, было найдено решение, как практически безболезненно прошить впаянную на девборку SPI флешку:
- В девборду заливается прошивка https://github.com/andykarpov/speccy-wxeda-sdcard-bridge через JTAG, которая реализует соединение пинов W25Q32 с внешними пинами гребенки
- Пины гребенки 2,3,4,5 (DI,DO,CLK,CS), подключенные (виртуально) к W25Q32 и GND (средний пин гребенки 1x3 от выпаянного IR-приемника) соединяются с GPIO пинами Raspberry Pi (19,21,23,24,25 соответственно). Подробнее: http://flashrom.org/RaspberryPi
- На Raspberry Pi установлена последняя версия Raspbian
- На Raspberry Pi скачивается и устанавливается проект flashrom - http://flashrom.org/Downloads + необходимые зависимости для его сборки
- включается модуль ядра spi (через raspi-config или руками - modprobe spi_bcm2708 и modprobe spidev)
- заливка прошивки:
- проверяем, находится ли флешка:
./flashrom -p linux_spi:dev=/dev/spidev0.0
- если находится - заливаем:
./flashrom -p linux_spi:dev=/dev/spidev0.0 -w /путь/к/W25Q32.ROM
- успешная запись длится порядка 30 секунд
- проверяем, находится ли флешка:
фото этапа программирования с помощью flashrom:
- Взять чистую SD-карту, отформатированную в FAT32
- Записать в папку ROMS/ файл ZXEVO.ROM
- Записать в корень файл softwares/boot.$C
- Скачать дистрибутив Wild Commander http://zx-evo-fpga.googlecode.com/hg/pentevo/soft/WC/wc.rar, распаковать и переписать на SD-карту директорию WC
- Записать необходимое количество Ваших образов TRD, SCL, TAP, музыки в формате PT3, и чего угодно, что поддерживает WC, можно распихивать их по вложенным директориям.
- Подробнее о WC: http://tslabs.info/forum/viewtopic.php?f=26&t=143
- Открыть проект в Quartus 13
- Открыть Programmer
- Выбрать подготовленный файл tsconf_wxeda.jic
- Выбрать подключенный USB Blaster
- Запустить программирование
- После успешной заливки выключить и включить девборду
- Profit :)
Итак, после подачи питания на плату происходит следующее:
- FPGA заливает в себя конфигурацию с конфигурационной флешки EPCS4 и стартует ее
- Далее запускается конфигурация и управление передается loader'у;
- FAT32 Loader автоматически пытается загрузить ROMS/ZXEVO.ROM с FAT32 SD-карты, SPI Loader - загружает содержимое флешки W25Q32 в специальную область ОЗУ (SDRAM), отведенную под хранение ПЗУ
- Управление передается TS-BIOS Setup utility
Чтобы запустить образ TRD или SCL, на него нужно наступить Enter'ом, при этом образ примонтируется. Далее сброс (F12), попадаем в TR-DOS. Если диск автозагрузочный - запустится сразу, иначе - LIST + LOAD "файл"
Чтобы запустить программу в формате SPG, на нее достаточно просто наступить Enter'ом в WC.
Чтобы прослушать музыку в формате PT3, достаточно нажать Enter (музыкальный проигрыватель является одним из плагинов к WC).
- В проекте отсутствует микросхема для RTC, поэтому ее конфигурирование было выключено из загрузкича.
- Так как Video DAC конфигурации TS-CONF использует по 8 бит на цвет, а на плате WXEDA используется вариант 5:6:5 для VGA, используеются только старшие биты.
- F12 - Сброс (в выбранный банк, указанный в настройках TS-BIOS)
- Shift + F12 - Сброс + запуск Wild Commander
- Ctrl + F12 - Сброс + запуск TS-BIOS
- Возможно есть еще какие-то, я пока не осилил :)
Приятного использования :)