PDA

Просмотр полной версии : Цифровой магнитофон Радио №7-2010



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

LY3BD
26.07.2010, 10:43
Здпавствуйте все!
Собрал я цифровой магнитофон из журнала Радио №7 2010. и сталкнулся с одной проблемой. Магнитофон работает только с SD карточкой объёмом 32М. Пробовал карточки 16М, 512М, 2Г. Наблюдается такая картина: При нажатии кнопки "зпись" заготается светодиод записи,но при нажатии кнопки любого трека, загораются светодиоды всех треков. При попытке воспроизвести какой либо трек, также загораются все светодиоды, в том числе и запись!!! (Перемычки перепаивать не забывал.) А с карточкой 32М, всё нормально! Карточки все рабочие, во всяком случае в фотоаппарате они нормально работают. Хотелосьбы применить карточку 512М, но возникла эта проблема!:cry: Разводку платы и прошивку брал на сайте журнала Радио. Обращался я к автору этой конструкции, к Сергею RA9YTJ, но ответа не получил. Возможно мои письма по какимто причинам не дошли. Поэтому если кто повторял эту конструкцию, поделитесь информацией, как и что получилось, небылоли проблем аналогичных моим. И ещё, если кто знает как выйти на Сергея RA9YTJ, то подскажите ему, пусть заглянет сюда. Может он, как автор этой конструкции поможет разобраться в чём дело.
Александр LY3BD.

er1mf
27.07.2010, 00:34
А вы не могли бы выложить скан статьи?

Mosin
27.07.2010, 02:35
Собирал я подобное.
ссылка на схему,но это как мп3шка просто (http://cxema.at.ua/publ/3-2-1-7)
Тут дело в прошивке камня, то есть микроконтроллера. Надо переписывать исходник или править его, потом в hex его и пере прошить мк. Просто программа для мк карточки большого объёма, так сказать не поддерживает.
Делал подобие магнитолы для машины схема (http://www.remexpert.com/ipb/index.php?automodule =blog&blogid=8&showentry=133) показала себя просто замечательно. Но пришлось делать ещё дополнительный усилок на микросхеме tda1558

RA9YTJ
27.07.2010, 07:23
LY3BD, Писем не получал, заметил топик сейчас случайно...
Загорание всех светодиодов свидетельствует об ошибке работы с флешкой.
Попробуйте в режиме работы с Вашей рабочей флешкой на 32МБ просто переставлять флешки большего объема, если будет ошибка, то видимо эти флешки не будут работать. Это связано с тем, что используется протокол работы ММС, который совместим с SD но к сожалению не все производители флешек строго придерживаются этого т.к. он является устаревший. Вот у RA9YON работает в этом устройстве microSD объемом 256.

Вот прошивка, где попробовал усложнить протокол

LY3BD
27.07.2010, 10:28
То RA9YTJ
Здравствуйте Сергей! Спасибо что не прошли мимо, обратили внимание на мои проблемы. То, что не правильная табота схемы связана с програмным обеспечением, я понял сразу. Но сам я не програмист и поэтому исправить положение не в состоянии. Поэтому и открыл эту ветку. Магнитофончик в принципе очень даже не плохой, то что надо для работы в эфире. И качество записи вполне приличное. Многие повторят Вашу конструкцию, но и многие сталкнутся с такойже проблемой как и я. Былобы очень хорошо, еслибы удалось устранить эту проблему с Вашей помощью! Попробую Вашу новую прошивку, посмотрим что получится . О результатах доложу.
Спасибо за помощь. Александр.

LY3BD
27.07.2010, 11:10
TO RA9YTJ
Сергей, попробовал новую прошивку, результат отрицательный. Перестала работать и SD 32М. С остальными карточками тоже самое.

Serg_PRQ
27.07.2010, 14:12
Может быть попробовать посмотреть форматирование на всех картах, сравнить заодно с 32Mb. Акронис или Парагон прекрасно работают через картридер со съемными дисками.
Заявлено: "MMC flash card, SD (mini/micro), FAT16"

Возможна как одна из причин проблемы...

RA9YTJ
27.07.2010, 14:51
LY3BD,Очень странно, старая карта должна по прежнему работать! Я посмотрю еще...

Serg_PRQ,там нет файловой системы.

UK8AF
27.07.2010, 16:15
А вы не могли бы выложить скан статьи?

вот "скан" статьи:

RA9YON
27.07.2010, 18:13
Приветствую. Первым делом поблагодарю Сергея RA9YTJ за эту схему. Собрал её я первым, ещё до выхода статьи в журнале Радио. Проц прошивал сам Сергей по моей просьбе. Флешка используется микро SD с переходником под SD. Объём 256 мб. Время записи не проверял. Сказать не могу. Качество записи оценивается корреспондентами как хорошее или отличное. Работает нормально без сбоев. питание от TRX. В корпусе с магнитофоном установил переключатель для выбора подключения к TRX магнитофона или ПК для PSK.5932259323

RA9YTJ
28.07.2010, 04:11
LY3BD, Во вчерашней прошивке допустил ошибку, при которой мог работать только 1 трек.
Подправил, выкладываю. Так сделано, что если флешка работает со старой прошивкой то она будет работать и с новой!
И, надеюсь, с ранее нерабочими флешками. Просмотрите тчательно монтаж и номиналы, особенно питание 3.3В. Если есть осциллограф посмотрите эпюры выводов флешки, особенно уровень сигналов. И сообщите модели всех используемых Вами флешек.

LY3BD
28.07.2010, 11:43
То RA9YTJ
Здравствуйте Сергей! Попробовал новую прошивку, стало "теплей"! SD 32М работает нормально, заработала SD 2Г. Но 16М и 512М не хотят работать как и прежде. Сигналы на ногах у SD я смотрел и раньше, всё в норме. Но с SD 512М сейчас не всё как надо. В момент включения питания на выходе CD, DO-нога №7, уровни сигналов лежат в приделах +2,2V (низкий уровень) +4V(высокий уровень). Хотя питание SD +3,3V. Такое впечатление, что SD и ATmega включаются навстречу друг другу. Порт РВ6 включается на вывод информации а не на ввод и возникает конфликт. С остальными SD такого эфекта нет, уровни от 0V до +3,3v, как и должно быть. Тем не менее SD 16М не работает. Что касается монтажа и номиналов диталей, то здесь всё в порядке. Для информации выкладываю фото SD карточек с которыми я вожусь.
59355
Две верхних не работают, две нижних работают.
Как говориться " жду дальнейших указаний". С уважением Александр/

RA9YTJ
29.07.2010, 04:22
LY3BD, Для Canon флешки делают разные фирмы, она только маркирует, по этому фирмы наверняка разные. Выходит, SanDisk и Kingston (проверяли) подходят.
Посмотрел инициализацию 7 ноги, она сразу из третьего состояния включается на высокоомный вход, тут у Вас проблема явно! 2.2В для 0 это очень много, да и 4.4В много. Попробуйте отсоединить его и посмотреть по сторонам, подключите резистор на землю на этой ноге: 10-20к.

LY3BD
29.07.2010, 13:06
TO RA9YTL
УРАааа... ВСЁ ЗАРАБОТАЛО :lol::lol::lol:!!!
Вчера вечером меня ни кто не дёргал и удлось немного посидеть и поработать над схемой. И вот что я "высидел". Обратал внимание на то, что в сигнале SCLK (в тактах) очень сильно завалены фронт-спад. Получается почти синус. Пришлось паралельно резистору R9 включить конденсатор 33Пф. Фронты сразу укоротились и SD 512М "задышала", но со сбоями. Далее обнаружил, что с карточкой 512М, в шине питания +3,3V, возникают короткие "просечьки", а этого быть не должно. Из за этих "просечек" карточка видими становится "раком" и после этого на шине +3,3V пявляется напряжение +4V. А это уже фокусы стбилизатора DA2. С другими карточкамо этого эфекта нет. Поставил паралельно С15 электролит 100Мкф и "просечьки" пропали. Просто замена стабилизатора даже на другой тип, ничего не дала. После этого всё нормально заработало! Получается что разные SD карточки имеют разброс по параметрам и какието свои особенности, о которых производители "скромно" умалчивают. Но главное что всё нормально заработало с люыми (что у меня в наличии) карточками!!! Значит и у других, кто повторит эту конструкцию, тоже всё будет нормально работать. Но надо видимо сразу постивить эти два конденсатора, чтобы потом не мучиться. Всё это я проделал с Вашей последней прошивкой. Так что ОГРОМНОЕ Вам спасибо за эту конструкцию и доработку ПО. От всех кто повторит этот магнитофюн вам :пиво::пиво::пиво:!! !!!!! И ещё раз СПАСИБО!!!!!!
С уважением Александр LY3BD.

lion11
29.07.2010, 14:46
Спасибо вам RA9YTJ за интересную схему Цифрового Магнитофона,я давно искал что то подобное.Собрал и я эту схему только плату переделал под SMD детали,если кому надо то выложу печатку под SMD.Опробовал Карты на 128 и 256Мб и без проблем работали.Осталось нарисовать переднюю панель и покрасить.
Вот и мой фото отчёт:

Integral
29.07.2010, 22:11
Собрал и я эту схему только плату переделал под SMD детали,если кому надо то выложу печатку под SMD.
Если можно, сбросьте плату(ы). Конструкция вашего варианта очень интересна.

RA4FOC
29.07.2010, 22:23
lion11,
Присоединяюсь, и если не жалко то выложите вариант в исходном САПР.

RA9YTJ
30.07.2010, 05:09
LY3BD, Поздравляю!
Все таки проблема с питанием,я по жадничал на блокировочные конденсаторы по 3.3В . Емкость осциллографа с Р9 дает хороший ФНЧ, и наверно емкость входная флешки то же не маленькая. Попробуйте сейчас убрать 33пФ и если будут сбои то уменьшить пропорционально номиналы резисторов делителей.

Вот прошивка, в ней добавлено автоматическое определение объема флешки, так, что не нужны перемычки.

Gin
30.07.2010, 08:24
Собрал и я эту схему только плату переделал под SMD детали,если кому надо то выложу печатку под SMD
мне тоже интересует печатка SMD... поделитесь....plyzzz .... :super:

LY2NI Gin.

LY3BD
30.07.2010, 12:31
TO RA9YTJ
Сергей здравствуйте.
Попробовал прошивку с автоматическим определением объёма флешки. Но к сожалению ПО не пошло. Не реагирует ни на какие кнопки, нет сквозного канала, на входе флешки SCLK, постоянно присутствуют такты.
Сергей, если получтся автоматическое определение объёма флешки (а я думаю получится), то освободятся порты РА1....РА7. Пявилась такая "бредовая" идея. Нелзя ли ввести пару кнопок, ускоренная прокрутка записи вперёд-назад? Это былобы очень удобно, когда надо прослушать запись не с самого начала, проскачитиь вперёд или венуться немного назад. Я понимаю, что это "кусок" работы, но тем не менее....
Теперь по поводу понденсатора 33 Пф. Без этого конденсатора все мои флешки работают, кроме 512М. У этой флешки большая входная ёмкость. Входная ёмкость щупа моего осцилограюа всего 2Пф, поэтому он почти не влияет. Изменил номиналы резисторов R9, R13, соответственно: 910 Ом и 1,6 К. И всё встало на свои места. Флешка 512М заработала и без конденсатота. Мне просто очень "повезло" с этой флешкой.
Всего доброго Александр.

PS Интересно узнать Ваше мнение по поводу "бредовой" идеи.

RA9YTJ
30.07.2010, 12:47
Странно, видимо зациклился на определении. На любых флешках?

Про кнопки перемотки думал давно, в принципе есть 2 свободных вывода и так.

lion11
30.07.2010, 13:01
По вашим просьбам собрал я весь проект(сделан в прог. EAGLE) по Цифровому Магнитофону и здесь прикрепляю.Если что не понятно пишите,постараюсь ответить.

LY3BD
30.07.2010, 13:52
TO RA9YTJ
Да, Сергей. Не определяет все флешки.

RA9YTJ
31.07.2010, 10:47
Вот прошивка с поддержкой перемотки при воспроизведении. Кнопки присоединяются к 3 и 4 ноге процессора. Автоопределение объема флешки убрано, устанавливается перемычкой как и раньше. Скорость при нажатии в 10 раз быстрее.

ra6ljm
31.07.2010, 13:04
Немного не в тему, а такого же плана на USB- флешке, есть конструкции?

er1mf
31.07.2010, 17:05
Немного не в тему, а такого же плана на USB- флешке, есть конструкции?
Компьютер?

ra6ljm
31.07.2010, 19:16
Компьютер?

Автономно ,но не кпк, ноутбук,нетбук...... , а МП3 проигрыватель.

RA9YON
31.07.2010, 19:42
Автономно ,но не кпк, ноутбук,нетбук...... , а МП3 проигрыватель.
Михаэл это конструкция специально разработана для применения в радиолюбительских целях (запись эфира, запись работы корреспондента, запись и воспроизведение общего вызова...).
Записанный сигнал на данном магнитофоне не прослушаешь через ПК.
Если вам нужен МР-3 плеер на USB флешки то купите FM-модулятор (трансмиттер) стоит он сейчас не дорого. В них есть линейный выход.

er1mf
31.07.2010, 20:20
Автономно ,но не кпк, ноутбук,нетбук...... , а МП3 проигрыватель.
Что то я не улавливаю вашу мысль.. если вам MP3ки слушать то купите обычный MP3 проигрыватель и будет вам автономное щастье...

LY3BD
31.07.2010, 21:15
TO RA9YTJ
Здравствуйте Сергей.
Попробовал вариант прошивки с "перемоткой". Всё отлично работает!:super: Большое Вам спасибо :пиво:.
Всего доброго. Александр.

ra6ljm
01.08.2010, 08:06
то купите обычный MP3 проигрыватель и будет вам автономное щастье...

Я думаю в наше время , можно и цифровой магнитофон купить, но хочется же своими руками собрать ,ну нет у меня CD- флеш и картридера, ну я наверное зря сюда обратился.

LY3BD
01.08.2010, 15:34
TO RA9YTJ
Здравствуйте Сергей.
Я опять к Вам с предложением. (Вы наверно думаете, вот пристал) Может можно ввести ещё одну кнопку, кнопку "пауза". При нажатии на эту кнопку должны останавливаться воспризведение-запись, при повторном нажатии на эту кнопку длжны продолжиться воспроизведение-запись с тогоже места где были остановлены. Для этой кнопки, как мне кажется, можно пожертвовать сигналом "запись" и использовать порт РВ0, нога №1. Для индикации режима "пауза" можно заставить моргать светодиод соответствующего трека. И ещё, при нажатии кнопки выбранного трека, режимы запись-воспроизведение должны сбасываться, как обычно, не смотря на то, что включена "пауза". И режим "пауза" тоже должен сброситься.
Что Вы на это скажите?
С уважением Александр.

PS Силино меня не ругайте:smile:.

er1mf
02.08.2010, 04:46
Я думаю в наше время , можно и цифровой магнитофон купить, но хочется же своими руками собрать ,ну нет у меня CD- флеш и картридера, ну я наверное зря сюда обратился.
Вот может что то полезного найдете для себя.

RA9YTJ
02.08.2010, 09:11
Режим "пауза" уместен.
Вот прошивка.
Теперь кнопка "запись" имеет вторую функцию "пауза". В процессе запись или воспроизведение если нажать на нее то текущий процесс приостановится до повторного нажатия на эту кнопку. Режим паузы сопровождается миганием светодиода "запись".

LY3BD
02.08.2010, 11:34
TO RA9YTJ
Здравствуйте Сергей.
Вы корректируете ПО быстрее чем я пишу на клавиатуре :smile:. Попробовал вариант с "паузой". Всё отлично!!! Теперь эта конструкция удовлетворит большенство тех, кто её повторит. Спасибо за то что откликнулись на мои предложения по изменению ПО!
С уважением Александр.

ut1wpr
02.08.2010, 20:11
Режим "пауза" уместен.
Вот прошивка.
Теперь кнопка "запись" имеет вторую функцию "пауза". В процессе запись или воспроизведение если нажать на нее то текущий процесс приостановится до повторного нажатия на эту кнопку. Режим паузы сопровождается миганием светодиода "запись".
Серёжа, я сегодня купил Мегу в ДИП-корпусе. Схему можно повторять из журнала? Никаких изменений нет? Все тектсовые добавления по этой схеме? А то тут появился файл в Игле, там TQFP вариант, я и не знаю, на каую схему ты опираешься. Повторять буду обязательно.
Спасибо.

RA9YTJ
03.08.2010, 03:57
Схема старая, только, если нужно, к 3 и 4 ноге подсоединяются кнопки перемотки, еще желательно по 3.3в добавить конденсатор 10-100мк.
Возможно, потребуется пропорционально уменьшить резисторы делители сигналов для флешки.

Юрий Несчетный
03.08.2010, 11:26
ошибка

ut1wpr
03.08.2010, 19:54
Схема старая, только, если нужно, к 3 и 4 ноге подсоединяются кнопки перемотки, еще желательно по 3.3в добавить конденсатор 10-100мк.
Возможно, потребуется пропорционально уменьшить резисторы делители сигналов для флешки.Что значит "пропорционально"? Для чего? Пропорциональное уменьшение не изменит Кделения, лишь увеличит ток через делитель. Так надо? Если же менять Кдел, то какой принять?

RA9YTJ
04.08.2010, 03:50
ut1wpr, тут в ветке обсуждалось, видимо некоторые флешки имеют большую входную емкость.

ut1wpr
04.08.2010, 10:39
ut1wpr, тут в ветке обсуждалось, видимо некоторые флешки имеют большую входную емкость.Спасибо. Невнимательно читал. У меня как-раз есть свободная 512М от старого GPS-a.
Насколько я понял, предварительно на макете собирать не стОит, "железо" вылизано...
Закончу со своим эл. ключиком на меге-8 и примусь за рекордер.
Большое спасибо.

Gin
07.08.2010, 12:42
тихо.. тихо....:рупор: чегото про SMD плату нечего не слышно.....

LY2NI Gin.

ut1wpr
07.08.2010, 13:23
тихо.. тихо....:рупор: чегото про SMD плату нечего не слышно.....

LY2NI Gin. Так разведи. Пошуми чуток. А "в засаде сидеть", выжидая, так оно всегда тихо будет... :)

RA9YTJ
09.08.2010, 04:03
Gin, непонял... а разве http://www.cqham.ru/forum/showthread.php?t=143 70&p=401261&viewfull=1#post40126 1
это не то что надо?

Gin
09.08.2010, 08:58
....UPS.... sorry.....розевал... ..:super:

LY2NI Gin.

ut1wpr
13.08.2010, 10:34
Режим "пауза" уместен.
Вот прошивка.
Теперь кнопка "запись" имеет вторую функцию "пауза". В процессе запись или воспроизведение если нажать на нее то текущий процесс приостановится до повторного нажатия на эту кнопку. Режим паузы сопровождается миганием светодиода "запись".
Сергей, извините за вопрос.
А как Вы относитесь к открытости-закрытости Вашего кода? Не мог бы я получить исходники? Ну, допустим, что-то изменить "для себя"? Уверяю, все Ваши копирайты будут сохранены.

LY3BD
14.08.2010, 14:36
Педлагаю доработку схемы магнитофона. Цель дорабртки, улучшение качества фонограммы. При
настройке магнитофона, обратил веимание на то, что усилитель на транзисторе VT1 (схема из
журнала), вносит большие нелинейные искажения. Положительный полупериод синуса
приплюснут, отрийательный наоборот вытянут. Фильтр НЧ на этомже транзисторе, тоже плохо
справляется со своей задачей. Интегратор на R10, C13 тоже не очень хорошо справляется со
своей задачей. На выходе кроме полезного сигнала присутствует сигнал дискретизации ЦАП (
примерно 65Кгц) а это может вызвать некоторые проблемы. Кроме того, при использовании
разных источников записываемых сигналов, возникают трудности с правильной установкой
уровня записи. Для устранения всех этих недостатков, схема магнитофона была немного
доработана. Транзисторы VT1 VT4 убираются, вместо них исполизуется сдвоенный ОУ. На
верхнем (по схеме) ОУ собран усилитель с усилением 4, и фильрт НЧ с частотой среза 4Кгц.
На нижнем ОУ, собран фильтр НЧ с частотой среза 4Кгц и с коэфициентом передачи равным 1.
Также добавлен индикатор уровня записи. Всё это позволило избавиться от выше указанных
недостатков. Качество записи стало заметно лучше. Плату не переразводил, доработка
сделана на небольшом кусочке макетки и расположена рядом с основной платой. При настройке
надо подать сигнал со звуковика на вход магнитофона, на выводе №1 ОУ установить сигнал
размахом 4 вольта (пик-пик, контролировать осцилографом), подстроечным потенциометром
R10, установить стрелку индикатора уровня записи на отметку 0Дб. Ни какой другой
настройки не требуется. В качестве индикатора уровня записи, применён стрелочный
индикатор от касетного магнитофона. Вместо ОУ LM358 можно применить любые сдвоенные ОУ, с
учётом их цокалёвок.60650

ut1wpr
14.08.2010, 16:37
Педлагаю доработку схемы магнитофона. Цель дорабртки, улучшение качества фонограммы. Давно об этом думал. Качество тракта напрямую зависит от фильтрации на входе и выходе.
Правда, теперь нужно иметь качественное питание операционников. В исходной схеме требования к питанию до стабилизатора на 5В были никакие. Теперь желательно ввести ещё один стабилизатор на 9 В и питать от него операционники. Получится "гирлянда": входные 12-15 нестаб. - 9-8 стаб. - 5 стаб. - 3.3 стаб. Последнюю мне придётся делать на 317-й, т.к. монолитных 3.3 не нашёл в продаже. Не беда, два дополнительных резистора погоды не сделают. :)

RA9YTJ
16.08.2010, 09:44
Исходники журнальной версии на сайте РАДИО.
Вот ВЕСЬ пакет проекта последней версии, лицензия GPL :crazy:
А про аналоговую новую часть : поддерживаю!
Вообще то проект был придуман и сделан за пару недель, в целом за часов 8.
Цель была сделать как можно проще и доступнее альтернативу спец чипам.
Реально даже файловую систему провести и через комп сбрасывать и записывать треки, но думаю это излишество.

ut1wpr
16.08.2010, 10:10
Исходники журнальной версии на сайте РАДИО.
Вот ВЕСЬ пакет проекта последней версии, лицензия GPL :crazy:
А про аналоговую новую часть : поддерживаю!
Вообще то проект был придуман и сделан за пару недель, в целом за часов 8.
Цель была сделать как можно проще и доступнее альтернативу спец чипам.
Реально даже файловую систему провести и через комп сбрасывать и записывать треки, но думаю это излишество.Толстое и огромное спасибо!, Игорь.
Я даже не удосужился глянуть на FTP Радио... Каюсь, тормознул.
А тебя не хотел грузить, не люблю людей отягощать хотелками.
Дело в том, что я когда-то в QST видел примочку, которая непрерывно пишет по кольцу (сразу принцип рассказываю), а в случаях типа "помеха ударила" или "отвлёкся" можно было нажав на пупочку непрерывно (в повторе) слушать, скажем, последние 10 сек. записи. Ну вот и захотелось попробовать такой режим вставить. Можно попробовать (не знаю, как будет в работе, нужно ли) применить нес колько кнопок на разную глубину повтора. А может просто заранее выбрать одну и этого будет достаточно... Вот такая идея.
Ещё раз большое спасибо и за исходники, и за реализацию в целом.

SergUT
16.08.2010, 11:08
Подскажите пожалуйста, контроллер с индексом А (ATmega32A-PU) подойдет для данной конструкции?

RA9YTJ
16.08.2010, 11:38
SergUT, потребление меньше, новый тех. процесс
http://www.efo.ru/news/news.pl?a=1&id=2912&kod=Atmel
обещают полную совместимость, видимо без А уже не выпускают.
Кстати, если процессор тактировать 10МГц, то можно его запитать 3.3В, при этом желательно использовать аналоговую часть на операционниках для лучшей фильтрации т.к. уменьшится частота выборок-станет где то более 12КГц- что достаточно для 3-4кГц сигнала. При этом упрощается цифровая схема.

ut1wpr
16.08.2010, 13:47
Подумал над кольцевой записью. Никуда не годится идея. За час убью ММС. Тоже мне, придумал, всё время писать в один и тот же сектор. А про ресурс циклов записи кто будет помнить? :)
Тут без внешнего ОЗУ не обойтись. Надо в ту сторону глядеть.
Ещё немного подумал. С ресурсами меги32 (к-во портов в/в) не разгуляешься. Всё-таки лучше эту задачу реализовать на какой-ить меге, спецом заточенной под внешнюю статическую RAM. Или поставить ПЛИС-ку для регенерации динамической. Тогда можно и планочку любого DIM-а от старенького компа присобачить. Словом, думать надо.

genial
17.08.2010, 10:11
Я думаю в наше время , можно и цифровой магнитофон купить, но хочется же своими руками собрать ,ну нет у меня CD- флеш и картридера, ну я наверное зря сюда обратился.

Такую штуку можно сделать на микросхеме VINCULUM VNC1L фирмы FTDI.
Зайдите на сайт фирмы, там все подробно расписано, со схемами и программами

LY3BD
18.08.2010, 13:30
ТО RA9YTJ
Здравствуйте Сергей. У меня к Вам есть ещё пару предложений по улучшению магнитофона.
Первое. Оказывается приобрести SD карточку объёмом 2 гига и меньше, уже большая проблема.
Минимум что есть в продаже это 4 гига и больше ( во всяком случае это в наших краях). Поэтому чтобы
небыло трудностей с флешками, может можно расширить список SD карточек до 4 и 8 гиг? Для
расширения выбора можно использовать только четыре шины РА1....РА4 и использовать двоичный код,
а не позиционный как сейчас.
Второе. Один из освободившихся портов можно использовать для реализации индикатора времени
(длинны) записи (воспроизведения). Делать цифровую индикацию нет особого смысла, сложновато.
Можно сделать аналоговую индикацю на стрелочном приборе. Тем более он уже в принципе есть,
например, уровень записи. Теперь как это можно реализовать. На выводе РА7 (это как пример)
формируются прямоугольные импульсы с частотой к примеру 10 Кгц. Скважность этих импульсов
должна изменяться пропорционально длине использованого трека или его части. Подав этот импульсный
сигнал на простейший интегратор, на выходе мы получим постоянное напряжение пропорциональное
скважности и соответственно длине использованого трека. Это напряжение можно подать на стрелочный
индикатор. Весь трек можно условно разделить на сто частей (100%). В самом начале записи
(воспроизведении) импульсы должны быть маленькой длительности положительной полярности. По
достижении половины трека, скважность станет равна двум (меандр), а в конце трека импульсы станут
маленькой длительности но отрицательной полярности. В этом примере стрелка прибора плавно пройдёт
от нуля до последнего деления шкалы. Таким образом мы сможем контролировать какую часть трека мы
уже заняли и сколько ещё остолось места на треке. Если мы прервали запись раньше чем закончился
трек, то при воспроизведении этой записи, контролер должне принять эту короткую запись за 100% и по
мере воспроизведения изменять скважность также, как если бы мы воспоизводили весь трек. Это нам
даст возможность знать сколько мы уже воспроизвели и сколько осталось. При прокрутке вперёд, назад,
пауза, мы будем знать в какой части трека мы находимся.
В вашей конструкции заложены большие возможности, надо их реализовать! Что Вы на всё это скажите?
С уважением Александр.

ut1wpr
18.08.2010, 15:54
Можно мне немного поучаствовать в хотелках? :) Моих не будет, я себе т сам сделаю. Спасибо большое Сергею за любезно предоставленные тексты. Вопросов нет. Всё абсолютно прозрачно.

ТО RA9YTJ
Здравствуйте Сергей. У меня к Вам есть ещё пару предложений по улучшению магнитофона.
Первое. Оказывается приобрести SD карточку объёмом 2 гига и меньше, уже большая проблема.
Минимум что есть в продаже это 4 гига и больше ( во всяком случае это в наших краях). Поэтому чтобы
небыло трудностей с флешками, может можно расширить список SD карточек до 4 и 8 гиг? Для
расширения выбора можно использовать только четыре шины РА1....РА4 и использовать двоичный код,
а не позиционный как сейчас.Не знаю, захочет ли Сергей переписывать прогу, но я себе уже наметил, что размер карты будет выбираться на старте устройства в момент включения. При подаче питания надо будет замкнуть одну или комбинацию из нескольких кнопок выбора трека, которые чётко определят размер используемой карты и потом буду сохранять код размера в EEPROM. По умолчанию буду стартовать с 16 МБайт. Если не замыкать - работать с предыдущим "навсегда" сохранённым размером. Скорее всего, мы его менять часто не будем.

Второе. Один из освободившихся портов можно использовать для реализации индикатора времени
(длинны) записи (воспроизведения). Делать цифровую индикацию нет особого смысла, сложновато.
Можно сделать аналоговую индикацю на стрелочном приборе. Тем более он уже в принципе есть,
например, уровень записи. Теперь как это можно реализовать. На выводе РА7 (это как пример)
формируются прямоугольные импульсы с частотой к примеру 10 Кгц. Скважность этих импульсов
должна изменяться пропорционально длине использованого трека или его части. Подав этот импульсный
сигнал на простейший интегратор, на выходе мы получим постоянное напряжение пропорциональное
скважности и соответственно длине использованого трека. Это напряжение можно подать на стрелочный
индикатор. Весь трек можно условно разделить на сто частей (100%). В самом начале записи
(воспроизведении) импульсы должны быть маленькой длительности положительной полярности. По
достижении половины трека, скважность станет равна двум (меандр), а в конце трека импульсы станут
маленькой длительности но отрицательной полярности. В этом примере стрелка прибора плавно пройдёт
от нуля до последнего деления шкалы. Таким образом мы сможем контролировать какую часть трека мы
уже заняли и сколько ещё остолось места на треке. Если мы прервали запись раньше чем закончился
трек, то при воспроизведении этой записи, контролер должне принять эту короткую запись за 100% и по
мере воспроизведения изменять скважность также, как если бы мы воспоизводили весь трек. Это нам
даст возможность знать сколько мы уже воспроизвели и сколько осталось. При прокрутке вперёд, назад,
пауза, мы будем знать в какой части трека мы находимся.Освободивш иеся выводы и незадействованный таймер хочу попробовать применить для динамического управления шкалы из N-го количества светодиодов. Визуально позиционироваться внутри трека. Индикацию применю типа "Чарлиплексинга". Я уже давно её обкатал и она показала свою высокую эффективность. Для управления 12-ю светодиодами достаточно 4-х пинов.

В вашей конструкции заложены большие возможности, надо их реализовать! Что Вы на всё это скажите?
С уважением Александр. Подождём, что скажет Сергей. Думаю, насчёт больших возможностей он спорить не станет :)
Однако в какую сторону развивать, вот в чём вопрос. Давно в голове крутится мысль, а что такое можно записать в шесть блоков, скажем, по часу (при карте размером в 4 и более Гига)?
Мне казалось, что устройства подобного направления нужны контестменам и DX-менам в пайл-апах. Именно для записи КОРОТКИХ, но часто повторяющихся фраз. Неужели задумали делать контрольные записи кусков контеста? Так вроде старые надёжные кассетники никто ещё не хаял. Окромя хайфистов. :)
Лично для меня эта тема ценна не конечным продуктом, а возможностью поднапрячь серое вещество. Да и Сергею, я вижу, тоже этот процесс доставляет удовольствие. :) А вот развитие? Если глянуть в сторону оставшегося места в кодах, да и в ресурсах тоже, можно туда много чего всунуть. Ну не калькулятор же туда встраивать? :) :) :)

ut1wpr
18.08.2010, 21:59
TO RA9YTJСергей.
Извини, я ещё пока не собрал макет, не раньше воскресенья смогу присесть, не смог бы ты рассмотреть такие фрагменты и по возможности проверить правильность моих действий, скомпилировав и запустив программу. Это касается моего предложения устанавливать размер выбранной карты на старте. Идея такова:
В области EEPROM поместить массив заранее просчитанных величин (пусть компилятор трудится, их вычисляя, а не программа :) ) и там же выделить ячейку хранения индекса выбранной карты

eeprom unsigned long ee_MaxSector[10] = {
(0x73FF * 0x001) / 6 - 10,
(0x73FF * 0x002) / 6 - 10,
(0x73FF * 0x004) / 6 - 10,
(0x73FF * 0x008) / 6 - 10,
(0x73FF * 0x010) / 6 - 10,
(0x73FF * 0x020) / 6 - 10,
(0x73FF * 0x040) / 6 - 10,
(0x73FF * 0x080) / 6 - 10,
(0x73FF * 0x100) / 6 - 10,
(0x73FF * 0x200) / 6 - 10
};
eeprom char ee_index = 0x00;и далее в модуле main после настройки портов, но до обнуления переменных опросить кнопки на предмет их нажатия перед подачей питания.

i = PINB & 0xFC;
switch ( i ){
case 0xFC: index = 255; break; // Ранее записанное значение
case 0xF8: index = 0; break; // Кнопка 1 16
case 0xF4: index = 1; break; // Кнопка 2 32
case 0xEC: index = 2; break; // Кнопка 3 64
case 0xDC: index = 3; break; // Кнопка 4 128
case 0xBC: index = 4; break; // Кнопка 5 256
case 0x7C: index = 5; break; // Кнопки 6+1 512
case 0x78: index = 6; break; // Кнопки 6+2 1024
case 0x6C: index = 7; break; // Кнопки 6+3 2048
case 0x5C: index = 8; break; // Кнопки 6+4 4096
case 0x3C: index = 9; break; // Кнопки 6+5 8192
default: break; // Можно добавить ещё 16 и 32 Гига. Но это уже слишком! :)
}
// Если кнопки не нажаты, читаем индекс из EEPROM, иначе сохраняем
// новый индекс в EEPROM для повторных стартов
if ( index == 255 ) index = ee_index; else ee_index = index;
// Читаем значение MaxSector из массива в EEPROM по индексу
MaxSector = ee_MaxSector[index];
// Далее всё без изменений
StartSec[0]=5;
StartSec[1]=MaxSector+5;
StartSec[2]=(MaxSector+5)*2;
StartSec[3]=(MaxSector+5)*3;
StartSec[4]=(MaxSector+5)*4;
StartSec[5]=(MaxSector+5)*5;

#asm("sei")
Очень интересно, как ты отнесёшься к подобной идее.

Спасибо заранее.

RA9YTJ
19.08.2010, 04:46
Вопрос про определение объема флешки мне интересен.
Вот прошивка с новой попыткой определения объема. Когда надо определить и записать объем в еепром, нужно при включении держать кнопку "запись".
Если этого не делать, то программа будет считать что установлена 2гб флешка.
Про поддерживаемый объем: скорее всего можно использовать любую флешку, но используемый объем будет не более 4гб, или в крайнем случае 2гб.
Поддержка большего объема затруднительна т.к. там уже не 32разрядная адресация, и как там происходит мне не известно, если есть возможность попробуйте вставить 4 или 8гб флешку, у меня нет такой возможности.
Попробуйте автоопределение, если это не пойдет, то есть еще идея.
В конечном итоге освобождается 7 портов, на которых можно будет посадить индикацию времени.

ut1wpr
19.08.2010, 07:06
Вопрос про определение объема флешки мне интересен.
Вот прошивка с новой попыткой определения объема. Когда надо определить и записать объем в еепром, нужно при включении держать кнопку "запись".
Если этого не делать, то программа будет считать что установлена 2гб флешка.
Про поддерживаемый объем: скорее всего можно использовать любую флешку, но используемый объем будет не более 4гб, или в крайнем случае 2гб.
Поддержка большего объема затруднительна т.к. там уже не 32разрядная адресация, и как там происходит мне не известно, если есть возможность попробуйте вставить 4 или 8гб флешку, у меня нет такой возможности.
Попробуйте автоопределение, если это не пойдет, то есть еще идея.
В конечном итоге освобождается 7 портов, на которых можно будет посадить индикацию времени.Это решение мне нравится гораздо больше, чем предложенное мной. Спасибо. Вот только индикацию времени было бы желательно убрать с порта АЦП. Проще всего посадить туда кнопки.

ut1wpr
19.08.2010, 17:48
Вопрос про определение объема флешки мне интересен. Ты, случайно, не этим материалом пользовался?

RA9YTJ
20.08.2010, 04:06
ut1wpr,Нет, по исходнику же видно.
Я искал команды по определению объема но не нашел. То, что Вы показали мне не знакомо и не понятно, что нужно посылать и как принимать.

ut1wpr
20.08.2010, 07:34
ut1wpr,Нет, по исходнику же видно.
Я искал команды по определению объема но не нашел. То, что Вы показали мне не знакомо и не понятно, что нужно посылать и как принимать.В исходняке я нашёл группу закомментаренных строк - это оно?
Если у тебя есть желание - могу быть в любом из средств прямого контакта: Скайп, Гугл-Толк или Аьска. Похоже, наши беседы могут показаться в конфе специфическими.
Я тебе в личку кину свои данные, а там уж сам смотри. Если тебе со мной интересно - выбирай любое. Я доступен всегда, кроме 00-07 в любой день. С перерывами на перемещения с работы домой и обратно :). Сейчас спешу, собираюсь на работу, с работы отвечу по поводу чтения блока параметров.

ut1wpr
20.08.2010, 07:39
Error, deleted.

RA9YTJ
20.08.2010, 08:51
В исходняке я нашёл группу закомментаренных строк - это оно?
Нет не оно, я просто в первую попытку читал последовательно сектора и если возвращалась ошибка, то конец флешки, но почему то флешка реальная ошибки не давала, сейчас я попробовал записывать и ожидать ошибки.

LY3BD
20.08.2010, 09:16
Многие, кто делает или собирается делать этот магнитофон, сталкиваются с проблемкой, как подключиться к SD-карточке? Найти специальный разъём не так и просто, подпаяться прямо к контактам-загубить карточку. Очень простое решение я случайно нашёл на просторах ИНета. Гораздо проще найти плоский кабель, от компа, соединяющий материнку с "HD" и "флопиком". Но с "флопиком" старым, 5 дюймов. Какраз в разъём, который подключается к флопику, очень хорошо вставляется SD карточка. Один из контактов SD карточки, не попадает на контакт разъёма, его можно оставить не подключенным. Всё должно работать. Лишние провода от разъёма можно удалить.
610726107161070
http://www.cqham.ru/forum/images/misc/pencil.png

rx3apf
21.08.2010, 00:30
как подключиться к SD-карточке? Найти специальный разъём не так и просто
Не, ну лет десять назад такое решение может быть и стоило рассматривать, но сейчас-то ? Ну ладно - нет местных продавцов комплектующих. Ну ладно, из какого-нибудь европейского инет-магазина доставка обойдется дороже самого разъема (да и один разъем как-то несолидно там покупать). Но ведь есть, в конце концов, ebay и китайские магазины. Максимум пара баксов - и через месяц (при бесплатной доставке) от силы придет законченный китайский картридер под SD (у нас в Москве в розницу сам разъем типично дороже).

ut1wpr
21.08.2010, 11:39
Не, ну лет десять назад такое решение может быть и стоило рассматривать, но сейчас-то ? Ну ладно - нет местных продавцов комплектующих. Ну ладно, из какого-нибудь европейского инет-магазина доставка обойдется дороже самого разъема (да и один разъем как-то несолидно там покупать). Но ведь есть, в конце концов, ebay и китайские магазины. Максимум пара баксов - и через месяц (при бесплатной доставке) от силы придет законченный китайский картридер под SD (у нас в Москве в розницу сам разъем типично дороже).Извините, отдаёт каким-то апломбом, только без обид. Если мне нужно ЕДИНИЧНОЕ изделие, очень хочется побыстрее сделать (даже не сделать, а сесть и поэкспериментировать с картой и программой) - поверьте, ждать даже несколько дней не хочется. Насчёт цены - я на своё хобби денег не жалею, готов впятеро заплатить, но сейчас. Да мне и безразлично, будет ли там картоприёмник (не ридер) заводского изготовления или суррогатный. Задача простая - передать 4 сигнала. Ждать и догонять - самое противное. В любительстве не всегда спланируешь свободное время не то что на месяц вперёд, иногда не знаешь и про завтра (жена, дети, рынок, огород, дача, рыбалка). :)

er1mf
22.08.2010, 05:56
Последнюю мне придётся делать на 317-й, т.к. монолитных 3.3 не нашёл в продаже.
Поковыряйте модемы и звуковухи - на них очень часто стоит lm1117 или аналогичные.

61216
(http://media.digikey.com/photos/Diodes%20Photos/31-SOT-223-3_sml.jpg)

RA4FOC
22.08.2010, 07:17
lm1117
Она же LD1117.

ut1wpr
22.08.2010, 13:36
Здравствуйте одноветочники!
Собрал я макет, захотелось мне с карточками поиграться. Лучше бы я этого не делал. :)
"Мир карточек" тёмен и неоднозначен. Лично я выделил три их типа, а сколько их реально - мало кто знает.
Полные спецификации если и приведены, то только на отдельные типы. И то с оговоркой, мол, "могут быть и варианты..."
Что я сделал:


1.

61247

Собрал макет. На нём разместил отдельно стабилизатор 3.3V, МК, немножко кнопочек и светодиодиков. Для аппаратной пошаговой отладки применяю AVR Dragon. Для пущей важности к пока свободному выводу TxD подключил USB-COM от старого кабель-дат. Прекрасно работает, особенно, если в компьютере нет или мало СОМ-портов. В качестве терминалки использую putty.exe - в "Семёрке" напрочь убрали корявый гипертерминал. Туда ему и дорога.

2. Картоприёмник так и не нашёл-выпаял-достал. Пришлось взяться за утюг моему другу Славику UR5WG. Он совместно с помощницей-женой (ох и спасибо ей!) Леной эту технологию освоили на пять с плюсом. Трудно мне было бы без них. Словом, наколенное производство выпустило вот такое чудо

61249

Учитывая комментарии в ветке делители поставил 910+1600. Пины 8 и 9 подтянул через 47К на 3.3 вольта. В конфах много писали про "нужно-не нужно", решил, что не повредит.



3. В моём распоряжении оказалось 4 карточки. Все они видны на фотке

61250

Я умышленно положил две слева и две справа. Те, которые справа прекрасно проинициализировалис ь, согласно алгоритмам, которые я нарыл в инете и который применил Серёжа. Программное определение размера и вычисление стартовых адресов тоже прошли без проблем. На всякий случай прилагаю страничку вордовского документа, в котором в таблице собрал несколько скриншотов. Для каждого из этих двух типов карт есть скриншот с аппаратного отладчика (т.е. сосчитанные непосредственно из МК в рантайме данные) и те же данные, выведенные на терминал по линии передачи. Это уже скорее всего, Сергею будет интересно. Да и всем, кто возьмётся за развитие этой идеи.
А вот две карточки на 16 Мбайт, которые видны слева никак НЕ ХОТЯТ ИНИЦИАЛИЗИРОВАТЬСЯ. Есть такой термин у "карточников" - перевод в режим IDLE. Это самая первая команда, на которую БЕЗУСЛОВНО все карточки должны реагировать. Не знаю, почему, но эти две НЕ ЗАХОТЕЛИ. На команду перевода они "отвечали" полным набором битов ошибок (!). Хотя сами карточки через кардридер прекрасно форматируются и принимают-отдают данные. Значит, "писатели" компового софта (драйверов) знают намного больше меня, как в железе так и софте :( Это плохо, непонимание раздражает.
Буду ковыряться дальше, может до чего и дойду. Очень смущает "нечестный" переход с 5-вольт логики на 3.3. Резистивные делители - это даже хуже чем "радиолюбительское" решение. Особенно в таком тонком деле, как SPI-протокол на достаточно высоких скоростях.

er1mf
22.08.2010, 18:07
Очень смущает "нечестный" переход с 5-вольт логики на 3.3. Резистивные делители - это даже хуже чем "радиолюбительское" решение. Особенно в таком тонком деле, как SPI-протокол на достаточно высоких скоростях.
Гм, а может сделать все проще - опустить напряжение на процессоре дл 3.3? Тогда отпадет необходимость в резисторах....

ut1wpr
22.08.2010, 18:27
Гм, а может сделать все проще - опустить напряжение на процессоре дл 3.3? Тогда отпадет необходимость в резисторах....Давно бы сделал :)
Цитата из PDF:
• Operating Voltages
– 2.7 - 5.5V for ATmega32L
– 4.5 - 5.5V for ATmega32
• Speed Grades
– 0 - 8 MHz for ATmega32L
– 0 - 16 MHz for ATmega32
Мы работаем с 16-МГц мегой. Переходить на L не хочется. Хотя в дальнейшем можно будет и поэкспериментировать .

Выяснил про свои 16 МБайт карточки. Спецы подсказали, что ряд карточек вообще не работают в SPI-mode, особенно малых объёмов и старые, до какого-то там года выпуска... А в этом устройстве он основной, увы. Выходит так, что карточки надо пробовать перед употреблением. :)

er1mf
22.08.2010, 18:28
Не знаю, почему, но эти две НЕ ЗАХОТЕЛИ. На команду перевода они "отвечали" полным набором битов ошибок (!). Хотя сами карточки через кардридер прекрасно форматируются и принимают-отдают данные. Значит, "писатели" компового софта (драйверов) знают намного больше меня, как в железе так и софте :( Это плохо, непонимание раздражает.
А стоит ли под это заморачиваться? Думается, что проще сказать,что работает с такими типами и с такими типами. А остальное на ваш страх и риск. При цене карточек в районе 15 тугриков - это разумно. Я так думаю! (С)

ut1wpr
22.08.2010, 22:04
А стоит ли под это заморачиваться? Думается, что проще сказать,что работает с такими типами и с такими типами. А остальное на ваш страх и риск. При цене карточек в районе 15 тугриков - это разумно. Я так думаю! (С)В том то и беда, что сказать что-то конкретное про тип я не могу.Чем отличается карточка с надписью SD-16 от карточки с надписью SD-32? Особенно, если те и другие могут работать,а могут и нет. Тестер для них делать, что-ли? Ведь в кардридере они все работают безукоризненно. Комп с ними в ином режиме работает.

RA9YTJ
23.08.2010, 04:12
ut1wpr, Карточки малого размера (а значит старые) уже не продаются (новые) по этому если найденная старая карточка не работает -это не трагично. Еще не известен их остаточный ресурс, они раньше были дорогие и мало ресурсные, по этому юзали их во всю.
Меня волнует работа с новыми, большой емкости, карточками.
С буквой А меги нормально работают при 3.3В, просто нужно понизить кварц до 10-12МГц.

ut1wpr
23.08.2010, 09:10
ut1wpr, Карточки малого размера (а значит старые) уже не продаются (новые) по этому если найденная старая карточка не работает -это не трагично. Еще не известен их остаточный ресурс, они раньше были дорогие и мало ресурсные, по этому юзали их во всю.
Меня волнует работа с новыми, большой емкости, карточками.
С буквой А меги нормально работают при 3.3В, просто нужно понизить кварц до 10-12МГц.Пока оставлю, как есть.
Серёжа, спасибо за программу, я переписал проект под IAR (мне так привычнее), вчера всё заработало. Теперь буду меньше к тебе приставать :)
Пока определение размера из таблицы не пошло. Повожусь ещё. А может, попробуем таким образом: Разместим во флеше таблицу "последних доступных" секторов для карт с разными размероми, и в адреса из этой таблицы будем делать контрольные запись-чтения по 512 байт? Мне кажется, что должно сработать. Ну, это надо пробовать.
Теперь насчёт индикации. Идея с индикацией "времени звучания трека" меня не оставляет. Вот только слишком много вариантов.
Один из них - ввести LCD индикатор. На него можно и номер трека выводить, и индикацию режима, и алармовые сообщения, и "термометр" трека. Просто риской или с заполнением, как угодно.
Можно и линейкой светодиодов. Тоже, или столбиком, или одиночным перемещающимся. Причём, если применить чарлиплексирование (http://en.wikipedia.org/wiki/Charlieplexing), то ВСЕ светодиоды (12 шкала + 6 треки + запись + 1 на всякий случай = 20) ложатся на 5 выводов. Т.е. от светодиодного порта ещё один пин останется свободным.
Скорее всего я пойду по второму пути, т.к. собираюсь эту штуку не на стол ставить, а под крышку стола, только чтобы морда видна была. У меня там уже примочка стоит, туда входят провода от гарнитуры, от РигЭксперта, от педали, там же стоит тумблер выбора работы - "Цифровые виды - голосовой SSB". Вот в этой коробочке и хочу совместить ещё и эту квакалку. Но всё-таки много сомнений. И у второго способа есть свои недостатки. Словом, пока колеблюсь.
И с определением тоже не знаю, как лучше. Хочется, как проще но надёжнее. :)
Да, есть ещё один вопрос. Нет ли у тебя ошибки в строчках:

StartSec[2] = (MaxSector+5) * 2;
StartSec[3] = (MaxSector+5) * 3;
StartSec[4] = (MaxSector+5) * 4;
StartSec[5] = (MaxSector+5) * 5;Получается, что служеьная часть сектора тоже величина переменная и с возрастанием номера стартового сектора растёт.
Может надо так?

StartSec[2] = MaxSector+5 * 2;
StartSec[3] = MaxSector * 3 + 5;
StartSec[4] = MaxSector * 4 + 5;
StartSec[5] = MaxSector * 5 + 5;Правда, я не уверен, но ты поправишь.

Integral
23.08.2010, 12:37
Один из них - ввести LCD индикатор. На него можно и номер трека выводить, и индикацию режима, и алармовые сообщения, и "термометр" трека. Просто риской или с заполнением, как угодно.
Вот это было совсем круто. Я вообще избавляюсь от светодиодов, где это возможно. Все-таки на ЖКИ солиднее это выглядит и главное можно менять выводимое инфо для дальнейшей модификации. На светодиодах такое не сделаешь.

LY3BD
23.08.2010, 14:02
Очень смущает "нечестный" переход с 5-вольт логики на 3.3. Резистивные делители - это даже хуже чем "радиолюбительское" решение. Особенно в таком тонком деле, как SPI-протокол на достаточно высоких скоростях.

Для првильного согласования лог. уровней между AVR и SD, можно применить микросхемы серии 74LVX. На пример 74LVX125. Эта серия допускает входные уровни до +5v, при питании самой микросхемы 3,3v , соответственно выходные уровни будут 3v. То что нужно для SD.

ut1wpr
23.08.2010, 14:36
Для првильного согласования лог. уровней между AVR и SD, можно применить микросхемы серии 74LVX. На пример 74LVX125. Эта серия допускает входные уровни до +5v, при питании самой микросхемы 3,3v , соответственно выходные уровни будут 3v. То что нужно для SD.Вапче-то я не первый год замужем.. :)
Уже перевёл на ЖКИ. Сейчас отрабатываю индикацию времени. И всеми любимый термометр. :)

D0ITC
23.08.2010, 14:47
А ЖКИ предполагается двухстрочный?

LY3BD
23.08.2010, 14:56
Вапче-то я не первый год замужем..

Вапче-то эта информация не столько для Вас, сколько для тех кто собирается поврорить эту конструкцию :smile:

ut1wpr
23.08.2010, 20:18
А ЖКИ предполагается двухстрочный?Вот пока что нарисовалось.
На старте оно сообщает, кто его сотворил.

61347


Задержка коротенькая, мой фотик не успел даже щёлкнуть, повторять не хотелось. И так всё ясно. Мне это нужно было для запуска LCD
После этого оно переходит на вторую заставку и на короткое время показвает размер блока и отображает время его проигрывания в мин:сек и термометром (термометр скорее для проверки, все ли палочки на месте )

61349


Потом оно переходит в состояние стопа. Ждёт, пока на его нажимать будут. :) Не стал я снимать индикатор с одним словом STOP по центру дисплея. И так ясно.
А вот экран после нажатия кнопки RECORD. Оно перешло в режим записи и ждёт нажатия любой трековой кнопки.

61350


После выбора трека начинается собственно процесс записи.

61351


Надо ли комментировать? Текущее время записи в правом нижнем углу. Термометр показывает относительное положение по треку. А вот про текущее время следует рассказать отдельно. Это не какой-нибудь секундомер. Это реальное время звучания/записи. Принцип следующий:
АЦП в непрерывном режиме оцифровывает входящий сигнал. Прерывания от АЦП настроены таким образом, что они следуют с периодом в 52 мксес. Этот процесс вечен и идёт без остановок. Сергей очень грамотно использовал это прерывание во всех режимах. Только в режиме воспроизведения, данные с АЦП не используются. Просто с таким же периодом вычитываются из заранее заполненного данными из карты буфера и кидаются на регистр ШИМа. Данные на карту и с карты читаются блоками по 512 байт. Время на транзакцию одного блока составляет

52 мксек х 512 = 26.624 мсек

Следовательно, средняя скорость транзакций секторов составит

1000 мсек / 26.624 = 37.56 сект/сек

Т.к. мне всегда известен номер сектора в обработке, я всегда могу рассчитать, на каком временном отрезке от старта он находится.

Tзаписи = №сектора * 100 / 3756 (сек)

Ну а перевести секунды в мин:сек не так уж и трудно. Да и термометры я научился рисовать непринуждённо и легко, когда ковырялся с мощемерами.
Вот и получается, что я не секунды считаю, а преобразую номер сектора в секунды от начала трека. Чтобы лишний раз не грузить медленный дисплей я слежу за обновлениями времени, и когда появляется новая секунда, тогда и вывожу и рисую. Реально такое впечатление, что работает секундомер. Когда включаю перемотки, интересно наблюдать, как время быстренько скачет вперёд и назад, а за ним и термометр шевелится. Стоит видеть
При паузе на дисплее появляется слово PAUSE в мигающем режиме. Немного сделал чаще, чем у Сергея светодиод. Ну, это кому как нравится. На снимке мой фотик упорно клацал затвором в момент, когда слово PAUSE было погашено. Еле получил более-менее заметный результат.

61354


Точно так же пауза работает и в режиме воспроизведения. Собственно этот режим одним словом на дисплее и отличается. Форум не даёт вставлять более 7 изображений, поэтому не привожу снимок режима PLAY.



Ну вот, пока так получилось. Ещё не работал с каналами обработки звука (операционники). Буду ставить малошумящие, из тех, что на рынке купил. NE5532. Неплохие вроде...
А дальше посмотрим. Пока хочу отдохнуть немного. Выходные на завершении, завтра в Украине праздник, может чего ещё и допраздную.

D0ITC
23.08.2010, 20:52
А у меня фоток не видно, только надписи "Вложение 61354", если выбираю то пишет что такого вложения не существует:cry:

ut1wpr
23.08.2010, 21:00
А у меня фоток не видно, только надписи "Вложение 61354", если выбираю то пишет что такого вложения не существует:cry:
Странный глюк форума. Всё делал как обычно. Обидно. Попробую перепостить.
Попробовал.
Результат тот же. Тут уж надо вебмастера ждать, может он что подправит. Но странный глюк, раньше не замечалось такого.
Кстати, у меня в Лисе фотки открываются.

ut1wpr
23.08.2010, 21:53
Проблема не в применяемом браузере. Для вас ваши вложения будут всегда доступны, другим участникам форума нет. Щас попробую сделать вложение...
Вроде вложения вставляются. Сделайте в расширенном режиме -> Загрузка вложений Хотелось все-таки увидеть что получается на ЖКИЯ не делал загруку вложений, я делал вставку изображения в текст. Однако попробую ещё раз.
Получилось, но не в составе текста. Увы, всё-таки что-то глюкнуло.
На первом снимке видно, что для карты в 32М на 1 риску приходится приблизительно 7 секунд. Эта величина зависит от объёма карты.
Пока мне не удалось автоматом определять объём. Подожду результатов Серёжи, у него голова варит будь-будь! :)
А может, просто передохну и займусь вторым подходом. Не всегда всё с первого раза получается. К штанге и то по три раза пущают. А тут покруче штанги будет. :)

Integral
23.08.2010, 21:59
Однако попробую ещё раз.
Теперь вложилось. Просто супер!!! Теперь юзать такой магнитофон одно удовольствие :пиво::пиво::пиво:

ut1wpr
23.08.2010, 22:13
Теперь вложилось. Просто супер!!! Теперь юзать такой магнитофон одно удовольствие :пиво::пиво::пиво:Ес ли он писать-воспроизводить сумеет - цены ему не будет. ;(
Я ж пока только цифровую часть проверил. АЦП-ШИМ ещё не проверял. 8-бит оцифровка - это не такой уж большой ДД. Возможно, придётся применить компрессию на входе при записи. Вскрытие покажет. :)

RA9YTJ
24.08.2010, 04:15
ut1wpr,весело :-P
Звук нормальный? А то может из-за нагрузки индикатором (он медленный) мега может не поспевать подносить патроны, т.е. сектора.
С объемом: на команду 09 отдает 16 байт 0xFF, но это с ММС. А с моей последней прошивкой не проходит?

ut1wpr
24.08.2010, 08:56
ut1wpr,весело :-P
Звук нормальный? А то может из-за нагрузки индикатором (он медленный) мега может не поспевать подносить патроны, т.е. сектора. В том и беда, что я ещё не работаю со звуком. Но я принял допмеры и обращаюсь к индикатору редко, т.е. только тогда, когда происходит изменение секунд. Т.к. работа с АЦП/ЦАП и буферами происходит в прерываниях, надеюсь, что они скорее прервут обращение к дисплею, чем он их :).

С объемом: на команду 09 отдает 16 байт 0xFF, но это с ММС.Серёжа, быстренько подгони мне фрагмент передачи CMD9 м фрагмент чтения 16 байт. А то у меня карта вообще молчит. Какую CRC ты выдаёшь в CMD9 ?

А с моей последней прошивкой не проходит?См. мой пост №70. Там в конце прилеплен файл CANON_SD.doc
В нём данные по замеру двух рабочих флешек твоим фрагментом определения сайза.
Мне кажется, что эти данные не совпадают с расчётными. Проверь внимательно.
Жду ответа. Я всегда в Скайпе/Аське/ГуглТолке.

ps Только что для развлечения попробовал режим обратного отсчёта индикации при воспроизведении. Т.е. при нажатии на кнопку трека выводится время звучания записи в нём, и термометр показывает заполненный объём. По мере воспроизведения оставшееся время уменьшается, соответственно термометр заполнения тоже ползёт влево. Прикольно. Но путаюсь с кнопками - перемотка вправо вызывает движение термометра влево и наоборот. Но имеет право на жизнь :) Можно один из свободных пинов использовать для определения пользователем этой фичи. Ваши мнения ? (Это уже относится к разряду "Whistles & Bells") :)

D0ITC
24.08.2010, 17:10
С такой индикацией получается классно и информативно, а получившуюся схему можно будет увидеть?

ut1wpr
24.08.2010, 17:48
С такой индикацией получается классно и информативно, а получившуюся схему можно будет увидеть?Ещё рановато. Надо испробовать со звуком.
Схема ничем не отличается от предыдущей. На порт светодиодов лёг порт индикатора. А вот с автоопределением пока ничего не выходит.

D0ITC
24.08.2010, 17:50
Ещё рановато. Надо испробовать со звуком.
Схема ничем не отличается от предыдущей. На порт светодиодов лёг порт индикатора. А вот с автоопределением пока ничего не выходит.

Да можно и в ручную выбрать, как и раньше, ведь не каждый раз меняешь.

ut1wpr
24.08.2010, 18:39
Да можно и в ручную выбрать, как и раньше, ведь не каждый раз меняешь.Там не всё так просто. Кроме автоопределения объёма очень сложно и запутанно определять тип карточки, протоколы обмена и прочую лабуду. В основу положен SPI-обмен, а в этот режим не каждая карточка входит, а если входит, то процедуры вхоэждения для разных версий карточек разный. Понамутили разработчики. В основном эти карточки работают в режиме файловых систем, там всё проще. Одним словом - менингит.

ut1wpr
26.08.2010, 15:25
С трудом добрался до автоопределения размеров. Маловато у меня на руках типов карточек. 16 мбайтовые однозначно не хотят работать. А те, что "откликались" выдали вот такую информацию:

61523
Capacity - это полезный объём карты без учёта защищённой области. Указан в секторах. В проверяемых картах размер сектора всегда был одинаков - 512 байт. Две правые колонки показывают в байтах и мегабайтах. Нас интересовать будут выделенные колонки - размер трека и время его записи/воспроизведения.
Прослеживается двукратная аппроксимация, т.е. можно оценочно назвать время трека в зависимости от размера карты.
Отладку вёл в симуляторе, данные для симуляции сосчитывал с реальных карт. Вечером присяду за железо.

ps Проверил в макете. Все расчётные и просимулированные данные совпали с реальными в рантайме.

ut1wpr
27.08.2010, 15:37
Да можно и в ручную выбрать, как и раньше, ведь не каждый раз меняешь.Дело не в ручной или ножной выборке. Вопрос принципиальный. У Сергея для всех типов карт стоят общие величины. А производители выпускают их с разбросом. Завивит от технологии. Посмотри предыдущий мой пост - размер карты состоит из нескольких частей. В основном это размер и множитель. А у разных производителей они могут быть разными, но в конечном итоге всй равно выйдут приблизительно на одну цифру. Вот от этого "приблизительно" и надо уйти. У Сергея сделан запас в сторону уменьшения ёмкости. Типа "на всякий случай поменьше", чтобы не попасть в защищённую область. А автоопределение даёт точные и конкретные цифры для каждого типа и попасть на закрытую зону ну никак... Надёжность.

ut1wpr
27.08.2010, 21:32
Если кто-то готов помочь в испытании новой версии - выкладываю модифицированную схему. (Ошибочно указана Мега16, читать Мега32.)

61623

От старой остались:




Кнопки и тумблер Bypass.
Интерфейс карты.
Выходы на ключи.
Вход аудиосигнала на АЦП и выход ШИМ.

Удалено:


Светодиоды треков и записи.
Опрос перемычек размера карты.

Добавлено:


Вход выбора направления отсчёта времени ( сколько проиграно или сколько осталось ) Переключать можно "на лету" во время воспроизведения. Во время записи работает только прямым отсчётом.
Интерфейс ЖКИ 2х16. Вывод W индикатора всегда на земле. Остальное - согласно схеме и даташиту на индикатор.

На мой взгляд, логика работы программы отлажена, изменений не предвидится. Остались мелкие программные огрехи, которые в целом на её работу не влияют, но тем не менее будут устранены в ближайшее время.
Следующим этапом будет отработка материала для размещения на моей страничке (http://www.ut1wpr.newmail.r u).
Дополненные данные по испытаниям карт на автоопределение:

61626

Прошивку прилагаю.
Фрагмент строки фьюзов из батника AvReal:
-f_LOW=0xFF,_HIGH=0xC 9

Буду благодарен бета-тестерам за помощь.

ut1wpr
28.08.2010, 22:17
To: Алекс. Ошибку с записью в один и тот же трек нашёл и устранил. Пока идёт борьба с типами карточек.
В продолжении нашего Скайп-контакта. Я глянул фронты клоков на карточку и уровень от карточки. Всё в пределах нормы. Хотя уровень выходного сигнала от карточки на пределе - 2.56 в. Явно просится преобразователь уровней.
Скриншоты прилагаю.

UA4FOZ.
29.08.2010, 19:34
Здравствуйте, Все! Очень заинтересовался данной конструкцией, буду непременно собирать.

То: RA9YTJ и UT1WPR
Вот ещё одна идея из разряда "бредовых". Было бы неплохо реализовать: по необходимости, автоматическое переключение треков при записи по мере их заполнения. Данная функция нужна для записи всего теста (сутки или более).
С уважением, Кузнецов Александр. 73!

ut1wpr
29.08.2010, 22:11
Здравствуйте, Все! Очень заинтересовался данной конструкцией, буду непременно собирать.
То: RA9YTJ Вот ещё одна идея из разряда "бредовых". Было бы неплохо реализовать: по необходимости, автоматическое преключение треков при записи по мере их заполнения. Данная функция нужна для записи всего теста (сутки или более).
С уважением, Кузнецов Александр. 73!А почему бредовая? Нормальная идея. Попробую. Но придётся вводить тумблерочек "Один трек" или "Полный объём". Не знаю, что получится. Вроде, на стыках получатся микропропуски, но может и не очень заметные.
Сейчас реализую ещё одну "бредовую". Но свою. :) Хочу ввести ещё одну кнопку, при нажатии на которую вместо термометра времени отображался бы термометр уровня сигнала, чтобы перегрузок избежать по входу записи. А в режиме, когда нажимаешь кнопку ЗАПИСЬ, но ещё не выбрал трек - чтоб сразу показывал уровень, ещё до включения трека. В этом состоянии время побоку, оно стоит :)
Похоже, что "хотелок" немеряно... И чужих, и своих. А в сутках всего 24 часа, увы. И жить надо, и работать, и хлеб нужен, и на хлеб... :) К сожалению, это хобби только уносит, ничего не приносит, кроме кайфа. :)

UA4FOZ.
29.08.2010, 23:26
Нормальная идея. Попробую. Но придётся вводить тумблерочек "Один трек" или "Полный объём". Не знаю, что получится. Вроде, на стыках получатся микропропуски, но может и не очень заметные.

А чтение по трекам, чтобы искать было легче.



Хочу ввести ещё одну кнопку, при нажатии на которую вместо термометра времени отображался бы термометр уровня сигнала, чтобы перегрузок избежать по входу записи.

Очень нужная функция.

С уважением, Кузнецов Александр. 73!