Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

AVR + moduły radiowe + transmisja UART = problem

Elektrooonik 20 Feb 2005 14:26 27004 74
Optex
  • #1
    Elektrooonik
    Level 29  
    Witam kolegów z forum :)
    Zapragnąłem zbudować sobie zdalne sterowanie radiowe z wykorzystaniem mikrokontrolerów jednoukładowych AVR AT90S2313. Układ odbiorczy składa się z uC + moduł odbiornika radiowego 433MHz RR4-XXX natomiast układ nadajnika to uC + moduł nadajnika radiowego 433Mhz RT4-XXX . Programy pisze w asemblerze. Najpierw testowałem sobie łączność, przesyłałem sobie sygnaly cyfrowe (impulsy) o dość długich czasach trwania - kilkadziesiąt ms oraz przebieg prostokątny o częstotliwości 10Hz. Nie było żadnego problemu - przynajmniej nie był widoczny wizualnie - obserwowałem miganie diody LED ( nie posiadam oscyloskopu). Potem postanowiłem napisać program do transmisji poprzez UART-a i natrafiłem na ogromny problem w części odbiornika. Mianowicie ciągle na wyjściu pojawiają sie jakieś śmiecie, przypadkowe impulsy które są interpretowane przez uC i uniemożliwiają nawiąznie transmisji. Gdy wyłącze nadajnik to odbiornik wraz wariuje i ciągle coś odbiera . BAUDRATE ustawiłem na 1200 ( 207 w UBRR przy kwarcu 4MHz). Gdy wyłącze nadajnik to po 10 minutach odbiornik jakby sie uspokaja ale włączenie nadajnika chociaż na 1 sekunde znowu powoduje wariowanie odbiornika przez nastepne kilka minut, zreszta odbiornik i tak wariuje nawet z wylaczonym nadajnikiem. Zastanawiam się co mam zrobic w tej sytuacji, filtrowanie zasilania nie pomaga, zresztą testowalem tez zasilanie bateryjne, co może byc przyczyną powstawania tych zakłócen? jak sobie z nimi poradzic? widziałem tu na forum kilku kolegów chwaliło się, że udało im się uruchomić takie sterowanie, jakie mieliście doświadczenia podczas uruchamiania tych układów? z góry dzięki za pomoc :)
  • Optex
  • Helpful post
    #2
    McRancor
    VIP Meritorious for electroda.pl
    Ja miałem identyczne problemy! Podpowiem tylko tyle że ekranowanie nie pomaga, zmiana i kombinacje z anteną też nie. Te moduły chyba takie są. Przerzuciłem się na CC1000, tam nie ma takich problemów.
  • #3
    Elektrooonik
    Level 29  
    W jakiej cenie i gdzie kupowałeś te moduły CC1000 ?? znalazłem http://www.soyter.com/index.php?pid=132 za 47zł + VAT ale to komplet nadajnik+odbiornik czy pojedynczy moduł? z góry dzieki za odpowiedź :)
  • Helpful post
    #4
    McRancor
    VIP Meritorious for electroda.pl
    Właśnie tam je kupowałem, są jeszcze w propoxie, ale nazywają się troszkę inaczej, nie pamiętam jak, ale to dokładnie to samo.

    W soyterze jest droga przesyłka - ale za to UPSem, kwestia gustu.

    Cena w propoxie za moduł taka sama, jest to transceiver czyli nadajnik i odbiornik przełączany programowo.

    Ich konfiguracja i uruchomienie jest trudne, wymaga dużo pracy i umiejętności sprawnego programowania mikroproców. Ale za to nie ma żadnych "analogowych" problemów, typu wzbudzanie zakłócenia itp. No i jeżeli w promieniu kilkuset metrów, przy maksymalnej (ustawianej cyfrowo) mocy załączysz nadajnik to odbiornik nie odbiera żadnych szumów Same konkrety!

    Transmisja sprawna i niezawodna, w dwie strony na przemian i to można zrobić na kilku kanałach bez zakłócania nawzajem!

    Wszystkie te bajery są okupione dość dużym wyzwaniem dla programisty, ich odpalenie i obsługa proste nie są, najpierw przeczytaj PDFa. Jeśli zrozumiesz 95% to dasz radę.

    PS. te moduły modulują przez FSK z kształtowaniem widma. A to już nie jest proste ASK od Telecontrolli :D
  • #5
    Elektrooonik
    Level 29  
    Wielkie dzięki za pomoc i wskazówki, jeśli jest tak jak piszesz to dam sobie narazie spokój z tym sterowaniem, chciałem zrobić coś prostego na szybko a z tego co widze przy tych modułach będzie troche zabawy, znalazłem tylko tę dokumentację http://www.soyter.com.pl/cms/images/products/CC1000PP_Instrukcja_Ang_1_22.pdf ale coś mało tu informacji korzystałeś tylko z tego czy jeszcze z innych źródeł?
  • Helpful post
    #6
    McRancor
    VIP Meritorious for electroda.pl
    www.chipcon.com/files/CC1000DK_User_Manual_2_11.pdf

    tam jest manual z którego pomocą uruchomiłem to dziadostwo, na stronie chipcona jest dużo porad, o antenach, o podłączeniu, przykładowe kody i chyba wszystko co można w tym temacie powiedzieć :)
  • #7
    Elektrooonik
    Level 29  
    Na jaką odległość możliwa jest łączność poprzez te moduły? jakie wyniki udało Ci się uzyskać?
  • Optex
  • Helpful post
    #8
    McRancor
    VIP Meritorious for electroda.pl
    Nie testowałem "na maksa" ale sprawdzałem na ok. 700m i było OK, przy dwubajtowej (+preambuła i reszta) ramce nie spotkałem się wogóle z problemami, a w domu dwa piętra i zero problemów, na antenie firmy "drut z traf" model "ćwierćfalowa 16,4cm" (łatwo taką dostać w każdym zasilaczu :D )

    Myśle że sugerowane przez producenta 2km mogłyby być osiągalne, ale w praktyce 1km myśle że będzie OK, oczywiście nie między blokami :)
  • #9
    Elektrooonik
    Level 29  
    Dzięki, to chyba wszystko co narazie chciałem wiedziec
  • #10
    formatyk
    Level 13  
    McRancor wrote:
    Nie testowałem "na maksa" ale sprawdzałem na ok. 700m i było OK, przy dwubajtowej (+preambuła i reszta) ramce nie spotkałem się wogóle z problemami, a w domu dwa piętra i zero problemów, na antenie firmy "drut z traf" model "ćwierćfalowa 16,4cm" (łatwo taką dostać w każdym zasilaczu :D )


    Moglbys podac krotki opis jak wykonales uklad ? Pracuje nad jednokierunkowa transmisja, ale dwa nadajniki i jeden odbiornik. po dopasowaniu anteny i plytki PCB udalo sie uzyskac dobry sygnal przy okolo 350 metrach w otwartej przestrzeni max. Na co zwrocic uwage, zeby ten zasieg zwiekszyc.
    1000m by mnie zachwycalo w zupelnosci.

    Stosujesz jakies zewnetrzne filtry badz wzmacniacze do cc1000, czy standardowa aplikacja wg. ChipCona ?
  • #11
    McRancor
    VIP Meritorious for electroda.pl
    Standardowa aplikacja, tylko stabilne zasilanie 3,3V (nówki baterie litowe) Do tego kupione anteny paskowe Tricome (produkt firmy drut mi się pogiął i wyłamał ścieżkę, więc postanowiłem zrobić to lepiej) i porządnie poprowadzona masa, rozdzielona na analog i cyfra. Jeśli masz problemy z zasięgiem (chipcon deklaruje że 2000 jest osiągalne) zwróć uwagę na:

    Płaszczyznę masy, wymiary płytki i ułożenie kwarcu procka - ma to wpływ na zakłócenia, pechowo dobrany kwarc uC będzie wprowadzał harmoniczne, do tego jak źle trafisz z wymiarami płytki też jest problem (pisze trafisz bo mało kto myśli o wpływie wymiarów płytki na parametry) Poczytaj, albo raczej poszukaj w EP cykl artykułów o zakłóceniach.

    Poza tym nastawy cc1000 (tutaj szukałbym źródła problemu) czułość na maxa, moc nadajnika na maxa, transmisja manchester nie szybciej niż 2400.

    Porządna antena, jeśli drut to odpowiednio ustawiony (przejrzyj charakterystyki widmowe i dobierz najlepszą antenę), polecam kupić gotowe, cena przekłada się na jakość (raczej... :) ) i porządne anteny są ważne (zwróć uwagę na połączenie gniazda anteny/anteny z modułem, odpowiednia długość ścieżki i ewentualne filtry)

    Możesz jeszcze pokombinować z kształtowaniem widma (fshape) co jest ponoć mocną stroną cc1000, ale ja tego nie tykałem.

    Niedawno zmieniałem komputer i niestety nie mam już wzorów płytek a sprzęt poszedł do ludzi (ponoć działa do dziś, a już trochę czasu minęło)

    1000m to dużo, płytka będzie musiała być profesjonalnie (pseudo :) ) zaprojektowana, polygony rozdział masy i takie tam pierdoły j/w
  • #12
    formatyk
    Level 13  
    wyglada na to ze elektroda miala jakies problemy, bo zniknelo kilka postow...

    ale kontynuujac, na mojej plytce antene montuje rownolegle do plytki, z pomoca katowego zlacza SMA. co za tym idzie nie ma plaszczyzny masy prostopadle umieszczonej pod antena. Czy to duzo zmienia, i czy lepiej zrobic pole masy na plytce (w rownoleglej do anteny plaszczyznie), czy moze
    prostopadle do plytki umiescic metalowa plytke polaczona z masa, tuz pod anteną ?

    po drugie, czy lepiej uzyc anteny pretowej ćwierćfalowej zewnetrznej (w soyterze kupuje), czy lepiej TriCome antene do montazu powierzchniowego - czytalem ze ma swietne parametry, ale jej wielkosc do mnie nie przemawia. no i bedzie wewnatrz plastikowej obudowy 0 wiec bedzie czesciowo tlumiona.
  • #13
    lbugiera
    Level 21  
    McRancor : też też teraz się bawie z tymi modułami. Takie odległości jak piszecie nie są mi wogóle potrzebne, wystarczy mi 50 metrów ale za to przy 76800 bit/s. Na razie przylutowałem antene bezpośrenio do pinu, tak dobierajać długość druta (miedziany 1,5m do instalacji elektrycznych podtynkowych :) ) aby razem z pinem było te 16,4 i zauwazyłem cos co mi się nie podoba, mianowicie, jak zmienie orientacje anteny jednego z modułów, przechyle lub ustawie w innej płaszczyźnie to patrząc na rssi jakość sygnału odbieranego spada znacznie. Bardzo znacznie. Stąd pytanie : Czy na dobrych antenach też tak jest ?

    Pozdrawienia.
    Boogie
  • #14
    formatyk
    Level 13  
    lbugiera wrote:
    jak zmienie orientacje anteny jednego z modułów, przechyle lub ustawie w innej płaszczyźnie to patrząc na rssi jakość sygnału odbieranego spada znacznie. Bardzo znacznie. Stąd pytanie : Czy na dobrych antenach też tak jest ?


    tak. anteny pretowe musza byc w jednej plaszczyznie, zeby dobrze sie odbierac. ponadto wazne jest tez, zeby nie bylo duzych roznic w wysokosci, bo w dol od anteny sygnal jest slaby, wtedy trzeba obie odpowiednio pochylic od pionu.
  • #15
    McRancor
    VIP Meritorious for electroda.pl
    W załączniku bardzo przydatny pdfik o dobieraniu anten do tego typu projektów, są tam charakterystyki, według tego można dobrać prawidłową antenę.

    Co do prędkości, to chyba nie da rady na CC1000, od tej szybkości jest CC1050 o ile dobrze pamiętam
  • #16
    lbugiera
    Level 21  
    McRancor wrote:

    Co do prędkości, to chyba nie da rady na CC1000, od tej szybkości jest CC1050 o ile dobrze pamiętam


    CC1000 wyciąga 76,800 halfdulpex z tego co pisza w pdfi'e.

    Pozdrowienia
  • #17
    McRancor
    VIP Meritorious for electroda.pl
    Ale tylko w trybie NRZ, w trybie manchester tylko połowę tego.
  • #18
    euromatic
    Level 21  
    testowałem kiedyś 4 zestawy "kity" z Soytera i klapa. opisywane zasięgi można między bajki włożyć.
    To czysta teoria te 2000 m.
    pewnie w przestrzeni kosmicznej.
    Transmisja wali ci się kolego ponieważ:
    1. używasz do tego sprzętowego uarta procka.( każdy śmieć wymusza przerwanie, a szum odbiornika to normalka)
    2. masz odbiornik superreakcyjny
    3. pracujesz w paśmie zaśmieconym 433mhz.



    Ja na tym paśmie uzyskuję pewne zasięgi około 100m z pilota alarmu samochodowego.
    napisz sobie procedurę odbioru odporną na śmiecie. To nie test trudne, wzoruj się na układach HCS 200.

    pozdrawiam
  • #19
    GienekS
    Level 32  
    euromatic wrote:
    testowałem kiedyś 4 zestawy "kity" z Soytera i klapa. 2. masz odbiornik superreakcyjny
    pozdrawiam

    Te muduły posiadają odbiorniki superheterodynowe a nie superreakcyjny.

    Co do odległości to około 200m na kawałkach druto jest realne ale zaczyna już się "czuć" położenie anteny. Te 2000m to chyba z anteną kierunkową przynajmniej w jesdną stronę.
  • #20
    sicio1
    Level 12  
    Cześć.
    Odbiornik faktycznie jest superheterodynowy (jak się nie myle nawet z podwójną przemianą wow), ale mniejsza z tym każdemu może zdarzyć się przejęzyczenie.

    sądze, że "śmieci" pojawiały się z powodu pracy w "zaśmieconym" zakresie (jak już ktoś wcześniej zauważył), "śmieci" znikały gdy włączałeś nadajnik, ponieważ odbiornik (w tej konfiguracji) dostosuje się do najsilniejszego sygnału (za mało miejsca żeby to wyjaśnić)

    jeżeli ktoś robił sam płytkę to może zapomnieć o wspomnianym zasięgu 2km (sądze, że nawet producent trochę to naciągnął, w teorii przy 800MHz napewno tyle nie uzyska, sądze że układ działał na 433 lub nawet 315 z niskim baud'em i manchesterem, inaczej nie widzę tego), oczywiście przy antenach kierunkowych i dobrych warunkach propagacyjnych.

    jeżeli robisz samemu płytkę, to według mnie wszystko jedno jak poprowadzisz masę, bo i tak to ma małe znaczenie przy prawdopodobieństwie innych popełnionych błędów (przetestowałem to na sobie :)))), (po pierwsze dokładność wykonania płytki, znajomość właściwości laminatu, odpowiednia długość i grubość ścieżek itd.)

    jeżeli płytka jest kupiona no to looz z dopasowaniem (jest wyprowadzone złącze 50 Ohm), kupić antenkę i ognia (oczywiście można antenkę zrobić z drutu ale tu będą kolejne straty na dopasowaniu), niestety tak to jest jak się chce pracować w mikrofalach :]

    ja osobiście spotkałem się jeszcze z dwoma problemami przy uruchomianiu takich układzików
    1. dokładność kwarca :/ (jeżeli mamy kwarc kilkanaście (13,000) MHz to aby uzyskać kilkaset (433) MHz musimy go wymnożyć powiedzmy 33,5 razy, kolejne kanały mamy co kilkadziesiąt (do 65) kHz, czyli wychodzi że kwarce powinny się zgadzać co do trzeciego miejsca po przecinku (czwartego będzie lepiej) bo inaczej układy będą pracować w innych kanałach :/ , wymnożona niedokładność kwarcy będzie większa od szerokości kanału (w standardowych kwarcach często się zdarza)
    2. trzeba uważać na zastosowany filt (częstotliwość środkowa, szerokość pasma, rodzaj filtru)

    Przepraszam, że się tak rozpisałem ale może komuś to będzie chodź trochę przydatne.
  • #21
    euromatic
    Level 21  
    Popieram całkowicie.
    Cztery fabryczne kity nie widziały się na kilka metrów, zastosowane w
    nich kwarce były kiepskie.
    pozdrawiam
  • #22
    lbugiera
    Level 21  
    Mam pytanko co do tych CC1000PP. podłacze się pod ten wątek. Zrobiłem "kabel bezprzewodowy" na rs232 z tymi modułami i atmega8. Niby działa ok, ale ... widze, że pojawiaja się od czasu do czasu jakieś zakłócenia, że np modemy przez moment sie nie widzą, bądź w transmiaji dochodzi do przekłamań. Odległośc 2 metry, moc 5 dbm, anteny wew spólnej orientacji, transmisja nrz. I stąd pytanie do tych co juz cos robili na tych modułach, czy takie zakłócenia przy tym paśmie to "normalka" ??. I czy przy takiej odległości i mocy wrażliwość na zmiane orientacji anteny jest duża ?? bo u mnie jest.

    Pozdrowienia
    Boogie
  • #23
    sicio1
    Level 12  
    Co rozumiesz przez "anteny wew spólnej orientacji" ??

    Technicznie w aplikacji jest napisane BER=10-3 (jak się nie mylę), tylko nie pamiętam przy jakich parametach, czyli zakładając że nie zrobiłeś żadnego zabezpieczenia transmisji (kody cykliczne lub chociaż blokowy korekcyjny) to na 1000 bitów jeden będzie błędny. Ale to nie musi być to.
    Gdzie zastosowałeś ten układ ??
    2m w wolnej przestrzeni czy są jakoś blisko ściany ?? szczególnie w odległości kilkudziesięciu cm od anteny ?? No i oczywiście jakie to konkretnie anteny ??

    Może zachodzić patent wielodrogowości (przy tych częstotliwościach zakłada się brak odbicia, ale przy takiej odległości i ewentualnie wnętrzu budynku różnie może być).

    Może też być patent, rozsynchronizowania transmisji (rozumiem przez to, że radio jest ok, tylko rs'y się rozjeżdżają), sprawdzałeś czy działa łącze kablowe ?? czy też są błędy ??

    Jeżeli na kablach jest ok, to proponuje pokombinować z ustawieniem anten lub spróbować obniżyć moc nadajnika, lub najlepiej dorzucić kodowanie (może Manchester wystarczy).

    Daj znać co się działo jak rozwiążesz problem (zaciekawiło mnie to).
  • #24
    lbugiera
    Level 21  
    To ja może na początek dodam, że moja wiedza na temat propagacji sygnału radiowego jest znikoma.

    sicio1 wrote:
    Co rozumiesz przez "anteny wew spólnej orientacji" ??


    Tzn, że sa równolegle do siebie ... mówiąc po polsku :)

    sicio1 wrote:

    Technicznie w aplikacji jest napisane BER=10-3 (jak się nie mylę), tylko nie pamiętam przy jakich parametach, czyli zakładając że nie zrobiłeś żadnego zabezpieczenia transmisji (kody cykliczne lub chociaż blokowy korekcyjny) to na 1000 bitów jeden będzie błędny. Ale to nie musi być to.

    2m w wolnej przestrzeni czy są jakoś blisko ściany ?? szczególnie w odległości kilkudziesięciu cm od anteny ?? No i oczywiście jakie to konkretnie anteny ??

    Może zachodzić patent wielodrogowości (przy tych częstotliwościach zakłada się brak odbicia, ale przy takiej odległości i ewentualnie wnętrzu budynku różnie może być).

    Może też być patent, rozsynchronizowania transmisji (rozumiem przez to, że radio jest ok, tylko rs'y się rozjeżdżają), sprawdzałeś czy działa łącze kablowe ?? czy też są błędy ??

    Jeżeli na kablach jest ok, to proponuje pokombinować z ustawieniem anten lub spróbować obniżyć moc nadajnika, lub najlepiej dorzucić kodowanie (może Manchester wystarczy).

    Daj znać co się działo jak rozwiążesz problem (zaciekawiło mnie to).


    Będe używał słowa "modem" zarówno do samego CC1000PP, jak i tego całego mojego wynalazku atm8+CC1000. Mysle że jest jasne kiedy o czym mówie

    No własnie nie wiedziałem co oznacza ten parametr BER. :) No to to by się zgadzało, Ale aż tak źle u mnie nie jest, aby na 1000 bitów jeden był błedny. Powiedzy 1 na milion jest błędny albo nawet mniej
    Co do transmisji to cały projekt w skrócie wygląda następująco: Schemat w załączniku. Atmega odbiera sprzętowym uartem dane nadawane na modem i wstawia je do liczącego 256 bajtów bufora. Kiedy modem przechodzi w tryb nadawania to nadaje tyle ile jest aktualnie w buforze. Ramka wygląda nastepująco : Najpierw 10 bajtów preambuły, następnie 2 bajty poczatku ramki, przy czym pierwszy słuzy do synchronizacji, a drugi jest sprawdzany, czy jest dobrze odebrany (czy synchronizacja przebiegła pomyślnie), następnie bajt z liczba bajtów danych, czyli ile bedzie nadane bajtów z danymi z bufora wejściowego. Na koniec dwa bajty crc, ale na razie nie jest zaimplementowane. Dane odebrane przez modem sa pakowane do bufora wyjściowego, równiez o wielkości 256B. Wszystko po to aby uzyskać prędkość transmisji fullduplex 38400 bit/s I to sie udało, nie dochodzi do przepełnienia buforów. Dodatkowo zaimplementowany bedzie tryb kontroli sprzetowej, tzn, że jak bufor wejściowy będzie miał już 240 bajtów to modem wystawi sygnał CTS, aby pc'et wstrzymał nadawanie. wtedy będzie mozna ustawic prędkość uarta na 115200 a całe łącze będzie się samo "skalować" ile z tych 76800 przeznaczyć na odbiór a ile na nadawanie, jednak nie jestem pewien czy kontrola sprzętowa rts/cts będzie z tym dobre działała. Będzie równiez tryb modbus, bo to mi potrzebne do pracy, tzn jeden modem będzie masterem, a kilka slave'ami z odpowiednimi id. Wszystkie działaja na tej samej czestotliwości. Master nadaje , wszystkie slavy odbieraja, ale puszczają dane odebrane na wyjście, tylko jesli to było do nich.

    Byłbym wdzięczny gdybyś wytłumaczył o co chodi z kodami cyklicznymi i blokowymi, może zastosuje

    Modem reaguje na rózne błędy, miedzy innymi na błąd ramki rs232 w danych przychodzących z pc na modem. Dane nadawnae przez uart z modemu na pc, nie są w zaden sposób kontrolowane, tzn ufam w niezawodność uarta w pc :) Mam tu krótkie kable, albo modemy sa wpięte bezpośrednio do portu.

    Anteny to druty wlutowane, bezpośrednio zamiast pinu. Drut średnicy 1,5mm miedziany, z kabla do instalacji elektrycznej podtynkowej w budownictwie :) Długość 16,4 w izolacji. Piny od gnd w bezpośrednim sąsiedztwie anteny nie sa wylutowane. Jeden z modemów jest na biurku, drugi przy drugim kompie wpięty w port. Odległość około 2m, widzą się niemal bezpośrednio, przeszkadza troszke obudowa tego drugiego kompa i inne kubki na biurku :). Wszystko w tym samym pomieszczeniu oczywiście.

    Kodowania manchester niechciałbym używac poniewaz spadnie prędkość transmisji, a zalezy mi na tym aby "wycisnąć" te 76,8kbit/s.

    Odległości jakie mi potrzebne to 20m wystarczy, ale jak będzie 100m to się nie obraże.

    Co do płytek to nie cudowałem z power plane'ami. Chciałem to zmiescic w małej obudowie. Moduły cc100pp są wczepione na oryginalnych pinach, w obudwu płytkach, pod nimi jest stabilizator na 3,3 V, więc moze tu cos od zasilacza "sieje" .

    Najgorzej, że sygnał potrafi nawet na 1sek zniknąć i póxniej się pojawić. Sygnał z rssi wyprowadziłem sobie na diode, która szybciej bądź wolniej mruga w zalezności od jakości sygnalu. Ustawienia samego cc100pp wybrane za pomoca studio smartrf od chipcona, separacja 64 khz "najniższy" optymalny kanał na 433, moc 5 dbm, tak na wszelki wypadek :), ale przy 0dbm cięzko zauważyć różnice.

    No i własnie, czy ten typ tak ma ?? Lub co zrobiłem, żle ??

    Pozdrowienia
    Boogie

    p.s Jeszcze jedno w tym układzie mnie niepokoji. Czesto dochodzi do przekłamań danych przechowywanym, w eepromie, tzn są tam ustawienia i co pewien czas "znikają". Bit EESAVE podczas programowania jest ustawiony.
  • #25
    sicio1
    Level 12  
    Cześć.
    Bardziej mi chodziło o to czy zastosowałeś przemyślne anteny w postaci druta :D czy jakąś inną konstrukcję. Ale oki rozumiem już.

    Jeżeli chodzi o kodowanie to ja korzystałem głównie z tych pozycji:
    [1] „Kody korekcyjne i kryptografia”, W. Mochnacki, Wrocław 2000
    [2] „Podstawy kodowania nadmiarowego”, J. Dróżdż, Warszawa 1980
    [3] „Algorytmy kryptograficzne”, J. Stokłosa, Poznań 1994
    [4] „Systemy telekomunikacyjne”, tom 2, S. Haykin, Warszawa 2000

    ale oczywiście nie są jedyne i pewnie nie najlepsze (te miałem napewno pod ręką ;p, do zabawy z radiokomunikacją sądze że Haykin jest najlepszy, teoria oczywiście) dzisiaj nic w google nie mogę znaleźć więc linków nie podrzucam :) (jakis otępiały dziś jestem), poszukaj coś o kodach BCH, chyba w sumie są najlepsze

    Kolega wcześniej też wrzucił nazwę fajnego układziku hcs200 (albo hsc200 ;p) jak możesz może po prostu jego zastosować.
    Jeżeli chcesz otrzymać taką szybkość transmisji to będzie problem :/ ponieważ kody wprowadzają nadmiarowość (a czym lepsza ma być jakość tym większa nadmiarowość, to tak w skrócie).

    Ciekawi mnie dlaczego tak dużą preambułe wrzuciłeś ?? Przy takiej odległości nawet bez tego powinno działać (biorąc pod uwagę nadawaną moc :D).

    Niestety jak dla mnie to przekłamanie może mieć wiele przyczyn :/
    na Twoim miejscu spróbował bym zmniejszyć rozmiar nadawanych pakietów (bo rozumiem że leci ~256B na raz), jeżeli możesz podziel to na kilka oddzielnych pakietów, szybkość będzie prawie ta sama, a problem z ewentualną synchronizacją powinien się zmniejszyć (jeżeli się nie mylę po raz kolejny).

    może też być to problem antenki, konkretnie olbrzymiego niedopasowania i odbić fali nadawane (ale z drugiej strony "to działa" więc może to nie to)

    jeżeli możesz i będziesz miał chwilkę to spróbuj np: różnie ustawić antenki (mówisz że są równolegle, jeżeli będziesz je "skręcał" [będą nie równoległe], będziesz zmieniał dopasowanie polaryzacyjne anten, a co za tym idzie moc sygnału odbieranego, czyli jeżeli wpływ na znikanie tego bitu mają odbicia w sensie propagacja, powinieneś to zauważyć, powinna się zmienić częstość występowania błędu).

    Co do eepromu nie jestem Ci w stanie pomóc :D (tzn. nie mam idei dlaczego tak się dzieje).

    Pozdrawiam PS.
  • #26
    lbugiera
    Level 21  
    sicio1 wrote:

    jeżeli możesz i będziesz miał chwilkę to spróbuj np: różnie ustawić antenki (mówisz że są równolegle, jeżeli będziesz je "skręcał" [będą nie równoległe], będziesz zmieniał dopasowanie polaryzacyjne anten, a co za tym idzie moc sygnału odbieranego, czyli jeżeli wpływ na znikanie tego bitu mają odbicia w sensie propagacja, powinieneś to zauważyć, powinna się zmienić częstość występowania błędu).
    Pozdrawiam PS.



    Dzieki za literature, ale czas goni :) i już to zostawie tak jak jest. Bedzie to wymagało uzycia nadzrzędnego protokołu obsługującego błędy, ale za to crc będzie już sprzętowo wyliczone. Jak np połącze tym "kablem" dwa komputery to protokól TCP/IP radzi sobie całkiem nieźle, tylko, że windows dość duże MTU daje. Błedów jest mniej więcej 30-40 na jeden przesłany megabajt

    Co do skręcania antenek, to właśnie obserwuje na RSSI, że strasznie maleje sygnał w niektórych pozycjach. Rozumiem, że ileś tam musi sie zmniejszyc, ale z tego eynika że on sie mimum 20 db zmniejsza, a nawet więcej.

    Co do cięcia ramek na mniejsze kawałki to myśle, że nie ma sensu, bo i tak prawdopodobieństwo przefałszowania bitu jest taka sama. No i nie zawsze ta ramka ma 256 bajtów. Ma tyle ile jest aktualnie do wysłania bufora. Ma natomiast sens zmniejszenie ramki protokołu nadrzędnego (np. tcp/ip <- to właśnie parametr mtu).

    Jeśli chodzi o zapas bajtów, które moge zmarnowac na ramke to jest to <64 bajty. Ale to chyba i tak by było za mało na te kody cykliczne i odzyskiwanie danych.

    Pozdrowienia
    Boogie
  • #27
    sicio1
    Level 12  
    W skręcaniu antenek właśnie o to chodziło, żeby moc spadała :) w ten sposób dowiadujemy się czy części przekłamań nie powodują dodatkowe odbicia sygnału od ścian itd. (przy tych układach zakłada się, że do odbiornika dociera jedynie sygnał bezpośredni, co w większości przypadków nie jest prawdą ale z drugiej strony w większości przypadków nie ma znaczenia, na tych częstotliwościach sygnał odbity jest silnie tłumiony, "teoretycznie" oczywiście ;p, czyli zależy od czaego i w jakiej odległości jest przeszkoda)

    W sumie jak masz 30-40 przekłamać na ok 1meg to uważam, że jest super i serdecznie gratuluje takiego wyniku :!:

    Masz może możliwość sprawdzenia czy te błędy pojawiają się cyklicznie ?? tzn. przy wysyłaniu non stop tej samej informacji np: 200B czy błąd będzie pojawiał się w tym samym miejscu, np w okolicach piątej ramki 180B, jeżeli zachodzi jakaś cykliczność to przekłamania nie są związane z BER :| i można szukać dalej :D

    Co do literaturki, jak chcesz to wrzucę kilka fajnych linków do stronek o kodowaniu jeżeli oczywiście przypomne sobie gdzie je mam zapisane :), możesz też poczytać o systemie GSM lub Tetra (w samym systemie jest to oczywiście rozbudowane ale na większości stron dobrze to tłumaczą).

    Pozdrawiam PS.
  • #28
    lbugiera
    Level 21  
    Jak by ci nie zajęło za dużo czasu znalezienie tych linków, to będe wdzięczny :). Ale jeszcze poprosze cię o opinie (skoro znasz te kody cykliczne itd.) : Czy da rade zabezpieczyć 256 B danych dodatkowymi 40-50 bajtami ? Bo jesli nie to nie chce zmniejszać przepustowości "kabla" aby to zabezpieczyć. Chce aby był "przerzoczysty". Co do błędów pojawiających się cyklicznie, to raczej nie ma takich. Bo jak przesyłam plik 700 kB to pojawiają się rózne ilości błędów. Ale przetestuje jeszcze później z konkretną ramką taką jak radzisz. Dzięki za porady :)

    Pozdrowienia
    Boogie
  • #29
    sicio1
    Level 12  
    Ależ jesteś wymagający :DDDDDDDDDDDDDDDDDD

    zaczniemy od angielskich:

    http://alfa.iele.polsl.gliwice.pl/~izi/block_codes.pdf

    chociaż z Polskiej stronki :) tam trochę straszą więc się nie przejmuj (wrzucam bo jest sporo fajnych info)

    http://www.vtt.fi/ele/research/tel/projects/windflexdocs/pwt02_piatyszek_dlugaszewski.pdf tu warto popatrzeć na zmiany BER w zależności od zastosowania jakiegoś kodu, tu akurat chyba głównie splotowe

    http://216.239.59.104/search?q=cache:d1rtodptDQoJ:www.zak.ict.pwr.wroc.pl/materialy/niezawodne_systemy_cyfrowe/wyklad/KODOWANIE.pdf+kodowanie+nadmiarowe&hl=pl tu jest dużo fajnych info ale niestety działa tylko wersja html :/

    niestety Polacy coś obijają i chowają wiadomości :/ (nie mogę też znaleźć tego co miałem na dysku mogę mieć jeszcze w domu na kompie ale tam mi zasilacz padł i zanim go zrobie jeszcze to trochę potrwa :) )

    więc zaczynami angielskie :D
    fajne i dużo
    http://www-math.cudenver.edu/~rrosterm/crypt_proj/crypt_proj.html

    Hamming
    http://wol.ra.phy.cam.ac.uk/mackay/itprnn/1997/l1/node7.html

    kurka nie mogę znaleźć przykładów, tam zawsze jest najjaśniej wyjaśnione, jak znajdę coś użytecznego w domu to jeszcze tu wrzucę (ale jak już napisałem nie prędko)

    Spróbuj poszukać nawet w encyklopediach itp. mediach haseł, kody blokowe, cykliczne, splotowe, nadmiarowe i tam powinny być odnośniki do konkretnych sposobów kodowania, a wtedy wszystko stanie się jasne :)

    Mam nadzieję że chodź trochę pomogłem.
    Pozdrawiam PS.
  • #30
    Witoldinho
    Level 14  
    a ja mam taki problem z cc1000 modulem z soytera

    ze jak skonfiguruje jako RX to zbiera wszelkie mozliwe snmieci (widzialem pod analizator na DIO lub DCLK[tryb asynch] )
    przebiegi sa takze gdy antene wlacze do masy!!

    przebiegi sa generowane ,

    co ciekawe gdy obok przystawie nadajnik CC1000pp skonfigurowany jako TX
    i nadaje 0x55(010101010), 0xAA (10101010)l czyli generowany impuls prostkatny ,
    odbi0rnik powinien lapac tylko to a on swoje

    :cry: