Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

DS2480 DS2482 - Doświadczenia z układami master 1-Wire

R-MIK 26 Sty 2017 20:27
  • #1 26 Sty 2017 20:27
    R-MIK
    Poziom 34  

    Zachęcam do wymiany doświadczeń z układami DS2480 i DS2482.
    Aktualnie "pastwię" się nad nimi. Aby wykorzystać ich potencjał należy korzystać z trybów, które oferują w przeciwnym wypadku okazują się bardzo wolne. Zestawienie czasów operacji:
    DS2480 DS2482 - Doświadczenia z układami master 1-Wire
    Będę uzupełniał tą tabelkę.

    DS2480 jest dużo lepszy od DS2482 ale wymaga cennego UARTA. Zalety:
    - duża szybkość transmisji (115200b/s),
    - wykrywanie przerwań od slave,
    - generowanie impulsów programującycch 5V i 12V,
    - wbudowane silne podciąganie.

    Stosując pewne sztuczki, można przyspieszyć działanie DS2482. Nawet przy SIIC 400kHz, czas transmisji bajtu po IIC jest dłuższy od generowania impulsu na 1-Wire więc nie trzeba sprawdzać czy układ jest zajęty transmisją,
    - przy odczycie bajtu z 1-Wire w trybie overdrive nie trzeba sprawdzać statusu, bajt na pewno już jest w buforze DS2482.


    Search rom dla DS2482 używający rozkazu 3-bit:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Co do porównania prędkości komunkacji DS2480 (115200) a DS2482 (moja odpowiedź w innym temacie):
    Ile bajtów trzeba wysłać i odebrać po IIC do/z DS2482 aby wysłać jeden bajt na 1-W, a ile po USART do DS2480?
    (...)IIC trzeba zaadresować i czekać aż DS2480 zwróci w statusie zakończenie operacji na 1-Wire, a to daje dodatkowe bajty po IIC:
    ADRES IIC,
    REJESTR ZAPISU,
    dana - nie liczymy bo po UART też trzeba wysłać,
    PONOWNY START i ADRES ODCZYTU IIC,
    ODCZYT STATUSU z ACK
    ...
    ODCZYT STATUSU bez ACK
    Ile wyszło? 5 dodatkowych bajtów i z 400kb/s robi się 80kb/s.
    Nieodczytanie ostatniego bajtu bez ACK sprawia problemy, jeszcze tego nie analizowałem, prawdopodobnie oczekuję innego statusu z TWI.
    Jest mały niuans, ż w IIC do 8-bit dochodzi 9 ACK, w USART 8-bit + START, + STOP..
    prędkość transmisji USART 115200b/s daje 11,520kB/s
    IIC 400kHz 400kHz daje ~44kB/s, sekwencję start/stop pomijam.





    Temat powiązany z:
    Różnica między DS2480 a DS2480B
    Szybkość odczytu z DS2482-800
    [DS2480]Komunikacja po rs232
    Przejściówka 1-wire->rs232 oparta na DS2480 zasilana bezpośrednio z zasilacza
    konwerter 1-wire na rs232 układ DS2480b

    Proszę nie zamieszczać linków i tekstów w języku innym niż polski bez tłumaczenia. Dyskusja jest dla wszystkich, zwłaszcza tych mniej zorientowanych.

  • #2 27 Sty 2017 18:46
    tronics
    Poziom 34  

    Cytat:
    Ile wyszło? 5 dodatkowych bajtów i z 400kb/s robi się 80kb/s.
    Oczywiście. Ale i2c może pracować też przy 1.7MHz, wyszukanie urządzeń i przechowanie adresów 1w swoje też zje, podobnie później "match rom".

  • #3 27 Sty 2017 18:55
    R-MIK
    Poziom 34  

    tronics napisał:
    Cytat:
    Ile wyszło? 5 dodatkowych bajtów i z 400kb/s robi się 80kb/s.
    Oczywiście. Ale i2c może pracować też przy 1.7MHz, wyszukanie urządzeń i przechowanie adresów 1w swoje też zje, podobnie później "match rom".

    DS2482 na 1,7MHz? Sprawdziłem w nocie:
    Cytat:

    General Description
    The DS2482-100 is an I2C-to-1-Wire® bridge device
    that interfaces directly to standard (100kHz max) or fast
    (400kHz max) I2C masters to perform bidirectional protocol conversion between the I2C master and any
    downstream 1-Wire slave devices. Relative to any
    attached 1-Wire slave device, the DS2482-100 is a


    Cytat:
    GENERAL DESCRIPTION
    The DS2482-800 is an I²C™ to 1-Wire bridge device
    that interfaces directly to standard (100kHz max) or
    fast (400kHz max)

    A High Speed Mode to 3,4MHz, a te 1,7MHz z DS2482 to kolega sprawdził w praktyce?

    Porobię próby z większymi prędkościami, i zacznę od 1,7M

  • #4 27 Sty 2017 19:14
    tronics
    Poziom 34  

    Cytat:
    DS2480 na 1,7MHz? Sprawdziłem w nocie:

    Nie na DS2480. Oryginalnie fast mode plus to 1MHz, są układy wyciągające jeszcze więcej. W przypadku kontrolera one wire z 8x DQ mogłoby to być uzasadnione. Niemniej ten standard jest stosunkowo świeży i nie dziwi mnie, że Dallas go nie wspiera. Aktualnie z bardziej powszechnych urządzeń I2C to A/D, D/A i ekspandery I/O to wspierają. Z drugiej strony I2C ma też roszerzenie 10 bitowego adresowania. To jeszcze mniej układów wspiera. 1wire z drugiej strony od początku miało 64bitowe adresowanie, ale prędkość też jest dość sztywna.

  • #5 27 Sty 2017 19:18
    R-MIK
    Poziom 34  

    tronics napisał:
    Cytat:
    DS2480 na 1,7MHz? Sprawdziłem w nocie:

    Nie na DS2480. Oryginalnie fast mode plus to 1MHz, (...)

    A o jaki układzie jest mowa? DS2482 więc proszę nie wprowadzać w błąd, bo osoba bez doświadczenia straci dzień czy dwa i dojdzie do wniosku, że na Elektrodzie wypisują bzdury.

    PS
    Poprawiłem błąd, napisałem DS2480 a oczywiście chodziło o DS2482, zorientowani wiedzą, że DS2480 ma uart a nie IIC


    Cytat:
    Kolejne godziny pracy z DS24820 i DS2482 dały następujące efekty:

    - DS2482 nie jest zbyt szybki. Konieczność ustawienia wskaźnika odczytu po operacji RSbyte powoduje konieczność przesłania 3 bajtów. W konsekwencji, w trybie overdrive, bajty z 1W można odczytywać co 370us, gdzie transmisja bajtu po 1W trwa 80us. Z zapisem jest lepiej, nadawanie co 280us, może jeszcze uda się przyspieszyć.
    - W DS2480 przejście do overdrive jest kłopotliwe. Trzeba to zrobić komendą reset, search lub operacją na bicie. W konsekwencji przejście na overdriwe wygląda tak:
    Code:
    RESET STANDARDOWY
    
    SKIP_ROM_OVD
    RESET OVD
    CMD

    Może ktoś zna lepszy sposób?

    Dla przykładu w DS2482 robi się to tak:
    Code:
    RESET STANDARDOWY
    
    SKIP_ROM_OVD lub MATCH_ROM_OVD
    zapis konfiguracji do DS2482
    CMD


    Reasumując:
    DS2482 do standardowej prędkości jest doskonały, do overdrive taki sobie.

    Szkoda, że nie ma (nie znalazłem) mostu SPI-1wire. Gdyby połączyć funkcjonalność DS2480 (napięcie programujące, wykrywanie IRQ od slave) z 2482 (protokół komunikacyjny, przejście w overdrive) z interfejsem SPI (lub szybszym IIC) to byłby fajny master. W SPI nie trzeba układu adresować i jest znacznie szybszy od IIC. Zewnętrzny układ master ma dwie główne zalety:
    1) nie trzeba zwieszać IRQ na czas generowania bitu zero,
    2) wykrywa IRQ od slave,
    3) w przypadku SPI (IIC) nie zajmuje cennego UART'a.

  Szukaj w 4mln produktów
Przeglądaj produkty