RTV forum PL | NewsGroups PL

Jak zsynchronizować BMP085 i DS1307 przy użyciu Bascoma na 3 liniach?

mmmega02, problem z obsluga zegara i BMP085

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zsynchronizować BMP085 i DS1307 przy użyciu Bascoma na 3 liniach?

wchpikus
Guest

Mon Aug 26, 2013 10:13 am   



Witam
Bascom, wiem...Sad
Macie jakis pomysl jak obsluzyc te dwie rzeczy na raz?
Problem jest taki, ze BMP085 dziala na 3 przewodach, (miso i mosi sa na
jednej linii) a zegar ds1307 na dwoch.

konfiguracje mam taka
Config Sda = Portb.2 'BMP085
podlaczenie
Config Scl = Portb.1 'BMP085
podlaczenie

a konfiguracja DS-a:
Sdi - Portb.2
Sdo -Portb.3
Scl -Portb.1

jak to ugrysc?
Nie da sie przerobic na 3 linie (trzeba by ciac plytke i przepinac, wiec
pozostaje software

Macie jakis pomysl?

Obsluga BMP085 dziala.

Drugie pytanie mam takie, jakis inny sposob na czyszczenie LCD T6963?
CLS nie dziala, cls text oraz lcs graph tez nei do konca..
Moze trzeba zastowowac jakis myk?

Mam kikla podprogamow i musze wyszyscic lcd-ka, niestety tylko nadpisuje
linie.

Grzegorz Niemirowski
Guest

Mon Aug 26, 2013 10:58 am   



wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Quote:
Witam
Bascom, wiem...Sad
Macie jakis pomysl jak obsluzyc te dwie rzeczy na raz?
Problem jest taki, ze BMP085 dziala na 3 przewodach, (miso i mosi sa na
jednej linii) a zegar ds1307 na dwoch.

Oba działają na I2C i nie ma tam żadnego MISO ani MOSI. I2C jest
dwuprzewodowe. Jeśli chodzi Ci o XCLR, to to jest reset BMP085 i nie ma nic
wspólnego z I2C.

Quote:
konfiguracje mam taka
Config Sda = Portb.2 'BMP085
podlaczenie
Config Scl = Portb.1 'BMP085
podlaczenie
a konfiguracja DS-a:
Sdi - Portb.2
Sdo -Portb.3
Scl -Portb.1
jak to ugrysc?

Ale z czym masz problem? ATmega32 ma SDA na PC1 a SCL na PC0, druga strona
datasheeta.

Quote:
Nie da sie przerobic na 3 linie (trzeba by ciac plytke i przepinac, wiec
pozostaje software

Po co tak kombinujesz? Wiesz jak działa I2C? Że wszystkie urządzenia są na
jednej szynie?

Quote:
Macie jakis pomysl?

Tak, zacząć czytać dokumentację ze zrozumieniem. Przede wszystkim do
mikrokontrolera którego się używa.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 10 days, 22 hours, 5 minutes and 23 seconds

wchpikus
Guest

Mon Aug 26, 2013 11:18 am   



W dniu 2013-08-26 12:58, Grzegorz Niemirowski pisze:
Quote:
, to to jest reset BMP085 i


http://www.propox.com/download/docs/mmmega0x.pdf

na ostatniej stronie jest schemat, zegar ma rozdzielone sdi i sdo,
czujnik cinienia ma jedna linie danych,

wchpikus
Guest

Mon Aug 26, 2013 11:30 am   



Zle sie wyrazilem, sorry
Mam dwie linie sdi i sdo w zegarze, czy linie sdo mam nie obslugiwac?

Grzegorz Niemirowski
Guest

Mon Aug 26, 2013 11:38 am   



wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Quote:
http://www.propox.com/download/docs/mmmega0x.pdf
na ostatniej stronie jest schemat, zegar ma rozdzielone sdi i sdo,
czujnik cinienia ma jedna linie danych,

Ale na schemacie masz DS1305, a napisałeś, że używasz DS1307. DS1305
komunikuje się po SPI albo po jego odmianie half-dupleksowej, która zwiera
linie SDI i SDO. DS1307 używa I2C i dlatego Ci o I2C napisałem. Więc może
się zdecyduj.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 10 days, 22 hours, 47 minutes and 50 seconds

Grzegorz Niemirowski
Guest

Mon Aug 26, 2013 11:40 am   



wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Quote:
Zle sie wyrazilem, sorry
Mam dwie linie sdi i sdo w zegarze, czy linie sdo mam nie obslugiwac?

Ale z którego zegara chcesz korzystać? Jeśli DS1305 to masz do wyboru
klasyczne SPI albo ten 3-wire interface. Jak się zdecydujesz na interfejs do
dopiero wtedy zajmij się podłączaniem. Ja wziąłbym zwykle SPI.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 10 days, 22 hours, 52 minutes and 11 seconds

wchpikus
Guest

Mon Aug 26, 2013 11:56 am   



W dniu 2013-08-26 13:52, Sławomir Szczyrba pisze:
Quote:
Quidquid MsgId est, timeo wchpikus et dona ferentem...
Witam
Bascom, wiem...Sad
Macie jakis pomysl jak obsluzyc te dwie rzeczy na raz?
Problem jest taki, ze BMP085 dziala na 3 przewodach, (miso i mosi sa na
jednej linii) a zegar ds1307 na dwoch.

Coś zakręciłeś.
- ds1307 gada przez SPI (trzy linie, PB1,PB2,PB3)
- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset)
Masz dwa urządzenia na różnych interfejsach, różnych pinach.
Nie powinieneś mieć żadnego problemu.

Chyba że z jakichś powodów upierasz się żeby podłączyć czujnik ciśnienia
koniecznie do tych samych pinów co zegar...

Sławek



Ok namieszalem:)
Juz sie poprawiam
Zegar na ds1305
czujnik cisnienia jaki jest (BMP085).
Maja dzialac na tych samych pinach, czyli czuknik BMP085 podpiety jest
pod PB2, jak na schemacie.

Z tego co rozumiem zegar dziala po SPI, a mam na tym samym pinie czujnik
cisnienia..czy da sie jakos to pogodzic?

Ic2 mam dla ds18b20 na innym pinie..

Grzegorz Niemirowski
Guest

Mon Aug 26, 2013 12:07 pm   



wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Quote:
Z tego co rozumiem zegar dziala po SPI, a mam na tym samym pinie czujnik
cisnienia..czy da sie jakos to pogodzic?

Czujnik ciśnienia masz na I2C, już Ci to pisałem. Skoro jest na I2C, to jest
na INNYCH pinach niż zegar, który jest na SPI. Więc nic nie musisz godzić,
bo to są inne piny. Przeczytaj ze zrozumieniem post Sławomira.

Quote:
Ic2 mam dla ds18b20 na innym pinie..

DS18B20 nie jest na I2C, tylko na 1-Wire,

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 10 days, 23 hours, 16 minutes and 25 seconds

wchpikus
Guest

Mon Aug 26, 2013 12:27 pm   



W dniu 2013-08-26 14:07, Grzegorz Niemirowski pisze:
Quote:
wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Z tego co rozumiem zegar dziala po SPI, a mam na tym samym pinie
czujnik cisnienia..czy da sie jakos to pogodzic?

Czujnik ciśnienia masz na I2C, już Ci to pisałem. Skoro jest na I2C, to
jest na INNYCH pinach niż zegar, który jest na SPI. Więc nic nie musisz
godzić, bo to są inne piny. Przeczytaj ze zrozumieniem post Sławomira.

Ic2 mam dla ds18b20 na innym pinie..

DS18B20 nie jest na I2C, tylko na 1-Wire,

jezu, chyba faktycznie wszystko mi sie pomerdalo:(



- ds1305 gada przez SPI (trzy linie, PB1,PB2,PB3)
ok to rozumiem


- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset),
czyli spokojnie moge przepiac na inny port?
Czyli ta konfiguracja nie ma sie ni jak do SPI?

Config Sda = Portb.2
Config Scl = Portb.1

Jesli SPI jest podlaczony w atmega128 do Pb0, PB1 i PB2 to SPI mam
hardwarowy- tak?

Czyli
1wwrite odwoluje sie do 1wire
I2cwbyte odwoluje sie do i2c

konfiguruje np spi:

sbi DDRB,7 ; SCK output
cbi DDRB,6 ; MISO input
sbi DDRB,5 ; MOSI output
i obsuga poprzez
SPIINIT
SPIOUT

dobrze rozumuje?
sorry za moje LAMERSTWO:)

Grzegorz Niemirowski
Guest

Mon Aug 26, 2013 12:39 pm   



wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Quote:
W dniu 2013-08-26 14:07, Grzegorz Niemirowski pisze:
wchpikus <wchpikus@wytnijto.wp.pl> napisał(a):
Z tego co rozumiem zegar dziala po SPI, a mam na tym samym pinie
czujnik cisnienia..czy da sie jakos to pogodzic?
Czujnik ciśnienia masz na I2C, już Ci to pisałem. Skoro jest na I2C, to
jest na INNYCH pinach niż zegar, który jest na SPI. Więc nic nie musisz
godzić, bo to są inne piny. Przeczytaj ze zrozumieniem post Sławomira.
Ic2 mam dla ds18b20 na innym pinie..
DS18B20 nie jest na I2C, tylko na 1-Wire,
jezu, chyba faktycznie wszystko mi sie pomerdalo:(
- ds1305 gada przez SPI (trzy linie, PB1,PB2,PB3)
ok to rozumiem
- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset),
czyli spokojnie moge przepiac na inny port?
Czyli ta konfiguracja nie ma sie ni jak do SPI?
Config Sda = Portb.2
Config Scl = Portb.1
Jesli SPI jest podlaczony w atmega128 do Pb0, PB1 i PB2 to SPI mam
hardwarowy- tak?
Czyli
1wwrite odwoluje sie do 1wire
I2cwbyte odwoluje sie do i2c
konfiguruje np spi:
sbi DDRB,7 ; SCK output
cbi DDRB,6 ; MISO input
sbi DDRB,5 ; MOSI output
i obsuga poprzez
SPIINIT
SPIOUT
dobrze rozumuje?
sorry za moje LAMERSTWO:)

Nie znam się na Bascomie, ale wygląda dobrze.
I nie pytaj o podpinanie, bo masz to napisane w datasheecie od ATmega128 (bo
chyba tego mikrokontrolera używasz). Tam masz napisane (zaraz na stronie
numer 2) na jakich pinach jest I2C a na jakich jest SPI. Więc po prostu
podłącz zegar i czujnik do pinów odpowiednich interfejsów. Tu nie ma żadnej
szczególnej filozofii. Na tych pinach te interfejsy są realizowane
sprzętowo. Inaczej jest z termometrem. Z tego co pamiętam, żadna ATmega nie
ma sprzętowego 1-Wire. W ogóle trudno znaleźć mikrokontroler ze sprzętowym
1-Wire. Dlatego 1-Wire realizuje się programowo na dowolnym wolnym pinie. I
dlatego termometr możesz sobie przepinać, ale z czujnikiem ciśniienia i
zegarem nie masz tak naprawdę wyboru.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 10 days, 23 hours, 41 minutes and 16 seconds

wchpikus
Guest

Mon Aug 26, 2013 1:07 pm   



Quote:
konfiguruje np spi:

sbi DDRB,7 ; SCK output
cbi DDRB,6 ; MISO input
sbi DDRB,5 ; MOSI output

Już ustalilismy przed chwilą, że SPI jest na pinach 0,1,2, więc dlaczego
ustawiasz 5,6,7?

To przyklad, chodzilo mi o to ze inna komenda jest do wywolania i
sterowania spi a inna do i2c.

u mnie jest 1, 2, 3 PB



Quote:

Kazdy kiedyś zaczynał...

Dokaldnie, chyba zabralem sie za projekt ktory mnie przerosnie:)

Odpalilem wyswietlacz, czujnik cisnienia, temteratury i wilgotnosci, mam
jeszcze do odpalenia zegar i pamiec..

Na szybko zaintalowalem PCF8583 i dziala, tylko nie mam procedury
ustawienia czasu.
Ale jesli mam na pokladzie ds1305, chcialbym go wykorzystac,szczegolnie
ze mam podstawke pod baterie orginalnie.

Szukam gdzies w sieci przykladu dla ds1305 ale nigdzie nie ma, jest za
to to 1307...
Nie wiem jak to ugryzc.

Piszesz ze hardwerowo to nie jest SPI, w dokumentacji wlasnie pod
portami 1 2 3 (portb) mam sck, mosi miso, wiec to chyba spi?

Juz neich tak zostanie, mam na osobnych cisnienie, na osobnym
temperature i wilgotnosc, zostal tylko zegar..

Moze uda sie cos sklecic.

Sławomir Szczyrba
Guest

Mon Aug 26, 2013 1:52 pm   



Quidquid MsgId est, timeo wchpikus et dona ferentem...
Quote:
Witam
Bascom, wiem...Sad
Macie jakis pomysl jak obsluzyc te dwie rzeczy na raz?
Problem jest taki, ze BMP085 dziala na 3 przewodach, (miso i mosi sa na
jednej linii) a zegar ds1307 na dwoch.

Coś zakręciłeś.

- ds1307 gada przez SPI (trzy linie, PB1,PB2,PB3)
- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset)
Masz dwa urządzenia na różnych interfejsach, różnych pinach.
Nie powinieneś mieć żadnego problemu.

Chyba że z jakichś powodów upierasz się żeby podłączyć czujnik ciśnienia
koniecznie do tych samych pinów co zegar...

Sławek
--
________ - Dlaczego pod kosciolem w Wachocku wykopali dol?
_/ __/ __/ - zeby poglebic wiare.
\__ \__ \_______________________________________________________________
/___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl

Sławomir Szczyrba
Guest

Mon Aug 26, 2013 2:22 pm   



I odezwał się tymi oto słowy, user znany nam jako wchpikus :

Quote:
Zegar na ds1305
czujnik cisnienia jaki jest (BMP085).
Maja dzialac na tych samych pinach, czyli czuknik BMP085 podpiety jest
pod PB2, jak na schemacie.

Mają, ale czy koniecznie MUSZĄ?


Quote:
Z tego co rozumiem zegar dziala po SPI, a mam na tym samym pinie czujnik
cisnienia..czy da sie jakos to pogodzic?

Teoretycznie tak.

Włączyć SPI, odpytać zegar, wyłączyć SPI, odpytać czujnik, obsługując cały
protokół komunikacyjny I2C 'ręcznie' i pamiętając o blokowaniu 'drugiego'
scalaka odpowiednim sygnałem CE.
Biblioteki do bitbank I2C są na sieci.
Ale raczej nie chcesz tego...

Quote:
Ic2 mam dla ds18b20 na innym pinie..

ds18b20 to 1wire, może być na dowolnym pinie bo i tak musisz go ręcznie obsłużyć.

mega128 nie ma sprzętowego 1wire (AFAIR)

Sławek
--
________ ...czyli krotko mowiac, jakis szajs dla pecetowcow...
_/ __/ __/ WO o CD-Action
\__ \__ \_______________________________________________________________
/___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl

Sławomir Szczyrba
Guest

Mon Aug 26, 2013 2:55 pm   



wchpikus nie tuman, nie da się wytępić!

Quote:
- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset),
czyli spokojnie moge przepiac na inny port?

Powinieneś.


Quote:
Jesli SPI jest podlaczony w atmega128 do Pb0, PB1 i PB2 to SPI mam
hardwarowy- tak?

SPI i I2C MOŻESZ mieć hardwarowy.


Quote:
1wwrite odwoluje sie do 1wire
I2cwbyte odwoluje sie do i2c

Tak.

Ale...

Quote:
konfiguruje np spi:

sbi DDRB,7 ; SCK output
cbi DDRB,6 ; MISO input
sbi DDRB,5 ; MOSI output

Już ustalilismy przed chwilą, że SPI jest na pinach 0,1,2, więc dlaczego

ustawiasz 5,6,7? Smile
BTW, jesli włączysz sprzętowe SPI/I2C odpowiednie piny są 'konfigurowane'
automatycznie.


Quote:
dobrze rozumuje?

Z grubsza Wink


- ściagnij datasheeta do atmega128 i zaglądaj
- zdecyduj się czy chcesz stosować SPI/I2C hardware'owe czy programowe,
(bo funkcje które cytujesz najwyraźniej ze sprzętu nie korzystają...)
- w zależnosci od tego co postanowisz, poszukaj odpowiedniej biblioteki
(lub próbuj sam coś napisać)

Quote:
sorry za moje LAMERSTWO:)

Kazdy kiedyś zaczynał... Smile


Sławek
--
________ - Dlaczego w Wachocku ludzie maja gwozdzie w uszach?
_/ __/ __/ - Bo sluchaja metalu.
\__ \__ \_______________________________________________________________
/___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl

wchpikus
Guest

Mon Sep 02, 2013 12:12 pm   



Witam!
Mam jakis dzwiwny problem z obsluga t6963 (240x64 lcd)
Nie moge wyczyslic ekranu, funkcja lcs w bascomie nie dziala...cls text
czy cls graph tez nie..
Spotkal sie ktos w takim czyms?

W c szukam tez bibliotek do modulow, ale nie znalazlem..
ds1305, bmp085 oraz dth11...
ds18b20 widzialem ze jest....

Co do t6963, jest tego troche, wiec sobie poradze.

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zsynchronizować BMP085 i DS1307 przy użyciu Bascoma na 3 liniach?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map