Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az I2C-tesztek a Windows.Devices.I2c WinRT API-kon keresztül végzik a felhasználói élménynek kitett I2C-vezérlők funkcionális és stressztesztelését. A tesztek két részre oszlanak: alapfokú funkcionális és stressztesztekre, valamint speciális funkcionális tesztekre. Az alapszintű funkcionális tesztek tesztelésének hatóköre a következőket foglalja magában:
- Annak ellenőrzése, hogy egy megadott felhasználóbarát névvel rendelkező I2C-vezérlő elérhető-e a usermode-ból.
- Annak ellenőrzése, hogy az adatok helyesen íródnak-e az órajelek és a pufferhosszok 8 bájtig (EEPROM oldalméret).
- Annak ellenőrzése, hogy az adatok megfelelően olvashatók-e az órajelek és a pufferhosszok tartományán.
- Annak ellenőrzése, hogy az írás-újraindítás-olvasási sorozatok (WriteRead-ek) megfelelően vannak-e végrehajtva az órajelek és pufferhosszok tartományán keresztül.
- Annak ellenőrzése, hogy az illesztőprogram STATUS_NO_SUCH_DEVICE-t ad vissza, amikor egy írási, olvasási vagy WriteRead műveletet próbálnak végrehajtani egy nem nyugtázott alárendelt eszköz címére. Ezt az I2cDevice::Write/Read/WriteRead() jelenti HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) néven, és az I2cDevice::WritePartial/ReadPartial/WriteReadPartial() jelentése pedig I2cTransferStatus::SlaveAddressNotAcknowledged.
- Annak ellenőrzése, hogy az API-k és az illesztőprogramok megfelelően működnek-e stresszhelyzetben. A stressztesztek egyidejűleg, hosszú időtartamon keresztül, külön eszközkezelőkkel írnak és olvasnak két EEPROM-ból.
A speciális funkcionális tesztek tesztelésének hatóköre a következőket foglalja magában:
- Annak ellenőrzése, hogy az adatok helyesen íródnak-e a legfeljebb 16384 bájtos pufferhosszokhoz.
- Annak ellenőrzése, hogy i2C-újraindítási feltétel jön-e létre a WriteRead-sorozatra válaszul.
- Annak ellenőrzése, hogy amikor az alárendelt eszköz NAK-ot küld, miközben a mester még bájtokat ír, az illesztőprogram a kérést STATUS_SUCCESS kóddal zárja le, és a ténylegesen írt bájtok számát a kérelemadatokon jelenti. Ezt részleges átvitelnek nevezzük, és a WritePartial() és a WriteReadPartial() I2cTransferStatus::PartialTransfer státuszként jelenti.
- Annak ellenőrzése, hogy az 500 ms-ig terjedő óra engedélyezett-e, és nem okozza-e az átvitel meghiúsulását.
- Annak ellenőrzése, hogy ha a rabszolgaeszköz hosszabb ideig (10+ másodpercig) alacsonyan tartja az óravonalat, az illesztőprogram legfeljebb 10 másodpercen belül befejezi az átvitelt egy hibakóddal. A hibakódot STATUS_IO_TIMEOUT kell megadni, de kompatibilitási okokból ez nem ellenőrizhető.
Az alapvető funkcionális tesztek és a stressztesztek két külsőleg csatlakoztatott EEPROM-en futnak. A speciális funkcionális tesztek egy mbed LPC1768 egyéni belső vezérlőprogrammal futnak. A mbed LPC1768 egy népszerű mikrovezérlő prototípus-kezelő platform, amely számos online viszonteladótól vásárolható meg, beleértve a Farnell, a Digikey és az Adafruit termékeket. Az mbed belső vezérlőprogramjának frissítése olyan egyszerű, mint egy fájl húzása és elvetése. A belső vezérlőprogram forráskódja elérhető a GitHubon. A mbed előkészítésére és a tesztek futtatására vonatkozó utasításokat alább találja.
Teszt részletei
Specifikációk |
|
platformok | |
támogatott kiadások |
|
Várható futási idő (percben) | 240 |
Kategória | Fejlődés |
Időtúllépés (percben) | 10 000 |
Újraindítást igényel | hamis |
Speciális konfiguráció szükséges | igaz |
Típus | automatikus |
További dokumentáció
Az ezen a szolgáltatásterületen végzett tesztek további dokumentációval rendelkezhetnek, beleértve az előfeltételeket, a beállítási és hibaelhárítási információkat, amelyek az alábbi témakör(ek)ben találhatók:
A teszt futtatása
Az alapvető funkcionális és stressztesztek futtatása
A tesztek futtatásához a következő hardverre lesz szüksége:
- Atmel AT24HC soros EEPROMs qt. 2
- 10k ellenállás qt. 2
- Kenyérvágódeszka
- Vezetékek
Csatlakoztassa az EEPROM-eket az alábbi ábrán látható módon, és csatlakoztassa az SDA-t és az SCL-t a tesztelt eszközhöz.
Most már ütemezheti az alapvető funkcionális és stresszteszteket a HLK-kezelőn keresztül.
A speciális funkcionális tesztek futtatása
A speciális funkcionális tesztek ellenőrzik a NACKing viselkedését, a lefagyott buszfeltételeket, az óranyújtást és az ismétlődő indításokat. A tesztekhez egy mbed LPC1768 egyéni belső vezérlőprogramot kell csatlakoztatni a tesztelt eszközhöz. A tesztek futtatása előtt be kell töltenie a HLK szoftvert az mbed LPC1768 rendszerére. Így frissítheti a firmware-t:
- Csatlakoztassa a mbed LPC1768 USB-n keresztül a pc-hez. Eltávolítható meghajtóként jelenik meg a számítógépen.
- A meghajtó megnyitása a Fájlkezelőben
- Másolja a c:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\x86\iot\busses-tester-mbed_LPC1768.bin a mbed fájlba
- A mikrovezérlő alaphelyzetbe állításához nyomja le az mbed gombot
Ezután drótozza fel a mbed-et az eszközére a tesztelés alatt. Csatlakoztassa a mbed over USB-t az eszközhöz tesztelés alatt. Ezután végezze el az I2C-kapcsolatokat (mbed pinout),
- Csatlakoztassa az mbed pin 9 -et (P0.0/SDA) a tesztelt eszköz SDA-tűjéhez
- Csatlakoztassa az mbed pin 10 -et (P0.1/SCL) a tesztelt eszköz SCL-tűjéhez
- Mbed GND csatlakoztatása egy GND pin-kódhoz a tesztelt eszközön
A mbed belső lekéréses ellenállásokkal rendelkezik, amelyek engedélyezve vannak az SDA- és SCL-vonalakon, és nem igényelnek külső lekéréses ellenállásokat.
Most már ütemezheti a HLK-kezelő speciális funkcionális tesztjeit.
hibaelhárítása
A HLK-teszthibák általános hibaelhárítását a Windows HLK-teszthibák hibaelhárításacímű témakörben találja.
Javasoljuk, hogy futtassa a teszteket a parancssorban, hogy betekintést nyerjen a hibákba, és gyorsan iterálja a megoldásokat. A következő lépéseket kell elvégeznie a tesztek futtatásához a parancssorban:
Másolja %programfiles(x86)%\Windows Kits\10\Testing\Runtimes\TAEF\<arch>\MinTe a c:\data\minte mappába.
Másolja Windows.Devices.LowLevel.UnitTests.dll %programfiles(x86)%\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\iot fájlból a c:\data mappába az eszközön.
Telnet vagy ssh az eszközre
Váltás a c:\data könyvtárra
Futtassa a teszteket:
minte\te windows.devices.lowlevel.unittests.dll /name:I2c*
Parancssori teszt használata:
minte\te windows.devices.lowlevel.unittests.dll [/name:test_name] [/select:select_clause] [/p:I2cFriendlyName=friendly_name] [/p:Duration=duration]
- test_name – a futtatandó teszt neve, amely helyettesítő karaktereket is tartalmazhat. Példák: /name:I2c*, /name:I2cEepromWriteTests#metadataSet0::VerifyWrite#metadataSet0
- select_clause – TAEF kiválasztási záradék. Példa: /select:"@name='I2c*' és nem(@name='I2cTestsEx*')"
- friendly_name - az I2C-vezérlő teszt alatti barátságos neve. Ha nincs megadva, a rendszer az első számba vett vezérlőt használja. Példák: /p:I2cFriendlyName=I2C0
- időtartam – mennyi ideig futtassa a stresszteszteket. Példák: /p:Duration=10s (10 másodperc), /p:Duration=1m (1 perc), /p:Duration=2h (2 óra), /p:Duration=1d (1 nap)
Példák:
Az alapszintű funkcionális tesztek futtatásához
minte\te windows.devices.lowlevel.unittests.dll /select:"@name='I2c*' and not(@name='I2cTestsEx*')"
A speciális funkcionális tesztek futtatásához
minte\te windows.devices.lowlevel.unittests.dll /name:I2cTestsEx::*
Ha egy adott I2C-vezérlőpéldányon szeretné futtatni a teszteket, adja meg a rövid nevet az I2cFriendlyName tesztparaméternek,
minte\te windows.devices.lowlevel.unittests.dll /name:I2c* /p:I2cFriendlyName=I2C0
Egy adott teszt futtatásához adja át a teljes tesztnevet a /name paraméternek:
minte\te windows.devices.lowlevel.unittests.dll /name:I2cNonexistentSlaveAddressTests::TestWriteRead
Az ajánlott 8 órás időtartamban indítsa el a stresszteszteket azzal, hogy futtassa a
minte\te windows.devices.lowlevel.unittests.dll /name:I2cStressTests::StressIoConcurrent /p:Duration=8h
A manuális hibaelhárítást segítő eszköz az I2cTestTool. Az I2cTestTool egy egyszerű segédprogram az I2C parancssorból való interakcióhoz.
További információk
paraméterek
Paraméter neve | Paraméter leírása |
---|---|
I2cFriendlyName | A vizsgált I2C-vezérlő rövid neve (pl. I2C0). |
Időtartam | Meghatározza, hogy mennyi ideig futtassa az egyes stresszteszteket. pl. 30 mp, 1 p, 1 ó, 1 n |