AYX-32 - звуковая карта в слоте АУ

Железо для спектрум-совместимых машин

Postby nimdasys_inbox_ru » Fri, 06.12.2019 16:59:06

TS-Labs wrote:Ну во-1х, меня бесит затычка под наванием НГС, которая не контачит в слоте. Вместо нее хочу маленький девайс в панельке АУ.
Во-2х, возможностей у АУХ поболее, чем у ГС. Полная поддержка в Vortex я надеюсь будет.
И да, сакрального смысла в самом ГС тоже не густо. Тех пару софтов, что его используют, это почти ниачем.


1) НГС - это NeoGS от NedoPC ?!

2) AYX-32 - проверялся на совместимость с одновременной эксплуатацией ZXM-SoundCard ?!
User avatar
nimdasys_inbox_ru
 
Posts: 121
Joined: Sun, 15.09.2019 13:37:08
LOCATION: Черкесск

Postby TS-Labs » Fri, 06.12.2019 22:57:58

1. Да
2. Не проверялся, но поведение будет идентичным, как если вместо АУХ-32 будет стоять АУ/УМ.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Tue, 10.12.2019 09:24:28

Программная модель вейв-синтеза.

Вейв-синтез - это воспроизведение цифровых сэмплов, загруженных в память предварительно. Производится 32 независимыми каналами. Каждый канал имеет набор параметров:
- номер сэмпла (из списка загруженных),
- нота воспроизведения,
- громкость в левом/правом стерео-канале (панорама),
- етс.

Для удобства программирования каналов вейв-синтеза предлагается реализовать оный в виде списка команд, загружаемого в особое ФИФО.
Для загрузки нужно выбрать АУХ регистр WS_FIFO и последовательно записать в него массив, содержащий список команд с параметрами (в один рег АУХ, байт за байтом). После этого нужно выполнить команду WS_UPDATE (запись в АУХ регистр CMD). В этот момент произойдет обработка списка и все изменения атомарно применятся к каналам вейв-синтеза. Изменения коснутся только каналов, указанных в загруженном списке, и только тех параметров, которые в нем указаны.
Первый вариант модели предусматривал набор регистров по типу АУ (громкость канала, номер сэмпла и т.д.) После размышлений такая модель показалась автору нерациональной, ибо подобных регистров намного больше, чем у АУ, и загружать их муторно. Проще подготовить требуемый массив в памяти и закинуть одним OTIR-ом в #BFFD.

Пример списка команд:
- выбрать канал,
- установить ему ноту,
- установить панораму (громкость в левом/правом ухе),
- ретриггернуть сэмпл (чтоб проиграть эффект сначала).

Выполнили WS_UPDATE - тут же услышали эффект.

Списки можно загружать по нескольку штук за раз. Каждый список обязан заканчиваться командой END_OF_LIST. При выполнении WS_UPDATE выполнится список до END_OF_LIST. Следующая WS_UPDATE выполнит следующий список. Размер ФИФО - 4кБ (предварительно). В случае реализации собственного плеера модулей, такая система позволяет буферизовать управление каналами.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Sun, 15.12.2019 13:18:26

А как это синхронизируется по времени? По подаче команды WS_UPDATE? Или по заданному какому-то из событий - таймер или концу семпла например?
MVV
 
Posts: 479
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Mon, 16.12.2019 08:11:33

Никак. Можно придумать дополнительный таймер срабатывания.

Чучуть теории.
Генерация звука в АУХ отложена на 2мс - длина звукового буфера.
Записи в АУХ делятся на синхронные и асинхронные. Асинхронные записи обычно не связаны напрямую со звуковым потоком и выполняются сразу по факту записи. Синхронные - привязаны ко времени воспроизведения звукового потока.
В шинном драйвере есть ФИФО событий. Запись со стороны з80 сохраняется в ФИФО в виде: порт, значение, отметка времени. При генерации очередной порции звука (500 выборок, 2мс) это ФИФО обрабатывается, а изменения учитываются в тот момент звукового потока, когда они произошли бы в системе, где задержки 2мс нету. Любая запись со стороны з80 воспроизводится с точностью до 4.5мкс (218кГц). Это например позволяет корректно воспроизводить классическую дигу.
WS_UPDATE - синхронная.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Thu, 19.03.2020 12:23:31

Здравствуйте! Запаял AYX-32 такую платку:
Печатные платы AYX32 #70
Это то что напаял..

Вопрос такой, платка отличается от той что в репо - подскажите по номиналам конденсаторов.
С1 и C2 обвязка кварца (поставил 15pF) - на осциллографе частоту "колбасит" от ~5 до 16Мн, как я понимаю надо подбирать.

С5, С6, С7, С8, С9, С10 - пока запаял на 1uF что скорее всего не совсем верно. Какие у них номиналы должны быть?

Через "компорт" залил FlashLoader-ом main.bin который тут в теме. Залился. Но консольки не видно.
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby TS-Labs » Fri, 20.03.2020 18:34:37

D1m0n_FidoNet wrote:С1 и C2 обвязка кварца (поставил 15pF) - на осциллографе частоту "колбасит" от ~5 до 16Мн, как я понимаю надо подбирать

Даташит:
For CL1 and CL2, it is recommended to use high-quality external ceramic capacitors in the 5 pF to 25 pF range (typ.)

Кроме того, щупать частоту прямо на кварце не рекомендуется - щуп дает сбои резонанса.
D1m0n_FidoNet wrote:С5, С6, С7, С8, С9, С10 - пока запаял на 1uF что скорее всего не совсем верно. Какие у них номиналы должны быть?

Здесь схема ревизии 0. Сверь названия кондюков и глянь номиналы.
D1m0n_FidoNet wrote:Через "компорт" залил FlashLoader-ом main.bin который тут в теме. Залился. Но консольки не видно.

Закинул в личку текущую прошивку.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Sat, 21.03.2020 11:47:55

TS-Labs wrote:Здесь схема ревизии 0. Сверь названия кондюков и глянь номиналы.


в том то и дело - разводка другая немного моей платы и кондюки слегка по другому, но не суть курил даташит почти все понял.
а что за номинал на схеме кондюков С6,С10,С12 - обозначение "u1" - 10u - понятно 10мкФ, а что такое u1?

Свежую прошку залил - консольку все равно не видно. Залил повторно через st-link:
10:28:40 : ST-LINK SN : 49FF6E066567545232431687
10:28:40 : ST-LINK Firmware version : V2J23S4
10:28:40 : Connected via SWD.
10:28:40 : SWD Frequency = 4,0 MHz.
10:28:40 : Connection mode : Connect Under Reset.
10:28:40 : Debug in Low Power mode enabled.
10:28:40 : Device ID:0x413
10:28:40 : Device flash Size : 1MBytes
10:28:40 : Device family :STM32F40xx/F41xx
10:28:53 : [main.bin] opened successfully.
10:29:13 : Memory programmed in 3s and 640ms.
10:29:13 : Verification...OK
чего ему надо еще то.. Такое ощущение, что ARM ядро не стартует.
Я правда, за неимением 2.2uF запаял 1uF на Vcap1 и Vcap2. Может из за этого? Оно вроде для питалова внутряного VR?

PS: дурацкий вопрос: Для консольки ведь достаточно RX;TX UART TTL и GND 5VDC на ноги? 115200 8N1 в кроватку пентевы сажать не нужно?
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby TS-Labs » Sat, 21.03.2020 13:34:15

D1m0n_FidoNet wrote: что такое u1?

0.1 микро.
D1m0n_FidoNet wrote:Для консольки ведь достаточно RX;TX UART TTL и GND 5VDC на ноги?

Да достаточно.
D1m0n_FidoNet wrote:Такое ощущение, что ARM ядро не стартует.

Пошагай утилитой, посмотри - выполняет ли код.
D1m0n_FidoNet wrote:за неимением 2.2uF запаял 1uF на Vcap1 и Vcap2

Я не думаю, что изза этого.
Попробуй пинцетом коротнуть ресет МК на землю на разъеме программера. Эти девайсы иногда не стартуют при подаче питания.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Sat, 21.03.2020 14:37:36

TS-Labs wrote:D1m0n_FidoNet писал(а):
Такое ощущение, что ARM ядро не стартует.

Пошагай утилитой, посмотри - выполняет ли код.


Камрады, решил поставить платку в пентеву надеясь на чудо. И шо ви думаете? Оно работает! Блят как так то?
Консольку с компа не вижу, а в кроватке пашет. Я же тем же самым адаптером которым успешно шил в консоль залезаю..
Вообщем так: Вот как оно..

Но есть нюанс (С) Вообщем, если в кофигурялке ставить External Freq (или как его забыл), платка отваливается через некоторое время,
помогает только перемычка но ноги в и перекофигурить/сохранить в режиме Boot.
А вообще все класно - слушаю TSки уже час - звучание кристальное. Для этого оно и делалось. Спасибо!!!
Если в TSConf-фе будуть играться XM, MOD, S3M "по энтеру" - я буду ну абсолютно щщасттлив. :))
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby D1m0n_FidoNet » Sat, 21.03.2020 14:54:21

Получается кварц не пашет у меня как положено. Либо я его перегрел при пайке, либо надо подбирать C1 и С2.
Вопрос, нафига тогда внешний кварц если от внутреннего HSI пашет? И как я понимаю поставить наружу что-то отличное от 16Мн не получится
без переделки прошивки (указания частоты)?
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby TS-Labs » Sat, 21.03.2020 15:08:38

D1m0n_FidoNet wrote:если в кофигурялке ставить External Freq

Оно пока не поддерживается.
D1m0n_FidoNet wrote:Спасибо!!!

На здоровье =)
D1m0n_FidoNet wrote:Вопрос, нафига тогда внешний кварц если от внутреннего HSI пашет?

Внутренний RC очень нестабильный - частота не выдерживается и плавает от температуры и от напряжения. Кажется, что фигня, на самом деле эффект заметный и противный. Кварц придумали не зря.
D1m0n_FidoNet wrote: И как я понимаю поставить наружу что-то отличное от 16Мн не получится без переделки прошивки (указания частоты)?

Да, в прошивке надо поменять коэфф. на PLL.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Sat, 21.03.2020 16:00:48

TS-Labs wrote:Внутренний RC очень нестабильный - частота не выдерживается и плавает от температуры и от напряжения. Кажется, что фигня, на самом деле эффект заметный и противный. Кварц придумали не зря.


А как мне понять от какого кварца работает?
Странно себя ведет все же платка. Музыку играет вот уже два часа, остановил, захожу в кофигурялку, а в Device Info - ERROR: chip not found ^)
Включил/выключил - все равно "Error" и конфигурить не дает. Музыка играет!! Вот наверняка сейчас если кинуть перемычку - все определится.
Похоже поэтому не заходит у меня в терминалку - кофигурялка доступна только после загрузки в режим Boot и через некоторое время отваливается.
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby TS-Labs » Sat, 21.03.2020 22:00:50

D1m0n_FidoNet wrote:А как мне понять от какого кварца работает?

Это включается кодом проца, следовательно в данном случае всегда работает от внешнего.
D1m0n_FidoNet wrote:а в Device Info - ERROR: chip not found

Там поменялся код детектирования, тулза лажает, я потом пофиксю.
А консоль показало?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Sat, 21.03.2020 23:23:10

TS-Labs wrote:Это включается кодом проца, следовательно в данном случае всегда работает от внешнего.


т.е. отпаиваем кварц, либо если обвязка не пашет - девайс молчит?

TS-Labs wrote:Там поменялся код детектирования, тулза лажает, я потом пофиксю.


Сделал: перепаял в очередной раз С1 и C2 (нашел похожий кварц в интернете, увидел что он на 8pF емкость) посчитал получилось 10p - запаял на 12p
Заного зашил mail.bin свежий (до этого зашивал trd-ку со старой прошивкой для проверки могет ли оно со спека)

Итог: играет уже 4 часа, Device Info детектит чип -все норм. (Правда в Settings показывает 1. Clock: Internal 1.75) не стал трогать.

TS-Labs wrote:А консоль показало?


Завтра вытащу, попробую. просто забиваю 115200 8N1 в Putty?

PS: осталось заменить везде где надо 1uF на 10uF и 1uF на 2.2uF на Vcap1 и Vcap2
PSS: делал видосик как оно работает для коллеги: ZX Evo (Pentevo) + AYX-32 - звуковая карта в слоте АУ
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby TS-Labs » Sun, 22.03.2020 14:30:15

D1m0n_FidoNet wrote:т.е. отпаиваем кварц, либо если обвязка не пашет - девайс молчит?

Да.
D1m0n_FidoNet wrote:Завтра вытащу, попробую.

Зачем вытаскивать? Консоль показывает в реальном времени содержимое регистров, например.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Sun, 22.03.2020 16:48:23

TS-Labs wrote:Зачем вытаскивать? Консоль показывает в реальном времени содержимое регистров, например.


Вытаскиваю, потому что ПК от пентевы в 2х метрах, подключаюсь при помощи CH341A, от нее же RX,TX (TTL) GND и 5VDC - работает прошивка через бут,
консоль через Putty все еще не заходит. Сегодня ради проверки запитал AYX-32 отдельным шнурком от поурбанка - в путти черный экран. :(
В пентеве все прекрасно продолжает работать! Музака и через конфигурялку инфа не отваливается, все норм! Еще раз хочу сказать спасибо за труд!
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby ssaymon » Mon, 25.05.2020 00:02:24

Где можно купить готовое устройство?
ssaymon
 
Posts: 4
Joined: Sun, 24.05.2020 23:54:45

Postby TS-Labs » Mon, 25.05.2020 01:08:42

Пока нигде. В рев.1 есть ошибка, щас готовится рев.2.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby D1m0n_FidoNet » Mon, 25.05.2020 13:46:18

Что то критичное? У меня отлично играет.
D1m0n_FidoNet
 
Posts: 9
Joined: Thu, 19.03.2020 11:49:38

Postby TS-Labs » Tue, 26.05.2020 05:41:51

Помеха на звуке, слышна, если втыкнуться наушниками.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby idxi » Mon, 22.06.2020 21:31:50

TS-Labs wrote:слышна, если втыкнуться наушниками

Подтверждаю, фонит немного "в ушах" ) лекарство(ну акромясь нового hardware-билда) ? )


Спековская тулза Device Info не нашла, похоже обновить возможно только соединив с РС ?
User avatar
idxi
 
Posts: 179
Joined: Mon, 03.07.2017 16:54:54

Postby TS-Labs » Wed, 24.06.2020 23:05:32

Закомитил фикс в тулзе. Прошивка в тулзе осталась пока 6.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby idxi » Thu, 25.06.2020 23:09:53

Ага. Детектит. Спс.

TS-Labs wrote:Для удобства программирования каналов вейв-синтеза предлагается реализовать оный в виде списка команд, загружаемого в особое ФИФО.

Смысл задумывается такой же как у FT812, что должно быть удобно )
User avatar
idxi
 
Posts: 179
Joined: Mon, 03.07.2017 16:54:54

Postby Uzix » Sat, 01.08.2020 10:44:24

Собрал, запустил, всё работает. Шикарный девайс, спасибо TS-Labs.
Нет ли в планах добавить порт IOA или хотя бы пины IOA2, IOA3, IOA7 для подключения wifi по схеме nihirash?
User avatar
Uzix
 
Posts: 1
Joined: Sat, 01.08.2020 10:36:48
WEBSITE: https://err200.net
LOCATION: Ru

PreviousNext

Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest

cron

x