Cześć,
Używam tego szatańskiego kontrolera RF i mam następujący problem:
Gdy przełączam się z IDLE do TX, to zanim transmisja zostanie nawiązana w trybie asynchronicznym lub synchronicznym (wysyłanie długich pakietów, transmisja na pinach GDO0 i GDO2) to najpierw muszę wysłać kilka bitów aby się zsynchronizował nadajnik z odbiornikiem. PO tej synchronizacji wszystko śmiga jak trzeba. Ale jest problem, bo tych kilka bitów jest tylko przy transmisjach wolnych, np: 4,8 kb/s, wtedy po prostu 20 bitów z preambuły jest ucięte. Natomiast gdy chcę osiągnąć transmisję 32,768 kb/s to to nie jest już kilka, kilkadziesiąt bitów tylko tysiące. Do tej pory robiłem tak, że nie wyłączałem nadajnika z trybu TX i po pierwszej synchronizacji wszystko działa dobrze, tylko że to jest częścią mojej pracy magisterskiej i tak zostawić nie mogę. Włączałem też preambuły na CC, zmieniałem moce, zmieniałem kalibracje itd... ale wszystko zawodzi. Czy byłaby tutaj jakaś dobra duszyczka i podpowiedziałby mi w czym jest problem? Rejestry generowane z smart RF studio:
// Chipcon
// Product = CC1101
// Chip version = A (VERSION = 0x04)
// Crystal accuracy = 10 ppm
// X-tal frequency = 26 MHz
// RF output power = -30 dBm
// RX filterbandwidth = 101.562500 kHz
// Deviation = 6 kHz
// Datarate = 4.797935 kBaud
// Modulation = (0) 2-FSK
// Manchester enable = (0) Manchester disabled
// RF Frequency = 868.329620 MHz
// Channel spacing = 59.906006 kHz
// Channel number = 0
// Optimization = -
// Sync mode = (0) No preamble/sync
// Format of RX/TX data = (1) Serial Synchronous mode, used for backwards compatibility
// CRC operation = (0) CRC disabled for TX and RX
// Forward Error Correction = (0) FEC disabled
// Length configuration = (2) Enable infinite length packets.
// Packetlength = 255
// Preamble count = (2) 4 bytes
// Append status = 1
// Address check = (0) No address check
// FIFO autoflush = 0
// Device address = 0
pozdrawiam i proszę o pomoc
Używam tego szatańskiego kontrolera RF i mam następujący problem:
Gdy przełączam się z IDLE do TX, to zanim transmisja zostanie nawiązana w trybie asynchronicznym lub synchronicznym (wysyłanie długich pakietów, transmisja na pinach GDO0 i GDO2) to najpierw muszę wysłać kilka bitów aby się zsynchronizował nadajnik z odbiornikiem. PO tej synchronizacji wszystko śmiga jak trzeba. Ale jest problem, bo tych kilka bitów jest tylko przy transmisjach wolnych, np: 4,8 kb/s, wtedy po prostu 20 bitów z preambuły jest ucięte. Natomiast gdy chcę osiągnąć transmisję 32,768 kb/s to to nie jest już kilka, kilkadziesiąt bitów tylko tysiące. Do tej pory robiłem tak, że nie wyłączałem nadajnika z trybu TX i po pierwszej synchronizacji wszystko działa dobrze, tylko że to jest częścią mojej pracy magisterskiej i tak zostawić nie mogę. Włączałem też preambuły na CC, zmieniałem moce, zmieniałem kalibracje itd... ale wszystko zawodzi. Czy byłaby tutaj jakaś dobra duszyczka i podpowiedziałby mi w czym jest problem? Rejestry generowane z smart RF studio:
// Chipcon
// Product = CC1101
// Chip version = A (VERSION = 0x04)
// Crystal accuracy = 10 ppm
// X-tal frequency = 26 MHz
// RF output power = -30 dBm
// RX filterbandwidth = 101.562500 kHz
// Deviation = 6 kHz
// Datarate = 4.797935 kBaud
// Modulation = (0) 2-FSK
// Manchester enable = (0) Manchester disabled
// RF Frequency = 868.329620 MHz
// Channel spacing = 59.906006 kHz
// Channel number = 0
// Optimization = -
// Sync mode = (0) No preamble/sync
// Format of RX/TX data = (1) Serial Synchronous mode, used for backwards compatibility
// CRC operation = (0) CRC disabled for TX and RX
// Forward Error Correction = (0) FEC disabled
// Length configuration = (2) Enable infinite length packets.
// Packetlength = 255
// Preamble count = (2) 4 bytes
// Append status = 1
// Address check = (0) No address check
// FIFO autoflush = 0
// Device address = 0
pozdrawiam i proszę o pomoc