Goto page 1, 2 Next
Robbo
Guest
Wed Oct 23, 2013 6:58 pm
Witam,
Tworzę układ z wykorzystaniem mikrokontrolera ATmega128. Zabrakło mi trzech
linii wejść-wyjść ogólnego przeznaczenia.
Zastanawiałem się nad rozszerzeniem liczby wejść (będą do nich podłączone,
za pośrednictwem transoptorów, sygnały z przycisków, przełączników itp).
Pomyślałem o zastosowaniu 8 albo 16-wejściowego multipleksera. Minusem jest
to, że chciałem też pod multiplekser podłączyć klawiaturę membranową, która
normalnie jest podłączona bezpośrednio pod wejścia mikrokontrolera z
podciąganiem (pull-up) -- przy multiplekserze, musiałbym wstawić 5 oporników
w celu zasilenia.
Gdybym zrezygnował z rozszerzenia liczby wejść, a skupił się na wyjściach,
to pomyślałbym o demultiplekserze, przy czym to musiałby być chyba jakiś
układ z pamięcią stanu wyjść, a takiego nie znam za bardzo.
Może ktoś podsunie jakieś inne rozwiązanie? Może jakiś układ z komunikacją
szeregową.
Pozdrawiam,
Robbo
Jakub Rakus
Guest
Wed Oct 23, 2013 7:13 pm
On 23.10.2013 20:58, Robbo wrote:
Quote:
Może ktoś podsunie jakieś inne rozwiązanie? Może jakiś układ z
komunikacją szeregową.
PCF8574
--
Pozdrawiam
Jakub Rakus
Artur Miller
Guest
Wed Oct 23, 2013 7:21 pm
On Wed, 2013-10-23 at 20:58 +0200, Robbo wrote:
Quote:
Gdybym zrezygnował z rozszerzenia liczby wejść, a skupił się na wyjściach,
to pomyślałbym o demultiplekserze, przy czym to musiałby być chyba jakiś
układ z pamięcią stanu wyjść, a takiego nie znam za bardzo.
Może ktoś podsunie jakieś inne rozwiązanie? Może jakiś układ z komunikacją
szeregową.
http://ww1.microchip.com/downloads/en/devicedoc/21952a.pdf
@
BartekK
Guest
Wed Oct 23, 2013 7:27 pm
W dniu 2013-10-23 20:58, Robbo pisze:
Quote:
Witam,
Tworzę układ z wykorzystaniem mikrokontrolera ATmega128. Zabrakło mi
trzech linii wejść-wyjść ogólnego przeznaczenia.
Zastanawiałem się nad rozszerzeniem liczby wejść (będą do nich
podłączone, za pośrednictwem transoptorów, sygnały z przycisków,
przełączników itp). Pomyślałem o zastosowaniu 8 albo 16-wejściowego
multipleksera. Minusem jest to, że chciałem też pod multiplekser
podłączyć klawiaturę membranową, która normalnie jest podłączona
bezpośrednio pod wejścia mikrokontrolera z podciąganiem (pull-up) --
przy multiplekserze, musiałbym wstawić 5 oporników w celu zasilenia.
Zamiast 5 oporników możesz wrzucić drabinkę gotową
http://www.junun.org/MarkIII/Manual/images/bigcomponents/Resistor_pack.jpg
która od razu zrobi pullup na 5/6/8/ile tam chcesz linii.
A co do podłączenia - a używasz magistrali SPI (miso/mosi/sck) do
czegoś? Jak masz wolne to może tam się podłącz prostym rejestrem
przesuwnym z zatrzaskiem, np 74hc595 jako 8 wyjść zatrzaskiwanych
(podłączony pod MOSI) oraz równocześnie 74hc165 jako wejście
zatrzaskiwane (podłączony pod MISO), SCK wspólne. Banalnie się to
konfiguruje i używa w programie.
--
| Bartłomiej Kuźniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
Adam Górski
Guest
Thu Oct 24, 2013 8:49 am
W dniu 2013-10-23 21:13, Jakub Rakus pisze:
Quote:
On 23.10.2013 20:58, Robbo wrote:
Może ktoś podsunie jakieś inne rozwiązanie? Może jakiś układ z
komunikacją szeregową.
PCF8574
Popieram. A jak trzeba dużo niezbyt szybkich portów to można dodać PCA9544.
Adam
Robbo
Guest
Thu Oct 24, 2013 12:06 pm
Mam takie pytanie. W karcie katalogowej do PCF8574 podają szybkość
taktowania magistrali max. 100kHz dla I2C. W MCP23S17 jest SPI max. 10MHz.
Poza tym drugi układ jest tańszy w TME niż ten pierwszy. Czy nie lepiej
zatem użyć MCP23S17 zamiast PCF8574?
Robbo
Piotr Gałka
Guest
Thu Oct 24, 2013 12:14 pm
Użytkownik "Robbo" <niemam@gmail.com> napisał w wiadomości
news:52690d63$0$2170$65785112@news.neostrada.pl...
Quote:
Mam takie pytanie. W karcie katalogowej do PCF8574 podają szybkość
taktowania magistrali max. 100kHz dla I2C. W MCP23S17 jest SPI max. 10MHz.
Poza tym drugi układ jest tańszy w TME niż ten pierwszy. Czy nie lepiej
zatem użyć MCP23S17 zamiast PCF8574?
Lepiej według jakiego kryterium ?
100kHz mniej sieje niż 10MHz.
P.G.
BartekK
Guest
Thu Oct 24, 2013 12:21 pm
W dniu 2013-10-24 14:14, Piotr Gałka pisze:
Quote:
Użytkownik "Robbo" <niemam@gmail.com> napisał w wiadomości
news:52690d63$0$2170$65785112@news.neostrada.pl...
Mam takie pytanie. W karcie katalogowej do PCF8574 podają szybkość
taktowania magistrali max. 100kHz dla I2C. W MCP23S17 jest SPI max.
10MHz. Poza tym drugi układ jest tańszy w TME niż ten pierwszy. Czy
nie lepiej zatem użyć MCP23S17 zamiast PCF8574?
Lepiej według jakiego kryterium ?
100kHz mniej sieje niż 10MHz.
Nic nie stoi na przeszkodzie, by SPI chodziło z dzielnikiem F_CPU/256,
czyli przy 16MHz zegara wychodzi 62,5kHz, to będzie siało jeszcze mniej.
A zawsze można pstryknąć inny bit w rejestrze i masz szybciej, jak
potrzeba.
--
| Bartłomiej Kuźniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
Robbo
Guest
Thu Oct 24, 2013 4:25 pm
Quote:
Lepiej według jakiego kryterium ?
Chodzi o szybkość transmisji.
Quote:
100kHz mniej sieje niż 10MHz.
Nie wiedziałem, że problemy z zakłóceniami są tu problemem. Ale teraz już
wiem i biorę pod uwagę.
Robbo
AK
Guest
Thu Oct 24, 2013 4:51 pm
W dniu 23.10.2013 20:58, Robbo pisze:
Quote:
multipleksera. Minusem jest to, że chciałem też pod multiplekser
podłączyć klawiaturę membranową, która normalnie jest podłączona
bezpośrednio pod wejścia mikrokontrolera z podciąganiem (pull-up) --
A nie prościej będzie podpiąć klawiaturę w układ matrycowy ?
4 kolumny x 4 wiersze i mamy obsłużone 20 klawiszy na 8 GPIO.
Pozdr
AK
Quote:
przy multiplekserze, musiałbym wstawić 5 oporników w celu zasilenia.
Gdybym zrezygnował z rozszerzenia liczby wejść, a skupił się na
wyjściach, to pomyślałbym o demultiplekserze, przy czym to musiałby być
chyba jakiś układ z pamięcią stanu wyjść, a takiego nie znam za bardzo.
Może ktoś podsunie jakieś inne rozwiązanie? Może jakiś układ z
komunikacją szeregową.
Pozdrawiam,
Robbo
Jakub Rakus
Guest
Thu Oct 24, 2013 6:40 pm
On 24.10.2013 18:25, Robbo wrote:
Quote:
Lepiej według jakiego kryterium ?
Chodzi o szybkość transmisji.
100kHz mniej sieje niż 10MHz.
Nie wiedziałem, że problemy z zakłóceniami są tu problemem. Ale teraz
już wiem i biorę pod uwagę.
Robbo
"Tu" czyli gdzie? Wszystko zależy od tego gdzie to zastosujesz, co
będzie obok, jakie długie ścieżki, jak prowadzone, jaka płytka, nawet
jaki projektant obwodu drukowanego - w jednym przypadku problemem będzie
50Hz, w innym dopiero 10GHz.
--
Pozdrawiam
Jakub Rakus
Robbo
Guest
Thu Oct 24, 2013 8:59 pm
Quote:
A nie prościej będzie podpiąć klawiaturę w układ matrycowy ?
4 kolumny x 4 wiersze i mamy obsłużone 20 klawiszy na 8 GPIO.
To jest klawiatura 4 strzałki i klawisz Enter, w sumie 5 sygnałów.
Robbo
BartekK
Guest
Thu Oct 24, 2013 9:31 pm
W dniu 2013-10-24 22:59, Robbo pisze:
Quote:
A nie prościej będzie podpiąć klawiaturę w układ matrycowy ?
4 kolumny x 4 wiersze i mamy obsłużone 20 klawiszy na 8 GPIO.
To jest klawiatura 4 strzałki i klawisz Enter, w sumie 5 sygnałów.
To może wszystkie klawisze obsługiwać na 1pinie - analogowo (kodowanie
rezystancyjne)
--
| Bartłomiej Kuźniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
sundayman
Guest
Thu Oct 24, 2013 11:00 pm
W dniu 2013-10-24 23:31, BartekK pisze:
Quote:
W dniu 2013-10-24 22:59, Robbo pisze:
A nie prościej będzie podpiąć klawiaturę w układ matrycowy ?
4 kolumny x 4 wiersze i mamy obsłużone 20 klawiszy na 8 GPIO.
To jest klawiatura 4 strzałki i klawisz Enter, w sumie 5 sygnałów.
To może wszystkie klawisze obsługiwać na 1pinie - analogowo (kodowanie
rezystancyjne)
No ale skoro brakuje Ci 3 linii, a jak rozumiem masz zajęte 5 na
klawiaturę, to zrób te klawisze w matrycy (3 linie), i już masz 2
zwolnione. A jak przemyślisz, to pewnie tą 1 też jakoś znajdziesz
Piotr GaĹka
Guest
Wed Oct 30, 2013 3:01 pm
Użytkownik "shg" <shogoonn@gmail.com> napisał w wiadomości
news:6553f10d-73fe-43f3-8eee-0eec102d001d@googlegroups.com...
Quote:
Szeregowy rezystor będzie rozpraszał energię z LC, a do tego ograniczając
szybkość narastania zmniejsza też ilość śmieci na zasilaniu (takie cuda
jak ground bounce itp.).
Z ATXmega wyprowadzałem szynę 16bit. Na wszystkich liniach dałem rezystory.
Po roku odkryłem, że w ATXmega można włączyć kontrolę stromości zboczy. No i
mam zgryza - czy te 20 rezystorów to ma sens czy są totalnie zbędne

.
P.G.
Goto page 1, 2 Next