реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> WAV плеер на ATmega85, Никак не собирается
LepihinMS
сообщение Jul 15 2011, 21:52
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 15-07-11
Пользователь №: 66 246



Здравсвуйте товарищи. (:

Возникла у меня острая необходимость возыметь (или собрать) несколько десятков WAV (или MP3) плееров способных вытаскивать необходимый файл с флешки (SD, MicroSD) и воспроизводить их с качеством достаточным для понимания человеком речи на записи (не нужен нам теплый ламповый звук). Подразумевается, что плеера будут частью бОльшей схемы.

Требования к плееру:
– минимально возможная стоимость компонентов
– минимальное количество и габариты компонентов
– минимальное энергопотребление
– готовность к работе сразу после подачи питания

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

Решено было собрать плеер на базе AVR контроллера… на этом мысль остановилась уперевшись в нехватку… мозгов.

В этих наших интернетах был найден проект некого Китайца Chan'а (WAV плеер на ATtiny85) – Вот этот (оригинал, по английски) и Тут (по-русски). Проект подкупает простотой, дешевизной и габаритами. НО при попытке воссоздать плеер... ничего не получилось! :D Отчаявшись выкарабкаться из ситуации самостоятельно обращаюсь к вам за помощью. (:

Что у меня есть:

1) Компьютер-зомби с LPT портом
2) AVRStudio 4 и 5, PonyProg
3) LPT программатор "5 проводков" (собран по Вот Этой статье)
4) 5шт ATtiny85 (DataSheet в PDF)
5) Arduino UNO с ATmega328 (используется как стабилизатор напряжения на 5 и 3.3V)

Что я смог сделать:

Используя метод научного тыка я, применив AVRStudio5, написал на C и скомпилировал в HEX файл программу Blink! Применив PonyProg и LPT программатор затолкал HEX в ATtiny85 и оно даже заработало. На этом мои знания в программировании контроллеров заканчиваются.

В чем проблема:

1) Скачав файлы проекта Китайца Chan'а (ТУТ или ТУТ) я обнаружил в них готовые HEX файлы, НО они 16КБ объемом! В ATtiny85 всего 8КБ flash памяти. PonyProg не моргнув глазом заталкивает в ATtiny85 половину кода и... это нормально? (:

2) Скомпилировать файлы проекта самостоятельно и осмысленно не позволяют кривые руки и прямые извилины.

3)
(оригинал монофонической схемы ТУТ или ТУТ)
- 1) Это конденсатор? Какой емкости?
- 2) Почему нога Reset висит в воздухе?
- 3) А этот какой ёмкости?

4)
(слева - распиновка MicroSD карточки; справа - контакты переходника MicroSD to SD)
Верна ли распиновка? Или на SD распиновка совсем иная нежели на MicroSD?

Чего хочу от вас:

1) Собирал ли кто-нибудь из форумчан плеер по проекту Китайца Chan'а Ссылка1, Ссылка2? Оно вообще работает? Что за таинственные 16килобайтные HEX файлы для 8КБ контроллера?

2) Знающие и умеющие, скомпилируйте, пожалуйста, проект в пригодный для записи на ATtiny85 HEX файл. rolleyes.gif Интересует только монофонический вариант (не Hi-Res).

3) Всё ли впорядке со схемой? Интересует mono не Hi-Res вариант.

4) Что вы ещё можете добавить к этой теме: скандалы, интриги, расследования? (:
Go to the top of the page
 
+Quote Post
blackfin
сообщение Jul 15 2011, 22:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(LepihinMS @ Jul 16 2011, 01:52) *
1) Собирал ли кто-нибудь из форумчан плеер по проекту Китайца Chan'а Ссылка1,

4) Что вы ещё можете добавить к этой теме: скандалы, интриги, расследования? (:

Добавлю: он, вероятнее всего, Японец..
Go to the top of the page
 
+Quote Post
lev42
сообщение Jul 16 2011, 07:42
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 25-04-11
Пользователь №: 64 605



Цитата(LepihinMS @ Jul 16 2011, 00:52) *
Что за таинственные 16килобайтные HEX файлы для 8КБ контроллера?


я в общем то тоже не сильно большой спец, но в двух словах это выглядит так, hex-файл это текстовый файл, в нём каждый байт памяти контроллера выглядит как-то так - 4F - к примеру, а каждая буковка это один байт, плюс переводы строк, это два байта (0D 0A), плюс пробелы (байт), в результате 16 килобайтные текстовые файлы вполне себе превращаются в 8 килобайт памяти микропроцессора. Надеюсь понятно объяснил biggrin.gif
Go to the top of the page
 
+Quote Post
LepihinMS
сообщение Jul 16 2011, 08:53
Сообщение #4





Группа: Новичок
Сообщений: 3
Регистрация: 15-07-11
Пользователь №: 66 246



Цитата(lev42 @ Jul 16 2011, 11:42) *
hex-файл это текстовый файл


Вы не большой спец. HEX-файл не текстовый и содержит только программу. Смотрите внутрь HEX-редакторами или тем же PonyProg.

Сообщение отредактировал LepihinMS - Jul 16 2011, 08:56
Go to the top of the page
 
+Quote Post
lev42
сообщение Jul 16 2011, 08:57
Сообщение #5





Группа: Новичок
Сообщений: 3
Регистрация: 25-04-11
Пользователь №: 64 605



Цитата(LepihinMS @ Jul 16 2011, 11:53) *
Вы не большой спец. HEX-файл не текстовый и содержит только программу.

судя по ответу, вы ещё меньше, не буду говорить за все HEX-файлы, но уж в архивы по ссылке топикстартера могли бы и глянуть

Сообщение отредактировал lev42 - Jul 16 2011, 08:57
Go to the top of the page
 
+Quote Post
follow_me
сообщение Jul 16 2011, 13:30
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 4-11-10
Пользователь №: 60 646



Думаю вам стоит глянуть и поспрашивать Тут
Go to the top of the page
 
+Quote Post
GYUR22
сообщение Jul 17 2011, 08:27
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931



в хексе один байт кодируется 2-мя символами+адресация +контрольная сумма+тип данных - поэтому он получается как минимум в два раза больше программы.
если совсем интересно найдите утилиту hex2bin и обработайте ей файл - увидите как он "сжимается" в бинарном виде
Go to the top of the page
 
+Quote Post
vvs157
сообщение Jul 17 2011, 11:11
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(LepihinMS @ Jul 16 2011, 12:53) *
HEX-файл не текстовый и содержит только программу.
http://ru.wikipedia.org/wiki/Intel_HEX

Цитата(LepihinMS @ Jul 16 2011, 01:52) *
- 1) Это конденсатор? Какой емкости?
- 2) Почему нога Reset висит в воздухе?
- 3) А этот какой ёмкости?
1- электролит на 100 мкФ
2 - потому как используется внутренний сброс в контроллере. Можно соединить через 10К с питанием. Скорее всего не подключен, так как для отладки использовался режим debugWIRE.
3 - обчно ставят 0.1 мкФ керамику

PS
Для сборки проекта необходим AVR Toolchain.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jul 17 2011, 14:04
Сообщение #9


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (LepihinMS @ Jul 16 2011, 17:53) *
Вы не большой спец. HEX-файл не текстовый и содержит только программу. Смотрите внутрь HEX-редакторами или тем же PonyProg.

Как раз он текстовый, а кроме программы может содержать еще и данные (константы). Если открыть hex-файл в hex-редакторе, конечно Вы увидите данные. Но это уже будет ерунда. В таких редакторах смотрят бинарные данные (bin).
Еще пример текстового файла: SREC (Motorola).


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
LepihinMS
сообщение Jul 18 2011, 23:46
Сообщение #10





Группа: Новичок
Сообщений: 3
Регистрация: 15-07-11
Пользователь №: 66 246



Вот ТУТ ВОТ есть подробная статья по теме.

Всем спасибо. (:

Сообщение отредактировал LepihinMS - Jul 18 2011, 23:47
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 12:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01466 секунд с 7
ELECTRONIX ©2004-2016