SE524201C2 - Anordning vid distribuerat styr- och övervakningssystem - Google Patents

Anordning vid distribuerat styr- och övervakningssystem

Info

Publication number
SE524201C2
SE524201C2 SE0203756A SE0203756A SE524201C2 SE 524201 C2 SE524201 C2 SE 524201C2 SE 0203756 A SE0203756 A SE 0203756A SE 0203756 A SE0203756 A SE 0203756A SE 524201 C2 SE524201 C2 SE 524201C2
Authority
SE
Sweden
Prior art keywords
message
time
messages
virtual
schedule
Prior art date
Application number
SE0203756A
Other languages
English (en)
Other versions
SE0203756D0 (sv
SE0203756L (sv
Inventor
Lars-Berno Fredriksson
Original Assignee
Lars-Berno Fredriksson
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
Publication of SE0203756D0 publication Critical patent/SE0203756D0/sv
Priority to SE0203756A priority Critical patent/SE524201C2/sv
Application filed by Lars-Berno Fredriksson filed Critical Lars-Berno Fredriksson
Priority to PCT/SE2003/001736 priority patent/WO2004055682A1/en
Priority to DE60335572T priority patent/DE60335572D1/de
Priority to EP03776106A priority patent/EP1573560B1/en
Priority to AT03776106T priority patent/ATE493708T1/de
Priority to US10/539,005 priority patent/US7711880B2/en
Publication of SE0203756L publication Critical patent/SE0203756L/sv
Publication of SE524201C2 publication Critical patent/SE524201C2/sv
Priority to US12/717,822 priority patent/US8037226B2/en
Priority to US13/238,225 priority patent/US8364875B2/en
Priority to US13/728,590 priority patent/US8700836B2/en
Priority to US14/246,314 priority patent/US9594709B2/en
Priority to US15/457,259 priority patent/US10025738B2/en
Priority to US16/037,059 priority patent/US10579562B2/en
Priority to US16/805,949 priority patent/US11157429B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • 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/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • 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/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • 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/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Small-Scale Networks (AREA)
  • Selective Calling Equipment (AREA)

Description

20 25 30 5224 201 används i farkoster. För detaljerad information hänvisas exempelvis till H. Kopetz, ”TTP/C Protocol”, TTTech 1999 som finns tillgänglig på http://wvvw.ttpforum.org.
Studium av TTP/C visar att det ställs höga krav på att klockorna i respektive modul går inom en hög given tolerans samt att man använder speciella kretsar, såkallade Bus Guardians, för att säkerställa att ingen modul sänder meddelande som kolliderar med andra meddelanden på bussen. Seriella protokoll indelas allmänt i tre klasser: Collision Avoidence (CA), Collision Detection (CD) och Collision Resolution (CR).
Definition och gränsdragning mellan klasserna kan variera. TTP är ett typiskt CA protokoll, dvs. alla mått och steg är vidtagna för att undvika kollisioner. Detta är en allmänt accepterad utgångspunkt för traditionella tidsstyrda system. Ethernet är ett bra exempel på ett CD protokoll. Kollisioner uppträder normalt på bussen och upptäcks.
Kolliderande meddelanden förstörs och sändarna sänder om meddelandena efter en fördröjning. Protokollet har regler om denna fördröjning så att åtminstone de moduler som kolliderade inte omedelbart kolliderar igen. Kollisonerna ger således upphov till minskad bandbredd samt att maximal fördröjning för ett givet meddelande inte kan beräknas och säkerställas. CAN är exempel på ett CR protokoll. Kollisioner löses upp på ett förutsägbart sätt. Priset för denna egenskap är en låg maximal bandbredd och bland annat därför har inte CAN ansetts vara ett lämpligt protokoll för tidsstyrda system. Vidare har den kollisionsupplösande egenskapen av de flesta experter inte ansetts ha något värde för tidsstyrda system eftersom kollisoner inte skall förekomma.
Traditionellt tidschemalagd sändning av meddelanden anses vara effektivare än händelsestyrd sändning. Dock måste tidsluckan som tilldelas ett meddelande måste vara längre än meddelandet för att ta upp skillnaden mellan modulemas klockor. Figur 1 visar schematiskt ett traditionellt schema med tidsluckor där modulerna A och B placerar in sina meddelanden. Eftersom deras klockor inte går exakt lika med systemklockan placeras meddelandena i praktiken in något tidigare eller senare i tilldelad tidslucka än vad schemaläggningen säger. Detta medför att tilldelad tidslucka i traditionella tidsstyrda system måste vara stor för att onogranna klockor skall kunna användas i respektive modul vilket innebär förlust av bandbredd, alternativt att mycket noggranna klockor används, vilket medför höga kostnader. Föreliggande uppfinning har till ändamål att lösa bl.a. denna problematik. Vidare är omedelbar omsändning av störda meddelande ej tillåtna i traditionellt tidsschemalagda system 10 15 20 25 30 5243201 eftersom detta skulle kräva längre tidsluckor. Utdrag ur ISO 11898-4: ”Arbitrating time window conflicts are resolved by the identifier arbitration of CAN and a CAN node may not start transmission if the bus is not idle. Several CAN nodes in the network may start a transmission within the Tx_Enable window of an arbitrating time window. The immediate automatic retransmission is disabled”. Citatet visar att en gängse uppfattning är att automatisk omsändning inte skall förekomma ens i CAN- baserade tidsstyrda system och att en nod inte skall begära start av meddelandesändning om bussen om bussen inte förväntas vara fri. Föreliggande upp- finning har till ändamål att bl.a. tillåta omedelbar omsändning av störda meddelanden.
Ett kännetecken för uppfinningen är att en CANnod startar sändning när bussen är upptagen (not idle).
Tidschemastyrd kommunikation kräver att varje nod håller tiden inom en given nog- grannhet i förhållande till systemklockan och att varje meddelande sänds/mottages i en för respektive meddelande given tidslucka. Detta leder till att kommunikationen blir känslig för störningar och att extra bandbredd måste hållas i reserv för att viktiga meddelanden säkert skall komma fram i tid. En vidareutveckling av uppfinningens grundtanke undanröjer behovet och medger att ett mycket robust kommunikations- system med förutsägbara egenskaper kan byggas upp. Ett kommunikationssystem som uppvisar de respektive fördelar som händelsestyrd och tidsstyrd kommunikation upp- visar gentemot varandra samtidigt som deras respektive nackdelar elimineras kan byggas upp med uppfinningen. Ett robust kommunikationssystem med stor anpass- ningsbarhet till totalsystemets krav och med ”graceful degradation”-egenskaper kan byggas upp med uppfinningen.
I enlighet med uppfinningens idé löses i ovanstående angivna problem genom att man utnyttjar kända egenskaper hos ett CANmeddelande och genom införande av nya begrepp som virtuellt och reellt schema samt virtuell systemklocka. Uppfinningen är applicerbar på andra protokoll än CAN som uppvisar de använda CANegenskaperna.
Det som huvudsakligen kan anses vara kännetecknande för en anordning enligt upp- finningen framgår av den kännetecknande delen i det efterföljande patentkravet l. 10 15 20 25 30 524 201 4 I sin enklaste form av uppfinningen utnyttjas protokollet CANs egenskap att vid kollision, det meddelande som påbörjat sändningen inte avbryts, utan det kolliderande meddelandet väntar tills bussen åter är fri och då omedelbart påbörjar sändningen. Ett nära nog 100 % utnyttjande av bussbandbredden erhålles med följ ande metod: 1. Ett virtuellt tidsschema upprättas där varje meddelande, åtminstone de som förekommer under normala driftsförhållanden, tilldelas en tid- punkt enligt en virtuell klocka där sändningen av meddelandet vid ideala förhållanden skall påbörjas. Tidsluckan till nästkommande med- delandes sändningspåbörjan kan sättas till ett värde som måste vara större än meddelandets genomsnittliga längd, mätt i tid. 2. Varje modul tilldelas ett reellt schema, relaterat till en reell klocka i modulen, för sändning av meddelanden. Tidpunkten för sändning sättes tidigare än den i det virtuella schemat tilldelade. 3. De reella klockorna i modulerna relationsställs till den virtuella klockan. 4. Sändningarna påbörjas.
Ovanstående förfarande visar en grundtanke i uppfinningen. Först sker en schemaläggning mot en ideal, virtuell klocka och där varje meddelande ges en tidslucka där det kan sändas utan kollision med annat meddelande. Genom detta så säkerställs att bandbredden är tillräcklig for att överföra önskad information. Nästa problem är att få denna schemaläggning att fungera i praktiken. Det finns många sätt att upprätta en global tid i ett system. I traditionella tidssynkrona system krävs att alla moduler i systemet har en gemensam tidsbas relaterad till en, åtminstone vid varje given tidpunkt, gemensam klocka. En oortodox lösning finns beskriven i kapitel 6.2 i CanKingdom ver. 3.01 där ett meddelande triggar sändning av ett annat meddelande och man därmed kan erhålla en form av tidsschemalagd överföring utan gemensam tidsbas. Varianter av dessa metoder finns diskuterade i artikeln ”CAN for Critical Embedded Automotive Networks” i IEEE Micro July-August 2002 på sidan 33 under 10 15 20 25 30 524 Qlgl Time schedules. I ett system uppbyggt enligt uppfinningen kan de olika noderna basera sin tid på olika referenser och synkroniseras på olika sätt. Det enda som en systemkonstruktör måste se till är att varje nod på ett eller annat sätt relationsställa tidpunkten för sändning och mottagning av meddelanden inom en given tolerans i förhållande till den virtuella klockan och den del av det virtuella schemat som berör respektive nod. Gemensamt för lösningar enligt traditionellt tidschemalagd kommunikation är att sändningsförsöken påbörjas när bussen är fri, dvs. en regel att undvika meddelandekollision. Detta medför att det uppkommer luckor i kommuni- kationen. Genom att ändra regeln till att meddelandekollision skall förekomma schemalagt, så kan bussbandbredden bättre utnyttjas. Medvetet påbörjas sändningen av ett meddelande i föregående meddelandes tidslucka och kollisionsdetekterings- mekanismen kommer att se till att meddelandet går iväg så snart som den pågående sändningen är avslutad. På så sätt uppnås högsta möjliga bandbreddsutnyttjande.
Detta tankesätt bryter radikalt mot gängse grunduppfattning och motiverar ett klarläggande. I gängse uppfattning utgår man från att tiden i sig utgör grunden för tidsluckomas längd och läge, inte den tid ett meddelande upptar på bussen. Schemat kan ses som liggande fast i den gemensamma, ideala, systemtiden och alla praktiska avvikelser mot denna måste tas upp i schemat genom att meddelandena tilldelas större tidsluckor än den tid de upptar vid sändning. Ett alternativt synsett med samma konsekvens är att schemat ligger synkront med med systemtiden. Schemat är således i princip överordnat och oberoende av meddelandens uppträdande på bussen. Driften i respektive lokal klocka medför att avvilkelsen dem emellan ökar med tiden och ju längre tid som förflyter mellan synkronisering av klockorna, ju större tidslucka måste tilldelas respektive meddelande. Genom att istället se till den verkliga tid som ett meddelande upptar på bussen och låta schemat variera gentemot den gemensamma, ideala, systemtiden, i beroende av sända meddelandens uppträdande på bussen, så kan medelandena packas hårdare vid schemaläggningen. Den tid som respektive meddelande upptar på bussen varierar mycket lite mellan de olika modulerna enär klockornas drift sinsemellan ger upphov till ett mycket litet fel. (Detta gäller i synnerhet för system enligt CANprotokollet då varje CAN Controller resynkroniserar sin klocka gentemot lästa bitsignaler på bussen.) Detta nya synsätt medför också att det reella schemat för hela systemet kommer att oscillera (jittra) beroende på hur lång ”förtändning” som åsätts, meddelandenas längd, de lokala klockomas avvikelse från 10 15 20 25 30 52? 201 den virtuella idealtiden samt förekomsten av tomma tidsluckor. Maximal tolerans uppnås om den nominella tidpunkten för sändning sätts till halva föregående tidslucka enligt det virtuella schemat och att maximal avvikelse mellan den virtuella klockan och sändande respektive mottagande modulers klockor är mindre än halva tidsluckan för meddelandet. En mottagande modul tolkar då ett meddelande som påbörjas inom föregående tidslucka enligt det virtuella schemat och avslutas inom aktuell tidslucka som tillhörigt aktuell tidslucka. Genom att på detta sätt lägga tolerans på det verkliga schemat istället för på meddelandets uppträdande inom schemat skapas ett effektivare utnyttjande av tillgänglig bandbredd med bibehållande av tidsschemalagda systems fördel av att meddelandets identitet kan avgöras med var det uppträder i schemat. Om CAN-protokollet används, så måste ”förtändningen” minskas med åtminstone en bit- tid för att säkerställa att inte arbireringsfunktionen träder i kraft vid kollision.
Genom att förse varje meddelande med en unik identitet, så erhålles en redundans i kommunikationen som kan utnyttjas på olika sätt. Om kommunikationen konstrueras för att meddelanden normalt skall återfinnas i givna tidsluckor, så upptäcks lätt om så inte är fallet. Detta finns beskrivet i artikeln “CAN for Critical Embedded Automotive Networks” i IEEE Micro July-August 2002. Ett annat sätt att utnyttja denna lösning är att medvetet låta meddelanden försöka sända i tidsluckor på ömse sidor om den till- delade tidsluckan. Detta kan ske genom att tillåta en större avvikelse från den virtuella klockan än en halv tidslucka. Meddelanden kommer då att byta plats, men eftersom de har en identitet, så gör detta ingenting. Mottagaren får visserligen vara beredd att ta emot flera meddelanden och sortera ut det rätta, men antalet möjligheter är på förhand begränsade och erforderlig bandbredd är på förhand säkerställd.
Många protokoll, däribland CAN, utnyttjar såkallad ”bitstuffing” för att synkronisera bitströmmen. I fallet CAN så kan antalet stuffbitar variera från noll upp till 24 % av antalet bitar i det ursprungliga meddelandet. I ett traditionellt tidsstyrt system så skulle man därför behöva 24 % längre tidslucka än meddelandets nominella längd. Med den i uppfinningen föreslagna lösningen, där tidsluckorna tillåts variera i längd, kan marginalen minskas till 12 %. Altemativt kan tidsluckorna bestämmas till nominell meddelandelängd och att man lägger in tomma återhämtningsluckor i schemat för att kompensera stuffbitarna. 10 15 20 25 30 524 7201 En bland fackmän förhärskande uppfattning om tidsschemalagda system är att omsändning av störda meddelanden inte får förekomma. I det ursprungliga CAN- protokollet föreskrivs att ett stört meddelande automatiskt skall omsändas. I senare utgåva av standarden medges att denna funktion är bortkopplingsbar och den väsent- liga anledningen till detta är att man vill använda CAN också i tidsstyrda system.
Traditionell lösning på problemet är att man ökar uppdateringsfrekvensen två eller tre gånger för att kompensera för förlorade meddelanden. Detta leder till ett mycket dåligt utnyttjande av bandbredden. I CANsammarihang har föreslagits att man tilldelar en dubbelt eller tre gånger så lång tidslucka till meddelandet och tillåter en eller två omsändningar. Andra och tredje tidsluckan tilldelas meddelanden med lägre prioritet.
Detta ger ett väsentligt bättre utnyttjande av bandbredden, men har nackdelen att ett eller två meddelanden kan gå förlorade. Genom att låta det reella tidschemat variera, utnyttja oförstörande kollisionsdetektering med direkt sändning efter kollisionens upphörande och felsignalering samt att använda unik identitet på varje meddelande som tidigare beskrivits, nu också utnyttja CAN-egenskapen att varje identitet är förknippad med en unik prioritet och att ett stört meddelande omedelbart omsändes i förhållande till sin prioritet, så kan man elegant och effektivt lösa problemet med att uppnå effektivare utnyttjad bandbredd. Genom att tillåta den automatiska omsändningen och samordna tilldelad tidslucka med meddelandets prioritet, så kan kommunikationens egenskaper skräddarsys efter totalsystemets krav. Om föregående meddelande har högre prioritet än nästkommande, kommer det föregående meddelandet direkt ut på bussen vid omsändning. Förlorande meddelande kommer att kämpa med efterföljande meddelande på samma sätt. Om alla följande meddelanden har fallande prioritet, kommer en omsändning att medföra att följande meddelanden skiftas en tidslucka. Om det efterföljande meddelandet har högre prioritet än det störda, så kommer det störda meddelandet inte ut förrän det möter ett meddelande med lägre prioritet eller att bussen blir fri. Normal förekommer störda meddelanden sällan. Det anses allmänt att om det förekommer mer än ett stört meddelande bland 1000, så är det ett tecken på ett systemproblem. Med den föreslagna uppfinningen kan man därför i praktiken erhålla nära nog ett 100 % bussutnyttj ande med en kort och väl predikterbar väntetid för varje meddelande. 10 15 20 25 30 201 8 524 Genom att konstruera systemet att det tillåter meddelanden att skifta position i det virtuella schemat inom givna gränser, så kan man tillåta att alarmmeddelanden sänds icke schemalagt, även om man utnyttjar i stort sett hela den tillgängliga bandbredden för den normala kommunikationen.
I traditionella tidsstyrda system ägnas stor uppmärksamhet åt att en fysisk referens- klocka (masterklocka) existerar i systemet och på hur alla klockor referensställes till denna. Se exempelvis i den tidigare refererade standarden ISO 11898-4. Med den föreslagna uppfinningen kan detta problem förenklas högst påtagligt. Den virtuella klockan existerar inte fysiskt, men den lokala fysiska klockan i respektive nod kan relationsställas till den virtuella på mångahanda sätt. I sin enklaste form görs detta genom att bara utnyttja den alltid internt existerande klockan i CAN Controllem som används for bitkodifiering enligt Non-Return-to-Zero-konceptet. Om man exempelvis bestämmer att den virtuella klockan är noll när meddelande Al i modul A sänds så kan detta användas som referens till modul B genom att instruera denna till att sända sitt meddelande Bl när meddelande Al mottagits. Bl kan användas som referens till den virtuella klockan för modul C, o.s.v. På så sätt kan moduler utan speciell klock- funktion integreras i systemet. En modul D med en primitiv klocka kan på så sätt också integreras i systemet genom att beordra den att sända meddelande Dl 50 ms efter den mottagit Al och sända D2 10 ms efter B2 etc. Det inses att modulscheman på så sätt enkelt kan skapas i moduler som inte är konstruerade för tidsstyrda system och att en omfattande redundans kan byggas in. Modulen A kan vara relaterad till en reell klocka med hög noggranhet, exempelvis GPS och hela systemet kan på så sätt hållas inom små toleranser. Det inses också att man kan bygga system med en hierarki av virtuella klockor och att komplexa system kan byggas upp som principiellt är tidsstyrda men där många, och i extremfall alla, moduler i systemet i realiteten saknar fysiska modulklockor. De virtuella klockoma är hjälpmedel för systembyggaren att bygga upp kommunikationen enligt principer för tidsstyrda system och därmed få sitt system att uppfylla hårda realtidskrav. Det reella schemat byggs upp genom att programmera respektive modul att sända sina meddelanden i lämplig relation till det virtuella schemat. Som framgår av exemplen finns det många sätt att åstadkomma detta genom att utnyttja egenskaper hos CAN som ursprungligen utvecklades för att lösa andra problem. 10 15 20 25 30 En detaljerad beskrivning av uppfinningen i enlighet med nedanstående visar hur bussförbindelsen utnyttjas effektivare och hur lägre krav ställs på klockfunktionen i respektive modul, altemativt hur den helt ersätts genom att utnyttja ett eller flera tidigare meddelanden som utlösningshändelse för transmissionsförsök.
En för närvamade föreslagen utföringsforrn av en anordning som uppvisar de för upp- finningen signifikativa kännetecknen skall beskrivas i nedanstående under samtidig hänvisning till bifogade ritningar där figur 1 visar schematiskt ett CAN-system med noderna A och B samt ytter- ligare noder C, D och Z samt en traditionell schemaläggning av några meddelanden från A och B, figur 2 visar tidsluckor i ett virtuellt schema med tillhörande virtuell klocka samt hur modulerna placerar in sina meddelanden enligt sina reella klockor, figur 3 visar ett traditionellt system arbetande med TTP och ett motsvarande system arbetande med uppfinningen, figur 4 visar ett virtuellt schema, genomgående för alla följande exempel, reellt schema i respektive modul samt resulterande reellt schema på bussen för samtliga moduler vid schemaläggning enligt traditionella principer. Vidare visas resulterande reella scheman med användande av uppfinningen utan förtändning och en jämförelse av de båda metoderna, figur 5 visar motsvarande reella scheman med förtändning och en störd buss med omsändning av meddelande i jämförelse med en ostörd buss enligt den traditionella lösningen, 10 l5 20 25 30 524 201 io figur 6 visar motsvarande reella schema vid en mycket störd buss med omsändning av meddelande i jämförelse med en ostörd buss enligt den traditionella lösningen, och figur 7 visar motsvarande reella scheman där ett meddelande relationsställts till den virtuella klockan och där övriga meddelanden är indirekt rela- tionsställda till den virtuella klockan genom att respektive meddelan- den är utlösningshändelse för ett eller flera andra meddelanden.
I figur 1 visas schematiskt ett nätverk med modulema A och B anslutna till en fåtrådig seriell förbindelse l. Nätverket kan innehålla ytterligare anslutna moduler vilket markerats med C, D och Z. Varje modul kan sända och ta emot meddelanden.
Sändningen av meddelanden är tidschemalagd. Denna schemaläggning är symboliserad med 2 där 3 visar hur meddelanden uppenbarar sig på den fåtrådiga förbindelsen, konsekutivt i tiden. Tiden är indelad i tidsluckor och startpunkten för respektive lucka är angiven med 4, 5, 6, 7 och 8. Enligt traditionell schemaläggning tilldelas nu varje modul mindre luckor. Modul A får 5A till 6A för meddelande Al och 7A till 8A för meddelandet A2. På samma sätt får modul B 4B till SB för Bl och 6B till 7B för B2. Nu går klockoma i A och B inte lika varför meddelandena Al, Bl, A2 och B2 i verkligheten kommer inom de nominella luckorna 4-5-6-7-8 men inte enligt den tilldelade luckan. I figuren går klockan i A efter klockan i B varför glappet mellan Al och Bl blir större än mellan A1 och B2. Vid schemaläggningen måste man lägga in buffertzoner 5B-5A, 6A-6B, etc. mellan meddelandena för att dessa inte skall kollidera på grund av modulklockomas relativa avvikelser. I det ovan beskrivna exemplet enligt traditionellt tänkande, så utgår man från verklig rätt tid och schemalägger med buffertzoner för att kompensera lokala avvikelser från rätt tid.
Figur 2 visar nu det nya tänkesättet. Schemaläggningen sker mot en virtuell klocka . I det virtuella schemat 22 läggs nu meddelandena Al, Bl, Cl, A2, B2, C2, etc. in vid önskade tidpunkter. I figuren 2 har meddelandena lagts tätt packade för tydlighets skull. Tidpunkterna för avsändning av respektive meddelande överförs till respektive modul. Lokalt får då varje modul ett reellt schema för sina meddelanden: A får för 10 15 20 25 30 524 201 11 meddelande A1 och A2, B för Bl och B2 samt C för Cl och C2. Varje modul har en reell klocka som är relationsställd till den virtuella klockan, 21A, 2lB, resp. 21C till vilken de relaterar sina scheman. Nu råkar klockan 21A sammanfalla med den virtuella klockan och meddelandet A1 kommer ut i rätt tid. Klockan i B går före och försöker sända innan sändningen av Al är fullbordad. Kollisionsdetekteringen i CAN medför att Bl automatiskt hålls inne tills Al är klart och kommer då direkt ut. Trots att klockan 2lB går fel kommer meddelandet ut rätt enligt det virtuella schemat. På samma sätt kommer meddelandena A2 och B2 ut korrekt. Klockan 2lC går efter så det bildas ett glapp mellan B2 och Cl. Detta skulle kunnat förhindras om de reella lokala schemana hade tidigarelagts i förhållade till det virtuella schemat, dvs. att man medvetet schemalagt för kollision. I traditionellt tänkande ligger schemat still i tiden medan meddelandena jittrar (hoppar fram och tillbaka) i detta. Med det nya tänkandet så kommer hela det verkliga schemat att jittra i tiden.
Figur 3 visar schematiskt ett system 31 med protokollet TTP/C samt ett lika schematiskt uppritat system 32 enligt uppfinningen med protokollet CAN.
TTPsystemet har modulema 3l°, 31 ” och 31” vilka är anslutna till bussen. Vardera modulen har en sedvanlig applikation med därför erforderlig hårdvara, symboliserad med HA och kommunikationen mellan dessa sker genom kommunikationsenheterna 33°, 33” och 33"”. Dessa kommunikationsenheter är speciellt gjorda för TTP och innehåller en protokollprocessor med tillhörande ROMdata, symboliserade med PP samt två Bus Gardian betecknad BG (endast en är utritad). Varje PP och PG har en klocka, symboliserad med C. Beskrivningen av TTP är kraftigt förenklad, men det väsentliga för jämförelsen mellan TTP och ett system enligt uppfinningen är förekomsten och placeringen av klockor. TTP bygger på att rätt tid upprätthålls.
Därför har PP och BG var sina klockor PP sköter sändandet och mottagandet av meddelanden enligt ett tidsschema. BG har en mindre del av detta schema, nämnligen vid vilka tidpunkter modulen äger rätt att sända. Endast vid dessa tider kan PP fysiskt sända signaler på bussen. Vid övriga tidpunkter blockerar BG denna möjlighet.
Tidsschemat görs upp av en systemkonstruktör utanför systemet och detta nedladdas till systemet med hjälp av ett verktyg, symboliserat med enheten V. TTP kräver de speciella kommunikationsenheterna vilka ger en gemensam tid i systemet och kontroll av att meddelanden sänds vid rätta tidpunkter och att meddelandekollision undvikes. I 10 15 20 25 30 524 201 12 kontrast till deta visas systemet 32 enligt uppfinningen. Varje modul har också här en applikation med hårdvara, H”, H” och H°”. Kommunikationen sker enligt CANprotokollet och standardkretsar för detta används i modulerna 32” och 32°”.
Modulen 32” antages ha en CAN controller speciellt utvecklad för system enligt uppfinningen med en integrerad klocka. Modulen 32” har en klocka som handhas av applikationen, medan 32” helt saknar klocka. I likhet med TTP gör en systemkonstruktör en schemaläggning för systemet, men denna bryts ner och anpassas till varje modul som får ett lokalt schema. Dessa lokala scheman kan vara helt väsenskilda sins emellan, men sammantagna bildar de ett väl koordinerat schema för systemet. De lokala schemana laddas ner till respektive modul från en systemgemensam enhet symboliserad med VV. Denna kan vara temporärt eller fast ansluten till systemet, altemativt ingå som en modul i systemet som även har andra uppgifter än schemaläggning av meddelanden.
I figur 4 visas schematiskt ett virtuellt schema med 41. Detta är skapat med en virtuell klock 42 som genererar en löpande tidsräkning varmed tidsluckorna T1, T2, T3, T4, T5, osv. definieras. I dessa tidsluckor har inlagts önskad sändning av meddelandena Al, Bl, Cl, A2 och B2 som skall sändas från respektive moduler A, B och C i systemet. Meddelandena upptar inte hela tidsluckor eftersom den virtuella tiden tolkas en reell klocka i respektive modul. Dessa avviker sinsemellan från den virtuella tiden.
Varje modul kommer att ha ett reellt schema för sändning av sina meddelanden, vilket visas med 43, och dessa scheman kommer att avvika från varandra på grund av klockomas avvikelse gentemot den virtuella klockan. I 43 visas att klockan i modulen A går före med beloppet dA men lika fort som den virtuella. Klockan i modulen B går efter med beloppet dB och lika fort som den virtuella klockan. Klockan i modulen C går helt rätt i starten men något för fort varför avvikelsen successivt ökar vilket indi- keras med dC och dC'. Varje modul sänder efter sitt reella schema och det resulterande reella schemat för systemet som helhet som uppkommer på bussen visas med 44. Här ser man att luckor av varierande storlek mellan meddelanden och därmed ett dåligt utnyttjande av bandbredden. Meddelandena Bl och Cl kolliderar nästan och kommer att göra så vid nästa tillfälle om inte deras klockor justeras gentemot den virtuella klockan dessförinnan. Om modulklockoma håller tiden dåligt måste de ofta synkroniseras om via synkronisationsmeddelanden, vilket stjäl bandbredd. Denna 10 15 20 25 30 524 201 13 bandbreddsförlust kan minskas om modulerna förses med mera precisa klockor vilket gör modulen dyrare.
För att undanröja kravet på noggranna klockor utnyttjas CAN-egenskapen att oför- störande lösa kollisioner av meddelanden samt att medvetet tidigarelägga sändningen i modulschemana. Detta visas i 45. Här har respektive meddelande schemalagts att sändas nästan 50 % in i den föregående tidsluckan enligt det virtuella schemat.
Modulen A påbörjar sin sändning ännu tidigare eftersom dess klocka går före. I denna tidslucka pågår sändandet av meddelande Z och meddelandet Al kommer inte ut på bussen förrän detta är avslutat. I det visade exemplet händer detta samtidigt som Al kom ut på bussen i exemplet 44. Modulen B försöker sända sitt meddelande nästan 50 % in i tidsluckan Tl men eftersom dess klocka går efter så är meddelande Al redan färdigsänt och det uppstår en liten tidslucka mellan A1 och Bl. På samma sätt sänder C ut Cl och på grund av klockavvikelsernas relativa inverkan kommer Cl ut på bussen direkt vid sändningsförsöket. A2 kommer ut strax därefter medan det blir en större lucka till B2.
I båda exemplen har vi använt samma virtuella schema som utgångspunkt. Med den traditionella metoden har högsta möjliga bandbredd utnyttjats. Med den nya metoden har stora marginaler skapats och meddelandena sänts snabbare.
I figur 5 har samma virtuella schema som tidigare använts och visas med 41'.
Exemplet 51 visar att automatisk omsändning kan utnyttjas. Det antas att meddelandet Al i exemplet 45 blivit stört strax innan det avslutades och att det sänds om. Det korrekta meddelandet kommer ut direkt efter det korrupta meddelandet Al'. (Här bortses från av uppfinningen ej direkt berörda detaljer i CAN-protokollets felhantering som error frames, etc. för vilket endast krävs en för fackmannen enkel tidsanalys vid schemaläggningen vilket inte påverkar den principiella diskussionen och resultatet i stort.) Modulen B påbörjar sin sändning enligt schema med förtänd- ning, men eftersom A1 redan då påbörjats, så kommer Bl ut på bussen direkt efter A1 oberoende av deras inbördes prioritet. På samma sätt kommer direkt efter Bl Cl och därefter A2. En jämförelse med det traditionella, maximalt utnyttjade schemat visar att trots omsändningen av A1, så kommer B2 ut tidigare med hjälp av uppfinningen. 10 15 20 25 30 524 201 14 Både bättre utnyttjande av bandbredden samt kortare maximal fördröjning av medde- landen har uppnåtts.
Figur 6 visar samma fall som i figur 4, men där Al blir omsänt två gånger och att detta leder till ett temporärt 100 % bussutnyttjande, men att trots detta B2 kommer ut måttligt försenat. I detta exempel har det ansetts att Bl inte tål försening, så det har givits en högre prioritet än Al. Efter två misslyckanden av nästan kompletta Al meddelanden kommer Bl ut med en liten försening varefter det korrekta Al kommer ut följt av Cl och A2.
Figur 7 visar hur en tidsschemalagd kommunikation kan upprättas med moduler utan klocka. Här är modulen A koordinerad med den virtuella klockan och modulerna B och C via meddelandena Al och A2. Vidare visas hur redundans uppnås genom att ett meddelande triggar flera meddelanden.
Exemplet 71 visar i princip samma virtuella schemaläggande som tidigare. l detta fall har hänsyn tagits till att det sker en viss fördröjning efter det att ett meddelande mot- tagits korrekt av en modul tills att detta utlöser en sändning av ett meddelande av modulen ifråga. Här är meddelandet A1 relationsställt till den virtuella klockan. I modulen B är meddelandet Bl satt att sändas när Al är mottaget och i modulen C är meddelandet Cl satt att sändas när Bl är mottaget. I modulen A är A2 satt att sändas när Cl är mottaget. Som framgår av figuren kommer här meddelandena ut på bussen bättre synkroniserade än vid användande av traditionell metod visad med 44”. Det inses lätt att metoden har en nackdel i och med att ett uteblivet meddelande kan stoppa all vidare sändning. För att överkomma detta problem tilldelas varje meddelande två eller flera meddelanden som triggar sändning. Detta visas i exemplet 72. Här har Al satts att trigga såväl Bl som Cl, Bl att trigga Cl och A2, Cl att trigga A2 och BZ, A2 att trigga B2 och C2 samt B2 att trigga A3 och C3. Nu fallerar Al att trigga Bl men eftersom den också triggar Cl, så kommer detta ut istället för Bl. Hela schemat för- skjuts härmed ett steg åt vänster. Detta gör dock ingenting eftersom varje meddelande har unik identitet. 10 15 20 25 30 524 201 15 Ovanstående exempel visar att man med uppfinningen inte bara erhåller ett bättre utnyttjande av bussens bandbredd och användandet av enklare klockor utan också att kommunikationen kan byggas upp feltolerant med helt predikterbara maximala för- dröjningar och att dessa kan optimeras efter systemets realtidskrav genom lämpligt val av identifierare och prioriteter, maximalt antal tillåtna omsändningar, val av nog- grannhet hos klockor i respektive modul, val av relationsställning till den virtuella klockan för respektive modul och meddelande, etc. saint att ge speciella regler för moduler hur kommunikationen skall ske. Sammantaget ger dessa regler ett förutsäg- bart uppträdande på bussen av varje meddelande. Skulle någon modul bryta mot någon given regel upptäcks detta lätt av en eller flera systemövervakande moduler och kommunikationen bryter inte samman. Systemövervakande noder kan alltid få ut korrigerande kommandomeddelanden, exempelvis enligt CanKingdom, genom att dessa meddelanden åsätts högre prioritet än övriga meddelanden. Traditionella meto- der som ”bus guardians” använda vid traditionella tidsstyrda system kan utan hinder användas om så anses pâkallat.
I vissa fall kan det inte tolereras att meddelanden sänds en eller flera tidsluckor tidi- gare än schemalagt. Det tidigare beskrivna fallet när en förskjutning uppkommer på grund av en nod inte sänder sitt meddelande kan undvikas genom att en eller flera moduler schemaläggs att sända ett dummymeddelande med lägre prioritet. Om dessa finner att de inte kommer ut på bussen under tidsluckans forsta halva på grund av att denna är upptagen avbryts sändningsförsöket.
ISO ll898-4 är en standard för schemaläggning av meddelanden på en CAN-buss.
Standarden beskriver två nivåer för klockfunktionen, Level l och Level 2. Level l kännetecknas av att det totala tidsschemat är uppbyggt av kortare delscheman som inleds med att tidssynkronisationsmeddelanden sänds från en tidsmaster. För att säkerställa att systemet inte fallerar på grund av att tidsmastem fallerar, så finns ett komplext regelverk som medger att en eller flera reservtidsmastrar kan ta över på ett säkert sätt. Vidare finns i standarden ett komplext regelverk för hur de lokala klock- oma skall synkroniseras till tidsmastern och hur respektive modul skall kunna avgöra om den är synkroniserad eller ej. All tidsmätning i Level l är relaterad bithastigheten på bussen. Med den beskrivna uppfinningen kan ett system byggas upp med mycket 10 15 20 25 30 524 201 16 enklare medel för att erhålla ett helt motsvarande meddelandeuppträdande på bussen utan att modulema har speciella klockfunktioner som synkroniseras till speciella tidsmastrar. Detta kan göras genom att den virtuella klockan relationsställs till ett eller flera meddelanden via en utvald händelse, exempelvis indikering av ett läge på en motors svänghjul. När en eller flera moduler indikerar detta läge, så utlöser detta sändning av ett speciellt meddelande. Om detta meddelande är identiskt lika för alla moduler som sänder detta,kommer det att uppfattas som att uppfattas som det egna av alla moduler som får ut det inom första biten, Start Of Frame. Om avvikelsen är större än en bitlängd,kommer meddelandet att läggas på kö i respektive förlorande modul.
En lokal timeout avbryter sändningsförsöket efter en tid understigande en meddelandelängd efter indikeringen. Ett alternativ till detta är att lägga första medde- landet i schemat efter startmeddelandet på en högre prioritet än detta. De startmedde- landen som ligger på kö kommer då att förlora i arbitreringen vilket gör det möjligt att låta applikationen i respektive modul avbryta sändningsförsöket efter mottagande av startmeddelandet. Följande meddelanden kan sedan schemaläggas med startmedde- landet som referens till en lokal klocka som startas vid startmeddelandets mottagande eller med användande av något senare meddelande i schemat som klockreferens eller med användande av ett eller flera föregående meddelanden i schemat som direkt utlö- ser sändningsförsök på förut beskrivet sätt.
Genom uppfinningen lyfts problemet med schemaläggningen från att följa bestämda regler som kräver att alla moduler är synkroniserade till en given tidsmaster i systemet eller till en given regeluppsättning gällande för samtliga moduler för erhållandet av en för systemet gemensam tidsräkning till en planerad virtuell schemaläggning som omsätts i praktiken med lokala regler i varje modul som samordnas i en för systemet unik konstruktionsprocess. Härigenom kan systemets egenskaper optimeras både ur kostnads- och egenskapshänseende genom att bland annat eliminera den tidigare grundläggande regeln att meddelanden inte får kollidera på bussen i tidsschemalagda system. Vidare kan klocklösa moduler integreras i system baserade tidschemalagd kommunikation.
Många tidsstyrda kommunikationssystem förlitar sig på en utvald flank i bitströmmen på bussen för symkronisationen av de lokala klockorna inom systemet. CAN använder 10 15 20 25 30 524 201 17 sig av fallande flanker för hård och mjuk synkronisation av de klockor som används för synkronisationen av tiden för att tolka de enskilda bitarna i bitströmmen på bussen. Den första flanken, SOF, är ofta föreslagen att användas för klockor för andra ändamål, exempelvis för schemaläggning av meddelanden. Emellertid, för att skilja denna fallande flank från en fallande flank pga. en stöming, så indikeras SOF först vid samplingpunkten. ISO 11898-4 (TTCAN) använder sig av denna fördröjda indikering av SOF för att enkelt skilja falska fianker från äkta. En nackdel med denna metod är att avståndet mellan flanken och samplingpunkten kan vara olika i olika moduler inom systemet vilket leder till en inexakt synkronisation av klockorna. Denna kan dock enkelt korrigeras på lokal nivå om man för klockamas synkronisation refererar till flanken och inte till samplingpunkten eftersom denna lokala avvikelse är känd i respektive nod.
För uppfinningen är det däremot en fördel att använda samplingpunkten som referens.
Då kan man enkelt integrera moduler som är utvecklade för händelsestyrda CANsystem i tidsstyrda sådana. När meddelandet två tidsluckor före är korrekt mot- taget sätts sändningstriggern att aktiveras vid nästa SOF. När SOF i meddelandet i föregående tidslucka detekteras, så aktiveras CANcontrollern för sändning. Eftersom meddelandet då redan passerat arbitreringsmöjligheten, så kommer det att sändas omedelbart efter föregående meddelande avslutats oberoende av meddelandets prio- ritet. På så sätt kan en klocklös modul relationsställas till en virtuell klocka och ett virtuellt schema med hög precision.
Det inses enkelt att om metoden ovan kombineras med lämpliga val av prioriteter, så kan flera meddelanden ha ett och samma triggermeddelande samt att varje medde- lande kan ha flera triggermeddelanden och att meddelandena under normala förhål- landen kommer ut i rättan tid. Om något meddelande inte kommer att sändas, exem- pelvis på grund av ett modulfel, så kommer ändå alla andra meddelanden ut, dock en tidslucka förskjutet.
Ett altemativ till att använda samplingpunkten som referens är att använda den fallande flanken i RTRbiten efter CANidentifieraren. Den indikeras av alla CAN 10 15 20 25 30 524 201 18 Controllers för softsynkronisation och är därmed lika exakt som SOF men har för~ delen att vara säkert identifierad.
Figur 8 visar schematiskt hur uppbyggnaden av ett system enligt uppfinningen kan vara utförd. En systemkonstruktör 80 konstrerar ett styrsystem 81 att användas i en produkt, exempelvis en båt 82. I exemplet består systemet av en båtstyrenhet 83 vilken kommunicerar via en buss 84 med tre stycken motorer med tillhörande hjälporgan för kursstyrning, höjning och sänkning av rigg, logger, etc. 85, 85' och 85'”. Styrelektroniken för båtstyrenheten 83 visas med 86 och för respektive motor med 87, 87' och 87”. Systemkonstruktören bygger upp systemet i ett datorbaserat verktyg 88 vilket kan vara av en typ enligt PCT/SE97/00581 och PCT/SE02/02161.
Förutom ett urval av egenskaper som anges refererade dokument har verktyget också en del 89 för schemaläggning enligt uppfinningen. I ett första steg utvecklar systemkonstruktören ett eller flera virtuellt scheman 90 baserat på en eller flera virtuell klockor 91 för systemet såsom tidigare beskrivits. Verktyget omarbetar det virtuella schemat till ett elller flera lokala reella scheman för respektive modul vilket indikeras med 92, 93, 94 och 95. Väsentligt för uppfinningen är att schemat är kopplat till rätt val av identifierare och deras kopplingar till varandra samt deras prioritet vid kollision på bussen varför detta markerats speciellt med 92', 93', 94' och 95'. Vertyget kan lämpligen även bearbeta information för inställningar, programkoder, etc. för respektive modul vilket indikeras med 96, enligt lämpligt regelverk 96°, exempelvis CanKingdom, indikerat som informationssamverkan il. Resultatet av denna bearbetning leder till en informationssamverkan mellan systemverktyget och 7 konfigurationsverktyget, indikerat med il . Den så skapade och bearbetade informationen i2 överföres till ett konfigureringsverktyg 97 via förbindelsen 98 som kan väljas på lämpligt sätt, exempelvis via en diskett, filöverföring i digitalt nätverk, etc. Informationen kan förutom att konfigurera systemet användas för senare analys av detsamma och konfigureringsverktyget kan med fördel kombineras med ett analysverktyg som bland annat kan jämföra det virtuella schemat med det verkliga som uppkommer på bussen under systemets arbete. Konfigureringsverktyget ansluts till systemets buss via förbindelsen 99 och anslutningsdonen 99' och erforderlig information 100 för lokala scheman, inställningar, etc., utväxlas mellan modulerna 10 15 20 25 30 524 201 19 och verktyget. Den virtuella schemafunktionen kan även effektuera direkt information i3 till konfigurationsverktyget 97 för erforderlig bearbetning. 101 visar schematiskt ingående funktioner i respektive modul. Modulen ansluts till bussen via ett anslutningsdon 101 som kan vara ett kontaktdon eller en trådlös anslutning, for att överföra bussignalerna i4 till och från modulen. Signalerna passerar signalanpassningsorgan 102, exempelvis en CANtransceiver, vilken i sin tur är ansluten till en protokollkrets 103, exempelvis en CAN Controller. Denna står i förbindelse med en cpu 104 med för modulfunktionen erforderlig kringutrustning och applikationsmjukvara 105. Vidare har modulen åtminstone mjukvara 107 som kan relationsställa mottagna meddelanden 108 på bussen med meddelanden 109 som skall sändas. Modulen har en reell klocka 110 som är relationsställd till åtminstone en flank på meddelandesignaler på bussen, exempelvis den fallande flanken lll på Start of Frame i ett CANmeddelande. I sin enklaste form utgörs klockan 101 av den i en CAN Controller ingående klockan för bitsynkronisering och -tolkning Modulen kan vara anordnad att handha tidsstyrda organ symboliserat med enheten 112 och de ut- och ingående signalanslutningarna 113. Styrningarna i5 kan vara relaterade till klockan 110 och/eller en klocka 114 med annan tidsbas, exempelvis en tidsbas som varierar med motorvarvtal. Modulen kan också vara anordnad att handha händelsestyrda eller händelsestyrande organ symboliserat med enheten 115 och de ut- och ingående signalanslutningarna 116. Signaler i6 från händelser eller utlösande av händelser samordnas med det tidsrelaterad signalerna i5 och med det reella schemat (de reella schemana) i modulen och med meddelandenas identitet av arrangemangen 117 och 118. Aktiviteter i modulen utlöser sändning av meddelande 119 på bussen enligt det reella schemat vilket kolliderar med meddelandet 108. Om kollisionen sker i Start of Frame, så kommer modulens meddelande, om det har högre prioritet än 108, att uppenbara sig på bussen istället för meddelandet 108. Sändaren av meddelande 108 kommer att ta emot 119 och sedan ånyo påbörja sändning av 108. Om 108 har högst prioritet, kommer modulen att vänta tills 108 är mottaget och sedan sända 119. Om SOF redan är mottaget, så väntar modulen med att sända 119 tills 108 är mottaget. lnformations- eller signalöverföringen eller -utväxlingen mellan det virtuella schemat och systemverktyget är symboliserad(-e) med i7. Det virtuella och/eller reella schemat kan anses förflytta sig eller anpassa sig fram och tillbaka i beroende av 10 5 2 4 2 01 20 meddelandenas förekomster och variationer på förbindelsen eller bussen.
Tidsschemalagda meddelanden i modulema är anordnade enligt regeln att under normala förhållanden kollidera med meddelanden under sändning från annan eller andra moduler på bussen.
Uppfinningen är inte begränsad till den i ovanstående angivna utföringsformen utan kan underkastas modifikationer inom ramen för efterföljande patentkrav och uppfin- ningstanken.

Claims (18)

10 15 20 25 30 524 201 ll PATENTKRAV
1. Anordning vid distribuerat styrareasystem, t.ex. CAN, för att åstadkomma effektivisering av utnyttjandet av tillgänglig bandbredd på systemets bussförbindelse mellan i systemet ingående moduler och/eller minskning av noggrannhetskrav på i systemet utnyttjade klockfunktioner hänförbara till meddelandes uppträdande på för- bindelsen, varvid systemet arbetar med en på bussförbindelsen företagen kommuni- kation som arbetar enligt i systemet uppställda regler och utgör en kombination av händelse- och tidsstyrda kommunikationsfunktioner för meddelandenas uppträdande på förbindelsen, k ä n n e t e c k n a d därav, att meddelandenas uppträdanden är schemalagda, och att nämnda funktioner tillsammans med en reglerändring i den tids- styrda kommunikationsfunktionen är anordnade att åstadkomma nämnda effektivise- ring respektive minskning, vilken regeländring är anordnad att föranleda medveten kollision mellan denna som uppträder i förbindelsen.
2. Anordning enligt patentkravet 1, k ä n n e t e c k n a d därav, att ett använt virtuellt tidsschema är anordnat att ange att varje meddelande, åtminstone de som förekommer under normala driftsförhållanden, är tilldelat en tidpunkt enligt en virtuell klocka där sändningen av meddelandet vid ideala förhållanden skall påbörjas, att varje modul är tilldelningsbart ett reellt schema, relaterat till en reell klocka i modulen, för sändning av meddelandet, att tidpunkten för sändning är anordnad att tidigare än den i det virtuella schemat tilldelade tidpunkten och att de reella klockorna i modulema är relationsställda till den virtuella klockan.
3. Anordning enligt patentkravet 1 eller 2, k ä n n e t e c k n a d därav, att i de olika noderna är anordnade att basera sin tid relativt den virtuella klockan på olika referenser i systemet.
4. Anordning enligt patentkravet 1, 2, eller 3, k ä n n e t e c k n a d därav, att de olika noderna är anordnade att synkroniseras på olika sätt, att varje nod relationsställer tidpunkten för sändning och mottagning av meddelanden inom en given tolerans i förhållande till den virtuella klockan och den del av det virtuella schemat som berör 10 15 20 25 30 524 201 22 respektive nod, att sändningsförsöken är anordnade att påbörjas när bussen är fri, att luckor uppkommer i kommunikationen och att sändningen i föregående tidslucka uppkommer och en i systemet ingående kollisionsdetekteringsmekanism åstadkommer att meddelandet går iväg så snart som det är möjligt, varvid högsta möjliga band- breddsutnyttj ande möjliggöres.
5. Anordning enligt patentkravet 2, 3 eller 4, k ä n n e t e c k n a d därav, att det reella schemat är anordnat att oscillera (jittra) beroende på hur lång förhandsinitiering (”förändring”) som är angiven, meddelandenas längd, de lokala klockornas avvikelse från den virtuella tidpunkten för sändning som t.ex. inträffar vid halva föregående tidslucka enligt det virtuella schemat, och att maximal avvikelse mellan den virtuella klockan och sändande respektive mottagande modulers klockor är mindre än halva tidsluckan.
6. Anordning enligt patentkravet 5, k ä n n e t e c k n a d därav, att mottagande modul är anordnad att tolka eller fastställa ett meddelande som påbörjas inom föregå- ende tidslucka enligt det virtuella schemat och avslutas inom aktuell tidslucka är till- hörigt aktuell tidslucka, att genom utnyttjande av införd tolerans på det reella schemat istället för på meddelandets uppträdande inom schemat åstadkommes ett effektivare utnyttjande av tillgänglig bandbredd med bibehållande av tidsschemalagda systems fördel av att meddelandets identitet kan avgöras med var det uppträder i schemat, och att vid användandet av CAN förhandsinitieringen (”förtändningen”) minskas med åtminstone en bittid för att säkerställa att en i systemet ingående arbiteringsfunktionen inte träder i kraft vid kollision.
7. Anordning enligt något av föregående patentkrav, k ä n n e t e c k n a d därav, att varje meddelande är försett med en unik identitet, varvid en redundans i kommuni- kationen som kan utnyttjas för effektiviseringen och/eller minskningen uppkommer.
8. Anordning enligt något av föregående patentkrav, k ä n n e t e c k n a d därav, att meddelanden är anordnade sändningsbart i tidsluckor på ömse sidor om den till- delade tidsluckan, vilket sker genom tillåtande av en större avvikelse från den virtu- ella klockan än en halv tidslucka och att meddelanden är anordnade att byta plats, vilket möjliggöres genom att de är anordnade med en identitet och att berörd modul, 10 15 20 25 30 524 201 23 dess mottagare, sorterar ut det rätta meddelandet, vilket möjliggöres av att antalet möjligheter är på förhand begränsade och att erforderlig bandbredd på förhand är säkerställd.
9. Anordning enligt något av föregående patentkrav, k ä n n e t e c k n a d därav, att längden på respektive tidslucka är reducerbar även vid hanteringen av stuffbitar och att marginalen för tidluckornas längd är minskningsbar med 12% gentemot krav på längder på tidsluckoma på grund av stuffbitarna om 24%.
10. Anordning enligt något av föregående patentkrav, k ä n n e t e c k n a d därav, att genom att låta det reella tidschemat variera, utnyttja oförstörande kollisionsdetek- tering med direkt sändning efter kollisionens upphörande samt att använda unik iden- titet på varje meddelande och att dessutom utnyttja CAN-egenskapen att varje identi- tet är förknippad med en unik prioritet och att ett stört meddelande omedelbart omsändes i förhållande till sin prioritet, erhålles effektiviseringen respektive minsk- ningen, att genom att tillåta den automatiska omsändningen och samordna tilldelad tidslucka med meddelandets prioritet, skräddarsys kommunikationens egenskaper efter totalsystemets krav, och att om föregående meddelande har högre prioritet än nästkommande, kommer det föregående meddelandet direkt ut på bussen vid omsänd- ning.
11. ll. Anordning enligt något av föregående patentkrav, k ä n n e t e c k n a d därav, att förlorande meddelande tävlar med efterföljande meddelande på samma sätt, att om alla följande meddelanden har fallande prioritet, kommer omsändning att medföra att följande meddelanden skiftas en tidslucka, att om det efterföljande meddelandet har högre prioritet än det störda, kommer det störda meddelandet inte ut på bussförbindel- sen förrän det möter ett meddelande med lägre prioritet eller att bussförbindelsen blir fri och att på så sätt erhålles ett väsentligen 100 % bussförbindelse utnyttjande medelst en kort och väl predikterbar väntetid för varje meddelande.
12. l2. Anordning enligt något av föregående patentkrav, k ä n n e t e c k n a d därav, att genom att anordna systemet så att det tillåter meddelanden att skifta position i det virtuella schemat inom givna gränser, möjliggöres att alarmmeddelanden sänds icke 10 15 20 25 30 524 201 2.4 schemalagt, trots att den väsentligaste delen av den tillgängliga bandbredden för den normala kommunikationen utnyttjas.
13. Anordning enligt något av patentkraven 1-12, k ä n n e t e c k n a d därav, att vid användande av protokoll, t.ex. CAN, där varje meddelande har en i systemet unik prioritet och omsändning sker av meddelande som blivit stört.
14. Anordning enligt något av patentkraven 1-13, k ä n n e t e c k n a d därav, att vid användande av protokoll där varje meddelande har en i systemet unik prioritet, exempelvis CAN, prioriteten väljes stigande med stigande sändningstid för att omöj- liggöra omedelbar omsändning av meddelande som blivit stört.
15. Anordning enligt något av patentkraven 1-14, k ä n n e t e c k n a d därav, att systemet innefattar en hierarki av virtuella klockor, och att även om systemet är kom- plext eller omfattande och är i grunden tidsstyrt, en eller flera, även i ett extremfall samtliga, moduler är anordnade utan fysisk respektive fysiska klockor.
16. Anordning enligt något av patentkraven l-15, k ä n n e t e c k n a d därav, att det reella schemat är uppbyggt genom att respektive modul är programmerad att sända sina meddelanden i relation till det virtuella schemat.
17. Anordning enligt något av patentkraven l-16, k ä n n e t e c k n a d därav, att den är anordnad att arbeta med en lucktilldelning och/eller lucklängd som varierar i beroende av modulens händelse eller funktion, och att t.ex. vid överföring av kritiska värden överföringen sker tätare eller oftare med tätare eller oftare uppträdande tid- luckor än i fallet då överföring sker av mindre eller okritiska värden, och/eller att överföringsintervallet blir förändrat vid uppträdande ändring av värdet.
18. Anordning enligt något av patentkraven 1-17, k ä n n e t e c k n a d därav, att den arbetar med en kombination av händelse- och tidsstyrningar.
SE0203756A 2002-12-17 2002-12-17 Anordning vid distribuerat styr- och övervakningssystem SE524201C2 (sv)

Priority Applications (13)

Application Number Priority Date Filing Date Title
SE0203756A SE524201C2 (sv) 2002-12-17 2002-12-17 Anordning vid distribuerat styr- och övervakningssystem
PCT/SE2003/001736 WO2004055682A1 (en) 2002-12-17 2003-11-11 Schematizing of messages in distributed control and supervision system
DE60335572T DE60335572D1 (de) 2002-12-17 2003-11-11 System und Verfahren zur effizienten Nutzung der Bandbreite oder der Reduzierung der Zeit Genauigkeitsanforderungen
EP03776106A EP1573560B1 (en) 2002-12-17 2003-11-11 System and method for efficient use of bandwidth or reduction of time accuracy requirements
AT03776106T ATE493708T1 (de) 2002-12-17 2003-11-11 System und verfahren zur effizienten nutzung der bandbreite oder der reduzierung der zeit genauigkeitsanforderungen
US10/539,005 US7711880B2 (en) 2002-12-17 2003-11-11 Schematizing of messages in distributed control and supervision system
US12/717,822 US8037226B2 (en) 2002-12-17 2010-03-04 Time and event based message transmission
US13/238,225 US8364875B2 (en) 2002-12-17 2011-09-21 Time and event based message transmission
US13/728,590 US8700836B2 (en) 2002-12-17 2012-12-27 Time and event based message transmission
US14/246,314 US9594709B2 (en) 2002-12-17 2014-04-07 Time and event based message transmission
US15/457,259 US10025738B2 (en) 2002-12-17 2017-03-13 Time and event based message transmission
US16/037,059 US10579562B2 (en) 2002-12-17 2018-07-17 Time and event based message transmission
US16/805,949 US11157429B2 (en) 2002-12-17 2020-03-02 Time and event based message transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0203756A SE524201C2 (sv) 2002-12-17 2002-12-17 Anordning vid distribuerat styr- och övervakningssystem

Publications (3)

Publication Number Publication Date
SE0203756D0 SE0203756D0 (sv) 2002-12-17
SE0203756L SE0203756L (sv) 2004-06-18
SE524201C2 true SE524201C2 (sv) 2004-07-06

Family

ID=20289909

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0203756A SE524201C2 (sv) 2002-12-17 2002-12-17 Anordning vid distribuerat styr- och övervakningssystem

Country Status (6)

Country Link
US (8) US7711880B2 (sv)
EP (1) EP1573560B1 (sv)
AT (1) ATE493708T1 (sv)
DE (1) DE60335572D1 (sv)
SE (1) SE524201C2 (sv)
WO (1) WO2004055682A1 (sv)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE524201C2 (sv) 2002-12-17 2004-07-06 Lars-Berno Fredriksson Anordning vid distribuerat styr- och övervakningssystem
US20050175026A1 (en) * 2004-02-09 2005-08-11 Sharp Laboratories Of America, Inc. Shared-schedule communication network access protocol
SE528607C2 (sv) * 2004-04-30 2006-12-27 Kvaser Consultant Ab System och anordning för att tidsmässigt relatera händelser i ett fordon
DE102004027503B4 (de) * 2004-06-04 2012-08-16 Robert Bosch Gmbh Verfahren zur Etablierung einer globalen Zeitbasis in einem zeitgesteuerten Kommunikationssystem und Kommunikationssystem
SE0401922L (sv) * 2004-07-23 2005-05-31 Kvaser Consultant Ab Anordning för tidsstämpling av referenshändelser
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
DE102005018837A1 (de) * 2005-04-22 2006-10-26 Robert Bosch Gmbh Verfahren und Vorrichtung zur Synchronisation zweier Bussysteme sowie Anordnung aus zwei Bussystemen
US7733841B2 (en) * 2005-05-10 2010-06-08 Continental Automotive Systems, Inc. Vehicle network with time slotted access and method
US7593430B2 (en) * 2005-07-28 2009-09-22 Alcatel-Lucent Usa Inc. Method and apparatus for generating virtual clock signals
US7548551B2 (en) * 2005-08-19 2009-06-16 Gm Global Technology Operations, Inc. System and method of optimizing the bandwidth of a time triggered communication protocol with homogeneous slot sizes
US7636345B2 (en) 2006-02-01 2009-12-22 Comsys Communication & Signal Processing Ltd. Apparatus for and method of time related communications between multiple devices having different time bases
DE102006010400B4 (de) * 2006-03-03 2023-04-13 Dspace Gmbh Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem
JP4807171B2 (ja) * 2006-07-10 2011-11-02 日産自動車株式会社 通信ネットワークシステム及びエラー検証方法
DE102007051657A1 (de) * 2007-10-26 2009-04-30 Robert Bosch Gmbh Kommunikationssystem mit einem CAN-Bus und Verfahren zum Betreiben eines solchen Kommunikationssystems
DE102008004854B4 (de) * 2008-01-17 2015-06-18 Audi Ag Verfahren zum Übermitteln von Botschaften in einem Bussystem, Busgerät und Bussystem
WO2009123201A1 (ja) * 2008-04-02 2009-10-08 株式会社オートネットワーク技術研究所 車両通信システム
AT506623A1 (de) * 2008-04-03 2009-10-15 Fts Computertechnik Gmbh Verfahren zur sicheren dynamischen bandbreitenallokation in tt-ethernet
US8868661B2 (en) * 2008-10-08 2014-10-21 Verizon Patent And Licensing Inc. Message management based on metadata
EP2418806B1 (en) * 2009-04-08 2017-10-11 Toyota Jidosha Kabushiki Kaisha Data relay device and data relay method used in the device
CN102449958B (zh) * 2009-05-27 2016-08-03 瑞萨电子株式会社 半导体集成电路装置
US8862966B2 (en) 2009-09-09 2014-10-14 Advanced Micro Devices, Inc. Adjustment of write timing based on error detection techniques
JP5271213B2 (ja) * 2009-09-14 2013-08-21 株式会社日立製作所 基地局、端末及び無線通信システム
EP2501079A1 (de) * 2011-03-15 2012-09-19 Siemens Aktiengesellschaft Verfahren zur Echtzeit-Datenübertragung in einem Kommunikations-Netz
DE102011016706A1 (de) * 2011-04-11 2012-10-11 Conti Temic Microelectronic Gmbh Schaltungsanordnung mit Fail-Silent-Funktion
FR2987204B1 (fr) * 2012-02-16 2014-03-21 Thales Sa Reseau de transmission d'informations et noeud
US9432488B2 (en) 2013-03-15 2016-08-30 Concio Holdings LLC High speed embedded protocol for distributed control systems
US8737426B1 (en) 2013-03-15 2014-05-27 Concio Holdings LLC High speed embedded protocol for distributed control system
US8897319B2 (en) 2013-03-15 2014-11-25 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9603995B2 (en) 2013-03-15 2017-03-28 Tandem Diabetes Care. Inc. Device and method for setting therapeutic parameters for an infusion device
EP3849145A3 (en) 2014-05-26 2021-09-15 Kvaser AB High speed embedded protocol for distributed control system
DE112015004473T5 (de) 2014-09-30 2017-07-06 Concio Holdings LLC Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
US10326865B2 (en) 2015-03-24 2019-06-18 Concio Holdings LLC Filter or bridge for communications between CAN and CAN-FD protocol modules
US10609137B2 (en) 2015-08-24 2020-03-31 Microsoft Technology Licensing, Llc Global logical timestamp
EP3371935B1 (en) 2015-11-02 2021-07-21 Kvaser AB Confirming data accuracy in a distributed control system
US10361818B2 (en) * 2017-01-13 2019-07-23 Hamilton Sundstrand Corporation Message dropout minimization when transporting isochronous packets across a plesiochronous boundary
EP3402129A1 (en) 2017-05-09 2018-11-14 Concio Holdings LLC Bit encoding for a bus communication system
US11458621B2 (en) * 2017-09-27 2022-10-04 Kindred Systems Inc. Systems, devices, articles, and methods for parallelization of robots in synchronous communication framework
DE102019205488A1 (de) * 2019-04-16 2020-10-22 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
EP4252438A4 (en) 2020-11-30 2024-04-17 Fort Robotics, Inc. SYSTEM AND METHOD FOR SECURITY MESSAGE LATENCY CHARACTERIZATION
CN112666871B (zh) * 2020-12-29 2022-03-04 中国航发控制系统研究所 航空发动机分层分布式控制系统数据传输系统
US11500715B1 (en) 2021-05-27 2022-11-15 Fort Robotics, Inc. Determining functional safety state using software-based ternary state translation of analog input
WO2023205208A1 (en) 2022-04-19 2023-10-26 Fort Robotics, Inc. Method for safety responses to security policy violations

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4516239A (en) * 1982-03-15 1985-05-07 At&T Bell Laboratories System, apparatus and method for controlling a multiple access data communications system including variable length data packets and fixed length collision-free voice packets
JPS61161840A (ja) 1985-01-10 1986-07-22 Sharp Corp デ−タ伝送方式
JPS61161842A (ja) 1985-01-11 1986-07-22 Sharp Corp 信号送出方式
US4739323A (en) * 1986-05-22 1988-04-19 Chrysler Motors Corporation Serial data bus for serial communication interface (SCI), serial peripheral interface (SPI) and buffered SPI modes of operation
US5353287A (en) * 1992-03-25 1994-10-04 Alcatel Network Systems, Inc. Local area network with message priority
US5335226A (en) 1992-06-18 1994-08-02 Digital Equipment Corporation Communications system with reliable collision detection method and apparatus
US5408506A (en) * 1993-07-09 1995-04-18 Apple Computer, Inc. Distributed time synchronization system and method
US6181708B1 (en) * 1997-12-30 2001-01-30 Cisco Technology, Inc. Lossless arbitration scheme and network architecture for collision based network protocols
US6556561B1 (en) * 1998-12-31 2003-04-29 Nortel Networks Corporation Data network for real time information
US6404822B1 (en) * 1999-05-14 2002-06-11 At&T Corp Control of broadband voice and data communication over a low quality noisy transmission media
SE9904025L (sv) 1999-11-05 2001-05-06 Net Insight Ab Förfarande i ett digitalt kommunikationssystem
DE10000302B4 (de) * 2000-01-05 2011-08-11 Robert Bosch GmbH, 70469 Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
SE522377C2 (sv) * 2000-03-31 2004-02-03 Kvaser Consultant Ab Anordning för att överföra data- och styrkommandon via radioförbindelser i distribuerat styrsystem för en eller flera maskiner och/eller processer
DE10291153D2 (de) * 2001-03-15 2004-04-15 Bosch Gmbh Robert Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem
DE10144070A1 (de) * 2001-09-07 2003-03-27 Philips Corp Intellectual Pty Kommunikationsnetzwerk und Verfahren zur Steuerung des Kommunikationsnetzwerks
DE10200201A1 (de) * 2002-01-04 2003-07-24 Daimler Chrysler Ag Zyklusbasiertes zeitgesteuertes Kommunikationssystem
SE524201C2 (sv) * 2002-12-17 2004-07-06 Lars-Berno Fredriksson Anordning vid distribuerat styr- och övervakningssystem
DE102013002648B3 (de) * 2013-02-15 2014-05-22 Audi Ag Master-Busgerät für einen Fahrzeugkommunikationsbus eines Kraftwagens

Also Published As

Publication number Publication date
US10025738B2 (en) 2018-07-17
ATE493708T1 (de) 2011-01-15
US20120072630A1 (en) 2012-03-22
US8700836B2 (en) 2014-04-15
US7711880B2 (en) 2010-05-04
US10579562B2 (en) 2020-03-03
US20140223057A1 (en) 2014-08-07
US20060143345A1 (en) 2006-06-29
WO2004055682A1 (en) 2004-07-01
US9594709B2 (en) 2017-03-14
US11157429B2 (en) 2021-10-26
US20200201798A1 (en) 2020-06-25
US8364875B2 (en) 2013-01-29
SE0203756D0 (sv) 2002-12-17
SE0203756L (sv) 2004-06-18
US8037226B2 (en) 2011-10-11
US20100161862A1 (en) 2010-06-24
US20170249268A1 (en) 2017-08-31
EP1573560A1 (en) 2005-09-14
US20130117484A1 (en) 2013-05-09
US20190034369A1 (en) 2019-01-31
DE60335572D1 (de) 2011-02-10
EP1573560B1 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
SE524201C2 (sv) Anordning vid distribuerat styr- och övervakningssystem
US7839868B2 (en) Communication method and system for the transmission of time-driven and event-driven Ethernet messages
US7898987B2 (en) Method and device for the exchange of data between at least two users connected to a bus system
JP5814474B2 (ja) 通信システムを駆動する方法
JP4084196B2 (ja) 多数のttcan−バスのサイクルタイムを同期させる方法と装置及び対応するバスシステム
CN111030909B (zh) 一种应用于can总线多主设备通讯间时间同步的方法
KR20140088091A (ko) 차량의 온보드 네트워크에서의 네트워크 가입자들을 동기화하는 방법 및 디바이스
EP2169487B1 (en) Industrial controller with coordination of network transmissions using global clock
JP2002500841A (ja) 「コントローラ・エリア(can)」プロトコルを有する決定論的シリアル・バス通信システム
EP0622711A2 (en) Digital communication network data transmission method and apparatus
US7721030B2 (en) Method and device for connecting sensors or actuators to a bus system
JP2000196700A (ja) 調歩同期式データ伝送方法
US20090240857A1 (en) Method and device for controlling a bus system and a corresponding bus system
JP2008306648A (ja) データ中継装置及びデータ中継方法並びに通信ネットワークシステム
US7096295B2 (en) Method and device for generating program interruptions in users of a bus system, and bus system
CA1278871C (en) Method of data arbitration and collision detection on a data bus
JP2668898B2 (ja) バス制御回路
JP3337907B2 (ja) 多重伝送システム
JP3442685B2 (ja) 遠方監視制御システム
JPH09130448A (ja) データ伝送装置及びデータ伝送システム

Legal Events

Date Code Title Description
NUG Patent has lapsed