Is het mogelijk om de microprocessor/microcontroller te testen?

Wat kan ik doen als ik de microcontroller wil testen?

1
Wilt u uw code testen of de microcontroller testen? Het lijkt wat verwarring te zijn.
toegevoegd de auteur Binarytales, de bron
Zet "automobiel" in uw vraag in plaats van de microcontroller en kijk wat de vraag is. Je moet veel specifieker zijn als je echte hulp wilt.
toegevoegd de auteur rthsyjh, de bron
@clabacchio - Vraag: "Ik werk aan een aantal op auto's gebaseerde draagbare apparaten (ingebed systeem) Wat kan ik doen als ik de auto wil testen?" Antwoord: "Het geluid van één hond blaft".
toegevoegd de auteur rthsyjh, de bron
@RussellMcMahon hoe kan ik een "op auto's gebaseerd draagbaar apparaat" maken?
toegevoegd de auteur clabacchio, de bron

4 antwoord

Over het algemeen probeer ik in de ingebedde systemen die ik ontwerp eerst zoveel mogelijk circuits toe te voegen om het algehele systeem te testen, in aanvulling op de microcontroller zelf, zonder extra kosten toe te voegen (ik zou een diagnostische LED voor basisoutput kunnen toevoegen voor een prijs van een paar centen.) Meestal betekent dit dat je gebruikmaakt van de overgebleven analoge kanalen die ik beschikbaar heb om door het systeem te prikken en te controleren of alles in orde is, zoals verschillende stroomrails, enz.

Daarna schrijf ik een speciale testfirmware voor de fabricage die voor het eerst in de microcontroller wordt geladen nadat het bord met onderdelen is gevuld, maar voordat het in de uiteindelijke behuizing wordt gestopt. Het is duidelijk dat als de programmeur de testfirmware niet in de micro kan laden en uitvoeren, er een probleem is. Maar omdat de meeste microcontrollers slechts een paar pinnen gebruiken voor het programmeren, naast reset, voeding en aarde, zelfs als er iets anders mis is op het bord, kan de micro meestal worden aangestoken.

Als de micro opstart, kan een aantal eenvoudige tests worden uitgevoerd, zoals verschillende RAM-tests en een CRC over de code om te controleren of het RAM goed is en het programma correct is geflitst. Hoewel het mogelijk zou zijn om een ​​test van verschillende instructies uit te voeren, doe ik meestal niet de moeite om dat te doen.

Meestal knipper ik de LED eenmaal bij het opstarten en dan misschien twee keer na het voltooien van een reeks basistests. Als de flitsen op een afstand van elkaar zijn geplaatst, geeft dit een ruwe controle dat de schakelingen van de timer werken. Als er een fout is, knipper ik de LED in een specifiek patroon - dat wil zeggen, lange flits, gevolgd door 'n' korte flitsen die een foutcode aangeven.

Ik probeer vervolgens zoveel mogelijk van de perifere poorten te controleren. Hoe je dit doet, is natuurlijk afhankelijk van de specifieke micro en je specifieke circuits. U kunt de I2C, SPI en andere bussen gewoonlijk testen door simpelweg toegang te krijgen tot verschillende randapparaten op het bord. Een externe UART kan worden getest door hem aan te sluiten op een pc met een terminalprogramma. Het testen van de UART is meestal een goede test van de oscillatorfrequentie, omdat de UART-klok meestal aan de systeemklok is gekoppeld.

U kunt zelfs een programma schrijven op de pc die via de UART met de micro's communiceert om het testprogramma te besturen en de resultaten vast te leggen.

Ik probeer een afzonderlijke spanningsreferentie in het circuit te hebben, die kan worden gebruikt om te testen met de andere stroomrails. Ik hou van de 4.096 spanningsreferenties, omdat ik een 12-bit ADC, een bit = 1mV gebruik. Het kan dan worden gebruikt om andere stroomrails te controleren. Voor spanningen van 4.096, zoals +5, hebt u een spanningsdeler nodig. Als het apparaat op batterijen werkt, wilt u de spanningsdeler laten zinken met een uitvoerpoort om te voorkomen dat de batterij voortdurend leegloopt.

9
toegevoegd

Afhankelijk van wat u probeert te bereiken.

Indien ernstig.

Voorzien:

  • Appartus waarmee de voedingsspanning overal binnen het wettelijke bereik kan worden ingesteld.

  • Mogelijkheid om de klok over het hele bruikbare bereik te besturen in de modi waarin je het gebruikt.

  • Kamer met temperatuurregeling over het bereik.

  • Mogelijkheid om stimuli toe te passen op I/O-pennen over legaslbereiken.
    I/O belastingsweerstand en capacitief.
    Stijg/val/houd tijden waar relevant.
    ESD-tests om aan toegestane specificaties te voldoen

  • Elke andere fysieke of elektrische parameter dan kan worden gevarieerd binnen het gespecificeerde bereik dat u belangrijk vindt.

Dan:

Schrijf testsuite om toetsfuncties uit te oefenen op verschillende combinaties, terwijl u alle parameters met legale bereiken in alle combinaties varieert.

Realistisch:

Stel de toevoer en temperatuur in naar het ongunstigste geval dat u verwacht, laad I/O naar max verwacht. Voer intelligente testprogramma's uit.

2
toegevoegd

Als je je controller wilt testen, is de eenvoudigste manier om een ​​testprogramma te schrijven, zoals het maken van een aantal hoge pins en sommige lage. Laat de processor nu draaien en test de pennen met LED of Multimeters.

Uit mijn ervaring, de processor/controller is alleen beschadigd door kortsluiting van de pinnen of door een aantal problemen met de voeding

You may find some details here,

0
toegevoegd

In een productie-instelling schrijft en voert u een zelftest uit op uw controller. Je plaatst het apparaat in een mal met pogo-pinnen, of je maakt verbinding via de USB-poort (of een andere poort).

Een mal is meer inspanning, u bouwt in feite een testapparaat met een eigen controller die uw product test. Het voordeel van het gebruik van een mal is dat u signalen kunt meten die niet beschikbaar zijn voor de MCU.

0
toegevoegd