Dela via


NFC CX-sekvenshantering

De flesta icke-standard NCI-funktioner och tillägg som implementeras av NFCC-inbyggd programvara från olika leverantörer gäller konfiguration av kretsuppsättningar, nedladdning av inbyggd programvara och maskinvarujustering. Dessa icke-standardtillägg kan stödjas av NFC-klientdrivrutinen genom att registrera sig för specifika drivrutinssekvenser som exponeras av NFC CX. Klientdrivrutinen registrerar sig för specifika sekvenshanterare via funktionen NfcCxRegisterSequenceHandler. Det görs vanligtvis under initieringen och bör anropas efter NfcCxDeviceInitialize. Dessa hanterare avregistreras genom att anropa NfcCxUnRegisterSequenceHandler under enhetsavstängning. När klientdrivrutinens sekvenshanteraråteranrop har anropats utfärdar NFC CX-drivrutinen inga NCI-kommandon förrän NFC-klientdrivrutinen har slutfört hanteringen. Dessa återanrop till sekvenshanteraren är utformade för att vara asynkrona, vilket gör att klienten kan utfärda valfritt antal I/O-begäranden till kontrollanten innan nfc CX meddelas om att det har slutförts. NFC CX använder en mekanism för övervakningstimer för att fastställa låsta tillstånd. Om timern för vakthunden upphör att gälla innan sekvenshanteraren har slutförts av klienten utlöses en buggkontroll och UMDF-värdprocessen avslutas av UMDF-ramverket.

Följande är kraven för NFC-klientdrivrutinen vid implementering av ytterligare logik som en del av sekvenshanteraren:

  • NCI-kommandon som skickas av NFC-klienten vid hantering av dessa sekvenser bör säkerställa att integriteten för det aktuella tillståndet som anges av NFC CX inte överträds. NFC-klienten måste därför ta hand om detta krav för att NFC-enheten ska fungera korrekt. När du till exempel hanterar en fullständig initieringssekvens bör klientdrivrutinen inte utfärda NCI-CORE_RESET_CMD för att återställa kretsuppsättningen.
  • NFC-klientdrivrutinen måste se till att NCI-svar och meddelanden som genereras av de NCI-kommandon som den skickar ned till kontrollanten inte skickas till NFC CX:s NfcCxNciReadNotification-funktion . Detta krävs eftersom NFC CX NCI-tillståndsdatorn annars skulle bli osynkroniserad med de kommandon som den utbyter med NFCC.