Page 1 of 1

Регулировка громкости звука

PostPosted: 26 Jan 2013, 19:18
by b_10101101
Очень хочется впаять регулятор громкости AD8400 - цифровой потенциометр по SPI интерфейсу. В идеале видится как управление с PS\2 клавиатуры с отображением уровней в ERS, по минимуму - только управление. Потенциометр 4-канальный, нужно выделить 4 адреса, как я понимаю, какие можно занять ?

Re: Регулировка громкости звука

PostPosted: 26 Jan 2013, 19:31
by lvd
b_10101101 wrote:по SPI интерфейсу.

b_10101101 wrote: нужно выделить 4 адреса, как я понимаю, какие можно занять ?

Щито?

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 04:25
by DimkaM
ежли программно эмулить СПИ, то можно наверно к AY\LPT подцепится.
AD8400 вроде как 5вольт держит.
Скорость тама особо не важна, поэтому хардСПИ городить не имеет смысла.

b_10101101 wrote:Потенциометр 4-канальный
В каком месте он четырёх канальный?
b_10101101 wrote:нужно выделить 4 адреса

Обязательно с восьмибитной адресацией, ибо 16битные не кошерно.

Если даже хардовый СПИ делать, то достаточно одного порта.

Если софтовохардовый мутить СПИ, то : 1бит дата, 1бит клок, 1бит ЦС

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 04:30
by DimkaM
DimkaM wrote:Если софтовохардовый мутить СПИ, то: 1бит дата, 1бит клок, 1бит ЦС

Оный как раз таки можно через ЛПТ реализовать, ежли тока там иголки не проскакивают.

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 06:23
by b_10101101
Упс, имел ввиду потенциометр AD8403. Вопрос наверное прежде всего к авторам прошивки ATMega128. Клавиатура подключается к меге, SPI у нее уже имеется, достаточно повеситься на шину SPI. Т.е. фактически нужно переделать прошивку меги. Никогда не работал с такими большими проектами, сложность даже не в реализации алгоритма меги, а в том чтобы не влезть своими адресами на уже занятые. По этой же шине передаются данные клавы, джойстика, часов наверное, ну и какие-то служебные команды существуют для связи ATMega - to - FPGA, сильно в алгоритме пока не рылся. Вопрос тогда так поставлю: если я напишу свою прошивку меги, как мне ее потом скрестить с уже существующей ? Каждый раз после обновления придется перекомпилировать под себя ?

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 07:06
by DimkaM
Проще на ЛПТ повесится.
b_10101101 wrote:Вопрос наверное прежде всего к авторам прошивки ATMega128
я не оный, но чуть по флеймлю пока админ не видит.
b_10101101 wrote:Каждый раз после обновления придется перекомпилировать под себя ?
да
b_10101101 wrote:в том чтобы не влезть своими адресами на уже занятые
Проще всего через регистры ЦМОСа
b_10101101 wrote:По этой же шине передаются данные клавы, джойстика, часов наверное, ну и какие-то служебные команды существуют для связи ATMega - to - FPGA
Если хочешь прям к этому СПИ подцепится, то щас придёт LVD и "объяснит" куда припаять мгтф.
b_10101101 wrote:Клавиатура подключается к меге
Ага, всётаки хочешь через "механическую" клаву подцепится?!

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 07:14
by b_10101101
Нет, через клаву не хочу. Хочу через 10,11,12 ноги меги зацепить.

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 07:24
by lvd
b_10101101 wrote:Хочу через 10,11,12 ноги меги зацепить.

Только в 7 сообщении аффтар наконец-то сказал, что именно он хочет. Чудеса красноречия, берём пример с гробуса?

А по существу, аффтор должен следить, какие адреса юзаются в альтере (они там декодируются по одному биту, а не по номеру) и с ними не пересекаться, а уж патчинг авры -- это отдельное увлекательное мероприятие.

Моя рекомендация -- заюзать AVR JTAG (ибо он стоит в режиме IO у нас, вроде как), и повесить свой спиай туда. Патчить окажется легче, телепатирую.

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 07:26
by lvd
Ах да, забыл ешё пикантную подробность. Когда конфигурится альтера, по ногам 10 11 12 аврки прут сотни килобайт рандомных данных.

Re: Регулировка громкости звука

PostPosted: 27 Jan 2013, 07:32
by DimkaM
b_10101101, смотри сорцы, конкретно файл zx.c, ещё конкретней функция "zx_wait_task(UBYTE)". Выбери свободный регистр цмоса(в районе 0х8Х должны быть сводны) и всё.
http://code.google.com/p/pentevo/source ... rrent/zx.c

-----пост адд-----
DimkaM wrote:в районе 0х8Х должны быть сводны

точно свободны, ибо я их юзал по собсному хотению