Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Конвертер HEX -> WAV
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
IGK
Вот интересно, есть ли такой. Поиском нашел только wav2hex, но что-то не получилось...

Если кто знает - поделитесь, пожалуйста. Может, у синклеристов такое есть?


Дело в том, что мои пользователи хотят периодически получать обновления на купленный ими прибор. Но они - люди, весьма далекие от компьютерного железа. Сделать переходник LPT->прибор не смогут, да и LPT исчезает. Но вот аудио есть во всех компах и пока исчезать не собирается. А воткнуть стандартный кабель из линейного выхода компа в гнездо наушников на приборе они сумеют. Поэтому захотелось сделать такой бутлодырь. Скорость меня не колышет, пусть ждут. Да и ждать недолго, в приборе мега16.

В принципе, можно выдавать исходный сигнал из тестового прибора и записать его стандартной программой винды, но хотелось бы исключить лишнее преобразование и возможные ошибки при кодировании.
Так что, пока жду ответа, буду пробовать вариант с записью...
rezident
Если вы хотите прошивку обновлять через аудио, то вам нужно смотреть как реализованы модемы (с различными способами модуляции аудиосигнала), а не конверторы hex->wav. А еще лучше бросить эту дурацкую затею и использовать нормальный UART. Если нет в устройстве аппаратного UART, то софтовый UART на небольшую скорость реализуется совсем не сложно даже на МК с небольшой тактовой частотой. Ну и следует учитывать, что готовых устройств для сопряжения USB-COM аля DataCable для мобильника кругом как гуталину на гуталиновой фабрике. А USB в ближайшем будущем не отомрет как LPT.
colombo_2007
Цитата(IGK @ Jan 8 2008, 11:38) *
Но они - люди, весьма далекие от компьютерного железа. Сделать переходник LPT->прибор не смогут, да и LPT исчезает.

Если так рассуждать, то уже лучше USB. Если хочешь возится с аудио, пиши свою прогу, конвертер тебя не спасет потому, что надо как-то проверять прошивку. Я бы сделал один канал синхронизации, второй дата и микрофон вход данных. Еще один момент в аудио кабелях иногда левый-правый каналы накрест, поэтому прога должна уметь менять синхронизацию и дату местами. Рой в сторону PCM и waveOut
Bird2
Плохая идея. У вас получается с выхода ЦАП звуковой карты аналоговый сигнал, а потом нужно перегнать снова в цифру. Помехи неизбежны. Заморачиваться помехоустойчивым кодированием для такой работы не надо. Лучше всего (и проще) - аппаратный/программный УАРТ + COM-порт или переходник USB-COM.
Но если очень хочется, то WAV - файл содержит заголовок + данные в чистом виде. Собрать утилитку для перегона HEX в WAV самом уне проблема. Искать RIFF, так как WAV-файл - частный случай RIFF - файла. (RIFF - не расширение). Но я бы все равно не делал.
IGK
Я, видимо, неясно выразился. Меня интересует конвертер с удалением постоянной составляющей. Подойдет любой метод, скажем, двухфазное кодирование.

Затея может быть дурацкой с Вашей точки, Резидент, зрения. Думайте, как хотите и что хотите. На мой взгляд, любое техническое решение имеет право на жизнь. Если знаете - просто подскажите то, о чем я просил.

На самом деле я уже использую такой аудио кабель, чтобы можно было соединить в полевых условиях два прибора и передать с одного на другой настройки (т.наз."профиль"). UART я использую и как звуковой синтезатор, и для связи приборов. Ну и его использование (кабеля) прямо напрашивается для загрузчика - ничего паять не надо, все уже есть.

Теперь по поводу USB переходника.
Это требует или от меня, или от пользователя дополнительных затрат, а речь идет о бытовом устройстве нижнего ценового диапазона. Я за свой счет USB переходник поставлять не буду. Да и проблемы с ними весьма вероятны - и драйвер ставить надо, и станет он косо...
Этих переходников у меня много - моя лаборатория в одном здании с компьютерщиками и мобильщиками. Все они разные, и с преобразованием уровня, и без оного. И на разных матерях ведут себя по разному. На некоторых и вообще не живут, пока драйвер подходящий не скачаешь.

colombo_2007: я планировал конвертировать блоками по 128 байт, с CRC. Затем объединить блоки в один файл, повторить два раза. И, если надо, считывать WAV повторно, с заменой сбойного блока. Раньше как-то загружали проги, да еще с магнитофона. И ничего, все работало...
Bird2
Цитата
Меня интересует конвертер с удалением постоянной составляющей. Подойдет любой метод, скажем, двухфазное кодирование.
Идею все равно не понял. Что с выхода звуковой карты? Типа звук, но внутри данные? Или АМ, ЧМ или ФМ - модулированный сигнал?

Цитата
На мой взгляд, любое техническое решение имеет право на жизнь.

На обсуждение - да, на жизнь - нет

Цитата
UART я использую и как звуковой синтезатор, и для связи приборов.

Или это экзотический прибор - или я после праздников торможу

Цитата
Я за свой счет USB переходник поставлять не буду

Хотят обновлятся - пусть платят biggrin.gif

Цитата
я планировал конвертировать блоками по 128 байт, с CRC. Затем объединить блоки в один файл, повторить два раза.

Зависит от количества сбойных байт

Цитата
И ничего, все работало...

Особенно с кассетами МК60 biggrin.gif
yuri_d
SpectraLAB может импортировать в том числе и двоичные файлы, в которых каждый отсчет это либо 8 бит, либо 16, либо 32. Количество каналов (моно или стерео) и частота следования отсчетов задается отдельно руками. Результат можно посмотреть, проиграть и, естественно, сохранить как WAV.

Вот только проблема почти всех GUI програм - это невозможность автоматизировать процесс. Поэтому проще сделать как посоветовал Bird2. Тоесть разобраться с WAV-заголовком и просто записывать его в начало файла с двоичными данными.

Не совсем понятно как вам синклеристы могут помочь. Полагаю, что сейчас не найти работоспособный Синклер. А эмуляторы Синклера для x86 машин, не работают с процедурой чтения/записи на касетный магнитофон.
IGK
Цитата(yuri_d @ Jan 8 2008, 23:16) *
SpectraLAB может импортировать в том числе и двоичные файлы, в которых каждый отсчет это либо 8 бит, либо 16, либо 32. Количество каналов (моно или стерео) и частота следования отсчетов задается отдельно руками. Результат можно посмотреть, проиграть и, естественно, сохранить как WAV.


Спасибо. Сейчас найду SpectraLAB, закачаю и проверю. Насчет WAV - пока не готов, надо разбираться...

Насчет жизни - так она и покажет, что выживет, а что нет. Вот у америкосов даже патент на обмен "профилями" выдан... Правда, на год позже, чем я применять начал. Знал бы, что такую х..ню патентуют, сам бы заявку подал.

UART в виде синтезатора - а что тормозить то? Пишите 55Н в UDR, играете частотой через UBRR - вот и генератор меандра. Просто все таймеры задействованы на более серьезные задачи. А пищать динамиком надо...

МК60 - ну и что? Работало ведь. Вы на SPDIF гляньте - та же МК60 в электронном виде. И сбоев я не боюсь - это не автоматика на ядерной станции. Ну сбойнет разок - второй раз загрузчик стартуют, и все. Да что там говорить, проверю на неделе в железе.
rv3dll(lex)
даже идея записать в виде звука цифры шестнадцатиричного кода который пользователь, прослушав, наберёт в блокноте выглядит куда более надёжно
colombo_2007
Цитата(IGK @ Jan 8 2008, 20:03) *
colombo_2007: я планировал конвертировать блоками по 128 байт, с CRC. Затем объединить блоки в один файл, повторить два раза. И, если надо, считывать WAV повторно, с заменой сбойного блока. Раньше как-то загружали проги, да еще с магнитофона. И ничего, все работало...

И я тебе о том, но компъютер должен как-то знать какой блок сбойный. Проиграть два раза можно, но как-то все это не надежно. программа которая эмулирует работу UART на звуковой карте лучше смотрится.
Если не хочешь USB, можно сделать последовательный порт подключаемый в туже дырку что и аудио, там как раз три провода.
Если не секрет, чо за прибор такой?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.