| Author |
Message
|
adamusx Poziom 20

Joined: 28 Feb 2004 Posts: 856 Location: Poznań
|
#1
08 Oct 2007 08:55 Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
Witam.
W jaki najprostrzy sposob zrealizowac 30 dodatkowych wejsc dla
mikrokontrolera?. Myslalem nad jakimis multiplekserami, expanderami itp.. ale chyba
najprosciej bedzie wykorzystac druga ATmege np 16, ktora posiada 4 porty, co dalo by mi 32 wejscia, z czego 2 wykorzystac do przesylanida danych przez RSa do
drugiego mikrokontolera, badz przez SPI ( co prawda wowczas potrzeba 3linii, ale tez moglo by tak byc).
Czy moze jest jeszcze jakis prostrzy i tanszy spsob??
Drugie pytanko, jakie znacie przetworniki ADC 12 bitowe, ktory posiadaly by
10 wejsc lub wiecej ??
|
|
| Back to top |
|
 |
Jdsoul Poziom 18

Joined: 20 Jun 2003 Posts: 493
|
#2
08 Oct 2007 09:41 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
Wygląda to na kolejny układ "automatyki"
1. 30 wejść do czego :) ?
2. Mogą być multipleksowane , czy nie?
3. Mają pracować z TTL, czy od razu z wyższymi napięciami niż VCC.
4. Jak szybko potrzebujesz odczytywać te wejścia ;)
5. Odczyt po kolei , czy asynchronicznie. ?
6. Sterowanie wykryciem zmiany poziomu (przerwanie), czy tylko przemiatanie (pullowanie) okresowe wejść ?
7. Co będzie procesorkiem podstawowym i co ma być efektem akwizycji danych.
Podbnie z przetwornikiem AC + dodatkowe pytania.
1. Jak zamierzasz zapewnić dopasowanie impedancyjne do mierzonej wielkości analogowej (wzmacniacz operacyjny, stała rezystancja etc).
2. Jak zamierzasz uzyskać "czystość" sygnałów analogowych, tzn. oddzielenie od "cyfrowej" części toru i zasilania układów cyfrowych :)
Mniej więcej tyle pytań wymaga odpowiedzi, każdy układ rozszerzeń wejść ma swoje ograniczenia, im większe wymagania tym bliżej oddzielnego procesora lub nawet kilku niezależnych procesorów i sieci :)
Tak czy inaczej maszyna główna powinna już sporo umieć i mieć sporo zasobów.
|
|
| Back to top |
|
 |
BoskiDialer Poziom 22

Joined: 28 Nov 2003 Posts: 1533 Location: Żory
|
#3
08 Oct 2007 15:17 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
jeśli to mają być tylko wejścia ("30 dodatkowych wejsc") to poszukaj o rejestrach przesuwanych z ładowaniem... to chyba były 74x165.. 3 linie procka głównego i możesz rozszerzać sobie wejść do woli - jeden układ = 8 dodatkowych wejść, całość strobujesz jednym sygnałem a potem tylko zegarem przesuwasz wszysko do procesora - nawet można by wykorzystać SPI: sck+miso to transmisji samych danych, mosi do strobowania danych - wtedy zatrzaśnięcie danych polegało by na wysłaniu jednego bajtu z pierwszym (ostatnim, nie wiem jak by to wyglądało czasowo) bitem o przeciwnym stanie..
|
|
| Back to top |
|
 |
Google

|
#
08 Oct 2007 15:17 |
|
|
|
|
|
| Back to top |
|
 |
sq6ade Poziom 25

Joined: 12 May 2003 Posts: 6930 Location: Południowo-zachodnia Pomroczna
|
#4
08 Oct 2007 21:16 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
Proponuje:
PCF8574 - 8 lini po I2C plus przerwanie przy zmianie stanu wejść
CMOS 4094 jako 8 linii wy
CMOS 4021 jako 8 linii we
|
|
| Back to top |
|
 |
majekw Poziom 9

Joined: 05 Nov 2005 Posts: 40 Location: Wrocław
|
#5
08 Oct 2007 22:14 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
| adamusx wrote: |
W jaki najprostrzy sposob zrealizowac 30 dodatkowych wejsc dla
mikrokontrolera?.
Drugie pytanko, jakie znacie przetworniki ADC 12 bitowe, ktory posiadaly by
10 wejsc lub wiecej ?? |
To mi brzmi jak ARM7 (ADuC702x) z Analoga :D
12-16x ADC 12 bit, do 40 GPIO itp.
Może po prostu inny procek do projektu?
|
|
| Back to top |
|
 |
adamusx Poziom 20

Joined: 28 Feb 2004 Posts: 856 Location: Poznań
|
#6
08 Oct 2007 23:26 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
30 wejsć cyfrowych, a do czego to ja już wiem :). Mogą być multipleksowane,moga byc odczytywane po kolei, odczyt wejsc około 100/s, czyli w cyklu 1/100 s wszystkie 30 wejsc ma byc odczytanych.Standard oczywiscie TTL. Pozostale pytania raczej nie są istotne.
PCF8574 - tez myslalem o tym ekspanderze, ale po 1 jest dosc drogi, po 2 musialbym uzyc 4 takie układy.
Rejestry przesuwne 74x165.. - tansze, ale takze trzeba uzyc 4 sztuki...
Reasumując nadal chyba korzystniej wychodzi zastosować dodatkową ATmege16, jedna obudowa, cena podobna..jedyny minus to taki ze trzeba ja dodatkowo programowac. A może są jakies rejestry przesuwne na chociazby 16 wejsc?
Co do przetworników A/C
| Quote: |
1. Jak zamierzasz zapewnić dopasowanie impedancyjne do mierzonej wielkości analogowej (wzmacniacz operacyjny, stała rezystancja etc).
2. Jak zamierzasz uzyskać "czystość" sygnałów analogowych, tzn. oddzielenie od "cyfrowej" części toru i zasilania układów cyfrowych Smile |
1) , 2) to już moja w tym głowa :) , ja się pytam tylko o jakiś sprawdzony przetworniki.
ARM analoga jesty kuszącą propozycją, ale baza będzie zbudowana na sprawdzonym AVRku, wiec wolałbym sam przetwornik z wyjsciem I2C bądz SPI.
W każdym bądz razie dzięki za sugestie :)
|
|
| Back to top |
|
 |
Google

|
#
08 Oct 2007 23:26 |
|
|
|
|
|
| Back to top |
|
 |
majekw Poziom 9

Joined: 05 Nov 2005 Posts: 40 Location: Wrocław
|
#7
08 Oct 2007 23:55 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
Co do wejść cyfrowych, to możesz też wziąć jakiegoś małego cpld i z niego zrobić rejestr przesuwny.
|
|
| Back to top |
|
 |
Mad Bekon Poziom 19

Joined: 26 Jun 2003 Posts: 687 Location: Katowice
|
|
| Back to top |
|
 |
pawelwiniarski0 Poziom 15

Joined: 05 Sep 2005 Posts: 224 Location: Gdańsk
|
|
| Back to top |
|
 |
Jdsoul Poziom 18

Joined: 20 Jun 2003 Posts: 493
|
#10
09 Oct 2007 08:50 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
Najtaniej [0,5 do 1 PLN] 8 osiem wejść analogowo-cyfrowych :) to oczywiście nieśmiertelny multiplekser CMOS cd 4051 co przy szybkości odczytu jaką chcesz uzyskać będzie cool :) Magistrala BCD i CS dla każdego z multiplekserów :)
Jeśli chcesz częstsze przemiatanie to daj 4052 dwie sekcje po 4 wejścia :)
Na wyjściu multipleksera możesz dać albo wejście TTL albo przetwornik AC - 0-5 V.
Chyba taniej się już nieda - chociaż jeśli cię gabaryty kostki nie przerażają i może być TTL to jest kilka koderów 1 z n na BCD i temu podobnych :) np. 74151, 74154 :)
Oczywiście będzie to odczyt dynamiczny bez zatrzasku :(
Dodano po 7 [minuty]:
Po za tym rejestr przesuwny ma tą wadę że "trzeba" go "przesunąć", a multiplexer, wymaga przemiecieńcia :)
W pierwszym przypadku musisz zatrzymać przetważanie całego słowa do czasu obrotu rejestru - no bo jakoś musisz aktualizować słowo stanu wejść , a w drugim masz aktualizację stanów "dynamiczną" - jak w radarze :) :) :) z ciągłym pamiętaniem ostatniego stanu przed odczytem bit po bicie :) - prawie jak na oscyloskopie , stąd możliwość aproksymacji wyniku :) chociaż :( procedura obsługi zajmie więcej czasu , a jeszcze jedna zaleta mutileksera :) ten sam układ do wejść TTL i analog więc można zworkami sekcje przypisać itd itd :)
No ale to żaden procek :(
|
|
| Back to top |
|
 |
adamusx Poziom 20

Joined: 28 Feb 2004 Posts: 856 Location: Poznań
|
#11
09 Oct 2007 18:20 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
ATmega2560 - układzik fajny, ale cena mimo wszystko ponad 4 razy wieksza niz Atmegi 16.
Sposob z multiplekserem 4051 ok. z tym, że musiał bym dać 4 takie układy. Nie chodzi juz tyle o cene co o czas montazu itp.
Nad tym się zastanowie, tu już bym potrzebował tylko dwóch takich scalaków.
Wszystkim dzieki za pomoc!
|
|
| Back to top |
|
 |
Batmanmen Poziom 15

Joined: 21 Apr 2005 Posts: 206 Location: Gryfino
|
#12
09 Oct 2007 19:12 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
jak ktoś wyżej wspomiał porponuje CPLD. Np. XC9536, 34 I/O 10ns, koszt 9.99
|
|
| Back to top |
|
 |
adamusx Poziom 20

Joined: 28 Feb 2004 Posts: 856 Location: Poznań
|
#13
09 Oct 2007 19:48 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
Na predkosci mi nie zalezy, a za pare zl mam ATmege 16 ktora ma 32 piny, wiec rozwiazaniez CPLD odpada .
|
|
| Back to top |
|
 |
Google

|
#
09 Oct 2007 19:48 |
|
|
|
|
|
| Back to top |
|
 |
Jdsoul Poziom 18

Joined: 20 Jun 2003 Posts: 493
|
#14
10 Oct 2007 16:51 Re: Dodatkowe 30 wejśc dla mikrokontrolera |
|
|
|
WIesz jeśli chcesz używać oddzielnego procesorka do akwizycji to właściwie twoje pytanie nie ma racji bytu :)
Tak się składa że Atmegi są coraz tańsze :)
Metod zwiększenia pinów jest zawsze kilka, zaczynając od wszelkich przetworników magistrali równoległej na szeregową (rejestry równoległe przesuwające, czy rozszeracze magistrali), poprzez multipleksacje linii, na kodowaniu 1z n do BCD nawet kończąc .
Każda metoda odczytu takiej ilości wejść jest umowna i daje różne rezulataty. Mógłbyś np. zastosować jeszcze układ magistralny :)
4 szt 74LS245 przypięte do jednego portu :)
i sterowane kolejnymi strobami wejść CS
lub jeśli potrzebujesz Latcha- 74LS573 :)
Metoda fajowa bo masz na 8-bitowym porcie odczyt całych słów :) a po każdym wyłączeniu układu 245 wejścia są w stanie wysokiej impedancji :)
Naprawde dużo zależy od wyobraźni i nie zawsze oszczędność na druku i ścieżkach wychodzi na dobre :)
Dodano po 1 [minuty]:
i tylko 12 pinów z innego procka :)
Dodano po 2 [minuty]:
Fajne jest to że możesz dać płytkę główną z portem i sobie dalej rozbudowywać . No ale to wszystko już było - w końcu tak działała płyta główna z magistralą ISA :) :) :)
Dodano po 1 [minuty]:
CS tu G.
|
|
| Back to top |
|
 |