RTV forum PL | NewsGroups PL

SPI z ATmega128: Jak skonfigurować łańcuch 12 układów '595 w Bascomie?

ATmega128 i SPI

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - SPI z ATmega128: Jak skonfigurować łańcuch 12 układów '595 w Bascomie?

Mateusz Majchrzycki
Guest

Mon Nov 15, 2004 7:19 pm   



Wiem, wiem Smile Miałem czytać manuala. No i czytałem. Już cały rozdział o
SPI przeczytałem i nic Neutral
Problem wygląda tak:
mam układ w postaci łańcucha '595 (12 sztuk). Aby było łatwo,
przyjemnie i szybko chcę go zaprogramowywac poprzez SPI.
No łatwo to nie jest, przyjemnie nie wiem a czy szybko to mam nadzieje
że się kiedyś dowiem. Jakkolwiek nie spróbuję skonfigurować SPI, to mi
to ustrojstwo nie działa :/
Najpierw próbowałem poprzez klasyczną komendę Bascoma "Config SPI".
Wałkowałem ją na wszelkie sposoby (chyba) i nic. Później spróbowałem
przerobić przykład w postaci kodu asemblera z manuala. Też nic.
Już nie wiem co począć, drugi dzień się z tym męczę (wiem, dla
niektórych to mało Smile) i nie wiem co począć.
Dodam tylko że układ który ma być zaprogramowany działa, bo gdy ręcznie
podawałem stany na poszczególne linie sterujące to mi sie wszystki '595
ładnie i posłusznie ustawiały.
Za wszelką pomoc (np. w postaci działajacego kodu konfiguracji w
bascomie Razz) serdecznie dziękuję :)

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

QmX
Guest

Tue Nov 16, 2004 5:52 am   



Użytkownik "Mateusz Majchrzycki" <spam@spam.spam> napisał w wiadomości
news:Xns95A2C465AB4DDXNSMateoM@192.168.0.1...

Quote:
Problem wygląda tak:
mam układ w postaci łańcucha '595 (12 sztuk). Aby było łatwo,
przyjemnie i szybko chcę go zaprogramowywac poprzez SPI.
No łatwo to nie jest, przyjemnie nie wiem a czy szybko to mam nadzieje
że się kiedyś dowiem. Jakkolwiek nie spróbuję skonfigurować SPI, to mi
to ustrojstwo nie działa :/

Może podałbyś sposob podłączenia do ATmegi, bo tu też może być problem?

QmX.

Mateusz Majchrzycki
Guest

Tue Nov 16, 2004 11:17 pm   



Pewnego dnia QmX <kumex@interia.pl> nastukał(a):
Quote:
Może podałbyś sposob podłączenia do ATmegi, bo tu też może być
problem?

No żadne nadzwyczajne:
ATmega '595
SCK (PB1) SH_CP
MOSI (PB2) Ds
PA7 /OE
PA6 ST_CP
PA5 /MR
Liniami SCK i MOSI powinien sterować SPI, liniami PA7,6,5 steruję już
ręcznie (wykasowanie wszystkich '595 na dzień dobry oraz wyrzucenie
zawartości rejestrów '595 na wyjścia po zakończeniu transmisji).

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

QmX
Guest

Wed Nov 17, 2004 11:05 am   



Użytkownik "Mateusz Majchrzycki" <spam@spam.spam> napisał w wiadomości
news:Xns95A3E2AB1FCC4XNSMateoM@192.168.0.1...

Quote:
ATmega '595
SCK (PB1) SH_CP
MOSI (PB2) Ds
PA7 /OE
PA6 ST_CP
PA5 /MR
Liniami SCK i MOSI powinien sterować SPI, liniami PA7,6,5 steruję już
ręcznie (wykasowanie wszystkich '595 na dzień dobry oraz wyrzucenie
zawartości rejestrów '595 na wyjścia po zakończeniu transmisji).

Wygląda dobrze. :-)

Jeśli ustawiłeś SPI w tryb Master, to powinno chodzić, przynajmniej na
którymś z ustawień faz zegara.

QmX.

Mateusz Majchrzycki
Guest

Wed Nov 17, 2004 10:01 pm   



Pewnego dnia QmX <kumex@interia.pl> nastukał(a):
Quote:
Wygląda dobrze. Smile

No własnie. Wygląda, ale nie działa :/

Quote:
Jeśli ustawiłeś SPI w tryb Master, to powinno chodzić,
przynajmniej na którymś z ustawień faz zegara.

No wszystkie 4 kombinacje przetestowałem i nic :/
A czy to normalne że na linii SCK mam -0,2V a na MOSI -0,6V?

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

Marek Lewandowski
Guest

Wed Nov 17, 2004 11:33 pm   



Mateusz Majchrzycki wrote:

Quote:
No wszystkie 4 kombinacje przetestowałem i nic :/
A czy to normalne że na linii SCK mam -0,2V a na MOSI -0,6V?

wzgledem czego? masy? Skąd?
Względem Vcc to moż być...
--
Marek Lewandowski ICQ# 10139051/GG# 154441
locustXpoczta|onet|pl
http://www.stud.uni-karlsruhe.de/~uyh0
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Adam Dybkowski
Guest

Wed Nov 17, 2004 11:46 pm   



Mateusz Majchrzycki wrote:

Quote:
Jeśli ustawiłeś SPI w tryb Master, to powinno chodzić,
przynajmniej na którymś z ustawień faz zegara.

No wszystkie 4 kombinacje przetestowałem i nic :/
A czy to normalne że na linii SCK mam -0,2V a na MOSI -0,6V?

Multimetr kłamie. Sprawdź oscyloskopem.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Mateusz Majchrzycki
Guest

Thu Nov 18, 2004 10:00 pm   



Pewnego dnia Adam Dybkowski <adybkows123@amwaw.edu.pl> nastukał(a):
Quote:
No wszystkie 4 kombinacje przetestowałem i nic :/
A czy to normalne że na linii SCK mam -0,2V a na MOSI -0,6V?
Multimetr kłamie. Sprawdź oscyloskopem.

Może i kłamie, ale oscyloskopu pod ręką niestety nie mam Sad
Ale jest jeszcze jedna sprawa. Gdy na tych samych dwóch pinach (czyli
pb1 i pb2) zasymuluję sobie programowo ISP (ręczne zadawanie stanów i
zegara) to wszysto ładnie działa. Czyli porty uszkodzone nie są. Tu
jest kwestia czegoś innego... Tylko czego? :/

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

Mateusz Majchrzycki
Guest

Thu Nov 18, 2004 10:03 pm   



Pewnego dnia Marek Lewandowski <nospamabuse@onet.pl> nastukał(a):
Quote:
No wszystkie 4 kombinacje przetestowałem i nic :/
A czy to normalne że na linii SCK mam -0,2V a na MOSI -0,6V?
wzgledem czego? masy? Skąd?
Względem Vcc to moż być...

No właśnie się przyjżałem jeszcze raz i rzeczywiście, mierzyłem przez
przypadek względem Vcc. Ale to i tak nie zmienia faktu ze coś nie
działa :/
Już chyba wszystko przetestowałem i nic :/

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

QmX
Guest

Fri Nov 19, 2004 6:38 am   



Użytkownik "Mateusz Majchrzycki" <spam@spam.spam> napisał w wiadomości
news:Xns95A4DF637363CXNSMateoM@192.168.0.1...

Quote:
No wszystkie 4 kombinacje przetestowałem i nic :/
A czy to normalne że na linii SCK mam -0,2V a na MOSI -0,6V?

Interfejs SPI w ATmedze128 ma swoje "udziwnienia". Smile
Jak używasz i jak masz zdefiniowany pin PB0 (SS\)? Nieświadome użycie tego
jako wejście może zakłócać normalną pracę SPI (przewidziany do wykorzystania
w systemach wielomasterowych).
Musisz ustawić odpowiednio kierunki portów (wej./wyj.), bo samo włączenie
SPI nie wystarczy. Przykład znajdziesz w PDFie.

QmX.

Mateusz Majchrzycki
Guest

Fri Nov 19, 2004 9:47 pm   



Pewnego dnia QmX <kumex@interia.pl> nastukał(a):
Quote:
Interfejs SPI w ATmedze128 ma swoje "udziwnienia". Smile

A to ciekawe :D

Quote:
Jak używasz i jak masz zdefiniowany pin PB0 (SS\)?

Szczerze mówiąc nie mam pojęcia. Pisząc w Bascomie ejstem raczej zdany
na jego łaskę i niełaskę. Ale spróbuję jeszcze sie pobawić ze wstawkami
asemblerowymi. Moze konfiguracja przy ich pomocy coś da?

Quote:
Musisz ustawić odpowiednio kierunki portów (wej./wyj.), bo samo
włączenie SPI nie wystarczy. Przykład znajdziesz w PDFie.

No własnie kod z przykładu zerżnąłem raz (z małymi poprawkami), ale i
tak nie działało :/

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

Mateusz Majchrzycki
Guest

Sun Nov 21, 2004 5:28 pm   



Pewnego dnia Mateusz Majchrzycki <spam@spam.spam> nastukał(a):
Quote:
Za wszelką pomoc (np. w postaci działajacego kodu konfiguracji w
bascomie Razz) serdecznie dziękuję Smile

Nie wiem jak, ale w końcu zadziałało. Dla potomnych przedstawiam metode
jak to zrealizowałem (niestety bascomowe config spi nie działa):
--------kod----------
$regfile = "m128def.dat"
Config Portb = &B11110111
'Ustawiamy cały port b jako wyjście, a PB.3 (czli MISO) jako we.
Portb = &B11111000
'SCK, MOSI i /SS ustawiamy na 0, resztę n 1.
Spcr = &B01010011
'ustawiamy sobie rejestr kontrolny SPI
--------koniec-kodu------

Później aby coś wysłać robimy:
------kod--------
Spdr = do_wyslania
'do rejestru spdr zapisujemy bajt do wysłania
$asm
Wt1:
sbis Spsr,Spif
rjmp wt1
$end Asm
'i sobie czkamy na ustawienie SPIF (czyli na zakończenie transmisji)
----koniec-kodu--------

Tak się teraz zastanawiam czym to się różni od tego co robi Config Spi
:/ Moze jak sie będę nudził to porównam. Ważne że działa i to się liczy
:P

--
+-----Pozdrawiam------+------------------------+
\ Mateusz Majchrzycki \ W życiu liczą się \
\ MateoM[at]poczta.fm \ drobne przyjemności... \
+------GG#897890------+------------------------+

elektroda NewsGroups Forum Index - Elektronika Polska - SPI z ATmega128: Jak skonfigurować łańcuch 12 układów '595 w Bascomie?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map