Data Transmission Program Design For Pharmaceutical Cold Chain Monitoring System (Part 2) - IOTROUTER
Animazione Hover

Progettazione del programma di trasmissione dati per il sistema di monitoraggio della catena del freddo farmaceutica (parte 2)

2 Progettazione del software del modulo funzionale del sistema di monitoraggio

2. 1 Progettazione del modulo anti-interferenza e anti-collisione

Nel processo di raccolta e trasmissione dei dati, esistono due problemi principali di integrità dei dati: l'interferenza e il conflitto di segnale. Il sistema progetta un modulo anti-interferenza basato sul metodo di controllo della ridondanza ciclica (CRC) e utilizza un algoritmo anti-collisione per risolvere il problema del conflitto di segnale [8].

2. 1. 1 Progettazione del modulo anti-interferenza Il codice di controllo CRC utilizza la teoria della codifica lineare [9-12]. All'estremità di invio, in base ai k bit del campo di informazioni da inviare, viene generato un campo di verifica (cioè un codice CRC) di r bit secondo le regole concordate, che viene aggiunto al campo di informazioni per formare un nuovo numero di sequenza di codice binario (kr) bit. Il nuovo bit (kr) viene inviato; all'estremità ricevente, viene controllato secondo le regole concordate per determinare se c'è un errore nella trasmissione.

Nel protocollo di comunicazione dell'interfaccia utilizzato nel processo di raccolta e trasmissione dei dati (vedere Tabella 1), SN (packet auto-increment) viene utilizzato per filtrare i pacchetti di dati duplicati o persi durante il processo di controllo CRC; Head (header del pacchetto di dati) il cui contenuto è fisso è 0x02030405, utilizzato per identificare la legalità dell'identità del tag; Length è la lunghezza del pacchetto dati; DeviceID è l'ID del lettore/scrittore che carica il pacchetto dati; CMD è il codice di comando, l'intervallo è 0x000xff; data[ ] è il campo dei parametri; CheckSum è il byte CheckSum La somma cumulativa di tutti i byte precedenti modulo 256 viene utilizzata insieme a Length per verificare l'integrità dei dati.

2. 1. 2 Progettazione del modulo anticollisione Nel campo di applicazione del lettore/scrittore sono presenti più tag. Se comunicano nello stesso momento, occuperanno il canale contemporaneamente, causando un conflitto tra i dati inviati, con conseguente collisione dei dati tra i tag elettronici. Il sistema utilizza un algoritmo di ricerca ad albero binario per risolvere il problema del conflitto tra tag [13-15]. Ogni tag ha un numero di serie unico (UDI). La soluzione al problema del conflitto tra tag si basa sull'UDI.

Il modello dell'algoritmo di ricerca ad albero binario è illustrato nella Figura 3. In primo luogo, viene registrata la posizione di conflitto e l'etichetta in quella posizione viene divisa in due sottoinsiemi: 0 e 1; in secondo luogo, il sottoinsieme 0 viene interrogato. Se non c'è conflitto, l'etichetta viene identificata correttamente. Se c'è ancora un conflitto, l'etichetta viene identificata di nuovo. Dividere il sottoinsieme 0 in due sottoinsiemi: 00 e 01, e così via, fino a quando tutte le etichette del sottoinsieme 0 sono state identificate, e quindi seguire questa fase per interrogare il sottoinsieme 1.

L'algoritmo di ricerca ad albero binario utilizza la codifica Manchester. Prendendo come esempio il tag 1--11000001, il tag 2--11101011 e il tag 3--11001001, il processo dell'algoritmo di ricerca ad albero binario è il seguente. 1) Il lettore invia il comando 11111111 al tag per richiedere una risposta. Dopo la codifica, il risultato della decodifica del lettore è 11X0X0X1 e i bit D1, D3 e D5 si scontrano. 2) Impostare il bit di collisione più alto D5 su 0, i bit superiori a D5 rimangono invariati e i bit inferiori a D5 vengono impostati su 1. 3) Il lettore invia nuovamente 11011111 al comando del tag e il risultato della decodifica del lettore dopo la codifica è 1100X0X1. 4 ) Impostare il bit di collisione più alto D3 su 0, il bit superiore a D3 rimane invariato e il bit inferiore a D3 è 0. 5) Il lettore invia nuovamente il comando 11000111 al tag. A questo punto, il tag 2 non entra in collisione con altri tag e risponde al lettore. Il lettore esegue le operazioni di lettura e scrittura sul tag 2. 6) Ripetere il processo sopra descritto finché tutti i tag non rispondono al lettore. Durante il processo sopra descritto, si verificheranno situazioni in cui il tag che ha completato la risposta risponderà nuovamente. Il sistema imposta il meccanismo di giudizio per impedire che il tag risponda ripetutamente. La programmazione è: