WebHU - Programozási kérdések és válaszok

Hogyan működik a CAN Bus címzés?

Hogyan dönti el egy CAN Bus vezérlő az üzenetazonosító alapján, hogy az adott üzenet hozzá tartozik? Olyan, mintha a fogadó már tudná, hogy ha az azonosító tegyük fel 5-ös értékkel, akkor nekem az. És beprogramozzuk a vevőt, hogy jelezze, hogy az 5-ös érték érdekelje?

18.11.2014

Válaszok:


1

A CAN csomópontban lévő szoftvernek el kell döntenie, hogy milyen üzenetazonosítók iránt érdeklődik, a hálózati specifikáció alapján, amely általában valamilyen dokumentum vagy más elektronikus ábrázolás arról, hogy mely üzenetek milyen információkat tartalmaznak. Ha olyan üzenet érkezik, amely érdektelen, egyszerűen nem dolgozza fel, és a szoftver visszatér ahhoz, amit közvetlenül az üzenet megérkezése előtt csinált (feltéve, hogy megszakításvezérelt CAN-kezelés).

Egyes CAN vezérlők (azaz a chip azon része, amely a CAN protokoll átvitelét és vételét végzi) rendelkezik üzenetszűréssel, ami azt jelenti, hogy az érdektelen üzenetek eldobhatók, mielőtt elérnék a szoftvert. Más vezérlők üzenetszűréssel rendelkeznek, amely beállítható úgy, hogy csak egyetlen üzenetazonosítót fogadjon el egy adott "üzenetdobozban", és ezek beállíthatók úgy, hogy elfogadják az Önt érdeklő üzeneteket. A többi üzenetet ismét eldobják. Egyes vezérlők szűrőkkel és üzenetdobozokkal is rendelkeznek.

18.11.2014

2

A CAN protokoll szintjén a CAN hálózat minden csomópontja egyenlő, és döntést hoz arról, hogy feldolgozza-e az üzenetet vagy sem. A "CAN vezérlő" egy magasabb szintű koncepció; ennek is meg kell vizsgálnia az üzenetazonosítót, mint bármely más csomópontnak.

Vegye figyelembe, hogy egy üzenet „feldolgozása” eltér a CAN protokoll üzenetellenőrzésétől és nyugtázásától. Minden csomópont részt vesz a feldolgozásban, kivéve, ha „csak hallgat” módban van.

Frissítés:

Hogyan dönti el, hogy melyik üzenetet dolgozza fel, az attól függ, hogy mit próbál tenni, és a CAN-on keresztül használt magasabb szintű protokolltól függ. Elvileg maszkolja a releváns azonosító biteket, majd teszteli őket, hogy megtudja, fel kell-e dolgozni az üzenetet.

Például ha az összes 5-ös (bináris 0101-es) üzenetet szeretné feldolgozni alacsony sorrendben négy bitben, akkor a maszk 15 (bináris 1111), bináris és ezt a kapott üzenetazonosítóval, majd az eredményt összehasonlítja öttel. .

Például:

(msg_id & 15) == 5

a teszt kódolásának egyik módja. Az Ön számára fontos bitek és a megvalósítás részletei sok más tényezőtől is függnek.

18.11.2014
  • A kérdésem az, hogy egy csomópont hogyan dönt arról, hogy feldolgozza-e az üzenetet vagy sem. 18.11.2014

  • 3

    Kifejezetten a PDU1 (Protocol Data Unit) üzeneteknél a célcím van megadva (3. bájt). Ha egy eszköz nem neki címzett üzenetet kap, egyszerűen figyelmen kívül hagyhatja azt. A címeket különféle szabványok határozzák meg, vagy a gyártó ad hoc módon rendelheti hozzá őket.

    Általános esetben a CAN-ID (0-4 bájtok) minden részletet tartalmaz arról, hogy milyen üzenetről van szó, és a készülékek bizonyos mezőket megvizsgálva eldönthetik, érdekelnek-e az üzenettel. Például a sebességváltó-vezérlő valószínűleg nem törődik az akkumulátor állapotüzeneteivel, sem az üzemanyagszint-jelzővel, hogy mely ajtók vannak zárva.

    11.11.2019
    Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..