Самодельный передатчик (часть 1)

Вячеслав_Старухин

Для тех, кто не знает:

Читайте хотя бы классику, например Хоровиц и Хилл.

Стандарт RS-232 ( в 1969 году RS-232C, в 1986 году RS-232D ) был разработан для последовательной передачи данных на расстояние до 15 метров.
В нем определены биполярные 😈 уровни сигналов от -5 до -15 Вольт и от +5 до +15 Вольт.

Он вовсе не для межплатных соединений 😁

rulll
Вячеслав_Старухин:

Для тех, кто не знает:

Ну лично я - знаю.
А для тех кто незнает - создайте свой пост в курилке и там объясняйте.
Не сорите тут, ПОЖАЛУЙСТА!

Vad64

мне вот хочется графику и есть сомнения, сможет ли один МК тянуть и модуляцию сигнала в реальном времени, и графику.
в новой футабе  два МК - это факт, интересно, а в девятке их сколько ?

Сможет. У меня пиковая загрузка ATMega64 при кварце 12 МГц и формировании РСМ составляет около 30%, РРМ - еще меньше. При это весь код написан на Си. Важно формирование выхода делать по прерываниям, чтобы гарантированно успевать миксить и кодировать, назависимо от UI. Также необходимо формировать выход таймером, чтобы не было джиттера, обусловленного программными задержками. Задача, короче, решается и с большим запасом по производительности.

Что касается отладки UI и миксинга, я сначала делал ее под Win32. Тот же самый Си код системы меню, модели и миксинга я ставил на другой HAL (эмуляция ЖКИ, кнопки, шкалы серво - через окно Вин). Когда появилась железка, подключил честный HAL и все точно так же зажило на железке. Если кому интересно, могу прислать ехе-шник симулятора, чтобы посмотреть, как устроен мой UI и как работает миксинг.

Добавлено

rulll:

Декодер PCM уже написан ?

Последовательность PCM без постоянной составляющей (RZ) ?

Что такое маппинг?

Да.

В целом пост. сост. близка к 0, но может идти 18 одинаковых бит подряд. Так что спроектировать синтезатор не так-то просто.

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

Добавлено

Вячеслав_Старухин:

Для тех, кто не знает:

Вячеслав, речь здесь идет, скорее, о SCI. Все это понимают, не надо нотаций.

nicetry

2 Vad64:
жаль что придется изобретать велосипед, я планировал провести разработку ровно в таком же ключе 😉 а пример, пожалуйста лучше сюда, мне и остальным для референса, очень интересно!

Vad64

жаль что придется изобретать велосипед, я планировал провести разработку ровно в таком же ключе

А какие варианты? Я считаю, что проделал большую работу. Хотел бы, что бы от нее была польза многим, в том числе и мне самому. Если я опубликую исходники, польза будет единицам, а мне это принесет только головную боль - отвечать на дурацкие вопросы. Если наберется человек 10 энтузиастов, можно заказать РСВ. Я готов для них залить свой bootloader, позволяющий обновлять прошивку, - за символическую плату или обмен. Понравится моя прошивка - используйте. Нет - сотрете бутлоадер и будете изобретать свой софт-велосипед.

По поводу симулятора - он порядочно out-of-date, т.к. я давно переехал на железку. Мне лень его приводить в соответствие, так что многие фичи в нем не имплементированы. Также не идут часы, нет автоповтора кнопок, звука и т.п. Меню, джойстики, миксинг должны работать.

sim.zip

nicetry

в изобретение “софта-велосипеда” для меня как-раз и заключается всё удовольствие, просто не хочется банальные вещи делать самому 😉
а почему PCB нужно заказывать обязательно в десятером ? нынче это не дорого…

PS: мессадж-бокс с сообщением “нот имплементед” - солидно, чуствуется основательность подхода 😉

rulll
Vad64:

В целом пост. сост. близка к 0, но может идти 18 одинаковых бит подряд.

Почитал про PCM1024 и вот что я насчитал

Длина бита - 150микрсек. Отсюда максимальная частота модулирующего сигнала 3.3 КГц.
Не понял почему может быть 18 одинаковых бит , да и это неважно - отсюда 150*18=2,7 милисекунды продолжительность без перепада или отсюда минимальная модулирующая частота 185 Гц. Итого полоса модулирующего 3300-150=3150 Гц.
Влад , поправте меня если я недопоняв чтото неправильно посчитал.

Похвастаюсь тем что есть у меня 😃
Максимальная модулирующая 4,15 КГц
минимальная - 1,38 КГц
полоса модулирующего 2,77 КГц
Минимальная модулирующая частота в 7,5 раз выше чем у футабы!
Кроме того длина пакета у меня меняется и непревышает 19 милисекунд, у футабы 29.

Логические уровни передаются не сдвигом частоты а определяются временными интервалами между сдвижками. Отсюда синхронизация возможна по одному биту. Постоянная составляющая 0.
Чето футаба - ацтой…

Зачем делать из лучшего - хужее… ?
Вад, сделаете как опцию то о чем я писал ?

nicetry

2 Vad64:
наполнение меню вы с чего-то копировали или формировали на свой вкус ?

Vad64
rulll:

Длина бита - 150микрсек. Отсюда максимальная частота модулирующего сигнала 3.3 КГц.

Не надо торопиться с выводами. У Футабы минимум 2 соседних бита одинаковы. Поэтому верхняя частота модулирующего сигнала не 3.3, а 1.7кГц. Это дает узкий спектр и позволяет им при девиации ±1.5кГц уложиться в сетку частот с шагом 10кГц. При 4.15 кГц спектр будет слишком широк для стандартного диапазона.

Добавлено

наполнение меню вы с чего-то копировали или формировали на свой вкус ?

На свой неискушенный вкус.

rulll
Vad64:

При 4.15 кГц спектр будет слишком широк для стандартного диапазона.

На 430 МГц каналы по 25 КГц 😃 😁

12 days later
Покемон

Извините, что влезаю, но может вы поможите? Футабу Мс-28 все знают. А почему бы ей не сделать дествительно 28 канналов? Ну или самодельную аппаратуру. И соответственный приемник. Просто я в электрике, как сантехник в кефире, а канналы нужны.

6egemot
Покемон:

А почему бы ей не сделать дествительно 28 канналов? Просто я в электрике, как сантехник в кефире, а канналы нужны.

купи модуль для robbe-futaba и вперед. делает из одного канала до 16 дискретных.

втыкается в fx-18, fc-18 и далее

Покемон

А пропорциональные? И как быть с приемником? Где я найду 16 каннальный приемник? Таких вроде нету!

V_Alex

Все там-же, у Robbe, были модули расширители для приемника - из одного пропорционального канала получается четыре (либо 8 дискретных).

pakhomov4
Покемон:

А пропорциональные? И как быть с приемником? Где я найду 16 каннальный приемник? Таких вроде нету!

М-да… А что у тебя что имеется-то? Из раций? 😃

Покемон

При чем здесь рации? Я про приемник на самик. А то ведь оружием на нем тяжко управлять. Пока систему самонаведения включишь, пока то сё … Цель уже тю тю.

pakhomov4
Покемон:

При чем здесь рации? Я про приемник на самик. А то ведь оружием на нем тяжко управлять. Пока систему самонаведения включишь, пока то сё … Цель уже тю тю.

М-да… Это уже ДИАГНОЗ 😃 Лечить бесполезно 😃

serj

2 rull:
кстати, СRС 8 бит или 16? Наверное, 8 - пакеты короткие…
тогда какой полином? 😃

Надеюсь, я не очень мно спрашиваю? 😃

rulll

СRС-8, x4+x3. 8 бит вполне достаточно в данной системе, считается побитово поэтому все равно какая разрядность пакета. Исходник взял с какойто мути и подогнал под свои потребности. Меня устроило , хотя матерые програмеры конечно же скажут что СРС считается подругому.

;--------------------------------------------------
DOW_CRC:
;in- DATA each received byte
;out- DATA received and current CRC
push data
push data ;Save bits to be shifted.
ldi temp,8 ;Set to shift eight bits.
c_1:
eor data,crc ;Calculate DQIN xor CRCT0.
ror data ;Move it to the carry.
mov data,crc ;Get the last CRC value.
brcc c_2 ;Skip if DQIN xor CRCT0 = 0.
ldi temp_1,$18
eor data,temp_1 ;Update the CRC value.
c_2: ror data ;Position the new CRC.
mov crc,data ;Store the new CRC.
pop data ;Get the remaining bits.
lsr data ;Position next bit in LSB.
push data ;Save the remaining bits.
dec temp
brne c_1 ;Repeat for eight bits.
pop data ;Clean up the stack.
pop data
ret ;Return.
;===========================================================

Gold

а какой вид и размер имеют приемные и передающие антены на 450 mhz?

rulll

кусочек тонкого кабеля длиной 10-15 см.