Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed the sound format of I2S and PT8211 DAC #193

Closed
wants to merge 0 commits into from

Conversation

oVadim
Copy link
Contributor

@oVadim oVadim commented Nov 14, 2024

Вывод звука теперь соответствует стандарту I2S. Добавлена поддержка PT8211 и I2S в Primer 20k LCD, используя существующий параметр. В Primer 20k HDMI добавлю позже. Добавлены по месту комментарии, как это реализовано. Проверено логическим анализатором.

@@ -37,8 +36,8 @@ IO_LOC "LCD_B[2]" B13;
IO_LOC "LCD_B[3]" A14;
IO_LOC "LCD_B[4]" B14;

#IO_LOC "LCD_INIT" C11;
#IO_LOC "LCD_BL" E10;
# IO_LOC "LCD_INIT" C11;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Разве эти пины не используются для LCD?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь я не менял ничего, добавил пробел после #. Эти два сигнала не используются сейчас в коде.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну хорошо, я посмотрю на это все внимательно в субботу

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LCD_BL=0 выключает питание преобразователя для подсветки LCD на плате Primer 20k. Он подтянут резистором к +3.3в, если в ПЛИС он не используется и в Z. Я добавлю гашение экрана, когда активен reset, так как сейчас он плавно белеет при нажатом reset. LCD_INIT в Primer 20k и в самом LCD нет. Возможно в других платах переключает дисплеи.

Copy link
Contributor Author

@oVadim oVadim Nov 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На 49 МГц на LCD всё-таки появляются отдельные вертикальные полоски в 1 пиксель. В основном на движущемся объекте. Slack всегда только положительный. При IO Type LVCMOS33, Drive 4 и инверсии клока при передаче в lab_top становится хорошо. Ниже 36 МГц полосок нет при любых условиях. Уменьшить клок?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно сделать вот что: сделать частоту зависимым от лабораторной работы. Для распознавания ноты использовать 50 MHz, для графики 27 MHz . Это делается с помощью define в lab specific config

Copy link
Contributor Author

@oVadim oVadim Nov 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я сделал 2 частоты: 48 для звука и 32 для графики. В 3_3_note_synthesizer некорректно определяется тактовая частота, если она 32 МГц. Нота вместо 440 -> 270 Гц. В module tone_sel CLK_DIV = $clog2 (clk_mhz * 1000 / 50) при 50 и 32 МГц = 10, при 25 МГц = 9. Число целое, округляется до большего и при 32 звук ниже, чем при 50. То есть правильные частоты звука при 25 и 50 Мгц. На 25 и 27 МГц не работает LCD 800x600. define для графики в lab specific config это `define INSTANTIATE_GRAPHICS_INTERFACE_MODULE ? Я добавил lab specific config, отключающие графику в папки с лаб по звуку, не затронет ли это эмулированный на экране TM1638 и что-то ещё?

@yuri-panchul
Copy link
Owner

Я хотел на все это внимательно посмотреть вчера и сегодня. Но мне сейчас нужно срочно помочь готовить 3-ю домашку, а завтра и послезавтра у меня некий дедлайн в Самсунге. Так что я собираюсь засесть и рассматреть внимательно все пины Tang Nano 20K только позже. Но на генерацию звука посмотрю сегодня

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants