• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Ethercard i karta SD jednocześnie
#1
Witam

Mam problem i zbytnio nie wiem jak do tego podejść, mianowicie:

Atmega328p z podłączonym ethernetem ENC28J60 i biblioteką <EtherCard.h>

MOSI<->MOSI
MISO<->MISO
SCK<->SCK
CS<->PIN10
VCC<-> + zasilacz labo 3,3V
GND<-> - zasilacz labo

Atmega zasilana z programatora przez USB +5V
Masy oczywiście połączone razem (GND usb, GND zasilacz)

Układ działa bez problemu, to znaczy pobiera adres IP z dhcp, odpowiada na pingi itd...

Natomiast gdy do pinów SPI podłączę Czytnik kart SD ethernet zamiera.

Czytnik SD podłączam tak samo jak ethernet z tym że VCC z programatora USB (czytnik ma na sobie stabilizator na 3.3) i PIN CS do PINu 9 w atmedze.

Przeczytałem że do SPI może być podłączone wiele urządzeń z tym że to z którym ma gadać atmega musi mieć pin CS w stanie LOW.

Piszę więc w kodzie że pin 10(eth) i 9(SD) mają być OUTPUT i pin 10 ma być LOW a pin 9 ma być na HIGH.
Teraz teoretycznie ethernet powinien dalej działać a SD powinna być ignorowana, natomiast nie działa nic.

Odpinam więc PIN 9 (cs od SD) i na sztywno podłączam do +5V (HIGH) a ethernet dalej leży 

Układy osobno działają bez problemu a razem nie koniecznie. Czy ktoś ma jakąś sugestię w takiej sytuacji ?



Dziękuję i pozdrawiam  Wink
 
Odpowiedź
#2
Gdy robiłeś próby w czytniku była karta SD?
 
Odpowiedź
#3
była.
 
Odpowiedź
#4
(09-12-2018, 13:16)R_Przemek napisał(a): była.

Rozumiem, że bez karty jest ok, jeśli tak, to odłącz ENC, i sprawdź próbnikiem logicznym w jakim stanie są poszczególne linie.


PS
Zakładam, że RTOS nie używasz.
 
Odpowiedź
#5
Biblioteki mogą robić konflikty ze sobą i nic nie poradzisz, albo piszesz swoje, albo szukasz innej. Na szczęście karta jest słaba (i dlatego tania - 4zł?) i bez żalu możesz ją wyrzucić do innego projektu (lub kosza). Kup sobie shielda Ethernet W5100 lub coś w ten deseń, ma w sobie czytnik kart SD i na pewno da się uruchomić to razem. Są przykłady z serwerem WWW i plikami na SD: https://botland.com.pl/pl/arduino-shield...crosd.html (jak za drogo to Allegro jest taniej, a na Aliexpress za około 5$). Sterowanie aktywnością danego podzespołu SPI powinna robić biblioteka, w kodzie co najwyżej podajesz przy inicjalizacji, który miałby to być. inaczej będzie sieczka.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#6
RTOS nie używam, mam trochę zmodyfikowany kod z przykładów EtherCard.h
Ok jest całkowicie bez czytnika, a czy jest w nim karta czy nie to bez znaczenia.

Mam jakiś gówniany analizator stanów logicznych i od 2 godzin walczę ze sterownikami do niego....
Tak więc na razie nie mam czym mierzyć.
 
Odpowiedź
#7
(09-12-2018, 16:57)R_Przemek napisał(a): Ok jest całkowicie bez czytnika, a czy jest w nim karta czy nie to bez znaczenia.
No to nie trzeba być geniuszem, ze problem robi sam czytnik. Wrzuć schemat tego czytnika na forum.
 
Odpowiedź
#8
czytnik to https://botland.com.pl/pl/akcesoria-do-k...results=99

Faktycznie może dobrym pomysłem będzie Ethernet Shield W5100. Mniej kombinowania, ciekawe czy bez problemu zapewni dostęp do SD prze ethernet Smile
 
Odpowiedź
#9
(09-12-2018, 17:37)R_Przemek napisał(a): czytnik to https://botland.com.pl/pl/akcesoria-do-k...results=99

Ładnie wygląda ale schematu nie widzę (przeczytaj moja stopkę).
Musisz sprawdzić czy bufor na czytniku działa poprawnie. Tu odsyłam do schematu przejściówki i noty katalogowej zastosowanego tam układu.
Te wszystkie bufory, konwertery, nie są potrzebne, jak używasz w całym urządzeniu logiki 3,3V. Ponadto, takie rozwiązanie (bez konwerterów) jest TAŃSZE i bardziej niezawodne.
Producenci płytek Arduino zauważyli to i można kupić UNO PLU działający na 3,3V ale....poczytaj o Fmax AVR przy 3,3V. W amatorskim zastosowaniu można przy 3,3V dać 16MHz w seryjnej produkcji.....kto poważy używa Arduino profesjonalnie?
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości