Просмотр полной версии : MagicSound для Aleste 520
Sherlock
03.10.2017, 20:51
Тема будет посвящена звукой плате MagicSound (MS), и будет полезна тем кто хочет повторить это устройство. Так же, этой ветке хочу собрать всю имеющююся информацию о плате.
Как мне стало известно, и как многие уже заметили, на схемах с сайта aleste520.narod.ru нет номиналов.
Поэтому ко мне обратились с просьбой помочь, востановить номиналы элементов. Что на мой взгляд не так уж и трудно сделать.
Для начала, приведу обще описание устройства.
Aleste 520EX в отличии от ее предшестенника без буквок EX фактически была спроектирована вместе с этой платой. Для этого память компьютера сделали 512КБ. А на разьеме расширения добавили пины прямого доступа ко всей памяти компьютера. Компьютер в режиме MSX использует систему управления памяти известную как mapper (аналог MSX маппера). Для тех кто не в курсе это устройство которое позволяет процессору с 16 битной адресной шиной управлять до 4МБ памяти.
Memory_Mapper (https://www.msx.org/wiki/Memory_Mapper)
Контроллер DMA (D5) на звуковой плате также имеет 16 битную адресню шину. И также как и процессор он имеет свой mapper (D11, D12). Из за экономии пинов разьема расширения, компьютер и карта используют только 19 битную шину адреса. Что позволяет обеспечивать доступ к 2^19 байт, что и обозначено цифрой 520 в названии компьютера. Теоретически Aleste может быть модифицированна для поддержк 4МБ. На сколько мне известно, ПО Алесты определяет доступный обьем пространсва автоматически. Регистр D16 хранит старшие 8 бит адресов DMA. На первой MS плате стоял DMA 580 серии, у него есть недостаток, он адресуется только к 16Кб памяти. Поэтому в плате для Aleste EX был применет DMA из серии 1810, эта микросхема не имеет такого недостатка. На мультиплексоре D16 собран генератор адреса для маппера, когда к мапперу доступается процессор на маппер поступают адресные линии A0-3, а когда к памяти идет DMA доступ тогда на маппер поступают адреса A14-15 и номер анала NUMBER0-1. На D4 дешивратор доступа к регистрам платы. Остальные микросхемы выполняют связующе утилитарные функции.
Четыре таймерных канала на (D3,D4) генерируют четыре частоты четырех каналов DMA (D5). На каждый импульс, один из каналов DMA передает байт данных из памяти компьютера в память звуковой карты, а затем в DAC. Такое устройство определяет следующее:
1) Размер одного сэмпла равен одному байту. Не меньше и не больше.
2) Если требуется воспроизвести звуковую волну в разы быстрее частоты дискретизации, система не будет "пропускать" не нужные сэмплы, или производить интерполяцию как это делают софтверные проигрыватели. Все сто процентов байтов звуковой волны передадуться на выходной DAC.
3) Выходной DAC должен быть достаточно быстр для того чтобы успевать без потерь воспроизводить весь поток данных.
Память звуковой карты имеет 4 ячейки памяти по одной на каждый канал (D7,D8). Еще 4 ячейки памяти хранят громксть каждого канала (D9,D10). Громкость устанавливается процессором.
Для того чтобы смешать значение сэмплов небходима следующая фуекция: Sout = S1 * V1 + S2 * V2 + S3 * V3 + S4 * V4 Где Sn значение сэмпла, Vn значение громкости.
А для того чтобы сделать это, минимальным числом элеметов можно с несущей частотой Fn, которая примерно в 4 раза большей чем частота дискретизации Fd, делать лишь одну операцию: Sout = Sn * Vn; n = ++n % 4
Частота Fn (см. сигнал D/A0) генерируется одним каналом таймера D4. Делится на 2 триггером D15.1 для получения Fn/2 (сигнал D/A1). Две эти частоты формируют адрес ячейки памяти сэмплов и громкостей. Сэмпл поступает на вход DAC D21, а 6 бит громкости на DAC на D23,D24. Аналоговое произведене обоих DAC конверторов (сигал Z1) поступает на вход мультиплексора D22. Который отправляет сэплы каналов 1,2 в левый канал D22/13, а каналы 3,4 в правый канал D22/3. На выходе мультиплексора стоит ФНЧ задача которого срезать частоты выше 20кгц.
Во время проектирования платы. к сожалению, не было качественных, быстрых, цифронаналоговых преобразователей совместимых с TTL. Поэтому был использован ортодоксалный MECL DAC 1118PA1 (аналог MC10318 (http://www.ic72.net.cn/pdf_file/m/183500.pdf)) Высокоскоростной, высокоточный 8битный ЦАП со скоростью до 25МГц. Устройства серии MECL должны питаться отрицательным напряжением -5 вольт. В MagicSound этот DAC тупо стоит "перевернутым". Его Vss подключент к +5В а его Vcc к "земле". Если желающие захотят спроектировать свою плату (MS) То первое о чем стоит подумать, это заменить этот ЦАП на другой. Во вторую очередь, всю мелочь можно засунуть в небольшую ПЛМ (ПЛИС или что угодно).
Выходной ФНЧ может быть заменен версией на ОУ. Кроме того на плате может быть установлен интегральный усилитель для головных телефонов.
Дополнительные данные я буду прикреплять к этому посту. Если есть вопросы и пожелания обращайтесь. В данный момент времени я не планирую проектировать или собирать Алесту или звуковую плату, просто нет времени. Но если есть такие люди которые готовы этим заняться я помогу консультацией или советом.
Сылки
На CPC wiki есть схема платы с аккуратными и точными ремарками (синим цветом) Magic_Sound_Board (http://www.cpcwiki.eu/index.php/Magic_Sound_Board)
Адреса устройств платы
Port A10 A9 A8 A5 A3 A2 A1 A0 RW Expl.
FXDX 0 X X 0 X X X X The board selected.
F8DX 0 0 0 0 r r r r RW DMA Controller 8237
rrrr is reg number
D[7..0] Data
F9DX 0 0 1 0 (1) 0 r r -W TIMER 8254 CHANNELS 0,1,2
rr is reg number
D[7..0] Data
F9DY 0 0 1 0 0 (1) r r -W TIMER 8254 CHANNELS 3, and DAC
nn is reg number
D[7..0] Data
FADX 0 1 0 0 X X c c -W VOLUME CONTROL
cc is channel number
D[5..0] Volume
FBDX 0 1 1 0 c c m m -W MAPPER
cc is channel number
mm is mapper's page register
D[5..0] inverted page number
After reset timers do not work until first write to it's regs
After dma end ('tc' signal) the NMI to Z80 generated
Перечень и номиналы дискретных компонентов
R1,R2,R6 - 100ом // согласовывание импеданса
R3,С1 - 1K, 500om, 1nf // 500us
R4,C2 - 500om, 33pF // 30ns
R5 - 2.2K // pullup
R7 - 4.7K // LED
R8-R23 - 500 om - 1K // желательно потестировать. 1К уменьшит потребление, 500 ом выше быстродействие DAC. На старой фото вижу эти резисторы не запаяны, с этого стоит начинать.
С3 - 220uF
R24 - 4.7K // LED
// Фильтр половины питания (можт быть заменен на MC1403)
R38 - 220ом // для диода 1N5222B
VD3 - 2.5V // Половина питания к примеру 1N5222B (читайте ниже О режиме по постоянному току ФНЧ)
C7 - 10uF или 22uF
// Фильтр питания ФНЧ
VT2 - КТ503А // или аналог
C9 - 50uF
R39 - 10K или 22K
// Фильтр питания
C8 - 220uF
// Фильтр питания DAC
VT1 - КТ503А // или аналог
C4 - 50uF
C5 - 220uF
R31 - 10K или 22K
// DAC громкости
R25-R30 - 1k ... 32k // набор резисторов 1 к двум. При этом R25 самый большой а R30 самый маленький
R32 - 10K // требуется тестирование. Определяет максимальную амплитуду выходного сигнала. Увеличивайте для того чтобы убрать искажения в ФНЧ. (читайте ниже О режиме по постоянному току ФНЧ)
// DAC сэмпла
R33 - 387.5 ом // (читайте ниже О режиме по постоянному току ФНЧ)
R34 - 387.5 ом // ближайший к этому номиналу. точность не существена
R35 - 200ohm
R36 - 3K
R37 - 3.1K
C6 - 0.01uF
// ФНЧ
R42,R43 // скорее всего не нужны
R40,R41,R44,R45,R60,R61 - 10K
R48,R49,R62,R63 - 2.2K
R46,R47 - 100ohm
С10,С11 - 470pF
С12,C13 - 1.5nF // по фото видно что на плате стоит 1nF но 1.5 будет лучше.
C14,C15 - 470pF
C16,C17 - 470pF
C18,C19 - 10..100uF // 10uF, 22uF, 50uF или 100uF ставте по габаритам
Файл печатной платы.
Имеется два файла. Разбирайтесь, что к чему. Отпишитесь в эту ветку о результате
62433
Sherlock
04.10.2017, 16:28
Решение номиналов R33 и R34
Из документации на DAC следует что выходное напряжение зависит от Vref (тоесть разницы потенциалов на выводах 10,11 DAC ) и Rload (R33,R34).
62416
По схеме Vref = 2.5V (примерно так как реальность разочаровывает)
Получается что для того чтобы при значении A (входа DAC) раном 128 (половина диапазона) на выходе было 2.5V (потенциал GND2). Сопротивление RL = ((Vo - Vs) * Rref * 16) / (Vref * 128) = (2.5 * 3100 * 16) / (2.5 * 128) = 387.5 ом.
Сомневаюсь в том что R32 необходим. Но об этом в следующем посте.
Итог: R33 и R34 могут быть быть 387.5 ом
Достаточно поставить с точностью ближайший имеющийся. Так как есть потенциометр R36
Наши подтягиваются на огонек!!!
Приветствую, Валерий. Надеюсь, теперь ты про Aleste и MagicSound полностью прояснишь ситуацию.
Sherlock
04.10.2017, 17:12
ЦАП громкости и номинал R32
Не совсем понимаю логику R32. Очевидно был найден опытным путем. Но сегодня, на мой взляд, стартовая точка для экперимента могла быть такой:
1) R25..R30 = 32K..1K (каждый резистор х2 раза болше соседа) минимальное сумарное сопротивление такого DAC сэмла (DACS) равно 500ом. Тогда R32 скорее должен быть 250ом (в два раза меньше).
2) На мой взляд R32 должен быть между Z1 и GND2. (в настоящий момент он между Z1 и D21/16.)
Рекмендую, сначала спаять плату некапитально, запустить, подобрать номиналы. Затем собрать красиво.
Смысл GND2 в том, чтобы обойтись однополярным питанием. Если все сделано правильно то в момент когда DACS имеет значение 128 (половина максимума) на его выходе должен быть уровень GND2 (2.5V) формируемый выпрямителем на стабилитроне.
Еще о том почему R32 может быть подключен "не туда". Начать с того что DACS формирует токи. А изменение нагрузки DACS путем изменения сопротивления громкостного DACV, влияет на результат DACS. Возможно изменение точки R32 компенсировало проблему. Точней сказать не могу. Экспериментируйте! "Только смелым покоряются моря" :)
P.S. Если за номинал R30 испольовать 2К, тогда R32 будет 500ом. Увеличение сопротивления позволяет уменьшить влияние DACV на DACS. Но при этом уменьшает токи заряда емкостей в ФНЧ.
Жаль на фото платы не видно хотябы одного номинала резистора DACs или R32.
Sherlock
05.10.2017, 13:40
Цепочка C2 R4
Формирует импульс записи в память сэмпла D7-D8. На входе сингнал /IOWR от DMA. В момент перехода /IOWR в 1 триггер D25.2 формирует импульс записи в память.
DMA формирует достаточной длинный сигнал записи, достаточный чтобы записывать в память платы. Однако на протяжении этого импулься, особенно в начале может быть момент времени, в котором значение шины данных не определено. Например происходит выборка данных из памяти и уровни на шине данных еще не установились. Но дело в том что память платы является регистром-защелкой и пропускает на выход все что на входе пока сигнал записи равен нулю. Таким образом если записывать в память сигналом /IOWR на выходе памяти могут образоваться невалидные данные, которые в последствии заменятся на верные, но этот короткий миг будет влиять на результат DAC. Соотвественно запись в память карты должна быть только по переднему фронту /IOWR, а для этого достаточно сформировать короткий импульс записи по переднему фронту /IOWR.
Минимальное время записи в D7-D8 примерно 15-25ns. Исходя из этого, считаю, резистор R4 должен быть 500ом. Тогд при различных емкостях С2 будут формироваться импульсы следующих длин:
20pf -> 25ns
33pf -> 30ns
47pf -> 38ns
68pf -> 49ns
100pf -> 65ns
200pf -> 120ns
Лучше начать с 33pf, затем проверить осцилограмму на шине адреса и данных памяти вместе с сигналом записи в память. Убедиться что не требуется большей длины. Возможно наоборот потребуется использовать меньшую длину (но это врядли)
Не правильное значение цепочки может вызвать отсутсвие звука или искаженный звук, но не может повлиять на работоспосомность DMA обмена или программы которая воспроизводит музыку.
- - - Добавлено - - -
О режиме по постоянному току ФНЧ
Существуют две возможности. Увы я не могу сто пронцентов уверждать о том какой из двух вариантов был выбран.
1) До сих пор мной был рассотрен вариант при котором половина максимално возможного значеня сэмпла (назову S/2) была равна половине 5 вольт. То есть сэмпл со значением 128 имеет напряжение 2.5 вольта. Для этого R33 и R34 равны 387.5 ома. И вот к чему это приводит: На входе ФНЧ 2.5 вольта, тогда на эмитере VT3 будет 1.8 вольт, а на эмитере VT7 будет 1.1 вольта. Это достаточно для формирования амплитуды 500мв.
2) Алтернативно изменением резистора R33-R34 можно выставить S/2 равное 3/4 от 5 в. Тоесть 3.75 вольта. Тогда и VD3 должен быть на 3.75 вольта.
Тогда на входе ФНЧ будет 3.75, на эмитере VT3 будет 3.05, а на эмитере VT7 будет 2.3 вольта. Лично мне это нравится больше.
В этом случае DAC формирует значения лишь от 5 до 2.5 вольт. Но это не имеет значения ибо на выходе требуется гораздо меньше. Амплитуда результата определяется отношением R32 к R25..R30
Фактически R32 определяет мыксимальную выходную амплитуду сигнала для выранного набора резисторов R25..R30
И еще... вероятно R42-R43 вообще не нужны.
- - - Добавлено - - -
Это интересно.
Текстовый редактор PowerWriter, написаный на Aleste имел режим при котором скролирование фрагментов изображения производилось с помощью DMA на плате MagicSound. Это давало заметное, ощутимое, хоть и не большое ускорение. Примерно плюс 50%
Sherlock
05.10.2017, 19:00
Цепочка R3,С1 и сигнал READY для DMA
DMA конроллер находится в режиме ожидания пока сигнал READY на входе равен нулю.
Одновибратор на тригере режиме ожидания находится в состоянии 1, а значит на его инвесном выходе и входе READY на DMA нулевой уровень. Срабатывая одновибратор формирует единичный импульс длиной RxC, сообщающий DMA о завершении транзакции.
Импульс READY* для одновибратора формируется логическим AND из двух сигалов: /DIS, READY
Очевидно первый X1.B29 означает: при 0 уровне идет доступ к видеопамяти контроллером CRT. При 1-ом уровне, идет доспуп CPU или DMA.
Не удалось проследить на схеме Aleste источник сигнала READY на разьеме X1.A20. Если кто знает сообщите
Возможно, вероятней всего, это сигнал /WAIT на процессоре. Этот сигнал равен 1 каждый нечетный случай когда RAS равен 0.
ALESTE
XATL ГLГLГLГLГLГLГLГLГLГLГLГLГLГLГLГL
8M __--__--__--__--__--__--__--__--
4M ____----____----____----____----
2M ________--------________--------
1M ________________----------------
VCLK ________--------________--------
RAS --____----____----____----____-- DELAY 4M
CAS ----____----____----____----____ DELAY RAS
/WAIT __________----____________----__
MAGIC SOUND
READY* __________----____________----__
READY __________--------________------
t = R * C
Если это верно тогда READY равный 1 означает процесс передачи данных из памяти процессору.
Зачем вообще нужен одновибратор?
Существуют две возможности. Сделать импулсь короче чем READY, или сделть длинней. Вероятне вторая версия. Тогда небходимо удлиннить импульс (скажем до периода RAS).
Частота сигнала RAS равна 2мгц или 4мгц в зависимости от режима графики. Максимально возможный Период 0.5us.
Вывод R1,C3 -> 500om, 1nF
Дмитрий2012
05.10.2017, 21:18
Не удалось проследить на схеме Aleste источник сигнала READY на разьеме X1.A20. Если кто знает сообщите
Возможно, вероятней всего, это сигнал /WAIT на процессоре.
Да, в качестве сигнала READY используется сигнал /WAIT на процессоре. Это видно по сохранившимся фоткам печатных плат в интернете. На разьем X1.A20 кинут проводок с сигнала /WAIT процессора.
Sherlock
05.10.2017, 21:28
Дмитрий, спасибо. Это логично. Думаю у вас теперь есть все что нужно. Если будут вопросы пишите. Возможно в реальности, что то из выше перечисленного потребует корректировки. По сути сегодня я просто провожу reverse engineering сделанного 25 лет назад. ;)
P.S. У меня было предположение что DAC громкости был какой то не стандартный, который в совокупности с внутренним устройством DAC делал логарифмическую шкалу. Но сегодня как не кручу ничего кроме обычного resistor ladder не выходит. Пробуйте. Если не понравятся огибающие громкости, придумем что нибудь.
P.S. Фойлы печатной платы в первом посте
Дмитрий2012
05.10.2017, 21:45
Валерий, спасибо за такое подробное описание MagicSound и помощь в восстановлении номиналов деталей. Теперь то с такой информацией будет намного проще собрать платку:) За файлы печатной платы отдельное спасибо!!! это я так понял печатка оригинальной карточки? в какой программе можно открыть и посмотреть файлы? может кто поможет из них сделать гербер файлы для заказа платки?
Sherlock
05.10.2017, 21:55
Валерий, спасибо за такое подробное описание MagicSound и помощь в восстановлении номиналов деталей. Теперь то с такой информацией будет намного проще собрать платку:) За файлы печатной платы отдельное спасибо!!! это я так понял печатка оригинальной карточки? в какой программе можно открыть и посмотреть файлы? может кто поможет из них сделать гербер файлы для заказа платки?
Да, файлы оригинальные. PCAD 4.5 кажется. Но насколько они (файлы) полезны или нет я не знаю.
Да, файлы оригинальные. PCAD 4.5 кажется. Но насколько они (файлы) полезны или нет я не знаю.
В принципе рисунок печатной платы из 4.5 можно перевести в современный P-CAD, замудренно но можно. Но библиотеку элементов придется делать заново.
Вот картинки плат после перевода из P-CAD 4.5 в P-CAD 2002
MAGS
http://s008.radikal.ru/i303/1710/44/0d4399f25b94t.jpg (http://radikal.ru/big/9i4rixhlvaiaw)
MAGSM
http://s03.radikal.ru/i176/1710/45/57795676b8eft.jpg (http://radikal.ru/big/cxt5zjxg1tx1c)
По сути теперь заменить паттерны элементов и собственно платы будут готовы для дальнейших игрищ.
Sherlock
10.10.2017, 15:48
Есть фото полусобраной платы, видны некоторые номиналы. Но относиться стоит осторожно.
http://cpcwiki.eu/imgs/3/3f/ALESTE_MagicSound_PCB_Top.jpg
Вот картинка после окультуривания в P-CAD 2002. Сразу прошу прощения автора карты что не повторил элементы в 1:1.
Но в остальном оставил как есть, кроме того что отредактировал одно место с конденсатором C20 (СB) возле микросхемы D12. В оригинальном файле он коротил дорожки на UCC. Похоже что это был не финальный вариант разводки. Ну да ладно.
Также оставил две не разведенные линии аналогово питания, видимо проводами к разъему присоединялись, либо от внешнего источника.
https://i.ibb.co/82tJ4BN/msound.png (https://ibb.co/82tJ4BN)
Пока схему не заносил в P-CAD 2002, посему печатка как есть - есть ошибки или нет без понятия.
Для производства печатки ошибок нет.
Файл magsm я думаю смысла переводить нет, так как отличие вроде в нанесении названия микросхем и позиционных обозначений элементов - по типу шелкографии.
Sherlock
16.10.2017, 14:51
Вот картинка после окультуривания в P-CAD 2002.
Великолепно! Огромное спасибо. :v2_dizzy_vodka:
Сразу прошу прощения автора карты что не повторил элементы в 1:1.
Я думаю, что это не важно. Важно то, что плата теперь есть. И жаждущие могут ее собрать.
Добавил в пост http://zx-pk.ru/threads/28184-magicsound-dlya-aleste-520.html?p=932448&viewfull=1#post932448 ссылку на архив с печаткой в P-CAD 2002.
Если найдете ошибки - сигнализируйте, исправлю.
Перерисовал схему в P-CAD 2002, затем сверился с платой и как результат - есть несколько отличий от схемы из вики.
А именно - на вход микросхемы 11 D15 в схеме из вики идет сигнал MAPER/. На плате сигнал MAPE.
Дальше на схеме из вики сигнал SAMPLE/ идет с выхода 9 микросхемы D25. На плате этот сигнал идет с выхода 8 D25.
Ну и кроме того поменяны местами некоторые логические элементы.
Вот pdf вариант схемы, связанной с платой. Смотрите, может какие замечания будут. Потом поправлю и выложу все на свой сайт.
62623
P.S. Возле C19 должен контакт называться SNDRIGHT, а не SNDLEFT - копипаста проклятая :)
Sherlock
24.10.2017, 16:26
О TGATE
Задача D15.2 выключать плату, а именно таймеры, сигнал TGATE, после сброса компьютера, и включать после инициализации процессором.
Сигнал /MAPPER это запись процессором в регистр маппера, а значит инициализация, платы.
MAPE это чтение из маппера, которое осуществаляет DMA. Но DMA не работает пока молчат таймеры. Поэтому выглядит как /MAPPER более верный вариант.
Теперь о D25
Формирует запись в память семлов, из /IOWR который формирует DMA
/AEN --------------+_________________+-------
/IOWR --------------------+_________+---------
D25/9 ------------------------------+____+----
D25/8 ______________________________+----+____
Сигнал /SAMPLE это /WR у микросхемы 555ИР32. Низкий уровент на входе /WR модифицирует ячейку при низком уровне, тоесть это регистр-защелка. Поэтому выглядит как D25.9 это более верный источник сигнала /WR
Не спорю, получается что печатная плата не финальный вариант карты.
Но тогда на фото недособранной платы, тоже не финальный вариант. Потому как если присмотреться то SAMPLE/ тоже идет именно с 8 вывода D25.
Если нужно я могу скорректировать и схему и печатку.
Sherlock
24.10.2017, 17:57
Не спорю, получается что печатная плата не финальный вариант карты.
Но тогда на фото недособранной платы, тоже не финальный вариант. Потому как если присмотреться то SAMPLE/ тоже идет именно с 8 вывода D25.
Если нужно я могу скорректировать и схему и печатку.
Увы у меня нет логичного объяснения. В какое время и как часто не формировался бы импульс на выходе D25/9 он формируется предельно коротким 0-вым. На 8-выводе его инверсия. Как схема может работать при условии что этот сигнал берется с вывода 8, я не представляю. Тут man (javascript:openreq('http://pdf.datasheetcatalog.com/datasheet/motorola/SN54LS170J.pdf')) на микросхему памяти.
Вообще все эти интернет файлы чересчур случайные. На какую ни гляну она словно "макетка".
- - - Добавлено - - -
Файловый архив собирался спустя годы. Если память не изменяет в 2007 году. Слишком много случайных источников файлов. Еще момент. Фотографии MS в основном "недособранные". И тоже доверия мало. Давайте сделаем так как считаем что должно быть. На крайний случае можно развести PCB-перемычку.
Давайте сделаем так как считаем что должно быть.
Хорошо, я изменю схему и печатку.
- - - Добавлено - - -
Вообще все эти интернет файлы чересчур случайные. На какую ни гляну она словно "макетка".
Но если в инете в основном попадаются образно не финальные версии плат, то как же они тогда уходили из под авторского контроля.
И кто занимался у вас разводкой плат, сами или нанимали специалистов на стороне?
Sherlock
24.10.2017, 18:39
Но если в инете в основном попадаются образно не финальные версии плат, то как же они тогда уходили из под авторского контроля.
И кто занимался у вас разводкой плат, сами или нанимали специалистов на стороне?
Внутри фирмы.
Даже если плата была не финальная, вряд ли это остановило бы желающего купить ее для сборки внеся соответствующие исправления.
Основная проблема в том, что нет фото работающей. У меня есть знакомый у которого вариант платы с 4 раздельными ЦАП. И он в курсе того о чем мы тут говорим. Но такие сегодня времена, сегодня трудно замотивировать чела чтобы он нашел время, откопал изделие, сфотографировал, списал номиналы и т.д.
Все уже старые и ленивые.
Даже если плата была не финальная, вряд ли это остановило бы желающего купить ее для сборки внеся соответствующие исправления.
С этим трудно поспорить. Здесь это сплошь и рядом а уж в те времена уж и подавно. :)
Дмитрий2012
25.10.2017, 19:09
О режиме по постоянному току ФНЧ
Существуют две возможности. Увы я не могу сто пронцентов уверждать о том какой из двух вариантов был выбран.
1) До сих пор мной был рассотрен вариант при котором половина максимално возможного значеня сэмпла (назову S/2) была равна половине 5 вольт. То есть сэмпл со значением 128 имеет напряжение 2.5 вольта. Для этого R33 и R34 равны 387.5 ома. И вот к чему это приводит: На входе ФНЧ 2.5 вольта, тогда на эмитере VT3 будет 1.8 вольт, а на эмитере VT7 будет 1.1 вольта. Это достаточно для формирования амплитуды 500мв.
2) Алтернативно изменением резистора R33-R34 можно выставить S/2 равное 3/4 от 5 в. Тоесть 3.75 вольта. Тогда и VD3 должен быть на 3.75 вольта.
Тогда на входе ФНЧ будет 3.75, на эмитере VT3 будет 3.05, а на эмитере VT7 будет 2.3 вольта. Лично мне это нравится больше.
Судя по фотографиям, если я правильно понял, на плату ставили стабилитрон КС133 на 3,3в. На 2,5в редкий стабилитрон. Везде куда я обращался, такой стабилитрон только на заказ со сроком поставки не менее 4-6 недель. В наличии есть на 2,7в и 3,3в. Если в качестве VD3 ставить стабилитрон на 3.3в Номиналы каких резисторов необходимо пересчитать?
Или все таки лучше искать стабилитрон на 2,5в?
Sherlock
25.10.2017, 21:38
3.3 лучше. А можно и больше. 3.5 например или 3.75. Рассчитать RL, по формуле заменив Vgnd2 на ваше значение напряжения на стабилитроне.
RL = ((Vo - Vs) * Rref * 16) / (Vref * 128) = ((5 - Vgnd2) * 3100 * 16) / (Vgnd2 * 128) = ?.
Где:
Vgnd2 это напряжение на стабилитроне
Vs в этой схеме равно 0
Vo это выходное напряжение ЦАП при значении на входе 128. Оно равно напряжению питания минус напряжение на стабилитроне: 5 - Vgnd2
RL это R33,R34, два резистора на выходе ЦАП.
Для стабилитрона 3.3В
((5 - 3.3) * 3100 * 16) / (3.3 * 128) = 199.6ом = 200ом
Для стабилитрона 3.5В
((5 - 3.5) * 3100 * 16) / (3.5 * 128) = 166ом
Для стабилитрона 3.6В
((5 - 3.6) * 3100 * 16) / (3.6 * 128) = 150ом
Дмитрий2012
28.10.2017, 11:36
Посмотрел печатную плату...
На восстановленной схеме и соответственно на плате отсутствует кондер С8 - фильтр по питанию. На оригинальной схеме он есть, но на фотках из инета похоже на плате для него место не предусмотрели.
Есть ошибки в шелкографии - название фирмы PATISINIC необходимо поменять на PATISONIC
Выводы транзисторов 2N3904 и 2N3906 обозначены вроде правильно, а проекция корпуса транзисторов похоже перевернута на 180 градусов.
И еще вопрос какого номинала должен быть резистор R38 если стабилитрон установлен на 3,6в ? можно ставить 220ом?
Sherlock
28.10.2017, 11:48
Посмотрел печатную плату...
На восстановленной схеме и соответственно на плате отсутствует кондер С8 - фильтр по питанию. На оригинальной схеме он есть, но на фотках из инета похоже на плате для него место не предусмотрели.
Есть ошибки в шелкографии - название фирмы PATISINIC необходимо поменять на PATISONIC
Выводы транзисторов 2N3904 и 2N3906 обозначены вроде правильно, а проекция корпуса транзисторов похоже перевернута на 180 градусов.
И еще вопрос какого номинала должен быть резистор R38 если стабилитрон установлен на 3,6в ? можно ставить 220ом?
((5 - 3.6) * 3100 * 16) / (3.6 * 128) = 150om
Но это в теории. А на практике потребуется подгонка. Еще раз повторю про значение этого резистора. Расчет такой что при среднем значении на входе ЦАП (это значение 128) на выходе ЦАП должно быть напряжение GND2
^
| 000 \ +5V напряжение питания ЦАП
| 001 \
| ... \
| 128 \ - - - - - - - - - GND2 напряжение на VD3
| ... \
| 254 \
| 255 \_______________ напряжение на выходе ЦАП
| |
| +--- значение на входе ЦАП
|
|--------------------------> 0V
На самом деле напряжение питания ЦАП ниже чем 5 вольт из за падения на бэ-VT1 поэтому математический расчет весьма приблизительный
Есть ошибки в шелкографии - название фирмы PATISINIC необходимо поменять на PATISONIC
Это не шелкография, это медь на слое Bottom, я ее не трогал так было изначально.
Выводы транзисторов 2N3904 и 2N3906 обозначены вроде правильно, а проекция корпуса транзисторов похоже перевернута на 180 градусов.
Я брал за основу КТ3102 и КТ3107, тем более что на оригинальной печатке паттерны обозначались KT3102.
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRkO9_4W_BqYpTlhhswv2rDVKYQFLaJZ MNmJFAYY0Yqc7yWrb2N2g
Если там стоят другие, я поменяю
Так в первом посте нашел что VT1 и VT2 - КТ503А. Остальные какие?
Дмитрий2012
28.10.2017, 13:26
Остальные какие?
Я думал разведено под транзисторы 2N3904 и 2N3906, как в первом посте на схеме.
Я брал за основу КТ3102 и КТ3107, тем более что на оригинальной печатке паттерны обозначались KT3102.
Про них ни слова в перечне элементов, если устанавливать наши тогда вроде все нормально.
В папке OLD есть файл mags_new.pcb
Это файл еще до замены паттернов, голый перевод из P-CAD 4.5 в P-CAD 2002. Можешь для сравнения поглядеть.
Sherlock
28.10.2017, 14:14
Так в первом посте нашел что VT1 и VT2 - КТ503А. Остальные какие?
Любые лучше малошумящие. Впрочем подойдут любые: КТ3102А, KT3107. Или 2N3904, 2N3906 или другое еще более малошумящий, для примера: 2N5087, 2N3638
Попадалась в сети фотка платы с КТ315, КТ361. Но у меня нет справочной информации по отечественным изделиям. Поэтому лучше попробовать импорт.
С другой стороны КУ у ФНЧ очень низкий при том, что цифровая схема будет создавать паразитные наводки более значительные чем уровень шума транзисторов. Скажем так. Схема MS оптимизировалась не для качества звука, а для простоты изготовления. Тем не менее звук был вполне качественный для 8ми битного компьютера.
Дмитрий2012
28.10.2017, 17:04
Поэтому выглядит как /MAPPER более верный вариант.
Да, так и есть. Если оставить как разведено на плате, то при включении компьютера из динамиков усилка подключенного к карте раздается неприятный однотонный звук видимо от таймеров. На плате эту ошибку надо править однозначно. После исправления этой ошибки при включении компьютера тишина.
Сигнал /SAMPLE это /WR у микросхемы 555ИР32. Низкий уровент на входе /WR модифицирует ячейку при низком уровне, тоесть это регистр-защелка. Поэтому выглядит как D25.9 это более верный источник сигнала /WR
Не заметил разницы в работе карты если брать сигнал с 8 или 9 вывода D25.
Как и ожидалось карта с первого раза не заработала. Из динамиков практически ничего не слышно. Если пальцами "прикасаться в районе ЦАП и резисторов искаженный звук появляется.
Вот как пока работает карта. https://youtu.be/w2HxTh4beDQ
С чего начать настройку, что посмотреть? если не устанавливать на карту резисторы R8-R23 как написано на первой странице, звука вообще не слышно. Сейчас установил в качестве резисторов
R8-R23 - 510 om
мой перечень элементов установленных на плате.
R1,R2,R6 - 100ом // согласовывание импеданса
R3,С1 - 1K, 500om, 1nf // 500us установил 510ом
R4,C2 - 500om, 33pF // 30ns
R5 - 2.2K // pullup
R8-R23 - 500 om - 1K пока установил 510ом// желательно потестировать. 1К уменьшит потребление, 500 ом выше быстродействие DAC. На старой фото вижу эти резисторы не запаяны, с этого стоит начинать.
С3 - 220uF
// Фильтр половины питания (можт быть заменен на MC1403)
R38 - 220ом установил 150ом для 3,6в
VD3 - 2.5V установил 3,6в
C7 - 10uF или 22uF
// Фильтр питания ФНЧ
VT2 - КТ503А // или аналог
C9 - 50uF
R39 - 10K или 22K установил 10к
// Фильтр питания DAC
VT1 - КТ503А // или аналог
C4 - 50uF установил 47мкф
C5 - 220uF
R31 - 10K или 22K установил 10к
// DAC громкости
R25-R30 - 1k ... 32k // набор резисторов 1 к двум. При этом R25 самый большой а R30 самый маленький
R32 - 10K установил 12к // требуется тестирование. Определяет максимальную амплитуду выходного сигнала. Увеличивайте для того чтобы убрать искажения в ФНЧ. (читайте ниже О режиме по постоянному току ФНЧ)
// DAC сэмпла
R33 - 387.5 ом установил 150ом при стабилитроне 3,6в // (читайте ниже О режиме по постоянному току ФНЧ)
R34 - 387.5 ом установил 150ом при стабилитроне 3,6в // ближайший к этому номиналу. точность не существена
R35 - 200ohm
R36 - 3K установил 3,3к
R37 - 3.1K пока установил постоянный резистор 3,3к
C6 - 0.01uF
// ФНЧ
R42,R43 не устанавливал // скорее всего не нужны ????
R40,R41,R44,R45,R50,R51 - 10K
R48,R49,R52,R53 - 2.2K
R46,R47 - 100ohm
С10,С11, C16,C17, C14,C15 - 470pF установил 330пф
С12,C13 - 1.5nF //
Как и ожидалось карта с первого раза не заработала. Из динамиков практически ничего не слышно. Если пальцами "прикасаться в районе ЦАП и резисторов искаженный звук появляется.
А фото своей платы выложи сюда, интересно же.
Sherlock
28.10.2017, 19:12
Сначала проверить уровень GND2, должен быть 3.6 на вашей плате.
Затем R36 в среднее положение.
Проверить напряжение на эмитерах VT1 (назовем VSS, пин D21/16) и VT2 должно быть VCC-0.7V
Когда плата "звучит", проверить базы транзисторов VT3,VT4 осчиллографом. Должны иметься уровня GND2
| _ _
B.VT3,VB4 | _| |_| |_
|
0V |-----------> t
Или единичное или нулевое значение должны быть равны GND2. Ибо D22 обязательно подключает базу к GND2.
В этот момент времени напряжение на эмитере VT3,VT4 должно быть GND2-0.7V, напряжение на эмитере VT7,VT8 должно быть GND2-1.4V
Где 0.7 и 1.4 это условное падение напряжение на БЭ переходе. Транзистора.
Дальше прооверить сигнал Z0 на выходе ЦАП
Диапазон значение Z0: минмум VSS - 2 * (VSS - 3.6) -> 2.2, и максимум VSS
Пример синусоидального сигнала (все примеры для стабилитрона 3.6В)
Z0 ^
VSS |\ /-\ < ~ 5V
| \ / \
| \ / \
GND2 | \ / \ < ~ 3.6V
| \ /
| \ /
MIN | \_/ < ~ 2.2V
|
0 +--------------------->
Пример RL лишом велик
Z0 ^
VSS | < ~ 5V
|
|\ /-\
GND2 | \ / \ < ~ 3.6V
| \ / \
| \ / \
MIN | \ / < ~ 2.2V
| \__/
0 +--------------------->
Слишком мал
Z0 ^
VSS | \ /---\ < ~ 5V
| \ / \
| \ / \
GND2 | \ / < ~ 3.6V
| \ /
| ---
MIN | < ~ 2.2V
|
0 +--------------------->
- - - Добавлено - - -
Проверить что на ЦАП громкости приходят управляющие сигналы (все пины EN на D23,D24)
- - - Добавлено - - -
Не заметил разницы в работе карты если брать сигнал с 8 или 9 вывода D25.
В этом нет никакого смысла. Так просто не должно быть. Не знаю как это комментировать.
- - - Добавлено - - -
Резистор R36 должен регулировать баланс между позитивным и негативным выходом ЦАП. Иными словами он компенсирует неточности в резисторах и транзисторах дифференциальной пары. Если все правильно то прямой и инверсные выходы ЦАП должны быть идентичны по значению но иметь разный знак. Любые перекосы могут приводить к искажениям.
- - - Добавлено - - -
Думаю что с вашей стороны будет большой помощью если после запуска вы сфотографируете диаграммы в ключевых точках платы. И опубликуете их в этой ветке.
- - - Добавлено - - -
Прямой и инверсный выходы ЦАП
Z0 ^ _
VSS |\ / \ < ~ 5V
| \ / \ /
| \ / \ /
GND2 | X X < ~ 3.6V
| / \ / \
| / \ / \
MIN |/ \_/ < ~ 2.2V
|
0 +---------------->
Дмитрий2012
29.10.2017, 12:56
А фото своей платы выложи сюда, интересно же.
http://i89.fastpic.ru/thumb/2017/1029/84/db881efee256759056a9cb03bb6d4c84.jpeg (http://fastpic.ru/view/89/2017/1029/db881efee256759056a9cb03bb6d4c84.jpg.html)
Думаю что с вашей стороны будет большой помощью если после запуска вы сфотографируете диаграммы в ключевых точках платы. И опубликуете их в этой ветке.
если удастся запустить плату конечно сделаю диаграммы в точках, каких скажете :) но до это еще ой как далеко ...
Сначала проверить уровень GND2, должен быть 3.6 на вашей плате.
Затем R36 в среднее положение.
Проверить напряжение на эмитерах VT1 (назовем VSS, пин D21/16) и VT2 должно быть VCC-0.7V
На GND2 3,5в
Проверил напряжение на транзисторах:
при установленной микросхеме КС1118ПА1
на VT1
Б-3в
К-4.9в
Э-2,4в это я так понимаю очень мало... по паспорту питание КС1118ПА1 должно быть -5,2+-5%
на VT2
Б-4,4в
К-4.9в
Э-3,8в
Монтаж проверил, вроде все в соответствии со схемой собрано. Может чего упустил... Почему может так проседать напряжение?
Транзисторы все исправные, проверялись перед установкой на плату.
Sherlock
29.10.2017, 13:21
это я так понимаю очень мало... по паспорту питание КС1118ПА1 должно быть -5,2+-5%
Монтаж проверил, вроде все в соответствии со схемой собрано. Может чего упустил... Почему может так проседать напряжение?
Транзисторы все исправные, проверялись перед установкой на плату.
Нет данных на КТ503А под рукой, да и вообще была ли такая в природе. Но подозреваю что не достаточен ток базы. Попробуйте 1К для R31,R39
Спасибо за фото.
А еще, если не трудно нижнюю сторону сфоткай
Sherlock
29.10.2017, 14:04
Задача уменьшать сопротивление до тек пор пока падение на КЭ будет примерно 0.8В или немного меньше. Но при этом сопротивление должно быть таким чтобы его дальнейшее уменьшение приводило к уменьшению КЭ напряжения к 0.7В. Иными словами следует избежать перенасыщения.
62669
Рисунок из аналога BC337
Если предположим на коллекторе 4.9 а на эмитере 4.1. тогда БЭ падение 0.8В максимальный ток базы 10мА. А это значит минимальное сопротивление 80ом. Конечно ваше конечное значение будет выше.
- - - Добавлено - - -
Красными кругами обозначены интересующие вас зоны. Хотя на больших токах КЭ, думаю с VT1 так и будет, так велика, что номинал резистора не так важен. Главное привести КЭ падение к минимуму.
62671
- - - Добавлено - - -
Не заметил разницы в работе карты если брать сигнал с 8 или 9 вывода D25.
Разница будет когда плата будет "петь"!
Дмитрий2012
29.10.2017, 16:29
Сообщение от Дмитрий2012
Не заметил разницы в работе карты если брать сигнал с 8 или 9 вывода D25.
Разница будет когда плата будет "петь"!
Поторопился я в прошлый раз написав, что разницы нет. Исправил эту ошибку на плате.
Попробуйте 1К для R31,R39
Карта заиграла. Но работает пока неправильно. Из всхех прослушанных мной мелодий. Что-то похоже на музыку это Axelf. Остальные "шипят и трещат".
Например, вот как звучит Axel f https://youtu.be/Vdjd_9Kbigw
А вот так звучать практически все треки https://youtu.be/g7xAwC127Ns
Осциллографа пока нет под рукой.
Sherlock
29.10.2017, 17:17
Поторопился я в прошлый раз написав, что разницы нет. Исправил эту ошибку на плате.
Карта заиграла. Но работает пока неправильно. Из всхех прослушанных мной мелодий. Что-то похоже на музыку это Axelf. Остальные "шипят и трещат".
Например, вот как звучит Axel f https://youtu.be/Vdjd_9Kbigw
А вот так звучать практически все треки https://youtu.be/g7xAwC127Ns
Осциллографа пока нет под рукой.
Пока, на мой взгляд, ЦАП и ФНЧ не работают должным образом. С другой стороны это можно решить позже, а именно тогда когда файлы будут воспроизводиться корректно.
AxelF звучит правильней но не верно. То есть по сути все треки звучат не так как должны.
Диагностика дистанционно вещь сложная... Могу лишь в целом предположить то где может быть проблема
Судя по звуку проблема в генерации адреса сэмпла. Предположим нужно воспроизвести сэмпл из какого то участка памяти, а плата воспроизводит из другого. Привожу списком те места где могут быть нарушена точность этих адресов.
1) Процессор считывает файл в память (работоспособность памяти влияет на целостность файла)
Стоит сказать что эта работоспособность включает в себя не только способность памяти хранить верные данные, но и встроенный в плату компьютера MAPPER который управляет страницами. Просто необходимо иметь уверенность что 100% памяти работает верно. Требуется полный тест в режиме MAPMOD = 1, всех страниц, и каждой страницы в отдельности. Как уже говорилось выше в Патисонике была ПЗУ с тестом.
2) Процессор считывает параметры сэмпла из файла который находится в памяти. (таже зависимость от пункта 1)
3) Процессор устанавливает адреса в DMA (нарушение тракта шины адреса и данных A0..A3, D0..D7 у D5 приводит к ошибке адреса DMA)
4) Процессор устанавливает MAPPER (D11,D12) платы, для того чтобы DMA адресовался к коректным страницам. (нарушение тракта шины адреса и данных A0..A3, D0..D7 у D11,D12 (включая генератора адреса D16) приводит к ошибке в D11,D12, а как результат у A14..A18 при попытке DMA прочитать сэмпл)
5) DMA осуществляет доступ в память при этом D6 и MAPPER (D11,D12) платы, генерирует старшие адреса A8..A18. (D16 должна сформировать верный адрес у D11,D12)
6) Плата выставляет финальный адрес на коннектор, важно чтобы все 19 линии адреса достигли своего получателя в компьютере.
- - - Добавлено - - -
Возможно что AxelF просто самый короткий (маленький)
- - - Добавлено - - -
Важную роль в воспроизведении играет сигнал NMI. По окончании передачи сэмпла, сигнал NMI прерывает работу процессора и процессор перенастраивает DMA на воспроизведение другого фрагмента
^
DMA START|_|____________________________|_____________ |
ADDRESS | 1 3 2 3
SAMPLE |-/\/\/\/\/\/\/\/\/\/\/\/\/\/\--/\/\/\/\/\/\--
|_____________________________________________
NMI | | |
|
+-----------------------------------------------> time
Sample in memory: положение звуковой волны в памяти
1=======================2=============3 -- конец
| |
+--- начало +-- зацикливание
Имхо для наладки MagicSound было бы удобно иметь или тестовый .stm с синусоидой определенной частоты и амплитуды или тестовую программку, которая сформирует (или подгрузит из файла) эту синусоиду и воспроизведет ее через 1-4 каналы. Результат воспроизведения с карточки можно записать и посмотреть в аудиоредакторе - похоже ли на синусоиду, какая амплитуда и частота. Отлаживать на музыкальных stm несколько сложнее.
Sherlock
29.10.2017, 18:59
Имхо для наладки MagicSound было бы удобно иметь или тестовый .stm с синусоидой определенной частоты и амплитуды или тестовую программку, которая сформирует (или подгрузит из файла) эту синусоиду и воспроизведет ее через 1-4 каналы. Результат воспроизведения с карточки можно записать и посмотреть в аудиоредакторе - похоже ли на синусоиду, какая амплитуда и частота. Отлаживать на музыкальных stm несколько сложнее.
Верно. Но проще напрямую запрограммировать DMA на воспроизведение небольшой таблицы s = sin(t).
К сожалению я так далеко от Z80 сегодня, что вряд возьмусь за эту работу, но если найдется желающий и умеющий программировать Z80 могу помочь.
Могу сказать тоже самое и про написания небольшого и теста компьютера для ROM. Чтобы он тестировал основные устройства, память, уст. в.в., маппер.
Короче. Если есть на форуме желающие, могу дать совет и помочь чем смогу.
В OpenMPT (https://openmpt.org/) можно сделать (из "простых" форматов) s3m или mod с синусоидой. Чем бы потом конвертнуть в stm?
Здесь (http://www.dcee.net/Files/Music/Convert/) есть всякие доисторические конвертеры, но, например, sc11 у меня не запустился, да и не факт, что он подойдет, т.к. в doc упоминаются 6/8 канальные, а не 4х канальные.
Sherlock
29.10.2017, 21:12
STM это PC версия MOD без пары фишек. Затем mod получил новую версию формата допускающего более 4 треков. Тоже случилось и с Stm, но расширение сменили на s3m. Нужно брать любой трекер записывающий stm или смотреть в сторону mod2stm конверсии.
Вышеупомянутый sc11 запустился в DOSbox и сконвертил mod->stm. Но сконвертил своеобразно - фрагменты синуса перемежаются с какими-то пачками импульсов. Наверно это не стоит использовать в качестве тест-сигнала.
- - - Добавлено - - -
В sc11 ошибка, неправильно определяет смещение первого семпла, поэтому там в начале семпла воспроизводится ерунда. Если использовать не 1й, а 2й семпл/инструмент, то нормально и в OpenMPT и в emu. Если завтра еще будет актуально, сгенерирую несколько файлов и пошлю Дмитрию2012.
Sherlock
29.10.2017, 23:32
Думаю это будет полезно. Ждем.
Дмитрий2012 попробовал маленькие (3-16 Кб) .stmы с синусом и они ничего похожего на синус не давали. Т.к. axel что-то похожее на музыку все же дает, появилось предположение, что дело в количестве/объеме или расположении в памяти семплов. Приложенный файл близок по размеру к "играющим" музыкальным stmам и уже дал "много синусоиды" (но не все) на реале. Дмитрий2012 собирается выложить результат с реала.
sins1.stm воспроизводит (через 1й канал) синусоиду с возрастающей частотой (7 ступенек), время одного цикла проигрывания 52-53 секунды, потом по новой.
Дмитрий2012
30.10.2017, 22:53
Вот собственно запись с реала https://drive.google.com/file/d/0B7xjYWTXlb9mandEcHVTUUo1ejg/view?usp=sharing
Sherlock
30.10.2017, 22:56
Дмитрий2012 попробовал маленькие (3-16 Кб) .stmы с синусом и они ничего похожего на синус не давали. Т.к. axel что-то похожее на музыку все же дает, появилось предположение, что дело в количестве/объеме или расположении в памяти семплов.
Как мной уже было сказано выше, проблема в генерации адреса памяти при доступе контроллером DMA. А это может происходит по ряду причин которые были перечислены.
N.B. Единственное ограничение которое не имеет STM файл, но имеет MS это максимальный размер одного сэмпла. В файле он может превышать 64КБ тогда как плата не может воспроизводить сэмплы длинней 64КБ. Точнее сказать, длина сэмпла должна укладываться в 4x16КБ. К примеру если сэмпл начинается в ячейке 3FFF то его максимальная длина будет 48КБ+1Б.
DMA видит область памяти 64КБ
В sins1 семплы (кроме короткого неиспользуемого первого) по 16000 байт
Sherlock
30.10.2017, 23:48
В sins1 семплы (кроме короткого неиспользуемого первого) по 16000 байт
Нормально.
Упрощенная диаграмма данных и адресов. Могут быть небольшие ошибки или упрощения
62684
Дмитрий2012
01.11.2017, 22:05
Спасибо за фото.
А еще, если не трудно нижнюю сторону сфоткай
Попозже сфоткаю, как окультурю все. Сейчас у меня там "паутина" из навешанных резисторов и проводов. Кстати, если на плате оставлять посадочное место под родное гнездо аудио 3,5 мм стерео ОНП-ВГ-68 , тогда надо увеличивать отверстия. Иначе без напильника его на плату не установить. Замерил контакты гнезда - ширина примерно 1,35мм, толщина примерно 0,25мм
Вот как оно выглядит https://www.radiodetali.perm.ru/subcatalog/det100000073.asp?id=50959&kId=100000073&gr=100000067
Попозже сфоткаю, как окультурю все. Сейчас у меня там "паутина" из навешанных резисторов и проводов.
Это не страшно, мне хочется увидеть одно место там возле слотов и РУ2.
Я так полагаю у тебя же новодел. Вот интересен вопрос - кто то ее уже "скалывал" или есть другой вариант печатки в P-CAD 4.5.
Ведь то что выложил Sherlock это еще не финальный вариант (я сужу по тем фото плат, которые в инете). Вот и интересен вопрос, какой вариант у тебя и откуда источник ее.
Дмитрий2012
02.11.2017, 19:21
Вот и интересен вопрос, какой вариант у тебя и откуда источник ее.
У меня вариант, который ты сделал из того, что выложил Sherlock в этой теме. Ничего нового. Видимо это и правда не окончательная версия, так как нашли уже не одну ошибку в разводке платы.
Если бы только знать, что выложенная схема в интернете 100% рабочая без ошибок, то найти косяки в разводке платы и запустить карту было бы намного проще…
Кстати, а что не нравится возле слота и РУ2?
Кстати, а что не нравится возле слота и РУ2?
Там в оригинальном варианте блокировочный кондер коротит некоторые дорожки на 5V.
Я об этом уже писал, но какой ты вариант делал я не в курсе. Если ту которую я уже переделала под P-CAD 2002, а если ту которую P-CAD 4.5, то там ошибка эта есть.
Дмитрий2012
02.11.2017, 19:57
Если ту которую я уже переделала под P-CAD 2002, а если ту которую P-CAD 4.5, то там ошибка эта есть.
Понятно. Я сделал исправленную, которая под P-CAD 2002.
Дмитрий2012
03.11.2017, 19:03
Обратил внимание, что на основной плате компьютера на системном разъеме (контакт А27) вместо сигнал MAP18 выведен М4. Нет ли тут ошибки? В звуковой карте вроде используется MAP18.
Sherlock
03.11.2017, 19:15
Обратил внимание, что на основной плате компьютера на системном разъеме (контакт А27) вместо сигнал MAP18 выведен М4. Нет ли тут ошибки? В звуковой карте вроде используется MAP18.
Нет. Это не ошибка. IF MAPMOD=0 THEN MAP18 = 0 ELSE MAP18 = M4.
С другой стороны шина адресов на разъеме должна позволять оба направления передачи адреса, поэтому М4
Дмитрий2012
03.11.2017, 20:17
Все, нашел у себя на плате ошибку:) У D11 и D6 сигнал D1 был в обрыве (дорожка повредилась).
https://youtu.be/ibeT1HI2sL8
https://youtu.be/HbHmXM3Zlb4
https://youtu.be/a6rE60WnsTs
Теперь самое сложное, осталось настроить у карты аналоговую часть.
Sherlock
03.11.2017, 20:34
Все, нашел у себя на плате ошибку:) У D11 и D6 сигнал D1 был в обрыве (дорожка повредилась).
https://youtu.be/ibeT1HI2sL8
https://youtu.be/HbHmXM3Zlb4
Теперь самое сложное, осталось настроить у карты аналоговую часть.
Что и требовалось доказать ;)
Error404
03.11.2017, 22:46
Приятно звучит, совсем не как мерзкие пищалки на AY. Но в звучании есть заметные артефакты.
Sherlock
03.11.2017, 22:52
Приятно звучит, совсем не как мерзкие пищалки на AY. Но в звучании есть заметные артефакты.
Это так. Не настроена аналоговая часть. Дмитрию есть еще над чем поработать.
Error404
03.11.2017, 22:52
Кстати, Дмитрий2012, что за клавиатура используется? По звуку нажатий из видео не похоже на нативную МС7007
Дмитрий2012
03.11.2017, 23:09
что за клавиатура используется? По звуку нажатий из видео не похоже на нативную МС7007
она самая, МС7007 :)
http://i97.fastpic.ru/thumb/2017/1103/0f/af24a8ca8e51f0d061be75efdd05530f.jpeg (http://fastpic.ru/view/97/2017/1103/af24a8ca8e51f0d061be75efdd05530f.jpg.html)
Скачал краткое описание 1118па1, посмотрел схему magic sound и удивился - правильно ли я вижу, что от D7 и D8 сигналы R0-R7 идут прямо на D21? По уровням же не совместимы?
Sherlock
06.11.2017, 14:13
Заявленные характеристики микросхемы при входных уровнях соответствующих требуемым. Если требование не выполняется то нет соответствия предьявленым характеристикам, но это не значит что микросхема не работает.
Нашел mod2stm (https://defacto2.net/f/a32d41?dosspeed=auto), который правильно конвертит (в отличие от ранее упоминавшегося sc11). Запускать в dosbox. Скорее всего в WinXP будет работать и без DOSbox, но я не пробовал.
- - - Добавлено - - -
Кстати, если вдруг кто не заметил (как, например, я) - там еще есть и bmod2stm. Он тоже лучше работает, чем sc11, но spacecru.mod из этого же архива не смог преобразовать (а mod2stm смог).
Дмитрий2012 и я сконвертили несколько modов. Наверно стоит написать пару слов:
1. Таких modов, что дают ошибку на этапе конверсии или после конверсии в stm звучат на PC неправильно - мало. Сам я пока нашел только 2 таких.
2. НО! Очень многие modы (наверно даже большинство) используют эффекты portamento. И вот их MAG (или связка MAG+aleste+magic sound) отрабатывает плохо - сильно фальшивит (на PC все ОК). По крайней мере при активном использовании (когда буквально каждая нота подстраивается).
Возможно некоторые другие эффекты отрабатываются не вполне корректно, иногда кажется, что MAG подтормаживает или глотает части семплов.
3. Еще один не совсем понятный момент - почему-то давятся верхние частоты, чем выше тем сильнее (проверяли диапазон 20-2000 Гц, но вряд ли в более высокочастотной области ситуация лучше). Допустим у Дмитрия2012 это можно списать на ненастроенность аналоговой части, но в emu то почему?
Несмотря на вышесказанное, modы которые более-менее приемлемо играют на aleste после конверсии есть, просто их, похоже, не так уж много.
Зачем я это написал:
Хотелось бы узнать, с чем связаны вышеописанные проблемы - с программной или аппаратной частью? Вряд ли кто-то будет дорабатывать MAG или Magic Sound, но было бы интересно понять границы возможностей.
На всякий случай - разработчикам Magic Sound и MAG респект, я уважаю их, тем более они вряд ли получили значимую материальную выгоду. Но есть заметные ограничения и их стоит озвучить.
Хотелось бы узнать, с чем связаны вышеописанные проблемы - с программной или аппаратной частью?
Если поведение реала и emu одинаковое, то на мой взгляд, проблемы с программной частью.
Sherlock
07.11.2017, 16:11
Дмитрий2012 и я сконвертили несколько modов. Наверно стоит написать пару слов:
1. Таких modов, что дают ошибку на этапе конверсии или после конверсии в stm звучат на PC неправильно - мало. Сам я пока нашел только 2 таких.
Дмитрий2012 2. НО! Очень многие modы (наверно даже большинство) используют эффекты portamento. И вот их MAG (или связка MAG+aleste+magic sound) отрабатывает плохо - сильно фальшивит (на PC все ОК). По крайней мере при активном использовании (когда буквально каждая нота подстраивается).
Во первых я допускаю что не все STM файлы воспроизводятся MAG плеером. Но я отчетливо помню пару коробок дискет с сотнями треков которые с утра до ночи воспроизводились в подвале "педа". Иными словами, на тот момент времени STM файлов которые на Алесте не звучали не было. За исключением лимитации которая натурально имелась у DMA а именно не способность воспроизводить сэмплы длинней 64КБ
По этому, считаю что версия MAG которая в архиве не самая последняя, если она воспроизводит ограниченное число файлов. Либо в самих файлах возникли изменения, но это я сомневаюсь.
Лет пять назад мне попадался исходный код MAG плеера. Однозначно он был. Но сегодня не могу найти его в архивах. Потерялся? Приснилось? Не знаю.
Теперь о фальши. Теоретически существует несколько вариантов этой файльши
1) Возможно что MAG не совсем правильно интерпретирует STM файл и вычисляет коэффициенты деления таймеров не верно. Просто баг
2) Jitter, у карты буфер только на один сэмпл. Соответственно время его подачи на выход зависит от занятости шины процессора. Что неизбежно приводить к непредсказуемости результата. В оригинальной Амиге частота дискретизации была 28КГц. В MS выбрана 32 для уменьшения Jitter. Но сегодня, если бы были исходники, стоило бы попробовать 48кГ. Плате должно быть по барабану. Лишь замедлится процессор. Но не забывайте у Алесты был еще турбо режим. Возможно Дмитрий сумеет воссоздать его.
3) При увеличении частоты волны, выше его дискретизации, плата выдает все сэмплы до одного, не пропуская. И это до самой частоты дискретизации 32Кгц и выше.. Но из за 32кГ частоты DAC результат получается не совсем предсказуемый. Требуется всего то внести исправления в исходный код.
Замечу также что повышение частоты волны более чем в двое не слишком часто случается ибо такой звук теряет в качестве и тембрально отличается от его начального варианта.
4) Еще один момент, при повышении частоты волны коэффициенты таймера уменьшаются. А значит его точность падает, ибо таймер этот родом из СССР и не способен работать от CLK в 16Мгц.
Дмитрий2012 Возможно некоторые другие эффекты отрабатываются не вполне корректно, иногда кажется, что MAG подтормаживает
Это возможно... все зависит от загрузки ЦП
Дмитрий2012 или глотает части семплов.
Это совершенно исключено, если все работает должным образом.
Дмитрий2012 3. Еще один не совсем понятный момент - почему-то давятся верхние частоты, чем выше тем сильнее (проверяли диапазон 20-2000 Гц, но вряд ли в более высокочастотной области ситуация лучше). Допустим у Дмитрия2012 это можно списать на ненастроенность аналоговой части, но в emu то почему?
Звучит иррационально. MAG проигрыватель не может влиять на спектр сигнала. А как вы оценивали линейность передачи на слух или прибором? Ибо человеческий слух нелинеен.
62764
В итоге:
Таймер имеет низкую точность на высоких частотах
ФНЧ на выходе имеет нелинейность.
Думаю что быстродействие DAC громкости вносит незначительне потери, на сколько я понимаю он много медленней самого ЦАП.
Ну и наконец транспонирование волны выше частоты дискретизации ЦАП вносить потери.
Про ограничении длины волны писалось.
Про то что возможно что некоторые эффекты не отрабатываются, к примеру динамическое изменение указателя на звуковую форму, возможно что то еще. В конце концов сам MAG проигрыватель результат reverse engineering. Ну не было исходного кода проигрывателя STM файлов. Были лишь данные о структуре файла, кажется ходил исходник очень сырого проигрывателя на covox.
Jitter вносит артефакты, для исправления требовалось дополнительное буферрирование. Один сэмпл воспроизводим другой читаем и т д. А еще лучше интерполяция. Но это уже фантастика для 90х годов.
- - - Добавлено - - -
Вряд ли кто-то будет дорабатывать MAG или Magic Sound
Почему нет?
Звучит иррационально. MAG проигрыватель не может влиять на спектр сигнала. А как вы оценивали линейность передачи на слух или прибором? Ибо человеческий слух нелинеен.
Приложил тестовый файлик - SWP64.STM. Там синус с качающейся частотой (в районе 20-2000 Гц и обратно 2000-20, т.е. не на весь диапазон) во всех 4х каналах. 16 повторений, пауза, 16 повторений, пауза и т.д.
Результаты (https://yadi.sk/d/UrsivxLA3PTEfX) проигрывания из OpenMPT (с отключенной интерполяцией) и emu. То, что в emu ВЧ ослабляется, видно и по форме самого сигнала и по спектру (смотрел в Audacity).
Дмитрий2012 записывал с реала, может и он выложит. Там сильнее давит ВЧ, чем в emu.
Sherlock
07.11.2017, 17:13
Дискретизация MS по умолчанию 32КГц. Верхняя частота 16КГц. Точно также как 22050 верхняя частота для 44100
В посте я сразу написал, что качается не на весь диапазон. И даже в такой сравнительно низкочастотной области наблюдается уменьшение коэффициента передачи с увеличением частоты.
Sherlock
07.11.2017, 17:35
В посте я сразу написал, что качается не на весь диапазон. И даже в такой сравнительно низкочастотной области наблюдается уменьшение коэффициента передачи с увеличением частоты.
Не вопрос. Плата не имеет фиксированной частоты дискретизации. Но она является некой репликой на звуковую систему амиги, вот с вики: The sound chip produces four hardware-mixed channels, two to the left and two to the right, of 8-bit PCM at a sampling frequency of up to 28 kHz.
Выбрана была 32кГц, причину не помню. Причем ее можно изменить программно. Но. В любом случае в мод файлах использовались сэмплы 11кГц, 8кГц. На вход таймера подается 4мГц, поэтому чтобы воспроизвести сэмпл в два раза выше его дискретизации нужно поделить частоту на 4000/22 = 181. Как видите число очень маленькое. А это означает что между значениями 180, 181 и 182 будет весьма значительное значение в процентах от полутона. Для устранения проблемы требуется частоту у таймера увеличить в два или четыре раза. Именно это наиболее компромиссное место. Другое горлышко бутылки в производительности шины памяти. Она у большинства 8ми битных компьютеров весьма скромная. Большую часть времени расходует видеосистема. Остатки идут на звуковую систему и процессор. Турбо режим увеличивал скорость процессора но не памяти. Это я вам перечисляю все ограничения которые помню. Других нюансов не было, либо я не помню.
Дмитрий2012
07.11.2017, 21:25
По этому, считаю что версия MAG которая в архиве не самая последняя, если она воспроизводит ограниченное число файлов. Либо в самих файлах возникли изменения, но это я сомневаюсь.
Лет пять назад мне попадался исходный код MAG плеера. Однозначно он был. Но сегодня не могу найти его в архивах. Потерялся? Приснилось? Не знаю.
Не приснилось:) Нашел я исходники плеера у Вас на сайте. Прога написана для М80. Может кто-нибудь их скомпилировать? Хочется послушать STM в этой версии программы.
Sherlock
07.11.2017, 22:06
Не приснилось:) Нашел я исходники плеера у Вас на сайте. Прога написана для М80. Может кто-нибудь их скомпилировать? Хочется послушать STM в этой версии программы.
Спасибо Дмитрий. Это одна из первых версий, зато код простой и читаемый. Позже добавлялись оптимизации, такие как перераспределение звуковых волн в памяти. Совместная работа с RAM Disk и тд.
Возможно я что-то неправильно скомпилировал, но получившийся вариант работает со странностями.
Конвертнул исходник в КОИ8 и пересобрал - теперь понятно, когда пишет 'ФАЙЛ не найден'. Архив с .COMом заменил
- - - Добавлено - - -
Обратил внимание, что в оригинальном mag.txt была проблема с буквами 'и' в рекламном тексте. Еще раз пересобрал.
Sherlock
08.11.2017, 14:44
Конвертнул исходник в КОИ8 и пересобрал - теперь понятно, когда пишет 'ФАЙЛ не найден'. Архив с .COMом заменил
- - - Добавлено - - -
Обратил внимание, что в оригинальном mag.txt была проблема с буквами 'и' в рекламном тексте. Еще раз пересобрал.
Я могу ошибаться, но на мой взгляд бинарная версия немного свежей исходника. Это я чисто эмпирически глядя на diffmerge.
Другим линкером (но из того же .REL) собрал альтернативный .COM, без 3х нулевых байт в начале.
ПРиветствую !
Плату где нибудь можно раздобыть ?
По просьбам трудящихся сделал гербер печатной платы карты, а заодно закинул файлы к себе на сайт
https://i.ibb.co/82tJ4BN/msound.png (https://ibb.co/82tJ4BN)
Схема MagicSound в pdf - http://micklab.ru/file/aleste/MagicSound.pdf
Схема MagicSound в P-CAD 2002 - http://micklab.ru/file/aleste/MagicSound_sch.rar
Печатная плата MagicSound в P-CAD 2002 - http://micklab.ru/file/aleste/MagicSound_pcb.rar
Гербер файлы для производства платы MagicSound - http://micklab.ru/file/aleste/MagicSound_gerber.rar
Библиотека P-CAD 2002 - http://micklab.ru/file/aleste/MagicSound_lib.rar
Монтажку не рисовал потому как не совсем понял список элементов из этой темы. Как соберете, сообщите точный список, тогда я дорисую.
Да и тут нет двух проводников, они указаны на картинке. Так было в оригинале.
кто нибудь плату на изготовление закажет ?
Заказ 5 плат на JLCPCB стоит примерно 1300-1400 рублей, согласно их калькулятору. Но мою карту к оплате они не принимают. PCBWAY позволяет оплатить с QIWI, но 5 плат обойдутся в 3700 рублей. Очень дорого. И детали для этой платы тоже недешёвые...
У меня есть пустая плата "Алесты" (сделанная по герберам от Mick), могу обменять на плату MagicSound с деталями. Может, кого-нибудь заинтересует...
Заказ 5 плат на JLCPCB стоит примерно 1300-1400 рублей, согласно их калькулятору. Но мою карту к оплате они не принимают.
1400руб за 5 плат с доставкой?
Как то слабо верится. Если только отправляют не экспресс почтой.
Можешь еще тут попробовать, тут экспресс почтой отправляют - https://aliexpress.ru/item/1005001920870206.html?_ga=2.218540185.1864708353.1 652704210-1260307464.1576826669&sku_id=12000018114980015&spm=a2g39.orderlist.0.0.725c4aa6PVhSzh
1400руб за 5 плат с доставкой?
Как то слабо верится. Если только отправляют не экспресс почтой.
Можешь еще тут попробовать, тут экспресс почтой отправляют - https://aliexpress.ru/item/1005001920870206.html?_ga=2.218540185.1864708353.1 652704210-1260307464.1576826669&sku_id=12000018114980015&spm=a2g39.orderlist.0.0.725c4aa6PVhSzh
Копипаста с JLCPCB:
SUMMARY
Merchandise Total₽781.20
Shipping₽516.75
Grand Total: ₽1297.95
Но это, всё равно, не имеет смысла, так как оплатить не получается.
Не так давно заказывал здесь: https://aliexpress.ru/item/32226716499.html?_ga=2.100024217.627244808.1652706 829-734693500.1636637455&sku_id=51475038899&spm=a2g39.orderlist.0.0.3e3d4aa6711HUA - это PCBWAY.
100х100 ещё терпимо, но если размер больше, то цена сразу взлетает до потолка.
Я заказал платы по герберам https://zx-pk.ru/threads/28184-magicsound-dlya-aleste-520.html?p=1149132&viewfull=1#post1149132
Я заказал платы по герберам
И во сколько в результате обошлось?
Примерно в 2400р
Где заказывал и как оплачивал? Какого цвета платы?
Думаю, у тебя одну платку прикупить.
Где заказывал и как оплачивал? Какого цвета платы?
Думаю, у тебя одну платку прикупить.
Заказывал по твоей ссылке. Платы зелёные, с белым шёлком. Был бы более интересен обмен на микросхемы для девайса - таймеры, контроллер DMA...
Спаял плату почти полностью, использовал список компонентов из это темы:
pcs russian western name description
1 KR1810WT37 8237 D5 DMA controller
2 KR1810WI54 8254 D3,D4 Programmable interval timer
1 K1118PA1 MC10318P D21 8bit digital-analog-converter
2 K555AP6 74LS245 D1,D2 8bit 3state transceiver
1 K555ID4 74LS155 D14 2x2bit decoder/demult
1 K555IR22 74LS373 D6 8bit 3state latch
4 K555IR32 74LS170 D7,D8,D9,D10 4x4bit register file OC
1 K555KP11 74LS257 D16 8-to-4 data selector
2 K555LI1 74LS08 D18,D20 Quad AND gates
1 K555LL1 74LS32 D19 Quad OR gates
1 K555LN1 74LS04 D17 Hex inverters
2 K555RU2 xxx D12,D11 16x4bit RAM with separate data in/out
1 K555TR2 74LS279 D13 Quad Set-Reset Latches
2 K555TM2 74LS74 D15,D25 Dual flipflop
1 K561KP1 4052 D22 8-to-2 line analog multiplexer
2 K561KT3 4066 D23,D24 Quad analog switches
R1,R2,R6 - 100ом // согласовывание импеданса
R3,С1 - 1K, 500om, 1nf // 500us
R4,C2 - 500om, 33pF // 30ns
R5 - 2.2K // pullup
R7 - 4.7K // LED
R8-R23 - 500 om - 1K // желательно потестировать. 1К уменьшит потребление, 500 ом выше быстродействие DAC.
На старой фото вижу эти резисторы не запаяны, с этого стоит начинать.
С3 - 220uF
R24 - 4.7K // LED
// Фильтр половины питания (можт быть заменен на MC1403)
R38 - 220ом // для диода 1N5222B
VD3 - 2.5V // Половина питания к примеру 1N5222B (читайте ниже О режиме по постоянному току ФНЧ)
C7 - 10uF или 22uF
// Фильтр питания ФНЧ
VT2 - КТ503А // или аналог
C9 - 50uF
R39 - 10K или 22K
// Фильтр питания
C8 - 220uF
// Фильтр питания DAC
VT1 - КТ503А // или аналог
C4 - 50uF
C5 - 220uF
R31 - 10K или 22K
// DAC громкости
R25-R30 - 1k ... 32k // набор резисторов 1 к двум. При этом R25 самый большой а R30 самый маленький
R32 - 10K // требуется тестирование. Определяет максимальную амплитуду выходного сигнала.
Увеличивайте для того чтобы убрать искажения в ФНЧ. (читайте ниже О режиме по постоянному току ФНЧ)
// DAC сэмпла
R33 - 387.5 ом // (читайте ниже О режиме по постоянному току ФНЧ)
R34 - 387.5 ом // ближайший к этому номиналу. точность не существена
R35 - 200ohm
R36 - 3K
R37 - 3.1K
C6 - 0.01uF
// ФНЧ
R42,R43 // скорее всего не нужны
R40,R41,R44,R45,R60,R61 - 10K
R48,R49,R62,R63 - 2.2K
R46,R47 - 100ohm
С10,С11 - 470pF
С12,C13 - 1.5nF // по фото видно что на плате стоит 1nF но 1.5 будет лучше.
C14,C15 - 470pF
C16,C17 - 470pF
C18,C19 - 10..100uF // 10uF, 22uF, 50uF или 100uF ставте по габаритам
Непонятно какого номинала резисторы R50, R51, R52, R53. В то же время, в списке присутствуют резисторы R60, R61, R62, R63, отсутствующие на схеме и плате. Я предполагаю, что в списке опечатка и, на самом деле, это резисторы R50, R51, R52, R53. Но хочу, всё же, уточнить, мало ли.
Вот такая штука получилась:
https://i.ibb.co/Tw2t07r/my-ms.jpg (https://ibb.co/Tw2t07r)
Sherlock
16.07.2022, 20:58
В симуляции так. А в реальности может и не совсем
Во время проектирования платы. к сожалению, не было качественных, быстрых, цифронаналоговых преобразователей совместимых с TTL. Поэтому был использован ортодоксалный MECL DAC 1118PA1 (аналог MC10318) Высокоскоростной, высокоточный 8битный ЦАП со скоростью до 25МГц. Устройства серии MECL должны питаться отрицательным напряжением -5 вольт. В MagicSound этот DAC тупо стоит "перевернутым". Его Vss подключент к +5В а его Vcc к "земле". Если желающие захотят спроектировать свою плату (MS) То первое о чем стоит подумать, это заменить этот ЦАП на другой. Во вторую очередь, всю мелочь можно засунуть в небольшую ПЛМ (ПЛИС или что угодно).
Поскольку пост чудесным образом исказился до неузнаваемости, попробую восполнить его.
На досуге листал старый справочник по отечественным логическим микросхемам и наткнулся на преобразователь уровней ТТЛ-ЭСЛ - К5000ПУ124. А так как в MSOUND применялся ЦАП с ЭСЛ структурой - 1118ПА1, то возник вопрос. Так вот насколько возможно было бы использовать преобразователь уровня К500ПУ124, их насколько понял нужно 2 штуки, чтобы не использовать "перевернутое" включение ЦАП.
Sherlock
21.08.2022, 09:52
Странно, в посте лишь часть сообщения, но в email полная версия.
>>>> 77703 <<<<
Это лишь мое предположение, если бы согласователи были доступны мы бы их не использовали. Так как между двух возможностей:
1. Увеличить число комплнентов и гарантировать работоспособность
2. Уменьшить число компонентов и рискнуть работоспособностью
Мы чаще выбирали вариант 2.
Ну а если бы, вдруг, выбрали вариант 1 тогда:
1 На плате было бы больше микросхем (+ согласователи уровней)
2 На плате стояль бы DC/DC преобразователь напряжения +5 -> -5
3 Фильтр/усилитель был бы изменен в один из двух вариантов:
- Двуполярный вероятно на операционном усилителе
- Однополярный, но на -5 вольт (тоесть перевернутый от текущей схемы)
Странно, в посте лишь часть сообщения, но в email полная версия.
Да, что то опять случилось, потерялось часть контента.
2. Уменьшить число компонентов и рискнуть работоспособностью
Это понятно, но чисто теоретически могли в то время 500ПУ124 достать?
Ведь 1118ПА1 вам удалось достать, они в широкой массе не такие распространенные как к примеру 572ПА1
Ну а если бы, вдруг, выбрали вариант 1 тогда:
Этот вариант скорее уже нынешнее, на любителя. Так сказать чисто для эксперимента, как оно было бы.
Sherlock
21.08.2022, 15:42
Это понятно, но чисто теоретически могли в то время 500ПУ124 достать?
Ведь 1118ПА1 вам удалось достать, они в широкой массе не такие распространенные как к примеру 572ПА1
Пологаю, что могли бы.
Этот вариант скорее уже нынешнее, на любителя. Так сказать чисто для эксперимента, как оно было бы.
Понятно. Если предположить что еслибы мы выбрали этот путь, то высока верояность того что плата получалабы не +5В, а +12В. Дело втом, что когда речь идет о низких токах, и чистой цифре то требования к пистнию минимальны. Но тут сочетание и высокого потребления самим ЦАП и то что это звуковая система.
P.S. А может и нет. Точно удтверждать трудно, так как давно это было.
Заказывал по твоей ссылке. Платы зелёные, с белым шёлком. Был бы более интересен обмен на микросхемы для девайса - таймеры, контроллер DMA...
Прошу прощения, а платки чистые остались? С большим удовольствием приобрел бы одну для себя. Сори за оффтоп.
Прошу прощения, а платки чистые остались? С большим удовольствием приобрел бы одну для себя. Сори за оффтоп.
Ответил в личку.
https://disk.yandex.ru/i/eX97dG-ebjk9zA
Первый запуск MagicSound. Прошу извинить за качество видео, очень неудобно было снимать. Но проблемы хорошо видны - треск при воспроизведении и зависание компьютера. Пока что предполагаю, что проблема в управлении памятью, возможно, это связано с тем, что, после сборки компьютера, я не делал никаких доработок. Буду разбираться, а, пока что - вот так...
Буду благодарен за помощь. Возможно, кто-то уже сталкивался с подобным.
По ссылке файла нет.
Исправил
Попробуйте питанием поиграться +-. Алеста очень капризная по питанию, а тут вы еще пару десятков корпусов добавляете плюс УЗЧ. Из-за этого еще может все валиться.
С питанием всё нормально, 5,05...5,1В, используется хороший блок питания и линии питания на плате продублированы. Думаю, всё же, нужно дорабатывать плату самой Алесты, но всё никак не сяду изучить и составить список доработок. Нужно перечитывать тему.
Sherlock
06.10.2022, 12:08
Попробуйте питанием поиграться +-. Алеста очень капризная по питанию, а тут вы еще пару десятков корпусов добавляете плюс УЗЧ. Из-за этого еще может все валиться.
Оригинальная плата Алексты была разведена очень и очень плохо, но капризной к питанию она не была. Тем не менее те платы которые делают сейчас (я не могу утверждать за все) из тех которые мне попадались -- разводка в целом повторяет все ошибки оригиналоной платы.
Вы правы такой креш говорит о серьезных проблемах вероятней всего с памятью. Мне трудно давать советы дистанционно, но позволю себе некоторые рекомендации.
1. С платой. Прозвоните все пины коннектора между всеми остальными чтобы убедиться в отсутсвии КЗ
2. Без платы. Убедитесь и зафиксируйте в картинках форму основных сигналов CLK, RD,WR,RAS,CAS, A[0..3] а также амплитуду звона на питании непосредственно ОЗУ
3. С платой. Повторите эксперимент. Это не просто так как система крешится. Нужно выйти из плеера до креша успев снят диаграмму с сигнала. Можно найти короткий файл
Задача найти проблему -- которая может выглядить
1. Увеличеный звон на питании
2. Увеличеный звон в сигнале
3. Средний уровень в сигнале
- - - Добавлено - - -
P.S. Есть кое что происходящее в звуковой плате достаточно редко. Если я не ошибаюс NMI генерируется после окончания DMA на больших файлах (более 16 КБ).
Это я к тому что обратите внимание на прерывание с платы, что на нем до, а что в момент креша -- не в нем ли трабла...
Но уверености у меня нет.
Оригинальная плата Алексты была разведена очень и очень плохо, но капризной к питанию она не была. Тем не менее те платы которые делают сейчас (я не могу утверждать за все) из тех которые мне попадались -- разводка в целом повторяет все ошибки оригиналоной платы.
Давайте подойдем к этому вопросу с точки зрения практики... Три собранных и запущенных платы, причем две покупалось у Павла, одна у MV1971 (с покрытием иммерсионным золотом), и поведение фактически одинаковое - при подключении непосредственно к разъему питания глюки отсутствуют в пределах от 5В до 5.2В на входе. Перекидываю питание на другой конец платы - уже другая картина, работоспособность при 4.8-5.0В на входе. И, самое интересное, что при превышении определенного предела по питанию опять начинаются вылеты в амстрад-бейсик, артефакты на экране и зависон. Это, как говорится, на личном опыте. Комплекты микросхем набирались из разных источников, т.к. платы собирались в разное время. Я всего-лишь предложил человеку поиграться питанием в пределах +-0.2-0.3В, а он наверное меня не правильно понял. Прокидывание дополнительных проводников по питанию здесь не помогает (проверялось). Блоки питания тоже разные подключались, причем имеется качественный НЕимпульсный ЛБП, специально для исключения шумов. Вариант невезения с комплектующими фактически невозможен. Я не претендую на 100% верности моих выводов, но лично для меня их вполне достаточно. Как-то так...
P.S. Извините за оффтоп.
https://pic.maxiol.com/thumbs2/1665168688.1438839795.img20221007175632.jpg (https://pic.maxiol.com/?v=1665168688.1438839795.img20221007175632.jpg&dp=2)
P.S.2 Это мой зверек, пока не тестировал.
Sherlock
08.10.2022, 12:10
P.S. Извините за оффтоп.
На мой взгляд это не оффтоп.
Когда организм болен, то его болезнь может проявляться порой в самых странных симптомах. Такая сильная зависимость от напряжения питания это симптом.
Допустим, на плате алесты некоторые сигналы не согласованы (полагаю проблема в этом). Это могут быть сигналы адресов, данных и управления процессора. Это может быть даже всего один сигнал из всех перечисленных. Тогда в сигнале появляется "звон" -- помеха, которая происходит от того, что сигнал, достигнув потребителя не теряет энергию, а отражается и двигается в обратном направлении. Эта помеха может быть небольшой -- несущественной. А может быть даже очень существенной настолько, что плата в принципе не запускается.
А бывает и такое -- эта помеха не существенна, но лишь на определенном уровне питания. А питание на двухсторонних платах большого размера не одинаково в разных местах.
Лечение такой проблемы не в напряжении питания. А в поиске и устранении проблемы сигналов. Обычно такой сигнал балансируют PullUp или PullDown резистором, а иногда небольшой емкостью.
Для примера, обратите внимание на картинку ниже. На ней видно, что резисторы согласования линий адреса стоят не там где нужно.
Они должны быть расположены очень близко в пину дешифратора, но стоят -- фиг знает где. Аналогично было и на платах Патисоника. И таких проблем я полагаю намного больше.
Одно хорошо, что не все они критические. Как правило, критическими являются один или несколько сигналов, сбалансировав которые уйдут все симптомы.
77914
P.S. Алесты в Патисонике использовали трансформаторный блок питания и стабилизатор на ЕН-ке и работали сутками без сбоев. Но это не означает, что не требовалась пусконаладка и навешивание балансирующей цепи.
Лечение такой проблемы не в напряжении питания. А в поиске и устранении проблемы сигналов. Обычно такой сигнал балансируют PullUp или PullDown резистором, а иногда небольшой емкостью.
Полностью согласен, но на тот момент задачи вылавливания блох как таковой не стояло. Получилось частично справиться с проблемой таким способом, потому и вопрос этот сильно не поднимался. Я с самого начала предположил, что где-то идет несогласование по логическим уровням. Возможно кому-то более упертому и удастся найти причину, я лишь обозначил следствие и подыскал "народное" лечение.
Запустил таки платку, но до идеала пока что далековато. Поет, но поет как-то ужасно. Очень похоже на перегрузку по каналам. Причем высокочастотные инструменты как-то еще пролазят, а вот низкочастотные просто в шум выливаются. Случайно коснулся рукой вывода 10 на таймере D4, и один канал нормализовался. Стали слышны ударники. Т.е. внес какую-то емкость рукой. Убрал руку - опять шум. На канале состряпал видео на скорую руку. Прилагаю.
https://www.youtube.com/watch?v=N_GKRm0-6IM
Запустил таки платку, но до идеала пока что далековато. Поет, но поет как-то ужасно. Очень похоже на перегрузку по каналам. Причем высокочастотные инструменты как-то еще пролазят, а вот низкочастотные просто в шум выливаются. Случайно коснулся рукой вывода 10 на таймере D4, и один канал нормализовался. Стали слышны ударники. Т.е. внес какую-то емкость рукой. Убрал руку - опять шум.
На плате MagicSound никаких доработок не делалось, только провода питания аналоговых цепей? На плате компьютера какие-нибудь доработки производились?
Не, ничего не делал. Все штатно. Я как-то попробовал доработки на одной из плат сделать - никакой разницы не увидел, поснимал все нафиг. Надо будет с питанием аналоговой части поиграться, не зря же разделили... Или попробовать дросселечки фильтрующие в разрыв поставить, чтобы не городить огород с питанием.
Sherlock
13.10.2022, 17:04
Запустил таки платку, но до идеала пока что далековато. Поет, но поет как-то ужасно. Очень похоже на перегрузку по каналам.
Поздравляю! Это успех. Я серьезно - стабильная работа с искажениями это 99% результат. Осталось немного.
Изменение звука от прикосновения это похоже на наличие пина в обрыве - антенна.
- - - Добавлено - - -
P.S. Другие рекомендации.
- Проверьте режим фильтра по постоянному току.
- Сравните выход цап с выходом фильтра (не произходят ли перегрузки или сбои режима по постоянному току)
- Поищите сигналы где критически меняется форма от прикосновения к таймеру.
Я думаю что проблема уже после ЦАПа. Сигнал на выходе очень слабый, активные колонки на полную громкость выведены.
В общем оно заработало... :) R31,39 1,5-2kOm, вместо 1810ВИ54 (8254,82С54) поставил КР580ВИ53. Сейчас все чисто и без искажений.
https://www.youtube.com/watch?v=3BYuVtHEu4E
З.Ы. Но жрёт все это удовольствие аж 3А.
Sherlock
24.10.2022, 16:43
З.Ы. Но жрёт все это удовольствие аж 3А.
Звуковая плата или все вместе с Алестой?
Звуковая плата или все вместе с Алестой?
Все вместе конечно же... :) музыкалочка миллиампер 600-700 кушает.
Sherlock
25.10.2022, 16:06
Все вместе конечно же... :) музыкалочка миллиампер 600-700 кушает.
Понятно. Но 3 Ампера для всей системы это очень мало. :v2_dizzy_champagne: Примерно 30ма на один чип. Всего 15W.
Понятно. Но 3 Ампера для всей системы это очень мало. :v2_dizzy_champagne: Примерно 30ма на один чип. Всего 15W.
У меня этот комп немало крови попил. Вылизывать довольно тяжело. Сейчас довел до стабильно-рабочего состояния при любом питании. В режиме амстрада настраивал по демке phortem (int). При сопротивлении R5 2,7KOm С3 получился 10нФ. В общем, по сравнению с самим компьютером, magic sound завелся фактически сразу. :)
Sherlock
28.10.2022, 11:42
https://pic.maxiol.com/thumbs2/1665168688.1438839795.img20221007175632.jpg (https://pic.maxiol.com/?v=1665168688.1438839795.img20221007175632.jpg&dp=2)
P.S.2 Это мой зверек, пока не тестировал.
Глядя на эту великолепную сборку. Коллеги, помогите создать список компонентов Алесты и Magic Sound -- которые трудно купить и которые желательно заменить.
Коллеги, помогите создать список компонентов Алесты и Magic Sound -- которые трудно купить и которые желательно заменить.
Думаю, это весьма субъективно и сильно зависит от финансовых возможностей. Если их не учитывать, все компоненты для Alesta и Magic Sound реально купить. Есть организации, торгующие компонентами (например, https://gkel.ru/, https://www.chipdip.ru/), есть торговые площадки (например, https://meshok.net/), есть форумы-барахолки (https://zx-pk.com/). С платами тоже нет проблем - можно купить, можно заказать.
Даже с клавиатурой нет проблем, если нельзя купить МС7007 - можно сделать адаптер клавиатуры PS/2, а можно сделать клавиатуру самому. Например, так:
https://i.ibb.co/N3NwsBD/MS7007-new.jpg (https://ibb.co/TT0zk3j)
Самой клавиатуры ещё нет, плата только выехала из Китая. Но - было бы желание :)
Sherlock
28.10.2022, 17:58
Но - было бы желание :)
При желании можно собрать только на транзисторах. И всеже, особенно зарубежная публика испытывает проблеммы со сборкой. Хотелось бы сформулировать лист того и на что заменить чтобы люди не мучались.
При желании можно собрать только на транзисторах. И всеже, особенно зарубежная публика испытывает проблеммы со сборкой. Хотелось бы сформулировать лист того и на что заменить чтобы люди не мучались.
Речь про аналоги микросхем и транзисторов?
Sherlock
28.10.2022, 18:26
Речь про аналоги микросхем и транзисторов?
Нет. Если скажем переразвести Алесту, то какие компоненты стоит заменить
Нет. Если скажем переразвести Алесту, то какие компоненты стоит заменить
Если переразводить, то, думаю, нужно и схему переработать. Скажем, упрятать часть логики в CPLD, заменить память на статическую. При этом уменьшится и размер платы и потребляемый ток и отлаживать/модифицировать будет легче. Хотя, наверное, большие микросхемы, такие как процессор, контроллер дисковода, контроллер дисплея, придётся оставить. Но этим должен заниматься человек, хорошо знающий архитектуру компьютера и имеющий опыт доведения этого компьютера до нормального функционирования. Или кто-то должен серьёзно заняться изучением компьютера. У меня, ещё давно, когда только подумал о сборке, была мысль сделать реплику с применением FPGA, но отсутствие необходимых знаний остановило.
Хотелось бы сформулировать лист того и на что заменить чтобы люди не мучались.
Если заменять узлы, то я думаю можно было бы ЦАП поменять либо на отечественный 572ПА1, либо на импортные и вместо транзисторов сделать предварительный усилитель на микросхеме (ОУ).
ЦАП поменять либо на отечественный 572ПА1
Не медленноват ли этот ЦАП для MagicSound?
Если заменять узлы, то я думаю можно было бы ЦАП поменять либо на отечественный 572ПА1, либо на импортные и вместо транзисторов сделать предварительный усилитель на микросхеме (ОУ).
Вопрос применяемых компонентов. Можно, например, использовать шустрый последовательный ЦАП типа 1543 или подобный, подключив через преобразователь интерфейса. А если 572ПА1, то, если я правильно понял, его пробовали, но быстродействия не хватило. Поэтому был выбор - либо 4 ЦАПа обычных, либо один, но шустрый. Моё скромное мнение - если делать модифицированную реплику, то, в первую очередь делать упор на надёжность, а уже во вторую - на доставаемость компонентов. Компьютер, в первую очередь, должен хорошо работать, а насчёт доступности компонентов - всем не угодишь. Про MSX тоже многие говорят - мол, негде достать видеопроцессор. Но, тем не менее, достают, и ещё как!
- - - Добавлено - - -
Не медленноват ли этот ЦАП для MagicSound?
О, я, как раз, писал об этом. Насколько я помню, как раз об этом рассказывали.
Не медленноват ли этот ЦАП для MagicSound?
Я обозначил как бы свое видение, а 572ПА1 просто попал на ум первый попавший наш ЦАП. Под ним можно подразумевать любой другой.
С другой стороны в General Sound на Спектруме от вполне себе поет.
в General Sound на Спектруме от вполне себе поет
В General Sound нет переключения каналов на один ЦАП, что в минимум 4 раза повышает требования к быстродействию в MS по сравнению с GS.
Sherlock
28.10.2022, 20:09
Скажем, упрятать часть логики в CPLD, заменить память на статическую.
Оозначте субьективно - Бренд, семейство программируемой логики наиболее дружественную к DIY комьюнити в настоязщий момент.
- - - Добавлено - - -
Я обозначил как бы свое видение, а 572ПА1 просто попал на ум первый попавший наш ЦАП. Под ним можно подразумевать любой другой..
Время установления 5мкс это гарантировано 100 Кгц. Почти хватает на MS
Оозначте субьективно - Бренд, семейство программируемой логики наиболее дружественную к DIY комьюнити в настоязщий момент.
Я работаю только с Altera (в настоящее время куплены Intel). В плане дружественности - субъективно - MAX, MAXII. Например, EPM7128SLC84 можно назвать, не побоюсь сказать, "народным CPLD" :) Но я сужу по своим наблюдениям в очень узком диапазоне. Может, Mick сможет дать больше информации - он работает с разными девайсами, в том числе и на ПЛИС. Правда, у нас сейчас цены на ПЛИС сильно поднялись.
Sherlock
28.10.2022, 20:24
Но я сужу по своим наблюдениям в очень узком диапазоне.
Спокойствие.. Мне интересно любое мнение. Поэтому спасибо. :)
Коллеги если есть мысли, идеи соображения пишите без сомнений.
Может, Mick сможет дать больше информации - он работает с разными девайсами, в том числе и на ПЛИС. Правда, у нас сейчас цены на ПЛИС сильно поднялись.
У нас как то прижились ПЛИС и CPLD бывшей Altera. Что выбрать, я считаю что важным фактором должно быть доставаемость микросхемы в китайском радиомагазине - алиэкспресс.
К примеру EPM3128ATC100 сейчас стоят без доставки от 130 рублей. Понятно что это б.у. но скажем так кто тут новье покупает :)
- - - Добавлено - - -
В General Sound нет переключения каналов на один ЦАП, что в минимум 4 раза повышает требования к быстродействию в MS по сравнению с GS.
Тогда можно также разделить на 4 канала и тогда вообще TLC7226 - 4 ЦАП в одном канале.
С другой стороны, если применить CPLD, то можно и последовательные ЦАПы использовать
Если речь идёт не конкретно о Magic Sound, а о всём компьютере, может, есть смысл перебраться с этим в тему Алесты? А то как-то оффтопливо получается.
Кстати, мне пришла в голову мысль, может, и не совсем правильная. "Алеста" состоит из двух компьютеров - сама "Алеста" и "Амстрад". А если их разделить? Потеряет ли "Алеста", как таковая, ценность без амстрадовского режима? В этом случае схемотехника ощутимо упростится. Не сочтите за кощунство :)
- - - Добавлено - - -
Ещё подумал, есть такая классная, хоть и старая, штуковина - альтеровский FPGA FLEX6000, например - пятивольтовый EPF6016 (кажется, так). Там больше 1000 LEs, не требуется согласование уровней. Те. и влезет много и подключать просто. Конечно, опять-таки, встаёт вопрос доставаемости, но на этих Флексах, насколько помню, делают один из популярных клонов Спектрума ("Спринтер", кажется) - значит, доставаемо.
- - - Добавлено - - -
С другой стороны, если применить CPLD, то можно и последовательные ЦАПы использовать
А при такой разрядности можно и регулировку громкости проще реализовать :)
- - - Добавлено - - -
Разгребу текущие дела с MSX и попробую покрутить "Алесту" в плане схемотехники. Хорошо бы ещё добавить возможность подключения к системной шине других девайсов - вдруг будет интерес к разработке. Например, добавить/заменить накопитель на более удобный - CF/SD.
насколько помню, делают один из популярных клонов Спектрума ("Спринтер", кажется) - значит, доставаемо.
Там на ACEXсах делают EP1K50
Кстати еще вариант, совместить Алесту и MS на одной плате, при условии общего сокращения корпусов
Sherlock
28.10.2022, 21:12
Там на ACEXсах делают EP1K50
Кстати еще вариант, совместить Алесту и MS на одной плате, при условии общего сокращения корпусов
Я тоже об этом думаю
- - - Добавлено - - -
Если речь идёт не конкретно о Magic Sound, а о всём компьютере, может, есть смысл перебраться с этим в тему Алесты? А то как-то оффтопливо получается.
Ну хорошо дайвайте переберемся в ту ветку форума
Я тоже об этом думаю
Надо же... Я тоже...
Написал: https://zx-pk.ru/threads/20769-kompyuter-quot-aleste-520ex-quot.html?p=1165898&viewfull=1#post1165898
Повозился ещё с MagicSound. Компьютер по-прежнему сбоит при воспроизведении. Кое-что заметил, может, симптомы знакомые и кто-нибудь что-нибудь дельное подскажет.
Ещё при первом включении я заметил, что звук сопровождается треском (от лёгкого потрескивания до треска, заглушающего звук). Тогда я это списал на ненастроенный аудиотракт, но сейчас обратил внимание, что треск присутствует и при небольшой громкости, а, бывает, что воспроизведение идёт чисто. Теперь уже не думаю, что проблема связана с аудиотрактом - если уж он не работает, то не работает всегда. Что-то нехорошее происходит с данными, которые DMA перекачивает при воспроизведении.
Кому не лень послушать, вот два файла, для уменьшения размера сжал:
AlexF_bad.mp3 - https://disk.yandex.ru/d/PqGvTLVxZiqUdA - без комментариев :)
swp64.mp3 - https://disk.yandex.ru/d/8F2yuvIJirYF9Q - качающийся синус, взял в одном из сообщений на форуме.
Треск слышно очень хорошо.
Если посмотреть в аудиоредакторе - вот несжатые файлы. Из обработки - только нормализация.
AlexF_bad.wav - https://disk.yandex.ru/d/JZarLRPxNj72dQ
swp64.wav - https://disk.yandex.ru/d/hVzQEvAdd91tqw
В аудиоредкторе, особенно при просмотре качающегося синуса, очень хорошо видно, что воспроизводится он чисто, но, периодически, что-то происходит с данными и звук портится.
Пробовал при подключённой MS запускать игры Vampire Killer и Kings Valley - работают нормально, правда, при нажатии "пробел" для запуска игра реагирует не сразу, снова появляется заставка. Чтобы игра запустилась, приходится "пробел" нажать быстро несколько раз подряд. Это с обоими играми.
И ещё заметил - когда воспроизводится трекерный файл, иногда начинает меняться скорость воспроизведения - будто кто-то в магнитофоне ленту рукой подтормаживает. На экране плеера летящие слева направо звёзды не всегда стираются и остаются на картинке в виде артефактов.
На всякий случай заменил память - ничего не изменилось.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot