IT202000004978A1 - Dispositivo elettronico, sistema e veicolo corrispondenti - Google Patents

Dispositivo elettronico, sistema e veicolo corrispondenti Download PDF

Info

Publication number
IT202000004978A1
IT202000004978A1 IT102020000004978A IT202000004978A IT202000004978A1 IT 202000004978 A1 IT202000004978 A1 IT 202000004978A1 IT 102020000004978 A IT102020000004978 A IT 102020000004978A IT 202000004978 A IT202000004978 A IT 202000004978A IT 202000004978 A1 IT202000004978 A1 IT 202000004978A1
Authority
IT
Italy
Prior art keywords
frame
electronic device
watchdog
circuit
frames
Prior art date
Application number
IT102020000004978A
Other languages
English (en)
Inventor
Fred Rennig
Original Assignee
Stmicroelectronics Application Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stmicroelectronics Application Gmbh filed Critical Stmicroelectronics Application Gmbh
Priority to IT102020000004978A priority Critical patent/IT202000004978A1/it
Priority to EP21158711.8A priority patent/EP3879730B1/en
Priority to US17/182,914 priority patent/US11677648B2/en
Priority to CN202110241466.0A priority patent/CN113438139B/zh
Publication of IT202000004978A1 publication Critical patent/IT202000004978A1/it
Priority to US18/309,397 priority patent/US20230269150A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06MCOUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
    • G06M1/00Design features of general application
    • G06M1/04Design features of general application for driving the stage of lowest order
    • G06M1/047Design features of general application for driving the stage of lowest order for arithmetical operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Control Of Vehicle Engines Or Engines For Specific Uses (AREA)

Description

DESCRIZIONE dell?invenzione industriale dal titolo:
?Dispositivo elettronico, sistema e veicolo corrispondenti?
TESTO DELLA DESCRIZIONE
Campo tecnico
La descrizione ? relativa alle reti di comunicazione che comportano caratteristiche di sicurezza funzionale.
Una o pi? forme di attuazione possono trovare utilizzo nelle reti di tipo automobilistico, per es., per la comunicazione tra una unit? di controllo elettronica (ECU, ?Electronic Control Unit?) in un veicolo e uno o pi? dispositivi attuatori e/o dispositivi sensori corrispondenti nel veicolo. I circuiti di pilotaggio per i moduli di illuminazione LED (per es., le luci anteriori, posteriori, interne) sono esempi di tali dispositivi.
Sfondo tecnologico
La comunicazione di dati nei sistemi critici per la sicurezza (?safety-critical?) come, per esempio, certe reti di comunicazione di tipo automobilistico pu? essere soggetta a certi requisiti di sicurezza funzionale. Per esempio, il funzionamento di una rete di comunicazione di tipo automobilistico pu? comportare di rilevare guasti secondo la specifica descritta in ISO 26262-6:2018, Appendice D 2.4.
A questo riguardo, le reti di comunicazione di tipo automobilistico di tipi noti possono implementare caratteristiche di sicurezza funzionale come un controllo di ridondanza ciclico (CRC, ?Cyclic Redundancy Check?), un indirizzamento dei dispositivi e un conteggio dei frame.
In particolare, il conteggio dei frame pu? comportare contare il numero di frame ricevuti validamente in un certo dispositivo (per es., un ricetrasmettitore) nella rete di comunicazione durante un certo intervallo di tempo, e confrontare quel numero con un numero di frame che ci si aspetta che siano ricevuti in quel dispositivo durante quell?intervallo di tempo. In altre parole, una rete di comunicazione pu? essere progettata in modo da rilevare le discordanze tra il numero di frame inviati sulla rete e il numero di frame ricevuti sulla rete, al fine di rilevare una perdita di dati e/o un inserimento di dati.
Reti di comunicazione note nella tecnica possono implementare una tale caratteristica di conteggio dei frame in software, cio?, per mezzo di un codice software in esecuzione su un?unit? di elaborazione (per es., un microcontrollore) in una unit? di controllo elettronica accoppiata alla rete. Sebbene una tale implementazione in software possa fornire un certo grado di flessibilit? e possa consentire di contare un numero totale di frame scambiati sulla rete, pu? risultare inefficiente con riferimento ad alcune applicazioni e/o costosa.
Scopo e sintesi
Uno scopo di una o pi? forme di attuazione ? superare gli inconvenienti summenzionati delle soluzioni note.
Secondo una o pi? forme di attuazione, tale scopo pu? essere raggiunto per mezzo di un dispositivo elettronico avente le caratteristiche esposte nelle rivendicazioni che seguono.
Una o pi? forme di attuazione possono essere relative a un sistema corrispondente.
Una o pi? forme di attuazione possono essere relative a un veicolo corrispondente.
Le rivendicazioni sono parte integrante dell?insegnamento tecnico qui fornito con riferimento alle forme di attuazione.
Secondo una o pi? forme di attuazione, ? fornito un dispositivo elettronico, il dispositivo elettronico essendo configurato per accoppiarsi a un bus di comunicazione per ricevere da esso segnali digitali disposti in frame comprendenti frame codificati secondo un certo protocollo di comunicazione.
Il dispositivo elettronico pu? comprendere un circuito di verifica sensibile a detti segnali digitali disposti in frame, il circuito di verifica configurato per verificare se un frame ricevuto ? codificato secondo detto protocollo di comunicazione ed ? indirizzato al dispositivo elettronico.
Il dispositivo elettronico pu? comprendere un circuito contatore di frame configurato per produrre un valore di conteggio di frame che ? funzione di un numero di frame ricevuti durante un intervallo di tempo di monitoraggio, il circuito contatore di frame accoppiato a detto circuito di verifica e configurato per aumentare detto valore di conteggio di frame come risultato di un esito positivo di detta verifica.
Il dispositivo elettronico pu? comprendere un circuito comparatore configurato per:
confrontare detto valore di conteggio di frame con un primo valore di soglia di conteggio di frame e, come risultato del fatto che detto valore di conteggio di frame ? uguale a detto primo valore di soglia di conteggio di frame, impostare un bit di stato del contatore di frame a un primo valore indicativo di un primo stato operativo (per es., normale) del dispositivo elettronico, e
confrontare detto valore di conteggio di frame con un secondo valore di soglia di conteggio di frame differente da detto primo valore di soglia di conteggio di frame e, come risultato del fatto che detto valore di conteggio di frame ? uguale a detto secondo valore di soglia di conteggio di frame, impostare detto bit di stato del contatore di frame a un secondo valore indicativo di un secondo stato operativo (per es., anomalo) del dispositivo elettronico.
Il dispositivo elettronico pu? comprendere un circuito controllore configurato per trasmettere sul bus di comunicazione un frame comprendente detto bit di stato del contatore di frame e per resettare detto valore di conteggio di frame e detto bit di stato del contatore di frame alla fine di detto intervallo di tempo di monitoraggio.
In una o pi? forme di attuazione, il circuito contatore di frame pu? comprendere un circuito contatore aritmetico modulare avente una certa profondit? di bit, e il valore di conteggio di frame pu? essere vincolato a un valore di modulo del circuito contatore aritmetico modulare.
Perci?, una o pi? forme di attuazione possono fornire un circuito contatore di frame avente una bassa occupazione di area di silicio e una complessit? ridotta.
Breve descrizione delle figure
Una o pi? forme di attuazione saranno ora descritte, a puro titolo di esempio, con riferimento alle figure annesse, nelle quali:
la Figura 1 ? uno schema a blocchi esemplificativo di una o pi? forme di attuazione, e
la Figura 2 ? uno schema a blocchi esemplificativo di un possibile funzionamento di una o pi? forme di attuazione.
Descrizione dettagliata
Nella descrizione che segue, sono illustrati uno o pi? dettagli specifici, allo scopo di fornire una comprensione approfondita di esempi di forme di attuazione di questa descrizione. Le forme di attuazione possono essere ottenute senza uno o pi? dei dettagli specifici o con altri procedimenti, componenti, materiali, ecc. In altri casi, operazioni, materiali o strutture note non sono illustrate o descritte in dettaglio in modo tale che certi aspetti delle forme di attuazione non saranno resi poco chiari.
Un riferimento a ?una forma di attuazione? nel quadro della presente descrizione intende indicare che una particolare configurazione, struttura, o caratteristica descritta con riferimento alla forma di attuazione ? compresa in almeno una forma di attuazione. Per cui, le frasi come ?in una forma di attuazione? che possono essere presenti in uno o pi? punti della presente descrizione non fanno necessariamente riferimento proprio alla stessa forma di attuazione. Inoltre, particolari conformazioni, strutture o caratteristiche possono essere combinate in un modo adeguato qualsiasi in una o pi? forme di attuazione.
In tutte le figure qui annesse, le parti o gli elementi simili sono indicati con riferimenti/numeri simili e una descrizione corrispondente non sar? ripetuta per brevit?.
I riferimenti usati qui sono forniti semplicemente per convenienza e quindi non definiscono l?ambito di protezione o l?ambito delle forme di attuazione.
A titolo di introduzione alla descrizione dettagliata di esempi di forme di attuazione, si pu? fare riferimento dapprima alla Figura 1, che ? esemplificativa di certi componenti di un dispositivo D secondo una o pi? forme di attuazione.
Il dispositivo D pu? essere configurato come un dispositivo slave o ?satellite? per l?uso in una rete di comunicazione (per es., una rete bus di tipo automobilistico). Per esempio, il dispositivo D pu? implementare un circuito di pilotaggio per un modulo di illuminazione LED in un veicolo. Cos?, il dispositivo D pu? ricevere frame di dati da un dispositivo master (per es., una ECU nel veicolo, non visibile nella Figura 1) per controllare il funzionamento (per es., attivazione e disattivazione) del rispettivo modulo di illuminazione LED.
Il dispositivo D pu? comprendere un circuito ricetrasmettitore TC configurato per accoppiarsi a un bus di comunicazione B per scambiare frame di dati sul bus. Il bus di comunicazione B pu? comprendere, per esempio, un bus CAN (Controller Area Network).
Il dispositivo D pu? comprendere un circuito controllore 10 che gestisce la comunicazione (cio?, lo scambio di frame) sul bus B. Il circuito controllore 10 pu? essere implementato per mezzo di un hardware specifico per l?applicazione (ASIC) per ridurre la richiesta di processori embedded per eseguire il software, e pu? essere configurato per implementare uno specifico protocollo di comunicazione. Per esempio, il circuito controllore 10 pu? essere configurato per scambiare, sul bus B, frame codificati secondo il formato CAN FD, dove il bus B funziona secondo un?architettura master-slave.
Perci?, un circuito controllore 10 come esemplificato nella Figura 1 pu? comprendere:
un controllore di comunicazione 100,
un controllore di protocollo 101, comprendente a sua volta un circuito trasmettitore 102, un circuito contatore di errori di trasmissione (TEC, ?Transmit Error Counter?) 103, un circuito ricevitore 104 e un circuito contatore di errori di ricezione (REC, ?Receive Error Counter?) 105, e un oscillatore 106, opzionalmente di un tipo compensato in tensione, processo e temperatura e/o trimmerato in modo corrispondente.
In una o pi? forme di attuazione, il circuito trasmettitore 102 e il circuito ricevitore 104 possono essere configurati in modo da cooperare con il circuito ricetrasmettitore TC (per es., un circuito ricetrasmettitore CAN FD) per comunicare sul bus B con altri dispositivi accoppiati a esso. Per esempio, il controllore di comunicazione 100 pu? inviare dati di uscita TD al controllore di protocollo 101, che pu? elaborare i dati di uscita TD per generare un corrispondente segnale di trasmissione TX codificato che ? trasmesso sul bus B dal circuito ricetrasmettitore TC. Similmente, il controllore di protocollo 101 pu? ricevere un segnale di ricezione RX codificato dal bus B attraverso il circuito ricetrasmettitore TC, e pu? elaborare il segnale di ricezione RX codificato per generare corrispondenti dati di ingresso RD che sono inviati al controllore di comunicazione 100.
In una o pi? forme di attuazione, il circuito trasmettitore 102 pu? essere configurato per effettuare una preparazione del frame (102a), un riempimento (?stuffing?) di bit (102b), un inserimento del CRC (102c), un controllo di errore del frame (102d), un conteggio degli errori (102e) e un riscontro (?acknowledge?) (102f).
In una o pi? forme di attuazione, il circuito ricevitore 104 pu? essere configurato per effettuare una decodifica di bit (campionamento ? 104a), una rilevazione di errore (104b), uno svuotamento (?destuffing?) di bit (104c), una verifica del CRC (104d) e una generazione del riscontro (104e).
Il documento EP 3547 620 A1 ? un esempio dell?attivit? precedente in questo campo, che rende superfluo fornire qui una descrizione pi? dettagliata.
Si nota che il verificarsi di guasti nei sistemi di comunicazione critici per la sicurezza pu? avere come risultato una perdita di frame, che pu? condurre a rischi per la sicurezza. Per esempio, se il bus di comunicazione B ? usato in un sistema di illuminazione di tipo automobilistico, la perdita di uno o pi? frame pu? avere come risultato che le luci (per es., le luci dei freni) non riescono ad attivarsi (per es., accendersi) in modo appropriato quando sono pilotate per farlo. Secondo un altro esempio, il bus di comunicazione B pu? essere usato per raccogliere dati da uno o pi? sensori nel veicolo, cosicch? la perdita di uno o pi? frame pu? avere come risultato la perdita di dati provenienti dai sensori.
Tale perdita di frame pu? essere dovuta, per esempio, a una distorsione occasionale della comunicazione e/o a un jitter nella trasmissione dei frame.
Perci?, una o pi? forme di attuazione possono avere come scopo rilevare le discordanze tra un numero di frame che ci si aspetta di ricevere in un certo dispositivo D durante un certo intervallo di tempo di monitoraggio, e un numero di frame che sono effettivamente ricevuti nel dispositivo D durante quell?intervallo di tempo di monitoraggio.
In particolare, siccome il controllore di comunicazione 100 e il controllore di protocollo 101 possono essere integrati in modo monolitico nel dispositivo D (per es., nel circuito controllore 10), pu? essere desiderata un?implementazione hardware di un circuito contatore di frame all?interno del dispositivo D.
Una prima soluzione possibile pu? comportare implementare un cosiddetto circuito contatore ?diretto? all?interno del circuito controllore 10. Il circuito contatore diretto pu? essere configurato per contare il numero totale di frame ricevuti nel dispositivo D durante un intervallo di monitoraggio e per confrontarlo con un numero totale di frame atteso.
L?inventore ha notato che il numero di frame ricevuti in un intervallo di monitoraggio pu? essere piuttosto elevato. Puramente a titolo di esempio, un intervallo di monitoraggio pu? durare circa 10 ms, 50 ms, 100 ms, 150 ms, o altri multipli di 10 ms, e il numero corrispondente di frame ricevuti pu? essere approssimativamente uguale a 15, 75, 150, 225 (di nuovo, questi valori sono forniti puramente a titolo di esempi non limitativi).
Perci?, una soluzione che comporta un contatore ?diretto? pu? risultare essere esigente in termini di risorse, nella misura in cui un elevato numero di frame ricevuti comporterebbe l?implementazione di un grande contatore nel dispositivo di ricezione.
Cos?, una o pi? forme di attuazione possono avere come scopo rilevare una discordanza tra il numero atteso e il numero effettivo di frame ricevuti nel dispositivo D, senza la necessit? di tenere traccia del numero totale di frame ricevuti durante un intervallo di monitoraggio. Di conseguenza, la complessit? del circuito contatore di frame e la sua occupazione di area di silicio possono essere ridotte.
Siccome un certo numero di frame possono essere corrotti o possono essere persi (ed eventualmente reinviati) o possono essere soggetti a un jitter di comunicazione che fa s? che un frame sia ricevuto prima o dopo di quando ci si aspetti, senza compromettere la sicurezza del sistema (cio?, senza perdere l?integrit? della comunicazione), una o pi? forme di attuazione possono essere configurate per adottare contromisure dopo aver confrontato il numero di frame ricevuti con uno o pi? valori di soglia. In altre parole, pu? essere impostato un certo margine di tolleranza, in modo tale che il dispositivo D possa reagire come risultato del fatto che il numero di frame ricevuti ? al di fuori di un certo intervallo accettato intorno al numero atteso di frame. Opzionalmente, i valori di soglia possono essere programmabili.
Un dispositivo D come esemplificato nella Figura 1, che pu? comprendere un controllore di comunicazione 100 e un controllore di protocollo 101 completamente integrati nel circuito controllore 10, pu? comportare un circuito contatore di frame 107 integrato (cio?, implementato in hardware) configurato per:
aggiornare un valore di contatore a ciascun frame valido RD ricevuto nel dispositivo D in un certo intervallo di monitoraggio,
confrontare il valore del contatore con uno o pi? valori di riferimento (o soglie),
rilevare, in funzione di detto confronto, una discordanza del conteggio dei frame indicativa di un possibile malfunzionamento della comunicazione, e
allo scadere dell?intervallo di monitoraggio, reagire di conseguenza alla rilevazione di un malfunzionamento della comunicazione.
Una o pi? forme di attuazione possono fornire vantaggiosamente un circuito contatore di frame 107 che ha una bassa complessit? hardware, risultando cos? in una soluzione efficace come costo.
In una o pi? forme di attuazione, il circuito contatore di frame 107 pu? essere configurato per confrontare il numero di frame ricevuti con una o pi? soglie regolabili, persino su una grande quantit? di frame ricevuti entro un periodo di conteggio.
In particolare, una o pi? forme di attuazione possono fare affidamento sul riconoscimento che, in implementazioni di reti reali, la differenza tra i frame ricevuti e quelli attesi pu? essere piuttosto piccola se confrontata con il numero totale di frame scambiati durante l?intervallo di tempo di monitoraggio, il che rende inutile contare il numero totale (assoluto) di frame ricevuti durante l?intervallo di tempo di monitoraggio. Invece, si pu? fare ricorso a una aritmetica modulare per un conteggio efficiente dei frame.
Per esempio, ci si pu? aspettare di ricevere un certo numero fE di frame nel dispositivo D durante un certo intervallo di monitoraggio. In base agli obiettivi di sicurezza funzionale della specifica applicazione, il progettista della rete di comunicazione pu? cos? definire i seguenti parametri:
fH = fE + mH;
fL = fE ? mL;
tH = fE + sH;
tL = fE + sL;
in cui fH ? un numero di frame ricevuti al di sopra del quale si ritiene che sia avvenuto un malfunzionamento della comunicazione (mH essendo un margine di errore superiore accettabile), fL ? un numero di frame ricevuti al di sotto del quale si ritiene che sia avvenuto un malfunzionamento della comunicazione (mL essendo un margine di errore inferiore accettabile), tH ? un numero massimo di frame che possono essere ragionevolmente ricevuti nel dispositivo D durante l?intervallo di monitoraggio, e tL ? un numero minimo di frame che possono essere ragionevolmente ricevuti nel dispositivo D durante l?intervallo di monitoraggio.
Puramente a titolo di esempio, si possono considerare i seguenti valori:
fE = 150 frame;
fH = 152 frame;
fL = 148 frame;
tH = 153 frame;
tL = 147 frame.
Ancora a titolo di esempio, facendo ricorso a un conteggio modulo 16 (eventualmente implementato per mezzo di un semplice circuito contatore in avanti a 4 bit), i valori precedenti possono essere scritti come:
fE = 6 (mod 16);
fH = 8 (mod 16);
fL = 4 (mod 16);
tH = 9 (mod 16);
tL = 3 (mod 16).
Perci?, una o pi? forme di attuazione possono fare affidamento sul fatto di confrontare il numero di frame fA (mod i) ricevuti effettivamente durante un intervallo di monitoraggio con una soglia inferiore fL e/o una soglia superiore fH, al fine di determinare se il numero di frame ricevuti ? all?interno di un intervallo accettabile oppure no.
L?inventore ha notato che se fE (mod i) ? vicino a zero (per es., uguale a 0 o 1) o ? vicino a i (per es., uguale a i-1), allora pu? capitare che fH (mod i) e tH (mod i) siano inferiori a fL (mod i) e a tL (mod i). Perci?, il progettista della rete di comunicazione pu? selezionare il valore di i (per es., selezionando il numero dei bit del circuito contatore) e/o la durata dell?intervallo di tempo di monitoraggio in modo da avere come risultato che fE (mod i) sia sufficientemente lontano dai valori estremi zero e i (per es., 1 < fE (mod i) < i-1), fornendo con ci? un funzionamento corretto del circuito contatore sotto la condizione tH (mod i) > tL (mod i).
Il confronto descritto in precedenza pu? fornire una rilevazione accurata dei malfunzionamenti a condizione che la differenza tra il numero di frame ricevuti effettivamente fA e il numero di frame attesi fE sia inferiore a i. In una o pi? forme di attuazione, si pu? ipotizzare che una tale condizione sia soddisfatta, almeno nella misura in cui la rete di comunicazione pu? comprendere caratteristiche di sicurezza aggiuntive che sono atte a rilevare discordanze tra il numero di frame inviati e ricevuti che superano il valore i.
In una o pi? forme di attuazione, la durata dell?intervallo di monitoraggio pu? essere determinata durante una fase di progetto del dispositivo D, a seconda dei requisiti dell?applicazione.
In alternativa, in una o pi? forme di attuazione la durata dell?intervallo di monitoraggio pu? essere programmabile, eventualmente ?on the fly? (per es., il circuito contatore di frame 107 pu? essere programmato per mezzo di un frame di programmazione dedicato ricevuto sul bus B).
In una o pi? forme di attuazione, la durata dell?intervallo di monitoraggio pu? essere determinata in funzione di un trigger di watchdog. In particolare, un bit di watchdog pu? essere memorizzato in un registro locale all?interno del dispositivo D, e il valore del bit di watchdog pu? essere fatto commutare a intervalli di tempo regolari (cio?, periodicamente). Il dispositivo D pu? comprendere un contatore di eventi di watchdog (per es., un contatore a 3 bit) che conta il numero di eventi di commutazione del bit di watchdog. In una o pi? forme di attuazione, l?intervallo di monitoraggio pu? terminare come risultato del fatto che il contatore di eventi di watchdog raggiunge un certo valore di soglia (per es., cinque eventi di commutazione, tre eventi di commutazione, o perfino un evento di commutazione). Cos?, il circuito contatore di frame 107 pu? essere configurato per adottare come intervallo di monitoraggio l?intervallo di tempo tra due eventi di commutazione di watchdog consecutivi, o tra uno ogni due eventi di commutazione, oppure tra uno ogni tre eventi di commutazione, e cos? via.
In una o pi? forme di attuazione, il numero di eventi di commutazione di watchdog consecutivi che definiscono un intervallo di tempo di monitoraggio pu? essere determinato durante una fase di progetto del dispositivo D, a seconda dei requisiti dell?applicazione.
In alternativa, in una o pi? forme di attuazione il numero di eventi di commutazione di watchdog consecutivi che definiscono un intervallo di tempo di monitoraggio pu? essere programmabile, eventualmente ?on the fly? (per es., il circuito contatore di frame 107 pu? essere programmato per mezzo di un frame di programmazione dedicato ricevuto sul bus B). Cos?, il valore di soglia di eventi di watchdog pu? essere memorizzato in un registro che ? leggibile e scrivibile mediante un accesso al bus. Pu? cos? essere fornito un funzionamento flessibile del circuito contatore di frame 107, nella misura in cui il numero di frame attesi tra due eventi di commutazione di watchdog consecutivi pu? non essere costante, ma pu? essere costante, per es., tra cinque eventi di commutazione di watchdog consecutivi.
Il valore del bit di watchdog pu? essere fatto commutare a intervalli di tempo regolari facendo ricorso a varie soluzioni. Per esempio, in una o pi? forme di attuazione, il bit di watchdog pu? commutare regolarmente come pilotato dall?oscillatore interno 106 del circuito controllore 10. In aggiunta o in alternativa, il bit di watchdog pu? commutare come risultato di un segnale ricevuto nel dispositivo D mediante il bus B. Per esempio, il bit di watchdog pu? commutare alla ricezione di un frame di watchdog che ? inviato periodicamente sul bus B e ricevuto nel dispositivo D.
In una o pi? forme di attuazione, i valori della soglia superiore fH e della soglia inferiore fL possono essere determinati durante una fase di progetto del dispositivo D, a seconda dei requisiti dell?applicazione.
In alternativa, in una o pi? forme di attuazione i valori della soglia superiore fH e della soglia inferiore fL possono essere programmabili, eventualmente ?on the fly?. La programmazione dei valori delle soglie fH e fL pu? essere utile, per esempio, per adattarsi a una differente durata dell?intervallo di tempo di monitoraggio e/o a differenti applicazioni che hanno differenti requisiti di sicurezza. Cos?, la soglia superiore fH e la soglia inferiore fL possono essere memorizzate in registri che sono leggibili e scrivibili mediante un accesso al bus.
In una o pi? forme di attuazione, il circuito contatore di frame 107 pu? essere resettato alla fine di ciascun intervallo di monitoraggio. In alcune forme di attuazione, il reset pu? essere effettuato (soltanto) alla fine dell?intervallo di monitoraggio prescritto, aumentando con ci? la sicurezza funzionale a scapito di una flessibilit? di funzionamento ridotta. Opzionalmente, pu? essere effettuato un reset arbitrario in funzione di un segnale di reset ricevuto nel dispositivo D da una sorgente arbitraria (per es., un dispositivo master accoppiato al bus B).
Perci?, in una o pi? forme di attuazione il circuito contatore di frame 107 pu? comprendere un contatore in avanti a N bit che aggiorna un valore del contatore interno a ciascun frame valido ricevuto nel dispositivo D. Quando il contatore in avanti a N bit raggiunge il suo valore massimo (cio?, 2<N>-1), ha un overflow (cio?, inizia a contare di nuovo da zero) senza la necessit? di tenere traccia di un bit di riporto.
In generale, il contatore in avanti a N bit pu? avere una profondit? di bit inferiore alla profondit? di bit che sarebbe implementata per contare il numero totale di frame ricevuti durante un intervallo di tempo di monitoraggio. Per esempio, se ci si aspetta che un numero j di frame siano ricevuti nel dispositivo D in un intervallo di tempo di monitoraggio, un contatore ?diretto? avrebbe una profondit? di bit superiore alla parte intera di log2(j). Il contatore in avanti a N bit secondo una o pi? forme di attuazione pu? avere una profondit? di bit uguale o inferiore alla parte intera di log2(j).
A titolo di esempio, in una o pi? forme di attuazione il contatore in avanti a N bit pu? essere un contatore a 5 bit. In un altro esempio, il contatore in avanti a N bit pu? essere un contatore a 4 bit. In un altro esempio, il contatore in avanti a N bit pu? essere un contatore a 3 bit. In un altro esempio, il contatore in avanti a N bit pu? essere un contatore a 2 bit. In certe forme di attuazione, in cui il numero atteso di guasti ? basso, il contatore in avanti a N bit pu? essere un contatore a 1 bit.
Il valore del contatore interno pu? essere memorizzato in un registro leggibile mediante accesso al bus. Il registro pu? non essere scrivibile mediante un accesso al bus.
L?implementazione del contatore in avanti a N bit con un basso numero di bit (per es., un qualsiasi intero inferiore o uguale a 5) pu? avere come risultato un bassa occupazione di area di silicio e una complessit? ridotta del circuito contatore e/o del circuito comparatore (dei circuiti comparatori).
Come risultato del fatto che ? rilevata una discordanza tra il numero atteso e quello effettivo di frame ricevuti, possono essere adottate una o pi? contromisure. Per esempio, pu? essere impostato un segnale di flag indicativo di un potenziale problema o malfunzionamento e/o il dispositivo D di ricezione pu? essere impostato (per es., forzato) in una modalit? a prova di guasto (?fail-safe?). Generalmente, il valore di conteggio di frame pu? essere letto attraverso il bus di comunicazione B (per es., da un dispositivo master accoppiato al bus B).
In una o pi? forme di attuazione, il circuito contatore di frame 107 pu? cos? essere configurato per funzionare secondo il flusso di funzionamento esemplificativo illustrato nella Figura 2.
In una fase di reset 200, il circuito contatore di frame 107 pu? essere resettato. Perci?:
il contatore di frame interno FC (per es., un valore di 5 bit, un valore di 4 bit, un valore di 3 bit, un valore di 2 bit o perfino un valore di 1 bit) pu? essere impostato a zero;
il valore di uscita dello stato del contatore di frame FCTS (per es., un valore di 1 bit) indicativo dello stato corrente del circuito contatore di frame 107 pu? essere impostato a zero;
la soglia inferiore del contatore FCTL, che ha lo stesso numero di bit del contatore di frame FC, pu? essere impostata a zero;
la soglia superiore del contatore FCTU, che ha lo stesso numero di bit del contatore di frame FC, pu? essere impostata a zero;
il contatore di watchdog WDC (per es., un valore di 3 bit) pu? essere impostato a zero; e
la soglia di watchdog WDCT, che ha lo stesso numero di bit del contatore di watchdog WDC, pu? essere impostata a zero.
In una fase di inizializzazione 201, i valori della soglia inferiore del contatore FCTL, della soglia superiore del contatore FCTU e della soglia di watchdog WDCT possono essere inizializzati leggendoli da una memoria del dispositivo. Per esempio, una tale memoria del dispositivo pu? essere una memoria scrivibile configurata per essere scritta come risultato della ricezione di un frame dedicato o di un messaggio dedicato.
In una fase 203, il dispositivo D pu? attendere dati in arrivo (per es., un frame in arrivo) da ricevere sul bus di comunicazione B. La ricezione di un frame ? esemplificata dal blocco di ingresso di dati 202. Una volta che ? ricevuto un frame, la fase 203 pu? comprendere analizzare il frame ricevuto. Per esempio, il frame ricevuto pu? essere codificato secondo un formato CAN FD, e l?analisi del frame effettuata nella fase 203 pu? includere il controllo del CRC, il riempimento di bit, ecc.
Come esemplificato nella Figura 2, la fase di inizializzazione 201 pu? essere effettuata prima di ricevere un trigger di watchdog (cio?, un evento di commutazione del bit di watchdog) e/o prima di analizzare un frame successivo. Cos?, in una o pi? forme di attuazione i valori della soglia inferiore del contatore FCTL, della soglia superiore del contatore FCTU e della soglia di watchdog WDCT possono essere aggiornati prima di essere valutati.
In una fase 204, pu? essere determinato, in base all?esito della fase di analisi 203, se il frame ricevuto ? un frame valido (esito positivo, Y, del blocco 204) oppure no (esito negativo, N, del blocco 204).
Come risultato di un esito negativo della fase 204, il circuito contatore di frame 107 pu? non intraprendere alcuna azione, e il funzionamento pu? continuare dalla fase 201, cio?, il dispositivo D pu? aggiornare i valori delle soglie FCTL, FCTU, WDCT e pu? quindi continuare ad attendere i frame dal bus B.
Come risultato di un esito positivo della fase 204, il funzionamento pu? continuare con una fase 205, che pu? comprendere determinare se il frame ricevuto ? indirizzato al dispositivo ricevitore D (esito positivo, Y, del blocco 205) oppure no (esito negativo, N, del blocco 205).
Come risultato di un esito negativo della fase 205, il circuito contatore di frame 107 pu? non intraprendere alcuna azione, e il funzionamento pu? continuare dalla fase 201, cio?, il dispositivo D pu? aggiornare i valori delle soglie FCTL, FCTU, WDCT e pu? quindi continuare ad attendere i frame dal bus B.
Come risultato di un esito positivo della fase 205, il funzionamento pu? continuare con una fase 206, dove pu? essere determinato se ? stato ricevuto un trigger di watchdog nel dispositivo D (esito positivo, Y, del blocco 206) oppure no (esito negativo, N, del blocco 206).
Come risultato di un esito negativo della fase 206, il funzionamento pu? continuare con una fase 207, che pu? comprendere incrementare il valore FC del contatore di frame (per es., di una unit?).
In una fase 208 seguente, pu? essere verificato se il valore corrente del contatore di frame FC ? uguale alla soglia inferiore del contatore FCTL (esito positivo, Y, del blocco 208) oppure no (esito negativo, N, del blocco 208).
Come risultato di un esito positivo della fase 208, il valore di uscita dello stato del contatore di frame FCTS pu? essere impostato (in una fase 209) a un primo valore (per es., 1) indicativo del fatto che il numero di frame ricevuti ? entro l'intervallo di frame che ci si aspetta di ricevere durante l?intervallo di monitoraggio. Dopo avere impostato il valore di uscita dello stato del contatore di frame FCTS al primo valore, il funzionamento pu? continuare dalla fase 201.
Come risultato di un esito negativo della fase 208, il funzionamento pu? continuare con una fase 210, che pu? comprendere verificare se il valore corrente del contatore di frame FC ? uguale alla soglia superiore del contatore FCTU (esito positivo, Y, del blocco 210) oppure no (esito negativo, N, del blocco 210).
Come risultato di un esito positivo della fase 210, il valore di uscita dello stato del contatore di frame FCTS pu? essere impostato (in una fase 211) a un secondo valore (per es., 0) indicativo del fatto che il numero di frame ricevuti non ? entro l?intervallo di frame che ci si aspetta di ricevere durante l?intervallo di monitoraggio. Dopo avere impostato il valore di uscita dello stato del contatore di frame FCTS al secondo valore, il funzionamento pu? continuare dalla fase 201.
Come risultato di un esito negativo della fase 210, il circuito contatore di frame 107 pu? non intraprendere alcuna azione, e il funzionamento pu? continuare dalla fase 201.
Come risultato di un esito positivo della fase 206, il funzionamento pu? continuare con una fase 212, che pu? comprendere aumentare il valore WDC del contatore di watchdog (per es., di una unit?).
In aggiunta, come risultato di un esito positivo della fase 206, il dispositivo D pu? trasmettere un frame (per es., un frame SPI) per comunicare il valore corrente dell?uscita dello stato del contatore di frame FCTS, per es., a un dispositivo master accoppiato al bus B. Questa operazione ? esemplificata dal blocco di uscita di dati 212a della Figura 2.
In alternativa, il dispositivo D pu? trasmettere un tale frame comprendente il valore corrente dell?uscita dello stato del contatore di frame FCTS soltanto come risultato del fatto che il contatore di watchdog WDC ? uguale alla soglia di watchdog WDCT.
Dopo la fase 212, il funzionamento pu? continuare con una fase 213 seguente, che comprende verificare se il valore corrente del contatore di watchdog WDC ? uguale alla soglia di watchdog WDCT (esito positivo, Y, del blocco 213) oppure no (esito negativo, N, del blocco 213).
Come risultato di un esito negativo della fase 213, il funzionamento pu? continuare dalla fase 208.
Come risultato di un esito positivo della fase 213, il funzionamento pu? continuare con una fase 214, che pu? comprendere resettare il valore del contatore di frame FC, il valore di uscita dello stato del contatore di frame FCTS e il valore del contatore di watchdog WDC.
Dopo la fase 214, il funzionamento pu? continuare con una fase 208. In alternativa, dopo la fase 214 il funzionamento pu? continuare con una fase 201.
Generalmente, come risultato delle fasi 204 e 205, sono contati (tutti) i frame validi indirizzati al dispositivo D.
Per esempio, il fatto di ricevere uno dei frame seguenti pu? avere come risultato un incremento del valore del contatore di frame FC: frame unicast indirizzati al dispositivo D, frame broadcast che hanno un ID di catena che concorda con l?ID di catena del dispositivo D e pertanto sono indirizzate al dispositivo D, e frame di inizializzazione della catena.
D?altra parte, come risultato delle fasi 204 e 205, il fatto di ricevere uno dei frame seguenti pu? non avere come risultato un incremento del valore del contatore di frame FC: frame con errori, frame unicast indirizzati a un altro dispositivo accoppiato al bus B (differente dal dispositivo D), frame broadcast che hanno un ID di catena che non concorda con l?ID di catena del dispositivo D e pertanto non sono indirizzati al dispositivo D, frame di risveglio (?wake-up?) e frame di sincronizzazione.
In una o pi? forme di attuazione, il valore dell?uscita di stato del contatore di frame FCTS alla fine di un intervallo di monitoraggio (cio?, al momento di un trigger di watchdog che causa un reset del contatore di frame FC e del contatore di watchdog WDC) pu? essere usato per forzare il dispositivo D in una modalit? a prova di guasto. Questo pu? essere ottenuto, per esempio, in due modi differenti.
Secondo una prima opzione, un dispositivo master accoppiato al bus B e atto a leggere il valore dell?uscita di stato del contatore di frame FCTS pu? inviare un comando per forzare il dispositivo D in una modalit? a prova di guasto.
Secondo una seconda opzione, il dispositivo D pu? essere provvisto di un timer di watchdog, cio?, un timer che ci si aspetta che sia resettato periodicamente a zero, al fine di indicare un funzionamento corretto del dispositivo. In tal caso, il dispositivo D pu? essere configurato per commutare a una modalit? a prova di guasto come risultato del fatto che il timer di watchdog raggiunge un certo valore di soglia. Perci?, una o pi? forme di attuazione possono essere configurate per impedire di resettare il timer di watchdog (che causerebbe una commutazione del dispositivo D alla modalit? a prova di guasto allo scadere del timer di watchdog) come risultato del fatto che il valore di uscita dello stato del contatore di frame FCTS ? indicativo di un possibile problema di comunicazione.
In una o pi? forme di attuazione, la prima opzione o la seconda opzione per forzare il dispositivo D in una modalit? a prova di guasto pu? essere selezionata per mezzo di un bit di configurazione in una memoria non volatile (NVM, ?Non-Volatile Memory?) nel dispositivo D.
Una o pi? forme di attuazione possono cos? fornire sicurezza funzionale in una rete di comunicazione favorendo la rilevazione di:
una ripetizione di informazioni (nella misura in cui il circuito contatore di frame conta i messaggi ricevuti, comprendendo i messaggi broadcast indirizzati al dispositivo D; nel caso in cui il numero dei messaggi ricevuti sia pi? alto del numero dei messaggi attesi, pu? essere rilevata una ripetizione);
una perdita di informazioni (nella misura in cui il circuito contatore di frame conta i messaggi ricevuti, comprendendo i messaggi broadcast indirizzati al dispositivo D; nel caso in cui il numero dei messaggi ricevuti sia pi? basso del numero dei messaggi attesi, pu? essere rilevata una perdita di informazioni);
un ritardo di informazioni (per es., nel caso in cui il numero dei messaggi contati in un certo istante di reset del contatore di frame sia pi? basso di quanto ci si aspetti e in un successivo istante di reset del contatore di frame sia pi? alto di quanto ci si aspetti; questa condizione pu? essere indicativa del fatto che sono perse informazioni in un primo intervallo di monitoraggio e sono ripetute in un secondo intervallo di monitoraggio seguente, o che informazioni sono ritardate da un intervallo di monitoraggio al successivo);
un inserimento di informazioni (che pu? essere rilevato allo stesso modo della ripetizione di informazioni);
un mascheramento o un indirizzamento scorretto di informazioni (nella misura in cui frame indirizzati in modo scorretto possono fare s? che un dispositivo nella rete riceva pi? frame di quelli attesi e che un altro dispositivo nella rete riceva meno frame di quelli attesi);
una sequenza scorretta di informazioni (per es., rileggendo il contenuto del contatore di frame immediatamente dopo che il frame ? stato inviato; il contenuto del contatore di frame atteso ? confrontato con il contenuto del contatore di frame reale che appartiene a questo messaggio, e una sequenza scorretta pu? essere rilevata nel caso in cui il contenuto del contatore di messaggi non concordi con il valore atteso);
una corruzione di informazioni (nella misura in cui una corruzione di informazioni ? rilevata mediante un valore di CRC che non concorda, il che fa s? che il frame in arrivo sia scartato e non sia contato poich? ? classificato come non valido; come risultato, il valore del contatore di frame pu? essere inferiore a quello atteso e pu? essere rilevato un frame corrotto);
informazioni asimmetriche inviate da un mittente a destinatari multipli (per es., nella misura in cui, nelle reti CAN FD Light, ogni messaggio pu? essere indirizzato a un destinatario dedicato; l?indirizzamento a destinatari multipli pu? essere causato da un frame corrotto o da un dispositivo ricevitore che funziona scorrettamente che prende messaggi non indirizzati a lui; nel primo caso, un frame corrotto pu? essere rilevato da una discordanza del CRC mentre, nel secondo caso, un funzionamento scorretto del dispositivo ricevitore pu? essere rilevato siccome il contatore di frame corrispondente ha un valore pi? alto di quello atteso);
informazioni provenienti da un mittente ricevute soltanto da un sottoinsieme dei destinatari previsti (nella misura in cui i dispositivi che non hanno ricevuto un messaggio previsto per loro possono avere un valore del contatore di frame che ? pi? basso di quello atteso; perci?, pu? avere luogo una rilevazione simile a quella per il caso della ?perdita di informazioni?);
un blocco dell?accesso a un canale di comunicazione (frame che non sono ricevuti dai destinatari non sono contati e il valore del contatore di frame corrispondente non concorda con il valore atteso; il blocco del canale di comunicazione pu? anche essere rilevato se il master invia un messaggio unicast e non riceve una risposta; se il frame unicast che fa commutare il watchdog ? bloccato, il watchdog non ? azionato e il dispositivo pu? entrare eventualmente in uno stato a prova di guasto).
Come qui esemplificato, un dispositivo elettronico (per es., D) pu? essere configurato per accoppiarsi (per es., TC) a un bus di comunicazione (per es., B) per ricevere da esso segnali digitali disposti in frame comprendenti frame codificati secondo un certo protocollo di comunicazione. Il dispositivo elettronico pu? comprendere:
un circuito di verifica sensibile a detti segnali digitali disposti in frame, il circuito di verifica configurato per verificare (per es., 203, 204, 205) se un frame ricevuto ? codificato secondo detto protocollo di comunicazione ed ? indirizzato al dispositivo elettronico, un circuito contatore di frame configurato per produrre un valore di conteggio di frame che ? funzione di un numero di frame ricevuti durante un intervallo di tempo di monitoraggio, il circuito contatore di frame accoppiato a detto circuito di verifica e configurato per aumentare detto valore di conteggio di frame come risultato di un esito positivo di detta verifica,
un circuito comparatore configurato per:
confrontare (per es., 208) detto valore di conteggio di frame con un primo valore di soglia di conteggio di frame e, come risultato del fatto che detto valore di conteggio di frame ? uguale a detto primo valore di soglia di conteggio di frame, impostare un bit di stato del contatore di frame a un primo valore indicativo di un primo stato operativo (per es., normale) del dispositivo elettronico,
confrontare (per es., 210) detto valore di conteggio di frame con un secondo valore di soglia di conteggio di frame differente da detto primo valore di soglia di conteggio di frame e, come risultato del fatto che detto valore di conteggio di frame ? uguale a detto secondo valore di soglia di conteggio di frame, impostare detto bit di stato del contatore di frame a un secondo valore indicativo di un secondo stato operativo (per es., anomalo) del dispositivo elettronico,
un circuito controllore (per es., 10) configurato per trasmettere (per es., 212a) sul bus di comunicazione un frame comprendente detto bit di stato del contatore di frame e per resettare (per es., 214) detto valore di conteggio di frame e detto bit di stato del contatore di frame alla fine di detto intervallo di tempo di monitoraggio.
Come qui esemplificato, il circuito contatore di frame pu? comprendere un circuito contatore aritmetico modulare (per es., un contatore in avanti senza bit di riporto) avente una certa profondit? di bit, e il valore di conteggio di frame pu? essere vincolato a un valore di modulo del circuito contatore aritmetico modulare.
Come qui esemplificato, il dispositivo elettronico pu? essere configurato per ricevere un numero j di frame durante detto intervallo di tempo di monitoraggio, e il circuito contatore aritmetico modulare pu? avere una profondit? di bit non zero uguale o inferiore alla parte intera di log2(j).
Come qui esemplificato, detto circuito comparatore pu? avere una profondit? di bit uguale alla profondit? di bit di detto circuito contatore aritmetico modulare.
Come qui esemplificato, il circuito contatore aritmetico modulare pu? avere una profondit? di bit non zero uguale a cinque o inferiore, preferibilmente una profondit? di bit uguale a tre, pi? preferibilmente una profondit? di bit uguale a uno.
Come qui esemplificato, un dispositivo elettronico pu? comprendere almeno un registro configurato per memorizzare detto primo valore di soglia di conteggio di frame e detto secondo valore di soglia di conteggio di frame, l?almeno un registro essendo accessibile tramite detto bus di comunicazione in modalit? di lettura e in modalit? di scrittura.
Come qui esemplificato, un dispositivo elettronico pu? comprendere circuiteria di rilevamento di watchdog configurata per rilevare eventi di watchdog che si verificano in certi intervalli di tempo e comprendente un circuito contatore di eventi di watchdog configurato per fornire un valore di conteggio di watchdog di eventi di watchdog rilevati. La circuiteria di rilevamento di watchdog pu? essere configurata per produrre, come risultato del fatto che ? rilevato un evento di watchdog: la trasmissione sul bus di comunicazione di un frame comprendente detto bit di stato del contatore di frame, un incremento di detto valore di conteggio di watchdog,
un confronto (per es., 213) di detto valore di conteggio di watchdog con un valore di soglia di conteggio di watchdog e, come risultato del fatto che detto valore di conteggio di watchdog ? uguale a detto valore di soglia di conteggio di watchdog, un reset di detto valore di conteggio di frame, di detto bit di stato del contatore di frame e di detto valore di conteggio di watchdog.
Come qui esemplificato, un dispositivo elettronico pu? comprendere almeno un registro configurato per memorizzare detto valore di soglia di conteggio di watchdog, l?almeno un registro essendo accessibile tramite detto bus di comunicazione in modalit? di lettura e in modalit? di scrittura.
Come qui esemplificato, un dispositivo elettronico pu? comprendere un circuito oscillatore (per es., 106) configurato per generare detti eventi di watchdog a intervalli di tempo regolari.
Come qui esemplificato, rilevare eventi di watchdog che si verificano in certi intervalli di tempo pu? comprendere ricevere frame di watchdog attraverso il bus di comunicazione a intervalli di tempo regolari.
Come qui esemplificato, un circuito controllore pu? essere configurato per resettare detto valore di conteggio di frame e detto bit di stato del contatore di frame come risultato della ricezione di un frame di comando di reset tramite detto bus di comunicazione.
Come qui esemplificato, un circuito controllore pu? essere configurato per fare commutare il dispositivo elettronico a una modalit? di funzionamento a prova di guasto come risultato del fatto che il bit di stato del contatore di frame ha detto secondo valore indicativo di un secondo stato operativo (per es., anomalo) del dispositivo elettronico alla fine di detto intervallo di tempo di monitoraggio.
Come qui esemplificato, un dispositivo elettronico pu? essere configurato per accoppiarsi a un bus di comunicazione CAN per ricevere da esso segnali digitali disposti in frame comprendenti frame codificati secondo un protocollo di comunicazione CAN FD. Il dispositivo elettronico pu? comprendere un circuito integrato specifico per l?applicazione o ASIC (?Application-Specific Integrated Circuit?) configurato per controllare la comunicazione sul bus di comunicazione CAN. Il circuito integrato specifico per l?applicazione pu? comprendere detto circuito di verifica, detto circuito contatore di frame, detto circuito comparatore e detto circuito controllore integrati in esso.
Come qui esemplificato, un sistema pu? comprendere un bus di comunicazione, almeno un dispositivo elettronico secondo una o pi? forme di attuazione accoppiato al bus di comunicazione, e un ulteriore dispositivo elettronico accoppiato al bus di comunicazione e configurato per inviare sul bus di comunicazione frame indirizzati all?almeno un dispositivo elettronico.
Come qui esemplificato, un veicolo (per es., V) pu? comprendere un sistema secondo una o pi? forme di attuazione.
Fermi restando i principi di fondo, i dettagli e le forme di attuazione possono variare, anche in modo apprezzabile, rispetto a quanto ? stato descritto, puramente a titolo di esempio, senza uscire dall?ambito di protezione.
L?ambito di protezione ? definito dalle rivendicazioni annesse.

Claims (14)

  1. RIVENDICAZIONI 1. Dispositivo elettronico (D) configurato per accoppiarsi (TC) a un bus di comunicazione (B) per ricevere da esso segnali digitali disposti in frame comprendenti frame codificati secondo un certo protocollo di comunicazione, il dispositivo elettronico (D) comprendendo: un circuito di verifica sensibile a detti segnali digitali disposti in frame, il circuito di verifica configurato per verificare (203, 204, 205) se un frame ricevuto ? codificato secondo detto protocollo di comunicazione ed ? indirizzato al dispositivo elettronico (D), un circuito contatore di frame configurato per produrre un valore di conteggio di frame che ? funzione di un numero di frame ricevuti durante un intervallo di tempo di monitoraggio, il circuito contatore di frame accoppiato a detto circuito di verifica e configurato per aumentare detto valore di conteggio di frame come risultato di un esito positivo di detta verifica (203, 204, 205), un circuito comparatore configurato per: confrontare (208) detto valore di conteggio di frame con un primo valore di soglia di conteggio di frame e, come risultato del fatto che detto valore di conteggio di frame ? uguale a detto primo valore di soglia di conteggio di frame, impostare un bit di stato del contatore di frame a un primo valore indicativo di un primo stato operativo del dispositivo elettronico (D), e confrontare (210) detto valore di conteggio di frame con un secondo valore di soglia di conteggio di frame differente da detto primo valore di soglia di conteggio di frame e, come risultato del fatto che detto valore di conteggio di frame ? uguale a detto secondo valore di soglia di conteggio di frame, impostare detto bit di stato del contatore di frame a un secondo valore indicativo di un secondo stato operativo del dispositivo elettronico (D), un circuito controllore (10) configurato per trasmettere (212a) sul bus di comunicazione (B) un frame comprendente detto bit di stato del contatore di frame e per resettare (214) detto valore di conteggio di frame e detto bit di stato del contatore di frame alla fine di detto intervallo di tempo di monitoraggio, in cui il circuito contatore di frame comprende un circuito contatore aritmetico modulare avente una certa profondit? di bit, e in cui detto valore di conteggio di frame ? vincolato a un valore di modulo di detto circuito contatore aritmetico modulare.
  2. 2. Dispositivo elettronico (D) secondo la rivendicazione 1, in cui il dispositivo elettronico (D) ? configurato per ricevere un numero j di frame durante detto intervallo di tempo di monitoraggio, e il circuito contatore aritmetico modulare ha una profondit? di bit non zero uguale o inferiore alla parte intera di log2(j).
  3. 3. Dispositivo elettronico (D) secondo la rivendicazione 1 o la rivendicazione 2, in cui detto circuito comparatore ha una profondit? di bit uguale a detta profondit? di bit di detto circuito contatore aritmetico modulare.
  4. 4. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, in cui il circuito contatore aritmetico modulare ha una profondit? di bit non zero uguale a cinque o inferiore, preferibilmente una profondit? di bit uguale a tre, pi? preferibilmente una profondit? di bit uguale a uno.
  5. 5. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, comprendente almeno un registro configurato per memorizzare detto primo valore di soglia di conteggio di frame e detto secondo valore di soglia di conteggio di frame, in cui detto almeno un registro ? accessibile tramite detto bus di comunicazione (B) in modalit? di lettura e in modalit? di scrittura.
  6. 6. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, comprendente circuiteria di rilevamento di watchdog configurata per rilevare eventi di watchdog che si verificano in certi intervalli di tempo e comprendente un circuito contatore di eventi di watchdog configurato per fornire un valore di conteggio di watchdog di eventi di watchdog rilevati, in cui detta circuiteria di rilevamento di watchdog ? configurata per produrre, come risultato del fatto che ? rilevato un evento di watchdog: la trasmissione sul bus di comunicazione (B) di un frame comprendente detto bit di stato del contatore di frame, un incremento di detto valore di conteggio di watchdog, un confronto (213) di detto valore di conteggio di watchdog con un valore di soglia di conteggio di watchdog e, come risultato del fatto che detto valore di conteggio di watchdog ? uguale a detto valore di soglia di conteggio di watchdog, un reset (214) di detto valore di conteggio di frame, di detto bit di stato del contatore di frame e di detto valore di conteggio di watchdog.
  7. 7. Dispositivo elettronico (D) secondo la rivendicazione 6, comprendente almeno un registro configurato per memorizzare detto valore di soglia di conteggio di watchdog, in cui detto almeno un registro ? accessibile tramite detto bus di comunicazione (B) in modalit? di lettura e in modalit? di scrittura.
  8. 8. Dispositivo elettronico (D) secondo la rivendicazione 6 o la rivendicazione 7, comprendente un circuito oscillatore (106) configurato per generare detti eventi di watchdog a intervalli di tempo regolari.
  9. 9. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni da 6 a 8, in cui rilevare eventi di watchdog che si verificano in certi intervalli di tempo comprende ricevere frame di watchdog attraverso il bus di comunicazione (B) a intervalli di tempo regolari.
  10. 10. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, in cui il circuito controllore (10) ? configurato per resettare (214) detto valore di conteggio di frame e detto bit di stato del contatore di frame come risultato della ricezione di un frame di comando di reset tramite detto bus di comunicazione (B).
  11. 11. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, in cui il circuito controllore (10) ? configurato per fare commutare il dispositivo elettronico (D) a una modalit? di funzionamento a prova di guasto come risultato del fatto che il bit di stato del contatore di frame ha detto secondo valore indicativo di un secondo stato operativo del dispositivo elettronico (D) alla fine di detto intervallo di tempo di monitoraggio.
  12. 12. Dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, configurato per accoppiarsi (TC) a un bus di comunicazione CAN (B) per ricevere da esso segnali digitali disposti in frame comprendenti frame codificati secondo un protocollo di comunicazione CAN FD, in cui il dispositivo elettronico (D) comprende un circuito integrato specifico per l?applicazione o ASIC configurato per controllare la comunicazione sul bus di comunicazione CAN (B), il circuito integrato specifico per l?applicazione comprendendo detto circuito di verifica, detto circuito contatore di frame, detto circuito comparatore e detto circuito controllore integrati in esso.
  13. 13. Sistema comprendente un bus di comunicazione (B), almeno un dispositivo elettronico (D) secondo una qualsiasi delle rivendicazioni precedenti, l?almeno un dispositivo elettronico (D) accoppiato al bus di comunicazione (B), e un ulteriore dispositivo elettronico accoppiato al bus di comunicazione (B) e configurato per inviare sul bus di comunicazione (B) frame indirizzati all?almeno un dispositivo elettronico (D).
  14. 14. Veicolo (V) comprendente un sistema secondo la rivendicazione 13.
IT102020000004978A 2020-03-09 2020-03-09 Dispositivo elettronico, sistema e veicolo corrispondenti IT202000004978A1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
IT102020000004978A IT202000004978A1 (it) 2020-03-09 2020-03-09 Dispositivo elettronico, sistema e veicolo corrispondenti
EP21158711.8A EP3879730B1 (en) 2020-03-09 2021-02-23 An electronic device, a corresponding communication system and a vehicle comprising the system
US17/182,914 US11677648B2 (en) 2020-03-09 2021-02-23 Device and method for checking frames from a communication bus
CN202110241466.0A CN113438139B (zh) 2020-03-09 2021-03-04 用于检查来自通信总线的帧的设备和方法
US18/309,397 US20230269150A1 (en) 2020-03-09 2023-04-28 Device and method for checking frames from a communication bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102020000004978A IT202000004978A1 (it) 2020-03-09 2020-03-09 Dispositivo elettronico, sistema e veicolo corrispondenti

Publications (1)

Publication Number Publication Date
IT202000004978A1 true IT202000004978A1 (it) 2021-09-09

Family

ID=70480800

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102020000004978A IT202000004978A1 (it) 2020-03-09 2020-03-09 Dispositivo elettronico, sistema e veicolo corrispondenti

Country Status (4)

Country Link
US (2) US11677648B2 (it)
EP (1) EP3879730B1 (it)
CN (1) CN113438139B (it)
IT (1) IT202000004978A1 (it)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019207174A1 (de) * 2019-05-16 2020-11-19 Robert Bosch Gmbh Sende-/Empfangseinrichtung und Kommunikationssteuereinrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
CN114089157B (zh) * 2021-11-02 2024-04-12 广州昂宝电子有限公司 芯片测试方法及系统
US20240048404A1 (en) 2022-08-02 2024-02-08 Stmicroelectronics Application Gmbh Electronic device, corresponding bus communication system and method of configuring a bus communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180007076A1 (en) * 2016-06-29 2018-01-04 Argus Cyber Security Ltd. System and method for detection and prevention of attacks on in-vehicle networks
WO2019122589A1 (fr) * 2017-12-21 2019-06-27 Psa Automobiles Sa Dispositif de supervision de défauts d'organe(s) esclave(s) pour un organe maître d'un réseau multiplexé
EP3547620A1 (en) 2018-03-26 2019-10-02 STMicroelectronics Application GmbH A communication method, corresponding system, devices, signal and vehicle
US20190344088A1 (en) * 2018-05-10 2019-11-14 Pacesetter, Inc. Managing communication interference in leadless dual chamber pacing systems and other imd systems

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107805A (ja) * 1996-09-30 1998-04-24 Mazda Motor Corp 多重伝送装置
US7346819B2 (en) * 2004-10-29 2008-03-18 Rambus Inc. Through-core self-test with multiple loopbacks
KR100901124B1 (ko) 2007-02-27 2009-06-08 삼성전자주식회사 디지털 멀티미디어 방송의 전계 판단 방법 및 이를이용하는 휴대 단말기
JP5904050B2 (ja) * 2012-08-03 2016-04-13 ソニー株式会社 電力貯蔵装置
US9389949B1 (en) 2013-12-06 2016-07-12 Rockwell Collins, Inc. Optical fiber signal quality measuring and reporting in aviation systems and related method
US9989575B2 (en) 2015-04-30 2018-06-05 GM Global Technology Operations LLC Detection of ECU ground fault with can bus voltage measurements
US9904587B1 (en) * 2015-12-18 2018-02-27 Amazon Technologies, Inc. Detecting anomalous behavior in an electronic environment using hardware-based information
CN106123476B (zh) * 2016-06-27 2018-11-16 青岛海尔股份有限公司 用于冰箱的智能检测方法
CN106790053B (zh) 2016-12-20 2019-08-27 江苏大学 一种can总线中ecu安全通信的方法
JP2018133744A (ja) 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
EP3404873B1 (en) 2017-05-18 2019-10-02 Melexis Technologies NV Low-power data bus receiver
JP6984512B2 (ja) * 2018-03-22 2021-12-22 株式会社デンソー 電子制御装置
CN109309598B (zh) 2018-08-01 2021-03-23 惠州市德赛西威汽车电子股份有限公司 带can功能被测车载模块的采样点自动化测试系统及方法
US10838794B2 (en) * 2018-08-21 2020-11-17 Hamilton Sunstrand Corporation Rate based fault restart scheme

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180007076A1 (en) * 2016-06-29 2018-01-04 Argus Cyber Security Ltd. System and method for detection and prevention of attacks on in-vehicle networks
WO2019122589A1 (fr) * 2017-12-21 2019-06-27 Psa Automobiles Sa Dispositif de supervision de défauts d'organe(s) esclave(s) pour un organe maître d'un réseau multiplexé
EP3547620A1 (en) 2018-03-26 2019-10-02 STMicroelectronics Application GmbH A communication method, corresponding system, devices, signal and vehicle
US20190344088A1 (en) * 2018-05-10 2019-11-14 Pacesetter, Inc. Managing communication interference in leadless dual chamber pacing systems and other imd systems

Also Published As

Publication number Publication date
US20230269150A1 (en) 2023-08-24
US11677648B2 (en) 2023-06-13
CN113438139A (zh) 2021-09-24
US20210281497A1 (en) 2021-09-09
CN113438139B (zh) 2022-12-16
EP3879730A1 (en) 2021-09-15
EP3879730C0 (en) 2023-07-19
EP3879730B1 (en) 2023-07-19

Similar Documents

Publication Publication Date Title
IT202000004978A1 (it) Dispositivo elettronico, sistema e veicolo corrispondenti
IT201800003980A1 (it) Procedimento di comunicazione, sistema, dispositivi, segnale e veicolo corrispondenti
US7047475B2 (en) CRC encoding scheme for conveying status information
CN107534592B (zh) 用于保护数据总线收发器的配置数据的方法、数据总线收发器和数据总线系统
US11108499B2 (en) System and method for transferring data and a data check field
JP5444207B2 (ja) 巡回伝送すべき処理データの安全な伝送のための方法およびシステム
KR20220012988A (ko) 직렬 버스 시스템의 가입자국용 오류 검출 시험 장치 및 직렬 버스 시스템에서의 통신 시 오류 검출 메커니즘의 시험 방법
EP3668019B1 (en) Efficient ingress-congruency determination in a network
US7808917B2 (en) Method and system for transmitting telegrams
US8488621B2 (en) Communication network system and error verification method
US9094279B2 (en) Communication apparatus for transmission of binary coded signal
EP2127145B1 (en) Mechanism for channel synchronization
US8375217B2 (en) Process and device for the packet-oriented transmission of security-relevant data
JP2012175537A (ja) 無線通信システム、無線送信機、無線受信機および無線通信方法
Specification Bosch
EP4057574A1 (en) Microcontroller circuit, corresponding device, system and method of operation
CN114128180B (zh) 具有crc生成器的电子设备和用于将数据从电子设备传输至控制单元的方法
Cena et al. CAN XR: CAN with eXtensible in-frame Reply
KR100292788B1 (ko) 에러검출 및 정정회로
US11817952B2 (en) Systems and methods for providing end-to-end data protection
EP2824572B1 (en) Fail safe device and method for operating the fail safe device
Gerke Flex Ray: Coding and Decoding, Media Access Control, Frame and Symbol Processing and Serial Interface
CN113924742A (zh) 用于商用车的数据传输的系统及其方法
Juan et al. Development of FPGA Based Enhanced Error Detection-Correction Code for CAN Communication
Yoon et al. A method to handle CRC errors on the basis of FlexRay