mp3 плеер на attiny2313 на ммс/сд картах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

Не помню в каком регистре и какой бит, но знаю, что такое в tiny26 есть. Как-то давненько извращался. Позже погляжу в тот исходник и в даташит и точно скажу.

Вот снимок из даташита:

Изображение

А вот неоптимизированный пример идеи, набитый на скорую руку.
Довести до ума и будет чётко :)

Код: Выделить всё

.include "tn26def.inc"
;*********************************
;Definitions
.def temp0 = r16
.def temp1 = r17
.def play_count = r18
;*********************************
; SRAM
.dseg
buffer:      .byte         64
;*********************************
;FLASH
.cseg
.org      0x0000
rjmp      RESET
.org      OC1Aaddr
rjmp      TIM1_CMP1A ; Timer1 compare match 1A
;----------
.org      INT_VECTORS_SIZE
TIM1_CMP1A:
; Тут мы будем грузить новый байт
; Время для выполнения операции подбирается в OCR1A
ld         temp1,         Y+
out         OCR1B,         temp1
inc         play_count
cpi         play_count,      0x40 ;64
breq      CLRCNT
reti
CLRCNT:
clr         play_count
ldi         YL,            Low(buffer)
ldi         YH,            High(buffer)
reti
;---------- Начало программы
RESET:
ldi         temp0,         Low(RAMend)
out         SP,            temp0
;---------- Настройка портов для работы ШИМ
sbi         DDRB,         3
;---------- Настройка таймера
ldi         temp0,         (1<<PWM1B)|(1<<COM1B1)
out         TCCR1A,         temp0
;---------- Частота и разрешение ШИМ
ldi         temp0,         0xFF
out         OCR1C,         temp0
;---------- Ранний вызов прерывания
ldi         temp0,         0xE1
out         OCR1A,         temp0
;---------- Почистим регистр вывода
ldi         temp0,         0x00
out         OCR1B,         temp0
;---------- Разрешим прерывание по А
ldi         temp0,         (1<<OCIE1A)
out         TIMSK,         temp0
;----------
clr         play_count
ldi         YL,            Low(buffer)
ldi         YH,            High(buffer)
;---------- Частота тактирования
ldi         temp0,         (1<<CS10)
out         TCCR1B,         temp0
sei
;---------- Пустой бесконечный цикл
LOOP:
rjmp          LOOP
Вложения
SCRN.PNG
(49.81 КБ) 2883 скачивания
I am DX168B and this is my favourite forum on internet!
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

Действительно, все работает. Спасибо.
Да, и код довольно компактный по сравнению с си получается. Просьба, если не трудно, после завершения проекта, выложите пожалуйста исходный код.
alex1991
Открыл глаза
Сообщения: 40
Зарегистрирован: Ср апр 14, 2010 20:42:24
Откуда: Молдова г,Кишинев

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение alex1991 »

phanis здравствуйте
Не нашлось меня в загашнике рабочей карты памяти но вот раздобыл несколько at45db041b можно ли ее использовать вместо карты памяти ?
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

phanis писал(а):Просьба, если не трудно, после завершения проекта, выложите пожалуйста исходный код.

ОК. Только немного позже у меня будут несколько вопросов о выборе частоты тактирования МК, частоты вывода ШИМ, работа с MMC и файловой системой. Как сделаю рабочий в железе макет, то выложу суда весь проект целиком. :)
I am DX168B and this is my favourite forum on internet!
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

alex1991 писал(а):phanis здравствуйте
Не нашлось меня в загашнике рабочей карты памяти но вот раздобыл несколько at45db041b можно ли ее использовать вместо карты памяти ?


Если правильно понял, по даташиту память у нее около 540 кбайт. Что не очень то и много.
DataFlash supports SPI mode 0 and mode 3. В принципе можно, но прошивка для мк нужна будет другая.
Вот мой исходник на IAR AVR (язык СИ, есть файлы на ASM) с SD MMC FAT16, может что то и пригодится для вас.
IAR_WAV.rar
(127.93 КБ) 349 скачиваний


DX168B писал(а):ОК. Только немного позже у меня будут несколько вопросов о выборе частоты тактирования МК, частоты вывода ШИМ, работа с MMC и файловой системой. Как сделаю рабочий в железе макет, то выложу суда весь проект целиком.

Подождёмс.
А таймер 0, для каких целей будет использоваться?Ну, если конечно, будет вообще использоваться.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

Итак. Вопрос номер один. Где можно почитать о работе со старыми флешками MMC и о работе с файловой системой флешки? Желательно на доступном языке.
I am DX168B and this is my favourite forum on internet!
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

Последний раз редактировалось phanis Пт апр 08, 2011 19:18:56, всего редактировалось 2 раза.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

Спасибо. :)
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение Jack_A »

phanis писал(а):


Замечательная подборка материалов. Я хоть и не отслеживал этот топик регулярно, все скачал и не могу не выразить благодарность автору. Выражаю.
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

Добавлю, программка HEX редактор может пригодиться, открыть флешку или образ, посмотреть где какие байты.
ftp://wa651f2:anonymous@mh-nexus.de/HxDSetupRU.zip
Winimage 8.5 программа создания образов накопителей. Можно использовать для протеуса, как именно писал выше.
WinImage 8.50.rar
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

:kill: :kill: :kill: :kill:
Паяльник сгорел. :evil: :kill:
Только начал собирать. Программа - пока наброски. К юзанию пока не подлежит.
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение БАТАРЕЙКУС »

а сюда можно будет скинуть схему и прошивку к WAV-плееру на PIC, или тут строго на AVR ?
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

Хочу добавить схему стерео варианта 8 бит
Изображение
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

Хочу узнать, правильно ли я инициализирую MMC флешку.
Флешка не SD, а именно старенькая MMC. Удалил с флешки файловую систему, кинул туда конвертированный waw файл с удалённым заголовком. Это пока так, чтобы проверить работу и отладить вывод звука из буфера. Потом уже и работу с файловой системой приделаю.
Значит, что я делаю:
1. Устанавливаю 1 на линии CS
2. Посылаю 10 раз 0xFF (посылка 80 тактовых импульсов)
3. Устанавливаю 0 на линии CS
4. Отправляю 6 байт: 0x40, 0x00, 0x00, 0x00, 0x00, 0x95 (CMD0)
5. Циклом отправляю 0х00, пока с флешки не придёт 0x01
6. После получения корректного ответа отправляю 0x00 (посылка 8 тактов)
7. Отправляю 6 байт: 0x41, 0x00, 0x00, 0x00, 0x00, 0xFF (CMD1)
8. Циклом отправляю 0х00, пока с флешки не придёт 0x00
9. После получения корректного ответа отправляю 0x00 (посылка 8 тактов)
10. Отправляю 6 байт: 0x52, 0x00, 0x00, 0x00, 0x00, 0x00 (CMD18)
11. Кручусь в цикле, пока не придёт что-нибудь отличное от 0xFF
12. Пропускаю первый принятый байт и остальное пишу в буфер.
13. После заполнения буфера, запускаю воспроизведение.

Всё ли я правильно делаю?
Паяльник накрылся и новый аж послезавтра будет,
по этому в железе проверить пока нет возможности.
I am DX168B and this is my favourite forum on internet!
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

DX168B писал(а):Значит, что я делаю:
.........
.........

10. Отправляю 6 байт: 0x52, 0x00, 0x00, 0x00, 0x00, 0x00 (CMD18)
11. Кручусь в цикле, пока не придёт что-нибудь отличное от 0xFF
.

В принципе все правильно, только в место что-нибудь отличное от 0xFF на команды CMD17 CMD18 CMD24 нужно ловить маркер равный 0xFE
Потому как первым придет ответ на команду , если успешно придет 0x00, а это уже отличное от 0xFF;
И только после того как пришел маркер с 0xFE следующие байты начинаем записывать в буфер.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

Понял, спасибо. Исправлю. :)
Результаты будут во вторник. :)
I am DX168B and this is my favourite forum on internet!
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение phanis »

Да еще один момент, во всех исходниках которые смотрел, перед посылкой команды
ставят CS в 1 отправляют 0xFF затем CS в 0 (в некотрых после еще раз 0xFF ) и отправляют команду.
Я думаю это делается для синхронизации карты с мк.
И в место Циклом отправляю 0х00 отправляют 0xFF. я так сделал..
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение DX168B »

ОК. Осталось отладить и донастроить в железе. :music:
I am DX168B and this is my favourite forum on internet!
alex1991
Открыл глаза
Сообщения: 40
Зарегистрирован: Ср апр 14, 2010 20:42:24
Откуда: Молдова г,Кишинев

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение alex1991 »

Использую прошивку 8 бит стерео 22 кгц для 8 МГц
А так все ок спасибо за девайс :music:
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: mp3 плеер на attiny2313 на ммс картах

Сообщение CS16AMX »

а вы пробовали несколько карт перебирать? типа микро СД 128,256,512 говорят у них разные инициализации я в своё время инициализировать так и не смог
Ответить

Вернуться в «Периферия»