Aktykuły które nie zmieściły się w żadnej kategorii

0102 /03
04Moduły radiowe. Transceivery ( nadajnik-odbiornik, nadajnikoodbiornik ).

W ofercie wielu firm znajdują się układy radiowe do cyfrowej transmisji danych.
Transceivery mogą pracować na częstotliwości 119, 315, 433, 868 oraz 915 MHz.

Umożliwiają cyfrową dwukierunkową komunikację. Zasięg zależy od mocy modułu, rodzaju modulacji, prędkości przesyłanych danych oraz częstotliwości nośnej.

Dodatkowym atutem tych układów jest niski pobór prądu oraz prąd spoczynkowy poniżej 0,3 uA, co daje możliwość wieloletniego zasilania całego urządzenia z jednej baterii.
06
070809

Czołowi producenci transceiverów to:
- Semtech z serją SX12xx
- STMicroelectronics z serją SPIRIT
- SILICON LABS z serją Si44xx
oczywiście wymieniłem tylko trzech najbardziej znanych producentów.


Działanie tych układów oraz przykłady zastosowań omówię na podstawie tajwańskiej modułu firmy HopeRF RFM69W. Jest to kopia układu SX1231 firmy Semtech, i stosunkowo łatwa do kupienia w naszym kraju.


Moduł HopeRF RFM69W w wersji podstawowej.

moduł RFM69W HopeRF

Moduł HopeRF RFM69HW o zmiększonej mocy ndawania.

moduł RFM69HW HopeRF

RFM69W to nowoczesny i zaawansowany transceiver przeznaczony do pracy z modulacjami FSK, GFSK, MSK, GMSK i OOK. W układzie zaiplementowano między innymi bufor FIFO, obsługę sumy kontrolnej (CRC), szyfrowanie danych w standardzie AES. Moduł występuje w wersji "C" (RFM69CW, RFM69HCW), czyli kompatybilnej pod względem wyprowadzeń z poprzednią starszą generacją oraz w wersji "H" (RFM69HW, RFM69HCW), ze zwiększoną mocą nadajnika. Transceiver RFM96W wykorzystuje opatentowaną technikę modulacji LoRa (Long Range) celem poprawy zasięgu transmisji.

Wykaz rejestrów RFM69W oraz SX1231. Nazwa rejestru i jego adres.
  1. #define REG_FIFO          0x00
  2. #define REG_OPMODE        0x01
  3. #define REG_DATAMODUL     0x02
  4. #define REG_BITRATEMSB    0x03
  5. #define REG_BITRATELSB    0x04
  6. #define REG_FDEVMSB       0x05
  7. #define REG_FDEVLSB       0x06
  8. #define REG_FRFMSB        0x07
  9. #define REG_FRFMID        0x08
  10. #define REG_FRFLSB        0x09
  11. #define REG_OSC1          0x0A
  12. #define REG_AFCCTRL       0x0B
  13. #define REG_LOWBAT        0x0C
  14. #define REG_LISTEN1       0x0D
  15. #define REG_LISTEN2       0x0E
  16. #define REG_LISTEN3       0x0F
  17. #define REG_VERSION       0x10
  18. #define REG_PALEVEL       0x11
  19. #define REG_PARAMP        0x12
  20. #define REG_OCP           0x13
  21. #define REG_AGCREF        0x14  // not present on RFM69/SX1231
  22. #define REG_AGCTHRESH1    0x15  // not present on RFM69/SX1231
  23. #define REG_AGCTHRESH2    0x16  // not present on RFM69/SX1231
  24. #define REG_AGCTHRESH3    0x17  // not present on RFM69/SX1231
  25. #define REG_LNA           0x18
  26. #define REG_RXBW          0x19
  27. #define REG_AFCBW         0x1A
  28. #define REG_OOKPEAK       0x1B
  29. #define REG_OOKAVG        0x1C
  30. #define REG_OOKFIX        0x1D
  31. #define REG_AFCFEI        0x1E
  32. #define REG_AFCMSB        0x1F
  33. #define REG_AFCLSB        0x20
  34. #define REG_FEIMSB        0x21
  35. #define REG_FEILSB        0x22
  36. #define REG_RSSICONFIG    0x23
  37. #define REG_RSSIVALUE     0x24
  38. #define REG_DIOMAPPING1   0x25
  39. #define REG_DIOMAPPING2   0x26
  40. #define REG_IRQFLAGS1     0x27
  41. #define REG_IRQFLAGS2     0x28
  42. #define REG_RSSITHRESH    0x29
  43. #define REG_RXTIMEOUT1    0x2A
  44. #define REG_RXTIMEOUT2    0x2B
  45. #define REG_PREAMBLEMSB   0x2C
  46. #define REG_PREAMBLELSB   0x2D
  47. #define REG_SYNCCONFIG    0x2E
  48. #define REG_SYNCVALUE1    0x2F
  49. #define REG_SYNCVALUE2    0x30
  50. #define REG_SYNCVALUE3    0x31
  51. #define REG_SYNCVALUE4    0x32
  52. #define REG_SYNCVALUE5    0x33
  53. #define REG_SYNCVALUE6    0x34
  54. #define REG_SYNCVALUE7    0x35
  55. #define REG_SYNCVALUE8    0x36
  56. #define REG_PACKETCONFIG1 0x37
  57. #define REG_PAYLOADLENGTH 0x38
  58. #define REG_NODEADRS      0x39
  59. #define REG_BROADCASTADRS 0x3A
  60. #define REG_AUTOMODES     0x3B
  61. #define REG_FIFOTHRESH    0x3C
  62. #define REG_PACKETCONFIG2 0x3D
  63. #define REG_AESKEY1       0x3E
  64. #define REG_AESKEY2       0x3F
  65. #define REG_AESKEY3       0x40
  66. #define REG_AESKEY4       0x41
  67. #define REG_AESKEY5       0x42
  68. #define REG_AESKEY6       0x43
  69. #define REG_AESKEY7       0x44
  70. #define REG_AESKEY8       0x45
  71. #define REG_AESKEY9       0x46
  72. #define REG_AESKEY10      0x47
  73. #define REG_AESKEY11      0x48
  74. #define REG_AESKEY12      0x49
  75. #define REG_AESKEY13      0x4A
  76. #define REG_AESKEY14      0x4B
  77. #define REG_AESKEY15      0x4C
  78. #define REG_AESKEY16      0x4D
  79. #define REG_TEMP1         0x4E
  80. #define REG_TEMP2         0x4F
  81. #define REG_TESTLNA       0x58
  82. #define REG_TESTPA1       0x5A  // only present on RFM69HW/SX1231H
  83. #define REG_TESTPA2       0x5C  // only present on RFM69HW/SX1231H
  84. #define REG_TESTDAGC      0x6F

Rejestr przechowujący częstotliwość pracy układu to REG_FRF jest podzielony na trzy części do których wpisujemy wartość obliczoną zgodnie ze wzorem.

Częstotliwość radia / ( częstotliwość oscylatora / 2 do 19 potęgi )

(433000000 / (32000000 / 524288)) = 7094272 do hex 6C 40 00
Wynik wpisujemy do rejestrów w nstępującej kolejności.

REG_FRFMSB = 6C
REG_FRFMID = 40
REG_FRFLSB = 00

315000000 MHz = 4EC000
433000000 MHz = 6C4000
868000000 MHz = D90000
915000000 MHz = E4C000





Rejestr przechowujący częstotliwość pracy układu to REG_FRF jest podzielony na trzy części do których wpisujemy wartość obliczoną zgodnie ze wzorem.

Częstotliwość radia / ( częstotliwość oscylatora / 2 do 19 potęgi )

(433000000 / (32000000 / 524288)) = 7094272 do hex 6C 40 00
Wynik wpisujemy do rejestrów w nstępującej kolejności.

REG_FRFMSB = 6C
REG_FRFMID = 40
REG_FRFLSB = 00

315000000 MHz = 4EC000
433000000 MHz = 6C4000
868000000 MHz = D90000
915000000 MHz = E4C000


PCB termometru

PCB bezprzewodowego termometru na RFM69


Schemat bezprzewodowego termometru

Dasej (C) 2019 : 4582