PDA

Просмотр полной версии : AVR-AY player



Страницы : [1] 2

Zloy
14.10.2007, 12:57
Долго думал в какую ветку написать (Железо, Софт или Музыка...), но с учетом моего вопроса решил сюда...
Собрал на днях на скорую руку сабжевую связку - микроконтроллер AVR ATmega32 16 MHz + AY-3-8910... :v2_walkm: цель - для начала что-то вроде простого AY-звонка, если покатит может и SD карточку прицеплю. Тупая запись в регистры AY проверена и работает, посему встал вопрос как бы какую мелодию проиграть... Начал искать какой-нибудь простенький формат для реализации на AVR. Может кто порекомендует какой-нибудь документированый простой формат AY музыки? Что-то типа: регистры, задержка... или состояние регистров через фиксированые промежутки времени... Чтобы "привязки" к Z80 не было.

newart
14.10.2007, 16:59
PSG

Vitamin
14.10.2007, 19:45
Смотри хелп к AYEmulator. Там расписаны практически все поддерживаемые форматы с подробностями. Выберешь что удобно.

Zloy
14.10.2007, 19:53
Newart, А где музыку в этом формате можно скачать? В коллекциях AY музыки выкачаных мною из нета нет ни одного psg...

Vitamin
14.10.2007, 20:03
Берешь тот же AYEmul, выбираешь понравившуюся музу и конвертишь ее в VTX/YM6/PSG

elfh
15.10.2007, 00:52
c sd карточкой будет круто! только еще-бы несколько кнопок управления. а сколько эта штука по цене получится?

Zloy
15.10.2007, 08:14
Ну я думаю недорого, в любом случае все затевается ради удовольствия... если интеоесует цена поищи цены на ATmega32 и AY-3-8910... остальное стоит копейки.

skyther
15.10.2007, 09:38
mega32 взята из соображений "что было"? А то кажется и mega8 вполне хватит.

Zloy
15.10.2007, 12:06
Во-первых потому что была...:) Во-вторых из соображений объема памяти, как RAM так и ROM (Пишу на Си CodeVisionAVR)... Может еще че прицеплю... Если будет делаться законченый девайс, то это все учтется. Просто не хотелось упереться в какие-нибудь ограничения со стороны AVR... К слову Mega8 тоже есть, возможно ее и хватило бы... Зато Mega32 и AY-3-8910 рядом смотрятся лучше...;)

psb
15.10.2007, 16:29
я уже давно об этом думаю, но никак не дойду.. надо взять исходники AYEmulator и переписать плееры pt3 и другие на си. вот так было бы лучше всего, а то psg уж больно много весит..

newart
15.10.2007, 16:59
я уже давно об этом думаю, но никак не дойду.. надо взять исходники AYEmulator и переписать плееры pt3 и другие на си. вот так было бы лучше всего, а то psg уж больно много весит..
Что-то вы все велосипед изобретаете, Robus ведь давно собрал, всмысле разработал девайс который и AY эмулирует и pt3 понимает и стоит чуть ли не 10 баксов, а кроме того и Mod/XM играет, вроде как.

psb
15.10.2007, 17:47
Что-то вы все велосипед изобретаете,
может все потому, что делается из того, что есть?;))

Zloy
15.10.2007, 17:59
Что-то вы все велосипед изобретаете, Robus ведь давно собрал, всмысле разработал девайс который и AY эмулирует и pt3 понимает и стоит чуть ли не 10 баксов, а кроме того и Mod/XM играет, вроде как.
Все ради удовольствия... ради процесса, так сказать. Это раз! Еще хочется неэмулированный AY. Это ни в коем случае не из-за качества... просто хочется. Это два!

Добавлено через 1 минуту

я уже давно об этом думаю, но никак не дойду.. надо взять исходники AYEmulator и переписать плееры pt3 и другие на си. вот так было бы лучше всего, а то psg уж больно много весит..
Это был бы лучший вариант, но самый сложный...

newart
15.10.2007, 18:07
Все ради удовольствия... ради процесса, так сказать
Я не железячник, потому мне наверное не понять почему возможность использования девайса сотней людей так же ради удовольствия, не дает мотивацию автору сделать из девайса нечто большее чем копна провадов и недорисованая схема валяющаяся где-то в глубинах интернета.

Zloy
15.10.2007, 18:28
Я изучаю AVR... вот и клепаю на AVR. Плюс ко всему, кто сказал, что все закончится на куче проводов? Это макет. Каким будет девайс (если будет) не знаю сам. Просто не хочется обещать сделать то чего не смогу или на что не хватит времени. Причесать проект всегда можно. А на счет AY... я думаю, что практически все предпочтут реальный AY эмулированному... 5 баксов я уверен тут не сыграют роли...

newart
15.10.2007, 18:57
5 баксов я уверен тут не сыграют роли..
Дело не в баксах, а в габаритах и потребление тока.

Zloy
15.10.2007, 19:59
Если смотреть с точки зрения носимого устройства то да. Но в таком случае проще написать эмулятор AY для смартфона или КПК... разницы не будет никакой. Моей целью является реальный AY, все остальное на втором плане.

newart
15.10.2007, 20:23
Если смотреть с точки зрения носимого устройства то да. Но в таком случае проще написать эмулятор AY для смартфона или КПК... разницы не будет никакой.
Хорошо вам в минске живется.
Что 500$, что 50$ "разницы ни никакой". :)

Знаешь просто за сцену обидно, в мире в год пишутся тысячи модулей всех форматов и платформ, а сделать девайс играющий все это огромное наследие
почему то никто на всей планете не попытался, я имею ввиду законченный девайс , вроде того комадора упрятаного в корпус от джойстика.
По большому счету, достаточно лишь хакнуть один из современных mp3 плееров и написать соответствующий код.

Zloy
15.10.2007, 22:15
Знаешь просто за сцену обидно, в мире в год пишутся тысячи модулей всех форматов и платформ, а сделать девайс играющий все это огромное наследие
Если честно, сам хотел бы такой девайс...

elfh
16.10.2007, 00:02
нет, с реальным ay круто! для всего остального можно и в mp3 перегнать да послушать - какая разница, если все равно эмулятор? а за объемом памяти, который занимает модуль, сейчас гнаться уж точно бессмыссленно.

newart
16.10.2007, 02:42
нет, с реальным ay круто! для всего остального можно и в mp3 перегнать да послушать - какая разница, если все равно эмулятор?
Сколько времени ты будешь конвертить 1000 файлов, а 3000, а сколько они будут весить? И не корректно сравнивать эмуляцию с mp3, тем более если речь о эмуляции на контроллере, там ограничения как на пц звуковухах 44100/48000 нет.
Впрочем я ничего против реального ay не имею.
Посмотрим что получится у человека. :)

Было бы здорово собрать некий девайс с SD, и прикрутить к нему клаву и ЧБ экранчик от мобилы в итоге получив что-то вроде так популярных сегодня GAME BOY.

Zloy
16.10.2007, 18:52
:v2_walkm:
Ура... девайс проиграл первую мелодию... FANTASY2 BY RST7/CB/PSG 9-1995 Коротенькая... т.к. в моем распоряжении пока только 32 Кб програмной памяти микроконтроллера (мелодию перевел в PSG и массив данных без заголовка экспортировал HEX редактором в Си файл... т.е. вида: flash unsigned char rawData[13952] = {0xFF, 0x00, 0x8E, 0x02, 0x38, 0x03 и т.д.
Маленький, но успех. Как дверной звонок можно использовать уже сейчас. :)

newart
16.10.2007, 21:24
А как эта штуковина устроена, можно ли для каждого канала установить свою частоту вывода?

Zloy
17.10.2007, 00:25
Если ты про частоту тона в каналах, то да... обычный AY, управление им не отличается от такового на спктруме.

elfh
17.10.2007, 01:38
поздравляю с первыми результатами!

newart
17.10.2007, 02:14
Если ты про частоту тона в каналах, то да... обычный AY, управление им не отличается от такового на спктруме.
Нет, я про возможность посылки данных в каналы AY не зависимо друг от друга, тоесть с разной частотой.

Zloy
17.10.2007, 10:05
Состояние регистров обновляется один раз за прерывание (приблизительно 50 раз в секунду)... никто не мешает в регистрах одного канала значения менять каждое прерывание, а другого через раз или реже... В принципе можно и частоту прерываний менять (зачем только), но в любом случае она будет для всех каналов одна.

Добавлено через 6 минут
Тут подумал... можно и частоту прерываний для каждого канала организовать независимую... в mega32 3 независыимых таймера с возможностью вызывать прерывания... зачем только это может понадобиться не знаю.

newart
17.10.2007, 18:04
Тут подумал... можно и частоту прерываний для каждого канала организовать независимую... в mega32 3 независыимых таймера с возможностью вызывать прерывания... зачем только это может понадобиться не знаю.
Что бы обоготить звучание, технология 50hz это актуально для реального спектрума (да и то не всегда).
Послушай наример музыку с Atari, там они активно играются с частотой прерываний, вобщем то это практикуется на многих платформах.

Да и на спектруме еще 11 леи назад был сделан редактор с поддержкой 100hz, вот только даже автор похоже не нписал ни одного трека под этот режим. :v2_conf2:

Zloy
17.10.2007, 21:27
Это уже тонкости... у меня сейчас цель sd прицепить... на счет экрана пока сомневаюсь. Правда валяются у меня два экранчика: один графический от Nokia 3410, другой алфавитноцифровой 2 строки по 16 символов... может и до них когда-нибудь очередь дойдет.

AlexBel
18.10.2007, 11:02
Это уже тонкости... у меня сейчас цель sd прицепить... на счет экрана пока сомневаюсь. Правда валяются у меня два экранчика: один графический от Nokia 3410, другой алфавитноцифровой 2 строки по 16 символов... может и до них когда-нибудь очередь дойдет.

Если нужно описание под SD и файловую систему - стучи в асю 320365827 или alex(собака)tenroom.ru
Для эмулятора дисковода сам в свое время искал эту инфу, могу поделиться.

psb
18.10.2007, 16:35
По большому счету, достаточно лишь хакнуть один из современных mp3 плееров и написать соответствующий код.
это тема как раз для $CCH7;) но я думаю, что если бы можно было сделать в рамках мп3 плеера плеер модулей, нормальный, полноценный, то давно бы сделали. всяко есть чисто физические трудности, все же плееры заточены под потоковое аудио..

savelij
18.10.2007, 17:09
Если нужно описание под SD и файловую систему - стучи в асю 320365827 или alex(собака)tenroom.ru
Для эмулятора дисковода сам в свое время искал эту инфу, могу поделиться.

А мне описание про SD не обломится. Ничего не могу найти или неправильно ищу. Плиз: savelij(гавс)kaluga.ru

Zloy
18.10.2007, 18:03
модулей, нормальный, полноценный, то давно бы сделали. всяко есть чисто физические трудности, все же плееры заточены под потоковое аудио..
Плюс ко всему декодеры стоят хардовые, а не программные...

Добавлено через 7 минут

Если нужно описание под SD и файловую систему - стучи в асю 320365827 или alex(собака)tenroom.ru
Для эмулятора дисковода сам в свое время искал эту инфу, могу поделиться.
Если не сложно, вышли плиз на мыло... sergby(@)tut.by

skyther
18.10.2007, 18:42
Вот по MMC/SD:
homepage.ntlworld.com/seanellis/mmcserial.htm
www.nedopc.org/forum/viewtopic.php?t=8723

По ломке плеера:
www.wikiznanie.ru/ru-wz/index.php/RoverMedia_Aria_M1_FAQ
home.tula.net/nickit/rover.htm
Средства разработки есть, я например тетрис написал ;)

AlexBel
18.10.2007, 21:47
Плюс ко всему декодеры стоят хардовые, а не программные...

Добавлено через 7 минут

Если не сложно, вышли плиз на мыло... sergby(@)tut.by

Высылать на мыло не буду, выкладываю сюда:

http://tenroom.ru/pub/SD.rar - 5mb. В этом архиве информация по работе с SD-картами (и не только), библиотеки для файловых систем и SD/MMC/CF под PIC и AVR (библиотеку для AVR мне прислал ILoveSpeccy, я ее не пробовал, поскольку пишу под PIC), описания файловых систем. В архиве есть файл Флэш-карты.gso, который можно открыть программой http://tenroom.ru/pub/GSN3.0.exe (5mb). Этот файл я когда-то сделал для себя, а программу GSN3.0.exe весьма рекомендую всем - очень удобная супер-записная-книжка.

http://tenroom.ru/pub/Proteus71SP2.rar - мощный симулятор электронных схем, имеет в своем составе модель MMC-карты. Собственно, я учился работать с картой именно в протеусе, а уже потом перенес на реальную схему. Кстати, все сразу заработало и в реале, после протеуса не пришлось ничего переделывать. Объем - 43mb.
В архиве SD.rar информации больше, чем нужно для того, чтобы полноценно работать с SD-картой...

newart
02.11.2007, 13:36
Ну как успехи?

Zloy
02.11.2007, 22:07
Ну играет короткие мелодички... до флешки руки пока не дошли.:rolleyes:

wisedk
06.01.2008, 17:54
супер девайс! выложи схемы и прошивки плиз

Zloy
06.01.2008, 20:24
Схемы нет т.к. подключение простецкое... шина данных 8 бит на любой порт AVR и пару бит любого порта для управления AY (см. даташит)... Будет время нарисую...
Прошивка и исходники в архиве.

wisedk
06.01.2008, 20:27
спасибо!

freddy
21.01.2009, 00:56
Кто нибудь довел плеер до готовой конструкции или так все и заглохло?

Zloy
21.01.2009, 19:16
Заглохло...

freddy
22.01.2009, 11:58
Что же... Видимо придется доводить мне ;)
Давно хотел ходить по улице и слушать любимый AY.
Неужели удобного мобильного аппаратного плеера AY еще никто не сделал?

newart
22.01.2009, 14:11
Неужели удобного мобильного аппаратного плеера AY еще никто не сделал?
Нет!
Сделай плиз!!

Добавлено через 3 минуты
Хотелось бы:

экранчик любой, и usb либо sd карту.

psb
23.01.2009, 09:47
Неужели удобного мобильного аппаратного плеера AY еще никто не сделал?
мобильный - это в каких размерах? сам только AY вон какой здоровый. +батареек надо, да и на сколько их будет хватать - тоже еще вопрос.
и еще мне непонятно. зачем всем именно живой настоящий чип AY, если музыку слушать собираетесь на улице? мне когда было это интересно - я записывал AY в мп3 и слушал на маленьком мп3 плеере. он и по размерам меньше, и хватать его будет на дольше, имхо.

Keeper
23.01.2009, 09:53
я записывал AY в мп3 и слушал на маленьком мп3 плеере.

Много треков перегонять в MP3 прийдеться. Я бы присмотрелся к разработке Robusa, ее доработать и будет то что надо, ИМХО. И питать ее можно от батареи мобильника на 3,6В.

psb
23.01.2009, 11:00
Много треков перегонять в MP3 прийдеться.
я перегонял, автоматом. помнится брал исходники и че-то там дописал и у меня плейлист сам конвертился. ясно, что все 20 тыщ не перевести.


Я бы присмотрелся к разработке Robusa,
ну так там не железный AY! а тут прицепились к железному...

freddy
23.01.2009, 12:27
Общая идея такова:
Железо: ATMega128 + YM2149F + SD/MMC + графический ЖКИ 128х64.
Питать от 4х аккумуляторов АА 2,2А/ч.
Исходил из того что есть в загашнике и чтобы легко доставалось и стоило недорого
+ возможность наращивать поддержку других форматов файлов.
Пока есть только движок, играющий PSG.
В дальнейшем буду писать файловый менеджер и поддержку FAT32 (потому что файлов много будет на карточке). Может уже кто то делал FAT32, подскажите хватит ли 4кб памяти? Потом останется написать конвертеры с других форматов в PSG. Писать много так что быстрого результата не будет.
По конструкции Robusa ничего сказать не могу, так как ее не собирал. Может кто собирал? Если исходить из энергопотребления, то его конструкция намного лучше, смущает только тип микроконтроллера, я таких совсем не умею програмить :)
Возможность портировать на AVR его код эмуляции AY-ка рассмотрю, но тогда изменится железо, а оно почти готово.
Если есть возможность замерить потребление тока YM2149F в активном режиме, то подскажите плиз сколько мА?.
Ну и самый главный вопрос: Почему AY-плеер, когда есть куча дешевых китайских MP3-плееров?
Ответ :Потому что зачем ZX если есть PC? ;)

newart
23.01.2009, 13:37
Потом останется написать конвертеры с других форматов в PSG.
И чем это от варианта c MP3 (FLAC и т.д.) отличается?

psb
23.01.2009, 15:04
Может уже кто то делал FAT32, подскажите хватит ли 4кб памяти?
советую посмотреть библиотеку efsl, она должна в атмегу влезть, вроде ей достаточно килобайта. понимает все фаты, но имена 8.3. работа с SD-картой там тоже есть как пример.

AAA
23.01.2009, 17:03
Не вижу смысла в хардварном мучении. Лучше сделать программу автоматического перевода AY мелодий в mp3. Не по одной как в эмуле, а кучами сразу.

Плееров под мп3 куча, стоят копейки, выбирай любой на свой вкус. Можно и в телефонах с флешками слушать. Тем более флешки то же стали дешевые и объемные.

freddy
26.01.2009, 11:43
И чем это от варианта c MP3 (FLAC и т.д.) отличается?

Отличается тем, что получим в любом случае звук оригинального AY без потери качества. Ну и наверно любителям ретро будет интересно реальный AY, как было в ZX :)

Добавлено через 11 минут

Не вижу смысла в хардварном мучении.

С точки зрения здравого смысла так и есть.
Видимо поэтому до сих пор нормального карманного плеера так никто и не сделал (за ненадобностью). Обидно блин, что AY без ZX нельзя юзать.

elf/2
26.01.2009, 14:22
Лучше сделать программу автоматического перевода AY мелодий в mp3. Не по одной как в эмуле, а кучами сразу.
ayfly'йский конвертор должен уметь делать wav'ы из ay'шных мелодий пачками. а потом каким-нибудь lame'ом сделать mp3

Gryphon
27.01.2009, 12:03
Я вот тоже решил сделать такой проект, но толком не знаю, как организовать отправку данных в YM2149F. Может кто-то пояснит, как правильно это сделать.
P.S. программы пишу на BASCOM-AVR.

freddy
27.01.2009, 12:30
Что именно непонятно? Как физически подключить или как программно реализовать?

Вобщем чтобы подключить нужно любой 8-ми битный порт подсоединить к шине данных AY и два свободных вывода любого порта на BDIR (27 ножка) и ВС1 (29 ножка).
ВС2, А8 подрубить к +5В (Выводы 40,28,25). Вход RESET AY (нога 23) тоже желательно завести на свободный вывод порта AVR. На вход CLK AY подать 1,75Мгц. Программно же надо реализовать движок играющий PSG. Доку по этому формату можно взять у С. Бульбы на его сайте. Для этого любой таймер конфигурируем генерить прерывания с частотой 50Гц. И в обработчик прерывания всовываем сам движок, который выкидывает в порт к которому подцеплен AY регистровый файл PSG. У меня так все и реализовано, и даже играет :). Счас жду дисплей и держатель карты памяти, чтоб написать дружественный графический интерфейс и чтение с карты. И в этом проблема куда большая чем собрать саму железку.

Gryphon
28.01.2009, 09:24
Что именно непонятно? Как физически подключить или как программно реализовать?
Мне нужно программно реализовать. Я свой YM2149F решил подключить Mega8, но не знаю, как им управлять. Какой для этого нужен алгоритм?
Повторяю-я пишу только на BASCOM-AVR.

freddy
28.01.2009, 11:55
Читать нужно это: ftp://ftp.untergrund.net/users/bulba/ym2149.rar
или это: ftp://ftp.untergrund.net/users/bulba/ym2149r.rar
На этой странице есть примеры реализации для РС:
http://bulba.untergrund.net/elect.htm

Gryphon
29.01.2009, 13:44
Я прочел, вернее у меня все это было, но толком не понял, как написать алгоритм. Может кто-то уже повторял эту конструкцию, а именно я хотел бы узнать, как с флешек PSG считывать.

zanzi
16.04.2010, 19:47
Всем привет. Я так понимаю мои ПМ пошли в никуда :-)
Тогда продолжим.

Ребята, PSG - негодится. Вы посмотрите какие размеры в этих psg-файлах! В 40 (СОРОК) раз больше других!
Но главное, вся музыка в сети - pt2, pt3, stc, stp и другие форматы.
Так что сам проигрыватель (декодер форматов) на avr должен уметь работать со всеми этими форматами.

Тема интересная, avr+ym+mmc+lcd. Я только "вкуриваю", но уже нашёл описание некоторых форматов. Хочется по лёгкому сделать. (во придумал :-) ).

У кого нибудь получилось написать плеер, для avr+ym, хотя бы поддерживающий pt3???
Желательно на Cи???

psb
16.04.2010, 20:01
У кого нибудь получилось написать плеер
в соседней ветке делают что-то подобное ПРЯМО ЩАС! в плане avr, pt3 и эмуляции AY на avr.

zanzi
16.04.2010, 20:14
Видел. Не то. Там задача на порядок посложней будет. Тут проще, для тех у кого есть ay или ym, но и возможностей больше! Да и, real есть real!
Кому интересно - подтягиваемся. Вместе чё то придумаем. Надо закончить этот проект!

Zloy
16.04.2010, 20:58
Да и, real есть real!
Согласен. Для не real есть mp3 плеер...
На счет других форматов кроме psg с учетом объемов современных флешек я бы не заморачивался.

psb
17.04.2010, 00:27
ну, не то конечно, но плеер-то там сделают, заточенный под авр. возьмете его, засуните в авр и готово. если ждать не хочется - расковыривайте плееры-эмуляторы ПЦшные, они тоже некоторые на си написаны (в них есть плееры пт3).

zanzi
20.04.2010, 01:12
Лучше расковыривать документацию... чем потихонечку и занимаюсь.
К счастью, на этом форуме, уже, есть все ответы, на все мои вопросы!
Только надо найти их и переработать...
Одно знаю точно - быстрого результата не будет. А так хотелось...

+ .PSG, зашитое в прошивку МК, воспроизводится на YM нормально.

Начинается самое интересное- работа с pt3...

+ ...и самое сложное. Пока что вижу путь наименьшего сопротивления - переделать исходники pt3-плеера от Z80_asm --> avr_asm...

Вадим Димтревич
16.09.2010, 12:29
Ну как успехи есть?Хот 10 мелодий закачать можно?

sinchuk
09.01.2012, 10:04
Как Вам вот такое чудо ???? http://tolaemon.com/hplayer/

newart
09.01.2012, 10:11
Как Вам вот такое чудо ???? http://tolaemon.com/hplayer/
Шляпа.

А вот это действительно интересно:

youtube (http://youtu.be/C5AZwCpjP_k)

psb
09.01.2012, 11:37
А вот это действительно интересно
а что там интересного? вроде просто парсер миди на пц (с подключенным к пц ау), который может только пищать ноты одной громкости.

AER
09.01.2012, 14:15
бипер тоже может.

freddy
15.01.2013, 12:43
Как Вам вот такое чудо ???? http://tolaemon.com/hplayer/

Делал я его когда то. Он кривоват был, да и дисплей не достать в наших краях. Поэтому все было переделано под более распространенный дисплей WG12864, глюки подправлены, схема упрощена. Хорошо что автор понимает английский и любезно поделился последней версией проекта. Но потом плеер был утерян и переписанные исходники тоже. Вобщем ностальгия заела, а плеера нет. К Си возвращаться тоже неохота.
Поэтому вернулся я к своему заброшенному проекту:
ATMega8+SD(MMC) ЖЫР16+AY-3-8910+ LCD16x2. 100% ASM!
Сейчас он на той стадии, когда проще сказать что осталось сделать:
-прогресс бар во время воспроизведения
-индикатор заряда батареи
-отключение и не включение при критическом заряде батареи.

Оформлю в законченном виде, поделюсь.

newart
15.01.2013, 12:51
LCD16x2
А чего не от нокии 3310?

freddy
15.01.2013, 13:27
Дык была на шару 8битная шина к АУ.
Да и Нокии 3310 закончились :)
А дисплеев 16х2 в магазинах и офисной технике навалом.

newart
15.01.2013, 13:34
А что сабж играет? Дамп регистров?

freddy
15.01.2013, 17:43
Да. Играет *.PSG. Так он был задуман изначально.

freddy
18.01.2013, 23:33
Здесь лежит свежая документация для повторения AY-плеера.
61242
Читаем readme

freddy
18.01.2013, 23:34
AVR AY-player v1.2.

-Играет файлы *.PSG
-поддерживаемая файловая система FAT16
-количество каталогов в корне диска 32
-количество файлов в каталоге 42 (итого 32*42=1344 файлов)
-сортировка каталогов и файлов в каталогах по первым двум буквам имени

Описание меню:
Включить питание - кнопка PWR.
В левом верхнем углу экрана XX/YY означает XX-номер текущего каталога, YY-всего каталогов.
Выбор каталога FF, REW. Войти в каталог-PL, выйти-ST. Длительное удержание ST-выкл питания.
В каталоге меню имеет вид типа: 05/xxxxxxxx. 05-это номер каталога после сортировки.
хххххххх-имя текущего файла. Снизу XX/YY означает XX-номер текущего файла,
YY-всего файлов в каталоге.
Нажатие PL приведет к проигрыванию текущего файла. Воспроизведение продлится от текущего файла
до конца каталога. В режиме воспроизведения REW-играть файл сначала, FF-плавное увеличение скорости до 2х.
При отпускании FF сразу установится номинальная скорость воспроизведения.
Выйти в файловый менеджер из режима воспроизведения можно нажатием ST.
Повторное нажатие PL - пауза. Из состояния паузы можно выйты в файловый менеджер (жмем ST) либо продолжить
воспроизведение (жмем PL).
Справа в верхнем углу 5v0 - вольтметр. При разряде батареи менее 4.4В (менее 1.1В на банку) плеер
выдаст сообщение о разряде батареии и выключится. Включаться тоже откажется.
Питание контролируется постоянно, однако в режиме воспроизведения
только в момент автоматической смены мелодии. Это сделано для того чтоб не коверкать
музыкальные произведения. Ну не люблю я когда песня внезапно обрывается так и не доиграв. Поэтому при разряде питание вырубится только
когда песня закончится.
Калибровка вольтметра производится следующим образом:
-подаем на схему точно +5,0В
-зажимаем FF+REW, затем жмем PWR.
Калибровка окончена.
В правом нижнем углу цепь звездочек во время воспроизведения - это статус бар!
Он показывает реальный сыгранный размер файла (поскольку формат у нас потоковый).

Технические ограничения:
-метод инициализации MMC карты: 80 clocks+CMD0+CMD1. Поэтому работать будут только старенькие.
-размер файлов не более 16Мб.
-размер кластера не менее 4кб (владельцы карт 32Мб поставьте 4кб при форматировании).

Приятного прослушивания!

freddy
18.01.2013, 23:49
Вот фото рабочего плеера, пока без корпуса.
Блин, я счастлив!

freddy
19.01.2013, 15:08
Немного оптимизировал размер кешей FAT. Теперь можно 32 каталога 1-го уровня по 42 файла. Итого 1344 файла! Можно и больше... :)
Архивчик с прошивкой и доку обновил.

---------- Post added at 13:08 ---------- Previous post was at 12:50 ----------

Провел тест потребляемого тока. У меня девайс при средней громкости кушает всего 90ма. Аккумуляторы на 3А*ч посадить до срабатывания защиты так и не смог :) терпения не хватило. В общем девайсом просто сказочно доволен, уже ставлю в корпус, потом сфоткаю собранный. :)

freddy
20.01.2013, 15:21
Вот он в собранном виде :)

For all AY FAN'S! Real AY forever!!!

На этом умолкаю, и иду паять AVR HDD MOD player под звуки AY.

freddy
24.01.2013, 17:22
Спасибо за интерес к плееру!
За время, пока был занят другим проектом, вдоволь наслушался avr ay player.
Пришел к выводу что 5В с хвостиком многовото для TDA7050. Особенно заметно при подключении низкоомных наушников и колонок от мобильника. Звук становится жесткий и отрывистый. Уровень собственного шума усилителя тоже не порадовал.
Все пофиксилось питанием усилителя от стабилизатора 3.3в. Все стало мягко и пушисто при любой нагрузке.

freddy
25.01.2013, 19:31
Обновил в посте 75 (http://zx-pk.ru/showpost.php?p=568956&postcount=75) архивчик с докой по AVR AY Player.
Текущая версия железа и софта 1.1.
Изменения железа:
-резистор R14 теперь 1КОм
-УНЧ питается от стабилизатора +3,3В
-Вывод 10 IC4 оторван от +Vcc и подключен к выводу 25(PC2) IC1, чем достигнуто управление AY Clock.
Изменения прошивки:
-переписан код вольтметра. Теперь показывает аж до 9,9В :)
Только не подавайте столько :) Защита от переразряда аккумулятора теперь срабатывает при напряжении ниже +4,4В (1,1В на банку). Добавлена процедура калибровки вольтметра(читайте описание).
-в режиме воспроизведения, нажатиями PL можно включить и выключить паузу воспроизведения. Пауза грамотная, не нарушает синхронность внутреннего состояния AY с воспроизводимым регистровым потоком. Можно жать в любое время и сколько хочешь, звук не поломается :)
ST- как и было раньше, выход в файловый менеджер из воспроизведения и теперь еще из паузы.
Пока с обновлениями все.

freddy
26.01.2013, 14:36
Вот отснял небольшое видео работы плеера. Качество не очень, снимал мобильником, но все понятно и так:

http://vimeo.com/58212754

freddy
02.02.2013, 00:50
Вышла версия прошивки 1.2
Все как обычно в посте 75.
Теперь в режиме воспроизведения FF-плавный разгон скорости до 2х, при отпускании скорость сразу станет номинальной. REW-начать сначала текущий файл.
Наконец с Китая приехали YM2149F. Тест потребляемого тока порадовал - всего 46ма (весь плеер). Но звук все же больше нравится у AY-3-8910, оставил его. С ним после всех модов жрет 78ма. Буду рад если ктото измерит и напишет потребляемый ток AY-3-8912. Девайс все же мобильный :) Может разведу вариант на micro SD, СМД и AY-3-8912 :)

andygo
16.05.2015, 20:08
"поднял" тему с переводом в SMD. За основу взят Atmega8A TQFP (32pin).
Пока в процессе пайки. Развел плату на фоторезисте с дорожками 0.4mm, ибо между ногами AY часто проскакивать нужно :)

До стадии включения ещё не дошел, но уже близок. Надеюсь hex-поршивка встанет на 8A без проблем.
Автор утерял исходники. Может кто-нить поможет с перенаписанием софтовой части? ;)


Буду признателен, если кто-то сообщит об ошибках в разводке/схеме.

freddy
17.05.2015, 17:45
Насчет платы есть поправки. Вывод DO SD-карты желательно подтянуть к питанию +3,3 резистором 10к-20к. Преобразование уровней SCK, CS, DI тоже корявенько реализовано. По даташиту положено подтягивать к +3,3В, а не так как у меня. В последствии натыкался на такие грабли, когда строил MP3 и MOD плееры. 20% разных карт не работали. Тогда я перешел на согласование уровней через буфер 74hc245. Потом отказался от преобразования уровней и стал все питать от 3,6В (3 аккумулятора АА) без стабилизаторов. Тогда дисплей нужен на 3,3В или можно самому допаять на 5 вольтовом источник V0, там просто микрушка 8-ми выводная и два кондера не впаиваются. Либо собрать отдельный источник -2V на своей плате, или взять батарейку типа LR44, хватит на пару лет.

freddy
17.05.2015, 18:21
Вот так можно подключать карточку SD/MMC к 5-ти вольтовым контроллерам:

freddy
24.05.2015, 14:49
Автор утерял исходники. Может кто-нить поможет с перенаписанием софтовой части? ;)


Еще есть вопрос... Исходники я может и потерял, а вот дебаггер не потерял. Что вы хотели переписать в софтовой части?

andygo
25.05.2015, 02:25
первый старт - не удачный.
выяснилось, что в разводке платы не хватает связи Vcc между "модулем старта" и всем остальным.
Поправил, но всё равно пока не гладко.

На экране одна строка из квадратов. Вероятно где-то "сопля" на шине данных.

Ещё не нравится мне шумы в наушниках. Но, подозреваю, что это результат запитки схемы от USB :)

---------- Post added at 02:25 ---------- Previous post was at 02:22 ----------


Еще есть вопрос... Исходники я может и потерял, а вот дебаггер не потерял. Что вы хотели переписать в софтовой части?

скорее хотелось бы разобраться в с ПО в процессе настройки девайса. Плюс может дописать\переписать поддержку иных форматов файлов. Я ещё помучился, пока искал, как выдрать PSG откуда-либо.

andygo
25.05.2015, 03:38
Внесены исправления в PCB-шку:
- исправлена шина Vcc от полевого транзистора на всЁ;
- исправлена перемычка для желающих НЕ экономить на освещении LCD. Можно включить подсветку на постоянной основе. Возможно в перспективе будут внесены поправки в прошивку.
- подвинул транзисторы и подстроечный резистор контраста (в предыдущей версии после монтажа полевик загораживал/упирался в подстроечник).

TO-DO:
- пока под вопросом доработка sd/mmc. Покапался в сети - многие используют согласование резисторами. Да и бюджетность проекта хотелось бы сохранить. Может быть рассмотреть вариант согласования на транзисторах? Что-нибудь типа: http://avrproject.ru/publ/poleznaja_informacija/modul_soglasovanija_urovnej_3_3_lt_5_volt/4-1-0-65

freddy
25.05.2015, 15:54
Вариант на транзисторах конечно же лучше чем ничего, но на плате занимает намного больше места чем 74hc245. И если хотите бюджетность, то эта микросхема совсем не дорого стоит. Согласование резисторами конечно дешево и сердито, но работает не всегда! К стати у меня есть на микроконтроллере свободный порт РС1. Думал его когда то приспособить под автоматическое зарядное устройство (на моей плате места еще много), но потом обзавелся интеллектуальным зарядником и не стал делать свое. Этим портом можно подсветку включать. А еще можно 16 свободных линий AY приспособить :)

freddy
25.05.2015, 16:09
первый старт - не удачный.
выяснилось, что в разводке платы не хватает связи Vcc между "модулем старта" и всем остальным.
Поправил, но всё равно пока не гладко.

На экране одна строка из квадратов. Вероятно где-то "сопля" на шине данных.

скорее хотелось бы разобраться в с ПО в процессе настройки девайса. Плюс может дописать\переписать поддержку иных форматов файлов. Я ещё помучился, пока искал, как выдрать PSG откуда-либо.

Странный какой то получается "старт"... Есть готовая, проверенная плата в доках ау-плеера. Возьмите ее, запустите. Там проще экспериментировать, монтаж таки не СМД :) А Вы как то начали с разводки платы на смд, да еще и такого размера :) Вот смотрите какая должна быть платка для мобильного девайса:
52302
Размеры 50х55мм, на плате есть кнопки и разъем наушников. Это последний из вариантов на базе AY-3-8912, самый маленький. Питание адаптировано под 1 банку Li-Ion.
PSG выдирать не надо. Есть плеер Сергея Бульбы, там наконвертируете себе их тысяч 5-10, на первое время хватит.
http://bulba.untergrund.net/emulator.htm
И еще... Разбираться с ПО на ассемблере, такого размера - это очень плохая идея, но это как бы сугубо индивидуально. Плеер в общем то прост, имеет движок, заточеный под проигрывание потоков типа аудио/видео, но адаптировать думаю вполне можно не только под PSG.
Из известных глюков - не правильная работа с картами 8,16Мб. Поддержку FAT-12 я так и не стал писать. Под этот движок написал дрова под винты IDE, так что можно построить True Hardcor-ный девайс :)

andygo
28.05.2015, 10:27
PSG выдирать не надо. Есть плеер Сергея Бульбы, там наконвертируете себе их тысяч 5-10, на первое время хватит.
http://bulba.untergrund.net/emulator.htm
Можно по-подробнее, пожалуйста, что да как?

freddy
28.05.2015, 14:29
Вот пожалуйста! Набросал инструкцию, см. прикрепленный файл.

Вадим Димтревич
29.06.2015, 15:07
Предисловие: Ну был на сайте с 2010... И вот я снова здесь. Искал все необходимые компоненты для вашего плеера 2 дня по всему городу, но таки все нашел. До этого (за месяц), как увидел ваше видео, сразу же купил TDA7050, 74HC74AP и полевой транзистор. Сложнее всего было найти кварц на 3.75 МГц (3.5BKSS6FT) и конденсаторы (270 пф, 100 пф. Ради них пришлось ехать практически в другой город.) для генератора. Не считая микросхем - мелочевки вышло на 300 рублей. + TDA7050 + atmega8 (Давно AVR не занимаюсь... Но программатор был.). В целом устройство обошлось где-то в 500 рублей (YM2149F была в наличии со старого спектрума у дедушки...).
Сборка: сначала хотел собрать на вашей печатной плате, но вспомнил, что компоненты могут не подойти или я не смогу найти какой-нибудь компонент в нужном форм-факторе. По-этому начал собирать на макетной плате. 1-й опыт оказался неудачным. Вместо звука мелодии были только трески. 2 дня разбирался с этим. Хотел уже психануть и все бросить, но пересилил себя и просто все разобрал. В первоначально версии все было впритык. Все компоненты (включая кнопки и экран) были на макетной плате размером 7*8 см. Было тесно. Во второй же раз я вынес отдельно экран (на шлейфе из проводов) и кнопки на отдельную плату. Было больше место и собирать стало легче. Но проблема со звуком не ушла. Вместо звука лишь потрескивания. Проверив все соединения предположил, что проблема либо в самом чипе, либо в генераторе. Но чип какой-то, но звук издает. Потом вспомнил, что подбирал компоненты для генератора "приближенно". В этом и была моя ошибка. Где-то к 2-м часам ночи я заметил, что если у 74HC74 "убрать" контакт питания и не до конца воткнуть в кроватку, то появляется звук с частой примерно на пару октав ниже нужной. Сегодня поехал в самый дорогой магазин города и купил конденсаторы и резисторы четко по номиналу. Перепаять не хватило сил и я собрал на беспаячной плате генератор, подключив проводами к плате. И, ура, заработало! https://www.youtube.com/watch?v=zsn2E2_ypZc
Сейчас думаю все это чудо развести и собрать в красивый корпус. К вам несколько вопросов.
1. Можно ли чем-нибудь заменить TDA7050? Ибо при подключении через этот усилитель - очень сильные шумы. Если подключать без усилителя вообще, то все замечательно. И можно слушать в наушниках. Кстати, хотелось бы добавить возможность слушать в наушниках. То есть если наушники - без усилителя, нет наушников - через него через встроенный динамик.
2. Что делать с подсветкой? Можете добавить в прошивку контакт для управления подсветкой? Например, чтобы 5 секунд светилась, а потом гасла.
3. Можно так же добавить кнопку "удалить трек". Очень нужна! Желательно, с подтверждением.
4. Не плохо было бы показывать названия папок. Не только их номера.
5. FAT16 меня устраивает полностью. Но вот то, что пришлось покупать 2 флешки (хоть и по 50 рублей каждая на 1 гб), чтобы найти ту, которая инициализируется стандартным способом - убивает. Можно ведь добавить различные механизмы инициализации или просто взять из чьей-либо библиотеки.
6. Если не хватает Atmega8 (по памяти), то можно взять Atmega328p. У нее еще и отладка по одному проводу есть, если надо.
7. Можно добавить чтение из различных форматов. Но это не обязательно (тогда бы пришлось жертвовать 2-мя ножками для кварца на 16 Мгц, ибо, думаю, 8-ми бы не хватило...).
8. Добавьте в описание, что музыку можно конвертировать классным плеером "ZX Spectrum Sound Chip Emulator version 2.9 beta 3". http://zxtunes.com/software.php?id=20. Ибо у вас в инструкции отсылки к 2-м странным эмуляторам, которые я так и не смог запустить.
Общий итог: есть над чем поработать, но как только будет добавлена возможность контроля подсветки - разведу плату и попрошу друга сделать классный корпус.

freddy
30.06.2015, 10:38
Поздравляю! Смотрел Ваше видео, все нормально, только все это нужно оформить красиво на печатную плату и вставить в корпус. И, это... когда увидел карту памяти, припаянную проводами, чуть со стула не упал. Ну так же нельзя! Попробую немного прояснить ситуацию по деталям. Плеер собранный точно по схеме и на авторской плате, точно запустится. Места там очень много, влезут любые детали. Любые SD/MMC карты в нем инициализируются. Просто не для всех хватает резисторов подтяжки у AVR. Поэтому подтяните MISO, MOSI, SCK, CS резисторами 10-20к к +3.3В и будет счастье. Хотябы MISO. Я вобще то уже не использую резистивные преобразователи уровней, только на 74hc245. Инициализируются все карты, тем же кодом :)
Кварц на 3,57945МГц очень распространен, применяется в кодерах и декодерах DTMF. Усилитель TDA7050 должен питаться от 3.3в, еще можно применить на выходе корректирующие RC цепочки. Я добился приемлемого качества. Заменить его можно на TDA2822M в типовом включении, но экономичность схемы немного пострадает.
Папки показывать в данном варианте не получится, для этого придумана их сортировка и присвоение номера. Я полные имена папок не кеширую, только первые 2 буквы и номер записи в ФАТ. Кнопки "Удалить файл" не будет, я не реализовывал запись. Формируйте плейлисты на персоналке, чтоб там не было ненужных треков.

Вадим Димтревич
30.06.2015, 11:27
И, это... когда увидел карту памяти, припаянную проводами, чуть со стула не упал. Ну так же нельзя!
Объясню. Это не карта памяти, а переходник. Он идет в комплекте к флешкам micro sd (Но у меня не было, так что я купил на аукционе за 1 рубль...). Это выходит дешевле, чем покупать модуль SD карты. Да и не жалко. Сама micro sd не пострадала.

Плеер собранный точно по схеме и на авторской плате, точно запустится. Места там очень много, влезут любые детали.
Мне плата показалась излишне громоздкой. Буду делать свою миниатюрную.

Любые SD/MMC карты в нем инициализируются. Просто не для всех хватает резисторов подтяжки у AVR. Поэтому подтяните MISO, MOSI, SCK, CS резисторами 10-20к к +3.3В и будет счастье. Хотябы MISO.
Заменить только верхний резистор делителя напряжения или убрать оба и подтянуть одним?

Я вобще то уже не использую резистивные преобразователи уровней, только на 74hc245.
А можно схему с преобразователем?

Усилитель TDA7050 должен питаться от 3.3в
Так и подключал по схеме.

еще можно применить на выходе корректирующие RC цепочки
Опять же увидеть схему. На слух сложно.

Заменить его можно на TDA2822M в типовом включении, но экономичность схемы немного пострадает.
Экономичностью в моем случае не пахнет. Ибо компоненты по тройной цене, а иногда и выше. Так что я борюсь за качество и компактность.

Папки показывать в данном варианте не получится, для этого придумана их сортировка и присвоение номера.
Хмм... Ладно. Это не принципиальный момент, но спасибо за разъяснение.

Кнопки "Удалить файл" не будет, я не реализовывал запись.
А вот это очень жаль. Реально не хватает! Вроде бы на компьютере все выбрал, а на деле...
1. Что с подсветкой? Будете добавлять ее? Думаю, можно через ШИМ. Опять же, через какой-нибудь КТ315.
2. Может стоит дать плееру более экономичный экран (по потреблению)? Типа OLED. Например: http://jewelfox.ru/lot.php?id=2950
3. Батарейки - прошлый век. Может аккумулятор с контроллером заряда? Типа такого (TP4056): http://krsk.24au.ru/4462326/Схема с поливиком для меня в новиночку. Не могу понять принципа работы (Сейчас в вуз поступаю, может там, на радиотехнике, раскажут...).

freddy
30.06.2015, 13:10
Переходник не рассмотрел :) Но все же удобнее когда использован цивильный держатель карты, а не припаяный переходник.
Маленькая плата это хорошо, выкладывайте когда будет готова.
Резисторы согласования уровней 5->3.3в убирать не надо. Подтяните 7-й вывод карты (MISO) резистором 10-20к к шине 3,3В, станут почти все карты работать. Схему подключения на hc245 найдете на предыдущей странице топика.
Корректирующие цепочки - это последовательно включенные резистор 10-33 Ом и конденсатор 0,1мкФ с выхода усилителя на землю. См. даташит на TDA2822, там они есть. TDA 2822 вобще то в разы дешевле стоит чем TDA7050.
Файлы тоже сортируются по первым двум буквам :) Просто перед началом воспроизведения, они открываются по-новой, вот имя и берется для отображения.
К стати за 270мс с момента подачи питания, плеер успевает отсортировать и все 32 папки с 1344 файлами. Нормально для 8-ми МГц AVR? Производительности хватит? :) Вобще здесь движок заточен под потоковые форматы. Играть более всего приспособлен всякие MP3, AVI, MPEG, MP4 и т.д, т.е. умеет быстро гонять стримы. Поэтому PSG для него оптимально, хотя 90% свободного процессорного времени можно было бы и приспособить под что то, все равно стоит, ждет прерывания AY-ка.
К стати, Вадим, я с плейлистами так и не понял, что не получается. Как файл звучит на персоналке, так он и должен звучать через AY плеер. И еще... моя инструкция по конвертации ссылается именно на Ay-emul от Сергея Бульбы. Наконвертировал я по ней уже не одну тысячу файлов, если что не понятно, разъясню и даже покажу. Управление подсветкой сделаю, единственный свободный вывод PC1 остался.

---------- Post added at 13:10 ---------- Previous post was at 12:52 ----------

Дочитал до конца даташит на рекомендуемый Вами OLED дисплей. Так вот, он потребляет аж в 25 раз больше энергии чем дисплейчик без подсветки на HD44780. Где Вы вобще у OLED технологии экономичность нашли?
Батарейки туда не ставьте, 6В для него многовато. Плеер изначально заточен под аккумуляторы NiCD или NiMH, софт дает разряжаться только до 4,4В. Зарядник можете прилепить любой, какой понравился, можете даже развести на плате вместе с плеером.

Вадим Димтревич
30.06.2015, 17:45
Переходник не рассмотрел Но все же удобнее когда использован цивильный держатель карты, а не припаяный переходник.
Не спорю. На печатной плате будет разъем под micro-SD.

Маленькая плата это хорошо, выкладывайте когда будет готова.
Начну делать, когда согласуем с вами все изменения в схеме.

Корректирующие цепочки - это последовательно включенные резистор 10-33 Ом и конденсатор 0,1мкФ с выхода усилителя на землю. См. даташит на TDA2822, там они есть.
Благодарю. Ближайшие 2 дня куплю компоненты (в наличии точных нет) и протестирую. Если результат понравится - оставлю этот усилитель. Нет - куплю TDA7050.
К стати за 270мс с момента подачи питания, плеер успевает отсортировать и все 32 папки с 1344 файлами. Нормально для 8-ми МГц AVR? Производительности хватит?
Да, не дурно. Но в таком случае можно изменить код так, чтобы МК работал от 1-го МГц. Рас вы говорите, что 90% времени ЦП пустует. Этим вы хоть чуть-чуть, но снизите энергопотребление.

К стати, Вадим, я с плейлистами так и не понял, что не получается. Как файл звучит на персоналке, так он и должен звучать через AY плеер.
Имею ввиду, что при подборе музыки в дорогу считаешь, что трек хороший, а слушаешь в дороге раз и понимаешь, что нужно удалить. Вот здесь бы очень помогла кнопка "удалить". Все же если добавите - буду благодарен.

И еще... моя инструкция по конвертации ссылается именно на Ay-emul от Сергея Бульбы.
Перечитал еще раз документацию в 75-м посте. Да, там указано, что структура PSG взята из помощи к эмулятору. Но я этого не заметил. Не помешало бы добавить отдельным файлом описания. Чтобы такие как я сразу видели файл "Подготовка файлов для плеера.".
Дочитал до конца даташит на рекомендуемый Вами OLED дисплей. Так вот, он потребляет аж в 25 раз больше энергии чем дисплейчик без подсветки на HD44780. Где Вы вобще у OLED технологии экономичность нашли?
Прошу простить. Поверил на слово продавцу... Нужно было перепроверить самому.
Батарейки туда не ставьте, 6В для него многовато.
Я пока не вносил в схему часть с полевым транзистором и КТ315-м. Питал от UsbASP.
Плеер изначально заточен под аккумуляторы NiCD или NiMH
На увидел. Vbat - сбило...
софт дает разряжаться только до 4,4В
А вот это очень жаль. Вроде бы же есть микросхемы, которые до 1-го вольта все вытягивают. Но к ним еще катушку ставить нужно.
Зарядник можете прилепить любой, какой понравился
Попробую тот, что привел в примере.

можете даже развести на плате вместе с плеером.
Да. Так будет много удобнее.

Управление подсветкой сделаю, единственный свободный вывод PC1 остался.
Буду считать, что сделали на КТ315. Так и буду разводить.

---------- Post added at 20:28 ---------- Previous post was at 19:57 ----------

Вот, нашел: http://habrahabr.ru/post/146692/. Можно вполне использовать этот преобразователь в виде готовой платки. Места не занимает почти. Ибо посмотрев, какой нужен обвес (http://we.easyelectronics.ru/power-electronics/step-up-na-baze-ncp1402-ncp1402sn50t1g.html), я понял, что дешевле и много проще купить готовый модуль, чем мучиться потом с тем, что не работает преобразователь (или страдает его КПД).
Кстати. В плеере "Ay-emul от Сергея Бульбы" есть что-то типа спектрографа. Нет желания его перенести?)

---------- Post added at 20:32 ---------- Previous post was at 20:28 ----------

Хм... Только потом прочел, что не желательно разряжать аккумулятор ниже порогового минимума. Так что придется довольствоваться тем, что есть. А контроллер заряда будет, думаю, TP4056. Купил парочку. Поэксперементирую. Да и вашу схему с транзистором проверю.

---------- Post added at 21:45 ---------- Previous post was at 20:32 ----------

Сейчас только осознал, что аккумуляторы имеют выходное напряжение до 4.2 Вольт (при полном заряде). И выбор выходит следующий:
1. Ставить DC-DC преобразователь, чтобы брать с одной батареи (до 4.2 В) 5 В. И следить за разрядкой батареи до 3-х.
2. Соединить несколько батарей и через импульсный стабилизатор получать 5 В. Но тогда с отслеживанием разряда не знаю как поступить. Ибо у двух батарей минимум 9 В будет (при полном заряде).
Как у вас реализована система питания?

freddy
30.06.2015, 17:54
Перечитал еще раз документацию в 75-м посте. Да, там указано, что структура PSG взята из помощи к эмулятору. Но я этого не заметил. Не помешало бы добавить отдельным файлом описания. Чтобы такие как я сразу видели файл "Подготовка файлов для плеера.".
Вобщем почитайте весь топик, 10 страниц не много. Инструкция находится на несколько постов выше, прямо на этой странице :)))))))). Трудно чтоли все прочитать? Много вопросов отпадет.

---------- Post added at 17:54 ---------- Previous post was at 17:50 ----------


Как у вас реализована система питания?
4-ре банки NiMH или NiCd напрямую.

freddy
01.07.2015, 04:41
Вот так будет управляться подсветка. Транзистор любой NPN на ток от 100ма.
52751

Вадим Димтревич
08.07.2015, 06:00
Только сейчас дошли руки съездить в магазин. Проводил следующие эксперименты:
1. Подключил RC цепь для каждого вывода (0.1 мкФ + 33 Ома) и подключил к колонкам через Jack: https://www.youtube.com/watch?v=XXdQg9VqHgM
Качество не плохое и мне понравилось.
2. Пробовал подключать вместо колонок обычные динамики. Во время этого плеер временами выдавал следующий глюк: https://www.youtube.com/watch?v=aq4nbcBNn64
Иначе говоря - зависал на цикличном воспроизведении определенного участка файла.
3. После моих эксперементов, как мне показалось, умер 1 канал усилителя. Ибо при подключении в обход усилителя - все хорошо. Но 1 канал - ужасен. Можете посмотреть: https://www.youtube.com/watch?v=HCVct9l45Ro
Усилитель даже в режиме простоя генерирует кучу бреда и "пищяние". В то время как другой канал работает отлично.
Планы:
1. Сейчас поеду в магазин, нужно купить все это:
1 x TDA2822M (DIP8)
1 x TDA7050
1 x 74HC244 (DIP)
1 x IRF9Z34
Обойдется мне это в 168.20.
2. Собрать весь плеер на беспаячной плате. Плеер будет иметь более опрятный вид и что-то менять будет легче.

Вадим Димтревич
08.07.2015, 06:34
Не понимаю для чего весь этот хлам нужен первая с выходной мощностью 140 мВт, вторая 1 Вт максимум, и то при питании от 9В, да и сопротивления в цепочки если уж её и лепить должны быть 4,7 Ом. Возьми нормальную микросхему усилителя рассчитанную на 10Вт, тогда она не будет работать на пределе возможностей, там же искажения лезут как из жопы на максимальных параметрах. Хотя...
Не работал со звуковыми усилителями никогда. Какой посоветуете? Но чтобы не слишком дорогой.

Вадим Димтревич
08.07.2015, 06:47
Сколько нужно иметь мощность на выходе, какое сопротивление динамиков, которые предполагается подключать?
Все это еще под вопросом. Но, скорее всего, подключу 4 слабеньких динамика (на каждый канал по 2) от планшетов (они одинаковы). Просто накопилось. Мощность, к сожалению, узнать не могу. А вот сопротивление - 9-10 Ом. Если с ними будет тихо, то подключу от старых наушников (звук в них был отменный). Там 33.5 Ом. По размерам они (динамики наушников) много больше планшетных.

Вадим Димтревич
08.07.2015, 07:20
Только сейчас посмотрел. TDA2003 - моно! Конечно, для портативного плеера это не принципиально. Можно сделать стерео на Jack выход, а внутри 1 хороший динамик и слить 2 канала в моно. Но все таки. Может посоветуете стерео усилитель с хорошими параметрами?

Вадим Димтревич
08.07.2015, 07:23
P.S. В схеме питание колеблется от 4.8 до 4.4 Вольта. Так что нужно искать усилитель, который бы работал в этом диапазоне.

Вадим Димтревич
08.07.2015, 07:37
1. TDA2005 в наших краях очень дорого стоит и есть лишь в одном месте.
2. TDA2003 - требует большой обвязки. Думаю, что для встроенного в плеер динамика - хватит и одной TDA2003. Динамик съезжу куплю такой: http://jewelfox.ru/lot.php?id=5183 (8 Ом, 1 ватт, 50 мм). Одного хватит.
3. Так же оставлю Jack выход. Чтобы в обход усилителя шел сигнал, к примеру, на наушники.
4. В даташите на TDA2003, в схеме обвязки, закрашенная обкладка поляризованного конденсатора - "минус"?

Вадим Димтревич
08.07.2015, 07:43
Питать от 4-х аккумуляторов AA 3000mAh Ni-MH 1.2V. Не хочу переделывать схему автора по части контроля питания. В конце месяца появится DC-DC преобразователь 0.8В...5 -> 5V. Тогда побалуюсь литий-ионными аккумуляторами с телефонов. А пока так.

Вадим Димтревич
08.07.2015, 08:13
В наших краях нет таких. А ждать месяц не хочется. Что из этого можно выбрать? http://radiodetalki.ru/catalog/advanced_search_result.php?keywords=LM&osCsid=m88lel196iurdo226ivrt1cmd4&x=0&y=0

Вадим Димтревич
08.07.2015, 09:34
Есть ещё такой магазин (спецрадиокомплект). Цены тут кусаются. Но может тут есть? http://www.specrk.ru/catalog/find

freddy
10.07.2015, 15:29
Наконец то пришла посылочка с Китая и я собрал плеер. Плату немного видоизменил. Тоже попробовал поставить TDA2822M вместо TDA7050. Результатами удовлетворен, потребляемый ток, при работе на 32Ом наушники, вырос всего на 6ма. Общий потребляемый ток 47,7ма. Теперь помимо наушников появилась возможность работы на маленькие пассивные колонки от компьютера. Шумов и посторонних звуков на слух не заметно. Однако на печатной плате не предусмотрено места под дополнительные конденсаторы и резисторы обвязки, поэтому желающим использовать TDA2822 придется их ставить в "раскарячку".
Еще поигрался с резистивным согласованием уровней и добился приемлемых результатов. Подтяжка сигнала MISO к +3,3В дала отличный результат, 12 из 12 моих карт памяти работали отлично.
Вот как выглядит мой плеер:
52811
Пока без корпуса. На выходных опубликую немного видоизмененную схему. Хочу сделать подсветку дисплея хардварной, решил на нее пожертвовать целый таймер :)

freddy
10.07.2015, 19:55
Вот нарисовал:
52812
Вот в хорошем качестве:
52813
Версия железа теперь 1.2.

Astrolux
10.07.2015, 21:12
Если ставить динамик и запитывать плейер от батарейки "Крона" 9В, то усилитель звуковой частоты возможно построить на микросхеме К174УН4 (аналог TA300).
http://chiplist.ru/chips/K174UN4B/
http://chiplist.ru/chips/K174UN4A/

Правда, миниатюрный динамик и такой усилитель скорее подходят для карманного радиоприёмника (новости послушать и передачи), а AY-музыку лучше слушать на хороших больших динамиках со встроенным усилителем.

dosikus
10.07.2015, 21:19
Без нормального питания, хотя бы 9В не получится получить больше 0,15...0,2Вт,
Ох уж эти пЫнгвины, учат других а сами полный нуль.
3W от 5V не хотишь, за копейки ???? :biggrin:
http://ru.aliexpress.com/item/PAM8403-Super-Mini-Digital-Amplifier-Board-2-3W-Class-D-Digital-2-5V-To-5V-Power/1822706737.html
http://ru.aliexpress.com/item/3pcs-Lot-Super-Mini-Digital-Amplifier-Module-Amplifier-Board-with-USB-Power-Supply-3W-R-L/1428157808.html

Astrolux
10.07.2015, 21:29
Ни в коем случае, старое устаревшее Гуано, с кучей искажений, нужно быть извращенцем, чтобы это собирать, не путайте цифровую технику и аналоговую, разные вещи.

Для какого динамика? Может быть, небольшой ламповый усилитель сделать для 1-ваттного динамика?

dosikus
10.07.2015, 21:30
Viktor2312, Ты здесь ***р*аешься с КНИ , даже и не вкусив D класс .
Изучай http://pdf1.alldatasheet.com/datasheet-pdf/view/246505/PAM/PAM8403.html
И не пугай нубов , подключив свою шняжку он и не ощутит твоих страшилок,
тепло-ламповый любитель. :))))))
Заодно выкинь свой мобильник - не кошерно же D класс . :))))))))

На счет сей платки - подключено через это с одной банкой 18650. Нагрузка совковые 3ГДШ . На полную отрабатывает почти сутки.
Звук приемлемый , жрет мало....

Упс... Не могу найти в продаже.
Вообщем зарядник LiOn +step_up 5v+ защита...

Astrolux
10.07.2015, 21:39
Для наушников вполне подойдет TDA1308.
http://www.nxp.com/documents/data_sheet/TDA1308.pdf
А слушать AY-музыку на 1-ваттном динамике как-то странновато.

dosikus
10.07.2015, 21:45
Витя, в чем проблема взять и испытать, коль моим ушам не доверяешь.
Однако втирать теплый ламповый звук и устаревшие чипы в тему ветки - это жестоко . :)))))))

Astrolux
10.07.2015, 21:50
Может, я что-то не понимаю, но какой смысл выбирать микросхемы усилителей Hi-Fi класса под динамик для спичечного коробка...

dosikus
10.07.2015, 21:50
Astrolux, +100500
Полностью согласен. Это просто гнутие пальцев - обыкновение для пЫнгвина .
Он где-то когда-то услышал что D класс г....

dosikus
10.07.2015, 21:57
Ты не поверишь, я этого говна D класса навиделся уже кучу

У меня дежявю? Я недавно наблюдал твои плевки в сторону импульсников одновременно с хвалебными одами трансформаторам.
Ты повторяешься. Может пора начать изучать современную схемотехнику ?

goodboy
10.07.2015, 22:34
а всё дело в нюансах, там маленький нюанс утерян, в другом месте и уже совсем другое впечатление от прослушанного, хотя объяснять это бесполезно, это надо слышать.
и что ты такого услышишь на 3х каналах по 4ре бита ?

(у тебя член в жопе и у меня, но есть один нюанс)

balu_dark
11.07.2015, 08:34
Дааа интересная полемика. Это наверно писк моды сейчас на динамик с характеристиками 300...8000 Гц 50дб или даже худшим по параметрам, ставить усилители класса А.
Витя - можно конечно и к твоему мобильному телефону поставить дисплей 42" ( ну а чо - и тру колор 21 бит, и фулл хд разрешение, и видно издали) но выглядеть это будет по идиотски. Для мобилы которая дает монохромное разрешение 48 на 96 точек.

Вот чисто имхо - может не стоит залезать в каждую ветку и кричать о длине своего .... Складывается впечатление - подкрепляемое статистикой и мнением психологов , что там либо вообще ничего нет , либо не больше 4х см.

Я конечно понимаю что все люди тупые а Витя - гений. Но это уже напрягать начинает. Хотя такую манеру уже наблюдаю у Вити года 2. Но уже и меня начинает доставать. Тяжело на нашем форуме жить специалисту во всех областях знаний - вони много а дел - ноль.

Хотя команда КВН Пятигорска - вроде ниче была - может вам стоит сменить деятельность? Там и признание будет , и деньги платят за острый ум?

goodboy
11.07.2015, 10:00
Фотография в журнале —
У костра сидит отряд.
Вы Витюню не узнали?
Он уселся в первый ряд.

Бегуны стоят на фото
С номерами на груди.
Впереди знакомый кто-то —
Это Витя впереди.

Снят Витюша на прополке,
И на празднике, на ёлке,
И на лодке у реки,
И у шахматной доски.

Снят он с летчиком-героем!
Мы другой журнал откроем
Он стоит среди пловцов.
Кто же он, в конце концов?

Чем он занимается?
Тем, что он снимается!

freddy
11.07.2015, 11:48
Господа, прошу прощения что вклиниваюсь не в тему, но все же вынужден выложить прошивку v1.2 с управлением подсветкой дисплея. Ну потому что обещал :)
В EPROM по адресу 0х01 лежит байт времени послесвечения. Можете его значение менять под себя. Рассчитать просто: 0,033сХ[байт], т.е. там сейчас 150 и это значит что после отпускания кнопки еще 5с будет гореть подсветка.
Вот она:

Вадим Димтревич
11.07.2015, 17:33
Пока, на мой взгляд так, более менее по параметрам:
LM4906 (2,6...5,5В; 1Вт; 0,2%)
LM4914 (2,5...5,5В; 1Вт; 0,33%)
LM4990 (2,2...5,5В; 0,5Вт; 0,2%), (2Вт; 1%)
LM4991 (2,2...5,5В; 0,5Вт; 0,2%), (1,3Вт; 1%)
LM4992 (2,2...5,5В; 0,5Вт; 0,15%)
---------- Post added at 11:08 ---------- Previous post was at 10:09 ----------
Ну, а самый лучший и отличный вариант, который уже реально приемлемые параметры имеет, это TPA6211A1-Q1
2,5...5,5В; 8Ом; 1Вт; 0,02%)
Попросил знакомого руководителя магазина радио деталей заказать что-нибудь из этого. Надеюсь, что закажет большинство или с наилучшими параметрами.
Последние 2 дня был на даче. Взял с собой кучу заранее приготовленных самодельных проводов для беспаячной платы, все компоненты, и поехал собирать плеер. Вышло следующее.
http://zx-pk.ru/picture.php?albumid=149&pictureid=1046
На 9V не смотрите. Стабильный источник питания не взял. Но случайно нажал на калибровку. Питал от 4-х аккумуляторов NiMH типа на 3000 мА/ч за 45 рублей штука (самые дешевые, что только были в городе). В процессе сборки не удалось подключить усилитель (TDA7050). При попытке подать на него питание - питание на всей схеме сильно проседало и устройство переставало работать. Видимо, тока аккумуляторов недостаточно для того, чтобы питать этот усилитель. Если подключить динамик на 1 Ватт к звуковым выводам, то ясное дело, звук безумно тихий. НО! Если подключить наушники-затычки (сопротивление 33.5 ома каждый), то звук весьма громкий. И не требуется никакого усилителя вообще. Так что я решил избавиться от этой "лишней" детали. Пока что. Если я не прав - прошу поправить. На выводы звука по каналам поставил на каждый по RC цепочки из 100 нФ и 33 Ом. Это помогло избавиться от слабых шумов (или мне просто так показалось...).
Так же решил попробовать подключать micro-sd карту через преобразователь SN74HC244N. Итог. Все так же 1 карточка опознается, а вторая FAT ER. Так что дело не в подтяжке.
Сейчас, вдоволь намучившись с проводами, принялся разводить плату. Пока что без усилителя (если что - подскажете, добавлю) с SN74HC244N.
P.S. На даче (компьютера не было), очень ощутил все надобность кнопки "Удалить")))
P.S.S. Подсветку проверять не буду. Сделаю по вашей схеме на КТ315.

freddy
12.07.2015, 05:57
При попытке подать на него питание - питание на всей схеме сильно проседало и устройство переставало работать. Видимо, тока аккумуляторов недостаточно для того, чтобы питать этот усилитель.
...эм, ну просто нет слов. Затрудняюсь это комментировать. Вот выдержка из доки по TDA7050, сверху обведен ток покоя, снизу ответ по поводу его шумности. Сами попытайтесь сделать выводы:
52822


Так же решил попробовать подключать micro-sd карту через преобразователь SN74HC244N. Итог. Все так же 1 карточка опознается, а вторая FAT ER.
Дело тут не в согласовании уровней, а в том, что плееру не нравится формат карты. Если ФАТ ЕР, значит инициализация карты успешна! Иначе бы получили КАРД ЕР.


Так что дело не в подтяжке.
Касательно вопроса физического интерфейса MCU<->SD Card ДЕЛО КАК РАЗ В ПОДТЯЖКЕ!!!

Вадим Димтревич
12.07.2015, 07:22
...эм, ну просто нет слов. Затрудняюсь это комментировать. Вот выдержка из доки по TDA7050, сверху обведен ток покоя, снизу ответ по поводу его шумности. Сами попытайтесь сделать выводы:
Я смотрел... Не должно быть такого. Но есть. При работе от USB - все работает. Но от аккумуляторов - не хочет в упор. Да и не нужно мне это, как выяснилось.

Дело тут не в согласовании уровней, а в том, что плееру не нравится формат карты. Если ФАТ ЕР, значит инициализация карты успешна! Иначе бы получили КАРД ЕР.
Что интересно, обе карты форматировались стандартными средствами Windows с одинаковыми параметрами. На днях еще куплю карт. Ради теста.
Касательно вопроса физического интерфейса MCU<->SD Card ДЕЛО КАК РАЗ В ПОДТЯЖКЕ!!!
Физической совместимости уровней - да. Как вы сами ответили выше, у меня проблема с FAT-ом. Для согласования уровней я оставлю конвертер. Хоть он и много занимает, зато железно все карты будут совместимы. Слишком много потреблять он не должен.
В данный момент в Altium Designer прорисовываю все компоненты с нуля. Стараюсь по ГОСТ-у. Осталось чуть-чуть. Далее начну разводить плату. К вечеру, вероятно, будет готово.

---------- Post added at 11:22 ---------- Previous post was at 11:07 ----------

Кстати говоря. Хотелось бы уточнить по-поводу некоторых новых компонентов.
R9, R8 - раньше были 220 ом, сейчас 510. Я ставил 200, работало. Стоит ли беспокоиться?
C4, C3 - раньше было 50 мкФ, сейчас 100. С какой целью это сделано? В наличии есть и те и те. Могу включить или 50 или 100.
R5, R7 - раньше было 3 КОм, сейчас 4.7 КОм.
R4, R6 - были 5.6 КОм, стали по 10 КОм.
Так же вопрос с генератором. С какой целью заменены были:
C12 270 на 33 пФ.
С10 100 на 33 пФ.
Еще смущает измененный делитель напряжения из R2 и R14. Есть ли смысл менять? Вообще, с какой целью все эти преобразования?

Вадим Димтревич
13.07.2015, 05:44
Убил весь день для создания компонентов в Altium Designer и составление схемы. Развожу плату. Решил применять все компоненты в DIP-е. Чтобы не было проблем использовать повторно. Так же LCD, клавиши, SD карта - все будет на одной плате и четко фиксировано. Использую компоненты из предыдущей схемы (1.2, кажется) + транзистор с подтяжкой и ограничением силы тока для подсветки.

freddy
13.07.2015, 08:18
Еще смущает измененный делитель напряжения из R2 и R14. Есть ли смысл менять? Вообще, с какой целью все эти преобразования?
Менять не стоит, пусть работает так. Преобразования для экономии пары-тройки миллиампер потребляемого тока. Ну а сумматор каналов так сделал, потому что чисто на слух средний канал как то чрезмерно громко воспринимался.

---------- Post added at 08:18 ---------- Previous post was at 07:54 ----------

Еще я подумываю о графическом дисплейчике... Смотрю на дийсплей от Nokia 3310, 5510, нравится. Маленький, экономичный, дешевый. Как раз под портативную технику.
Еще смотрю на дисплейчик на контроллере HX8357B от ардуино мега. Красивый, большой и тормозной :)

Вадим Димтревич
13.07.2015, 11:05
Менять не стоит, пусть работает так. Преобразования для экономии пары-тройки миллиампер потребляемого тока. Ну а сумматор каналов так сделал, потому что чисто на слух средний канал как то чрезмерно громко воспринимался.
Если продолжите проект, то, уже с экраном и спектральным анализатором на графическом LCD и кнопкой "удалить", добавлю новые компоненты для экономии энергии. Пока же развел печатную плату двустороннюю. Собирать такую - ад. Но зато компактно и DIP все. Поменять труда не составит. + LCD закреплен.
http://zx-pk.ru/picture.php?albumid=149&pictureid=1049
После сборки и проверки выложу все исходники. Пока, чтобы не вводить людей в заблуждение, пусть будут у меня.

Ewgeny7
14.07.2015, 20:04
Избавились бы вы от WH1602, он жрет как слон...
Действительно, Нокиа-3310 будет лучше.

freddy
15.07.2015, 06:00
Избавились бы вы от WH1602, он жрет как слон...
Слон жрет намного больше! См. даташит:
52855
Это выдержка из Винстаровскго даташита. Мои же сотни таких дисплейчиков от неизвестных производителей никогда не жрали больше 0,9ма - это совсем не много по сравнению с тем же AY.
Насчет дисплейчика пока думаю. От нокии 3310 всем хорош, но мелковат :)

Ewgeny7
15.07.2015, 11:05
Да, посмотрел даташит на свой QC1602A.
Логика - 1,5мА, подсветка - 150мА!
Если дисп позволяет работать без подсветки, то вполне экономично выходит.
А если нет...

---------- Post added at 11:05 ---------- Previous post was at 11:04 ----------

Извиняюсь за назойливость, а вы таки используете 8-битный интерфейс подключения дисплея?

freddy
15.07.2015, 15:50
Да, посмотрел даташит на свой QC1602A.
Логика - 1,5мА, подсветка - 150мА!
Если дисп позволяет работать без подсветки, то вполне экономично выходит.
А если нет..
Позволяет полностью работать без подсветки, он очень контрастный, крупные символы хорошо видно на солнце и ночью при свете фонарей. 150ма - это наверно у тех производителей, которые не экономят на светодиодах. Мне попадались в основном с подсветкой 40-100ма, вполне терпимо.

Извиняюсь за назойливость, а вы таки используете 8-битный интерфейс подключения дисплея?
Да использую, быстро через него получается выводить :)

freddy
15.07.2015, 17:30
Вот печатка v1.2. На ней стабилизатор AMS1117-3.3 (SMD). Усилитель TDA2822М, его выходные RC цепочки паяются снизу навесиком, электролиты на выв. 8,5 сверху, "+" на вывод микросхемы, под "-" есть отверстия. Для подсветки использован транзистор в корпусе SOT23 и два резистора DIP, без сверления отверстий. На почти такой плате собран мой плеер, фото здесь: http://zx-pk.ru/showpost.php?p=816823&postcount=119
Уже 2 недели ведет себя хорошо :)

Вадим Димтревич
18.07.2015, 06:54
Ну что же. 4 дня отладки/сборки и мой плеер готов. Вот фотографии с разных ракурсов:
http://zx-pk.ru/picture.php?albumid=149&pictureid=1050
http://zx-pk.ru/picture.php?albumid=149&pictureid=1051
http://zx-pk.ru/picture.php?albumid=149&pictureid=1052
http://zx-pk.ru/picture.php?albumid=149&pictureid=1053
Вот ссылка на мое облако (файлы проекта + библиотека): https://cloud.mail.ru/public/CQd5/LuwMyhzmt
Отличия в реализации: Моя плата построена по предыдущей версии плеера (1.1). Из отличий - использую вместо 220 Ом - 200, вместо резисторов-подтяжек - микросхему-преобразователь. Так же в моей плате отсутствует усилитель. Мне он, просто напросто, не нужен. В моих наушниках (33.5 ома каждый канал) звук громкий.

О работе: Тестирую второй день. Пока замечаний нет.

О сборке: Я очень глупо поступил, когда посчитал, что просунуть между слоями пару десятков перемычек из луженой проволоки из гибких проводов - легко. Пока собирал, понял всю глупость моих рассуждений. Зато такой подход позволил сэкономить место и сверла... Все отверстия в плате (за исключением 4-х под закрепление LCD) 0.8 мм. Я изготавливал двустороннюю плату из 2-х однослойных толщиной 0.8 мм каждая. Не делайте так. Очень глупо. В процессе лужения всех дорожек (дабы исключить дефекты в виде прерываний), канифоль проникает между неплотно сжатыми слоями. Исправить это уже необычайно трудно. Так что лучше изготавливать на двустороннем текстолите. У меня в наличии просто такого не было. Для более легкого изготовления советую собирать плату в таком порядке: просверлить отверстия, зачистить нулевкой (избавится от заусенцев и повысить сцепку с припоем), пролудить всю плату (проверив, чтобы в отверстиях не было канифоли), стереть ацетоном всю канифоль с платы (потом это будет проблемотично), вставить все перемычки (если есть пистоны такого размера (0.8 мм), то вообще замечательно! Нет - проволока в помощь), запаять все резисторы-конденсаторы и другую мелочевку с обеих сторон, снова убрать всю конифоль, впаять кроватки под микросхемы. После этого впаять транзисторы. Ибо полевой транзистор оказался одной из самых дорогих и нежных деталей в схеме.

О схеме: схема и рисунок печатной платы созданы в Altium Designer-е. Под каждый компонент создавал собственную библиотеку. Чужими не пользовался. => библиотека маленькая и имеет мелкие неточности. Кстати говоря. Все микросхемы в библиотеке представлены в двух вариантах: полном (все выводы на схеме разведены, все ножки на плате присутствуют) и "частном" (на схеме только используемые пины, на плате так же только нужные. Остальные нужно будет из кроватки щипцами вытащить. Это позволяет сделать разводку платы легче). Так же в Output job files есть 2 готовых режима печати для ЛУТ. Плату делал без полигонов (дабы не мучиться с замыканиями). Но вы можете легко добавить их.

Об отладке: у меня были проблемы с отображением изображения на LCD. Думал, что из-за обилия конденсаторов AVR успевает проинициализировать LCD раньше, чем он включится. Но проблема оказалась в трещине дорожки. Так же мучился с "сопротивлением на выводе". Иначе говоря, между двум точками, например, цепи Vss было сопротивление, которого быть не должно. Проблема решилась допайкой недостающих перемычек (по началу не все впаял, думал - потом). Схема выполнена таким образом, чтобы шина данных шла сначала к AY, а потом к LCD. Логика проста. Если на LCD есть изображение => через AY так же идут нужные данные и разрывов цепи нет.

В целом разработка платы для этого плеера стала не плохим опытом. Но плеер получился большеват. Когда эксперементировал с ЛУТ на ламинаторе, то удалось перенести дорожки в 0.1 и 0.2 мм без проблем. Так что в скором времени я займусь переделкой плеера под SMD компоненты. Дабы уместить весь плеер под LCD экраном. Но вот питание... 4 батарейки AAA убивают всякую компактность. Сейчас жду преобразователя 0.8V -> 5V. Чтобы питаться от литий-ионного аккумулятора маленького размера. Его и заряжать прямо на плате можно будет. Правда придется доработать схему так, чтобы контроль напряжения был смещен до нужного литий-ионному аккумулятору уровню. Но это ведь проблем не составит? (Имею ввиду в программе поменять и в схеме пересчитать компоненты контроля питания, если нужно). Так же очень интересно, когда будет версия с LCD дисплеем от нокии или подобным. Я бы сразу разводил под него. Компактность бы возросла в разы.
P.S. Сзади заклеил особо нежную часть платы изолентой. Так как если пометить палец на эти места - плеер начинает жутко глючить. (Видимо, замыкаю контакты). Так как плеер у меня без корпуса (и врят ли у этой версии он будет), то изолента хорошее решение.

freddy
18.07.2015, 14:17
4 батарейки AAA убивают всякую компактность. Сейчас жду преобразователя 0.8V -> 5V. Чтобы питаться от литий-ионного аккумулятора маленького размера. Его и заряжать прямо на плате можно будет. Правда придется доработать схему так, чтобы контроль напряжения был смещен до нужного литий-ионному аккумулятору уровню. Но это ведь проблем не составит? (Имею ввиду в программе поменять и в схеме пересчитать компоненты контроля питания, если нужно). Так же очень интересно, когда будет версия с LCD дисплеем от нокии или подобным. Я бы сразу разводил под него. Компактность бы возросла в разы.
К стати о питании...
Сейчас думаю о фиче универсального питания. Т.е. плееру пофиг будет на тип и количество аккумуляторов. Может быть одна банка Li-Ion или 6 банок Ni-Cd, пара-тройка тяговых банок Pb от подводной лодки... Запитка от этого хозяйства может быть через разные преобразователи импульсные стабилизаторы и т.д. Я просто положу в EEPROM байт с минимальной величиной напряжения, при котором плеер будет отключаться и все. Дальше каждый сам настроит под удобную батарею. Критические величины минимального напряжения для любого типа аккумуляторов двно определены. Ограничение останется на напряжении батареи (не более 10В), так как измерительный делитель делит на 4, а опора АЦП 2,5В

Пока самый компкатный вариант 55х50мм, он на AY-3-8912, эскиз платы в посте 91. Но к сожалению готового образца ни одного не осталось, их было выпущено всего 6 штук. Эта версия доказала на практике, что SD карты спокойно питаются от 4,2В и не дохнут, но это только в нашем случае, когда нет записи.
Если будете делать под СМД, то делайте с двухстрочником, только на плату его не надо. Коннектор очень громоздкий. Лучше на гибкий шлейф и в крышку корпуса. И еще... бывают двухстрочники и поменьше, чем 1602A, сильно поменьше :) 1602(S,T,V). Еще есть всякие дисплейчики от факсов и телефонов, типа M392 и прочие M3хх. Вот они совсем маленькие и полностью совместимы с HD44780.

Вадим Димтревич
18.07.2015, 16:00
Отличная идея (положить в eeprom значение минимального уровня напряжения)! 10 вольт - отлично вообще. Можно будет, к примеру, от аккумулятора типа "крона" питать (через стабилизатор типа ams1117). Попробую на днях, кстати. Буду ждать эту прошивку. Опробую у себя. После получения сюпреобразователей основательно начну приводить плеер в порядок. Нужно закончить уже этот проект! Кстати. Вы будете реализовывать анализатор спектра на LCD, как в плеере от Бульбы? И все таки, хотелось бы видеть "Удалить"))) У вас есть способ покетной конвертации? А то в плеере от Бульбы лишь по одной штуке.

---------- Post added at 20:00 ---------- Previous post was at 19:19 ----------

Брать AY поменьше не буду. Просто негде за приемлимые деньги. А вот LCD совместимые посмотрю. На плату думаю поставить micro-sd разъём. Он небольшой.

creator
18.07.2015, 17:00
Брать AY поменьше не буду. Просто негде за приемлимые деньги.
Эээ, такую разработку не грех и поддержать комплектующими. Сбрось в личку адрес, вышлю AY-3-8912A.

На плату думаю поставить micro-sd разъём. Он небольшой.
Очень разумно.

freddy
19.07.2015, 07:11
А можетYMZ284/294 ? Они совсем мелкие :)

freddy
19.07.2015, 09:02
Вот очередная версия софта, добавлена возможность работы от батарей других типов, напряжением до 10В.
Карта EEPROM:
0000 0х03 - калибровка вольтметра
0001 0х96 - время подвсетки*0,03[с]
0002 0х6F - нижний порог разряда батареи/25[В]

freddy
19.07.2015, 09:12
Над держателем карты памяти как раз есть место чтобы развести step up конвертер. Хочу сделать на дешевой mc34063. Питать можно от одного Li-Ion элемента типа 18650 или двух AA элементов Ni-Cd/Ni-Mh.

Вадим Димтревич
23.07.2015, 07:24
Дополняя библиотеку для AD, вспомнил, что у atmega8a в smd исполнении (TQFP) есть 2 дополнительных ADC вывода. Предлагаю:
1. С PC0 делитель напряжения перевесить на ADC6, чтобы освободить логический вывод.
2. На ADC7 повесить фоторезистор/транзистор, чтобы при помощи ШИМ-а управлять яркостью дисплея во время подсветки. Просто раздражает, когда ночью он светит очень ярко, а днем чуть видно. Параметры кривой зависимости яркости экрана от показаний с фототранзистора так же можно закинуть в EEPROM.
P.S. Попросил друга сделать коробку к первой версии плеера. Будет довольно громоздко, зато очень удобно и надежно. Коробка будет печататься на 3D принтере. После сборки выложу фото и чертежи для компаса. А так же модель для печати.

---------- Post added at 11:24 ---------- Previous post was at 11:13 ----------

Кстати о яркости... При разряде аккумуляторов (4 Ni-MH) очень страдает контраст экрана. Вот думаю, может через I2C подключить цифровой резистор? Одну ножку уже освободили.

freddy
16.08.2015, 16:36
Всем привет!
Меня здорово озадачили присланные файлы, которые приводили к зависанию воспроизведения. Долго парился, оказалось дело не в бобине. Почему то некоторые файлы при конвертировании в PSG страдают... Не корректно генерируется конец файла и прерывание плеера никак не может завершиться. Пришлось принудительно дописывать файлам правильный "конец". Все играет, звук как всегда волшебный. Выкладываю подправленную прошивку:

freddy
16.08.2015, 17:14
Кстати о яркости... При разряде аккумуляторов (4 Ni-MH) очень страдает контраст экрана. Вот думаю, может через I2C подключить цифровой резистор? Одну ножку уже освободили.
Не надо цифровой резистор, попробуйте так:

Вадим Димтревич
25.08.2015, 19:10
Предисловие: Извиняюсь за долгое отсутствие. Был занят другим проектом. А тем временем, пинками, но все же, я уговорил друга, который идет учиться на ПГС, сделать мне коробку для нашего плеера. Это его второй проект. Первый был с кучей ошибок, но терпимо. В этот раз поучилось лучше. Но ошибки в проекте все таки есть. Но немного напильника, дрели, наждачки и все будет хорошо. Огромное ему спасибо за этот труд)
Коробка: Коробка состоит из трех деталей. Крышка над печатной платой (там, где экран), крышка отсека закрытия батарейного держателя (хоть и сам батарейный держатель у меня в закрывающейся коробке, для большей эстетики, решил его запихать в корпус), основная часть коробки: дно и стены. Коробка печаталась на Picaso 3D принтере. Принтер далеко не лучший... Мягко говоря. Детали были напечатаны со второго раза... Печатал тоже мой знакомый. Печатал в "Композит"-е. Это ФабЛаб. Так что мне коробка досталась бесплатно (типа школьник/студент). Качество печати - не очень. А печаталось все вместе 4 дня. После печати коробку придется обработать напильником и наждачкой (ацетоном, от которого пластик плавится, я обрабатывать не решился). Результат весьма приемлемый, но не идеальный. Коробка в районе экрана, кнопок, регулятора громкости, гнезда наушников, выглядит не очень хорошо. Т.к. нужно напильником доработать ошибку размещения отверстий. Сами же отверстия, хоть и сделаны миллиметр в миллиметр + запас по миллиметру в радиусе каждого отверстия - все равно оказались кривыми. Из-за качества печати и смещения платы. Но это поправимо. Вот немного фотографий.

http://storage5.static.itmages.ru/i/15/0825/h_1440518010_9767974_e658729c66.jpg
http://storage1.static.itmages.ru/i/15/0825/h_1440518014_8325714_4ae9aadc59.jpg
http://storage3.static.itmages.ru/i/15/0825/h_1440518016_5719554_b69011b0a0.jpg
http://storage3.static.itmages.ru/i/15/0825/h_1440518016_1736129_671f86911e.jpg
http://storage2.static.itmages.ru/i/15/0825/h_1440518014_8639406_0eb37abbf5.jpg
http://storage8.static.itmages.ru/i/15/0825/h_1440518013_4324647_3439b0a24f.jpg
http://storage8.static.itmages.ru/i/15/0825/h_1440518013_9038090_8b6efd1bfb.jpg
http://storage8.static.itmages.ru/i/15/0825/h_1440518013_4525203_3fb869edda.jpg
http://storage7.static.itmages.ru/i/15/0825/h_1440518012_2582018_ea10a981b0.jpg
http://storage7.static.itmages.ru/i/15/0825/h_1440518012_8002967_a52ebc9171.jpg
http://storage7.static.itmages.ru/i/15/0825/h_1440518012_7486410_641994aa43.jpg
http://storage5.static.itmages.ru/i/15/0825/h_1440518011_2483341_c7a58796d9.jpg
http://storage5.static.itmages.ru/i/15/0825/h_1440518011_6435708_3bf5b6d3cf.jpg
http://storage6.static.itmages.ru/i/15/0825/h_1440518011_5770594_bb5f98642a.jpg

Теперь немного о плате. Когда я ее запустил, то пришлось столкнуться с несколькими глюками. Если у кого будут такие же, то вот как их решать.
1. При нажатии на клавишу включения (самая правая, если смотреть сверху), загорается подсветка и тут же тухнет. Или вообще не включается. Причем замыкания между + и - нет. Как оказалось, переходное отверстие под переменным резистором (регулятором громкости) расшаталось. Проводок, который соединял 2 стороны касался соседних контактов. Повторная перепайка решила проблему. Так же пропаял еще раз разъем SD карты. Не знаю, помогло или нет, но когда-то плохой контакт в этом месте доже нарушал работу.
2. Звук трещит/плавает при вставленном генераторе тактовой частоты, а если поставить палец на генератор при играющей музыке, то начинает дико глючить звук. Так же при нормальной игре, нажав на паузу, звук зависал на последней играющей ноте. При этом, даже нормально играя, микросхема жутко греется. Как оказалось, проблема была в двух вещах. Первое: конденсатор (104) внутри кроватки немного высовывался выше уровня кроватки. Как следствие, генератор иногда некоторыми пинами был плотнее прижат к кроватке, чем в других местах. Иногда контакт отходил. Я перепаял конденсатор на нижнюю сторону.

http://storage6.static.itmages.ru/i/15/0825/h_1440518017_8793641_86268621c7.jpg
Так же оказалось, что проблема в самой микросхеме. У меня была под рукой другая. Подключил ее - проблемы исчезли: микросхема не греется, если поставить палец, то звук не рушиться, микросхема стоит устойчиво всеми пинами.
В ближайшее время хочу доделать коробку, чтобы выглядела идеально. Фотографии выложу. Вот файлы коробки. Кто разбирается в компасе - может подредактировать. Или сразу же распечатать готовые.
О креплениях: внизу (между нижней стенкой (дном) и платой) стойки на 14 мм.
Так же не знаю. Нормально ли, что напряжение в аккумуляторах доходит до 6 вольт. Выдержат ли компоненты? Была идея добавиться стабилизатор на 5 вольт. Но вот незадача. 78L05 может понижать лишь от 7 вольт... Так что зря мучился и делал преобразователь.
http://storage4.static.itmages.ru/i/15/0825/h_1440518017_6529055_9d35d000fa.jpg

---------- Post added at 23:10 ---------- Previous post was at 22:40 ----------

Кстати говоря. Спасибо creator. Посылку с чипом получил. Уже давно. Да вот руки не доходили. Как доделаю коробку, выложу фото, исходники для Компас 3D и начну выбирать платформу для своего плеера (буду делать с нуля). Со своим графическим меню, LCD, питанием и кнопкой "Удалить". Скорее всего, на STM32L - т.к. они мало кушают.

Rindex
26.08.2015, 11:26
Всё нормально, но фотки такого размера нужно в спойлер запихнуть.

Вадим Димтревич
26.08.2015, 14:45
Немного обработал коробку ацетоном + ватный тампон (чтобы убрать все неровности). Получилось вот так.
http://storage3.static.itmages.ru/i/15/0826/h_1440588324_3626100_111c65b817.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440588324_9099967_092e47b37b.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440588323_3159636_ca07108ecf.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440588322_7499574_45b1f783b8.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440588322_5579570_0c751a25d6.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440588322_8777143_d42c757366.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440588321_8477708_c771bdbecd.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440588321_9497688_560e102db0.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440588320_5993962_b32e02fcf5.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440588319_8317757_460be08f38.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440588319_7608454_3d8a314a78.jpg
http://storage5.static.itmages.ru/i/15/0826/h_1440588319_2144177_158e701863.jpg
http://storage5.static.itmages.ru/i/15/0826/h_1440588319_9492005_c126480031.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440588317_6886124_92e87de925.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440588317_6886183_7698fdb3b6.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440588317_7982640_a495f9c604.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440588316_2320642_de9a7d42ba.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440588316_6378581_081bd6297d.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440588315_6541686_0baf6b2d20.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440588314_3049003_03c768a69e.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440588315_7416175_fa2d8a05b0.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440588314_9843857_88a51255c5.jpg

Вот процесс покраски.

http://storage5.static.itmages.ru/i/15/0826/h_1440588683_8006062_aa9b20274c.jpghttp://storage5.static.itmages.ru/i/15/0826/h_1440588684_3786682_7170aae491.jpg
http://storage5.static.itmages.ru/i/15/0826/h_1440588684_3702712_1794ec3a24.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440588686_6219698_016d0d4059.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440588686_8309540_2be3f4b42d.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440588686_8790826_c6b4c9838f.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440588687_3987884_b4193c4b1a.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440588688_1619420_0a0184a8ba.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440588688_2114159_0bec3b1908.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440588689_4172926_c2c0cb4edd.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440588690_1769319_0eae6deb48.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440588691_5381319_d322292c0c.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440588691_1517124_6fb768fd4c.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440588692_4297091_4febfa9208.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440588693_5662700_6351e7128a.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440588693_4313852_476df8f94f.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440588694_4484394_3776b224ea.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440588695_3158573_fcf3987ff4.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440588697_9961558_f8d84bb6e5.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440588697_3281349_7825280524.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440588698_7231724_4585821ec1.jpg

Ну и сборка.

http://storage1.static.itmages.ru/i/15/0826/h_1440589103_5860891_15d544341f.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440589103_4288949_ced325fb41.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440589103_9423106_dd3fe17230.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440589105_1018676_91ba1d793f.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440589105_5751253_1f5c58b7aa.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589106_6389705_8c668a1a7c.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589106_4911651_035be23cd4.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589106_2267908_97c1305570.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589107_9885595_c2654fd258.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589107_5659323_0d3bdfb688.jpg
http://storage5.static.itmages.ru/i/15/0826/h_1440589108_6116328_7388ae028a.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440589108_7719735_6961b1694c.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440589108_3945369_406f7de0c5.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440589109_8544888_35786d56bd.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440589109_4232360_6f1a1de7de.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440589109_2094847_c414de2c81.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440589109_6142876_d8891cfd68.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440589110_2428115_27d5708df4.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440589110_2945436_903a4252ef.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440589111_9696919_e066799a1b.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589111_5366000_4116373bcc.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589111_7716754_7fa5985fd4.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589113_5317498_48910dea98.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589114_1423606_65414c6e20.jpg
http://storage5.static.itmages.ru/i/15/0826/h_1440589115_3102154_6a2ff42802.jpg
http://storage5.static.itmages.ru/i/15/0826/h_1440589116_2834591_b0c9eee64a.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440589116_8935763_d4d3580669.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440589117_9116524_aa0df49c81.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440589117_5246073_b7f8481656.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440589118_7376926_4d3d370add.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589118_1020591_542c55c0b3.jpg
http://storage6.static.itmages.ru/i/15/0826/h_1440589118_8490135_163a1e49e3.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440589119_2088580_257370815b.jpg
http://storage7.static.itmages.ru/i/15/0826/h_1440589119_1107237_c10a3414c3.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440589120_9288516_afc94a68f9.jpg
http://storage8.static.itmages.ru/i/15/0826/h_1440589120_5265803_04f1d766ff.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440589120_5892017_dc5b759720.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440589121_7885670_83c3c026e0.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589122_1756679_086c4876b9.jpg

Финальный вариант.

http://storage4.static.itmages.ru/i/15/0826/h_1440589840_4704905_f75bfcf78c.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589840_4914849_cc2b8fe0e1.jpg
http://storage4.static.itmages.ru/i/15/0826/h_1440589840_5624980_e9439fe45a.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589839_2236051_fac750c24c.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589839_5676043_95724d660a.jpg
http://storage3.static.itmages.ru/i/15/0826/h_1440589839_3526385_3f40a1cc63.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440589838_8817984_8182e4b188.jpg
http://storage2.static.itmages.ru/i/15/0826/h_1440589838_1815222_de841838fb.jpg
http://storage1.static.itmages.ru/i/15/0826/h_1440589838_1664246_61bd64ed9f.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440589837_9012559_8128c58d1b.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440589837_2784140_2967f9f64b.jpg
http://storage9.static.itmages.ru/i/15/0826/h_1440589837_4174355_1d3e1345f2.jpg

Возможно, фотографий через чур избыточно, зато теперь моя душа спокойна)

Вадим Димтревич
26.08.2015, 20:23
Кстати говоря. Вот сейчас подбирал музыку под плеер и попался мне трек в AY, весящий аж 16 кб. Плеер от Бульбы его воспроизводит, но при конвертации с PSG создается файл размером в 70 Кб и даже плеер от бульбы читает его с косяками. А трек интересный. Как быть?

Вадим Димтревич
26.08.2015, 21:10
Так же интересно стало, какого размера плеер может воспроизводить файлы без глюков. Среди архивов Бульбы, песен больше 181 кб - не нашел. Но она проигрывается без проблем. Доволен. Осталось понять, как конвертировать некоторые песни без ошибок в PSG. Параллельно занялся переводом даташита на звуковой генератор. Не люблю пальцем в небо тыкать. И потом начну свой разрабатывать. Прочел описание PSG файла. Очень пригодится, спасибо.

balu_dark
27.08.2015, 09:43
Отверстия бы фальшпанелькой заклеить какой?
Рекомендую для работы с пластиком - закупить такой инструмент:
http://ru.aliexpress.com/item/Useful-Universal-0-14mm-Black-Professional-Reaming-Knife-Drill-Tool-Edge-Reamer-H1E1/32271862748.html
Тут дешевле но торги близятся к концу
http://ru.aliexpress.com/item/Universal-0-14mm-Black-Professional-Reaming-Knife-Drill-Tool-Edge-Reamer/32442896542.html
Ищите по названию reamer tool.
Делает аккуратные круглые отверстия диаметром до 14мм.

kowalski
27.08.2015, 14:18
С конвертированием в .PSG лучше всего справляется ZXTune от Vitamin'a. Бульбовский конвертер, кажется, иногда косячит со счётом интов.

creator
27.08.2015, 15:08
Вадим Димтревич, прикольно, но MicroSD адаптер как-то нехорошо торчит. Утопи его внутрь, чтобы только на полтора милиметра торчал (MicroSD ногтём вытаскивать), место же внутри есть.

Вадим Димтревич
27.08.2015, 15:35
Отверстия бы фальшпанелькой заклеить какой?
Рекомендую для работы с пластиком - закупить такой инструмент:
http://ru.aliexpress.com/item/Useful-Universal-0-14mm-Black-Professional-Reaming-Knife-Drill-Tool-Edge-Reamer-H1E1/32271862748.html
Тут дешевле но торги близятся к концу
http://ru.aliexpress.com/item/Universal-0-14mm-Black-Professional-Reaming-Knife-Drill-Tool-Edge-Reamer/32442896542.html
Ищите по названию reamer tool.
Делает аккуратные круглые отверстия диаметром до 14мм.
Вещь хорошая, не спорю. Но денег на нее нет вообще. Как получу первую стипендию - куплю такую. Тут проблема была в другом. Плата не совместилась с корпусом. Все отверстия были смещены на 2 мм в другую сторону. На фото видно. Я просто не так закрепил крышку. Из-за этого они не сошлись. Пришлось расширять. Моя ошибка.

---------- Post added at 19:35 ---------- Previous post was at 19:31 ----------


С конвертированием в .PSG лучше всего справляется ZXTune от Vitamin'a. Бульбовский конвертер, кажется, иногда косячит со счётом интов.
Благодарю, попробую.

Вадим Димтревич
27.08.2015, 15:43
Вот файлы для Компас-3D и печати на 3D принтере.

Вадим Димтревич
27.08.2015, 16:00
Вадим Димтревич, прикольно, но MicroSD адаптер как-то нехорошо торчит. Утопи его внутрь, чтобы только на полтора милиметра торчал (MicroSD ногтём вытаскивать), место же внутри есть.
Попробовал обрезать пины. Немного стало меньше, но не особо. Ухищряться запихивать разъем глубже не буду. Не хочу. Это не сложно. Но лень. Я лучше займусь планированием проекта нового плеера.
http://storage8.static.itmages.ru/i/15/0827/h_1440680042_6791922_f36af5b36f.jpg
http://storage7.static.itmages.ru/i/15/0827/h_1440680041_6909568_b823e91e3b.jpg
http://storage6.static.itmages.ru/i/15/0827/h_1440680040_7823899_0a894691da.jpg
http://storage6.static.itmages.ru/i/15/0827/h_1440680040_5333754_982580f396.jpg

balu_dark
27.08.2015, 17:11
Как вариант - печатается на бумаге красивая цветная фальшпанелька а потом ламинируется и приклеивается сверху корпуса.

Вадим Димтревич
28.08.2015, 05:56
Как вариант - печатается на бумаге красивая цветная фальшпанелька а потом ламинируется и приклеивается сверху корпуса.
Благодарю. Была такая мысль. В принципе, если заняться, то можно коробку еще раз напечатать. Но нормальном 3D принтере. Так же сделать плату на текстолите в 0.8 (меньше не стоит, а больше по размерам в ламинатор не пролазит) и будет просто прекрасно. Но у меня сейчас другие цели. Пытаюсь подружить Linux с отладочными средствами ST-Link и МТ-LINK (российский J-LINK). Хочу на российском микроконтроллере собрать. Планов много. Нужно делать.

freddy
05.09.2015, 08:45
Так же интересно стало, какого размера плеер может воспроизводить файлы без глюков.
Плеер безглючно играет файло до 16777215 байт (короче 0xFFFFFF байт :)

здорово что Вы свой плеер в корпус поставили, только как по мне, немного великоват вышел и флешки никогда не делайте выступающими. Рискуете обломать об одежду. Чуть позже сфоткаю свой.

Gavrilov_S
08.01.2016, 14:28
Парни я в китае покупал готовый УНЧ Pam8403 мелкая но мощная. Поставил ее во внутрь своего контроллера дисковода и разъем под колонки! Орет слишком громко и без искажения звука. Пришлось поставить регулятор громкости.
Проект очень интересный. Когда нибудь тоже соберу. все запчасти есть в наличии

djspawn
11.01.2016, 20:28
Ребят, Может больше чем пол года назад собрал этот плеер ;) А сейчас залез в тему и смотрю, она активно обсуждается, очень обрадовался что появились изменения, вот сейчас думаю собрать на новой плате автора. Автору РЕСПЕКТ за этот проект, прям ностальгия) Вот кстати мой плеер: https://www.youtube.com/watch?v=vcMxeL7xWlQ на видео его первый запуск)

http://cs624616.vk.me/v624616224/31714/vdJGrhoPZok.jpg
http://cs624616.vk.me/v624616224/3171d/bYIMDBf5E5c.jpg
http://cs624616.vk.me/v624616224/31726/mAdfGO_3fP8.jpg
http://cs624616.vk.me/v624616224/3172f/aY3RRB22lgA.jpg
http://cs624616.vk.me/v624616224/31738/fEme90vSRaQ.jpg
http://cs624616.vk.me/v624616224/31741/bZMpnaFWarI.jpg
http://cs624616.vk.me/v624616224/3174a/rnIi5gWl0RU.jpg
http://cs624616.vk.me/v624616224/31753/6B6kN6MODUw.jpg

freddy
16.01.2016, 12:17
Всем привет! Вот решил написать после долгого молчания. Проект совсем не умер, а очень даже развивается, просто занимался кое-чем другим. Выкладываю схемку преобразователя и контроллера заряда для питания от одной банки лития. Схемка родилась по причине наличия большого количества батареек от смартфонов. Она позволяет сделать плеер маленьким.
Преобразователь 3,7В->5В сделал на SX1308, здесь и так все понятно. На TP4056 собран контроллер заряда. Здесь резистором R5 можно выставлять ток заряда, но не более 1А. У меня 260ма. Когда идет зарядка, горит светодиод HL1 "Заряд", когда зарядка завершена, горит светодиод HL2 "Готово". Здесь же ключ управления подсветкой дисплея.
55577
Схема выполнена поверхностным монтажом на небольшом кусочке одностороннего текстолита. Она приклеивается над картоприемником, там где оставлено пустое место и подсоединяется проводками.
Вот файл с платой в Sprint Layout 5:
55578
+батареи присоединяем к +Bat
Устанавливаем дополнительный разъем для зарядника, оттуда подаем "5VCharge".
Отрезаем дорожку от стока полевого транзистора так чтобы к нему осталась подсоединенной только цепь R2,R14. Это и будет Vin.
В оставшуюся схему подаем Vout.
+BackLight к Vin. -BackLight на коллектор VT2.
Не забываем подправить в EEPROM под свои хотелки нижний порог напряжения батареи, иначе не запустится. Удачи!

freddy
16.01.2016, 12:48
А вот еще немного фоток как выглядит мой плеер :)
Теперь он маленький :)
55580555815558255583
Ну а если серьезно, то давно напрашивается переход на поверхностный монтаж. Может кто то сделает маленькую платку? IRF9Z34 поменяем например на IRLML6402, в DIP останется только AY.

freddy
18.01.2016, 18:18
Всем привет!
Вот еще один полезный архивчик с музыкой. Здесь в основном rave, brakebeat, немного psytrance.
В общем на любителя, всего 790 модулей.
http://qclk.ru/kj/JKhT

Вадим Димтревич
18.02.2016, 14:25
Давно не отмечался в этой темой. Для тех, кто подумал, что я взял бесплатно у creator-а чип и пропал (Большей, кстати, спасибо). Я задумал новый классный проект на основе этого чипа. Сейчас собрал небольшую команду инженеров-единомышленников и делаем одну очень интерсную вещицу) Как только будет альфа версия - выложу сюда. Сразу скажу. Плату сделать самому не выйдет (она как минимум 4-х слойная). В общем, если все получится, то в течении 3-4 месяцев здесь появится весьма интересный пост. Не теряйте :v2_dizzy_vodka3:

freddy
18.02.2016, 15:55
Ох, заинтриговал :) А зачем аж 4 слоя?

Вадим Димтревич
18.02.2016, 21:00
Ох, заинтриговал :) А зачем аж 4 слоя?
Может и больше. В данном проекте важна компактность и автономность) Мы только начали работать над проектом, но у нас четкие сроки. Должны успеть. Так что, до лета определенно должен быть уже прототип готового устройства.

Вадим Димтревич
02.03.2016, 06:43
Разобрался с чипом. А так же с форматом PSG. Вот только вопрос. В PSG отсутствуют указатели времени. Посмотрел анализатором. У вас прерывания идут со строгой частотой. Откуда вы взяли эти "раз в 19.xxxx милли секунд"?
--
Разобрался. Частота 50 Гц у спектрума и 48.828 у pentagon-а)

freddy
03.03.2016, 14:50
На каком выводе Вы смотрели частоту прерываний?

Вадим Димтревич
03.03.2016, 18:44
На каком выводе Вы смотрели частоту прерываний?

По сути, на всех. Но в основном - на управляющих: BC1 (адрес/данные), BDIR (запись выставленных данных на параллельную шину). Кстати заметил интересный прикол. Каждые 20 мс (50 Гц), в независимости от того, есть ли данные или нет, все равно происходит скачек выводов параллельной шины данных). Теперь я примерно представляю, как вы организовали прослойку работы с чипом).

Важный момент. Вы дергали одновременно BDIR и BC1 (когда выбирали регистр). Т.к. я выводы выбрал вразброс, то думал, что нет разницы, в какой последовательности выставлять единицу. Оказалось, разница есть. Распишу, вдруг кому пригодиться.

Для выбора регистра (R0-R15) нужно:
1. BDIR =0, BC1 =0 (Должно быть по-умолчанию, но на всякий случай, повторно выставляю).
2. Выставляем на параллельную шину адрес регистра (играют роль младшие 4 бита, старшие 4 = 0).
3. Потом BC1 = 1.
4. BDIR = 1.
5. BDIR = 0.
6. BC1 = 0.

Для записи данных в уже выставленный регистр нужно.
1. BDIR = 0, BC1 = 0 (так же, должно быть по-умолчанию, но на всякий случай выставляю).
2. Выставляем данные на шину.
3. BDIR = 1.
4. BDIR = 0.
Только так будет работать. BDIR = строб. BC1 - регистр/данные. BC2 всегда = 1, A8 всегда = 1 (если не пользоваться чтением из чипа, что для моих целей, излишне). При этом, при скорости в 8 МГц никаких задержек делать не нужно (между выставлением данные и/или адреса регистра).

Теперь, когда работа с чипом поднята, могу приступить к дальнейшей разработке. Жду платку с STM32F429ZIT6 (нужно графическое ядро в маленьком корпусе, и железа, чтобы про запас). Так на девайс большая нагрузка. Если смогу оптимизировать код по времени то пару фич на основе нейро сети запихаю.

freddy
04.03.2016, 18:22
Жду платку с STM32F429ZIT6 (нужно графическое ядро в маленьком корпусе, и железа, чтобы про запас). Так на девайс большая нагрузка. Если смогу оптимизировать код по времени то пару фич на основе нейро сети запихаю.

На таком камне можно эмулировать 2 AY, 3d пользовательский интерфейс на жирном дисплее с тачскрином, поддержку всех типов флешек и файловых систем и еще на нейро сеть и искусственный интеллект останется :v2_thumb:

Вадим Димтревич
16.03.2016, 15:21
После общения с dosikus я хорошенько подумал и решил сделать бюджетную версию того, что планировал изначально. Все равно пока что нет F4 под рукой. И так, я решил за ближайший месяц сделать плеер со следущими отличиями:
1. Размер должен быть с кредитную карту, а лучше меньше.
2. Тощина не более 5-8 мм.
3. Питание от li-ion.
4. Тонкий дисплей (Вытекает из пункта 2. Какой лучше - думаю. От нокии в городе не могу найти. Но еще поспрашиваю).
Для начала решил вопрос с питанием. 4 дня потратил на покупку всей необходимой мелочевки, разводку пробника и тестирование. По итогу получился следующий дивайс.
http://s017.radikal.ru/i408/1603/8a/3bfa76701fd9t.jpg (http://radikal.ru/fp/1fb79ea3511e4dfd81f9a8655fccc066)
Он состоит из контроллера заряда TP4056 (стоит 10 рублей, способен заряжать li-ion аккумуляторы со скоростью заряда от 130 мА до 1 А. Регулируется постоянным резистором на выводе PROG) + DC-DC преобразователь PT1301. Преобразует с 3-3.7 (аккумулятора) до 5 V (для питания AY). Сам стоит 10 рублей, катушка 10 + диод шоттки за 2. Ну и + танталовый конденсатор (моя инициатива, он просто маленький очень, за 50). На плате все расположено не очень рационально и использованы большие компоненты. В плате плеера буду использовать 0603 и около того.
По тестовой платке: когда изготавливал, забыл отзеркалить... Так что компоненты переворачивал вручную. TP4056 ощутимо греется, если не припаян днищем к плате. Так что полигон продумать нужно. Как по мне, то лучше и дешевле этих двух микросхем к данному проекту сложно что-то найти.

Вадим Димтревич
23.03.2016, 09:43
Сегодня проводил тесты с цифровыми резисторами AS1507 и AS1500 (на них решил поднять смешивание каналов, настройки будут задаваться контроллером). A выходит только на левый наушник. C - только на правый. B делится между левым и правым (его разделение можно будет программно сделать неодинаковым).

Вадим Димтревич
06.05.2016, 06:25
Привет всем!:v2_dizzy_indy:
Получилось дольше, чем я планировал, но все таки. Так уж получилось. Началась учеба в вузе, потом работа... В общем пока влился во все это - прошло время. Я хотел ее месяц назад опубликовать, но так уж получилось, что показал свой проект на работе и получил от профессионалов в этом дел кучу критики и переделывал 5 раз:wink:. Конечно, еще можно править и править, но, по крайне мере, сейчас я уже получил оценку "хорошо", но еще близко не "отлично" :). В следующих проектах постараюсь учесть все советы. В данный момент плата утверждена и через неделю будет заказана в Резоните (=> соблюдены все правила для успешного изготовления). Выкладываю сюда проект и нескольок демонстрационных картинок. Но собирать/заказывать пока не рекомендую. Лучше дождаться, пока я проверю все сам в железе.
http://s50.radikal.ru/i129/1605/5b/93be9280ffcet.jpg (http://radikal.ru/fp/d7353a3e29f74b7d9faa6c5e726b3538)http://s50.radikal.ru/i130/1605/03/5f17352fe495t.jpg (http://radikal.ru/fp/9130cfbe88264cdb8a4d38bfbea01b66)http://s017.radikal.ru/i433/1605/69/2f9b088998dat.jpg (http://radikal.ru/f/s017.radikal.ru/i433/1605/69/2f9b088998da.jpg.html)http://s018.radikal.ru/i526/1605/42/93c351bc76d1t.jpg (http://radikal.ru/f/s018.radikal.ru/i526/1605/42/93c351bc76d1.jpg.html)http://s019.radikal.ru/i602/1605/25/4970a87468d3t.jpg (http://radikal.ru/f/s019.radikal.ru/i602/1605/25/4970a87468d3.jpg.html)
Файл в altium-е: https://cloud.mail.ru/public/MBSY/jjPFDDGiU
Схема в pdf: https://cloud.mail.ru/public/6SkL/H7L4VVhWj

Вадим Димтревич
16.05.2016, 17:04
Перед заказом платы собрал "звуковую часть" на макетке в DIP исполнении и вместо цифровых потенцмометров - переменные резисторы. Чисто для теста. Так вот. Тут я обнаружил, что забыл перед TDA поставить резистор к земле (фильтр низких частот). Успел внести изменения в плату и именно версия 1.1 будет изготовлена. В данный момент - платы оплачены и заказаны (Количество у начальника не уточнял. Она часть мультиплаты). Так вот. Изменения (подытожим):
1. Добавлен фильтр частот перед TDA (после микшера).
2. JTAG пины (хоть и не используются, т.к. в данном чипе Миландр их не реализовал), на всякий случай, подтянул к питанию. Чтобы сюрпризов не было.
Ссылка на файл альтиума и PDF схемы: https://cloud.mail.ru/public/N8ex/stwWTK69u
Кстати говоря, забыл сказать. Основная суть данного устройства - аналоговый синтезатор (софт под PC и программа с железом - часть научной работы). Так что в скором времени будут тестовые прошивки, уровня "поиграться". Функционал плеера постараюсь поднять в первую очередь.

djspawn
03.06.2016, 13:26
Собрана обновленная версия)
https://pp.vk.me/c633723/v633723224/2f1f7/wGki8yKkjg8.jpg
https://pp.vk.me/c633723/v633723224/2f1ee/L8GMUpH9mJE.jpg
https://pp.vk.me/c633723/v633723224/2f1e5/6YASvmPmdTM.jpg
https://pp.vk.me/c633723/v633723224/2f1dc/i1iIoksCcOg.jpg
https://pp.vk.me/c633723/v633723224/2f1d3/eCQT51IIMBY.jpg

freddy
03.06.2016, 16:49
Ух ты, классно смотрится. Стекло от LCD матрицы? До конца лета проект приостановлен, но не заброшен. Нужно доделать поддержку SDHC и переразвести плату под SMD с учетом всех модов. Надо чтоб в карман рубашки помещался:) И усилок будет TDA2822M, с ним играет на 100 ватные колонки :)

- - - Добавлено - - -

А че вольтметр 4,8 показывает? Он от каких батарей работает?

djspawn
04.06.2016, 21:52
Спасибо) Да, стекло от матрицы) да, а в смд будет круто;) Ждем)

freddy
12.06.2016, 18:48
Внутри рассмотрел литиевую батарейку. А чего же вольтметр 4,8 показывает?

- - - Добавлено - - -

Может Вы сигнал на АЦП взяли с преобразователя, а не с батарейки?

djspawn
14.06.2016, 17:51
dc-dc конвертер там на 5 вольт)

Вадим Димтревич
15.06.2016, 18:51
Наконец-то приехали платы! Ура! Завтра на работе постараюсь запаять. Уже нашел некоторые не состыковки. Но ничего фатального пока не обнаружил. Это мой первый заказ в резоните. Размеры - меньше кредитной карты. Предполагаемый вид в сборе - несколькими постами ниже. А теперь - фоточки!)
http://s011.radikal.ru/i316/1606/8e/a31659727885t.jpg (http://radikal.ru/fp/d806c69a04ab428dacc7072e1b8c898e)
http://s020.radikal.ru/i702/1606/7f/c2afb4a8acbft.jpg (http://radikal.ru/fp/f2d9eeedc9c044c69fcd1421fbe9feae)

freddy
18.06.2016, 22:29
dc-dc конвертер там на 5 вольт)
дык на АЦП надо брать не с конвертора а с батареи, а в EPROM прописать желаемый уровень напряжения , при котором плееру пора отдыхать. Т.е. с батареи идет на ключевой транзистор, далее на конвертор и с конвертора в схему. Еще с ключевого транзистора идет на резистивный делитель R2,R14, тот самый с которого АЦП снимает напряжение батареи. И еще с этого транзистора идет + питание подсветки. Тогда все будет правильно. Я в 162 посте писал. А так у Вас процессор не знает сколько там в батарее еще жизни, что приведет к ее скоропостижной кончине. Литий не любит глубокого разряда. Запрограммируйте порог 3,5В и аккумулятор скажет спасибо. См. еще пост 141.

tipa
26.06.2016, 14:19
ох, прям жду не дождусь, что все-таки получится! хотя была в голове идея спросить у знатоков, возможен ли "железный" плеер для музыки не только со спека, но и например родственной по муз. процессору Atari ST. Но почитал тему, пока вопрос отпадает. С удовольствием заимел бы такой девайсик для проигрывания AY.

freddy
26.06.2016, 15:09
хотя была в голове идея спросить у знатоков, возможен ли "железный" плеер для музыки не только со спека, но и например родственной по муз. процессору Atari ST.
Плееру то пофиг что играть, наконвертировать в PSG можно плеером Сергея Бульбы. Кварц на ЗГ AY только заменить на тот который нужен для правильного воспроизведения.

- - - Добавлено - - -

Я как раз когда свой плеер делал, PSG формат выбрал именно из этих соображений.

- - - Добавлено - - -

А можно и нативно поддержать с 10 форматов, мега всеравно большую часть времени простаивает :)

Вадим Димтревич
26.06.2016, 17:59
ох, прям жду не дождусь, что все-таки получится! хотя была в голове идея спросить у знатоков, возможен ли "железный" плеер для музыки не только со спека, но и например родственной по муз. процессору Atari ST. Но почитал тему, пока вопрос отпадает. С удовольствием заимел бы такой девайсик для проигрывания AY.

Первый звук получил. Сейчас решаю вопрос с LCD (Припаивать его не желательно, оплавляется шлейф. Нужно прижать и приклеить, как было сделано в nokia 1202). Далее займусь дописыванием драйверов для потенциометров и клавиатуры (она сделана на сдвиговом регистре, прерываниях и таймерах). После этого можно уже заняться основным функционалом. API USB<->AY-карта - так же протестировал (это даст возможность использовать этот плеер как аналоговый синтезатор). Ну эта фича уже для тех, кто очень захочет. Писать граф. редактор пока времени нет, хотя и хочется. Сейчас весь упор на поднятие основного функционала плеера.
В схеме нашел парочку недочетов, что всплыли на практике. К счастью, пока что они заключаются лишь в выборе компонентов другого наминала. Плата без изменений.
Касательно вопроса о разных чипах. Я хочу в будущем сделать версию с чипом, которым пользовался этот автор https://soundcloud.com/stinsen_gp/scarabaeus. Он мне очень понравился, как Mmcm. В принципе, в основном, из-за его музыки и занялся этим проектом) Если кто сможет подсказать, что за чип использует автор, то говорите. Сразу закуплюсь.

piroxilin
26.06.2016, 19:23
Если кто сможет подсказать, что за чип использует автор, то говорите. Сразу закуплюсь
Так это SID-же , из комодора64.

freddy
27.06.2016, 12:27
Это он. Называется микросхема MOS 6581. Но лучше брать более продвинутую MOS 8580. Судя по звуку scarabaeus использует одну. Однако проще собирать тот же SID-Station или MIDI box SID с сайта http://www.ucapps.de/midibox_sid.html Там уже усе придумано и работает через MIDI. А это сами знаете, как удобно. Можно юзать продвинутые всякие секвенсеры типа Cubase SX. Торстен Клос вобще молодец, такой проект затащил.

tipa
27.06.2016, 14:09
Однако проще собирать тот же SID-Station или MIDI box SID с сайта http://www.ucapps.de/midibox_sid.html Там уже усе придумано и работает через MIDI.

как так раньше мне на глаза не попадалось? я даже искал специально! может потому что искал не так... тут чисто миди-станция.. а я синтезы искал.....
наверное, прикрутить в плеер еще и SID будет не так просто.

Вадим Димтревич
27.06.2016, 16:23
Рас уж на SID сделано столько замечательных, полностью законченных, проектов, то пока трогать его не буду (да и цена в ~2000-3000 не наводит на мысль купить про запас). Про MIDI прекрасная наводка! Я тут свой API начал писать, а можно просто поднять MIDI<->USB. И все. А далее - прямиком к FL studio или тому же кубейсу. Обязательно займусь этим. Сегодня постараюсь закончить с железом окончательно. Будет проект подобный тем, что вы перечислили. Может потом еще выпущу для нескольких AY/YM. Это не сложно.

- - - Добавлено - - -


Это он. Называется микросхема MOS 6581. Но лучше брать более продвинутую MOS 8580. Судя по звуку scarabaeus использует одну. Однако проще собирать тот же SID-Station или MIDI box SID с сайта http://www.ucapps.de/midibox_sid.html Там уже усе придумано и работает через MIDI. А это сами знаете, как удобно. Можно юзать продвинутые всякие секвенсеры типа Cubase SX. Торстен Клос вобще молодец, такой проект затащил.
Не знаю, насколько) Я не люблю пользоваться готовым. Люблю все поднимать с 0 и отлаживать) Пусть другие пользуются, критикуют. Буду допиливать)

EvgenRU
27.06.2016, 21:04
Кстати, у вас там PSG используется, мне кажется это не очень удобно. Рекомендую использовать мой формат RSF, есть описание, примеры кода на C, и проигрыватель с конвертером большинства чиптюнов в RSF. Подробнее можете посмотреть тут http://www.avray.ru/ru/sketches-for-ayym/

freddy
28.06.2016, 08:22
наверное, прикрутить в плеер еще и SID будет не так просто.
Просто. Но плеер станет очень прожорлив, такое уже в карман не положить. Его вообще лучше питать от сети и забить на автономность.
Я не делал все это опять же по причине, что немец меня опередил, сделал он все весьма неплохо.

да и цена в ~2000-3000 не наводит на мысль купить про запас)
Я купил про запас, 10шт за 35$. За SID это нормуль по 3,5 за корпус. Хочу такое спаять https://www.youtube.com/watch?v=txL9l7fI0P4

- - - Добавлено - - -


Рекомендую использовать мой формат RSF
Простите, чем этот формат лучше PSG? Это и есть PSG только хедер немного другой.

EvgenRU
28.06.2016, 20:33
Простите, чем этот формат лучше PSG? Это и есть PSG только хедер немного другой.

Во-первых, заголовок содержит всю информацию о композиции, кол-во фреймов, частота фреймов и чипа, текстовую информацию о композиции.

Данные композиции располагаются гораздо оптимальнее, чем в PSG, не пишутся все 13 регистров во фрейм, а только те, которые изменяются, что уменьшает размер файла минимум в 2 раза.

Но решать конечно же вам :)

freddy
29.06.2016, 08:47
Данные композиции располагаются гораздо оптимальнее, чем в PSG, не пишутся все 13 регистров во фрейм, а только те, которые изменяются, что уменьшает размер файла минимум в 2 раза.
Так они и в PSG так же, не все регистры пишутся, а только те которые нужно изменить. А частота фреймов жестко определена платформой, на которой делался трек. Количество фреймов может и полезно для работы показометра воспроизведения файла, но можно обходиться и размером файла.

Вадим Димтревич
05.07.2016, 18:25
Ну чтож. Неприятно это говорить, но эта версия плеера - провалилась. Опишу причины, чтобы никто больше не напоролся.
1. Отладка. Я развел только 2 вывода Jtag-а порта B у миландра. А остальные подтянул, как положено. Но фокус в том, что нужно обязательно вывести все, т.к. в случае помех - они позволяют воскресить чип. Из-за этого отлаживать устройство нереально. Т.к. отладка работает недолго, а после падает. Так же не стоило делать выводы для отладки в виде простых выводов с шагом 2.54. Стоило взять 6-ти пиновый стандарт JTAG шнура с работы. Компактно и удобно. А то каждый раз открывать схему, чтобы подключить JTAG - очень проблемно.
2. Регулятор громкости все же делать стоит отдельным сдвоенным потенциометром, т.к. при масштабировании каналов - 256 позиций недостаточно, чтобы как сохранять коэффициент звучания каждого канала, так и общей громкости канала.
3. Экран нереально припаять/перепаять. Может у меня руки из ****, но у меня с 3-х раз не получилось припаять экран. Вывод - обязателен разъем. К тому же, я не учел того, что SPI тут 9-ти битный. А у меня на этой шине не только LCD, но еще и потенциометры и сдвиговый регистр к AY. А перенастраивать SPI каждый раз - неудобно.
4. Питание. С ним я вообще пролетел. Т.к. аккумулятор выбрал li-ion, у которого идеальное напряжение 3-3.7 Вольта, то надо было предвидеть, что при 3-х вольтах - AMS1117 будет выдавать не входные 3 вольта, а около 2.5, чего уже недостаточно для питания контроллера. Так же не учел, что вывод EN у DC-DC преобразователя не включает/выключает подачу 5 вольт на AY/YM, а включает выключает как раз чип DC-DC. А в выключенном состоянии на AY подается именно напряжение питания. В итоге, при 3.5 вольтах AY чип все равно работает и потребляет (хотя ничего адекватного с ним сделать нельзя). Тут нужно ставить полевик, который будет подавать напряжение на преобразователь по сигналу от МК. Так удастся избежать потерь.
О потреблении. При 4.5 В входного напряжение, без LCD но при воспроизведении звука потребление плеера было 110 мА. Не считаю это хорошим результатом. Все ошибки учту и буду проектировать новую версию.
Кстати говоря, слушал кто KC89C72? Аналог AY-3-8912. Но при цене 30 рублей за чип. Вот думаю, заказать, побаловаться) А от идеи ставить в устройство YMZ284/294, как предлагали, отказываюсь. Ибо будет mono.

freddy
06.07.2016, 07:30
Кстати говоря, слушал кто KC89C72? Аналог AY-3-8912.
Я слушал - те же яйца только в профиль. И это аналог не AY-3-8912.

Т.к. аккумулятор выбрал li-ion, у которого идеальное напряжение 3-3.7 Вольта, то надо было предвидеть, что при 3-х вольтах - AMS1117 будет выдавать не входные 3 вольта, а около 2.5, чего уже недостаточно для питания контроллера.
Так а шо ж Вы хотели от аналогового стабилизатора? Надо было импульсный стабилизатор.

Тут нужно ставить полевик, который будет подавать напряжение на преобразователь по сигналу от МК. Так удастся избежать потерь.
Возьмите мою схему питания, она проверена. Всего то 46ма от одной банки Li-ion на весь плеер.

И все таки, а зачем такой мощный контроллер? Меги мало? Вы же хотите создать мобильный плеер, вот с помощью меги сэкономите на сдвиговых регистрах, преобразователях уровней и DC-DC конверторах.

Вадим Димтревич
06.07.2016, 07:39
Я слушал - те же яйца только в профиль. И это аналог не AY-3-8912.
Хммм... А вики говорит, что аналог) Если звук такой же, то закажу. Поэксперементировать сойдет.

Так а шо ж Вы хотели от аналогового стабилизатора? Надо было импульсный стабилизатор.
Вот тут в точку. Так и планирую поступить теперь.

Возьмите мою схему питания, она проверена.
Ваш транзистор огромный... Да и у миландра не плохой режим сна есть.

И все таки, а зачем такой мощный контроллер? Меги мало?
Меги мало. Т.к. freeRTOS + уравень драйверов + красивое меню + fatFS и т.д. Но тут, все таки, 8 МГц мне хватало с лихвой. Остальное про запас. Сейчас раскуриваю PCM Encoder 0.01. Может можно будет воспроизводить wav через ay. В идеале - оптимизировать алгоритм, чтобы МК мог. Вопрос только в ресурсах. Пока что эта вещь мне только попалась на глаза. Думаю, изучаю. Но звучит вкусно)

freddy
06.07.2016, 08:06
Ваш транзистор огромный...
Берите маленький, у меня просто IRF9Z34 ведро, вот и ставлю их везде.
А так подойдет любой ключевой P-канальник на 1А.

Хммм... А вики говорит, что аналог)
Это аналог AY-3-8910 а не 8912

Сейчас раскуриваю PCM Encoder 0.01. Может можно будет воспроизводить wav через ay.
У AY-3-8910 есть два 8битных порта, пишите туда данные WAV на заданной скорости. На порты навесьте R2R ЦАПы. Получите 8бит стерео :)
Как прочитать хедер wav уже давно написано куча статей.

Вадим Димтревич
06.07.2016, 08:10
У AY-3-8910 есть два 8битных порта, пишите туда данные WAV на заданной скорости. На порты навесьте R2R ЦАПы. Получите 8бит стерео :)
Как прочитать хедер wav уже давно написано куча статей.
Да нееее... У миландра есть 2 канала DAC. И не 8-ми битные) Так что не плохой звук можно и ими генерировать) Но суть не в том) Просто послушайте demo. Как по мне, музыка обретает неплохие эффекты) Этого и хочется добиться. Но вот сложность алгоритма пугает.

freddy
06.07.2016, 10:00
а че за demo? где оно?

Вадим Димтревич
06.07.2016, 10:22
Можно было загуглить конечно, но я должен был указать. Вот. Это демонстрация той программы. Её исходники так же уже обнародованы.
http://www.bluemsx.com/psgenc/royksopp.mp3

XCHG
18.07.2016, 16:39
Добрый день.

А воспроизведение SID музыки сложно прикрутить к AY плееру?
Или отдельный сделать, хотя было бы прикольно на одном плеере, пускай и стационарном, использовать воспроизведение музыки на соответствующем чипе по расширению файла, например.
А то с аппаратным AY плеером тема более-менее раскрыта, по SID информации очень мало?

newart
19.07.2016, 22:50
по SID информации очень мало
Тут несколько моментов:

1. Сид относительно трудно доставаем
2. Много потребляет и требует два питания 5 и 12в
3. греется
4. Для проигрывания формата .sid требуется эмуляция половины с64 (см проект SID Blaster).

В остальном вполне реализуемо. Если не ошибаюсь я натыкался на подобный проект.

XCHG
20.07.2016, 12:50
п.п. 1-3 со временем решаемы, и для стационарного проигрывателя некритичны.
Вообще хочу плеер разместить внутри достаточно крупной колонки от муз.центра.
А вот п.4 - это серьезное препятствие. SID Blaster впечатляет своей монстроузностью.
Это так исторически сложилось, что надо эмулировать сам с64 для воспроизведения музыки?
Нет мелодий из дампов регистров SID?
Готовых открытых проектов не нашел.

newart
20.07.2016, 15:07
Дампов нету. Возможно есть формат для хранения регистров, но я такого не знаю. Если нагуглишь - поделись. )
Штука в том что у них далеко не все треки укладывают в рамки кадровых прерываний и тут уже нужен формат с таймингами, типа спектрумовского OUT.

XCHG
21.07.2016, 13:34
Вот наткнулся на проект, почти то, что надо

http://shadowpanther.ru/SID_Player

Но проект заброшен, автор на вопросы в почте не отвечает.
Автор пишет:

Требует конвертации исходного .sid файла (по сути, программы для Commodore 64) в .log файл (набор инструкций, посылаемых на SID при исполнении программы).

Значит существует такой конвертер? И не обязательно эмулировать C64 для посыла команд на SID.
Но тут я в тупике, более информации не нашел..

Есть еще мысль на Uno сделать граббер для реального SID, подключить в параллель, и заставить эту Uno сливать в удобном формате уже законвертированные мелодии. Но времени много займет так в реальном времени перегонять все мелодии, и велосипед какой-то на костылях получается..
Вот что что за log формат и где его взять, и существует ли он вообще...

Вадим Димтревич
21.07.2016, 19:20
Обещать ничего не буду, но я хочу раскурить больше колличество чиптюн-чипов. Это, можно сказать, цель, которой уже ни 1 год. Распыляться не буду. Сначала нужно закончить с AY плеером на 1 чип. После провала предыдущей версии ушел в аниме-запой на неделю. Сейчас уже неделю как в новом железе тестирую все. Если постараюсь, до сентября успею. Все свободное время уделяю ему. Потом времени не будет. На данный момент проект переехал на stm32l100rc. Касательно софта - ничего не поменялось пока что. Цель-минимум все та же. Компактный psg с хорошим экраном и меню )обязательно еще арконоид из игр)) но писать его подо все, у чего есть экран - это уже привычка))). Потерпите до сентября. Как этот проект взлетит (надеюсь), можно расширять функционал. Это будет всяко легче, чем с 0 пилить.

newart
22.07.2016, 09:05
Значит существует такой конвертер? И не обязательно эмулировать C64 для посыла команд на SID.
Но тут я в тупике, более информации не нашел..
Сегодня вычитал что .vgm содержит дамп регистров. Не знаю есть ли конвертор sid -> vgm. Но ничего не мешает написать свой, на основе любого из sid плееров.

http://www.deflemask.com/forum/general/deflemask-and-rgbds/

- - - Добавлено - - -

.p.s формат очень интересный. поскольку поддерживает почти все существующие чипы.

XCHG
22.07.2016, 12:10
Формат .vgm интересный, чипов много. Но SID нет(((
https://vgmrips.net/packs/chips
Что же с этим SID не так? Самая популярная платформа - и плеера аппаратного нету.

creator
22.07.2016, 13:01
Ну почему же нет? Есть — Parallel Port SID 6581 Synthesizer Chip Interface (http://www.loper-os.org/vintage/parallelsid/parasid.html).

XCHG
22.07.2016, 14:12
creator, Для этого проекта нужен программный эмулятор C64 на большом компе.
Смысл проекта - эмулятор играет музыку на реальном чипе.
К аппаратному плееру - отношение почти никакое. Чистой игры на SID нет, в любом случае оно эмулирует весь C64.
Причем проект заброшен 10 лет назад, информации практически нет, все ссылки битые.

newart
23.07.2016, 07:30
Формат .vgm интересный, чипов много. Но SID нет(((
https://vgmrips.net/packs/chips
Что же с этим SID не так? Самая популярная платформа - и плеера аппаратного нету.

Я не случайно дал ссылку на форум. Там ответ автора трекера, который поддерживает SID и что более важно сохранение его в .vgm
А значит поддержка есть. И глядя на на полученный файл, видно что это дамп регистров. Осталось понять поддерживает ли он треки использющие прерывания отличный от кадровых и цифровые семплы.

Lunachalnik
26.07.2016, 05:25
Есть интересная программа "Java SID Player Music Library V2" (https://sourceforge.net/projects/jsidplay2/) написанная на Java.
Одна из возможностей позволяет сохранить дамп регистров SID.

http://zx-pk.ru/attachment.php?attachmentid=57661&d=1469499727

newart
26.07.2016, 21:30
Одна из возможностей позволяет сохранить дамп регистров SID.
В текстовом формате )

- - - Добавлено - - -

Причем писать она умеет только в реальном времени.

Вадим Димтревич
27.07.2016, 06:13
А что ещё нужно?)) Говорите, на java? Тогда, запустив под linux, вспоминая, что порт - это файл, можно написать простую программу, которая будет принимать значения и сохранять их по квантам времени. А далее - дело техники. Получится хоть и более объемный, но все таки, PSG) А сжать потом - не проблема. Считаю эту идею одной из самых простых. Сам ещё не вникал, но звучит как решенная задача.

newart
27.07.2016, 11:18
А что ещё нужно?)) Говорите, на java? Тогда, запустив под linux, вспоминая, что порт - это файл, можно написать простую программу, которая будет принимать значения и сохранять их по квантам времени. А далее - дело техники. Получится хоть и более объемный, но все таки, PSG) А сжать потом - не проблема. Считаю эту идею одной из самых простых. Сам ещё не вникал, но звучит как решенная задача.
Речь про HardSID? Так во первых под линухом он может и не поддерживаться. Во вторых он вроде работает по USB. В третьих нужно переделать это в пакетный режим. Не ждать же по 3 минуты на конверсию каждого трека.
В общем у java плеера преимуществ в плане переделки никаких не видится. С тем же успехом можно пилить ZXTUNE или любой из десятков других плееров.

Вадим Димтревич
08.08.2016, 18:07
Докладываю ситуацию. На данный момент ядро плеера написано, прослойка универсальных драйверов (перенос с чипа на чип осуществляется сменой дефайна, все остальное разруливается само собой) для micro-sd (spi режим чтения-записи + fatFS), AY плеера (режим работы в "нотном режиме" (для последующего использования как звуковой синтезатор), режим чтения из памяти (источник подставляется и протестирован как с UART, microsd, внешняя ОЗУ, внешняя flash)), клавиатуры (Драйвер сам опрашивает и дает ядру информацию о том, что произошло с клавишей. Только нажали, долго держат, кликнули, ... В общем, все возможные события. Писал так, чтобы и в других проектах можно было использовать...). И вот самый главный сейчас вопрос - экран. Я заказал несколько штук. Приехал раньше всех экран на ili9340. 240x320. Под него написал GUI интерфейс. GUI так же универсальный и может работать с любыми LCD (в том числе и монохромными). Но есть загвоздка. Экран без буферизации. А это значит, что записал - то сразу на экране. Памяти у МК (взял самый популярный stm32f103cbt6), всего 20 кб RAM. Из которых на все издержки моих драйверов + FreeRTOS + система-прослойка с предприятия (Она обеспечивает переносимость кода без переписывания на любой кристалл. На работе разрешили использовать.) уходит 16 кб. Так что хранить изображение в ОЗУ мы не можем (нам нужно 240*320*2 байт). Пришлось попытаться работать без буффера. Напрямую. Вот только тогда часто приходится переключаться с режима данных на режим команд. А это отжирает уйму ресурсов. + перенастраивать все время DMA для передачи 2-х байт на пиксель - тоже слишком. В итоге - экран отрисовывается так, как на скрине ниже - за 2-3 секунды. Это, я считаю, ужасно долго. Выхода я вижу 2.
1. Использовать только что пришедший мне LCD OLED 128*64 (0.96 дюйма). Тогда мне хватает ОЗУ, чтобы затащить все в контроллер и уже закончить на время с разработкой ПО. Т.к. основная цель будет достигнута почти сразу.
2. Сменить чип на F103 в 100-ногом корпусе, купить внешнюю SRAM, подключить по FSMC шине и буферизировать данные там. Тогда отрисовка экрана будет мгновенной. И я оставлю цветной 16-ти битный LCD в 2.2 дюйма.
Я не могу определиться с тем, какой вариант выбрать. Для меня оба хороши. Но в случае выбора LCD с 2.2 дюймами, я поставлю сразу 2 AY чипа (кроватки под них). Для 28 выводов + 40. Ядро поддерживает до +бесконечности параллельных чипов. Выбор за вами.
Касательно аудио-части. Тут коллеги по работе разъяснили мне, что я тупой в плане аналоговой схемотехники и им лучше знать. Так что сейчас они проектируют и тестируют схему микшера на высококачественных операционных усилителях с двупольным питанием) После чего пришлют мне тестовую модель. Они так же сейчас проектируют 2 версии. На дорогом высококачественном AD с двух полярным питанием, или на менее дорогом, но с большими шумами, но с одно полярным. Тут я по слуху решу, что лучше.
Бонусы: при использовании LCD в 2.2 дюйма + RAM, в чипе еще есть SDIO. Так что будет 2 карты. Одна SD формата по SPI, а вторая micro-sd на SDIO.
http://s020.radikal.ru/i713/1608/07/10a2b3f064e9t.jpg (http://radikal.ru/fp/751b7dfb561546bbb56a1aa11add6030)

XCHG
09.08.2016, 10:51
Вадим Димтревич, спасибо за информирование по проекту!
С отображением информации на экране мне представляется целесообразным 2 подхода.
1. Использовать минималистический 2х16 монохромный LCD дисплей - красивостей нет, но и ресурсов почти не требует от основного ЦП. Можно подключать по iic по 2-м проводам всего.
2. При использовании полноценного многоцветного дисплея - к нему уже потребуется свой отдельный контроллер, со своей прошивкой и массивами ОЗУ. Общение с основным контроллером - по какой-либо шине.

Промежуточные варианты - требуют непропорциональных результату усилий.

Вадим Димтревич
09.08.2016, 15:53
Вадим Димтревич, спасибо за информирование по проекту!
С отображением информации на экране мне представляется целесообразным 2 подхода.
1. Использовать минималистический 2х16 монохромный LCD дисплей - красивостей нет, но и ресурсов почти не требует от основного ЦП. Можно подключать по iic по 2-м проводам всего.
2. При использовании полноценного многоцветного дисплея - к нему уже потребуется свой отдельный контроллер, со своей прошивкой и массивами ОЗУ. Общение с основным контроллером - по какой-либо шине.

Промежуточные варианты - требуют непропорциональных результату усилий.
1. Символьные индикаторы не рассматриваю в принципе. Ибо - нафиг. Не для того я 2 недели GUI писал и прослойку клавиатуры для перемещения по нему. + другие красивости.
2. К крутому экрану (как на фото) не нужно ничего кроме 1-го чипа SRAM внешней памяти. Она стоит не дорого. И работать с ней не сложно (я уже написал прослойку-драйвер).
Пока ждал вашего сообщения - решил дописать GUI возможность работы с графическим OLED. Вот что вышло. Как по мне - это среднее между тем LCD и символьным.
Сегодня кончил тестировать прослойку для FatFS по работе с micro-sd. Теперь 8 из 12 карт работают (Остальные не поддерживать SPI режим в принципе. Ибо не откликаются даже на те, которые воспринимают все, не зависимо от версии).
Еще немного о работе с картами памяти. У меня реализована запись. При первом открытии директории производится поиск и сортировка psg файлов, а так же вычисление их размеров. Полученные данные будут лежать в системных файлах в той же директории. Касательно того, ради чего создавался этот плеер (чего ОЧЕНЬ НЕ ХВАТАЛО в самой первой реализации в этой ветке), удаления файлов - сейчас пишу безопасную прослойку. Чтобы проблем не было.
Вот фото GUI, с которым будет 1-я версия плеера. Будет еще множество улучшений. Все же GUI еще сырой. Но все же.
http://s019.radikal.ru/i610/1608/71/84b2c0e4e53et.jpg (http://radikal.ru/fp/2b181e9252d74d6a9daa19081e3744e6)

- - - Добавлено - - -

3. I2C не люблю очень. Слишком не нравится мне этот интерфейс. Прямо до ужаса. Пока в плеере используется UART (для выдачи отладочной информации), USB (пока в виде теста, пытаюсь поднять USB<->MIDI), SPI (потенциометры, LCD, microsd, сдвиговые регистры (на них кнопки и AY, но все работает слажено и тормозов нет).

XCHG
09.08.2016, 16:11
Я потихоньку делаю свой недо-плеер, на основе https://geektimes.ru/post/273968/
Вначале тоже все думал по поводу экрана, пробовал разные варианты, потом решил отказаться от него за ненадобностью.
Плееру экран не особо и нужен.:v2_conf2:
Мой форм-фактор плеера: "стационарный вариант", плеер целиком размещен внутри подходящей по размеру аудиоколонки, дисплея нет. Управление воспроизведением - через 4-х канальное радиоуправление http://ru.aliexpress.com/item/2016-Newest-IC2262-2272-4-Channel-Wireless-Remote-Control-Kits-4-Key-Wireless-433MHZ-free-shiping/32651200894.html?spm=2114.03010208.3.83.SgaqP4&ws_ab_test=searchweb201556_10,searchweb201602_4_10 039_10048_10057_10047_10056_10037_10055_10049_1005 9_10033_10046_10058_10032_10045_10017_10060_10061_ 10062_10063_412_10064,searchweb201603_1&btsid=62b7d8dd-1baf-42d2-a7d6-fb51ed7307c1 . Колонка играет моно, но одновременно плеер вещает свою музыку по bluetooth. Если захочется - можно прослушать стерео на внешней bluetooth колонке или гарнитуре.

Я не особенный меломан, но решил проверить, как одна и та же мелодия звучит на эмуляторе и в реале. Один и тот же PSG. Это ничем не подкреплено и субъективно, но мне кажется, что звучание существенно различается. Бульбовский проигрыватель воспроизводит мелодию иначе и немного лучше, чем она есть в оригинале. Так что аппаратный плеер имеет право на существование, эмулятор не передает истинного звучания.

Вадим Димтревич
09.08.2016, 19:20
Кстати. Кто-нибудь знает что о Ricoh 2A03? Имели ли опыт работы с ним? Звук тоже нравится) После этого плеера приступил бы именно к нему.

Вадим Димтревич
10.08.2016, 16:59
Так-с. Ну, в общем, пока с софтом все. В GUI поправил все до минимально-необходимого уровня. Глюков с ним теперь нет. Есть еще претензии к скорости сортировки, а так же отказоустойчивости к битым трекам. Но это будет исправлено чуть позже. Главное, что плеер работает с не битыми файлами на ура. Завтра постараюсь уже наконец-то уяснить вопрос с операционными усилителями и нужно будет разводить плату.
http://s016.radikal.ru/i336/1608/69/9a53c205cf3at.jpg (http://radikal.ru/fp/e2c539659b8e41b98c0a2eca754c6da8)

newart
10.08.2016, 23:11
А как насчет лупа? PSG его не поддерживает.

XCHG
11.08.2016, 10:21
Не поддерживает. Но возможно конвертеры в PSG просто итоговый файл расширяют, дублируя дампы для лупов? Некоторые файлы при конвертации пухнут так нехило.
Хотя бульбовский проигрыватель многие треки некорректно переводит в psg, может с этим связано?

ALS
19.08.2016, 00:57
Собрал свой вариант проигрывателя.
Правда, он не переносной, а "стационарный", предназначен для проигрывания одного файла, записанного в м/сх флэш-памяти.
Собран на трех м/сх : AY-3-8910, PIC16F886 и W25X80.
От отдельного генератора для AY можно отказаться, если сделать тактирование от выхода PWM. Частота PWM настроена в программе, как Fosc/8, скважность задана 50%. При используемом сейчас кварце получается 1,79MHz.
И чуть упрощено согласование 5-вольтового МК и 3-вольтовой флешки, работает абсолютно нормально.

newart
19.08.2016, 08:55
Не поддерживает. Но возможно конвертеры в PSG просто итоговый файл расширяют, дублируя дампы для лупов? Некоторые файлы при конвертации пухнут так нехило.
Нет, такого они не делают. Но, если не ошибаюсь я или для меня дорабатывали какой-то конвертор который в конец файла писал позицию лупа.

XCHG
21.08.2016, 00:48
Известная ситуация с приобретением SID, наглядно показанная у Fagear'a https://www.youtube.com/watch?v=-T2eUPKXUtA
коснулась и меня при приобретении AY-3-8912.
Заказал на Али лот 5 шт AY. Микросхемы пришли все разные. Годы выпуска - от 81 до 91.
Естественно, в плеер поставил 81 г.в.
Но заметил, что мелодии как-то звучат не совсем привычно. Списывал на то, что ранее слушал на эмуляторе - вот типа откуда разница и берется. Ну играет, и ладно.
Тут решил поконвертировать мелодии в PSG формат, утилитой zxtune123 из комплекта плеера ZXtune от Vitamin http://zx-pk.ru/threads/10340-zxtune-zx-music-player.html
После конвертации залил сконвертированные файлы на аппаратный плеер и стал сравнивать звучание аппаратного плеера с ZXtune. ZXtune запустил на "музыкальном" ноутбуке, а аппаратный плеер подключил к ламповому усилителю.:v2_dizzy_roll:
Был поражен разницей - ноутбук играл гораздо лучше! :eek:
Понял, что разницу в звучании на эмулятор уже не списать. В аппаратном плеере стал лихорадочно менять AY.
После экспериментов понял, что из 5 микросхем нормально работают только 2!!!
Остальные имеют те или иные дефекты воспроизведения. :mad:
Хорошо работают AY 91 г.в. производства Microchip
Микросхемы 81-83 г.в. производства GI - неисправны в той или иной степени (не работает один из каналов, глюки при воспроизведении, очень тихий звук).
Страшно расстроился.
Так хотелось в аппаратном плеере именно микросхему из начала 80-х использовать.
Теперь и не знаю, стоит ли еще их на Али заказывать?
Может попадется удачная GI начала 80-х?

newart
21.08.2016, 15:25
Может попадется удачная GI начала 80-х?
Поинтересуйся у nedopc где они брали ну или у них и купи. Там всё ок.

tipa
21.08.2016, 18:29
а можно не AY а Yamaha ставить? потому что их проще найти да и таких траблов с браком маловероятно словить.

XCHG
21.08.2016, 20:20
а можно не AY а Yamaha ставить?

Вживую их не слушал, но по-эмулятору, звук у Yamaha более глухой. Мне не понравилось.
Не зря она в эмуляторе на отдельную кнопку выведена, от AY отличие есть.

tipa
22.08.2016, 12:47
Вживую их не слушал, но по-эмулятору, звук у Yamaha более глухой. Мне не понравилось.
Не зря она в эмуляторе на отдельную кнопку выведена, от AY отличие есть.

есть, несомненно. но не настолько. У меня в реале Ямаха стояла. в принципе не было неудобств или искажений звука, когда слушал на AY и на ямахе. разница хорошо ощутима только в эмулируемом плеере, да и то, смотря как эмуль настроен. я к тому,что если звук не критичен, заменить микруху на ямаху получится без дополнительных телодвижений? сигналы те же выходят у нее? или плату придется переделать?

Вадим Димтревич
28.08.2016, 20:08
есть, несомненно. но не настолько. У меня в реале Ямаха стояла. в принципе не было неудобств или искажений звука, когда слушал на AY и на ямахе. разница хорошо ощутима только в эмулируемом плеере, да и то, смотря как эмуль настроен. я к тому,что если звук не критичен, заменить микруху на ямаху получится без дополнительных телодвижений? сигналы те же выходят у нее? или плату придется переделать?
У YM (ямаха) и AY в 40-ка выводном корпусе выводы почти совпадают (кроме делителя частоты на 2, но в плеере он подтянут куда нужно). Так что менять можно без проблем.
О развитии моего плеера: написал интерфейс простого MIDI прием-передатчика. На тестовой плате скоро протестирую. Потихоньку развожу плату для резонита. Эх... Не успел я до конца лета! Обидно... Но все же, прогресс есть. И не малый. Более 40 файлов и 60 тысяч строк кода уже написаны. Далее уже будет проще. Т.к. низкоуровневые функции писались "с учетом расширяемого функционала". И потом все улучшить будет не проблема.
Касательно корпуса: я использую готовый из местного магазина. В нем высвериваю/выпииваю нужные участки. Правда на вид будет не особо... В идеале сделать чертеж/выкройку и лазером... Но я не из этой области. Может когда-нибудь потом.
А пока что, вот вам страшное фото верхней части)
http://s020.radikal.ru/i707/1608/67/2af28cc216d9t.jpg
http://s018.radikal.ru/i511/1608/80/4c36a42688d3t.jpg
P.S. В эту версию плеера будут встроены 2 чипа. 1 на корпус в 40 выводов, другой на 28. Чтобы можно было одновременно AY и YM, или их сочетания. + я кучу аналогов заказал разных фирм на али. Хочется протестировать)
http://s011.radikal.ru/i316/1608/20/38c567b84df4t.jpg

ALS
28.08.2016, 21:01
Чертеж для окошка/кнопок рисуется в CorelDraw и отдается рекламщикам в порезку.
Установить можно старую версию, хоть 10-летней давности, его функций хватит с избытком.

XCHG
30.08.2016, 16:38
Подскажите пожалуйста, как у вас в плеерах реализован алгоритм паузы мелодии, и последующего воспроизведения.

В чем я немного застрял :v2_dizzy_vodka4:- в моем плеере есть кнопка "Воспроизведение\Пауза".
Пауза - это легко, забиваем 16 регистров нулями, и пропускаем прерывания.
А вот воспроизведение - сложнее. Регистры ведь уже обнулены, воспроизведение начинается некорректно - шумит и шипит до тех пор, пока не перезапишутся все регистры правильными значениями.
Какие варианты могут быть?
Начинать воспроизведение с начала мелодии?? Или кольцевой буфер делать на 16 регистров, где их дублировать перед записью в AY? Или налаживать чтение регистров из AY перед обнулением, но это потребует изменения схемы? И вообще - в регистрах AY сидят реальные значения, если их прочитать?

Вадим Димтревич
30.08.2016, 16:55
1. Я вообще не читаю из AY.
2. Я использую FreeRTOS. В нем есть задача, которая разблокируется аймером раз в 50 мс. Эта задача выводит элементы из очереди в AY. Как только находит 0xFF - блокируется ещё на 50 мс. Если видит, что происходит закачка в регистр 0x07 (регистр управления), сохраняет во внутренней переменной задачи это значение.
3. При нажатии стоп, я закидываю в 0x07 регистр 0xFF - чем полностью блокируют генерацию звука и шумов. Закидываю напрямую. Значения в очереди не трогаю. Далее останавливаю таймер генерации прерываний для задачи (потока), которая обновляет значения в AY, чтобы очередь никто не трогал, далее отключаю таймер генерации ~1.75 МГц. Т.к. он тоже кушает)
4. При нажатии плей - закачиваю напрямую в AY значение заранее сохраненного 0x07. Без использования очереди. Включаю таймер для потока, запускаю генерацию 1.75.
Самый простой вариант)

ALS
30.08.2016, 17:14
Я выделил буфер размером 16 байт (по количеству регистров).
Во время воспроизведения каждый раз, когда вывожу очередное значение регистров в AY, сразу же запоминаю его и в буфере, в соответствующей ячейке.
Во время паузы просто делаю аппаратный сброс AY (передергиваю RESET).
А перед началом дальнейшего воспроизведения копирую весь буфер обратно в регистры.

XCHG
31.08.2016, 10:28
я закидываю в 0x07 регистр 0xFF - чем полностью блокируют генерацию звука и шумов.

Закидываю напрямую. Значения в очереди не трогаю

Запись 0xFF в регистр 0x07 не помогает. Шумы блокируются не полностью.
По крайней мере в AY 3-8912! В некоторых мелодиях помогает, я уж обрадовался. Но нашлись и такие, в которых продолжались неприятные шумы после записи FF!


далее отключаю таймер генерации ~1.75 МГц. Т.к. он тоже кушает
4. При нажатии плей -...... Включаю таймер для потока, запускаю генерацию 1.75.
Самый простой вариант)

Вот это помогает! Отключаю тактовый сигнал на AY и - тишина!

XCHG
11.09.2016, 13:27
Вадим Димтревич, есть новости по проекту?

А то мой что-то у меня пока заглох. Накопил мелодий пару тысяч шт. Программа у меня перестала с ними в реальном времени справляться. Все эти библиотеки для arduino были хороши при малом количестве файлов на карте. Когда их стало 500, начальная инициализация стала занимать 3 и более минут при включении. При 2000 даже страшно подумать, сколько. Одно из применений плееру планирую в авто - там как раз частые включения\выключения\остан овки, и ждать кучу времени, пока оно проинициализируется - невозможно. Надо, чтобы сразу с предыдущего места воспроизводить начинало.
У меня возникли с этим определенные трудности. В довершение что-то сломалось в аппаратной части и оно вообще перестало играть. Надоело с ним возиться. Единственное, что мне в нем нравилось - то, что я прилепил к нему управление по радиоканалу. Очень удобно.

Теперь ищу альтернативный вариант для повторения, без таких недостатков, с нормальной ПП.
Буду рад, если кто что посоветует !

tipa
12.09.2016, 15:07
Особенность файловой системы (особенно это касается FAT32) что в каталоге может находиться не более 100 файлов. все что больше может либо тормозить, либо вообще такой носитель заглючит. может дело в этом? попробовать разбить на каталоги по 100 треков в каждом. мало ли?

ALS
12.09.2016, 15:50
Что-то я задумался.
На рабочем компе ВинХП, FAT32, каталог system32 содержит 1947 файлов (не считая вложенных папок).
Может, это не ограничение файловой системы, а неоптимальный код этого проигрывателя ?

tipa
12.09.2016, 18:56
Что-то я задумался.
На рабочем компе ВинХП, FAT32, каталог system32 содержит 1947 файлов (не считая вложенных папок).


да, тут дело в сменном носителе. флешка, SD... к жестким не относится, т.к. структура хранения данных другая, нежели структура флеш-памяти.

ALS
12.09.2016, 19:56
Я использовал исходники для PIC-а, взятые отсюда (http://mp3vkarmane.narod.ru/).
Проигрыватель включается на воспроизведение мгновенно, без каких-либо задержек.
Но там свои тараканы : поддерживается только FAT и отсутствует поддержка папок.
Поэтому сейчас там в корневом каталоге чуть больше 300 файлов, больше не позволяет записать ПК.
В папки можно записать любой объем, но, повторюсь, их не видит сам проигрыватель.

---
Забыл.
Вместо чипа флеш-памяти, который там был раньше, сейчас плеер работает с картами SD/MMC.


http://www.youtube.com/watch?v=5ZmWWfbAUV0

foxweb
12.09.2016, 21:58
Интересно. Буду следить за темой.


Sent from my iPhone using Tapatalk

XCHG
14.09.2016, 12:36
Вот примерно 1/2 часть моего плей-листа https://cloud.mail.ru/public/Ki5h/3wFufmiFn
Около 1000 файлов.
Структура файлов на плеере тоже Fat, кидаю все без папок.
Основная проблема - это продолжить воспроизведение предыдущей мелодии после отключения питания плеера.
Когда тебе надо перебрать файлы, чтобы добраться то того, с какого воспроизведение происходило.

tipa
16.09.2016, 16:23
Я использовал исходники для PIC-а, взятые отсюда (http://mp3vkarmane.narod.ru/).
Проигрыватель включается на воспроизведение мгновенно, без каких-либо задержек.
Но там свои тараканы : поддерживается только FAT и отсутствует поддержка папок.
Поэтому сейчас там в корневом каталоге чуть больше 300 файлов, больше не позволяет записать ПК.
В папки можно записать любой объем, но, повторюсь, их не видит сам проигрыватель.

---
Забыл.
Вместо чипа флеш-памяти, который там был раньше, сейчас плеер работает с картами SD/MMC.


http://www.youtube.com/watch?v=5ZmWWfbAUV0

а есть схема и печатная плата твоего плеера? мне как раз никакой экран не нужен на плеере.

ALS
18.09.2016, 01:09
Но там нет и кнопок - все управление сейчас сделано через UART. Ннадо ?

tipa
20.09.2016, 13:07
Но там нет и кнопок - все управление сейчас сделано через UART. Ннадо ?

UART через USB работает? ему программа нужна?
а будет работать без управления? я просто залил треки и они друг за другом могут крутиться?

ALS
23.09.2016, 01:41
Да, у меня переходник на PL2303, но можно и любой другой.
Программа есть, пока там Play/Pause/Stop и отображение названия трека.
Да, без управления так и работает.

Вадим Димтревич
24.09.2016, 20:11
Простите, долго не заходил (почти 1.5 месяца...). Сначала отвечу на вопросы.
1. FAT32 и в принципе FAT - винить не нужно. У меня в папках по 2000-3000 файлов и все нормально. Сортировка "быстрым темпом" (просто по алфавиту) - чуть больше секунды. Долгим (учет языковых норм и логики построения списков) - не более 20 секунд на 1000 файлов. Я использовал FatFS от chan-а и собственные алгоритмы сортировки.
2. Жаль конечно, XCHG, ваш проект( Но вы сможете использовать мой. Он скоро родиться в новую тему (надеюсь, на этот раз без проблем).
Теперь о прогрессе разработки.
В плане железа:
1. Я наконец-то развел плату с учетом всех особенностей под 2 AY/YM кроватки в 28/40 выводов. Плата уже 4-й ревизии, ибо пришлось многое поменять в процессе разводки. Требования к плате достаточно жесткие были. 0.2/0.2 мм дорожка/расстояние между дорожками, 0.4/0.8 - переходное отверстие/медь на плоскости. По размером вышло довольно компактно. Даже меньше кредитной карты. LCD и клавиши подключаются отдельно в выведенные разъемы и крепятся на корпус устройства (сейчас готовлю макет для знакомого рекламщика, он нарежет на лазере).
2. Я планирую одновременно использовать 2 чипа, а значит можно будет воспроизводить музыку под 2 чипа или извращаться сразу с 2-мя чипами по MIDI (об этом ниже).
3. На плате имеется USB. Его назначение пока не определено. В идеале - использовать его для доступа к внутренней памяти и внешней (как к флешке), а так же как MIDI синтезатор одновременно.
4. На плате имеется гальванически развязанный MIDI вход (Только вход, на выход плеер не работает... Пока что этого более чем). Подключается через шнур-конвертер в Jack 3.5 (MIDI разъем много места занимает, а его вообще нет).
5. На плате 2 разъема под micro-sd карту. 1 работает по SPI, а второй - по SDIO. SDIO я не пользовался еще, по-этому, для страховки, развел еще и SPI. В будущем внутренняя флешка будет использоваться по-моему усмотрению. Может быть, будет внешней EEPROM или еще чем.
6. На этот раз основной чип - stm32f205. 120 МГц, 100 кб RAM (почти), 256 flash. Для начало должно хватить. Т.к. даже на -0s оптимизации уже за 70 кб кода...
7. Плату можно будет прошить по USART-у (как arduino, да простят меня за мой мат). Для этого так же есть разъем. Можно будет и по SWD.
8. Можно будет регулировать громкость левого/правого канала отдельно, а так же громкость каждого из A/B/C каналов на каждом из каналов динамика. Например, сделать канал B чуть громче A. Таким образом, используется 8 цифровых потенциометров (6 на каналы каждого чипа (A, B, C * 2 чипа), и 2 на левый/правый динамик). Расчет звуковой части был исходя из того, что будут использоваться не самые дешевые наушники. Так же не менее 32-х ом (в идеале, ближе к 50).
Теперь о софте.
Пока не будет платы - разработка софта приостановлена. На данный момент в библиотеке реализована параллельная работа с AY чипами. До 32-х в теории. В связи со строением схемы, можно быть уверенным, что обновляются все чипы синхронно. Расхождений не будет.
Ну и теперь снова к железу. Вот фотографии. Вид печатной платы еще будет меняться (если найду косяки перед отправкой через месяц в резонит), но а так, в общем виде, все останется так же.
P.S. Там, где 3D модели красивые - то с работы. А где криво... Ну простите, некогда совсем:v2_dizzy_otvyan: ;)
http://s017.radikal.ru/i417/1609/a1/6c5dc5d9b2bc.jpg (http://radikal.ru)

http://s018.radikal.ru/i516/1609/78/1a62b52fe3d8.jpg (http://radikal.ru)

http://s019.radikal.ru/i631/1609/45/de40c503e1de.jpg (http://radikal.ru)

http://s020.radikal.ru/i717/1609/80/4a790884147c.jpg (http://radikal.ru)

http://s018.radikal.ru/i516/1609/6f/08a343700cef.jpg (http://radikal.ru)

http://s12.radikal.ru/i185/1609/26/50faaf7430c5.jpg (http://radikal.ru)

Платки постараюсь довести до ума. Периодически буду еще проверять, ибо время до отправки есть еще. Так что грубых переходов и неточностей бояться не стоит.

freddy
23.10.2016, 15:06
На этот раз основной чип - stm32f205. 120 МГц, 100 кб RAM (почти), 256 flash. Для начало должно хватить. Т.к. даже на -0s оптимизации уже за 70 кб кода...
Крутое железо у Вас. Жаль что плату дома ЛУТом скорее всего не сделать. Сильно тонкопленочная.
Я тоже переразвел свой плеер под СМД. На плате есть свой чарджер. Теперь его стало намного проще изготавливать, сверлить совсем мало, в основном только под AY. И детали можно взять из старого радиотехнического хлама. Сейчас все потребляет 62ма от одной банки LiIon. Одного заряда АКБ от смартфона хватает на неделю, если каждый день долго слушать. Оптимизировал немного индексацию FAT. Теперь от момента нажати на ВКЛ до надписи на экране 215мс. За это время АТМега8 успевает все инициализировать и проиндексировать (составить 32 плейлиста по алфавиту) 1344 файла. Тактовая частота аж целых 8МГц!
Тут писали насчет купленных AY с али. Я уже более сотни чипов разных годов купил на али. Полет нормальный, все работали корректно.

Вадим Димтревич
23.10.2016, 18:45
Я снова срываю сроки, простите :(. Заказ отложили, но у нас появился лазерный станок с чпу на работе, так что я сделал трафорет и попытался примерить все компоненты и понял, что хорошо, что сроки сорвались. Дело в том, что я не учел размеры некоторых компонентов в базе. Они рассчитаны под авто-монтаж и вручную собрать нереально. А учитывая то, что врятли я буду изготавливать партию более 15 штук (хочу изготовить пробную партию на базе нашего предприятия и распродать по себе-стоимости), то монтаж будет ручной. А 0402 да еще и без места для ручного монтажа - ад. А так как сроки заказа мультиплаты откладывались, то я решил еще раз (уже 7-й и 8-й раз) развести плату. И вышло 2 реализации.
1. В первой реализации все компоненты находились на одной стороне. Так паять было бы очень удобно. Но вот размеры оказались сильно большими (115x69 мм). А т.к. я всерьез хочу развивать проект как по функционалу, так и по железу, то это не приемлемо. При этом 70% было занято полигонами с землей. Ну и нормально развести аудио было нельзя... Т.к. места мало для всей обвязки микшера.
http://s017.radikal.ru/i426/1610/5f/d4d3ac9d0056.png (http://radikal.ru)

http://s04.radikal.ru/i177/1610/72/546599626046.png (http://radikal.ru)

http://s017.radikal.ru/i427/1610/cd/319bff095668.png (http://radikal.ru)

http://s12.radikal.ru/i185/1610/c8/f93efc36de9e.png (http://radikal.ru)

2. Я все переосмыслил, взял отредактированные и измеренные компоненты и начал разводку с начала внимательно корректируя схему, чтобы сохранить баланс между сложным программированием и легкой разводкой. В итоге, спустя почти НЕДЕЛЮ работы (столько потратил реальных часов на разводку), вышло следующее. Тут аудио часть полностью изолирована от DC-DC и логики. Каждая звуковая дорожка толщиной в 0.6 мм (самые толстые, не считая DC-DC) вокруг обведена землей. Полигонами заполнено практически все свободное пространство. Адресные шины сделаны как можно более короткими и близкими друг к другу (хочу поднять частоту работы с AY, чтобы воспроизводить на них еще и WAV/MP3/FLAC разложенный на волны алгоритмом Витерби (это сейчас в процессе разработки, но заранее в железо закладываю)).
http://s41.radikal.ru/i091/1610/4d/9722f9de32c8.png (http://radikal.ru)

http://s017.radikal.ru/i415/1610/85/5fc63b7dabab.png (http://radikal.ru)

http://s020.radikal.ru/i702/1610/95/3604505143ff.png (http://radikal.ru)

http://s020.radikal.ru/i701/1610/b5/bfda3f720665.png (http://radikal.ru)

По-поводу изготовления дома... Такое - увольте. Это точно бред. Т.к. маска будет необходима в этой реализации. При моих расчетах я исходил из стандартной маски от резонита. Размеры последней версии 80x53 мм. Что уже вполне можно положить в карман. Сейчас в вузе начали заставлять работать с компасом. Так что, может смогу покачаться и в этом и сделать хорошую коробочку.