Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

CC2420 i PIC18LF2520 czyli Pixie

truskawkowy 15 Wrz 2007 11:58 2058 12
  • #1 15 Wrz 2007 11:58
    truskawkowy
    Poziom 9  

    Witam, mam kilka problemow wlasnie z tymi ukladami, próbuje zbudowac sobie swoje pixie, ale nie o to chodzi, prosilbym o kontakt kogos, kto moglby mi pomoc (chodzi o kilka odpowiedzi).
    Jesli ktos ma praktyke w wykorzystaniu i oprogramowaniu cc2420 prosze o kontakt moj email dr_klauf(malpa)o2.pl

    0 12
  • Pomocny post
    #2 15 Wrz 2007 12:40
    piti___
    Poziom 23  

    Witam
    Blisko 2 lata poznaje ZigBee, korzystam z PICDEM Z (CC2420 + PIC18F4620/18F2620) i stosu microchipa. Proszę o pytania, może pomogę :)

    0
  • #3 06 Lut 2008 13:36
    marcino_p
    Poziom 11  

    witam
    Podobnie jak kolega PITI___ zajmuje sie tematyką ZIGBEE. Ja testuje stos Microchipa na procesorach Atmel 1281 oraz modele radiowym AT86RF230. Zaczynam sie zabierać za przerabianie stosu z MicroChipa, czy macie jakies sugestie jak do tego podejść?

    Picami sie wcześniej zajmowałem, to calkiem przyjemne i wdzięczne urzadzonka. Mogą wiele znieść np +9V na linii VCC :)

    0
  • #4 06 Lut 2008 16:55
    don diego
    Poziom 32  

    Ja mam pytanie do szanownych kolegów. Czy ktoś z Was budował moduły ZigBee od podstaw? Chodzi mi o projektowanie obwodów antenowych i anten na PCB. Czy spotkaliście gdzieś w sprzedaży desymetryzatory (baluny)? Mam transceivery od Freescale i chciałbym je kiedyś wykorzystać.

    Przepraszam kolegę truskawkowego, że piszę to w jego poście, ale nie chciałem zakładać nowego a widzę, że są tu koledzy z praktyką w tym temacie.

    0
  • #5 06 Lut 2008 17:08
    marcino_p
    Poziom 11  

    witam
    Kolega na uczelni próbował kombinować z FreeScalem 13193 ale przerosło to jego siły. Programowanie swoją droga, ale lutowanie tego i projekt anteny nawet zrobionej według noty aplikacyjnej nie dało takich efektów jak oczekiwał. Istenieją co prawda references designs ale nie eksperymetnowałem z nimi, tylko juz nie pamiętam czy tam jest 2 lub 4 warstwy? Poza tym jest jeszcze jeden problem jak to masz zamiar programować? Używasz sampli, które FS dostarcza typu 13192 lub 13193 z wbudowanym uC? Z tego co wiem kolega nie próbował nawet zrobić własnego programatora tylko zakupił na koszt uczelni takowy.

    0
  • #6 06 Lut 2008 17:19
    don diego
    Poziom 32  

    Posiadam MC13191 i MC13202FC oraz MRF24J40 od Microchipa. Freescale faktycznie rekomenduje do współpracy swoje mikrokontrolery.

    0
  • #7 06 Lut 2008 17:26
    marcino_p
    Poziom 11  

    To ze rekomenduje to nic z tego wszystkie transceivery komunikują sie przez SPI, wiec nawet poczciwa ATMEGA 1281 podejdzie. Z tego co pamietam to jest tam do programowania Frescala uzuwana taki standard jak BDM( dwie linie, cos jak I2C). Na MRFie tam jest chyba reference design dwuwarstwowy. Na FreeScaleu to tez jest ale z jednym mankamentem tam jak patrzysz na budowe anteny to widzisz, że jest separator na antenie RX i TX cos w rodzaju transformatora, tylko nie bardzo jest powiedziane co to za transformator i jaki ma przekład. Samemu tez miałem ochotę zrobić takie cos ale jak dowiedziałem sie ile jest z tym roboty to odpuściłem. Poza tym potrzebny byłby sniffer do testowania.

    0
  • #8 06 Lut 2008 17:32
    don diego
    Poziom 32  

    Właśnie problemem jest ten transformator-balun. Zamienia sygnał symetryczny na niesymetryczny. W żadnym polskim sklepie internetowym czegoś takiego nie spotkałem. Pozostaje zaprojektowanie anteny dla linii symetrycznej.

    0
  • #9 06 Lut 2008 17:39
    marcino_p
    Poziom 11  

    W sumie mógłbyś skopiować ten wzór anteny z Referecne design tylko pozostaje jeszcze rozkład masy. Nie mam pojęcia czy przeplotki i ich rozmieszczenie ma znaczenie (napewno ma) ale wykonanie tego potem w domowych warunkach bedzie nastręczało kłopotów. Metoda fotograficzna byłaby ok (positiv, naświetlanie itp.) potem musiałbyś usunąć wszelkie "włoski" tzn odpryski, niedociągnięcia z anteny. Najważniejsze jest to aby anteny nie pokrywać cyną (jej grubość jest ważna), nie należy tez przykrywac solder maską. Kalafonia rozpuszczona w Nitro bedzie ok.
    Cóż moge powiedzieć --- POWODZENIA---.

    0
  • #10 06 Lut 2008 17:43
    don diego
    Poziom 32  

    Dzięki za rady. Po magisterce spróbuję coś stworzyć.
    Pozdrawiam

    0
  • #11 06 Lut 2008 17:45
    marcino_p
    Poziom 11  

    Sam po magisterce musze stowrzyć kontroler do pieca CO, taki najlepiej bez przewodowy (nie chce mi sie sie wiercić w podłodze i przez ściany:)) Bede go robił ale chyba na gotowych modułach, ze zrobienie własnego byłoby za duzo kłopotu.

    0
  • #12 06 Lut 2008 17:50
    don diego
    Poziom 32  

    Również myślę nad czymś takim dla kolegi (kontroler pompy od CO), ale bardziej skłaniam się w stronę modułów na 433MHz.

    0
  • #13 07 Lut 2008 17:09
    piti___
    Poziom 23  

    marcino_p napisał:
    witam
    Podobnie jak kolega PITI___ zajmuje sie tematyką ZIGBEE. Ja testuje stos Microchipa na procesorach Atmel 1281 oraz modele radiowym AT86RF230. Zaczynam sie zabierać za przerabianie stosu z MicroChipa, czy macie jakies sugestie jak do tego podejść?

    Picami sie wcześniej zajmowałem, to calkiem przyjemne i wdzięczne urzadzonka. Mogą wiele znieść np +9V na linii VCC :)


    Masz już przepisany i działając na Atmelu stos z Microchipa ? Polecam na start zmienić nadawanie adresów 16bitowych na adresy składające się z 2 bajtów adresu MAC węzła. Nadawanie adresów wg. specyfikacji jest jakieś niezrozumiałe i dziwnie działa w przypadku routingu.
    Plik zNWK.c

    Code:

    void AddChildNode( void )
    {
        SHORT_ADDR                  shortAddr;

        memcpy( (void*)¤tNeighborRecord.longAddr, (void*)&(params.MLME_ASSOCIATE_indication.DeviceAddress), (size_t)(sizeof(LONG_ADDR)));
        currentNeighborRecord.panID = macPIB.macPANId;
        currentNeighborRecord.LogicalChannel = 0xFF;

        if (params.MLME_ASSOCIATE_indication.CapabilityInformation.CapBits.DeviceType == DEVICE_IEEE_RFD)
        {
            currentNeighborRecord.shortAddr.byte.MSB = currentNeighborRecord.longAddr.v[1];
            currentNeighborRecord.shortAddr.byte.LSB = currentNeighborRecord.longAddr.v[0];
            currentNeighborRecord.deviceInfo.bits.deviceType = DEVICE_ZIGBEE_END_DEVICE;
    //        currentNeighborRecord.shortAddr = currentNeighborTableInfo.nextEndDeviceAddr;
            //ConsolePutROMString( (ROM char * const)"Joining node " );
            //PrintChar( currentNeighborRecord.shortAddr.byte.MSB );
            //PrintChar( currentNeighborRecord.shortAddr.byte.LSB );
            //ConsolePutROMString( (ROM char * const)" as end device\r\n" );
            currentNeighborTableInfo.nextEndDeviceAddr.Val ++;
            if (currentNeighborTableInfo.nextEndDeviceAddr.Val == LAST_END_DEVICE_ADDRESS)
            {
                nwkStatus.flags.bits.bAllEndDeviceAddressesUsed = 1;
            }
        }
        else
        {
            currentNeighborRecord.deviceInfo.bits.deviceType = DEVICE_ZIGBEE_ROUTER;




    //        currentNeighborRecord.shortAddr = currentNeighborTableInfo.nextRouterAddr;
            currentNeighborRecord.shortAddr.byte.MSB = currentNeighborRecord.longAddr.v[1];
            currentNeighborRecord.shortAddr.byte.LSB = currentNeighborRecord.longAddr.v[0];
            //ConsolePutROMString( (ROM char * const)"Joining node " );
            //PrintChar( currentNeighborRecord.shortAddr.byte.MSB );
            //PrintChar( currentNeighborRecord.shortAddr.byte.LSB );
            //ConsolePutROMString( (ROM char * const)" as router\r\n" );
            currentNeighborTableInfo.numChildRouters++;
            currentNeighborTableInfo.nextRouterAddr.Val += currentNeighborTableInfo.cSkip.Val;
            if (currentNeighborTableInfo.nextRouterAddr.Val > macPIB.macShortAddress.Val + currentNeighborTableInfo.cSkip.Val * NIB_nwkMaxRouters)
            {
                nwkStatus.flags.bits.bAllRouterAddressesUsed = 1;
            }
        }
        currentNeighborRecord.deviceInfo.bits.RxOnWhenIdle  = params.MLME_ASSOCIATE_indication.CapabilityInformation.CapBits.RxOnWhenIdle;
        currentNeighborRecord.deviceInfo.bits.Relationship  = NEIGHBOR_IS_CHILD;
        currentNeighborRecord.deviceInfo.bits.bInUse        = TRUE;

        PutNeighborRecord((NVM_ADDR*)pCurrentNeighborRecord, (BYTE*)¤tNeighborRecord);

        currentNeighborTableInfo.numChildren++;
        currentNeighborTableInfo.neighborTableSize++;
        PutNeighborTableInfo();

        SetBeaconPayload();
    }
    [/code]

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo