User Tag List

Показано с 1 по 10 из 164

Тема: ROM-плеер на ардуино

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Improver, генерацию стоит доработать. Наблюдается перекос длительностей. В идеале "длинные" интервалы д.б. в 2 раза длиннее "коротких", а в Test_16~~.wav они примерно на четверть длиннее чем нужно. Легко заметить на преамбуле - нули нормальные, а 55h слишком долгие. В эмуляторе стандартные загрузчики не могут прочитать такой файл, прочитал только таким и только в VV. Есть большое сомнение, что реал лучше воспримет такой wav.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Improver, генерацию стоит доработать. Наблюдается перекос длительностей. В идеале "длинные" интервалы д.б. в 2 раза длиннее "коротких", а в Test_16~~.wav они примерно на четверть длиннее чем нужно. Легко заметить на преамбуле - нули нормальные, а 55h слишком долгие.
    Да, сейчас глянул -- так и есть... Надо уменьшить значение в строке "delayMicroseconds(128)" в подпрограмме вывода байта.

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    Improver, ты генерируешь сигнал таймером-компарером?
    Незнаю, что это, но наверно нет. :-) Сигнал создаётся изменением состояния порта в подпрограмме SendByte, там же делается задержка длительности каждого состояния.

  4. #3

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,027
    Спасибо Благодарностей получено 
    811
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Незнаю, что это, но наверно нет. :-)
    Хардверные таймеры позволяют отмерять точные промежутки времени и аппаратно генерируют волновую форму на выходе. Я кроме даташитов на атмеги ничего не читал, но может быть вот тут неплохо это в ардуинный контекст помещено:
    https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM

    С другой стороны полностью софтовый генератор проще переносить на альтернативные Ардуины. Так что наверное нету смысла заморачиваться.
    Больше игр нет

  5. #4

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, svofski, можете протестить на железе (или эмуляторах) такой вариант: TestWAV25.7z?
    Это всё тот же тест техпрогона, но с sd-карты. В wav2rom он (и киберноид тоже) распознаются без ошибок, но в тесте есть два фриза, перед первым блоком и ближе к концу, наверно после второго или третьего блока:
    Нажмите на изображение для увеличения. 

Название:	25.jpg 
Просмотров:	388 
Размер:	82.0 Кб 
ID:	64168

  6. #5

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, вот, уменьшил значение до 16, и тогда пропорции сигнала соблюдены, вроде... Посмотри: TestWAV17.7z
    Опять же, проверил через wav2rom -- распознаётся легко...

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    Хардверные таймеры позволяют отмерять точные промежутки времени и аппаратно генерируют волновую форму на выходе.
    А, про это... Да, в начале у меня была идея использовать аппаратную генерацию, но нам ведь на выходе, фактически, нужно получать один импульс в нужной фазе на каждый бит, и мне показалось, что это будет слишком заморочено...

    Я сейчас бегло почитал ту статью про PWM, там есть интересные вещи, надо будет изучить этот вопрос.
    Последний раз редактировалось Improver; 07.02.2018 в 18:12.

  7. #6

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,027
    Спасибо Благодарностей получено 
    811
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    мне показалось, что это будет слишком заморочено
    У страха глаза велики =) С таймерами самые невероятные вещи можно творить.

    Но на самом деле ради переносимости я бы правда отложил эту идею. Монотонность импульсов очень просто получить, если генерировать поток BPSK в виде битовых пар. А процедура вывода будет этот поток бит за битом брать, выводить и ждать. Тогда получается очень простая процедура с одним выводом и одной задержкой, которая не зависит от собственно значения очередного бита, фазы и, что самое интересное, даже от вида модуляции: все разновидности BPSK, BFSK, MFM, (m,n) RLL и GCR так представимы.
    Больше игр нет

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Портативный AY плеер.
    от Руслан в разделе Звук
    Ответов: 1
    Последнее: 16.04.2014, 08:46
  2. Service rom + 128 basic rom
    от VELESOFT в разделе Оси
    Ответов: 1
    Последнее: 24.03.2013, 04:48
  3. Плеер для pt 3
    от Руслан в разделе Музыка
    Ответов: 25
    Последнее: 14.08.2012, 19:25
  4. Advanced ROM Manager (ROM Switvcher + Prof. ROM)
    от Alex_NEMO в разделе Память
    Ответов: 4
    Последнее: 04.10.2010, 11:43
  5. AY плеер
    от newart в разделе Звук
    Ответов: 19
    Последнее: 20.07.2006, 00:03

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •