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

Bugs, features and wishlists

Postby b_10101101 » 26 Jan 2013, 19:18

Очень хочется впаять регулятор громкости AD8400 - цифровой потенциометр по SPI интерфейсу. В идеале видится как управление с PS\2 клавиатуры с отображением уровней в ERS, по минимуму - только управление. Потенциометр 4-канальный, нужно выделить 4 адреса, как я понимаю, какие можно занять ?
b_10101101
 
Posts: 14
Joined: 18 Nov 2012, 19:02
Group: Registered users

Postby lvd » 26 Jan 2013, 19:31

b_10101101 wrote:по SPI интерфейсу.

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

Щито?
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1582
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby DimkaM » 27 Jan 2013, 04:25

ежли программно эмулить СПИ, то можно наверно к AY\LPT подцепится.
AD8400 вроде как 5вольт держит.
Скорость тама особо не важна, поэтому хардСПИ городить не имеет смысла.

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

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

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

Если софтовохардовый мутить СПИ, то : 1бит дата, 1бит клок, 1бит ЦС
Last edited by DimkaM on 27 Jan 2013, 04:39, edited 2 times in total.
ZX-Evo rev C, ZXNetUsb rev A
DimkaM
 
Posts: 1269
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby DimkaM » 27 Jan 2013, 04:30

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

Оный как раз таки можно через ЛПТ реализовать, ежли тока там иголки не проскакивают.
ZX-Evo rev C, ZXNetUsb rev A
DimkaM
 
Posts: 1269
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby b_10101101 » 27 Jan 2013, 06:23

Упс, имел ввиду потенциометр AD8403. Вопрос наверное прежде всего к авторам прошивки ATMega128. Клавиатура подключается к меге, SPI у нее уже имеется, достаточно повеситься на шину SPI. Т.е. фактически нужно переделать прошивку меги. Никогда не работал с такими большими проектами, сложность даже не в реализации алгоритма меги, а в том чтобы не влезть своими адресами на уже занятые. По этой же шине передаются данные клавы, джойстика, часов наверное, ну и какие-то служебные команды существуют для связи ATMega - to - FPGA, сильно в алгоритме пока не рылся. Вопрос тогда так поставлю: если я напишу свою прошивку меги, как мне ее потом скрестить с уже существующей ? Каждый раз после обновления придется перекомпилировать под себя ?
b_10101101
 
Posts: 14
Joined: 18 Nov 2012, 19:02
Group: Registered users

Postby DimkaM » 27 Jan 2013, 07:06

Проще на ЛПТ повесится.
b_10101101 wrote:Вопрос наверное прежде всего к авторам прошивки ATMega128
я не оный, но чуть по флеймлю пока админ не видит.
b_10101101 wrote:Каждый раз после обновления придется перекомпилировать под себя ?
да
b_10101101 wrote:в том чтобы не влезть своими адресами на уже занятые
Проще всего через регистры ЦМОСа
b_10101101 wrote:По этой же шине передаются данные клавы, джойстика, часов наверное, ну и какие-то служебные команды существуют для связи ATMega - to - FPGA
Если хочешь прям к этому СПИ подцепится, то щас придёт LVD и "объяснит" куда припаять мгтф.
b_10101101 wrote:Клавиатура подключается к меге
Ага, всётаки хочешь через "механическую" клаву подцепится?!
ZX-Evo rev C, ZXNetUsb rev A
DimkaM
 
Posts: 1269
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby b_10101101 » 27 Jan 2013, 07:14

Нет, через клаву не хочу. Хочу через 10,11,12 ноги меги зацепить.
b_10101101
 
Posts: 14
Joined: 18 Nov 2012, 19:02
Group: Registered users

Postby lvd » 27 Jan 2013, 07:24

b_10101101 wrote:Хочу через 10,11,12 ноги меги зацепить.

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

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

Моя рекомендация -- заюзать AVR JTAG (ибо он стоит в режиме IO у нас, вроде как), и повесить свой спиай туда. Патчить окажется легче, телепатирую.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1582
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby lvd » 27 Jan 2013, 07:26

Ах да, забыл ешё пикантную подробность. Когда конфигурится альтера, по ногам 10 11 12 аврки прут сотни килобайт рандомных данных.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1582
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby DimkaM » 27 Jan 2013, 07:32

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

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

точно свободны, ибо я их юзал по собсному хотению
ZX-Evo rev C, ZXNetUsb rev A
DimkaM
 
Posts: 1269
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users


Return to Багофичи и юзеропросьбы

Who is online

Users browsing this forum: No registered users and 1 guest

cron