Elektroda.pl
Elektroda.pl
X
Sklep HeluKabel
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATmega8515, AT90S2313 i Bascom 1-wire problem

xypit 26 Lip 2004 20:46 3358 11
  • #1 26 Lip 2004 20:46
    xypit
    Poziom 10  

    Mam dziwny problem z ATmega8515 i obsługą szyny 1wire w Bascomie AVR 11.7.4. Prosty program zbudowany w oparciu o nieznacznie zmodyfikowany przyklad z helpa do odczytu temp. z ds18b20 działa na AT90S2313, a nie działa na ATmega 8515. Sposób podłaczenia jest ten sam, próboałem też konfigurować szynę 1wire na różne porty. Problem jest zawsze ten sam - dallas w ogóle nie jest zauważany. Podobny problem zauważyłem w przypadku I2C.

    W przykaladach z Bascoma znalałem sugestię, że w programatorze STK200 należy zewrzeć odpowidni jumper, np. jeśli 1wire jest na PORTB.0 to należy zewrzeć jumper B.0. W przykładach z mcselec
    z kolei coś jest wpspomniane o tym że INT0 i T0 muszą być na tym samym porcie(???). Ja używam programatora STK200 (na '244) i bardzo prostej płytki testowej ( z nowego elektronika NE300k) i tam żądnych zworek nie ma, stąd myślę że chodzi raczej o plytkę testową, która jest w ofercie mcselec jako "STK devboard".

    Może ktoś ma taki zestaw i byłby w stanie powiedzieć do czego tam służą wspomniane zworki?A może ktoś już uporał się z podobnym problemem lub potrafi coś podpowiedzieć, bo tracę pomysły?

    0 11
  • Sklep HeluKabel
  • #2 26 Lip 2004 21:44
    BoskiDialer
    Poziom 34  

    Atmegi mają wewnętrzny układ taktujący 1MHz, do tego trzeba zmienić ustawienia programowania w stk200 (przełączyć fuse na zewnętrzny kwarc). co do zworki - jakaś bzdura, 1wire niewymaga żadnych zworek, 1-wire to kwestja programu, timer służy do odmierzania czasu i niemusi byc połączony z portem. co do i2c- niewiem...

    0
  • Sklep HeluKabel
  • #3 30 Lip 2004 11:13
    xypit
    Poziom 10  

    Witam!
    Zrobiłem jak sugerowałeś ale nie zadziałało!
    W dodatku Bascom jakoś dziwnie pokazuje fusy bo jest dużo możliwości wyboru niż w dokumentacji, a poza tym dziwnie są opisane niż w dokumentacji. Tak czy uinaczej teraz chyba coś namieszłaem bo oscylator w ogóle nie działa - prawdobodobnie ustawiłem "Low frequency osc." Kupiłem kwarca 512 kHz i bede probowal przywrocic prockowi normalne taktowanie. Jesli masz jakies sugestie jak dokladnie fusy ustawic w bascomie to prosze o sugestie
    Pit

    0
  • #4 30 Lip 2004 12:46
    McRancor
    VIP Zasłużony dla elektroda

    Zamiast ustawiać bity w bascomie, w którym są jakoś dziwnie poopisywane, zamiast ułatwić to utrudnia... ustawiaj bity za pomocą programu Ponyprog, działa z stk200 i bity są normalnie pokazane w tabelce

    0
  • #5 30 Lip 2004 20:58
    xypit
    Poziom 10  

    McRancor masz rację ! Odblokowałem ATmege z taktowania "low freq"
    i ustawiłem jescze raz fusy za pomoca PonyProg i zaczeło działać - przy ustawinieniach CKSEL = 1111 Poza tym w POnyProg bity sa nazywane tak jak w dokumentacji.
    Nadal jednak nie działa I2C. Na AT90S2313 jest Ok ale z zewnętrznymi rezystorami podciągającymi, ale AtMega nie działa, ani z rezystorami ani bez nich. KOnfigurowałem SCL i SDA też do pracy z wewn. rezystorami i tez nic. Mam Bascoma 11.7.4 i coś niecoś słyszałem, że I2C zostało tam zmodyfikowane, ale próby z 11.6.0 też zakońzcyły się porażką.Macie jakieś sugestie ?

    A propos czy ktoś wie jaka jest praktyczna długość połączenia ds18B20 z uP? Chodzi o o max. długość przewodów połączeniowych.Dokumentacja nic na ten temat nie wspomina.

    0
  • #6 09 Sie 2004 20:58
    1004kw
    Poziom 14  

    Witam XYPIT - u mnie jest np. 2m i 3m

    0
  • #7 09 Sie 2004 21:03
    xypit
    Poziom 10  

    Hmmm ... powiadasz 3m?
    Ja potzrebuję połaczenia o dlugości ok. 100m i nie mam pewności czy bedzie Ok! Jesli ktoś sprawdził ze DS dziala na odleglosciach tego rzedu prosze o info. W helpie do Bascoma coś jest wspomiane o odleglości nawet do 300m ? Ale jak się to ma w praktyce?

    0
  • #8 10 Sie 2004 21:17
    GienekS
    Poziom 32  

    Ja w sumie nie sprawdzałem na 1-Wire ile wyciągnie tylko od razu zrobiłem interfejs na RS-485 i zapomniałem o problemie odległości.

    0
  • #9 11 Sie 2004 02:57
    radek.kaba
    Poziom 14  

    100m to nie problem (300m też ale lepiej użyć jakiś driwer 1-wire) - oczywiście przy podłączeniu 3-przewodowym.
    Jednak, jeżeli przewód ma być położony w środowisku przemysłowym lepiej żeby to była skrętka, i niestety sprawdzanie CRC8 jest już "obowiązkowe"!

    0
  • #10 20 Sie 2004 00:05
    yarpen2
    Poziom 22  

    hmm... a ja się bawiłem 1wire który działał z kablem 500m. Ale procedurki były pisane w C i nie były to procedurki "wbudowane" w Codevision.
    ale żeby to dobrze napisać potrzeba oscyloskopu

    0
  • #11 11 Wrz 2004 20:44
    Rosa
    Poziom 12  

    Witam
    Mam wykonać układ transmisji na 100m ,ale w terenie górskim ,gdzie pioruny sieją spustoszenie.Łacze ma współpracować z drogim sterownikiem.
    Jaki rodzaj transmisji zastosować 485 czy petlę prądową z opto.
    Wystarczy 1kb w semiduplex.

    0
  • #12 12 Wrz 2004 12:37
    jacur
    Poziom 32  

    ja uzywam ds-ow i program pisze w bascomie wersja najnowsza i uzywałem procka AT90S8515 i ATmega8515 i po przekompilowaniu w bascomie na odpowiedni procek dziala wszystko bez problemu a uzywam do transmisji lini 2 przewodowej
    a co do zabezpieczenia układu przed wyladowaniami lub indukowaniem sie w lini zbyt wysokich napiec jest układ do ochrony przed ESD
    jest to układ DS 9503
    w załaczniku zamieszczam aplikacje dallasa jak podpinac DS-y do lini 2 przewodowej

    0
  Szukaj w 5mln produktów