У меня появилась идея сварганить бутлоадер который бы зашивал прошиву не по UART или USB а по примерно тому же формату данных, который имеют старые компы. Тоесть прошиваться из аудио файла, передавая данные с выхода наушников MP3 плеера или даже кассетного магнитофона.
Теория по магнитофонке лежит тут
http://zxspec.ru/?rc=4&n=5&ar=0
Единицы и нули кодируются длительностью цикла.
Классическая несущая для данной процедуры составляет порядка 900бод. А если использовать MР3 с шириной потока в 360КБС то можно приподнять до 1500-1800 бод. чем больше у нас количество ключевых кадров аудио потока тем меньше потерь на генерацию промежутков что в результате дает бОльшую теоретическую скорость. Хотя, всеравно мы ограничены тем, что воспроизведение идет на 44 килогерцах частоты семплирования. И при минимальной длительности импульса потери во время кодирования возрастают до полной недостоверности выхода.
На вопрос который возникнет у многих "А зачем это вообще нужно?". Отвечу: Велосипедисту, обывателю по форме "шорты и футболка" проще взять с собой MP3 плеер или телефон чем тащить ноутбук, нетбук, системник, специально сделанное устройство которым с другом не поделишся.
Памяти в портативных плеерах нонче хоть отбавляй. 5-6 мегабайт ради 4-16 килобайтовой прошивы не жалко )))))
Есть у кого нибудь наработки на такой бутлоадер?
Я планировал сделать все в таком формате
- Пилот тон где длительность цикла 2мс. Давать пилот тон в течении 3-4 секунд. За которые устройство надо включить и бутлоадер должен отработать захват пилот тона
- небольшой пакет переходов с 1 на 0 который будет формировать контроллеру понятие о длительности 0 и длительности 1 (фактически установим тут скорость потока)
к примеру подаем П_ 600 мкс + 600 мкс а затем П_ 800мкс и 800мкс
И контроллер посчитав время соображает что единица к нас имеет длительность 550-650мкс а ноль соответственно 700-900мкс
- Сведения о размере файла в байтах
- Собственно поток данных по 16 байт + контрольная сумма
- Снова пилот тон