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 КБ) 2886 скачиваний
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 КБ) 350 скачиваний
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
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 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 говорят у них разные инициализации я в своё время инициализировать так и не смог
Ответить

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