Страница 3 из 3
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Ср авг 10, 2011 23:06:13
Hispanus
urry писал(а):Ну у Димы же работает связка

Только с записью - сразу нет - блок пишется 10 мс.
Долго ждать .
Придётся, что то сделать, но это не проблема

наверное.. Кстати нашел решение программирования внешней памяти. Можно обмениваться циферками по UART, заюзав COM

P.S. USART .. таки PIC же)
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Чт авг 11, 2011 10:18:28
Dmitry Dubrovenko
urry писал(а):сохраняете в bin формате, он самый простой и, кстати, конвертируется в hex тоже без проблем
Юр, а нафига это надо (в смысле в хекс конвертировать)?
Бинарник - очень удобный формат (всё предельно хорошо видно), а все прогеры, которые с чипами памяти работают, его прекрасно понимают.
Только, ИМХО, если уж связываться с MMC, то надо файловую систему поднимать, и данные с компа заносить прямо в вэйве.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 02:34:22
Hispanus
Попробовал смоделировать работу USART, передав через виртуальный терминал протеуса строку символов функцией printf(). Но вместо исходной строки в виртуальном терминале отображается какая то каша из символов той же длины. Почему так?
Код: Выделить всё
#include <16f628a.h>
#fuses HS,NOWDT
#use delay(clock=10000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1,stream=OUT_STREAM)
#byte PORTB = 0x06
#byte TRISB = 0x86
void main()
{
PORTB=0;
TRISB=0xFF;
printf("radiokot");
//Передача строки
delay_ms(10);
while (1)
{
}
}
Схемка подключения:
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 06:51:14
urry
макс232 перед терминалом ставить н нужно, напрямую с ножек пика на него.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 09:00:58
Hispanus
Спасибо, не думал, что будет так просто

Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 22:25:36
urry
Простого ничего не бывает - если Вам кажется, что это просто, значит, Вас где-то наебали.
Для грусти покажите мне, например, как в Вашем компиляторе обрабатываются исключения - переполнение буфера приема и отсутствие стопового бита.
Правильные пацаны для 16 серии пользуют хайтек .
"Всем известно, что Страдивари делал скрипки - но для нормальных людей и за нормальные деньги он может сделать и барабан".
Что-то типа этого...
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 23:02:04
Hispanus
Ну значит я неправильный

я просто беру и разбиваю то что надо передать на блоки, размер которых определяется возможностью памяти МК. Потом отправляю их через usart с последующей записью в какой нибудь символьный буфер. Дальше выделяю из этого буфера каждые 4 символьные строчки (шестнадцатеричное число) и снова присваиваю их новому символьному буферу. И наконец использовав одну из функций моего компилятора я перевожу эту символьную строчку в целочисленное значение и записываю во внешнюю память. Всё это повторяется до тех пор пока МК не получит стоповую строчку и прекратит запись. Как то так
Для более серьёзных вещей нужны куда более сложные алгоритмы, обычно недоступные простым смертным

..Вы правы..право творить историю даётся только избранным.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 23:15:56
urry
Мы сейчас точно говорим о стандартной обработке ошибок приема данных по уарту ?
Право творить историю... Из ассоциаций - "избранный" только Нео ...
Глобально мыслите...
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт авг 12, 2011 23:27:40
Hispanus
Я к тому, что проблема кажется решенной только до первого порота

пока не встретятся новые, с которыми надо что то делать. На моём этапе ошибки кажутся чем то очень далеким - лишь бы заработало.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Чт дек 15, 2011 20:01:33
TripleKill
Всем привет. Тоже возникла идея воспроизведения звука PICом.
Исходные данные такие.
1). PIC18F452 (до 40 МГц).
2). SD- или microSD-карта.
3). Имеется аудио ЦАП PCM1717E.
4). Никакого качества не нужно, самые примитивные 8 кГц, моно, WAV без сжатия, для передачи голоса.
Реально на таком железе реализовать желаемое?
Может, кто-то подскажет хорошие ссылки, где бы можно было почитать про воспроизведение WAV, строение самого WAV-файла и протокол работы с PCM для ЦАПов типа приведённого выше?
Спасибо.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Чт дек 15, 2011 20:24:15
Dmitry Dubrovenko
TripleKill писал(а):Реально на таком железе реализовать желаемое?
Ну, блин.
Выше же готовый пример приводил, для таких требований, без всяких SD-карт и внешних АЦП.
Зачем они нужны?
А спецификация на WAV, в атаче.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Чт дек 15, 2011 23:15:48
TripleKill
Без SD будет неудобно человеку без программатора изменять файлы.
В общем и целом вряд ли потребуется смена файлов, но такая вероятность есть.
Файловая система под SD уже имеется в mikroC (FAT16).
Тут разве что со скоростью проблемы, т.к. карточка по SPI-интерфейсу подключается.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт дек 16, 2011 08:33:41
Ser60
Интересными вопросами занимаетесь, коллеги. Dmitry - можно попросить инфу по Вашему проекту информатора для массажного кресла. Емайл послал в личку. Hispanus - у Вас гляжу большой прогресс в программировании МК. Вношу свой вклад в обсуждение про воспроизведение речи, см. нашу статью про сенсор воды с голосовым интерфейсом в Радиомире 1/2011. Правда, он на MSP430.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт дек 16, 2011 10:56:45
Dmitry Dubrovenko
TripleKill писал(а):Тут разве что со скоростью проблемы, т.к. карточка по SPI-интерфейсу подключается.
Так у СПАЙя как-раз меньше проблем со скоростью. Я-то на I2C делал, и на Ассемблере.
А со SPI Юрий делал (ссылка тоже чуть выше). Только, насколько помню, он ФАТ не поднимал. И проблемы там некоторые возникли (тоже всё выше изложено).
Ещё, помниться, в "Мурзилке" пару лет назад была статья, кажись как-раз на Си. Но, судя по отзывам, работает "через раз".
P.S.: Менять файлы в речевом информаторе, рядовым юзерам, идея совсем нехорошая. ИМХО, разумеется.
А программатор I2C - очень простая штука.
Re: Воспроизведение звука на основе pic 16f628a
Добавлено: Пт дек 16, 2011 19:21:32
TripleKill
Это по задумке не совсем информатор.
Задумка была сделать устройство в помощь студентам, сдающим с хэндсом.
Устройство размером где-то с часы, крепится на руку. Проводом соединяется с хэндсом.
В память записан набор фраз ("да", "нет", "повтори" и пр.), которые можно выбирать и воспроизводить в канал хэндса.
Сдающему не придётся истошно кашлять, а помощнику - гадать, что человек имел в виду своим кашлем.
В принципе-то с памятью оно меньше (да и дешевле). Буду думать в этом направлении, спасибо.
P.S. FAT наверно и не понадобится там. Если уж нужны какие-то нетрадиционные средства для изменения содержимого памяти, то и работу с данными можно намутить свою, более простую, чем FAT.