0 Доработка прошивок микроконтроллера и FPGA
Dmitry Panin edytuje tę stronę 2022-06-23 22:43:45 +03:00
This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Если у вас есть навыки или желание внести в проект новое - всегда пожалуйста. Это может быть исправление багов, улучшение внешнего вида, алгоритмов обработки или новые функции - что угодно. Список пожеланий и проблем.

Как предложить изменения в программный код проекта описано тут

Проект поделён на 2 части: прошивка для FPGA и прошивка для микроконтроллера STM32.

Разработка кода FPGA ведётся в среде Quartus 18.1 на языке Verilog + используя визуальные IP блоки.

Разработка кода STM32 ведётся на IDE Keil MDK последней версии.

Чтобы разобраться в структуре проекта, опишу основные файлы и структурные части:

  • BiquadDesigner - код расчёта IIR фильтров под необходимые требования
  • FT8 - код декодера и энкодера, интерфейс сервиса
  • JPEG - код декодера JPEG, преобразование цветов и побочные функции
  • USBDevice - код USB стека устройства
  • INA226_PWR - код татчика тока\напряжения
  • adpcm-lib - код энкодера\декодера WAV файлов
  • agc - код АРУ первой версии
  • audio_filters - код инициализации и поддержки фильтров на все случаи жизни
  • audio_processor - сердце DSP обработки, вся модуляция и демодуляция происходит тут
  • auto_notch - автоматический нотч фильтр на основе LMS
  • bands - список бендов и поддиапазонов\каналов в них
  • bootloader - код перехода в DFU режим
  • callsign - код получения информации по позывному (для кластера и для сервиса)
  • color_themes - цветовое оформление трансивера
  • cw - код работы телеграфом
  • cw_decoder - код декодера CW
  • decoder - общий код всех декодеров
  • fft - всё что касается спектра, водопада и 3D
  • filemanager - сервис файлменеджера, записи CQ, прошивки и т.п.
  • fonts - шрифты, используемые в трансивере
  • fpga - код интерфейса работы с FPGA
  • front_unit - код работы с кнопками и энкодерами передней панели\тачпада
  • functions - различные функции и макросы, используемые по всему коду
  • i2c - софт-эмулятор шины I2C на любых пинах МК
  • images - картинки и иконки
  • lcd - описание интерфейса трансивера
  • lcd_driver - общие функции для всех типов LCD
  • lcd_driver_* - локальные версии драйверов для нужного типа экрана
  • locator - сервис получения информации по локатору
  • main - загрузка и инициализация трансивера
  • noise_blanker - подавитель коротких импульсных помех (щелчков)
  • noise_reduction - код DNR1, DNR2 и Spectral AGC
  • print - код вывода отладки в COM-порт
  • profiler - профайлер кода внутри трансивера, для отладки скорости
  • rds_decoder - код декодера FM RDS
  • rf_unit - код работы с RF-UNIT, ATU и датчиками
  • rtty_decoder - код декодера RTTY
  • screen_layout_* - темы оформления (цвета, местоположение элементов, шрифты и т.п.) под все разрешения
  • sd - код работы с SPI SD картой
  • self_test - код самопроверки работы трансивера
  • settings - настройки и калибровки
  • stm32h7xx_it.c - обработка прерываний и таймеров, планировщик задач
  • spec_analyzer - анализатор спектра
  • swr_analizer - анализатор КСВ
  • system_menu - системное меню и все настройки\калибровки, обработчики их изменений
  • touchpad_* - код работы с тачпадом
  • trx_manager - код базовой работы трансивера, выбор моды, диапазона, TX/RX и т.п.
  • usbd_audio_if - код USB Audio
  • usbd_cat_if - CAT подсистема
  • usbd_debug_if - COM-порт отладки
  • usbd_iq_if - код USB Audio IQ
  • usbd_storage_if - код эмулятора USB диска
  • usbd_ua3reo - общий код USB устройств
  • vad - код детектора голоса (для шумоподавителя SSB)
  • vocoder - код кодера WAV, записи эфира и т.п.
  • wifi - код работы с ESP WiFi
  • wm8731 - код работы с аудио-кодеком
  • wspr - код работы WSPR маяка