-
Notifications
You must be signed in to change notification settings - Fork 95
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
Conversation
@@ -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; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Разве эти пины не используются для LCD?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Здесь я не менял ничего, добавил пробел после #. Эти два сигнала не используются сейчас в коде.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ну хорошо, я посмотрю на это все внимательно в субботу
There was a problem hiding this comment.
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 нет. Возможно в других платах переключает дисплеи.
There was a problem hiding this comment.
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 МГц полосок нет при любых условиях. Уменьшить клок?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 и что-то ещё?
Я хотел на все это внимательно посмотреть вчера и сегодня. Но мне сейчас нужно срочно помочь готовить 3-ю домашку, а завтра и послезавтра у меня некий дедлайн в Самсунге. Так что я собираюсь засесть и рассматреть внимательно все пины Tang Nano 20K только позже. Но на генерацию звука посмотрю сегодня |
Вывод звука теперь соответствует стандарту I2S. Добавлена поддержка PT8211 и I2S в Primer 20k LCD, используя существующий параметр. В Primer 20k HDMI добавлю позже. Добавлены по месту комментарии, как это реализовано. Проверено логическим анализатором.