SDR трансивер на ESP32 та TLV320AIC3204
-
- Повідомлень: 73
- З нами з: Суб жовтня 29, 2022 4:06 pm
- Has thanked: 14 times
- Been thanked: 26 times
SDR трансивер на ESP32 та TLV320AIC3204
Якось я експерементував з кодеком TLV320AIC3204 і на мекетках зібрав приймач (про це можна прочитати тут). Але потім захотілось продовжити, але вже не на макетках і були спроектовані такі плати
На цій платі розміщений ESP32-WROOM-32UE з кнопками та дисплеєм (GMT020-02). З платою кодека комунікує по I2S і I2C інтерфейсах. З платою підсилювача по SPI.
Плата яка має виконувати всю магію. На ній знаходиться кодек, синтезатор та перетворювачі частоти з підсилювачами. Мабуть, деякі моменти на платі виглядають дивно, але ну що тут скажеш - я художник я так бачу
Плату підсилювача я взяв з проекту Udai.
Плата передньої панелі має розмір 50х100, а дві інші 100х100мм
Схеми: Наразі ж не маю достатньо часу займатися цим проектом далі і вирішив поділитися з вами - можливо, когось такий проект зацікавить для подальшого його розвитку. Якщо такі є, то звертайтеся і я підготую і викладу матеріали для вільного доступу на GitHub.
Плату підсилювача я взяв з проекту Udai.
Плата передньої панелі має розмір 50х100, а дві інші 100х100мм
Схеми: Наразі ж не маю достатньо часу займатися цим проектом далі і вирішив поділитися з вами - можливо, когось такий проект зацікавить для подальшого його розвитку. Якщо такі є, то звертайтеся і я підготую і викладу матеріали для вільного доступу на GitHub.
-
- Повідомлень: 73
- З нами з: Суб жовтня 29, 2022 4:06 pm
- Has thanked: 14 times
- Been thanked: 26 times
Re: SDR трансивер на ESP32
Софт тільки той, що я писав для макету і він не адаптований під це залізо. В ньому є драйвер для кодека, драйвер для генератора, окремий потік для прийому і демодулювання сигналу, можливо ще щось корисне в цілому небагато. Весь код можна глянуть тут, а версія для esp32 в директорії esp32-project.
Доречі, зверніть увагу на функцію void calculate_iq_error(float *pSrc, uint32_t size) - вона вміє визначати і корегувати розбаланс фази і амплітуди в тайм домейні (ну принаймні так стверджує автор алгоритму). Ви колись запитували. Але в мене так і не дійшли руки щоб її потестити з панорамою.
Доречі, зверніть увагу на функцію void calculate_iq_error(float *pSrc, uint32_t size) - вона вміє визначати і корегувати розбаланс фази і амплітуди в тайм домейні (ну принаймні так стверджує автор алгоритму). Ви колись запитували. Але в мене так і не дійшли руки щоб її потестити з панорамою.
-
- Повідомлень: 73
- З нами з: Суб жовтня 29, 2022 4:06 pm
- Has thanked: 14 times
- Been thanked: 26 times
Re: SDR трансивер на ESP32
Виявилось, що в репозиторії не весь код. На коп'ютері знайшов більше всього: є згенеровані фільтри для використання в ЦОС, і якісь спроби їх використовувати, код який відображає картинку, можливо, ще щось. Такщо хто клонував репозиторій робіть git pull щоб завантажити оновлення
-
- Повідомлень: 815
- З нами з: Пон вересня 12, 2022 1:04 pm
- Has thanked: 43 times
- Been thanked: 294 times
Re: SDR трансивер на ESP32
Ні, це працювати на панорамі не буде. Такі прості алгоритми працюють якщо між IQ є здвиг фази/амплітуди який ПОСТІЙНИЙ. Але у сдр він залежить від частотиiurii писав: ↑Чет червня 06, 2024 4:25 pm Доречі, зверніть увагу на функцію void calculate_iq_error(float *pSrc, uint32_t size) - вона вміє визначати і корегувати розбаланс фази і амплітуди в тайм домейні (ну принаймні так стверджує автор алгоритму). Ви колись запитували. Але в мене так і не дійшли руки щоб її потестити з панорамою.
-
- Повідомлень: 73
- З нами з: Суб жовтня 29, 2022 4:06 pm
- Has thanked: 14 times
- Been thanked: 26 times
Re: SDR трансивер на ESP32
Вирішив дещо переробити свою графічну бібліотеку: адаптувати для ESP32 і інших мікроконтролерів, що не мають DMA2D. Почав роботу, а потім з'явилася нова ідея. Зробити такий собі графічний фреймворк, що складався б з набору деяких меню. Оскільки функції SDR трансиверів в основному майже всі однакові, то меню можуть бути теж більш менш однакові, але при натисканні кнопок, тачскрину чи поворот енкодеру має викликатися код користувача. Користувач же може нівчому себе не обмежувати і написати свою обробку таких подій.
Моя спроба зробити такий фреймворк знаходиться тут в директорії esp32-gui-project
Для збірки потрібно Visual Studio Code з розширенням ESP-IDF при налаштуваннях вибрати ESP-IDF v5.3.0, я використовую дисплей 320х240 GMT020-02 (ST7789), але думаю, підійде любий з таким контролером і такою ж роздільною здатністю (можливі нюанси з кольорами бо для мого дисплею використовуються інвертовані значення), також потрібен енкодер звичайний на 15 імпульсів чи біля того (з резисторами підтяжками) ну і ESP32-WROOM (на інших поки ще не перевіряв).
Як підключати?
GPIO23 (VSPI-MOSI) -> LCD SDA
GPIO19 (VSPI-MISO) -> LCD DC - використовується як GPIO
GPIO5 (VSPI-CS) -> LCD CS
GPIO18 (VSPI-CLK) -> LCD SCL
GPIO17 -> LCD RST
GPIO34 -> Encoder A
GPIO35 -> Encoder B
GPIO32 -> Encoder Key
Що вміє робити?
Реалізовано таке собі демо яке вміє при поворі енкодера переміщати фокус з одного елемента на інший, а при натискання на енкодер заходити у вибранне меню. На разі реалізовано меню для налаштувань радіо і аудіо обладнання (виставляти рівні підсилення і еквалайзери). З тачскрином поки ще не працю.
Користувач матиме змогу додавати свій функціонал в файли що знаходять тут esp32-gui-project\gui\
Наприклад, в файлі AudioView\InputSettingViews\AudioInputAGCSettingsView.cpp є метод який буде викликатися кожний раз коли користувач буде змінювати в меню значення рівня шуму для АРУ мікрофонну - void AudioInputAGCSettingsView::OnNoiseThreshouldChanged(int value)
Якщо проект зацікавив звертайтеся, можливо, зроблю окрему тему на форумі і якесь відео викладу.
Re: SDR трансивер на ESP32
Все це хорошо що ви робите . Можливість побачити схему неможливо - потрібно робити так що можна з доступними програмами відкривати , а тут потрібно ще шукати програми щоб відкрити . Потрібно схему давати в .PDF або в фотовид схеми . З повагою Павло .
-
- Повідомлень: 73
- З нами з: Суб жовтня 29, 2022 4:06 pm
- Has thanked: 14 times
- Been thanked: 26 times
Re: SDR трансивер на ESP32
Не зрозумів про яку схему йдеться. Якщо про ту що йдеться в повідомленні від 24 травня то там схема за посиланням. Вона в pdf просто завантажена була в архіві. Архіватор звичайний 7zip
-
- Повідомлень: 375
- З нами з: П'ят жовтня 14, 2022 1:13 pm
- Звідки: KO40ig
- Позивний: UR5XOU
- Has thanked: 84 times
- Been thanked: 27 times
Re: SDR трансивер на ESP32
На скільки я зрозумів, то посилання на блог, де є всі схеми, якраз в першому пості.
-
- Повідомлень: 815
- З нами з: Пон вересня 12, 2022 1:04 pm
- Has thanked: 43 times
- Been thanked: 294 times
Re: SDR трансивер на ESP32
Ні, то інше. Переніс повідомлення в окрему тему
Я остаточно перейшов на LVGL. Дещо виклав тут Cинтезатор з сенсорним екраном
LVGL працює на багатьох платформах. Має анімацію відображення, підтримує жести. Найважливіше - це візуальне проектування екранів. Це дуже зручно коли буквально малюєш екран у редакторі. Спочатку я використовував SquareLine Studio , але у нього виявилося купа обмежень. Тому я перейшов на EEZ Studio - він повністю безкоштовний