SDR трансивер на ESP32 та TLV320AIC3204

iurii
Повідомлень: 73
З нами з: Суб жовтня 29, 2022 4:06 pm
Has thanked: 14 times
Been thanked: 26 times

SDR трансивер на ESP32 та TLV320AIC3204

Повідомлення iurii »

Якось я експерементував з кодеком TLV320AIC3204 і на мекетках зібрав приймач (про це можна прочитати тут). Але потім захотілось продовжити, але вже не на макетках і були спроектовані такі плати
inh-01.png
На цій платі розміщений ESP32-WROOM-32UE з кнопками та дисплеєм (GMT020-02). З платою кодека комунікує по I2S і I2C інтерфейсах. З платою підсилювача по SPI.
inh-02.png
Плата яка має виконувати всю магію. На ній знаходиться кодек, синтезатор та перетворювачі частоти з підсилювачами. Мабуть, деякі моменти на платі виглядають дивно, але ну що тут скажеш - я художник я так бачу  :D
  
inh-03.png
Плату підсилювача я взяв з проекту Udai

Плата передньої панелі має розмір 50х100, а дві інші 100х100мм

 Схеми:
inhul-board.7z
(147.31 Кіб) Завантажено 230 разів
 
inhul-esp32.7z
(48.67 Кіб) Завантажено 229 разів
 Наразі ж не маю достатньо часу займатися цим проектом далі і вирішив поділитися з вами - можливо, когось такий проект зацікавить для подальшого його розвитку. Якщо такі є, то звертайтеся і я підготую і викладу матеріали для вільного доступу на GitHub.

 
 
 
 
 
 
UR5FFR
Повідомлень: 814
З нами з: Пон вересня 12, 2022 1:04 pm
Has thanked: 43 times
Been thanked: 294 times

Re: SDR трансивер на ESP32

Повідомлення UR5FFR »

А наскільки у софті продвинулися? Бо залізо це гарно, але без софта то таке
iurii
Повідомлень: 73
З нами з: Суб жовтня 29, 2022 4:06 pm
Has thanked: 14 times
Been thanked: 26 times

Re: SDR трансивер на ESP32

Повідомлення iurii »

Софт тільки той, що я писав для макету і він не адаптований під це залізо. В ньому є драйвер для кодека, драйвер для генератора, окремий потік для прийому і демодулювання сигналу, можливо ще щось корисне в цілому небагато. Весь код можна глянуть тут, а версія для esp32 в директорії esp32-project

Доречі, зверніть увагу на функцію void calculate_iq_error(float *pSrc, uint32_t size) - вона вміє визначати і корегувати розбаланс фази і амплітуди в тайм домейні (ну принаймні так стверджує автор алгоритму). Ви колись запитували. Але в мене так і не дійшли руки щоб її потестити з панорамою.
 
iurii
Повідомлень: 73
З нами з: Суб жовтня 29, 2022 4:06 pm
Has thanked: 14 times
Been thanked: 26 times

Re: SDR трансивер на ESP32

Повідомлення iurii »

Виявилось, що в репозиторії не весь код. На коп'ютері знайшов більше всього: є згенеровані фільтри для використання в ЦОС, і якісь спроби їх використовувати, код який відображає картинку, можливо, ще щось. Такщо хто клонував репозиторій робіть git pull щоб завантажити оновлення
 
 
UR5FFR
Повідомлень: 814
З нами з: Пон вересня 12, 2022 1:04 pm
Has thanked: 43 times
Been thanked: 294 times

Re: SDR трансивер на ESP32

Повідомлення UR5FFR »

iurii писав: Чет червня 06, 2024 4:25 pm Доречі, зверніть увагу на функцію void calculate_iq_error(float *pSrc, uint32_t size) - вона вміє визначати і корегувати розбаланс фази і амплітуди в тайм домейні (ну принаймні так стверджує автор алгоритму). Ви колись запитували. Але в мене так і не дійшли руки щоб її потестити з панорамою.

 
Ні, це працювати на панорамі не буде. Такі прості алгоритми працюють якщо між IQ є здвиг фази/амплітуди який ПОСТІЙНИЙ. Але у сдр він залежить від частоти
iurii
Повідомлень: 73
З нами з: Суб жовтня 29, 2022 4:06 pm
Has thanked: 14 times
Been thanked: 26 times

Re: SDR трансивер на ESP32

Повідомлення iurii »

UR5FFR писав: Сер червня 05, 2024 11:29 am А наскільки у софті продвинулися? Бо залізо це гарно, але без софта то таке


 
Вирішив дещо переробити свою графічну бібліотеку: адаптувати для 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)

Якщо проект зацікавив звертайтеся, можливо, зроблю окрему тему на форумі і якесь відео викладу.



 
 
Павло
Повідомлень: 4
З нами з: Суб лютого 17, 2024 12:31 pm
Позивний: ur5nka

Re: SDR трансивер на ESP32

Повідомлення Павло »

Все це хорошо що ви робите . Можливість побачити схему неможливо - потрібно робити так що можна з доступними програмами відкривати , а тут потрібно ще шукати програми щоб відкрити . Потрібно схему давати в .PDF або в фотовид схеми . З повагою Павло .
iurii
Повідомлень: 73
З нами з: Суб жовтня 29, 2022 4:06 pm
Has thanked: 14 times
Been thanked: 26 times

Re: SDR трансивер на ESP32

Повідомлення iurii »

Павло писав: Нед вересня 01, 2024 3:17 pm Все це хорошо що ви робите . Можливість побачити схему неможливо - потрібно робити так що можна з доступними програмами відкривати , а тут потрібно ще шукати програми щоб відкрити . Потрібно схему давати в .PDF або в фотовид схеми . З повагою Павло .

 
Не зрозумів про яку схему йдеться. Якщо про ту що йдеться в повідомленні від 24 травня то там схема за посиланням. Вона в pdf просто завантажена була в архіві. Архіватор звичайний 7zip
oldPsyho
Повідомлень: 375
З нами з: П'ят жовтня 14, 2022 1:13 pm
Звідки: KO40ig
Позивний: UR5XOU
Has thanked: 84 times
Been thanked: 27 times

Re: SDR трансивер на ESP32

Повідомлення oldPsyho »

Павло писав: Нед вересня 01, 2024 3:17 pm Все це хорошо що ви робите . Можливість побачити схему неможливо - потрібно робити так що можна з доступними програмами відкривати , а тут потрібно ще шукати програми щоб відкрити . Потрібно схему давати в .PDF або в фотовид схеми . З повагою Павло .

 
На скільки я зрозумів, то посилання на блог, де є всі схеми, якраз в першому пості.
 
UR5FFR
Повідомлень: 814
З нами з: Пон вересня 12, 2022 1:04 pm
Has thanked: 43 times
Been thanked: 294 times

Re: SDR трансивер на ESP32

Повідомлення UR5FFR »

oldPsyho писав: Нед вересня 01, 2024 8:04 pm На скільки я зрозумів, то посилання на блог, де є всі схеми, якраз в першому пості.

 
Ні, то інше. Переніс повідомлення в окрему тему
iurii писав: П'ят серпня 30, 2024 7:25 pmВирішив дещо переробити свою графічну бібліотеку: адаптувати для ESP32 і інших мікроконтролерів, що не мають DMA2D

 
Я остаточно перейшов на LVGL. Дещо виклав тут Cинтезатор з сенсорним екраном
LVGL працює на багатьох платформах. Має анімацію відображення, підтримує жести. Найважливіше - це візуальне проектування екранів. Це дуже зручно коли буквально малюєш екран у редакторі. Спочатку я використовував SquareLine Studio , але у нього виявилося купа обмежень. Тому я перейшов на EEZ Studio - він повністю безкоштовний
Screenshot_2024_09_02-1.png
 
Screenshot_2024_09_02-2.png
Відповісти