Не проще ли DMA Ultrasound приспособить? Одна ВТ37 справится с проигрыванием семплов лучше, чем 4 ВМ80.
Не проще ли DMA Ultrasound приспособить? Одна ВТ37 справится с проигрыванием семплов лучше, чем 4 ВМ80.
В ЕС1841 тактовая процессора 4,77МГц (не уверен, но порядок такой),
что всё-таки ниже, чем предполагается в нашем случае. Надо справочные данные поднимать по микросхемам памяти.
Вообще вариант с использованием контроллера прямого доступа скорее всего самый оптимальный и лучший с точки зрения качества звука. Можно даже посмотреть в сторону КР580ВТ57. Идея остаётся та же - 4 ЦАП'а, контроллер ПДП, тактируемый от двух ВИ53 сам будет считывать из памяти и выводить в ЦАП'ы. Сразу исчезают проблемы с быстродействием. Вопрос лишь в пропускной способности ВТ57 (суммарная пропускная способность должна быть хотя бы 80 килобайт в секунду).
Решить вопрос с адресацией 512 килобайт памяти и её регенерацией.
И процессор на звуковой карте тогда можно оставить один.
Музей цифровой археологии: http://www.asvcorp.ru/darch/
Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/
почитал тут теории о 4-х процессорах.
вот интересно, а один основной проц и комп в минималке уже работают?
может я чего-то пропустил?
.
Попробую и я идейку подкинуть.
Может тогда сделать 4-ре банка ОЗУ по 64К, на каждый банк по контроллеру ПДП+ЦАП, процессор по мере надобности "подключается" к окну в нужном банке памяти и на шину для программирования ПДП.
Связка банк памяти + ПДП + ЦАП работают автономно, сам процессор подключается только когда нужно разместить данные в память или задать режим работы ПДП.
Между 4-мя чемхотите, при требуемой частоте выборки, доступ к памяти прекрасно можно разрулить синхронно по фазам. Ф1 -- канал 1, Ф2 -- канал 2, ... Фх - процессор, Фу - регенерация. Общая память на всех и не надо городить никаких магистралей и автобанов.
Не проще сложить 4 8-битных канала в цифре и скормить получившиеся 12 бит одному ЦАПу, чем ставить 4 здоровенных ЦАПа? Честно не знаю ответа на этот вопрос, потому что страшно даже подумать, как будет выглядеть 8+8+8+8=24 на 555 серии. Может быть можно применить схему последовательного сложения со сдвиговыми регистрами.
Не знаю, с какой стороны начать.
http://ru.wikipedia.org/wiki/Импульс...дуляция
http://ru.wikipedia.org/wiki/MOD
http://ru.wikipedia.org/wiki/Direct_Digital_Synthesizer
http://synthmusic.ru/articles/synthesistypes/wavetable
Вообще с русскоязычными источниками на эту тему мрачновато. Все забито какой-то копипастой начального уровня.
Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Семплы надо воспроизводить с разной скоростью - чтобы получать разные ноты. ВИ53 можно программировать на генерацию импульсов разной частоты. Эти импульсы предполагается использовать как сигналы DRQ (запрос данных) для контроллера ПДП. По приходу очередного импульса контроллер ПДП будет читать очередной байт из памяти и выводить в ЦАП. В зависимости от того, на какую частоту запрограммирован ВИ53 - с такой скоростью будет воспроизводиться семпл. В контроллере ПДП четыре канала, а в ВИ53 - только три таймера, поэтому надо две ВИ53.
Одного контроллера ПДП вполне должно хватить на 4 канала. И общее для всех каналов ОЗУ позволяет более эффективно использовать память - можно, к примеру, одним инструментом играть на нескольких каналах и при этом в памяти будет только одна его копия.
Вот что ещё подумалось по поводу варианта с ПДП... раз у нас теперь нет проблемы с частотой дискретизации, то качество звука теперь упирается только в восьмибитность. Предлагаю подумать над тем, как сделать 16-битные каналы.
Общая концепция такова - сделать организацию ОЗУ 16-разрядной.
Когда контроллер ПДП выставляет адрес и читает данные - отдавать ему младшие 8 бит, а старшие 8 бит защёлкивать в отдельном регистре. Когда ПДП выдаёт данные в порт - его 8 бит выводить на младшие разряды ЦАП, а старшие разряды брать из того самого регистра.
Процессор должен видеть всё пространство ОЗУ как 8-разрядное - это несложно сделать.
При этом получаем совершенно другой уровень качества звучания.
...мне уже интересно - а эти контроллеры ПДП как-то можно каскадировать? А то может получится упихнуть 4 контроллера ПДП и 16 каналов сделать? Тогда и MIDI можно будет играть...
Музыкальные файлы от трекеров (MOD, STM, S3M, XM и др.) содержат в себе семплы. Также семплы можно выдирать из документированных форматов (Sound Font, к примеру).
Или просто звуковой картой оцифровать реальный инструмент/голос/какой-нибудь звук и из полученной WAV'ки сделать семпл. Суть семпла - та же WAV'ка, только с дополнительными данными. Например - какая нота в семпле сыграна, длительность "атаки" (начало звучания), длительность "удержания" (та часть семпла, которая воспроизводится по-кругу, пока звучит нота) и длительность "затухания" (то, что играется, когда нота закончилась). Надо только аккуратно подбирать участок удержания, чтобы не было щелчка при переходе на начало.
---------- Post added at 23:27 ---------- Previous post was at 23:18 ----------
Не всё так просто. Надо ведь каждому каналу ещё задать громкость и баланс стерео. Простым сложением здесь не отделаться. Для четырёх каналов аналоговое микширование проще.
Музей цифровой археологии: http://www.asvcorp.ru/darch/
Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/
Viktor2312, Виктор, если Вы следуете шагами советской электроники, То пора уже посмотреть на серию 1810 (ВМ86 и ВТ37). Все-таки там не такие сильные отличия от 580 серии, чтобы их так бояться.
Зато и частоты выше, и 16 бит.
4. Один контроллер ПДП ВТ57
5. Два таймера ВИ53
6. Один контроллер прерываний ВН59
7. 512 килобайт памяти (две линейки РУ7)
8. четыре канала по 8 бит (572ПА1)
9. аналоговое микширование (громкость на каждый канал и баланс стерео на каждый канал - не знаю как это делать)
10. Параллельный интерфейс для связи с компьютером
Это всё фиксируем на первую версию устройства.
Музей цифровой археологии: http://www.asvcorp.ru/darch/
Занимаюсь разработкой облачного САПР для электронщиков: https://sapr.asvcorp.ru/
Согласен, громкость канала — это аргумент.
В самом простом случае как-то так:9. аналоговое микширование (громкость на каждый канал и баланс стерео на каждый канал - не знаю как это делать)
Для получения каждого управляющего напряжения — еще один ЦАП на канал. И, если нужен стерео микс, то два. Ничего здоровенного, просто лишняя пара дюжин корпусов =)
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)