A pci expresszálása hibák bevezetésével javítja a megbízhatóságot - minden a rádióelektronikáról

Ahogy bármilyen technológia javul, szükség van a rendszer általános megbízhatóságának növelésére - annak működőképességének és a külső hatásokkal szembeni ellenállásának biztosítása érdekében. Ez a követelmény a Peripheral Component Interconnect (PCI) Express buszra vonatkozik. Mivel a PCI Express egyre növekvő számú alkalmazásban kezdõdik, és az ezt a buszot támogató eszközök száma növekszik, az várhatóan rugalmasabbá válik a hibák és a megbízhatóbb mûködés miatt.







A PCI-SIG bizottság által kifejlesztett PCI Express busz specifikációja számos mechanizmust biztosít a hibaüzenetek bejelentésére. Ha hibákat észlelnek, típusuktól függően, hardveres feldolgozással vagy a meghajtóprogram vagy alkalmazásprogramon keresztül továbbíthatók. Például egy alkalmazási program végezhet kapcsolatot egy működő eszközre, ezáltal elkerülve a rosszul működő eszköz címzését. Elméletileg ez egy kiváló módszer a rendszer egészének megbízhatóságának növelésére. A probléma az, hogy hogyan generálhat ilyen hibákat annak érdekében, hogy kipróbálja a rendszer válaszát azok előfordulására. A cikk néhány hagyományos vizsgálati módszert ismertet a hibák bevezetésével és néhány újítással a vizsgálati módszertanban.

Tesztelés hibák bevezetésével

A PCI-SIG PCI Express specifikáció két mechanizmust tartalmaz a hibaüzenetek bejelentésére:

  • alapvető hibaüzenet;
  • kiterjesztett hibaüzenet.
  • javítható;
  • helytelen - nem halálos;
  • helytelen - halálos.

A korrigálható hibák hardveres módon feldolgozhatók, és nem gyakorolhatnak funkcionális hatást a rendszer vagy az alkalmazás egészségére. Ezzel ellentétben a nem helyreállítható hibákat az eszközvezérlő vagy az alkalmazási program kezeli. Minden alkalmazás és rendszer különböző módszerekkel dolgozik a hibák típusától függően.

  • kész tesztek készlete;
  • szimulátorok;
  • interferencia-generátorok.

Kész tesztkészletek

A kész tesztek készítésének legjobb példája a PCI-SIG laboratóriumokban használt, speciális tesztkártyával (PTC) végrehajtott tesztek kompatibilitási teszteléshez. A kész tesztek készlete általában több vizsgálati forgatókönyvet tartalmaz. Például a PTC 13 forgatókönyvet tartalmaz, amelyeket az adatkapcsolati réteg és a PCI tranzakciószint tesztelésére használnak

Expressz. A kész tesztek készletének fő előnye a könnyű használat: a tesztek néhány egérkattintással indulnak el, és automatikusan végrehajtásra kerülnek, és az egyes forgatókönyvekhez egy eredményjelentést készítenek.

A kész tesztek készletének egyik korlátozása annak a ténynek köszönhető, hogy csak a csatorna egyik oldalán ellenőriznek. A PCI Express csatorna végpontokból és egy útválasztékból áll, ezért teljes működési képességének biztosítása érdekében a mérnöknek a csatornát mindkét oldalán valós munkakörülmények között kell tesztelnie. Ráadásul hibákat kell beírnia a végpontokban és az útválasztási összetettben, majd győződjön meg róla, hogy mindkét fél helyesen reagál ezekre a hibákra.

Jellemzően a PTC kártya helyettesíti az alaplapot, és hibát okozhat a végpontokban található eszközökben (1. ábra). Ez korlátozza az ilyen tesztek alkalmazhatóságát csak végpontok tesztelésével. Továbbá, mivel a végpontok nem állnak rendelkezésre valódi rendszerben, az illesztőprogramok vagy tesztprogramok nem telepíthetők. Ennek eredményeképpen a kész tesztek teljes készlete nem használható rendszer szintű tesztelésre.

Ábra. 1. Tesztelje az eszköz végpontjait a PTC használatával

A kész tesztek egy másik hátránya a tesztek korlátozott választéka, és nehéz vagy lehetetlen megváltoztatni azokat. Ismét példázzuk a PTC-t. Ez a tábla 13 tesztet tartalmaz, és csak az előírásoknak egy kis részét tartalmazza. Ez elég ahhoz, hogy ellenőrizze az interoperabilitást, de nem elég ahhoz, hogy megbízhatóan ellenőrizze az egész készüléket. A kész készlet általában rögzített tesztkészletet kínál, és a végfelhasználó számára nagyon nehéz bővíteni a tesztelési forgatókönyvek számát ebben a csomagban.

Természetesen vannak olyan termékek is a piacon, amelyek szélesebb körű teszteket fedeznek fel, mint például a PTC, például a PCI Express Gen2 esetében vannak olyan készletek, amelyek több mint 170 tesztet tartalmaznak. Bár a tesztelési terület kibővült, ez a tesztcsomag még mindig nagyfokú statikus hatást fejt ki, és nem áll rendelkezésre a változó felhasználói igényekhez való alkalmazkodáshoz vagy a tesztelés kiterjesztéséhez.







A szimulátorok olyan eszközök, amelyek a csatorna egyik oldalát emulálják. Némelyik lehet programozni, hogy emulálni végpont vagy meghatározott útvonal csatornák, míg mások statikusan konfigurált versenyez csak végpont routing vagy komplex (2A.). Az általános vizsgálati módszer ugyanaz marad. A végső eszköz teszteléséhez a mérnök helyettesíti az útválasztó komplexet egy szimulátorral, amely emulálja ezt az útválasztó komplexet (2b. Ábra). Az útválasztó komplex teszteléséhez a végpontot egy szimulátor váltja fel, amely emulálja ennek a végpontnak a viselkedését. Azonban, ellentétben egy valódi eszközzel vagy egy útválasztásos összetevővel, a szimulátor programozható mind a megfelelő működéshez, mind a hibás működéshez.

Ábra. 2. a) A szimulátor bekapcsolási sémája az útválasztó komplex tesztelésére; b) Szimulátor hátlapon a végpontok vizsgálatához

A szimulátorok nagyon fontosak a fejlesztési ciklus kezdeti szakaszában, amikor csak korlátozott számú eszköz áll rendelkezésre. Használhatók a kezdeti funkcionális teszteléshez, amelyet rendszer vagy eszköz piacra juttatásának elsődleges stádiumaként is használnak, de nem függenek más eszközök rendelkezésre állásától. Ez fontos azokban a forgatókönyvekben, ahol a tesztelt készülék az első ilyen típusú eszköz a piacon.

A legtöbb szimulátorok lehet elképzelni, mint egy kis állam gép működik követelményeivel összhangban a jegyzőkönyv és a programozható grafikus felhasználói felület (GUI) keresztül vagy egy interfész alkalmazás programozási (API). Egy mérnök programozhatja a szimulátort grafikus felületen vagy API-n keresztül, így szinte mindent megtesz. Az eredmény egy nagyon rugalmas eszköz, amely használható a funkcionális teszteléshez, hibák bevezetéséhez vagy mérési jellemzőkhez.

De mint mindig, a pluszokat a hátrányok követik. Mivel a szimulátor nagyon rugalmas, nehezebb beállítani és vezérelni. Például, képzelje el, hogy a hiba keletkezése az, hogy véletlenül be kell írnia a sérült TP szintet (TLP), miután létrehozta a kapcsolatot, és beállította az eszközt. Egy normál rendszerben ez a művelet egy komplex útválasztással és meghajtókkal történik. Most azonban, hogy a szimulátort a routing komplexumának emulálására használjuk, manuálisan újra kell kezdeni ezt az iniciációs folyamatot, mielőtt megkezdhetjük a hiba bevezetését. Ez a feladat nagyon nehézkes.

A szimulátorok második korlátozása a rendszer tesztelésének területén is fennáll. A szimulátor kiváló eszköz a fejlett eszközök teszteléséhez vagy funkcionális teszteléshez. A tesztelési folyamatban azonban fontos, hogy a teljes rendszer működését, beleértve az útválasztást, az eszközöket, a meghajtókat és az alkalmazási programokat is, tekintse meg. Az egyik legfontosabb kérdés, amelyre válaszolni kell: a rendeltetési eszközhöz bejelentkezett hiba? Például, ha egy hálózati kártya nem helyrehozható hibát jelent, akkor ki kell tennie a megfelelő műveletet - az illesztőprogramot vagy az alkalmazást? A szimulátor használatával eltávolítjuk a rendszer egyes elemeit, és mivel a szimulátor emulálja a rendszer egy részét, nem tudjuk tesztelni a rendszer egészének viselkedését.

Interferencia-generátorok

Az interferencia generátor fő előnye, hogy tesztelheti a teljes rendszert: egy útválasztó komplexet, egy véges eszközt, valamint a meghajtókat és az alkalmazásokat. A zavaró generátor programozható hibák bevezetésére az útválasztó komplexumba és a célkészülékbe. Mivel a teljes rendszer fut, a mérnök megfigyelheti a vezető vagy program válaszát egy adott hibára.

Az interferencia generátor másik előnye, hogy könnyebb konfigurálni, mint a szimulátor. Amint fent említettük, a szimulátor használatával a mérnököt arra kényszerítik, hogy manuálisan programozza a teljes inicializációs folyamatot. A generátor átlátható az indítási folyamat alatt, így az utóbbit automatikusan végrehajtja az útválasztó komplex és a végkészülék. Az iniciálás után a felhasználó programozhatja a Jammer-et, hogy hibákat mutasson be a szekvenszerrel. A szekvenszer egy olyan állapotgép, amelyben vannak olyan feltételek, ahol / más. Ha ilyen feltétel teljesül, akkor egy meghatározott műveletet hajtanak végre.

A fent említett példában a sérült TLP-k véletlen behúzását könnyen be lehet állítani az interferencia-generátorban. A készülék beállítása után a generátor véletlenszerűen belép a TLP-be a megváltozott fejléccel (sérült TLP).

Mivel az interferencia-generátor nem hoz létre semmilyen üzenetet vagy forgalmat, mindkét eszköz jelenlétére van szükség a csatorna mindkét végén. Ez nem mindig lehetséges új technológia létrehozásának korai szakaszában. Ezért a zajgenerátor nem használható a fejlesztés korai szakaszában, ebben az esetben a szimulátor jobban kezeli a feladatot.

következtetés

A modern piacon különböző típusú eszközök vannak. A megfelelő eszköz kiválasztását számos tényező határozza meg. Ezek közül az első és legfontosabb a megbízhatósági szint megértése, amelyet a vizsgált eszköz várható. A fogyasztói elektronikai kártyák gyártásánál a technikai jellemzők valamennyi aspektusának tesztelése és az összes lehetséges negatív forgatókönyv lefedése nem feltétlenül játszik ilyen fontos szerepet. Ebben az esetben egy gyors és egyszerűen használható tesztcsomag meglehetősen jó lefedettséggel (több mint 13 teszthelyzet) alkalmas. Ha azonban egy mérnök dolgozik egy szerver platformon a felelős alkalmazások számára, akkor nagyon fontos tesztelni a teljes rendszer helyreállításának megbízhatóságát és képességét. Ilyen esetekben ajánlott interferencia-generátort használni, mivel lehetővé teszi a hardver, a szoftver és a meghajtók együttes működésének tesztelését.

A második tényező, hogy figyelembe kell venni a fejlődési szakaszában a készülék a vizsgált: hogy a készülék a kezdeti tervezési fázisban, vagy meg kell újra létrehozni a használt eszköz a PCI-SIG laboratóriumban kompatibilitási vizsgálatok? A termék korai teszteléséhez, például a fejlesztési szakasz során fontos a munkakörnyezet egyszerűsítése. Ebben a szakaszban, ez lehet egy jó eszköz szimulátor, amely szimulálja a routing set, amely teljes ellenőrzése alatt, amit közvetít. Azonban a rendszer szintű tesztelése, vagy hozzon létre hibákat a komplett rendszert ügyfélszolgálati laboratóriumok, vagy újra a problémák, amelyekkel a felhasználó, a legjobb választás lehet egy zavaró.

Nincs univerzális megoldás. Mindig meg kell választania a megfelelő eszközt minden egyes feladathoz.