Dariusz Zolna
Guest
Sun Apr 06, 2008 10:47 am
Mam następujący problem - w układzie na Atmega32 wykorzystuję sprzętowe
SPI do komunikacji z kartą SD oraz TWI (I2C) do komunikacji ze światem
zewnętrznym. SPI działa bez zarzutu do momentu kiedy odbiorę choćby 1
bajt przez TWI.
Czy to możliwe, żeby oba te moduły na siebie wpływały? Korzystają
przecież z innych rejestrów. Nie bardzo już wiem gdzie szukać.
Dariusz Żołna
Konop
Guest
Sun Apr 06, 2008 1:32 pm
Dariusz Zolna pisze:
Quote:
Mam następujący problem - w układzie na Atmega32 wykorzystuję sprzętowe
SPI do komunikacji z kartą SD oraz TWI (I2C) do komunikacji ze światem
zewnętrznym. SPI działa bez zarzutu do momentu kiedy odbiorę choćby 1
bajt przez TWI.
Czy to możliwe, żeby oba te moduły na siebie wpływały? Korzystają
przecież z innych rejestrów. Nie bardzo już wiem gdzie szukać.
Dariusz Żołna
Nigdy nie robiłem niczego na tym AVRze, więc może są jakieś błędy, o
których nie wiem albo coś - ale generalnie NIE POWINNY się te dwa układy
zakłócać... jedyne, co jest możliwe to wzajemne zakłócanie się sygnałów
(przez pojemności, zwarcia itp) albo błędy w procedurze obsługi tych
transmisji... Nie wiem, czy to SPI pracuje jako master, czy jako Slave
itp... ale być może przy odbierze z TWI podmieniasz przez przypadek nie
ten rejestr (sprawdź plik z definicjami nazw rejestrów - może tam jest
jakiś błąd) albo nadpisujesz jakąś zmienną używaną później w procedurze
obsługi SPI i stąd ten problem... nie wiem, czy masz JTAGa, żeby
sprawdzić np. co się z tym SPI dzieje po odebraniu bajtu po TWI?? Czy
się jakieś ustawienia nie kaszanią albo coś??
Pozdrawiam
Konop
Konop
Guest
Sun Apr 06, 2008 1:32 pm
Dariusz Zolna pisze:
Quote:
Mam następujący problem - w układzie na Atmega32 wykorzystuję sprzętowe
SPI do komunikacji z kartą SD oraz TWI (I2C) do komunikacji ze światem
zewnętrznym. SPI działa bez zarzutu do momentu kiedy odbiorę choćby 1
bajt przez TWI.
Czy to możliwe, żeby oba te moduły na siebie wpływały? Korzystają
przecież z innych rejestrów. Nie bardzo już wiem gdzie szukać.
Dariusz Żołna
Nigdy nie robiłem niczego na tym AVRze, więc może są jakieś błędy, o
których nie wiem albo coś - ale generalnie NIE POWINNY się te dwa układy
zakłócać... jedyne, co jest możliwe to wzajemne zakłócanie się sygnałów
(przez pojemności, zwarcia itp) albo błędy w procedurze obsługi tych
transmisji... Nie wiem, czy to SPI pracuje jako master, czy jako Slave
itp... ale być może przy odbierze z TWI podmieniasz przez przypadek nie
ten rejestr (sprawdź plik z definicjami nazw rejestrów - może tam jest
jakiś błąd) albo nadpisujesz jakąś zmienną używaną później w procedurze
obsługi SPI i stąd ten problem... nie wiem, czy masz JTAGa, żeby
sprawdzić np. co się z tym SPI dzieje po odebraniu bajtu po TWI?? Czy
się jakieś ustawienia nie kaszanią albo coś??
Pozdrawiam
Konop
Bogdan G
Guest
Sun Apr 06, 2008 6:54 pm
Quote:
Mam następujący problem - w układzie na Atmega32 wykorzystuję sprzętowe
SPI do komunikacji z kartą SD oraz TWI (I2C) do komunikacji ze światem
zewnętrznym. SPI działa bez zarzutu do momentu kiedy odbiorę choćby 1 bajt
przez TWI.
Czy to możliwe, żeby oba te moduły na siebie wpływały? Korzystają przecież
z innych rejestrów. Nie bardzo już wiem gdzie szukać.
Robiłem układy korzystające jednocześnie obu rodzajów transmisji (do tego
dwa sprzętowe UART-y i jeden programowy) i nic się wzajemnie nie zakłócało.
Było to co prawda na ATmega128 ale to są te same układy. Możesz mieć wspólną
zmienną albo coś innego, np. zbyt długa obsługa odbieranego bajtu przez TWI
uniemożliwiająca odbiór SPI. Szukaj w programie.
Bogdan G
Guest
Sun Apr 06, 2008 6:54 pm
Quote:
Mam następujący problem - w układzie na Atmega32 wykorzystuję sprzętowe
SPI do komunikacji z kartą SD oraz TWI (I2C) do komunikacji ze światem
zewnętrznym. SPI działa bez zarzutu do momentu kiedy odbiorę choćby 1 bajt
przez TWI.
Czy to możliwe, żeby oba te moduły na siebie wpływały? Korzystają przecież
z innych rejestrów. Nie bardzo już wiem gdzie szukać.
Robiłem układy korzystające jednocześnie obu rodzajów transmisji (do tego
dwa sprzętowe UART-y i jeden programowy) i nic się wzajemnie nie zakłócało.
Było to co prawda na ATmega128 ale to są te same układy. Możesz mieć wspólną
zmienną albo coś innego, np. zbyt długa obsługa odbieranego bajtu przez TWI
uniemożliwiająca odbiór SPI. Szukaj w programie.
Dariusz Zolna
Guest
Sun Apr 06, 2008 7:01 pm
Bogdan G pisze:
Quote:
Robiłem układy korzystające jednocześnie obu rodzajów transmisji (do
tego dwa sprzętowe UART-y i jeden programowy) i nic się wzajemnie nie
zakłócało. Było to co prawda na ATmega128 ale to są te same układy.
Możesz mieć wspólną zmienną albo coś innego, np. zbyt długa obsługa
odbieranego bajtu przez TWI uniemożliwiająca odbiór SPI. Szukaj w
programie.
Szukam w kodzie już drugi dzień, przed chwilą zauważyłem, że czasem
komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc
spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na
breadboard, nie mam tutaj możliwości wytrawienia płytki) i wtedy
sprawdzę jeszcze raz.
Dariusz Żołna
Dariusz Zolna
Guest
Sun Apr 06, 2008 7:01 pm
Bogdan G pisze:
Quote:
Robiłem układy korzystające jednocześnie obu rodzajów transmisji (do
tego dwa sprzętowe UART-y i jeden programowy) i nic się wzajemnie nie
zakłócało. Było to co prawda na ATmega128 ale to są te same układy.
Możesz mieć wspólną zmienną albo coś innego, np. zbyt długa obsługa
odbieranego bajtu przez TWI uniemożliwiająca odbiór SPI. Szukaj w
programie.
Szukam w kodzie już drugi dzień, przed chwilą zauważyłem, że czasem
komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc
spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na
breadboard, nie mam tutaj możliwości wytrawienia płytki) i wtedy
sprawdzę jeszcze raz.
Dariusz Żołna
lwh
Guest
Mon Apr 07, 2008 8:40 am
Użytkownik "Dariusz Zolna" <answer@usenet.com> napisał w wiadomości
news:ftb35o$5pg$1@inews.gazeta.pl...
Quote:
komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc
spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na
Dałeś wystarczająco dużo czasu karcie SD na zapis ?
Może problem leży w programie obsługi SD i nie jest zalezy od procesora?
lwh
Guest
Mon Apr 07, 2008 8:40 am
Użytkownik "Dariusz Zolna" <answer@usenet.com> napisał w wiadomości
news:ftb35o$5pg$1@inews.gazeta.pl...
Quote:
komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc
spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na
Dałeś wystarczająco dużo czasu karcie SD na zapis ?
Może problem leży w programie obsługi SD i nie jest zalezy od procesora?
Dariusz Zolna
Guest
Mon Apr 07, 2008 9:12 am
lwh pisze:
Quote:
komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc
spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na
Dałeś wystarczająco dużo czasu karcie SD na zapis ?
Może problem leży w programie obsługi SD i nie jest zalezy od procesora?
Już wszystko śmiga, problem tak jak myślałem leżał w kiepskiej jakości
połączeń. Zmyliło mnie to, że SPI i TWI oddzielnie działały bez zarzutu.
Breadboards suck!
Dariusz Żołna
Dariusz Zolna
Guest
Mon Apr 07, 2008 9:12 am
lwh pisze:
Quote:
komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc
spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na
Dałeś wystarczająco dużo czasu karcie SD na zapis ?
Może problem leży w programie obsługi SD i nie jest zalezy od procesora?
Już wszystko śmiga, problem tak jak myślałem leżał w kiepskiej jakości
połączeń. Zmyliło mnie to, że SPI i TWI oddzielnie działały bez zarzutu.
Breadboards suck!
Dariusz Żołna