Обсуждаем цифровые устройства...
Ответить

Re: Темброблок - анализатор спектра на STM32F103

Ср дек 19, 2018 21:56:51

На днях портировал поддержку PT2322/PT2323. Если кто-то имеет в наличии и планирует подключать этот вариант, большая просьба проверить в железе.

Итого на данный момент поддерживаются:
Тюнеры (пока без RDS) в режиме автосканирования:
- RDA5807
- Si4703
- TEA5767
Аудиопроцессоры:
- TDA7439
- TDA7313
- PT2322/PT2323

Re: Темброблок - анализатор спектра на STM32F103

Сб дек 22, 2018 19:50:32

Изображение

wiselord. hello can be added to the spectrum analog visual properties
Последний раз редактировалось Gürcan Вс дек 23, 2018 17:15:26, всего редактировалось 1 раз.

Re: Темброблок - анализатор спектра на STM32F103

Вс дек 23, 2018 04:24:27

Было бы коуто

Re: Темброблок - анализатор спектра на STM32F103

Пн дек 24, 2018 15:04:18

wiselord. the remote control over the back button does not operate when the forward key is working there is a distress or is not active

Re: Темброблок - анализатор спектра на STM32F103

Ср дек 26, 2018 16:57:16

Re: Темброблок - анализатор спектра на STM32F103

Ср дек 26, 2018 17:38:31

проект перестал компилиться
Makefile:
DISPLAY = ILI9341
DISPVAR = SPI

Код:
In file included from display/dispdrv.c:7:0:
display/dispdrv.c: In function 'dispdrvInit':
display/dispdrv.c:143:9: error: 'DISP_DC_Port' undeclared (first use in this function); did you mean 'DISP_I2C_Port'?
     SET(DISP_DC);
         ^
display/../pins.h:11:33: note: in definition of macro 'CONCAT'
 #define CONCAT(x,y)             x ## y
                                 ^
display/dispdrv.c:143:5: note: in expansion of macro 'SET'
     SET(DISP_DC);
     ^~~
display/dispdrv.c:143:9: note: each undeclared identifier is reported only once for each function it appears in
     SET(DISP_DC);
         ^
display/../pins.h:11:33: note: in definition of macro 'CONCAT'
 #define CONCAT(x,y)             x ## y
                                 ^
display/dispdrv.c:143:5: note: in expansion of macro 'SET'
     SET(DISP_DC);
     ^~~
display/dispdrv.c:143:9: error: 'DISP_DC_Pin' undeclared (first use in this function); did you mean 'DISP_RD_Pin'?
     SET(DISP_DC);
         ^
display/../pins.h:11:33: note: in definition of macro 'CONCAT'
 #define CONCAT(x,y)             x ## y
                                 ^
display/dispdrv.c:143:5: note: in expansion of macro 'SET'
     SET(DISP_DC);
     ^~~
make: *** [makefile:206: build/dispdrv.o] Error 1

под DISPVAR = 8BIT собирается нормально
где палочкой потыкать?

Re: Темброблок - анализатор спектра на STM32F103

Пт дек 28, 2018 08:35:21

проект перестал компилиться
Makefile:
DISPLAY = ILI9341
DISPVAR = SPI

Код:
In file included from display/dispdrv.c:7:0:
display/dispdrv.c: In function 'dispdrvInit':
display/dispdrv.c:143:9: error: 'DISP_DC_Port' undeclared (first use in this function); did you mean 'DISP_I2C_Port'?
     SET(DISP_DC);
         ^
display/../pins.h:11:33: note: in definition of macro 'CONCAT'
 #define CONCAT(x,y)             x ## y
                                 ^
display/dispdrv.c:143:5: note: in expansion of macro 'SET'
     SET(DISP_DC);
     ^~~
display/dispdrv.c:143:9: note: each undeclared identifier is reported only once for each function it appears in
     SET(DISP_DC);
         ^
display/../pins.h:11:33: note: in definition of macro 'CONCAT'
 #define CONCAT(x,y)             x ## y
                                 ^
display/dispdrv.c:143:5: note: in expansion of macro 'SET'
     SET(DISP_DC);
     ^~~
display/dispdrv.c:143:9: error: 'DISP_DC_Pin' undeclared (first use in this function); did you mean 'DISP_RD_Pin'?
     SET(DISP_DC);
         ^
display/../pins.h:11:33: note: in definition of macro 'CONCAT'
 #define CONCAT(x,y)             x ## y
                                 ^
display/dispdrv.c:143:5: note: in expansion of macro 'SET'
     SET(DISP_DC);
     ^~~
make: *** [makefile:206: build/dispdrv.o] Error 1

под DISPVAR = 8BIT собирается нормально
где палочкой потыкать?


В 143 строке ошибка. Вместо SET(DISP_DC); надо SET(DISP_RS);

Добавлено after 8 hours 18 minutes 44 seconds:
DC и RS типа одно и тоже в дисплеях (команды/данные). Вот автор и напутал.

Re: Темброблок - анализатор спектра на STM32F103

Пн дек 31, 2018 00:56:00

Будет ли кому-либо интересна поддержка дисплея 3,5"TFT ILI9486?

Re: Темброблок - анализатор спектра на STM32F103

Пн дек 31, 2018 11:04:10

Будет ли кому-либо интересна поддержка дисплея 3,5"TFT ILI9486?


С какой целью интересуетесь?

Re: Темброблок - анализатор спектра на STM32F103

Пн дек 31, 2018 13:38:51

Немного подправил ili9481.c чтобы работала с ili9486. Глубоко не копал, только инициализацию и отзеркалил изображение. Надо?

Re: Темброблок - анализатор спектра на STM32F103

Пн дек 31, 2018 13:44:43

Надо! Если проверенно.

Re: Темброблок - анализатор спектра на STM32F103

Вс янв 06, 2019 19:17:26

Здравствуйте! mixa232323 проверьте, pls. Немного не разобрался с цветом ещё, вроде как инверсия какая-то. https://cloud.mail.ru/public/HgiJ/oiqsTSJ9S
Вложения
9486.zip
(1.63 KiB) Скачиваний: 259

Re: Темброблок - анализатор спектра на STM32F103

Вт янв 08, 2019 21:04:17

топология по пинам на STM32 уже устаканилась и можно заняться трассировкой платы, или пока не спешить, что скажете?

Re: Темброблок - анализатор спектра на STM32F103

Вт янв 08, 2019 23:23:11

До конца ещё не уверен. В текущей разводке не устраивает то, что только один аппаратный UART доступен. Хотелось бы, чтобы их было хотя бы два. Но толком придумать, как такого добиться, пока не могу.

Возможно, будет "глобальная" замена портов кнопок PA0..7 на PB0..7. Так без проблем можно будет освободить UART2. А если убрать поддержку SSD1306 (да и вообще монохромных дисплеев) и попытаться не пользоваться ножками дисплея CS/RST/RD (по идее, должно работать и без этого), то ещё и UART3 можно освободить. Теоретически в будущем это может позволить управлять по разным UART разными устройствами (ранее обсуждались всякие mp3-плееры и интернет-радио, управляемые по UART).

Re: Темброблок - анализатор спектра на STM32F103

Ср янв 09, 2019 16:09:25

понял, не спешу, спасибо. на SPI ILI 9341 точно работает без управления CS/RST/RD, RST можно совместить с резетом контроллера, или свою RC линию задержки навесить, но работает и так.
была идея кнопочный блок на 6 пиновую кнопку джойстик переобуть, остались такие от пачки сгоревших камер видеонаблюдения, но если покупать, то дорого и не везде есть.
можно еще количество кнопок попробовать сократить, но придется переписывать софт и продумывать юзабельность интерфейса.
если перейти на систему вложенных меню и экранные контекстные кнопки, то реально и до 2-3 кнопок сократить плюс энкодер с кнопкой.
присел на тему с карадио, очень интересно интерфейс пользователя реализован, можно подсмотреть идею реализации.

по управлению других модулей одной дистанкой тоже идея посетила. в некоторых есть своя система IR, предлагаю сделать транслятор IR пакетов, команды для темброблока обрабатываем, всё что мимо повторяем на выход через UART на смежный блок, на нем вместо IR приемника припаиваем TX от темброблока через резюк 100-220 Ом.

так можно и платами мп3 плееров рулить с радио и блютусом, ихними же дистанками!

Добавлено after 18 minutes:
по монохромным OLED дисплеям. они удобны своими габаритами и простотой подключения. кто собирает микро системы в компактных корпусах, оценят все плюсы и минусы.
многоканальный усилок по размерам 2х пачек сигарет выглядит весьма достойно, если над корпусом хорошо поработать и продумать дизайн.

Re: Темброблок - анализатор спектра на STM32F103

Ср янв 09, 2019 21:40:17

До конца ещё не уверен. В текущей разводке не устраивает то, что только один аппаратный UART доступен. Хотелось бы, чтобы их было хотя бы два. Но толком придумать, как такого добиться, пока не могу.

Возможно, будет "глобальная" замена портов кнопок PA0..7 на PB0..7. Так без проблем можно будет освободить UART2. А если убрать поддержку SSD1306 (да и вообще монохромных дисплеев) и попытаться не пользоваться ножками дисплея CS/RST/RD (по идее, должно работать и без этого).


пытался завести ILI9225 без CS ... но увы))... работает только без RST)

Re: Темброблок - анализатор спектра на STM32F103

Ср янв 09, 2019 22:09:44

Сегодня попробовал отключить RST и RD. Оба подтянул к питанию через резистор. На всех моих тестовых дисплеях (ILI9341_SPI, ILI9341_8BIT, ILI9320_8BIT, KS0108B_8BIT, R61581_8BIT) заработало без проблем. CS решил не отключать, да и с ним можно тот же SPI интерфейс и к чему-то ещё подключить, используя дополнительные CS линии.

Так что, две ножки вполне себе освободились. Правда, не для варианта на KS0108.

И ещё не совсем уверен, что аппаратный SPI можно настроить так, чтобы MISO линия (READ) была свободна как GPIO. Т.е. задействовать только режим передачи. Надо посмотреть даташит.

Re: Темброблок - анализатор спектра на STM32F103

Ср янв 09, 2019 23:43:00

MISO от аппаратной шины возможно и не получится заюзать, а посадить на шину еще девайсов типа SPI SRAM кеша или SD CARD с софтовым кодеком MP3 с неё вполне реально, проект был на BluePill c мостовым выходом на ключи (D Class). но пинов и так в обрез, если дисплеи с параллельным интерфейсом.

по CS надо смотреть по даташитам на дисплеи, бывают с обычным входом и инверсным, по схемотехнике инверсный обозначен с подчеркиванием сверху CS. иногда даже удобно, когда на шине 2 приемника SPI, один с прямым, второй с инверсным CS, выбирается по любому один из Slave из одного и того-же пина master(STM32).
я про то, что вывод на дисплее не всегда можно оставлять в воздухе, надо создать устойчивый 0 или 1 резистором подтяжки на 1 кОм к шине питания модуля.
ну и спецификацию на чип полистать, иногда CS принимает участие в инициализации чипа.

Re: Темброблок - анализатор спектра на STM32F103

Сб янв 12, 2019 11:49:03

В общем, и так и сяк крутил - ну никак не получается нормально поиметь несколько UART интерфейсов. Есть один вариант, когда можно UART2 освободить, но это вынуждает использовать PB2, который на BluePill не выведен на гребёнку.

В общем, сейчас вижу такие варианты:

1. Ничего не трогать, оставить разводку как есть. В этом случае есть только UART1, по которому и прошить можно, и что-то полезное делать. Скорее всего, это будет такое же дистанционное управление, как в проекте на ATmega, типа через HC-05 модуль.
Плюсы - без проблем подключается BluePill платка.
Минусы - никакой возможность и в будущем подключить что-то ещё, управляемое по UART - Bluetooth модули, Karadio и т.п., что так живо обсуждалось, да вдруг заглохло.

2. Альтернативная разводка (см. pins.ods последних версий). Выводы кнопок "переползают" с PA0..PA7 на PB0..PB7, при этом освобождается UART2. То есть, дисплей подключается совершенно иначе (в случае SPI - с SPI1 на SPI2), разводка, видимо, получится не такая красивая (PB0..PB7 "разрбросаны" по кристаллу).
Минус - у платы BluePill не выведен PB2, нужно будет играть с проводками. При разводке на "чистом" МК этот минус не так важен.

Если отказаться от дисплея на I2C (SSD1306) (либо повесить его на основной "медленный" интерфейс), появляются ещё варианты (модификации этих двух), когда можно ещё и UART3 потенциально задействовать.

В общем, всё сложно, и я в полнейшем затруднении, на чём же остановиться. Работа стоит.

Жду идей и вариантов.

Лично я склоняюсь к следующему:
- Вариант на базе первого, освобождающий UART3.
- SPI2 для дисплея
- Забить на монохромные дисплеи (KS0108, ST7920, SSD1306). Размер маленький, толком ничего не выведешь, "цветные" фишки не покажешь. Плюс не нужен ещё один I2C интерфейс.

P.S. Блин, на базе первого варианта освободить UART3 никак не получается...

Re: Темброблок - анализатор спектра на STM32F103

Сб янв 12, 2019 21:49:19

WR я так понимаю тоже можно пересадить с процессора на резистор, как и CS + RST, это чтение из дисплея или запись в него. остается припарковать RS на лругой пин (Команды\данные GRAM).

второй момент, у STM32F103C8 кроме PA[0-15] PB[0-15] есть еще PC[0-15], которые в BluePill на гребенки не поместились а вывели только PC[13-15].
тестить и отлаживать дёшево на BluePill похоже уже не получится, банально не хватает пинов, остается вариант с бордой чуть дороже но с полной разводкой чипа.
в финале проекта всё равно будет разведено на плате всё что заюзано.
ради прикола в кубе включил все 1-3UART, 1-2 I2C,1-2 SPI и USB с кварцами, остается жменя незаюзаных пинов. если бы не параллельный интерфейс дисплеев и целых 8 кнопок, очень всё изящно вписывается.
если SSD1306 пересадить на шину 100 кгц, насколько он начнет тупить на прорисовках?
кому очень нужно, можно оставить такой вариант: без спектрограммы, но с микродисплейчиком на одной шине с темброблоком и тюнером.
KS0108, ST7920 да, и 8 бит порт занимают, и толку с них мало в плане ништяков и красивостей интерфейса. у кого пылятся, можно запилить на AVR.
UART3 это ремап с PC[10-11] на разведенные по гребенкам пины вместо I2C-2(PB[10-11]). давайте может так и оставим на PC[10-11] для энтузиастов с Ка-радио и другими плюхами? как только тестить вопрос.. кто в состоянии подпаяться на борде прямо к ногам проца, тот и тестировщик, получается, или борда по шире.
Ответить