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

Обсуждаем цифровые устройства...
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

В настройках выставляете адрес I2C расширителя 0x40.

После этого, при выборе входа 0 - на PCF-ке будет появлятся лог. 1 на P0, входа 1 - на P1 и т.д.

В ждущем режиме на всех 8 выходах P0..P7 будет лог. 0.

От этого и плясать.

В коде это функция в amp.c - inputSetPower(). По сути, на выходах PCF-ки идёт простое отображение байта amp.inputStatus.
DimoniyJ
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср сен 10, 2014 13:07:22
Откуда: Свердловская область, Ивдель

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

Сообщение DimoniyJ »

Здравствуйте, уважаемые форумчане. Может кто нибудь заказывал платы к этому проекту в Китае и случайным образом осталась хоть одна? Буду рад купить. Спасибо.
Лужу, паяю, самоделки собираю.
Duke
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

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

Сообщение Duke »

WiseLord, спасибо за подсказку! Чтобы не ковырять код и в дальнейшем не мучиться каждый раз при компиляции с исправлениями файлов, решил изменить схемку для управления реле логическими единицами, для чего изменил транзисторы на 2N2222 npn типа, поэтому поменял полярность их питания, а также подключил порты Р0...Р2 на управление релюшек через эти транзисторные ключи. Благо на макетке это было несложно сделать. Все работает от Ардуинки, как и в прошлый раз, осталось теперь все это хозяйство подключить к Ampcontrol, надеюсь, что глюков быть не должно :)
Аватара пользователя
Meat45
Родился
Сообщения: 7
Зарегистрирован: Вс авг 21, 2016 23:25:48
Откуда: Омск

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

Сообщение Meat45 »

[uquote="DimoniyJ",url="/forum/viewtopic.php?p=3804365#p3804365"]Здравствуйте, уважаемые форумчане. Может кто нибудь заказывал платы к этому проекту в Китае и случайным образом осталась хоть одна? Буду рад купить. Спасибо.[/uquote]
Могу отправить, есть одна в запасе)
У самого пока проект "заморожен"( Зависли разом все посылки с рассыпухой из Китая. Уже 60 дней( Начал потихоньку закупаться в местных магазинах, в тридорого.
veranika
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Чт янв 30, 2020 11:46:55

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

Сообщение veranika »

[uquote="Duke",url="/forum/viewtopic.php?p=3804278#p3804278"]Сделал небольшого "крабика" - платку для раздельной коммутации подачи питания +3,3 В на три источника сигналов - тюнер, блютус и карадио, на основе расширителя портов PCF8574N - нашлась в закромах. +3,3 В подаются на питание соответствующего источника через реле, которое управляется сигналами на портах PCF'ки Р5, Р6 или Р7 соответственно через pnp транзисторные ключи на 2N3906. Активный сигнал '0'. I2C адрес PCFки 0х20. Проверил работу под нагрузкой на Ардуинке, все ОК.

Подскажите, пожалуйста, что и где тогда нужно поменять в коде (выбрать в меню), чтобы внедрить сей девайс в Ampcontrol?

Конфигурация: STM32F103CBT6, TDA7313, RDA5807 - вход 1, KaRadio - вход 2, ВТ201 - вход 3.

Большое спасибо![/uquote]

схемкой поделитесь?
Nadim
Встал на лапы
Сообщения: 113
Зарегистрирован: Пт июн 21, 2019 15:13:02
Откуда: Украина
Контактная информация:

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

Сообщение Nadim »

to WiseLord
Подправил перевод Украинского - подмените.


[uquote="Duke",url="/forum/viewtopic.php?p=3804519#p3804519"]WiseLord, спасибо за подсказку! Чтобы не ковырять код и в дальнейшем не мучиться каждый раз при компиляции с исправлениями файлов, решил изменить схемку для управления реле логическими единицами, для чего изменил транзисторы на 2N2222 npn типа, поэтому поменял полярность их питания, а также подключил порты Р0...Р2 на управление релюшек через эти транзисторные ключи. Благо на макетке это было несложно сделать. Все работает от Ардуинки, как и в прошлый раз, осталось теперь все это хозяйство подключить к Ampcontrol, надеюсь, что глюков быть не должно :)[/uquote]
Если все пройдет успешно - поделитесь схемой.

Спасибо.
Вложения
labels_ua.c
(7.52 КБ) 224 скачивания
Аватара пользователя
киракосян ашот
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Ср июл 23, 2014 16:59:57
Откуда: владикавказ, россия

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

Сообщение киракосян ашот »

добрый вечер! Столкнулся с проблемой,что i2c не работает вовсе, плата bluepill. При подключении лог анализатора видно только по 1 всплеску при включении и все,дальше молчит. аудиопроцессор pt2313l. прошивка последняя готовая для ili9341
Duke
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

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

Сообщение Duke »

По-быстрому набросал в Кикаде схемку для расширителя входов. Простите, если не совсем по фэншую, но, думаю, разобраться можно. Транзисторы Q1...Q3 - любые маломощные npn: 2N2222, 2N3906, BC547 и т.д., только проверяйте цоколевку. Также использовал миниатюрные реле типа BRS 1A05 на напряжение срабатывания 5 В, гугль в помощь. Закоротил адресные входы микросхемы на землю с помощью перемычек, в итоге получился I2C адрес 0х20.

Если оставлять адресные ноги неподключенными к земле или 5В, то мой экземпляр PCFки начинает выдавать рандомные адреса при проходах сканирования. Поэтому решил намертво посадить все входы на землю, так сказать, во избежание. Если нужны на каких-то адресных ногах логические единицы для генерации адреса I2C отличного от 0х20, то сажайте их на питание (в идеале через подтягивающий резистор), не оставляйте "висячими".

Гонял на Ардуинке, зажигал светодиоды, работает четко, без глюков. В Ampcontrol пока не вставлял, но каких-то сюрпризов не ожидаю, также опираясь на объяснения автора выше. Могу переслать файл в формате Kikad, если кто заинтересуется развести платку покомпактнее с SMD компонентами. Дайте знать.

Добавлено after 42 minutes 3 seconds:
Более крупный масштаб внешнего вида после переделки, макетка
Crab2.jpg
(184.22 КБ) 418 скачиваний
Crab1.jpg
(125.2 КБ) 399 скачиваний
Вложения
I2C_Inputs_Expander.png
(40.43 КБ) 466 скачиваний
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Могу добавить, что вместо биполярных транзисторов можно поставить полевики (те же BSS138) - резистор тогда становится не нужен.

Ну и резисторы подтяжки I²C к питанию можно не ставить - они уже есть на основной плате ampcontrol. А то вот так подключишь несколько устройств, в каждом по паре резисторов - и вот уже на шине меньше килоома, и девайсы пыхтят, пытаясь утянуть всё это на землю...

А вообще транзисторные ключи и реле, возможно, лучше ставить прямо на своей родной плате (KaRadio, тюнер и т.д.). Тогда от PCF-ки нужно только управление протянуть. Оно как-то и логичнее, на мой взгляд. Всё-таки питание у них может быть разное (а не только 3В), да и прочие нюансы могут вылезти.
Duke
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

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

Сообщение Duke »

WiseLord, вариантов много, делал под свои детальки в наличии. Касательно подтяжки шины I2C - ставил под тестирование на Ардуино, в Уне эта шина не подтянута, если верить схемам из сети. В применении их нужно будет исключить, т.к. тут будет действовать правило "меньше меньшего", т.е. результирующее сопротивление параллельного подключения резисторов по номиналу всегда будет меньше самого маленького номинала резистора, это так. В результате шина будет подсажена.
Аватара пользователя
Gürcan
Нашел транзистор. Понюхал.
Сообщения: 182
Зарегистрирован: Ср авг 01, 2018 10:04:10

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

Сообщение Gürcan »

hello wiselord, if we add the version information to the settings menu, it will be easier to check after updating
Duke
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

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

Сообщение Duke »

Пришлось кардинально разобрать свой рабочий Ampcontrol, чтобы найти место и всунуть расширитель портов на PCFке, но таки еще получилось найти место. Завтра буду собирать все обратно.
Вложения
Ampcontrol1.jpg
(170.51 КБ) 402 скачивания
Frogfot
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

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

Сообщение Frogfot »

Подскажите, какой алгоритм применяется для сжатия шрифтов?
Хорошему коту и в декабре - март :)
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Два варианта:
-N A B C D E F => идут N неповторяющихся символов A...F
N A => N раз идёт повтор символа A

Пример: буква F в шрифте terminus 16:

Код: Выделить всё

static const uint8_t image_data_fontterminus16_0x46[10] = {
    0x01, 0xfc, 0x03, 0x44, 0xfd, 0x04, 0x04, 0x0f, 0x05, 0x00
};
Распаковка: 1 раз идёт символ 0xFC; далее 3 раза идёт символ 0x44; далее 0xFD=>-3 - три неповторяющихся символа 0x04, 0x04, 0x0F; далее 5 раз символ 0x00
Распаковывается, соответственно, в

Код: Выделить всё

{
0xFC, 0x44, 0x44, 0x44, 0x04, 0x04,
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00
}
В итоге, распакованные в 12 байт данные хранились изначально в 10 байтах "архива". Вроде немного - но на крупных шрифтах с большим количеством повтором результат гораздо лучше.
Если рисовать результат, побитно, получится

Код: Выделить всё

// Первые 6 байт - старший бит снизу, младший сверху
    // ∙∙∙∙∙∙
    // ∙∙∙∙∙∙
    // ██████
    // █∙∙∙∙∙
    // █∙∙∙∙∙
    // █∙∙∙∙∙
    // ████∙∙
    // █∙∙∙∙∙
// Следующие 6 распакованных байт:
    // █∙∙∙∙∙
    // █∙∙∙∙∙
    // █∙∙∙∙∙
    // █∙∙∙∙∙
    // ∙∙∙∙∙∙
    // ∙∙∙∙∙∙
    // ∙∙∙∙∙∙
    // ∙∙∙∙∙∙
В коде такая распаковка идёт в функции glcdUnRleImg()
Последний раз редактировалось WiseLord Сб мар 14, 2020 18:31:44, всего редактировалось 1 раз.
Frogfot
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

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

Сообщение Frogfot »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3807063#p3807063"]Пример: буква F в шрифте terminus 16:[/uquote]
Благодарю, теперь понял, адресация битов вертикальная старший бит внизу.
Хорошему коту и в декабре - март :)
Duke
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

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

Сообщение Duke »

В итоге заработал селектор входов с отключением питания от неработающих в данный момент источников с помощью расширителя портов на шине i2c на базе PCF8574. Преимущество в том, что BT модуль, FM тюнер и KaRadio не находятся одновременно в эфире и, таким образом, не создают помехи друг другу, а при переходе на соответствующий вход запускаются стабильно, без глюков. В общем, как и ожидалось :) , рекомендую. Также спасибо автору за подсказку!

Фотки изделия в работе без верхней крышки и в сборе.
FM.jpg
(164.18 КБ) 413 скачиваний
KaRadio.png
(241.84 КБ) 390 скачиваний
BT.png
(228.37 КБ) 387 скачиваний
Rear.jpg
(149.26 КБ) 389 скачиваний
Последний раз редактировалось Duke Вс мар 15, 2020 14:52:14, всего редактировалось 1 раз.
Frogfot
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

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

Сообщение Frogfot »

Кейл ругается на:

Код: Выделить всё

static tImage unRleImg = {
    .rle = 0
};

Код: Выделить всё

glcd.c(9): error:  #29: expected an expression .rle = 0
что можно сделать?
Хорошему коту и в декабре - март :)
misir
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср янв 20, 2016 15:29:12

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

Сообщение misir »

[uquote="Duke",url="/forum/viewtopic.php?p=3812303#p3812303"]В итоге заработал селектор входов с отключением питания от неработающих в данный момент источников с помощью расширителя портов на шине i2c на базе PCF8574. Преимущество в том, что BT модуль, FM тюнер и KaRadio не находятся одновременно в эфире и, таким образом, не создают помехи друг другу, а при переходе на соответствующий вход запускаются стабильно, без глюков. В общем, как и ожидалось :) , рекомендую. Также спасибо автору за подсказку!

Фотки изделия в работе без верхней крышки и в сборе.
FM.jpg
KaRadio.png
BT.png
Rear.jpg
[/uquote]
А когда первый раз включаете у вас остается включенным только один источник?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Frogfot, если компилятор не поддерживает такую инициализацию структур, по именам полей (что, вообще-то, странно, это часть стандарта C99), инициализируйте, как умеет. По порядку, например.
Duke
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

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

Сообщение Duke »

[uquote="misir",url="/forum/viewtopic.php?p=3812473#p3812473"][uquote="Duke",url="/forum/viewtopic.php?p=3812303#p3812303"]В итоге заработал селектор входов с отключением питания от неработающих в данный момент источников с помощью расширителя портов на шине i2c на базе PCF8574. Преимущество в том, что BT модуль, FM тюнер и KaRadio не находятся одновременно в эфире и, таким образом, не создают помехи друг другу, а при переходе на соответствующий вход запускаются стабильно, без глюков. В общем, как и ожидалось :) , рекомендую. Также спасибо автору за подсказку!

Фотки изделия в работе без верхней крышки и в сборе.
FM.jpg
KaRadio.png
BT.png
Rear.jpg
[/uquote]
А когда первый раз включаете у вас остается включенным только один источник?[/uquote]

Да, тот который был включен при выключении.
Ответить

Вернуться в «Цифровая техника»