Я, в основном, всё отлаживаю на ILI9341 3.2" дисплее. Изначально он с 16-битным подключением; для перевода на 8 бит дисплей был отклеен от своей платы и переброшена одна перемычка-резистор на его шлейфе.
Также проверяю работу по SPI на ILI9341 SPI 2.4" дисплее. Вследствие некоторых ухищрений и оптимизаций скорость работы достаточная, на глаз разницы с предыдущим (параллельным) вариантом незаметна. Подобные дисплеи на Aliexpress - одни из самых популярных, бывают разные размеры по диагонали (2.2" .. 3.2").
Также периодически подключаю и проверяю разрешение 480x320 на R61581 3.95" дисплее. У него, правда, понадобилось отпаять шлейф тачскрина, так как он подвешен параллельно портам D6/D7 и мешал работе энкодера. Ну и вывода для регулировки яркости у него нет.
Последний раз редактировалось WiseLord Вт дек 11, 2018 10:07:00, всего редактировалось 1 раз.
Здравствуйте WiseLord,в новом проекте будет поддержка тюнера tux032 и синтезатора на lm7001.в наличии есть tux032 ну и куча тюнеров от автомагнитол. Хочется качественного радиоприема, сам из деревни а там радиоприем не ахти. Я уверен что многие будут только за)
Пока код рассчитан на то, что тюнер поддерживает автоскан, так что эти варианты отпадают. Когда (не скоро) займусь поддержкой ручного ввода частоты - тогда, вероятно, добавлю и эти варианты.
хотя-бы к tux032 можно прикурить автопоиск? Он веди управлятся по квадратной шине.
Дайте мне даташит с описанием регистров. Можно не всех, а только отвечающих за запуск автоскана (регистры с битом направления вверх/вниз, и битом самого автопоиска), и регистр, из которого можно прочитать уровень сигнала. Тогда - пожалуйста, можно сделать.
kloker писал(а):
подкинул к магнитоле на tda7313, тоже не работает. как продиагностировать проблему, это софт или аппаратная часть?
Вполне возможно, что в программе что-то не так. Без железки под рукой сложно сказать. Если есть возможность снять лог. анализатором происходящее на шине - было бы здорово.
Ну или ждите, когда я спаяю подобную плату и смогу проверить. Те две, что я делал раньше, как-то разошлись со временем по устройствам.
P.S. Совсем забыл, что адреса у TDA7439 и TDA7313 совпадают, так что можно подключить первую, и скармливать её данные от второй - ответ будет приходить. Проверил в таком виде.
В итоге оказалась совсем детская ошибка - забытые скобки - нарушенный приоритет операций. Это приводило к тому, что микросхема-то вроде как работала, но только на одном из четырёх входов, его сменить не выходило.
Поправил код, попробуйте TDA7313 с ним - должно на сей раз быть ОК,
Заголовок сообщения: Re: Темброблок - анализатор спектра на STM32F103
Добавлено: Вт дек 11, 2018 22:58:54
Вымогатель припоя
Зарегистрирован: Ср сен 09, 2015 13:09:15 Сообщений: 558
Рейтинг сообщения:0
залил с исправлениями, анализатор на шине видит 2 единицы по SDA SCL, единицы 3.9 В. если крутить энкодер в режиме громкость, то проскакивают 2 нуля, пока кручу энкодер. никакого обмена данными по шине не просматривается. снимал лог во время включения выключения, та-же картина. в каком формате логи закинуть? снимал софтиной Saleae Logic
Пока снимал скриншоты у себя, обнаружил, что я банально забыл про регулировку громкости на TDA7313. Так что обновитесь - возможно, сработает.
А вот как у меня выглядит весь обмен для TDA7313 (подключена, правда, TDA7439, но откликается она на команды, пусть и неправильные для неё, так же):
Увеличенная область сброс (изначальный импульс на шине - нужен для Si4703, затем уже инициализация аудиопроцессора):
Инициализация аудиопросессора:
Включение (выход из ждущего режима):
Регулировка громкости (неправильная, в новом коде пофикшено - должно быть одним байтом):
Выключение похоже по данным на то, что идёт при начальной инициализации.
Если у Вас совсем не так, то да, сбросьте свои результаты. Если что, скачаю софтинку от Saleae для просмотра, она вроде есть и для Linux, Я же на своём анализаторе (клоне Saleae) пользуюсь pulseview / libsigrock.
Заголовок сообщения: Re: Темброблок - анализатор спектра на STM32F103
Добавлено: Ср дек 12, 2018 00:09:37
Вымогатель припоя
Зарегистрирован: Ср сен 09, 2015 13:09:15 Сообщений: 558
Рейтинг сообщения:0
по регулировке похоже, но инициализации нет. снял лог libsigrock с включением регулировкой выключением. дискретность выборки 2 мгц. похоже темброблок не отвечает на посылки Master I2C контроллера
Вложения:
Комментарий к файлу: libsigrock test.zip [1.54 KiB]
Скачиваний: 328
Ну, судя по тому, что я вижу, TDA7313 банально не отвечает ACK-ом при обращении к ней. Адрес 0x88 - правильный, но она молчит.
Так что, либо неисправна (хотя, как я понял, в других случаях вполне работала), либо она не воспринимает данные из-за неправильных уровней на шине. Должно быть 5В неактивных, питание самого аудиопроцессора 9В, ЕМНИП.
Ещё, на всякий случай, можете попробовать закомментировать содержимое функции pinsHwReset(). Там при сбросе МК по сути генерируется один STOP на шине - возможно, TDA7313 как-то плохо это воспринимает.
И, надеюсь, на шине всё правильно? Резисторы подтяжки в наличии?
И, надеюсь, на шине всё правильно? Резисторы подтяжки в наличии?
подтяжки делал к +5 резисторами 10 кОм, при единице уровень 3.95 В на пине темброблока. контроллер запитал +5В с темброблока (на нем 2 стабилизатора последовательно 12V вход ->9V->5V, земля общая). может подтяжки на 4,7-2.2 кОм поставить? по даташиту у TDA7313 Input High Voltage 3 V Min.
Data transmission from microprocessor to the TDA7313 and viceversa takes place thru the 2 wires I2C BUS interface, consisting of the two lines SDA and SCL (pull-up resistors to positive supply voltage must be connected).
частоту шины не найду в даташите. может он переварить поток не может?
В проекте используется 100кГц, т.е., по минимуму. В даташите на TDA7313 (стр. 9) указана Max clock speed 100kbit/s.
Я на шине ставил подтяжки на 4,7кОм. И это даже интересно, почему у Вас уровни на шине меньше 4В. Попробуйте просто отдельно на тюнере и МК сделать эти подтяжки, между собой не подключая. Просто интересно, что утягивает линию до 4В - МК или аудиопроцессор.
Заголовок сообщения: Re: Темброблок - анализатор спектра на STM32F103
Добавлено: Ср дек 12, 2018 14:33:29
Вымогатель припоя
Зарегистрирован: Ср сен 09, 2015 13:09:15 Сообщений: 558
Рейтинг сообщения:0
и да, у аудиопроцессора 2 земли, аналоговая, и отдельным пином цифровая, чтобы цифровые шумы не лезли в аналоговый тракт. как это развязано внутри, нигде не описано, у меня пока общая земля. а с подтяжками вечером еще поиграюсь. тюнер RDA5807M кстати тоже молчит. на AVR он FM шумы выдавал (или кварц битый или дядюшка Ляо не того номинала впихнул, надо попробовать поменять на часовой 32768 Гц, или антенный вход жестко забит на провода наушников, а не пин антены). tea5767 на AVR\ESP12 нормально работал, но тоже на длинных проводах выхода аудио, под STM еще не ставил, распаять надо на макетке.
Кстати, если проект открыть в QtCreator, можно по F2 (или Ctrl-click) быстро переходить по функциям.
попробую еще раз QtCreator, но слишком он навороченый.
еще вопрос для понимания, кто держит шину SCL в низком уровне, когда идет 11 попыток связаться с темброблоком? по протоколу I2C мастер передатчик должен 8 тиков сделать, и освободить шину, слейв приемник сделать 1 тик SCL для подтверждения приема пакета, за генерацией синхросигнала следит мастер шины, или я не до конца понял протокольную часть?
в моем логе 11 попыток, и между ними длинные пробелы с состоянием SDA=1 и SCL=0, в конце отбой P( кто его создал, STM или аудиопроцессор?)
Мастер делает 8 тиков, отпускает линию (она за счёт подтяжек уходит в 1) и ждёт, что теперь уже подчинённый опустит линию (ACK). Но тот того не делает (NACK), после чего мастер прерывает передачу (после 5мс таймаута - столько у меня выставлено в коде). Все эти 5мс мастер ждёт и надеется на ответ, поэтому линия SCL и остаётся в нуле.
Заголовок сообщения: Re: Темброблок - анализатор спектра на STM32F103
Добавлено: Ср дек 12, 2018 16:32:17
Вымогатель припоя
Зарегистрирован: Ср сен 09, 2015 13:09:15 Сообщений: 558
Рейтинг сообщения:0
подчиненный не мог держать линию SCL в нуле все 11 попыток, иначе и второй попытки бы не произошло, линия сидела бы в нуле удержанием темброблока. попробую залогать всю процедуру без темброблока. потом с подтяжками поэкспериментирую.
а логика инициализации аудиопроцессора сильно изменилась с проекта AVR? инициализация сразу после подачи питания (аудиопроцессору нужно больше времени после подачи питания), или при каждом выходи из слип режима? на AVR темброблок иногда затыкался в процессе отладки, когда питание на него подавалось (забыл включить) после подачи питания на контроллер AVR, и шину I2C коротил(тюнер с часами тоже в ступор входили).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения