Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 25 lut 2025, o 08:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 8 gru 2014, o 22:09 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Szanowni Panowie mam taki kolejny mały problem.

Otóż z pomocą bluebooka chciałem zaprzęgnąć kartę sieciową na ENC28J60 do współpracy z moim sterownikiem. Problem pojawił się już na wstępie z komunikacją po SPI (w sumie pierwsza moja próba z komunikacją czegokolwiek po SPI). W sumie robiłem wszystko krok po kroku jak w książce (biblioteki z tuxgraphics.org), lecz zmieniłem trochę plik enc28j60.c Wstawiam oryginalny plik ze stronki:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A to moje modyfikacje na potrzeby ATmegi32 i linii CS podpiętej do pinu PD0:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oraz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W każdym razie karta sieciowa nie komunikuje się z prockiem, więc bardzo Was proszę i naprowadzenie mnie gdzie robię jakąś gafę.

Dopasowanie sygnałów na podstawie schematu w książce na 74AC125D. Schemat:

Obrazek

uC taktowany zewnętrznym kwarcem 16MHz, połączenia sprawdzone.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2014, o 14:11 
Offline
Użytkownik

Dołączył(a): 29 wrz 2014
Posty: 28
Pomógł: 5

Ja u siebie mam moduł karty sieciowej podłączony pod atmegę bezpośrednio bez żadnych buforów(używam modułu do arduino, który ma wyprowadzone gotowe piny pod atmegę). Co do przeróbek programu robisz zasadniczy błąd. Niepotrzebnie dopisujesz kolejne linijki definicji preprocesora. Zauważ, że piny interfejsu SPI są takie same jak przy twojej atmedze i atmedze 644, która jest już zdefiniowana w programie. Więc zamiast tej linijki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Powinieneś wpisać takie coś:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dzięki temu kompilator sam wykryje jaki masz podpięty procesor i odpowiednio Twój program zdefiniuje piny.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 gru 2014, o 12:38 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Na wstępie przepraszam, że dopiero teraz odpisuję...

Ale jeszcze raz przedstawię problem. Zacząłem mieszać ponieważ chciałbym, aby w moim projekcie linia CS od karty sieciowej była podpięta pod pin PD0 uC. Stąd moje kombinacje...

Jeśli chodzi o podpięcie się pod pin SS ATmegi to komunikacja między kartą a uC działa bez zarzutu. Natomiast problem pojawił się gdy CS zamiast pod PB4 miałby być podpięty pod PD0 (chyba da się?).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 gru 2014, o 13:34 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Wszedłeś na znaną (ale często zapominaną) minę z pinem SS (nie ty pierwszy, jeśli to cię pocieszy ;-)) Możesz oczywiście jako CS użyć innego pinu ale niestety nie możesz zostawić pinu SS samopas. Trzeba go, o ile dobrze pamiętam, ustawić jako wyjście albo zostawiając jako wejście zapewnić na nim stan HIGH. Zapoznaj się z rozdziałem w dataszicie pt. "Pin SS in master mode", czy jakoś tak.


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 gru 2014, o 20:53 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Problem jest na tyle złożony, że układ zmontowany. To ma być "bajer" to sterownika parametrów klimatu. Jednak zależy mi, żeby to hasało. (jeśli się da)

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 gru 2014, o 21:24 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Rozumiem, że wykorzystujesz SS jako wejście? No to chyba nie unikniesz przeróbki płytki. Gdyby to był jakiś mniej wymagający moduł to można by zastosować software SPI, ale ten ethernet, zdaje się, wymaga maksymalnej szybkości SPI. Nie chce Cię wprowadzać w błąd, bo nie używalem tego modulu ale z tego co czytałem, choćby na tym forum, wolny interfejs powoduje jakieś zwisy.


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 gru 2014, o 22:05 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Z Twojego postu wynika że można uderzyć z inna kartą ??

Kurczę jak nie zaradzimy z softem co by ogarnąć CS na PD0 to się dosiądę jutro do lutownicy i postaram się wywalić CS na SS ATmegi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 gru 2014, o 01:23 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

jacky_cy napisał(a):
postaram się wywalić CS na SS

Nie nie, trochę inaczej: nie musisz koniecznie używać tego pinu do sterowania modułem, wystarczy, że w czasie komunikacji z modułem na pinie SS będzie utrzymany stan wysoki. Tylko na czas transmisji, potem może sobie być jakikolwiek. Albo alternatywnie pin musi działać jako wyjście, wtedy już całkiem bez znaczenia co tam jest podłączone (niekoniecznie musi to być moduł eth) i jaki jest stan.
A co do innego ethernetu to niestety nie mogę pomóc, musisz pytać...


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2014, o 16:57 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

PIN SS jako wyjście i załatwione! Dzięki :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2015, o 16:14 
Offline
Użytkownik

Dołączył(a): 27 maja 2014
Posty: 75
Pomógł: 0

Koledzy,

Pozwolę sobie powrócić do tematu... Więc swego czasu było już ok komunikacja ze sterownikiem po sieci działała...
Aż tu nagle... Więc wgrałem sobie programik serwera http z BB i okazuje się, że połączenie raz działa raz nie działa.
Obrazek
Zdarza się, że wyślę pinga do układu i na załączony obrazku widać, że odpowiedz idzie. Za drugim razem wyślę pinga... brak odpowiedzi. Dodam tylko, że połączenia na płytce sprawdzone. Czy ktoś z Was miał kiedyś podobny problem ?


Bardzo proszę o pomoc, bo zatruwa mi to kolejny dzień :x



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO