RTV forum PL | NewsGroups PL

Budowa 8-bitowej magistrali z możliwością podłączenia 16 urządzeń - czy moje założenia są poprawne?

magistrala(e)

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Budowa 8-bitowej magistrali z możliwością podłączenia 16 urządzeń - czy moje założenia są poprawne?

n_o_m_a_d
Guest

Wed Nov 17, 2004 11:17 pm   



witam

mam pytanie zwiazane z budowa magistrali
mam do dyspozycji 8-mio bitowa szyne , byc moze uda mi sie jeszcze
wygospodarowac dwie linie I/O
chce miec mozliwosc zapisywania slowa (8b) w wiecej niz jednym urzadzeniu
podlaczonym do mojej magistrali
wykombinowalem to sobie tak ze na poczatek na moja magistrale bedzie
wystawiany adres i zatrzaskiwany w zatrzasku przechowujacym dane
ten zatrzask bedzie odpowiedzialny za wybranie konkretnego urzadzenia
raczej za pomoca sygnalu CE dla kazdego z urzadzen - mozna inaczej -
wystawiac adres i tak jak w PC-cie na magistrali ISA,dekoder adresu na
karcie sprawdzi czy wystawiony na szyne adres zgadza sie z jego adresem ale
mi nie jest potrzebna taka ilosc urzadzen.Wystarczy w zupelnosci 16 sztuk
co moge zrealizowac za pomoca dekodera 4 na 16
w momencie kiedy juz zostanie ustalony adres na ta sama magistrale wystawie
dane i jak dane juz beda gotowe to zatrzasne w konkretnym ukladzie
wyjsciowym.Faze pracy mojej magistrali (adres/dane) zamierzam ustalac jedna
z dodatkowych linii I/O,zatrzasniecie danej kolejna
obie magistrale (adres/dane) przewidziane tylko jako wyjsciowe
czy w tym co sobie obmyslilem sa jakies zasadzki ?

z gory dzieki za opinie

n_o_m_a_d
Guest

Wed Nov 17, 2004 11:40 pm   



Dnia Thu, 18 Nov 2004 00:55:43 +0100, neuron napisał(a):

Quote:
Uzytkownik "n_o_m_a_d" <smieci@dla.spamerow.xx> napisal w wiadomosci
news:1cxk7lh4vr2cl$.1j0ocn1i1hqoa$.dlg@40tude.net...
witam

mam pytanie zwiazane z budowa magistrali
mam do dyspozycji 8-mio bitowa szyne , byc moze uda mi sie jeszcze
wygospodarowac dwie linie I/O
chce miec mozliwosc zapisywania slowa (8b) w wiecej niz jednym urzadzeniu
podlaczonym do mojej magistrali
wykombinowalem to sobie tak ze na poczatek na moja magistrale bedzie
wystawiany adres i zatrzaskiwany w zatrzasku przechowujacym dane
ten zatrzask bedzie odpowiedzialny za wybranie konkretnego urzadzenia
raczej za pomoca sygnalu CE dla kazdego z urzadzen - mozna inaczej -
wystawiac adres i tak jak w PC-cie na magistrali ISA,dekoder adresu na
karcie sprawdzi czy wystawiony na szyne adres zgadza sie z jego adresem
ale
mi nie jest potrzebna taka ilosc urzadzen.Wystarczy w zupelnosci 16 sztuk
co moge zrealizowac za pomoca dekodera 4 na 16
w momencie kiedy juz zostanie ustalony adres na ta sama magistrale
wystawie
dane i jak dane juz beda gotowe to zatrzasne w konkretnym ukladzie
wyjsciowym.Faze pracy mojej magistrali (adres/dane) zamierzam ustalac
jedna
z dodatkowych linii I/O,zatrzasniecie danej kolejna
obie magistrale (adres/dane) przewidziane tylko jako wyjsciowe
czy w tym co sobie obmyslilem sa jakies zasadzki ?

z gory dzieki za opinie

Kiedys produkowalem taki sterownik z kilku pakietow i/o - magistrala to bylo
8 linii i od razu
8 linii adresowych (razem z zasilaniem tasiemka 20 z zaciskanymi wtykami). a
na pakiecie bylk przelacznik wybierajacy linie. Calym ''sterownikiem''
magistarali byl ls345 i ls138
a na pakietach zatrzaski 573 / 574. Chodzilo toto w maszynach i nie bylo
problemow.
Tyle ze odczyt/zapis we/wy odbywal sie cyklicznie non stop tak wiec jesli by
nawet zatrzasnieta
zostala jakas lewa wartosc na wyjscia to po kilku milisekundach byla
zastepowana nowa.
Jednak gdybym dzisiaj mial to zrobic od nowa to zastosowalbym magistrale
szeregowe - lancuchy
rejestrow szeregowo / rownoleglych lub ekspandery i2c

szeregowe to pewnie ze wzgledu na ilosc sciezek,rozmiary polaczen miedzy
plytkami
jakies inne powody?
mi na przyklad szeregowa magistrala nie pasuje bo jak chce zmienic jeden
bit w slowie to zmienie ten jeden bit a w magistrali szeregowej musze
wepchnac wszystkie osiem,jak nie mam odczytu stanu wyjscia a program gdzies
zawiedzie i nie bedzie wiedzial w jakim stanie sa wyjscia to sie moze
calosc rozjechac
dobrze mysle ?

neuron
Guest

Wed Nov 17, 2004 11:55 pm   



Uzytkownik "n_o_m_a_d" <smieci@dla.spamerow.xx> napisal w wiadomosci
news:1cxk7lh4vr2cl$.1j0ocn1i1hqoa$.dlg@40tude.net...
Quote:
witam

mam pytanie zwiazane z budowa magistrali
mam do dyspozycji 8-mio bitowa szyne , byc moze uda mi sie jeszcze
wygospodarowac dwie linie I/O
chce miec mozliwosc zapisywania slowa (8b) w wiecej niz jednym urzadzeniu
podlaczonym do mojej magistrali
wykombinowalem to sobie tak ze na poczatek na moja magistrale bedzie
wystawiany adres i zatrzaskiwany w zatrzasku przechowujacym dane
ten zatrzask bedzie odpowiedzialny za wybranie konkretnego urzadzenia
raczej za pomoca sygnalu CE dla kazdego z urzadzen - mozna inaczej -
wystawiac adres i tak jak w PC-cie na magistrali ISA,dekoder adresu na
karcie sprawdzi czy wystawiony na szyne adres zgadza sie z jego adresem
ale
mi nie jest potrzebna taka ilosc urzadzen.Wystarczy w zupelnosci 16 sztuk
co moge zrealizowac za pomoca dekodera 4 na 16
w momencie kiedy juz zostanie ustalony adres na ta sama magistrale
wystawie
dane i jak dane juz beda gotowe to zatrzasne w konkretnym ukladzie
wyjsciowym.Faze pracy mojej magistrali (adres/dane) zamierzam ustalac
jedna
z dodatkowych linii I/O,zatrzasniecie danej kolejna
obie magistrale (adres/dane) przewidziane tylko jako wyjsciowe
czy w tym co sobie obmyslilem sa jakies zasadzki ?

z gory dzieki za opinie

Kiedys produkowalem taki sterownik z kilku pakietow i/o - magistrala to bylo
8 linii i od razu
8 linii adresowych (razem z zasilaniem tasiemka 20 z zaciskanymi wtykami). a
na pakiecie bylk przelacznik wybierajacy linie. Calym ''sterownikiem''
magistarali byl ls345 i ls138
a na pakietach zatrzaski 573 / 574. Chodzilo toto w maszynach i nie bylo
problemow.
Tyle ze odczyt/zapis we/wy odbywal sie cyklicznie non stop tak wiec jesli by
nawet zatrzasnieta
zostala jakas lewa wartosc na wyjscia to po kilku milisekundach byla
zastepowana nowa.
Jednak gdybym dzisiaj mial to zrobic od nowa to zastosowalbym magistrale
szeregowe - lancuchy
rejestrow szeregowo / rownoleglych lub ekspandery i2c

wojtek
www.neuron.com.pl

n_o_m_a_d
Guest

Thu Nov 18, 2004 12:12 am   



Dnia Thu, 18 Nov 2004 01:20:31 +0100, neuron napisał(a):

[...]
Quote:

Nie wiem co ma byc podwieszone na tej twojej magistrali - u mnie byly to
wejscia 24v i wyjscia przekaznikowae -a wszystko dzialao w nienajlepszych
warunkach dlatego ZAWSZE NON STOP
czytalem/pislaem stan we/wy pakietow do ich odpowiednikow w ramie a wlasciwy
program operowal na virtualnych bitach. Dodatkowo bity wejsciowe byly
filtorwane na okolicznosc jakichs smieci. Jesli
w wyniku zaklucenia jakis pakiet wyjsciowy ''zlapal'' jakas wartosc to
natychmiast zostala ona zastapiona nowo poprawna wartoscia zanim przekaznik
wogole pomyslal zeby ruszyc kotfice :)

Tak wiec daj magistrale szeregowa procedury czytaj_wszystko i pisz_wszystko,
podepnij je pod jakis zegar a ty bedziesz sobie manipulowal bajtami w ramie
Smile
wojtek
www.neuron.com.pl

widze ze wszystko idzie jednak w strone magistrali szeregowej
juz teraz wiem ze bede musial sie zmiescic na 8-miu a nie 10-ciu bitach
czyli z adresami jeszcze mi wyjdzie bez problemu ale dane bede juz ladowal
"na dwa razy"
zastanawiam sie nad zmiana calego pomyslu do gory nogami - jeszcze moge
calosc bedzie podwieszona na szyne ukladu ft245 a ft245 wpiety w USB
stad sie biora moje ograniczenia rozmiaru szyny
teraz widze ze mozna bylo calosc zrobic jeszcze inaczej zamiast ft245 kupic
ft232 pod port szeregowy podlaczyc jakis uP ktory by sie zajmowal
czytaniem/pisaniem z portow
juz jego zmartwieniem by bylo co i jak pisac albo co skad czytac
wtedy pecet gadal by z uP i zlecal jakies rzeczy do zrobienia
huh
calosc zaczyna sie komplikowac Smile

neuron
Guest

Thu Nov 18, 2004 12:20 am   



Quote:
szeregowe to pewnie ze wzgledu na ilosc sciezek,rozmiary polaczen miedzy
plytkami
jakies inne powody?
mi na przyklad szeregowa magistrala nie pasuje bo jak chce zmienic jeden
bit w slowie to zmienie ten jeden bit a w magistrali szeregowej musze
wepchnac wszystkie osiem,jak nie mam odczytu stanu wyjscia a program
gdzies
zawiedzie i nie bedzie wiedzial w jakim stanie sa wyjscia to sie moze
calosc rozjechac
dobrze mysle ?

Nie wiem co ma byc podwieszone na tej twojej magistrali - u mnie byly to
wejscia 24v i wyjscia przekaznikowae -a wszystko dzialao w nienajlepszych
warunkach dlatego ZAWSZE NON STOP
czytalem/pislaem stan we/wy pakietow do ich odpowiednikow w ramie a wlasciwy
program operowal na virtualnych bitach. Dodatkowo bity wejsciowe byly
filtorwane na okolicznosc jakichs smieci. Jesli
w wyniku zaklucenia jakis pakiet wyjsciowy ''zlapal'' jakas wartosc to
natychmiast zostala ona zastapiona nowo poprawna wartoscia zanim przekaznik
wogole pomyslal zeby ruszyc kotfice :)

Tak wiec daj magistrale szeregowa procedury czytaj_wszystko i pisz_wszystko,
podepnij je pod jakis zegar a ty bedziesz sobie manipulowal bajtami w ramie
Smile
wojtek
www.neuron.com.pl

T.M.F.
Guest

Thu Nov 18, 2004 9:41 am   



Quote:
widze ze wszystko idzie jednak w strone magistrali szeregowej
juz teraz wiem ze bede musial sie zmiescic na 8-miu a nie 10-ciu bitach
czyli z adresami jeszcze mi wyjdzie bez problemu ale dane bede juz ladowal
"na dwa razy"

Taki pomysl jak podales jest dosyc marny, bo co bedzie jesli ci sie
rozjedzie synchronizacja pomiedzy bajtem adresu i danych? Musialbys to
tak sprytnie obmyslec, zeby ten protokol sie sam synchronizowal i np. po
serii bezsensownych danych wracal to stanu prawidlowego.
Naspisz jakiej predkosci oczekujesz?
Mo moze prosciej to rzeczywiscie zrobic dajac po obu stronach jakies
male procki (cos w stylu ATTiny) konwertujace rownolegle podawane dane
na postac szeregowa i z drugiej strony odwrotnie. Czyli dla twojej
aplikacji istnienie szeregowego interfejsu byloby zupelnie
przezroczyste. Dodatkowo procki moglyby korzystac z bardziej
zaawansowanego protokolu i jakiejs kontroli bledow. A wystawienie przez
nie CE do aktywacji modulu to juz no problem.
Alternatywa moze byc zaprogramowanie jakiegos CPLD specjalnie do tego celu.

elektroda NewsGroups Forum Index - Elektronika Polska - Budowa 8-bitowej magistrali z możliwością podłączenia 16 urządzeń - czy moje założenia są poprawne?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map