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

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
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


Re: Test połączeń pomiędzy układami
wrote:
Quoted text here. Click to load it
może się mylę.
Quoted text here. Click to load it
błędem, którego
Quoted text here. Click to load it
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

Re: Test połączeń pomiędzy układami
Dnia Wed, 16 Jan 2013 08:48:52 +0100, Marek napisał(a):

Quoted text here. Click to load it

Wystarczą 2 kroki: 00 i FF.

Re: Test połączeń pomiędzy układami
W dniu 2013-01-16 08:53, Jacek pisze:
Quoted text here. Click to load it

Nie wykryjesz zwarć między liniami.

Michał

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

Quoted text here. Click to load it

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


Re: Test połączeń pomiędzy układami
W dniu 2013-01-16 10:06, Marek pisze:
Quoted text here. Click to load it

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



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

Quoted text here. Click to load it

Jaki Michał??

Quoted text here. Click to load it

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

--  
Pzdr.
Marek  


Re: Test połączeń pomiędzy układami
W dniu 2013-01-16 11:34, Marek pisze:
Quoted text here. Click to load it

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



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

Quoted text here. Click to load it

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 :D
Widocznie są lagi między serwerami grup.

--  
Pzdr.
Marek


Re: Test połączeń pomiędzy układ ami

Quoted text here. Click to load it
błędów pol.?

Sam opracowuję metodę testu.

--  
Pzdr.
Marek



Re: Test połączeń pomiędzy układami
Popatrz jak działają testery CAT5.

c.

Re: Test połączeń pomiędzy układami
Quoted text here. Click to load it


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


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

Marek napisał(a):
Quoted text here. Click to load it
ż˝dzy portami dwďż˝ch ukďż˝adďż˝w
Quoted text here. Click to load it
n/out konfigurowane
Quoted text here. Click to load it
o wyj�cie, drugi
Quoted text here. Click to load it
po��czeniach pomi�dzy U1 i U2,
Quoted text here. Click to load it
sy, itd.) polega na ustawieniu na portach
Quoted text here. Click to load it
zania ich na portach wej�ciowych
Quoted text here. Click to load it
ż˝adzie U1 ustawiam na jego pierwszym pinie
Quoted text here. Click to load it
rawdzam, czy na pinie
Quoted text here. Click to load it
�ych 0. W nast�pnym kroku testu
Quoted text here. Click to load it
ko na
˝lnie mďż˝wiďż˝c, test polega na
Quoted text here. Click to load it
zelkie b��dy w po��czeniach?
Quoted text here. Click to load it
przesuwaniu
�ych 1) ?
Quoted text here. Click to load it
wdzeniu, czy na
Quoted text here. Click to load it
?
Quoted text here. Click to load it
ż˝ jest wystarczajďż˝cy, moďż˝e siďż˝ mylďż˝.
Quoted text here. Click to load it
k�adowym b��dem, kt�rego
Quoted text here. Click to load it
 z przesuwanym zerem.
Quoted text here. Click to load it

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 b
icie
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 war
tości
bitów.
Wniosek: 2,3 i 4 w Twoim testerze mogą być nierozróżnialne.

Re: Test połączeń pomiędzy układami
W dniu 2013-01-16 11:22, Stachu Chebel pisze:
Quoted text here. Click to load it

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?



Re: Test połączeń pomiędzy układami
Quoted text here. Click to load it
oże też
Quoted text here. Click to load it
ym bicie
jąc
Quoted text here. Click to load it
 wartości
Quoted text here. Click to load it
 bitów jest jak najbardziej
Quoted text here. Click to load it
ę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?

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

Quoted text here. Click to load it
jest jak najbardziej
Quoted text here. Click to load it
niepoprawny?

Quoted text here. Click to load it

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

  


Re: Test połączeń pomiędzy układami
W dniu 2013-01-16 13:11, Marek pisze:
Quoted text here. Click to load it
jest jak najbardziej
Quoted text here. Click to load it
niepoprawny?
Quoted text here. Click to load it
n+1
Quoted text here. Click to load it
'n' i 'n+1'
Quoted text here. Click to load it
logicznie w układzie
Quoted text here. Click to load it
wyjściowym
Quoted text here. Click to load it
na 1), mimo
Quoted text here. Click to load it
wymusić stan 1
Quoted text here. Click to load it
bitów n i n+1
Quoted text here. Click to load it

A co w przypadku gdy oba bity będą zwarte do masy lub zwarte między sobą i jeden
do masy?
Też otrzymasz dwa zera. Chyba że ten stan też traktujesz jako po prostu zwarcie.

Najprościej zapodać wszystkie 256 kombinacji i po sprawie.

Re: Test połączeń pomiędzy układami
Quoted text here. Click to load it
ści
.
Quoted text here. Click to load it
. Może też
Quoted text here. Click to load it
ńczym bicie
Quoted text here. Click to load it
stując
Quoted text here. Click to load it
żne wartości
Quoted text here. Click to load it
ich bitów jest jak najbardziej
Quoted text here. Click to load it
będzie niepoprawny?
Quoted text here. Click to load it
dy na bicie n+1
Quoted text here. Click to load it
e linii 'n' i 'n+1'
Quoted text here. Click to load it
wy n-ty, logicznie w układzie
Quoted text here. Click to load it
inii z bitem wyjściowym
Quoted text here. Click to load it
wy n+1 (ustawiony na 1), mimo
Quoted text here. Click to load it
ędzie w stanie wymusić stan 1
Quoted text here. Click to load it
 czy tak, jeśli stany bitów n i n+1
Quoted text here. Click to load it
 sobą i jeden do masy?
Quoted text here. Click to load it
ostu zwarcie.

Jakie 256?! Będzie ich tylko 28!!

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

Quoted text here. Click to load it
bitów jest jak najbardziej
Quoted text here. Click to load it
niepoprawny?
Quoted text here. Click to load it
n+1
Quoted text here. Click to load it
'n' i 'n+1'
Quoted text here. Click to load it
logicznie w układzie
Quoted text here. Click to load it
wyjściowym
Quoted text here. Click to load it
na 1), mimo
Quoted text here. Click to load it
wymusić stan 1
Quoted text here. Click to load it
stany bitów n i n+1
Quoted text here. Click to load it

Jeśli bity "n" i "n+1" będą zwarte do masy,  to przecie przy wystawieniu jedynki
na tych dwóch
bitach (oczywiście na każdym z osobna) nie da się uzyskać na porcie wejściowym
stanu 1 i już
wiadomo, że coś jest nie tak z tymi bitami.

Quoted text here. Click to load it

tak samo da się wykryć, tyle że to kwestia kolejności usuwania zwarć:
1. jeśli po usunięciu zwarcia do masy bitu "n" (zwarcie między "n" i "n+1" nadal
będzie istniało)
    na bicie "n+1" będzie taki sam stan jak na "n" (może być to 0 lub 1, pisałem
o tym wcześniej
  od czego ten stan może zależeć), więc przy pobudzeniu w danym kroku jedynką
tylko jednego
  z tych pinów da się wykryć nieprawidłowość stanów.

2.  jeśli po usunięciu zwarcia między bitami "n" i "n+1" (zwarcie jednego z
bitów do masy będzie
    nadal istniało), to przy pobudzeniu jedynką zwartego do masy bitu, na porcie
wejściowym tego
    bitu będzie występował stan 0, co wykryje tester. Natomiast na bicie, który
przestał być zwarty
    do bitu zwartego do masy, jedynka pojawi się w oczekiwanym momencie testu.

Tak więc wykrycie rodzaju błędu(-ów) to kwestia analizy stanów bitów, ale nie w
jednym kroku
testowym, tylko we wszystkich, czyli "przelecenie" :D jedynką po wszystkich
bitach.

Quoted text here. Click to load it

Najlepiej najprościej, ale przede wszystkim mądrze. ;)

--  
Pzdr.
Marek


Re: Test połączeń pomiędzy układami
W dniu 2013-01-16 12:29, Stachu Chebel pisze:
Quoted text here. Click to load it

Założyłem że test ma tylko dwa wyniki: pozytywny i negatywny.
Może autor się wypowie, czy chce wykrywać konkretny przypadek (zwarcia,
przerwa). Wtedy faktycznie  
trzeba testować kombinacje wszystkich bitów na których pojawiły się stany
niepoprawne, żeby  
stwierdzić czy jest zwarcie od innego bitu, czy do masy, czy oba zwarcia na raz.





Site Timeline