RTV forum PL | NewsGroups PL

Wykrywanie błędów w połączeniach układów PCA9555: testowanie I2C i metoda przesuwanej jedynki

Test połączeń pomiędzy układami

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Wykrywanie błędów w połączeniach układów PCA9555: testowanie I2C i metoda przesuwanej jedynki

Goto page 1, 2  Next

Marek
Guest

Wed Jan 16, 2013 8:20 am   



Witajcie.
Mam do napisania program testujacy połączenia pomiędzy portami dwóch układów
scalonych PCA9555. Układy te posiadają 2 porty 8-bitowe in/out konfigurowane
i sterowane po I2C. Jeden układ ma skonfigurowane swoje porty jako wyjście, drugi
jako wejscie. Test połączeń (wykrywanie przerw w połączeniach pomiędzy U1 i U2,
zwarć pomiędzy połaczeniami, zwarć do masy, itd.) polega na ustawieniu na portach
wyjsciowych układu U1 określonych stanów i sprawdzania ich na portach wejściowych
układu U2. Tak to wygląda:

U1 U2
Out In
[]------>P0>-----[]
[]------>P1>-----[]
[]------>P2>-----[]
[]------>P3>-----[]
[]------>P4>-----[]
[]------>P5>-----[]
[]------>P6>-----[]
[]------>P7>-----[]

Testuję w następujący sposób: w układzie U1 ustawiam na jego pierwszym pinie
wyjściowym P0 stan 1, a na pozostałych P1..P7 same 0 i sprawdzam, czy na pinie
wejściowym P0 układu U2 jest też 1, a na pozostałych 0. W następnym kroku testu
wystawiam 1 tylko na P1, a na P0 i P2..P7 ustawiam 0 i sprawdzam, czy tylko na
pinie P1 układu U2 jest 1, a na pozostałych 0. Ogólnie mówiąc, test polega na
przesuwaniu jedynki na kolejnych pinach.
Pytania:
1.Czy test ten jest wystarczający, żeby wykryć wszelkie błędy w połączeniach?
2.Czy jest konieczne zrobienie dodatkowego testu polegającego na przesuwaniu
nie jedynki, a zera (zero zawsze jest tylko na jednym pinie, na pozostałych 1) ?
3.Czy jest sens zrobienie dodatkowego testu polegajacego na jednoczesnym
wystawieniu jedynki na wszystkich portach wyjściowych U1 i sprawdzeniu, czy na
wszystkich portach wejściowych U2 są też jedynki?
4. Analogicznie czy jest sens testu z zerami na wszystkich portach?

Moim zdaniem, test z przesuwającą się jedynką jest wystarczający, może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z przesuwanym zerem.

--
Pzdr.
Marek

Marek
Guest

Wed Jan 16, 2013 8:48 am   



On Wed, 16 Jan 2013 08:20:04 +0100, "Marek" <trele@fele.kuku.pl>
wrote:
Quote:
Moim zdaniem, test z przesuwającą się jedynką jest wystarczający,
może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym
błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z
przesuwanym zerem.


Czy to jest zadanie akademickie czy opracowujesz metodę do
wykrywania błędów pol.?
Jeśli akademickie, to ja bym zadał pytanie inaczej: czy trzeba aż 8
kroków testu z przesuwana jedynką (zerem) czy błąd można wykryć
szybciej i prościej ?

--
Marek

Jacek
Guest

Wed Jan 16, 2013 8:53 am   



Dnia Wed, 16 Jan 2013 08:48:52 +0100, Marek napisał(a):

Quote:
On Wed, 16 Jan 2013 08:20:04 +0100, "Marek" <trele@fele.kuku.pl
wrote:
Moim zdaniem, test z przesuwającą się jedynką jest wystarczający,
może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym
błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z
przesuwanym zerem.

Czy to jest zadanie akademickie czy opracowujesz metodę do
wykrywania błędów pol.?
Jeśli akademickie, to ja bym zadał pytanie inaczej: czy trzeba aż 8
kroków testu z przesuwana jedynką (zerem) czy błąd można wykryć
szybciej i prościej ?

Wystarczą 2 kroki: 00 i FF.

Michał Lankosz
Guest

Wed Jan 16, 2013 9:37 am   



W dniu 2013-01-16 08:53, Jacek pisze:
Quote:

Wystarczą 2 kroki: 00 i FF.


Nie wykryjesz zwarć między liniami.

Michał

Marek
Guest

Wed Jan 16, 2013 10:03 am   



Użytkownik "Marek" <fake@fakeemail.com> napisał w wiadomości news:almarsoft.5000092188230889566@news.neostrada.pl...
Quote:
On Wed, 16 Jan 2013 08:20:04 +0100, "Marek" <trele@fele.kuku.pl> wrote:
Moim zdaniem, test z przesuwającą się jedynką jest wystarczający,
może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym
błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z
przesuwanym zerem.

Czy to jest zadanie akademickie czy opracowujesz metodę do wykrywania błędów pol.?

Sam opracowuję metodę testu.

--
Pzdr.
Marek

Marek
Guest

Wed Jan 16, 2013 10:06 am   



Użytkownik "Jacek" <ala@ola.pl> napisał w wiadomości news:1ubmn76m1aa7n.1angcu03zdghk.dlg@40tude.net...
Quote:
Dnia Wed, 16 Jan 2013 08:48:52 +0100, Marek napisał(a):

On Wed, 16 Jan 2013 08:20:04 +0100, "Marek" <trele@fele.kuku.pl
wrote:
Moim zdaniem, test z przesuwającą się jedynką jest wystarczający,
może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym
błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z
przesuwanym zerem.

Czy to jest zadanie akademickie czy opracowujesz metodę do
wykrywania błędów pol.?
Jeśli akademickie, to ja bym zadał pytanie inaczej: czy trzeba aż 8
kroków testu z przesuwana jedynką (zerem) czy błąd można wykryć
szybciej i prościej ?

Wystarczą 2 kroki: 00 i FF.

Udowodnij, że wszystkie nieprawidłowości (brak połączenia, zwarcie pomiędzy
liniami, zwarcie linii do masy, itd.) jesteś w stanie wykryć w ten sposób.

--
Pzdr.
Marek

Elektrolot
Guest

Wed Jan 16, 2013 10:12 am   



W dniu 2013-01-16 10:06, Marek pisze:
Quote:

Użytkownik "Jacek" <ala@ola.pl> napisał w wiadomości news:1ubmn76m1aa7n.1angcu03zdghk.dlg@40tude.net...
Dnia Wed, 16 Jan 2013 08:48:52 +0100, Marek napisał(a):

On Wed, 16 Jan 2013 08:20:04 +0100, "Marek" <trele@fele.kuku.pl
wrote:
Moim zdaniem, test z przesuwającą się jedynką jest wystarczający,
może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym
błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z
przesuwanym zerem.

Czy to jest zadanie akademickie czy opracowujesz metodę do
wykrywania błędów pol.?
Jeśli akademickie, to ja bym zadał pytanie inaczej: czy trzeba aż 8
kroków testu z przesuwana jedynką (zerem) czy błąd można wykryć
szybciej i prościej ?

Wystarczą 2 kroki: 00 i FF.

Udowodnij, że wszystkie nieprawidłowości (brak połączenia, zwarcie pomiędzy
liniami, zwarcie linii do masy, itd.) jesteś w stanie wykryć w ten sposób.

Tu nie ma co udowadniać. Tak jak napisał Michał. Wystarczy zwarcie między liniami i ten test jest do
niczego.

Cezar
Guest

Wed Jan 16, 2013 10:42 am   



Popatrz jak działają testery CAT5.

c.

yabba
Guest

Wed Jan 16, 2013 11:14 am   



Użytkownik "Marek" <trele@fele.kuku.pl> napisał w wiadomości
news:kd5kao$sgb$1@news.task.gda.pl...
Quote:
Witajcie.
Mam do napisania program testujacy połączenia pomiędzy portami dwóch
układów
scalonych PCA9555. Układy te posiadają 2 porty 8-bitowe in/out
konfigurowane
i sterowane po I2C. Jeden układ ma skonfigurowane swoje porty jako
wyjście, drugi
jako wejscie. Test połączeń (wykrywanie przerw w połączeniach pomiędzy U1
i U2,
zwarć pomiędzy połaczeniami, zwarć do masy, itd.) polega na ustawieniu na
portach
wyjsciowych układu U1 określonych stanów i sprawdzania ich na portach
wejściowych
układu U2. Tak to wygląda:

U1 U2
Out In
[]------>P0>-----[]
[]------>P1>-----[]
[]------>P2>-----[]
[]------>P3>-----[]
[]------>P4>-----[]
[]------>P5>-----[]
[]------>P6>-----[]
[]------>P7>-----[]

Testuję w następujący sposób: w układzie U1 ustawiam na jego pierwszym
pinie
wyjściowym P0 stan 1, a na pozostałych P1..P7 same 0 i sprawdzam, czy na
pinie
wejściowym P0 układu U2 jest też 1, a na pozostałych 0. W następnym kroku
testu
wystawiam 1 tylko na P1, a na P0 i P2..P7 ustawiam 0 i sprawdzam, czy
tylko na
pinie P1 układu U2 jest 1, a na pozostałych 0. Ogólnie mówiąc, test polega
na
przesuwaniu jedynki na kolejnych pinach.
Pytania:
1.Czy test ten jest wystarczający, żeby wykryć wszelkie błędy w
połączeniach?
2.Czy jest konieczne zrobienie dodatkowego testu polegającego na
przesuwaniu
nie jedynki, a zera (zero zawsze jest tylko na jednym pinie, na
pozostałych 1) ?
3.Czy jest sens zrobienie dodatkowego testu polegajacego na jednoczesnym
wystawieniu jedynki na wszystkich portach wyjściowych U1 i sprawdzeniu,
czy na
wszystkich portach wejściowych U2 są też jedynki?
4. Analogicznie czy jest sens testu z zerami na wszystkich portach?

Moim zdaniem, test z przesuwającą się jedynką jest wystarczający, może się
mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym błędem,
którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z przesuwanym
zerem.



Jeśli przyjmiemy założenie, że połączenie jest wykonane zwykłym przewodem i
nie występują w połączeniu zjawiska nieliniowe (spowodowane np. korozją
styków, upływnościami itp.), to przesuwanie "1" jest IMHO wystarczające.


--
Pozdrawiam,

yabba

Marek
Guest

Wed Jan 16, 2013 11:34 am   



Użytkownik "Elektrolot" <elektrolotNOSPAM@NOSPAMwp.pl> napisał w wiadomości
news:50f66ee6$0$1221$65785112@news.neostrada.pl...
Quote:
W dniu 2013-01-16 10:06, Marek pisze:

Użytkownik "Jacek" <ala@ola.pl> napisał w wiadomości news:1ubmn76m1aa7n.1angcu03zdghk.dlg@40tude.net...
Dnia Wed, 16 Jan 2013 08:48:52 +0100, Marek napisał(a):

On Wed, 16 Jan 2013 08:20:04 +0100, "Marek" <trele@fele.kuku.pl
wrote:
Moim zdaniem, test z przesuwającą się jedynką jest wystarczający,
może się mylę.
Jeśli tak, to proszę uzasadnij swoje odmienne zdanie przykładowym
błędem, którego
test z przesuwaną jedynką nie wykryje, a wykryje np. test z
przesuwanym zerem.

Czy to jest zadanie akademickie czy opracowujesz metodę do
wykrywania błędów pol.?
Jeśli akademickie, to ja bym zadał pytanie inaczej: czy trzeba aż 8
kroków testu z przesuwana jedynką (zerem) czy błąd można wykryć
szybciej i prościej ?

Wystarczą 2 kroki: 00 i FF.

Udowodnij, że wszystkie nieprawidłowości (brak połączenia, zwarcie pomiędzy
liniami, zwarcie linii do masy, itd.) jesteś w stanie wykryć w ten sposób.

Tu nie ma co udowadniać. Tak jak napisał Michał.

Jaki Michał??

Quote:
Wystarczy zwarcie między liniami i ten test jest do niczego.

Też tak myślę, stąd moja prośba do Jacka o udowodnienie, że taki test
(2 kroki: 00 i FF) wystarczy.

--
Pzdr.
Marek

Elektrolot
Guest

Wed Jan 16, 2013 11:47 am   



W dniu 2013-01-16 11:34, Marek pisze:
Quote:
Tu nie ma co udowadniać. Tak jak napisał Michał.

Jaki Michał??

Michał Lankosz. Patrz kilka wpisów wyżej.

Marek
Guest

Wed Jan 16, 2013 12:03 pm   



Użytkownik "Elektrolot" <elektrolotNOSPAM@NOSPAMwp.pl> napisał w wiadomości
news:50f6853d$0$1313$65785112@news.neostrada.pl...
Quote:
W dniu 2013-01-16 11:34, Marek pisze:
Tu nie ma co udowadniać. Tak jak napisał Michał.

Jaki Michał??

Michał Lankosz. Patrz kilka wpisów wyżej.

U mnie w OE (news.task.gda.pl) w tym wątku nie widzę postu żadnego Michała, ale jak sprawdziłem
ten wątek na tej grupie na Google, to faktycznie jest post Michała Very Happy
Widocznie są lagi między serwerami grup.

--
Pzdr.
Marek

Elektrolot
Guest

Wed Jan 16, 2013 12:16 pm   



W dniu 2013-01-16 11:22, Stachu Chebel pisze:
Quote:
Masz następujące przypadki:

1) Połączenie jest OK
2) Przerwa w połączeniu
3) Zwarcie do VCC
4) Zwarcie do GND
5) Zwarcie pomiędzy liniami

Testując metodą zerojedynkową 2 i 3 mogą dać ten sam wynik. Może też
się zdarzyć, że 2 i 4 dadzą ten sam wynik. 1 i 5 na pojedyńczym bicie
też mogą dawać te same rezultaty. Ale to da się wyczaić testując
wszystkie możliwe kombinacje 2-ch bitów podając na port różne wartości
bitów.
Wniosek: 2,3 i 4 w Twoim testerze mogą być nierozróżnialne.

Kompletnie się nie zgadzam. Przesuwanie jedynki i testowanie wszystkich bitów jest jak najbardziej
wystarczające.
Jesteś w stanie podać chociaż jeden przykład, kiedy taki test będzie niepoprawny?

Stachu Chebel
Guest

Wed Jan 16, 2013 12:22 pm   



Marek napisał(a):
Quote:
Witajcie.
Mam do napisania program testujacy po��czenia pomi�dzy portami dw�ch uk�ad�w
scalonych PCA9555. Uk�ady te posiadaj� 2 porty 8-bitowe in/out konfigurowane
i sterowane po I2C. Jeden uk�ad ma skonfigurowane swoje porty jako wyj�cie, drugi
jako wejscie. Test po��cze� (wykrywanie przerw w po��czeniach pomi�dzy U1 i U2,
zwar� pomi�dzy po�aczeniami, zwar� do masy, itd.) polega na ustawieniu na portach
wyjsciowych uk�adu U1 okre�lonych stan�w i sprawdzania ich na portach wej�ciowych
uk�adu U2. Tak to wygl�da:

U1 U2
Out In
[]------>P0>-----[]
[]------>P1>-----[]
[]------>P2>-----[]
[]------>P3>-----[]
[]------>P4>-----[]
[]------>P5>-----[]
[]------>P6>-----[]
[]------>P7>-----[]

Testuj� w nast�puj�cy spos�b: w uk�adzie U1 ustawiam na jego pierwszym pinie
wyj�ciowym P0 stan 1, a na pozosta�ych P1..P7 same 0 i sprawdzam, czy na pinie
wej�ciowym P0 uk�adu U2 jest te� 1, a na pozosta�ych 0. W nast�pnym kroku testu
wystawiam 1 tylko na P1, a na P0 i P2..P7 ustawiam 0 i sprawdzam, czy tylko na
pinie P1 uk�adu U2 jest 1, a na pozosta�ych 0. Og�lnie m�wi�c, test polega na
przesuwaniu jedynki na kolejnych pinach.
Pytania:
1.Czy test ten jest wystarczaj�cy, �eby wykry� wszelkie b��dy w po��czeniach?
2.Czy jest konieczne zrobienie dodatkowego testu polegaj�cego na przesuwaniu
nie jedynki, a zera (zero zawsze jest tylko na jednym pinie, na pozosta�ych 1) ?
3.Czy jest sens zrobienie dodatkowego testu polegajacego na jednoczesnym
wystawieniu jedynki na wszystkich portach wyj�ciowych U1 i sprawdzeniu, czy na
wszystkich portach wej�ciowych U2 s� te� jedynki?
4. Analogicznie czy jest sens testu z zerami na wszystkich portach?

Moim zdaniem, test z przesuwaj�c� si� jedynk� jest wystarczaj�cy, mo�e si� myl�.
Je�li tak, to prosz� uzasadnij swoje odmienne zdanie przyk�adowym b��dem, kt�rego
test z przesuwanďż˝ jedynkďż˝ nie wykryje, a wykryje np. test z przesuwanym zerem.


Masz następujące przypadki:

1) Połączenie jest OK
2) Przerwa w połączeniu
3) Zwarcie do VCC
4) Zwarcie do GND
5) Zwarcie pomiędzy liniami

Testując metodą zerojedynkową 2 i 3 mogą dać ten sam wynik. Może też
się zdarzyć, że 2 i 4 dadzą ten sam wynik. 1 i 5 na pojedyńczym bicie
też mogą dawać te same rezultaty. Ale to da się wyczaić testując
wszystkie możliwe kombinacje 2-ch bitów podając na port różne wartości
bitów.
Wniosek: 2,3 i 4 w Twoim testerze mogą być nierozróżnialne.

Marek
Guest

Wed Jan 16, 2013 1:11 pm   



Użytkownik "Stachu Chebel" <stchebel@gmail.com> napisał w wiadomości
news:dd688333-abc2-42d7-847c-49c810451a97@c16g2000yqi.googlegroups.com...
On 16 Sty, 12:16, Elektrolot <elektrolotNOS...@NOSPAMwp.pl> wrote:
Quote:
W dniu 2013-01-16 11:22, Stachu Chebel pisze:

Masz następujące przypadki:

1) Połączenie jest OK
2) Przerwa w połączeniu
3) Zwarcie do VCC
4) Zwarcie do GND
5) Zwarcie pomiędzy liniami

Testując metodą zerojedynkową 2 i 3 mogą dać ten sam wynik. Może też
się zdarzyć, że 2 i 4 dadzą ten sam wynik. 1 i 5 na pojedyńczym bicie
też mogą dawać te same rezultaty. Ale to da się wyczaić testując
wszystkie możliwe kombinacje 2-ch bitów podając na port różne wartości
bitów.
Wniosek: 2,3 i 4 w Twoim testerze mogą być nierozróżnialne.

Kompletnie się nie zgadzam. Przesuwanie jedynki i testowanie wszystkich bitów jest jak najbardziej
wystarczające.
Jesteś w stanie podać chociaż jeden przykład, kiedy taki test będzie niepoprawny?

Przypadek 5: Dajesz na n-ty bit "0", następnie "1" podczas gdy na
bicie n+1 z którym jest zwarty jest podane "0".
Na odczycie zawsze w takim przypadku masz "0". Pytanie: czy bit n jest
zwarty z bitem n+1, czy bit n jest zwarty do GND?

W następnym kroku stwierdzisz jaka jest przyczyna tego błędu, kiedy na bicie n+1
będzie wystawiona 1-ka, a na bicie n-tym z powrotem 0:
1. gdy jednoczesnie na na bicie n-tym i n+1 będzie 0 lub 1, to zwarcie linii 'n' i 'n+1'
0 lub 1: bo bilansowy stan zależny od tego, czy bit wyjściowy n-ty, logicznie w układzie
ustawiony na 0, mimo że 'podniesiony' do 1 z powodu zwarcia linii z bitem wyjściowym
n+1 będzie w stanie wymusić stan 0, czy też bit wyjściowy n+1 (ustawiony na 1), mimo
że obciążony bitem wyjściowym n-tym (ustawionym na 0) będzie w stanie wymusić stan 1
(kwestia wydajności prądowej portów wyjściowych). Tak czy tak, jeśli stany bitów n i n+1
będą zgodne, to znaczy ze jest zwarcie linii n i n+1.
2: gdy na bicie n-tym będzie 0, a na n+1 będzie 1, to bit n ma zwarcie do GND.

--
Pzdr.
Marek

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Wykrywanie błędów w połączeniach układów PCA9555: testowanie I2C i metoda przesuwanej jedynki

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map