logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

cc1101, przeklamuje bity na poczatku transmisji

llopacinski 25 Lut 2009 15:01 1943 3
REKLAMA
  • #1 6202519
    llopacinski
    Poziom 11  
    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
  • REKLAMA
  • #2 6204457
    kevin52
    Poziom 17  
    W Twoim configu masz wyłączone Sync mode = (0) No preamble/sync , może tu leży problem. W pkt. 14.3 "Byte synchronization" w manualu jest opisany proces automatycznej synchronizacji i konfiguracja tx i rx.
  • REKLAMA
  • #3 6204561
    llopacinski
    Poziom 11  
    Też już to próbowałem, ustawiałem różne długości preambuły i to samo. Jutro spróbuję ponownie. Na necie na jakimś innym forum angielskim koleś opisywał podobny problem (identyczny na pierwszy rzut oka), napisałem do niego ale na razie nie odpowiedział.
    Doczytam rozdział który polecasz, może mnie natchnie z wypoczętym umysłem ;)
  • #4 6204588
    kevin52
    Poziom 17  
    Tam jeszcze pisze że musi być uaktywniony stosowny rejestr. MDMCFG2 w RXie, a w tx wpisane słowo 16 bitowe jako synchronizacyjno-identyfikacyjne. Może o tym zapomniałeś?
REKLAMA