Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Связь проводная и бесп-ная, интерфейсы, протоколы » Помогите люди добрые с АМ модулем


Помогите люди добрые с АМ модулем

Сообщений 1 страница 8 из 8

1

Доброго времени суток!

Есть в наличии RF модули, передатчик и приемник. С амплитудной модуляцией.
Искал по форуму, и Гуугл не помог ответить на вопрос - как кодировать и декодировать данные?
Пробовал RC5SEND, GETRC5, не работает.

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

Заранее благодарен всем откликнувшимся!

0

2

А что он выдает на выходе и что на входе? Какой интерфейс связи с МК?

0

3

По поводу инверного сигнала, повесил светодиод вместо передатчика, во время задержки горит, а при передачи гаснет (мерцает).
свидетельствует ли это об инверсии сигнала? как сделать правильно?

цеплял выход rc5 (тиньки) к терминалу, тишина, даже "0" нет!
выход приемника выдает мусор

передатчик RCT-433-UTR (вход data) может он уже с кодером?
приемник RR10-433
модули подключены в соответствии с даташитами

baud менял, 2400, 4800, 9600, 19200 (с обоих сторон)

Код:
$regfile = "attiny2313.dat"
$crystal = 4000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40

'   +5V <---[A Led K]---[220 Ohm]---> Pb.3 for 2313.
' RC5SEND is using TIMER1, no interrupts are used
' The resistor must be connected to the OC1(A) pin , in this case

Dim Togbit As Byte , Command As Byte , Address As Byte

Command = 12
Togbit = 0
Address = 0

Do
Waitms 500
Rc5send Togbit , Address , Command
Loop

End

0

4

А не думали о том, что тинька передаёт RC5 код с несущей 38 кГц, а принимает уже детектированый. Проще говоря, если соединирть приёмник и передатчик на прямую, то работать не будет.

0

5

Весь мозг сломал, глаза в гугле сглядел. Ничего доступного новичку не нашел по этому вопросу.
Нашел некий пример манчестерского кода

Код:
Declare Function Make_manchester(byval Temp As Byte) As Word
Declare Function Decode_manchester(byval Tempw As Word ) As Byte



'== Demo prog ==
Dim Lus As Byte
Do
For Lus = 0 To 255
   Tempword = Make_manchester(lus)
   Print Decode_manchester(tempword)
Next Lus
Loop
End

 

'Subroutines
Sub Make_manchester(byval Temp As Byte) As Word
Local Bit_number As Byte
Local Manchester As Word
 Bit_number = 8
Do
Shift Manchester , Left , 2
Decr Bit_number
If Temp.bit_number = 1 Then
 Manchester = Manchester + 1                                 '01
Else
 Manchester = Manchester + 2                                 '10
End If
Loop Until Bit_number = 0
 Make_manchester = Manchester
End Sub


Sub Decode_manchester(byval Tempw As Word ) As Byte
Local Bit_number As Byte
Local Manchester As Word
 Bit_number = 8
Do
Shift Manchester , Left , 1
Decr Bit_number
 Temp_1 = Tempw And &B1100_0000_0000_0000
If Temp_1 = &B0100_0000_0000_0000 Then Incr Manchester      '01
If Temp_1 = &B1100_0000_0000_0000 Or Temp_1 = 0 Then Set Data_error       '11 or 00
Shift Tempw , Left , 2
Loop Until Bit_number = 0
If Data_error = 0 Then
   Decode_manchester = Manchester
Else
   Decode_manchester = 0
End If
Reset Data_error
End Sub

только немогу понять, как все это работает.
Может кто-то оргенизовывал передачу данных на RF модулях? Расскажите как?

0

6

Начнем с передатчика.
RCT-433-UTR - это передатчик, с так называемой ООК (on-off keyed) модуляцией. Т.е. когда на вход DATA подан 0, то передатчик молчит, а когда 1, то излучает.
Так как скорость включения осцилятора конечна, то изменять состояние входа DATA можно со скоростью не более 4800 бод.
Никаких протоколов RC5 там НЕТ!

Отредактировано sva-don (2011-12-16 16:05:17)

0

7

Приемник RR10-433 - обычный супергетеродин, выдающий на выходе OUT импульсы, которые были приняты от передатчика.
Для использование этой пары необходимо, чтобы их частоты совпадали.
Примерный алгоритм работы таков. Передатчик излучает посылки, типа 0 - 1. Например 10001001 (89h) приемник все это воспроизводит на своем выходе.
Нафига все это нужно?
Мы можем создать свои кодовые посылки. Если использовать 1 байт, то тогда их будет 255 штук. Правда достоверность такой инфы будет не очень. т.е. к посылке нужно добавить хотя бы CRC.
Тогда мы будем иметь 255 2-х байтовых посылок. Первый байт - код команды, второй контрольная сумма.
Приемник все это принимает и исполняет.
Прием можно осуществить по прерыванию или поиграть с UART.
Естесственно, что кодирование и декодирование информации выполняют микроконтроллеры с обеих сторон.

Отредактировано sva-don (2011-12-16 16:19:13)

0

8

Благодарю sva-don за доступное объяснение!

0


Вы здесь » Программирование ATMEL в BASCOM. » Связь проводная и бесп-ная, интерфейсы, протоколы » Помогите люди добрые с АМ модулем