Udostępnij za pośrednictwem


Weryfikacja projektu sprzętu

W tym temacie opisano sposoby sprawdzania poprawności funkcji sprzętowych urządzenia opartego na usłudze Azure Sphere, takich jak tablica lub moduł. Skorzystaj z tych informacji jako przewodnika przy opracowywaniu szeregu testów ręcznych wysokiego poziomu, które pomogą zweryfikować Projekt.

Te wytyczne dotyczące testowania wynikają z wewnętrznego procesu firmy Microsoft w celu zweryfikowania działania projektu tablicy referencyjnej MT3620. Można używać technik do innych produktów opartych na mikroukładach MT3620, chociaż niektóre testy mogą wymagać modyfikacji i dostosowania w celu weryfikacji funkcji danego sprzętu.

Aby uzyskać informacje na temat testowania na hali produkcyjnej, zobacz Produkcja urządzeń połączonych.

Podczas wykonywania testów opisanych w tym dokumencie należy pamiętać o następujących ogólnych wymaganiach i zaleceniach:

  • Urządzenie objęte testem (DUT) powinno być podłączone przez USB do komputera hosta, na którym jest zainstalowany najnowszy pakiet Azure Sphere SDK. Ponadto zakłada się, że komputer hosta ma zainstalowaną najnowszą wersję programu Visual Studio lub Visual Studio Code.
  • Niektóre testy wymagają platformy Azure CLI, która jest zainstalowana jako część pakietu Azure Sphere SDK.
  • Wiele testów korzysta z istniejących przykładowych aplikacji MT3620 opublikowanych w witrynie GitHub. Te próbki mogą być używane jako punkt wyjścia do tworzenia bardziej szczegółowych aplikacji testowych, dostosowanych do określonych wymagań.
  • Zalecamy przetestowanie wszystkich interfejsów udostępnianych przez tablicę lub moduł. W tym dokumencie założono, że wszystkie sygnały interfejsu MT3620 są ujawniane, więc musisz dostosować niektóre testy, aby dopasować je do liczby i typów interfejsów udostępnianych przez dut.

Interfejsy pomocy technicznej

Mt3620 zapewnia trzy interfejsy obsługi UART, chociaż tylko dwa z nich są dostępne do użytku ogólnego. Ponadto zapewnia interfejs SWD. Aby zapewnić zgodność z narzędziem deweloperów Azure Sphere, te interfejsy muszą łączyć się z komputerem-hostem za pomocą 4-portowego układu interfejsu UART-to-USB. Zobacz interfejs programowania i debugowania MCU , aby uzyskać szczegółowe informacje na temat projektu takiego interfejsu — obecny projekt tablicy referencyjnej MT3620 używa układu interfejsu FTDI FT4232HQ UART-to-USB.

Aby przetestować interfejsy pomocy technicznej:

  1. Podłącz dut do komputera hosta.
  2. Otwórz Menedżer urządzeń na komputerze hosta i sprawdź, czy trzy konwertery szeregowe USB są wymienione w obszarze Kontrolery uniwersalnej magistrali szeregowej. Powinny być oznaczone etykietami A, C i D.

Ten test potwierdza, że komputer-host poprawnie rozpoznał interfejs UART-to-USB. Interfejsy Service UART, Recovery UART i SWD zawierają dodatkowe szczegóły ułatwiające zweryfikowanie prawidłowego działania interfejsu UART-to-USB i interfejsów pomocy technicznej udostępnianych przez dut.

Service UART

Usługa UART zapewnia główny interfejs między MT3620 a środowiskiem deweloperskim działającym na komputerze hosta.

Aby przetestować usługę UART:

  1. Podłącz dut do komputera hosta.

  2. Uruchom następujące polecenie, aby uzyskać informacje o urządzeniu:

    az sphere device show-attached
    

To polecenie powinno zwracać podstawowe informacje o dołączonym urządzeniu.

Odzyskiwanie grafiki UART

Grafika UART odzyskiwania umożliwia ponowne miganie lub odzyskiwanie mt3620 do najnowszej wersji systemu operacyjnego Azure Sphere.

Aby przetestować odzyskiwanie UART:

  1. Podłącz dut do komputera hosta.

  2. Spróbuj odzyskać tablicę za pomocą następującego polecenia:

    az sphere device recover
    

Interfejs SWD

Interfejs SWD służy do programowania rdzeni M4F w czasie rzeczywistym. Interfejs UART-to-USB służy jako sonda SWD, unikając w ten sposób konieczności używania oddzielnego programisty SWD sprzętowego. Zestaw SDK Azure Sphere używa oprogramowania OpenOCD do udostępniania debugowania na mikroukładach za pośrednictwem swd.

Aby przetestować interfejs SWD:

  1. Podłącz dut do komputera hosta.
  2. Otwórz przykładowej aplikacji HelloWorld_RTApp_MT3620_BareMetal w programie Visual Studio i spróbuj wdrożyć i debugować aplikację.

Zasilacze

Mt360 powinien być zasilany z zasilacza 3,3 V.

Ponadto wewnętrzny zegar CZASU RZECZYWISTEGO MT3620 (RTC) może być zasilany z głównego zasilacza 3,3 V lub z oddzielnego zasilacza, na przykład z baterii (pastylki). Jeśli rtc nie jest zasilany, mikroukład nie uruchamia się poprawnie.

Główny zasilacz 3,3 V

Sprawdź, czy napięcie głównego zasilacza jest oczekiwane 3,3 V. Ponadto sprawdź, czy nie ma nadmiernego falowania i hałasu na liniach zaopatrzenia. Aby uzyskać informacje na temat właściwości elektrycznych mt3620 i innych istotnych informacji, zobacz arkusz danych MT3620 firmy MediaTek.

Zasilacz RTC

  1. Przy zasilaniu DUT z zasilacza 3,3 V podłącz oddzielny zasilacz 3,3 V (lub baterię) do linii zasilania RTC.
  2. Użyj przykładowej aplikacji Powerdown , aby umieścić dut w trybie niskiego zasilania. Główne zużycie prądu zasilacza powinno spaść, co wskazuje, że mikroukład wszedł w tryb niskiego poboru energii.

Informacje o trybie power down dla mt3620 i skojarzonych sygnałach kontrolnych można znaleźć w podręczniku użytkownika mt3620 reference development board (RDB) i notatek sprzętowych MT3620.

Wi-Fi

Wi-Fi parametry, takie jak identyfikator SSID sieci, z którymi urządzenie może się połączyć, są konfigurowane za pomocą polecenia Wi-Fi urządzenia az sphere w witrynie Azure CLI.

Testowanie połączenia z punktem dostępu

Aby przetestować połączenie Wi-Fi z punktem dostępu:

  1. Spróbuj nawiązać połączenie ze znanym punktem dostępu Wi-Fi:

    az sphere device wifi add --ssid <wifi-ssid> --psk <wifi-password>
    
  2. Poczekaj 5–10 sekund i wprowadź następujące polecenie, aby sprawdzić połączenie Wi-Fi:

    az sphere device wifi show-status
    

Powinno zostać wyświetlone, że urządzenie jest połączone z określoną siecią Wi-Fi, że konfiguracja jest włączona, a stan jest połączony. Jeśli potrzebujesz więcej informacji, zobacz az sphere device wifi .

Przetestuj transfer danych Wi-Fi

Aby przetestować Wi-Fi transferu danych, użyj przykładowej aplikacji HTTPS_Curl_Easy , aby połączyć się z punktem końcowym i pobrać stronę internetową.

Ponadto możesz przetestować przepustowość sieci przy użyciu iPerf3. Przykładowy klient iPerf3 zaimplementowany jako aplikacja Azure Sphere można znaleźć w witrynie GitHub.

Testowanie funkcji niskiego poziomu fal radiowych

Aby uzyskać informacje na temat testowania niskiego poziomu częstotliwości radiowej, zobacz Test Tools fal radiowych.

Urządzenia peryferyjne

W poniższych sekcjach opisano sposoby testowania różnych urządzeń peryferyjnych na urządzeniu.

GPIO

MT3620 udostępnia wiele obiektów GPIO, które są multipleksowane z innymi interfejsami. Obiekty GPIO można skonfigurować jako dane wejściowe lub wyjściowe.

Przykładowa aplikacja gpio wysokiego poziomu zapewnia prosty sposób testowania funkcji wprowadzania i wyjścia GPIO.

Aby utworzyć zautomatyzowany test dla wielu obiektów GPIO, możesz użyć metody sprzężenia zwrotnego. Takie podejście jest szczególnie odpowiednie dla obiektów GPIO, ponieważ używa dut do testowania się i wymaga minimalnego dodatkowego sprzętu testowego.

Na przykład połącz obiekt GPIO0 z obiektem GPIO1 i napisz kod, który konfiguruje jeden z obiektów GPIO jako dane wejściowe, a drugi jako wynik. Następnie aplikacja przełącza stan wyjściowego obiektu zasad grupy podczas monitorowania stanu wejściowego obiektu zasad grupy.

Następnie przy użyciu tej samej konfiguracji sprzężenia zwrotnego ponownie skonfiguruj wyjściowy obiekt GPIO jako dane wejściowe i gpio wejściowe jako dane wyjściowe, a następnie uruchom ponownie test. W ten sposób oba obiekty GPIO są testowane w trybie wejścia i wyjścia. Rozszerz to podejście, aby przetestować wszystkie narażone obiekty GPIO.

UART

Mt3620 zapewnia maksymalnie pięć interfejsów UART, które są multipleksowane z innymi interfejsami.

Aby przetestować podstawową funkcjonalność grafiki UART, użyj przykładowej aplikacji typu UART wysokiego poziomu . Próbka łączy styki RXD i TXD tego samego obiektu UART, tworząc w ten sposób sprzężenie zwrotne. W takim przypadku wszystkie dane zapisane w pinezce TXD zostaną odczytane przez numer PIN RXD. Zwróć uwagę, że przykładowa aplikacja nie używa kontrolki przepływu.

I2C

MT3620 oferuje maksymalnie pięć interfejsów I2C, które są multipleksowane z innymi interfejsami

Aby przetestować I2C, użyj przykładowego przyspieszeniomierza wysokiego poziomu I2C .

Podłącz przyspieszeniomierz LSM6DS3 do jednego z interfejsów I2C DUT. Po uruchomieniu próbki najpierw przesłuchuje rejestr WHO_AM_I przyspieszeniomierza, a następnie wielokrotnie odczytuje przyspieszenie osi x. W zależności od orientacji przyspieszeniomierza odczyt osi x powinien się różnić od +1g do -1g. Powtórz ten test dla każdego interfejsu I2C.

SPI

MT3620 oferuje maksymalnie pięć interfejsów SPI, które są multipleksowane z innymi interfejsami.

Do testowania SPI należy użyć przykładowego przyspieszeniomierza SPI wysokiego poziomu .

Podłącz przyspieszeniomierz LSM6DS3 do jednego z interfejsów SPI dut. Po uruchomieniu próbki najpierw przesłuchuje rejestr WHO_AM_I przyspieszeniomierza, a następnie wielokrotnie odczytuje przyspieszenie osi x. W zależności od orientacji przyspieszeniomierza odczyt osi x powinien się różnić od +1g do -1g.

ADC

Mt3620 zapewnia maksymalnie osiem analogowych danych wejściowych ADC.

Aby przetestować ADC, użyj próbki ADC wysokiego poziomu do odczytu napięcia analogowego mierzonego za pomocą jednego z kanałów ADC DUT, przy jednoczesnym zastosowaniu znanego napięcia do wejścia ADC.

Można utworzyć bardziej zaawansowany test wokół konwertera cyfrowo-analogowego I2C (DAC), takiego jak urządzenia analogowe LTC2635, w następujący sposób:

  1. Podłącz interfejs I2C DAC do jednego z interfejsów I2C dut.
  2. Podłącz wyjścia analogowe z DAC do jednego z wejść ADC w DUT.
  3. Napisz kod testowy, aby sterować analogowym poziomem napięcia wyjściowego z każdego kanału DAC i odczytać odpowiednie poziomy wejściowe ADC.
  4. Sprawdź, czy napięcie odczytane przez ADC odpowiada napięciu wyjściowemu przez DAC.

PWM

Mt3620 zapewnia maksymalnie osiem wyjść z obsługą programu PWM.

Aby przetestować program PWM, użyj przykładowej aplikacji PWM wysokiego poziomu do wyprowadzenia sygnału programu PWM. Monitoruj sygnał wyjściowy PWM za pomocą oscyloskopu, aby sprawdzić, czy cykl i częstotliwość pracy są prawidłowe.

Możesz również podłączyć jeden z wyjść programu PWM do innego obiektu zasad grupy skonfigurowanego jako dane wejściowe. Napisz kod testowy, który działa na jednym z rdzeni M4 w czasie rzeczywistym, odczytuje stan numeru PIN wejścia i czasami przejścia o niskim poziomie. Oblicz cykl i częstotliwość na podstawie wygenerowanych danych i porównaj je z parametrami pwm. Ten test należy wykonać na rdzeniu M4, ponieważ w czasie rzeczywistym działanie rdzenia M4 może rejestrować chronometraż zmian stanu przypinania z większą dokładnością niż A7.

I2S

MT3620 zawiera dwa oddzielne cyfrowe interfejsy audio I2S.

Obecnie usługa I2S jest obsługiwana tylko w rdzeniach w czasie rzeczywistym. Przykładowe aplikacje i sterowniki można przetestować za pomocą programów MediaTek i CodeThink.