6b28fad4b1
Начали тестирование последовательной шины. S_RES (ножка 30С управляется из сервисного регистра SRV_LEDS(14)). Синхросигнал инвертирован в SB. Данные от периферийных устройств неверно заходили в фильтр (исправлено). ПО проходит тесты, пока не работает.
2024-06-07 10:50:55 +03:00
f72d466925
Исправил работу светодиодов в регистре LEDS блока TEST. Поменял местами Er0_in и Er0_out - не схеме названы некорректно.
2024-04-11 18:49:35 +03:00
5adc23b007
Три блока на шине: PWM, LedController и TEST. В TEST можно прочитать линию Er0_in, а так же управлять светодиодами FPGA_LEDS с пятого по второй. Первый сетодиод остался как индикатор работы ПЛИС.
2024-04-09 17:11:52 +03:00
e0197a05ac
Добавил в проект оптическую шину.
2024-04-04 14:15:38 +03:00
9394bee3c3
Добавил блок работы с МАЗ, но надо детально проверять состояния автомата. Код переписал, но много путаницы было в проекте для SP2, из-за этого уверености в работе модуля нет.
2024-04-03 18:51:31 +03:00
6840fdc8d8
Добавил в проект RAM9X8_Loader.
2024-04-03 15:17:28 +03:00
51ae2e64a4
Добавил в проект LedController. Начал реализацию загрузчика.
2024-04-02 18:08:20 +03:00
da0eef977c
Добавил в проект модуль ШИМ (регистры согласно описанию в адресном пространстве). Подключил модуль к портам вводы/вывода, кроме внешнего error. Его пока завел на константу. В каждый цифровой фильтр добавил библиотечный элемент D-тригера (dff), тем самым сместив вправо еще на один такт все сигналы. Такую прошивку надо еще раз тестировать.
2024-04-01 18:52:02 +03:00
845f3fd223
Исправили в соответствии с описанием адресного пространства блок ParallelBusMaster в части счетчика ошибок. Убрали из проекта библиотечные элементы фильтров, оставили один. Добавили синхронный блок инверсии сигналов для работы SerialBus. Настроили буферы на 96 ногой шине в соотвтествии с режимом работы NOT LOAD. Чтобы исправить назначение ног, предназначенных по умолчанию только для конфигурации, необходимо было в Assigments > Device > Device & Pin options > Dual Purpose Pins > двойным кликом на интересующих пинах выбрать regular I/O.
...
Info (169125): Pin ~ALTERA_ASDO_DATA1~ is reserved at location 12 (Здесь у нас nSBclk);
Info (169125): Pin ~ALTERA_FLASH_nCE_nCSO~ is reserved at location 14 (LoadMode);
Info (169125): Pin ~ALTERA_DCLK~ is reserved at location 23 (остается только для конфигурации);
Info (169125): Pin ~ALTERA_DATA0~ is reserved at location 24 (остается только для конфигурации);
Info (169125): Pin ~ALTERA_nCEO~ is reserved at location 162 (ТК4);
2024-03-28 15:54:34 +03:00
5370ab4575
Для конвертирования используем библиотеки use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all. Добавили ParallelBusMaster на схему. Изменили условия чтения и записи в блоках с адресным пространством. При 200МГц синхросигнале скорость передачи двух байт (за два такта) уменьшилась до 110 нс.
2024-03-28 13:47:49 +03:00
4b3a28ebbc
Заменили все DigitalFilterXXX на один расширяемый с помощью параметров модуль
2024-03-26 11:50:50 +03:00
5fba6ce8b4
Заменил RAM9X8 на расширяемый с помощью параметров RAM.
2024-03-26 10:23:20 +03:00
f3a7b565e4
Ввели фазовый сдвиг на 4 такта для сигнала WE, так как в режиме записи не успевали выставляться данные на шину данных и ПЛИС зачитывала нули по всем битам. Это помогло стабилизировать запись. Чтение работает хорошо. Полный цикл записи или чтения бвух байт равен примерно 200нс.
2024-03-19 18:39:41 +03:00
99cb989e51
Изменили работу конечного автомата в памяти RAM9X8.
2024-03-19 10:39:11 +03:00
a398de1515
Зафильтровали, используя фазовый сдвиг на один такт, сигналы OE, CE, WE. Перед этим еще дальше сдвинули чтение адреса и проверку OE после спада CE (до 120 нс). Сейчас шина работает стабильно. Так же в этой редакции заработали выходы блока PLL (100МГц и 200МГц).
2024-03-15 16:35:16 +03:00
afea08ff2d
Протестировали память. Работает. Сделали новую RAM9X8, где 512 ечеек по 8 бит данных. Избавились от ножек BL.
2024-03-14 18:30:15 +03:00
beef10a15b
В описании предыдущего коммита ошибка: память определялась как синхронная.
...
Увеличили размерность памяти 8х32. Со стороны контроллера ввели ножки nBL. Это выбор байта (от 0 до 3) в ячейки памяти. Добавили описание блока памяти. После синтеза, который стал занимать намного больше времени, блок памяти перестал определятся как синхронная память. Данные по загрузке ПЛИС:
Total logic elements 10,706 / 24,624 ( 43 % )
Total combinational functions 6,603 / 24,624 ( 27 % )
Dedicated logic registers 8,249 / 24,624 ( 33 % )
Total registers 8249
Total pins 25 / 149 ( 17 % )
Total PLLs 1 / 4 ( 25 % )
2024-03-14 11:27:47 +03:00
8c0178953a
Изменили блок памяти RAM в соответствие с диаграммой на странице 571 технического описания GD32F403_User_Manual. После синтеза quartus распознал блок как асинхронную память. Вывели на светодиоды синхросигналы из блока PLL для проверки на осциллографе.
2024-03-12 17:54:31 +03:00
71cbaf57d8
Для согласования работы с процессором было принято решение перейти на питание ПЛИС 3.3В. Внесли изменения в проект.
2024-03-12 16:30:45 +03:00
7ee9a34a42
Начали проект переноса ПО под Альтеру. В проект MainController добавлен блок умножителя частоты и блок памяти на 255 ячеек по 16 бит данных. В память можно записать значение в ячейки и прочитать их оттуда. Преднастроек или каких либо зарезервированных ячеек пока нет. В отличие от проекта для Spartan2 здесь не будет ServiceDataDispatch. Вместо него данные из MCU будут сразу же грузиться в логические блоки (PWM, HWP и другие).
2024-03-04 17:16:43 +03:00