SE449801B - Kommunikationsbussystem - Google Patents

Kommunikationsbussystem

Info

Publication number
SE449801B
SE449801B SE8102494A SE8102494A SE449801B SE 449801 B SE449801 B SE 449801B SE 8102494 A SE8102494 A SE 8102494A SE 8102494 A SE8102494 A SE 8102494A SE 449801 B SE449801 B SE 449801B
Authority
SE
Sweden
Prior art keywords
data
output
timer
signal
module
Prior art date
Application number
SE8102494A
Other languages
English (en)
Other versions
SE8102494L (sv
Inventor
H Vrielink
Original Assignee
Philips Nv
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 Philips Nv filed Critical Philips Nv
Publication of SE8102494L publication Critical patent/SE8102494L/sv
Publication of SE449801B publication Critical patent/SE449801B/sv

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Multi Processors (AREA)

Description

449 801 dokumenten som är kända såsom EUROMICRO 1976: R. Sommer, "Cobus, a firmware controlled data transmission system", sid 299-303. "Cobus" står för koaxial- bussledning och kommunikation realiseras därigenom mellan ett antal stationer innefattande mikroprocessorer. Detta system tillfredställer emellertid inte kraven på låg kostnad: kraven vad beträffar tidsstyrning i de olika processo- rerna är ganska stränga. För en jämn exekvering av kommunikationen måste de deltagande processorerna känna de andra processorernas bitperioder. Detta bety- der att varje processor måste ha en dyrbar kristalloscillator eller att syste- met måste ha en central klocka eller att ett tidsstyrningsnät måste trimmas in efter monteringen, vilket också är dyrbart och otillförlitligt.
En sådan billig och tillförlitlig lösning innebär också en enkel lösning, emedan, då ett system av detta slag tagits i drift (t.ex. i en komsumentappa- rat), speciella trimnings- och andra anpassningssteg ej längre behöver genom- föras. Detta är ännu mera tillämpbart då tillägg av nya datakällor och/eller ~datamottagare i ett senare steg är ett karakteristiskt drag hos systemet. Upp- finningen har till ändamål att_ästadkomma en lösning som tillfredställer de beskrivna kraven vad beträffar låg kostnad, tillförlitlighet. enkelhet och möj- lighet till framtida utökning. För detta ändamål kännetecknas kommunikationsbuss~ systemet av beskrivet slag enligt uppfinningen därav att flera klockgeneratorer (Ci) med olika klockperioder TcminÉšTcüšåTcmax, där i = l,2,3,.... är anordnade för styrning av olika deltagarstationer (Ni), varvid varje deltagarstation (Mi) är tillordnad en klockgenerator(Ci), att varje deltagarstation (Mi) innehåller en generator såväl som en detektor för styrsignaler, varvid denna styrsignalge- nerator och -detektor uteslutande är anslutna till förbindníngen (en förbind- níng) i bussledningen (C), samt en generator och en detektor för data- och pri- oritetssignaler, varvid denna data- och prioritetssignalgenerator och -detektor uteslutande är anslutna till förbindningen (en annan förbindning) i bussledning- en, att förbíndningen respektive varje förbindning hos bussledningen är försedd med en logisk kombinationskrets för att prioritera ett första mottaget signal- värde i förhållande till ett andra mottaget signalvärde för att alstra en buss- signal med det första signalvärdet repektive med det andra sígnalvärdet, att varje styrsignaldetektor uppvisar en detekteringskrets för att avkänna det andra bussignalvärdet och en första tidgivare, vars ingång är förbunden med styrsig- naldetektorns utgång för att vid en första utgång på tidgivaren lokalt validi- fiera det rådande andra bussignalvärdet efter ett första tidfintervall (TAi) och en andra tidgivare är anordnade, vars ingång är förbunden med styrsignaldetek- torn och med den nämnda utgången på den första tidgivaren för att vid en utgång efter ett andra, större tidsintervall (TBi) för det rådande och lokalt validi- lieradc andra bussignnlvärdet utföra en första generell validifiering, varvid 3 fi49 801 varje deltagarstation utför den första lokala validifieríngen innan en eventu- ell första generell validifiering genomföres av en annan deltagarstatíon och att data- och prioritetssignalgeneratorn är förbunden med den andra tidgivarens ut- gång för att efter den generella validifieringen alstra en startsynkroniserings- signal med det första signalvärdet.
Uppfinningen tillåter stora toleransskillnader i klocksignalgeneratorerna som ingår i anläggningen. Dessa toleranser tas i beaktande: då toleranserna är större kommer den andra tidsperioden att bli längre till följd av dess beroende av toleransfaktorn (R). Detta betyder en reducerad kommunikationshastighet men det inverkar inte på de krav som gäller. Det observeras att i dessa anläggning- ar, såsom i synnerhet i en konsumentapparat, aktionshastigheten inte är så vik- tig som i mera professionella anläggningar där användning av kommunikations- bussledningar som innehåller ett antal ledningar (t.ex. fyra eller åtta o.s.v.) inte är orealistisk.
I ett kommunikationsbussystem kan två slag av källor och/eller mottagare i pincip ingå: aktiva och passiva enheter. Detta betyder: - aktiva enheter som självständigt kan delta aktivt i en aktion avseende en kommunikation. I det efterföljande kommer enheter av denna kategori också att betecknas såsom "moduler". En källa eller mottagare kan således bli master i anläggningen. Dessutom kan dessa aktiva källor och/eller mottagare förbli pas- siva genom val eller de kan förbli passiva till följd av en högre prioritet hos en annan aktiv källa eller mottagare. I de senare fallen kan dessa källor och/eller mottagare tjäna såsom slavar i anläggningen. - passiva enheter som inte självständigt kan ta ett initiativ för att erhål- la en kommunikationsförbindelse. En källa och/eller mottagare av detta slag kan därför bara tjäna sâsm en slav i anläggningen.
Då (liksom i det föregående och i det efterföljande) hänvisning görs till' "aktiva deltagare" avses den aktiva datakällan (-källorna) och/eller-mottagaren (-mottagarna) som i verkligheten deltar i en aktion avseende en kommunikation vid en given tidpunkt (detta behöver således ej vara hela antalet aktiva data- källor och mottagare, som finns, emedan det inte alltid är en situation där hela antalet önskar delta). Det observeras åter att det är givet att en data- källa också kan vara en datamottagare och omvänt. Uppfinningen är baserad på insikten om det faktum att alla aktiva deltagare måste ha tillfälle att verkli- gen delta i_en aktion avseende en kommunikation. De olika klocktoleranserna får inte bli orsak till att aktiva deltagare som har en klocka, som är alltför långsam, ej kan delta (emedan de inte reagerar tillräckligt snabbt för att del- ta i en sådan aktion). För detta ändamål skapas en s.k. “induktionsmekanism“ genom införandet av nämnda första och andra tidsperiod (t.ex. TAi och Tßil vilket säkerställer att alla aktiva deltagare verkligen kan delta. Detta kan illustreras på följande sätt: antag att flera moduler önskar använda bussled- 449 801 4 ningen. För detta ändamål måste de vänta tills bussledningen har varit "klar" eller "redo" under en tillräckligt lång tidsperiod. Antag också att den lokala klocksignalgeneratorn i en första modul är snabbare än den i en andra modul.
Den första modulen kan således veta att bussledningen är fri, vilket betyder redo för användning, snabbare (efter Tßi) än den andra modulen. Den första modulen börjar då att använda bussledningen ("upptar" bussledningen).Indukti- i onsmekanismen gör att den andra modulen (som under tiden har detekterat tid- punkten TA2) efter att ha detekterat att en annan modul (den första modulen) s har börjat använda bussledningen också börjar att använda bussledningen.
Uttrycket svarstid för en datakälla och datamottagare avser den tid som krävs av en sådan modul för att reagera på en databit. Med andra ord så är svarstiden en produkt av en faktor Vi > 1 och klocksignalperiodvaraktigheten för en sådan modul (Mi).
Uttrycket "aktion avseende en kommunikation" har redan använts flera gång- er i det föregående. En kommunikation består av ett antal aktioner som skall utföras: - utsändande av förfrågan (“start") av flera aktiva deltagare för att eta- blera en kommunikationsförbindelse - utförande av en valprocedur bland flera aktiva deltagare, som kräver en kommunikationsförbindelse, (masterval) på basis av prioritets- och/eller adressdata - etablering av en förbindelse av mastern med den källa eller mottagare som tjänar såsom slav i denna kommunikation (s.k. "öppen slav"-fas). - själva dataöverföringen.
Den beskrivna induktionsmekanismen i enlighet med uppfinningen är i syn- nerhet viktig för de två första förloppen: det skall vara möjligt för mer än en aktiv deltagare att delta trots klocktoleranserna. För de två sista förloppen är detta ej längre viktigt, emedan här avses den direkta anslutningen mellan en master och en slav, som är adresserad och som börjar dataöverföring med mas- tern. Emedan mastern känner vilken enhet som är slav är det tänkbart att mas- tern också känner slavens svarstid och tar denna svarstid i beaktande för data- överföringen. I praktiken blir det möjligt att anpassa dataöverföringshastighe- ten till den aktuella situationen mellan mastern och slaven: högre hastigheter kan då åstadkommas. Det är inte nödvändigt att ta hänsyn till datakällor och/eller -mottagare som reagerar långsammare.
För att i synnerhet möjliggöra Üinduktionen" för den första aktiohen, kän- netecknas multi-käll/mottagardatabehandlingsanläggningen enligt uppfinningen därav att nämnda medel är utförda att fastställa att kommunikationsbussled- ningen är redo att exekvera en aktion avseende utsändande av förfrågan (start) av flera aktiva deltagare för att åstadkomma en kommunikationsförbindelse. För I/ n 5 449 801 att i synnerhet möjliggöra induktionen för den nämnda andra aktionen känneteck- nas multi-käll/mottagardatabehandlingsanläggningen därav att nämnda medel är utförda att fastställa att kommunikationsbussen är "redo" att exekvera en ak- tion för att, på basis av prioritets- och/eller identitetsdata, exekvera en valprocedur bland flera datakällor och/eller mottagare (aktiva deltagare) som kräver en kommunikationsförbindelse.
För att erhålla snabba och entydiga beslut på kommunikationsbussledningen, då flera aktiva deltagare presenterar sina data till bussledningen, känneteck- nas en annan utföringsform av databehandlingsanläggningen därav att kommunika- tionsbussledningen består av minst ett överföringsmedium som innefattar en lo- gisk "virad" grindfunktion ("wired AND" eller "wired OR") för varje anslutning av en aktiv deltagare.
Särskilt viktiga är lösningar där kommunikationsbussledningen endast be- står av en eller tvâ överföringsmedia. För den aktion som avser utsändande av förfrågan (start) av flera aktiva deltagare har ett system, som endast innefat- tar ett överföringsmedium, en minimal andra tidsperiod Tßi som uppfyller sam- bandet Tßi = aB_Igj = (R6.V)¿Igj för varje aktiv deltagare (Mi), där Tci är periódïaraktigheten för denna aktiva deltagares (Mi) klocksignalgenerator. I detta fall har anläggningen innefattande två överföringsmedia vidare en minimal andra tidsperiod Tßi = (R3.V)¿Igj.
För den aktidñ_som avser valproceduren, har anläggningen innefattande ett enda överföringsmedium en minimal andra tidsperiod TH. = aFTci = (R4.V)¿I§i_. I det senare fallet har anläggningensinnefattande två överfö- ringsmedia vidare en minimal andra tidsperiod TFí = (R.V)¿Ici.
En lämplig konstruktion hos en datakälla oEfi/eller en-mottagare, som är anpassad för aktivt deltagande i en aktion avseende en kommunikation i förelig- gande anläggning, kännetecknas därav att datakällan och/eller mottagaren inne- fattar minst en styringång och en styrutgång, varvid nämnda medel i källan och/eller mottagaren: - ställer om en logisk nivå "klar" eller "redo" på kommunikationsbussled- ningen till en logisk nivå "upptagen" via styrutgângen efter detektering i de andra detekteringsorganen att nämnda andra tidsperiod (t.ex. Tßí) har utlöpt, - via styrutgången också avger den logiska nivån "upptagen" då via styrin- gången den logiska nivån "upptagen“, som är genererad på bussledningen av en annan aktiv deltagare, tas emot och källan och/eller mottagaren själv'under tiden medelst de första detekteringsorganen har fastställt att åtminstone den första tidsperioden (t.ex. TAi) har utlöpt, ' -_ - så att källan och/eller mottagaren kan aktiveras till att delta i exe- kverandet av en aktuell aktion. 449 801 6 I praktiken kommer det att inträffa att nämnda datakälla och/eller-motta- gare är en digital signalprocessor, som innefattar programerade funktionsorgan, som innehåller nämnda medel och i vilka en ingång tjänar såsom nämnda styrin- gång, medan en utgång tjänar såsom nämnda styrutgång.
Då den digitala signalprocessorn på beskrivet sätt användes såsom en data- källa och/eller datamottagare kan en förbättring uppnås genom att anordna en övergângsdetektor för logisk nivå “redo/upptagen" för källan och/eller mottaga- ren, varigenom äredo/upptagen"-övergång på kommunikationsbussledningen resul- terar i reducerad svarstid för avgivande av den logiska nivån "upptagen" på styrutgången av datakällan och/eller datamottagaren själv om det vidare under tiden har fastställts att åtminstone den första tidsperioden har utlöpt. Svars- tiden för källan och/eller mottagaren reduceras således så att kommunikations- hastigheten ökas. - I det fall-då det är lämpligt eller ekonomiskt försvarbart med hänsyn till typen av datakälla och/eller datamottagare kan en attraktiv lösning avseende svarstiden realiseras. För detta ändamål kännetecknas datakällan och/eller da- tamottagaren därav att den har en första sektion och en andra sektion, varvid nämnda första sektion i huvudsak omfattar käll- och/eller mottagarfunktionen och är ansluten till den andra sektionen via minst en förfrågningsutgâng och en kvittensingång, vilken andra sektion har en förfrågningsingång och en kvittens- utgång och dessutom nämnda medel för att fastlägga om kommunikationsbussled- ningen är redo att exekvera en aktion avseende en kommunikation, för vilket ändamål den andra sektionen kan vara ansluten till bussledningen genom nämnda styringâng och styrutgång. Vidare kan nämnda andra sektion också innefatta identitetsjämförelsemedel, varigenom datakällans och/eller mottagarens identi- tet kan jämföras med en identitet som presenteras via kommunikationsbussled- ningen. i En speciell version av den ovannämnda lösningen är vidare kännetecknad därav att nämnda medel i den andra sektionen innefattar ett ROM-minne, en adressräknare och ett logiskt OCH-funktionselement, varvid ROM-minnet är adresserbart genom adressräknaren; adressräknaren räknar klocksignaler som avges av den första sektionen via en klocksignalgeneratoringång efter att först en krav- eller frägesignal tagits emot via frågeingången; då det räkneläge nås vilket representerar den första tidsperioden (TAí) alstrar det adressera- de ROM-minnet ett utgångsbit, varigenom det logiska OCH-funktionselementet för- beredas; då det räkneläge nås vilket representerar den andra tidsperioden (Tßil eller tidigare, då via stvringången buss-"redo"-signalen övergår till buss-"upptagen"-signalen så_att räknaren drivs till räkneläget för den andra i' tidsperioden (Tßi), varvid stället för det ROM-minne som då adresseras avger 449jso1 iogiska nivån "upptagen" tiii styrutgången.
Siutningen observeras att ROM-minnet som adresseras via adressräknaren också kan vara utförd att exekvera identitetskontroiien i samverkan med iden- titetsjämföreiseorganen.
Kommunikationsbussiedningen består av minst ett överföringsmedium. Detta är den fördeiaktigaste iösningen även om kommunikationshastigheten inte är sär- skiit hög, emedan kiocksignaigeneratortoieranserna får kraftig inverkan.
Lösningar som innebär fiera överföringsmedia är också möjiiga med använd- ning av induktionsprincipen i eniighet med uppfinningen. En muiti-käii/ mot- tagardataaniäggning är särskiit kännetecknad av att kommunikationsbussiedningen består av två överföringsmedia, av viika ett tjänar såsom styröverföringsmedi- um, medan det andra tjänar såsom dataöverföringsmedium, varvid åtminstone varje aktiv deitagare har en styrmediuminskrivningskiämma och en iäskiämma och en dataöverföringsmediumskrivkiämma och en iäskiämma. En annan utföringsform kän- netecknas därav att kommunikationsbussiedningen består av tre överföringsmedia, av viika två tjänar såsom styröverföringsmedia, medan det tredje tjänar såsom dataöverföringsmedium, varvid åtminstone varje aktiv deitagare har styröverfö- ringsmediumskrivkiämmor och iäskiämmor och en dataöverföringsmediumskrivkiämma och en iäskiämma. En annan specieii utföringsform innefattande ett muitipei- överföringsmedium kännetecknas därav, att kommunikationsbussiedningen består av tre överföringsmedia, av viika ett tjänar såsom styröverföringsmedium medan de andra två tjänar såsom dataöverföringsmedia, varvid åtminstone varje aktiv dei- tagare har en styröverföringsmediumskrivkiämma och en iäskiämma och dataöverfö- ringsmediumskrivkiämmor och-iäskiämmor.
Uppfinningen beskrivs mera detaijerat med hänvisning tiii ritningarna, varvid observeras att bara exempei är beskrivna, tiii viika uppfinningen på intet sätt är begränsad. fjg_l visar schematiskt ett antai aktioner som biidar kommunikation via en kommunikationsbussiedning, fig_§ visar en muiti-käii/mot- tagardata-behandiingsaniäggning med ett överföringsmedium i form av en enkei- iedning, fjg_ âgvisar ett tidsdiagram som avser aniäggningen i fig 2, figli visar en muitikäii/mottagardatabehandiingsaniäggning med ett överföringsmedium i form av två iedningar, fjg_§ visar ett tidsdiagram som är reiaterat tiii an- iäggningen i fig 4, jjg_§ visar en aniäggning med ett överföringsmedium i form av tre iedningar, fig_Z visar en något modifierad utföringsfonn av aniäggningen med ett överföringsmedium i form av tre iedningar, fig 8a och 8b visar utfö- ringsformer av moduier, som är utförda såsom en digitai signaiprocessor, figjâ visar ett fiödesdiagram för utförande av avbrottsrutiner, jj¿Lig visar ett fiö- desdiagram för ett huvudprogram, fig_i1 visar ett fiödesdiagram för en av- brottsprocedur, jjg lg visar ett fiödesdiagram för en detaijerad avbrottsproce- dur, fig_i§ visar ett fiödesdiagram för en bussiednings-“redo?"-test, fig_i¶ 449 801 visar ett blockschema för en datakälla och/eller datamottagare som består av en första sektion och en andra sektion, fjg_l§ visar ett detljerat diagram för blockdiagrammet i fig 14, jj¿L}§ visar ett tidsbitdiagram för diagrammet i fig 15 och fig_l1 visar diagrammet för en "redo/upptaget-övergångs“-detektor.
Fig 1 visar schematiskt de aktioner eller förlopp som kan ta del i en kom- munikation via en bussledning: - Vänta till bussledningen är redo för en aktion avseende en kommunikation (block 20). Bussledningen betraktas såsom “redo eller klar" då den inte uppvi- sar någon aktion under en tillräckligt lång tidsperiod. Det är viktigt att alla aktiva deltagare känner till denna situation “bussledningen redo" så att de alla kan delta i nästa aktion. _ - Skiljedom (block 22) är nästa aktion, vilken avser utförande av en val- procedur på basis av prioritets- och/eller identitetsdata. Det bestämmes sâle- des vilken modul som blir master i anläggningen.
- Slavval (block 24): mastern utsänder en destinationsadress. Alla moduler jämför denna adress med sin egen identitet. Källan eller mottagen som avkänner överensstämmelse betraktar sig själv såsom slav. Detta är den s.k. "öppenslav"- fasen.
- Denna källa eller mottagare gör vanligen sin egen identitet känd för mas- tern så att mastern kan kontrollera om den korrekta slaven har valts (block 26).
- Dataöverföring (block 28). Data som skall överföras transporteras via bussledningen. Slaven betraktar överföringen.såsom avslutad då den känner att bussledningen åter är fri (ingen aktion inom en given tidsperiod). lill följd av det faktum att efter mastervalet och slavvalet normalt en punkt-till-punkt- förbindelse är upprättad kan andra tidsrestriktioner också tillämpas. Dessa restriktioner kan vara så valda att de är optimala för den aktuella master-slav konfigurationen så att en högre datatransporthastighet kan nås. Under dataöver- föringen kan skydd mot bitöverföringsfel realiseras. Detta kan uppnås medelst en s.k. “bit-eko"~procedur, där mottagaren återsänder varje bit. Källan jämför den bit som sänds ut med den som tas emot.
Det observeras att förutom blocket 26 blocket 28 inte alltid uppträder.
Det finns fall då en master som har genomfört öppnande av en slav slutar sin kommunikationsinstruktion. " i _.
I anläggningarna enligt uppfinningen åstadkommas transporten av informa- tion vanligen genom serieöverföring via minst ett överföringsmedium. Såsom re- dan har beskrivits ger detta ett synkroniseringsproblem då ingen central kloc- ka, kristalloscillatorer eller trimningsnätverk kan användas.
"Induktions“-principen i enlighet med uppfinningen gör det möjligt att klockorna i anläggningen, vilka kan finnas i varje modul eller eventullt i 9 ' 449 sol varje grupp av moduler, har toleranser. Antag att det för varje aktiv källa och/ eller mottagare uppträder en tolerans Ri:R¿ Timax/Timin. En av- vikelse från -20% till +80% resulterar exempelvis i ett Ri=2,25. I det efter- följande antages att alla perioder i varje aktiv källa och/eller mottagare är proportionella mot en klocksignalgenerator (Tci)-period som är tillordnad den aktiva källan och/eller mottagaren.
Fig 2 visar en multi-käll/mottagardatabehandlingsanläggning som har ett överföringsmedium i form av en enkelledning. Bokstaven C i fig 2 anger enkel- ledningsbussledningen via vilken en logisk nivå O eller 1 kan överföras. Be- teckningarna M1, M2 .... Mn anger datakällor och datamottagare. Dessa kan vara aktiva och passiva källor och/eller mottagare. Emedan det inte är relevant för beskrivningen av uppfinningen att det förutom aktiva källor och/eller mottagare också kan finnas passiva källor och/eller mottagare antages det i det efterföl- jande att bara aktiva datakällor och datamottagare uppträder. Dessa kommer i det efterföljande att benämnas moduler.
Varje modul kan läsa eller skriva in data eller bådadera från eller på ledningen; men för att etablera en kommunikationsförbindelse måste alla modu- ler kunna avläsa och skriva in kommunikationsstyrinformation från och på buss- ledningen. För detta ändamål har varje modul en utgång CW (modul M1), CW (modul M2) .... för inskrivning på bussledningen och ingång CR för avläsning av buss- ledningen. Informationen på C är infonnationen på ingångarna CR (modul M1), CR (modul Mr), .... CR (modul Mn). För inskrivningen antages att bussledningen C har en virad logisk grindfunktion: en virad OCH-grind eller en virad ELLER-grind. Med hänsyn till de exempel som valts för den vidare beskrivningen och den valda signaldefinitionen med logiska nivån "upptagen" = "låg" = 0 och "fri" = "hög" = 1 användes den logiska OCH-funktionen för att bestämma den lo- giska nivån på bussledningen. Nivån på ledningen C är således bestämd genom C = CN (M1) . CW (M2) .... Som bekant kan en virad OCH-grind t.ex. realiseras me- delst bussdrivelement med öppen kollektor.
Fig 3 visar ett tidsdiagram för det i fig 2 visade exemplet. I detta tids- diagram anger C signalerna på bussledningen. CN (M1) och CW (M2) anger signal- tillstånden på modulernas M1 och M2 skrivutgångar. I detta exempel har antagits att båda moduler önskar kommunikation. Vidare är klocksignalgeneratorn i modu- len M1 i detta exempel snabbare än den i M2. Sett tidsmässigt äger följande rum: ' _ 1) En tidigare master i anläggningen (en modul Mi) har avslutat sin använd- ning av bussledningen. _ . s ' 2) Om den logiska nivån på C-ledningen inte ändrar sig efter en första tidsperiod TAI (således i detta fall för M1) betraktas bussledningen såsom 449 801 10 varande "fri" (C=1). On bussledningen antar den logiska nivån "upptagen" (C=0) före slutet av tidsperioden TAI betraktas bussledningen såsom upptagen. En vänteperiod tills bussledningen blir fri är därvid nödvändig (se till vänster om 1). 3) Efter TA1 är det en vänteperiod tills slutet av den andra tidsperioden TB1 innan modulen M1 börjar att använda bussledningen. Detta realiseras genom tillförande av en startbit: CH (M1) avger logiska nivån "upptagen" så att C blir O. Under tiden har modulen M2 passerat sin första tidsperiod TA2 och den_ avkänner på ledningen C att C blir 0. Modulen M2 reagerar på detta genom att mata ut logiska "upptagen"-nivån genom sin utgång CW (M2). Detta äger inte rum omedelbart emedan modulen har en svarstid. Denna svarstid är angiven genom be- teckningen TR2. De nämnda tidsperioderna, svarstiden och klocksignalgenera- torernas toleranser, som inverkar på hela proceduren, kommer att behandlas i det efterföljande för att ge en insikt i det ömsesidiga beroendet.
Delen mellan 1) och 3) är betecknad med bokstäverna MDF i fig 3, den avser således aktionen "vänta tills bussledningen är klar", d.v.s. utsändande av alla krav eller frågor (start) av alla aktiva deltagare. 4) Startbiten har en varaktighet (T11) (modul M1) respektive (T12) (Modul M2). På ledningen C är detta Tsb med hänsyn till den virade OCH-funktionen.
Därefter matas en databit (hög eller låg nivå) till bussledningen. Detta görs av den aktiva deltagarmodulen M1 liksom av M2. Den första databiten som till- föres är biten av den högsta ordningen i var och en av modulernas M1 och M2 identitet. 5) Vid tidpunkten t=T21 avläses databiten på C av modulen M1. Vid tidpunkten t=T22 avläses denna databit av modulen M2. Avläsning äger således rum senare i M2 med hänsyn till dess långsammare klocka.
Denna del av kommunikationen avser aktionen att utföra ett val bland de aktiva deltagarna på basis av identitetsdata. Mastern fastställes således. Det- ta benämnes också skiljedomsval. Modulerna jämför sina bitar genom den virade OCH-funktionen: först deras bit av högsta ordningen och resultatet är att en presenterad "låg" signal tar över en presenterad "hög" signal. Så snart en ak- tiv deltagande via sin läsingång avkänner att en "hög" signal som tillföres av densamma uppenbarligen blir "låg" genom en annan signal drar denna deltagare tillbaka sitt deltagande och accepterar således att den har förlorat i skilje- domsvalet. Under de följande faserna är denna modul ej längre en aktiv deltaga- re och håller sin utgång på den logiska nivån “hög": CW (M1) = 1 (liksom alla andra icke-deltagare). 6) Efter T31 eller T32 avges en stoppbit (av de deltagare som fortfarande är aktiva). Denna bit är en logisk "hög" signal. ” 449 soi 7) Räknat från en ytterligare första tidsperiod TEI eller TE2 undersöker de (fortfarande) aktive deltagarna om en övergång sker på ledninge C:C=1-70.
Detta anger en ny startbit. Denna del av proceduren avser behandlingen av den första databiten: TFB i fig 3. 8) Väntesubrutinen 7) varar tills en ytterligare andra tidsperiod (TF1) har utlöpt. Den nämnda “induktions"-principen genomföres återigen. Efter TE1 (för modul M1) och TE2 (för modul M2), vilka perioder återigen kan betecknas såsom en första tidsperiod, löper en vänteperiod tills en av de två modulerna passe- rar sin egen andra tidsperiod TF1 respektive TF2. Modulen M1 når först sin TF] (snabbare klocka) och en ny startbit uppträder därvid på ledningen C för båda modulerna. Men såsom nämnts under 3) ligger modulen M2 något efter: efter sin svarstid TR2.
Efter TF1 sker en övergång C=1-70: en ny startbit. Därifrån fullbordas också alla faserna 4) -8): TSB-behandling av den andra databiten o.s.v. Detta upprepas tills alla databitar som krävs för upprättandet av kommunikationsför- bindelsen har behandlats. Härvid hänvisas åter till de block och den besrkriv- ning som givits i samband med fig 1 där det faktum har nämnts att, sedan för- bindelsen en gång har upprättats, tidsrestriktionerna kan ändras så att en snabbare punkt-till-punkt dataöverföring mellan en master en slav är möjlig.
Ett exempel på förhållandet mellan de ovannämnda tidsperioderna är viktig för en korrekt förståelse av uppfinningen. Följande kan räknas fram för den med hänvisning till fig 2 och 3 beskrivna utföringsformen. Antag att Tci är den lokala klocksignalgeneratorperioden för modulen Mi. Konstruktionen av en modul antages vara sådan att alla aktuella tidsperioder är härledda från nämnda peri- od Tci; TRi = aRi.Tci; TAi = aAi.Tci; Tßi = aB¿.Tci; Tli = ali.
Tci; T2i = a2i.Tci; T3i = a3i.Tci; TEi = aEi.Tci; TF, = aFi.Tci...(l).
Symbolerna aji är härvid konstanter. aAi och aEí är interna förberedelse- tidsfaktorer. aAi avser det antal klockperioder som krävs av en modul Mi för att efterfråga en kommunikationsförbindelse. aEi avser det antal klockperio- der som krävs av en modul Mi för att presentera en stoppbit (efter T31) efter en databit. För att uppnå det beskrivna ändamålet, dvs en bra kommunikations- förbindelse medelst en enkelledning utan att stränga krav ställes på klockorna i systemet, skulle symbolerna aßi och aFi gälla för hela systemet och inte bara för varje modul Mi. Detta emedan de nämnda andra tidsperioderna Tßi och TFi är kritiska för ett korrekt utförande av aktionerna. De villkor som skall uppfyllas av aB¿ och aFi kommer att härledas i det efterföljande.
Tidsdíagrammet i fig 3 visar de villkor som skall uppfyllas för ett kor- 449 801 12 rekt utförande av aktionerna: TRi < 131 -------- -- (2A) T11 < ïgi -------- -- (za) Tzi < 131 -------- -- (2c) T3í < TFi -------- -- (20) TEí < TF; -------- -- (ZE) TFi < TX; -------- -- (ZF) TAi < TE; -------- -- (26) Härvid avser T-en maximaï tidsperiod och_I en minimaï tidsperiod. Toieransfak- torn Ri = Tci/:gi är definierad. Med användning av detta värde (1) och (2) fås: ali/aRí > Ri ---- ~- (3A) a2i/a1i > Ri ---- -- (3B) a3i/a2i > Ri ---- -- (3C) aFi/agi '> Ri ---- -- (an) aAí/aFi > Ri ----- -~ (3E) aßi/aAi > Ri ---- -- (3F) och vidare aEí>a31 (minst oiika) ... (36).
Om man antar att en så hög kommunikationshastighet som möjïigt normaït önskas kan (3A-3F) med (3G) skrivas på föijande sätt: ali = Ri;aRi -------- -- (4A) a2i = Ri.a1i '''''''' '_ (4B) a31 = Ri.a2i -------- -- (40) aF¿ = Ri.a3i -------- -- (4D) aAí = R1.aFi -------- -- (4E) = ________ _' Härav föïjer att: - aFi = Ri4.aRi = Ri4.vi (sA) R15.v1 (sn) Ri5.vi (so) H _ ~-5 (aAí “ R1öøaRi R1 .aRí II II asi 0Ch aE1 >Ri.aRi --------- -e----- (SD) 13 449 801 Detta gäller för varje modul. Emedan det för dessa symboler är viktigt att göra aktionerna (bussledning "klar“, "val av master") perfekt för hela systemet mås- te det högsta värdet på ae, = aB och aFi = aF väljas såsom systemkon- stant bland gruppen av tillhörande produkter. Den största produkten av fakto- rerna Ri och Vi i gruppen av alla produkter av Ri och Vi för modulerna blir därför bestämmande. Moduler med en stor klocktolerans och en lång svarstid alstrar stora produkter av Ri och Vi men moduler med en liten klocktolerans och en mycket lång svarstid och omvänt alstrar också stora produkter av Ri och Vi.
Denna största produkt betecknas R.V. De andra tidsperiodernas beroenden fixeras således: aß = R6.V och aF = R4.V --- (6) sâieaes är IB, = niïïai och TH. = n4.v.ïci --- (7) Här är V = V , svarstidsfaktorn för den givna modulen Mp för vilken den största produkten V.R bildas med Rp = R för denna modul. Svarstiden för denna modul är TRP = V.Tcp. Därav följer de minsta möjliga tvâ tidsperioderna 13 = RÖ .jRp och lF = R4 .jkp --- (s) TF är ett mått på den minimala arbetsperiod ("ram") varaktigheten för kommunikation av en databit under en aktion som avser en kommunikation.
I praktiken kan den interna svarstiden TRi för en modul Mi inte minime- ras obegränsat; detta beror på den valda realiseringen. Vid kommunikation med en programmerad mikroprocessor är ett TRi på t.ex. 10 mikrosekunder för när- varande tänkbart. Vid en komplett hårdvarurealisering synes t.ex. 2 mikrose- kunder - 0,2 mikrosekunder tänkbart för TRi. I fallet med kristallstyrda klockor är R mycket nära 1, men om billiga klockor användes, t.ex. med enkla RC-oscillatorer (såsom antages i denna beskrivning), kan R vara en faktor 4 eller t.o.m. mera.
Numeriskt exempel på en tänkbar situation: Antag R = 4 och TRD = 10 mikrosekunder._IBp = 46.10 40 ms och_IF = T (ram) 2.,6 ms;_šåledes T (ram) = R.T (ram) = 10,4 ms. Tßp = 160 ms.
Som ett sämsta fall blir kommunikationshastigheten vid en aktion därvid ungefär 99 Baud. “ Om TR = 2 - 0,2 mikrosekunder (till följ av hårdvara som är anordnad för detta ändamål, se fig 14 och 15) ökas den nämnda lägsta hastigheten till ungefär 500 - 5000 Baud. ~ 449 801 ” Det observeras att tiden TRi kan reduceras även då proceduren är styrd medelst en programmerad signalprocessor. För detta ändamål kan en enkel "hög/låg"nivådetektor inkopplas mellan bussledningen C och modulen. Detektorn arbetar på följande sätt: så snart bussledningen ändrar sig till "lågt" värde (C 0) inställer den CN (Mi) på 0 via en krets.
Av det av det föregående följer att för definitionen av systemet enligt föreliggande uppfinning den största tillåtna produkten (R.V) kan bestämmas. Med andra ord med hänsyn tagen till en "värsta" tillåten modul som kan ingå i sy- stemet ligger säkerheten i att proceduren genomföres korrekt däri att hänsyn tas till produkten (R.V).(R.V). ' Fig 4 visar en multi-käll/mottagardatabehandlingsanläggning, i vilken en enkelledningsbuss enligt fig 2 är utökad med en extra ledning. Denna tvåled- ningsbuss, där varje ledning är lämplig för transport av logisk nivå 0 och 1 är dyrare än enkelbussledningen men erbjuder fördelen att högre kommunikationshas- tighet kan uppnås. M1, M2 .... Mn anger åter moduler som kan tjäna såsom aktiva deltagare. K är en styrledning och D är en dataledning. Varje modul har en skrivutgång KW till styrledningen och en läsingång KR från styrledningen K.
Varje modul har vidare en skrivutgång DW till dataledningen och en läsingång från dataledningen D. Båda ledningarna har den virade OCH-egenskapen: K = KH(M1) . KW(M2l .... och D = DN(M1) . DW(M2) ....
Fig 5 visar tidsdiagrammet för den i fig 4 visade anläggningen. I princip händer mer eller mindre detsamma som i fallet enligt fig 3, varvid fördelningen av förloppen mellan ledningarna K och D är den väsentliga skillnaden. Det an- tages återigen att modulen M1 är snabbare än M2. Tidsmässigt sett äger följande rum: 1) En tidigare master har avslutat användningen av bussledningen. Alla aktiva deltagare börjar räkna ner perioden TAi i avvaktan på om bussledningen är "redo eller klar" (C = 1). 2) Om K-ledningen inte ändrar sin logiska nivå efter den första tidsperioden TA¿ (i detta fall för modulen M1, TAI) betraktas bussledningen såsom "fri".
Om bussledningen antar den logiska nivån "upptagen" (K = 0) innan tidsperioden TAí har utlöpt betraktas bussledningen vara i användning. En väntetid löper då tills bussledningen blir fri. I fig 5 är bussledningens upptagna tillstånd betecknat med BIU. Då bussledningen är klar (efter TAi) matas en databit (DB) till ledningen D via utgången DN (M1) vid 2). Detsamma gäller för modulen M2 efter utlöpandet av dess första tidsperiod TA2. Via utgången DN (M2) matas en databit (DB) till D. Ledningens D visade OCH-funktion bestämmer resultatet av de båda tillförda databitarna ("D" utraderar "1"). 3) Den modul (i detta fall M1) som första detekterar att dess andra tidsperiod Tßi (i detta fall TB1) har utlöpt matar en logisk nivå O till K-led~ningen: via skrivutgången KH (M1) 15 449 801 får K nivån O. Andra moduler som under tiden har avkänt att deras första tids- period TAi utlöpt reagerar härpå: "induktion" och matar (efter sin svarstid TRi) också nivån 0 till K-ledningen. I fig 5: vid 3) efter TR2 skrivs 0 in på ledningen K via skrivutgângen KW (M2). Denna fas är aktionen vänta-tills- -bussledningen är "redo“: HBF fig 5. 4) Efter den ovan beskrivna aktionen K-9 0 samplas dataledningen D: varje modul som deltar i aktionen samplar ledningen D efter en tid Tsi (skillnader- na är åter förorsakade av klocktoleranserna). Nivån på ledningen D matas såle- des till modulerna via deras ingångar DR (M1) och DR (M2) ... 5) Efter samplingen avger alla aktuella moduler en logisk nivå 1 till K~led- ningen via sin utgång KW (Mi). Modulen M1 gör detta efter tidsperioden T2I. M2 och varje annan modul gör så efter andra tider T2i varvid : 6) alla modulerna har gjort ledningen K = 1 via sin utgång KW (Mi) vid tid- punkten 6). Ledningen K får då också nivån 1 (virad OCH). 7) Efter att ha detekterat övergången 6) matar alla aktiva deltagare en ny databit (DB) till ledningen D. Modulen MI gör detta efter tidsperioden TEí efter tidpunkten 6), varvid TEi är en tidsperiod som krävs i modulen Mi för att mata en ny databit till ledningen D. Andra moduler gör detsamma i varje fall före utlöpandet av TFi. Tti och TFi är återigen nämnda första och andra tidsperiod. Således uppträder återigen "induktion“. 8) Efter den andra tidsperioden TF1 får ledningen K återigen värdet D. Vid denna tidpunkt är det säkert att alla aktiva deltagare har matat sin nya data- bit till ledningen D. (Modulen M2 gjorde detta vid 7), se ledningen DW (M2) i fig 5). Dataledningens D virade OCH-funktion bestämmer åter resultatet av de tillförda databitarna. Fasen mellan 3) och 8) är aktionen för kommunikationen av den första biten betecknad med TFB. Faserna 4) - 8) fullbordas så många gånger som krävs för upprättandet av kommunikationsförbindelsen, vilket betyder åtminstone tills mastervalet och "öppen-slav"-fasen har fullbordats: kommunika- tion av den andra biten (TSB) o.s.v. För detta exempel ges åter en beräkning av tidsperioderna i relation till klocksignalgeneratortoleranserna. Tci är återigen den lokala klockperioden i modulen Mi. Alla aktuella tidsperioder är avledda från denna period för varje modul.
TRi = aRí . Tci; TAi = aA¿ . Tci; Tßi = aßí .Tci; Tsí = asi . Tci; Tzi = a2i . Tci; TE¿ = aEi . Tci;a = aFí o Tci- Symbolerna aji är härvid konstanter. aAi och aE¿ är återigen interna för- berede15etid5fakt°rer' “Ai avser antalet klockperioder som krävs i en modul 449 soi W Mi för en förfrågan för att upprätta en kommunikationsförbindelse. aEi avser antalet klockperioder som krävs av en modul Mi för att mata en ny databit (efter att t.ex. ha tagit ut den från ett minne) till bussledningen. Liksom tidigare måste aßi och aFi gälla för hela systemet snarare än för varje modul. I det efterföljande kommer villkoren som skall uppfyllas av aB¿=aB och aFi=aF att härledas för tvåledningssystemet.
Tidsdiagrammet i fig 5 möjliggör korrekt utförande av aktionen bara om följande krav är uppfyllda: iäï <_Igi ................. (2A) Tši < TFi ................. (ZB) 'Tgi <'TÃ; ................. (ZC) Tši < ïšï ................. (ZD) Med användning av den definierade Ri = Tci[Igj kan följande härledas ur 1) och 2): a2i/aRí > 'Ri .........,....... (3A) aFí/aEi > Ri ...............¿. (aa) aAi/aFi > Ri ................. (30) aßí/aAi > Ri ................. (30) Med hänsyn till det faktum att normalt en situation med högsta möjliga kommuni- kationshastighet önskas kan (3A - 3D) skrivas: azi = Ri.aRi ............... (4A) Ri.aEi ............... (48) aAi = Ri.aFi ....... ........ (4C) R1.aA¿ ............... (4D) ll Av detta följer att: aFi = RÉ.aEi = Riåvi ........... (SA) (aAi = R i.aEi = R i.vi ........ ._ (SB) aßi = R3i.aEi = R3i.vi .......... (so) Det framgår således att svarstidsfaktorn Vi = aE1 är förberedelsetidsfaktorn för presentationen av en ny databit. _Liksom tidigare för enkelledningssystemet skall konstanterna aßí = ag ” 449 801 och aFi = aF återigen väljas såsom det högsta värdet av produkten (R.V) ur gruppen av produkter (Ri.Vi). De andra tidsperiodernas beroenden fixeras således: aß = R3V och aF = R.V .... (6).
Därför är im. = R3.v.i<:i och in. = R.v.m (7). g Därvid är V = aE (=Vp) förberedelsetidsfaktorn för modulen Mp för vilken den största produkten (R.V) erhålles. Svarstiden för denna modul är ("klar"-tiden) TEp = V.Tcp.
De minsta möjliga andra tidsperioderna är därvid: _ 3 _ IE ~ R .låg och IE - Rïïšg ................. (8) Vad beträffar den minimala cykel-(ram-lperioden för kommunikationen av en databit under en aktion följer (se också fig 5) av (8) och (4A) med (1) att: T(ram) = TF + TZD = R;TEp + R.TRp så attlrggil = mh +32) (an) Antag, såsom ofta är fallet i praktiken att TEP = TRP så att_I(raml = 2R.TRp. Detta är gynnsammare än Å fallet enkelledningssystem. En relation uppträder till R i stället för R . Vid R = 4 gör detta redan en skillnad med en faktor 64. Om man tar hänsyn till 2R blir detta således en faktor 32.
Ett numeriskt exempel: antag R = 4, TR = 10 mikrosekunder (TE är således också 10 mikrosekunder). Iíraml är å 2.4.10_f_§Q_mikrosekunder och Tßp = 640 mikrosekunder. Det värsta fallet är då: T(ram) = R¿I(raml = 320 mikrosekunder, vilket betyder en lägsta kommunikationshastighet av ungefär 3000 Baud.
Hastigheten kan återigen ökas genom att helt enkelt anordna en “hög/låg“- nivâdetektor mellan K-ledningen och modulingångarna KR(Mi). Så snart en övergång L-9 0 inträffar gör detektorkretsen att ledningen K får värdet 0.
Svarstiden TRi reduceras således väsentligt.
Under datakommunikationsfasen (efter upprättandet av en kommunikationsför- bindelse) tjänar en modul såsom sändare (källa) och en annan modul tar emot data (mottagre) och det kan bli nödvändigt att skydda datatransporten mot kom- munikationsfel. Detta kan realiseras genom att bringa mottagaren att returnera varje mottagen bit (“eko"). Sändaren verifierar den mottagna biten med den bit som just sänts. Denna omväxlande sändning och mottagning av databitarna reduce- rar givetvis kommunikationshastigheten. 18 449 801 De beskrivna enkellednings- och dubbelledningssystemen ger en bra illust- ration på "induktions"-principen. Det observeras att antalet ledningar lätt kan ökas: t.ex. till ett treledningssystem i vilket det finns styrledningar och en data- ledning. Induktionsprincipen kan också användas i detta fall. Men verknings- graden minskar emedan det ökande antalet ledningar har en kostnadsökande effekt, vilketfstår i motsats till målet med föreliggande system. Även om kom- munikationshastigheten ökas ytterligare i treledningssystemet förloras enkel- heten. I treledningssystemet kan kommunikationsfel detekteras på samma sätt som beskrivits i det föregående för tvåledningssystemet.
Figtß illustrerar en anläggning innefattande ett överföringsmedium som består av tre ledningar. Det finns tvâ styrledningar KA och KB och en dataled- ning D. Modulerna M1, M2 ........ Mn har klämmor via vilka de är anslutna till dessa ledningar: en utgångsklämma KAM(Mi) varigenom styrdata skrivs in från modulen Mi på ledningen KA och en ingângsklämma KAR(Mi) via vilken styrinforma- tion avläses av modulen Mi från ledningen KA. På liknande sätt finns en ut- gängsklämma KBN(Mi) och en ingângsklämma KBR(Mi) för inskrivning på och avläs- ning av styrledningen KB. Vidare har varje modul en dataledningsinskrivnings- klämma DM(Mi) och en dataledningsläsklämma DR(Mi). Med hänsyn till tidsdiagram- men i fig 3 och 5 blir ett tillhörande tidsdiagram självklart och behöver ej beskrivas. Det föregående kan summeras på följande sätt: - g Såsom redan har sagts i inledningen krävs minst fyra ledningar för en assynkron kommunikation på en bussledning.
- Då färre ledningar är tillgängliga måste tidsberoende bestämningar infö- ras. _ - Föreliggande uppfinning ger tidsberoende bestämning och enkel lösning på kommunikation via bussledningar som omfattar minst ett överföringsmedium. Det observeras att uppfinningen ej är begränsad till enkellednings-, tvâlednings- eller treledningsbussledningar, men i praktiken kommer fyraledningslösningen med en handskakningsprocedur vanligen att föredras i fallet med mer än tre ledningar.
- Kommunikationshastigheten i föreliggande anläggningar är kraftigt beroende på den värsta klockonoggrannheten i modulerna. Enkelledningssystemet är mycket enkelt och billigt i synnerhet för tillämpningar i konsumentprodukter o.s.v.
Men den har den nackdelen att en mottagare inte kan reducera hastigheten hos källan, varifrån den tar emot data. Tvâledningssystemet har en extra ledning som inte bara möjliggör en högre kommunikationshastighet utan också eliminerar nackdelen med enkelledningssystemet. Detta beror på (se fig SY att en master lika väl som en slavmodul i systemet kan reducera datahastigheten genom att hålla ledningen K på 0 under en vald tidsperiod (tidpunkten (6) förskjutes då 19 449 801 åt höger i fig 5). Treledningssystemet ger vanligen inte en kommunikations- hastighet som är dubbelt så hög. Då tre ledningar är tillgängliga är därför systemet som använder tvåledningsprincipen att föredra: en ledning är därvid styrledning och de båda andra ledningarna tjänar såsom två parallella dataled- ningar.
Denna typ av treledningsbussledning är illustrerad i fig 7. Det finns en styrledning K och två dataledningar DA och DB. Modulerna M1 och M2 ... Mn har en styrledningsskrivklämma KW (Mi) och styrledningsläsklämma KR (Mi). För var och en av dataledningarna har de en dataledningsskrivklämma DAW (Mi) och DBW (Mi) samt en dataledningsläsklämma DAR (Mi) och DBR (Mi).
Det efterföljande är en detaljerad beskrivning av utföringsformer av en multi-käll/mottagardatabehandlingsanläggning,i vilken bussledningen består av ett enda överföringsmedium. Fig 8 visar det generella diagrammet för en sådan anläggning. Modulerna Mi kan vara digitala signalprocessorer. Dessa processorer har sina egna minnen och kan utföra givna uppgifter. Då kommunikation med andra moduler krävs utnyttjas bussledningen. Processorerna med minnen är företrädes- vis av den typ, i vilka s.k. mikroprocessorer användes såsom processorer. Då de har minnen, som är anordnade på samma chip eller inte, kallas dessa moduler också mikrodatorer. Ett exempel på en sådan mikrodator är typen 8048. En in- gångs/utgångsklämma (I/O), t.ex. klämman 34, på densamma kan därvid användas såsom skrivutgång CW lika väl som läsingång CR (se programmet). Alternativt kan två klämmor användas: en I/0-klämma 34 (P 17) såsom CR och en I/0-klämma 38 (P 27) såsom CW. Vidare kräver en processor av detta slag en separat ingångsklämma (nr 6) för mottagning av avbrott (ïfiïl. Denna kan också betraktas vara CR för ett givet ändamål, som kommer att beskrivas i det efterföljande (fig 11 och 12). Fig 8 visar åter det föregående: Ci i fig Ba och 8b anger klocksignalgene- ratorer. _ Fig 9 visar hur en processor med en avbrottsingång INT, t.ex. 8048, kan utföra avbrott: räknat från SRT = start i block 30 görs varje gång frågan: finns det ett avbrott INT (block 32) ? Om svaret är negativt (N) utföres en instruktion i huvudprogrammet ; MPI i block 34. Därefter undersöks återigen (tillbaka till block 30) om där finns ett avbrott. Om där finns avbrott (Y) genomföres avbrottsprogrammet fullständigt: IPIS (block 36). Därefter undersö- kes återigen om där finns ett avbrott (block 30) o.s.v. Denna metod för utförande avbrott är en specifik egenskap hos t.ex. processortyp 8048.
En sådan mikroprocessor som typ 8021, som inte vet om ett avbrott, har en ingångsklämma som kan defineras såsom avbrottsingång, varigenom avbrottsopera- tionen kan inkluderas i det totala programmet.
Fig 10 visar ett flödesdiagram för ett tänkbart processorhuvudprogram. 20 449 801 Ett sådant huvudprogram kan vara av varje tänkbar typ och i den beskrivna utfö- ringsformen består det av: block 38 start BEG. Detta efterföljes av initiering INIT, block 40. I block 42 genomföres lokala operationer LOP i huvudprogrammet.
Varje gång undersökes om det finns några avbrott (se fig 9). O huvudprogrammet i når en position där kommunikation med en annan modul krävs avger processorn i denna position en förfrågan för kommunikation: REQ. Detta betyder att denna modul önskar bli master i systemet. Denna förfrågan måste behandlas. Detta kan bara göras om bussledningen är "redo eller klar" för denna aktion. Denna under- sökning göres i blocket 44: RDY ?. I detta exempel är detta de nämnda medlen HS. Om bussledningen är "klar" ges kvittenssignalen (ACK) för aktionen (Y i block 44). Detta block 44 är av avgörande betydelse, emedan det berör förelig- gande uppfinning. Blocket 44 innefattar de programmerade funktionsorgan som utgör nämnda medel, varigenom det kan fastställas om bussledningen är “klar eller redo" för exekvering av aktioner avseende kommunikation. Om tillstånd ej ges (N i block 44) görs ett nytt försök o.s.v. Då tillåtelse ges (Y) utföres systemöverföringsoperationerna TOP för datatransporten, t.ex. transmission, block 46. Vid slutet därav frigöres bussledningen åter, signalen REO, och man återgår till blocket 42. Avbrottsingången (-ingângarna) föreberedes sedan åter för mottagning av avbrott (förberedelse avbrott) emedan dessa ingångar är blockerade ("blockera avbrott") under förfrågan för tillstånd (block 44) för att hindra att mellankommande avbrott stör förloppet, se också beskrivningen med hänvisningen till fig 13. Om (se den streckade delen av fig 10) en datakäl- la och/eller mottagare består av en första sektion och en andra sektion, varvid den första sektionen är en digital signalprocessor, som utför käll- och/eller mottagarfunktionen, och den andra sektionen som också betecknas såsom skilje- doms- väljare innefattar nämnda medel, kommer en förfrågan REO från block 42 att matas till nämnda väljare (block 43). Däri avvaktas tillstånd, se åter block 44, ACK. Efter avslutning av överföringen frigör väljaren återigen buss- ledningen: REQ (block 48). Detta detekteras också av väljaren: block 50. Om svaret är ja (Y) övergår ACK till ÃÉK och processen återgår till block 42. Om svaret är nej (N) upprepas'48. Det observeras att nämnda block 44 är så vik- tigt, emedan konflikten vad gäller vem som skall bli master uppstår då flera moduler anländer till sitt respektive block 44..Det är i synnerhet viktigt att en långsam modul inte knuffas åt sidan av en snabbare modul. Därför är_den be- 5 skrivna "induktionen" nödvändig. Operationen kommer nu att beskrivas i detalj (se fig 13 aan fig 15 med fig 16). a Det observeras också att en modul, då den är master, utpekar en slav. För detta ändamål avger den en identitet hos slaven och försöker avbryta slaven.
Detta är orsaken till varför INT-ingångarna är visade i utföringsformerna en- ligt fig 8a och 8b. Fig 11 visar vad som sker. I block 52 uppträder 21 449 301 avbrottet INT, vilket av mastern matas till alla andra källor och mottagare via bussledningen (i praktiken är det INT som signalen TÉT med hänsyn till beteck- ningssätten: ingångarna INT). I blocket 54 jämför alla källor och mottagare den presenterade identiteten i med deras egen identitet i. Om svaret är nej (N) avslutas avbrottet: END, block 58. Om svaret är ja (Y) utföres överföringsope- rationen TOP (mottagning) i block 56. Efter avslutning följer END, block 58.
Block 54 innehåller identitetsjämförelsen för slavvalet. Detta kommer att .beskrivas i detalj i det efterföljande med hänvisning till fig 12.
Block 60 är början BEG. I block 62 blir en biträknarposition bt och tid- räknarpositioen Tt blir 0. I blocket 64 är det en vänteperiod tills en tids- period Tt = T21 (antag att Mi är den aktuella modulen) (se T2i i fig 3) har utlöpt. Vid T2i samplas en identitetsbit som uppträder på bussledningen såsom databit, block 66. Detta är bit bt i identiteten j som matas från klämman P17 (se fig 8) in i ett register i processorn, btj: = P17. Biträknaren framstegas med 1: bt + 1, block 68. I block 70 undersökes om antalet önskade identitetsbi- tar (eller flera om så önskas för andra ändamål) t.ex. bt = 4, har nåtts. Om inte (N) uppträder en vänteperiod tills Tt=TE¿ (se fig 3): block 72. Så snart en övergång på bussledningen C till "D" avkännes (block 74) (P17 måste vara 0) (se fig 3, TFi) göres en ny start: räknare Tt : = O (block 76) och tillbaka till block 64. Då talet bt = 4 nås, block 70 (Y), jämföres innehållet i re- gistret, där identiteten j är lagrad, med identiteten hos den aktuella modulen, block 78. Om # j är den inte avsedd att bli en slav och avbrottsprogrammet slutar: END, block 82 (= block 58 i fig 11). Om i = j väljes denna modul såsom slav och överföringsoperationen TOP utföres, block 80 (block 56, fig 11). Detta efterföljes av block 82, END.
För slavval avbrytes således varje annan källa och mottagare än mastern själv och bringas att utföra identitetsjämförelsen. Detta är tidskrävande: käl- lorna och mottagarna som avkänner i #j har avbrutits i onödan så att avbry- tandet av deras huvudprogram är onödigt. Denna nackdel kan elimineras genom att införa en s.k. villkorlig avbrottsmekanism. Identitetsjämförelsen utföres där- vid utan direkt avbrytande av processorn själv. Dm i = j blir det ett avbrytan- de av processorn själv. Denna villkorliga avbrottsmekanism är beskriven i hol- ländska patentansökningen 790179 och kan anpassas till ett system av förelig- gande slag för slavval.
Fig 13 visar ett flödesdiagram för undersökning av om bussledningen är "klar" (block 44 i fig 10). I detta exempel användes en digital signalprocessor där nämnda medel HS således är representerade genom programmerade funktionsor- gan, varvid funktionen hos HS illustreras. Starten är angiven med SRT genom REQ (se fig 10), block 84. I block 86 blockeras avbrottsingången (ingångarna) : DABINT. Det förhindras således att en modul avbrytes då modulen själv utför 22 (449 som en aktion för att göra en förfrågan. I block 88 återställes tiden: Tt = 0; detta åstadkommes genom att återställa en räknare CR till noll (CR: = O). I block 90 undersökes om ledningen C som kommer in via klämman P17 har nivån "1".
On inte (N) är bussledningen upptagen och ett annat försöka göres genom att återgå till blocket 88: Om P17 = 1 (Y) i block 90 framstegas räknaren CR med 1 medelst klocksignalgenertorn för denna modul Mi, CR: = CR+1 (block 92). I block 94 undersökes om räknepositionen CR = aAi har nåtts. Denna aAi är därför åter den tidigare nämnda faktorn aA¿. Om CR = aAi är Tt = aA° . Tci = TAí, den s.k. första tidsperioden. Block 94 innehåller således de första de- tekteringsorganen: FDETM för den första tidsperioden TAi. Om denna position CR = aA¿ inte ännu har nåtts (N) återgår programmet till blocket 90. On aAí har nåtts är modulen redo för aktionen. I block 96 inställes biträknaren bt på noll : bt : = 0 och vidare undersökes (block 98) om ledningen fortfarande har en “l“:a så att den anger upptagettillstånd, i detta fall "Eušš_kTär". Om led- ningen C och således P17 = O (N i block 98) är bussledningen "klar" och nästa aktion kan börja. Så länge som C har 1 i block 98 (Y) framstegas räknaren CR~9 CR + 1 (block 100). I block 102 undersökes om positionen CR = aß har nåtts.
Om om svaret är ja (Y) så är Tt = Tßi = aBTci. Block 102 innehåller således de andra detekteringsorganen SDETM. Denna position aß lagras därför såsom en systemkonstant i processorns minne (liksom nämnda aAí som emellertid är en datainfonmation i modulen Mi själv). Om positionen aB har nåtts (Y) kan nästa aktion påbörjas. Så länge denna position ännu inte har nåtts (N) återgår pro- grammet till 98. Åter undersökes om C = P17 redan har blivit "O". Detta kan ha skett under tiden emedan den andra tidsperioden TB. i en annan modul har ut- löpt. Om ja (vilket betyder N i detta fall) avslutas denna aktion “bussledning klar". (Punkt 103 i fig 23). Om inte vilket betyder P17 = 1(Y) framstegas CR åter igen ett steg o.s.v. Linjen "IND" i fig 13 avser således den så kallade induktionen. Räknaren CR stegas inte fram till aB om dessförinnan en annan modul har nått sin tidsperiod Tßj = aB.Tcj och signalerar detta genom att göraLC = 0 = P17. Om Mi under tiden har passerat åtminstone TAi = aAi _ Tci -detekterar den också att bussledningen är "klar".-Alla frågande moduler (REQ) har därvid avslutat sin aktion avseende att göra en förfrågan (start). Detta är punkten (3) i fig 3. Bussledningen har således värdet C = 0. Nästa aktion kan börja sedan de aktuella processorerna som detekterat detta C = 0 har ställt in sin skrivutgång (P17 eller t,ex. P27) på 0 (block 104). Nästa aktion som star- tar med en startbit avser bestämning av mastern i systemet på basis av priori- tets- och/eller identitetsdata. I block 104 blir inte bara skrivutgången CW (i det efterföljande betecknad P17, se också fig 8a och 8b) 0 utan också tiden : = 0 genom att räknaren återställes CR: = 0. Tidräkningen starter åter. En vänte- 23 period löper tills Tt = T1i = a1iTci (för startbiten). block 106. Skrivntgången CW (P17) avger sedan den första databiten i identiteten och/eller prioriteten: P17: = bti (block 108). Ett inringat A nertill pekar mot det inringade Azzt upptill där processen fortsätter. I block 110 löper en vänteperiod tills Tt = T2i. CR är då a2i. Detta är punkt (5) i fig 3 där ledningen 0 samplas. I block 112 detekteras vad som finns på ledningen C: virad OCH för de tillförda bitarna bti o.s.v.. betecknat med P17 = WAB. Läsingången CR ( P17) läser detta. 0m alla de aktuella (i detta fall första) bitarna är lika är Y i block 112 utgång för alla moduler. Men om denna bit i en eller flera moduler är D medan den är 1 för den andra modulen (de andra modulerna) förloras valet av den senare modulen (de senare modulerna) och de hamnar på utgången N i 112. Modulerna deltar ej längre i valet av master. Detta utföres för varje bit i identiteten och/eller priori- teten så att till slut bara en återstår såsom master. Efter N i block 112 de- blockeras avbrottsfunktionen (avbrottsfunktionerna) i modulen (modulerna) åter- igen i block 114, så att de åter förberedes : EÅBINT. För denna modul (dessa moduler) har således aktionerna för att etablera en kommunikationsförbindelse (såsom mastern) ännu inte givit något resultat så de når situationen N i block 44 (fig 10) såsom är angivet i block 116 i fig 13.
För de moduler som fortfarande befinner i valprocessen fortsätter förlop- pet via Y i 112 : biträknaren framstegas en position bt-<> bt+1 (block 118). I block 120 undersökes om det maximala antalet prioritets- och/eller identitets- bitar (bt max.+1) redan har nåtts. On så är fallet (Y) avslutas valförloppet och den nu ensamma modulen som nått denna punkt är mastern i systemet: block 122 anger detta genom Y, 44, vilket hänvisar tillbaka till utgången Y i block 44 i fig 10: ACK. Överföringen av data kan nu begynna: TOP-o.s.v. i fig 10. 0m maximat btmax ännu inte har nåtts, (N) block 120, löper en vänteperiod tills Tt =T3i =a3iTci,_räknaren CR = a3i (block 124). Bitperioden för bti har således utlöpt och modulen (Mi) sätter utgången P17: = 1, block 126. Detta är CH (Mi) = 1 efter punkt (6) i fig 3. Efter en svarstid Tt = TEi = aE¿,Tci är det sä- kert att denna modul Mi åter har presenterat nivån C = 1 till C~ledningen via P17 såsom skrivutgång, block 128. Detta avser således den första tidsperioden för denna aktion med förberedelsetidsfaktorn aEi. Processen väntar för denna händelse i block 128, vilket således innehåller de s.k. första detekteringsor- ganen FDETM för denna aktion. I block 130 undersökes om C-ledningen själv har värdet 1 til] följd av tillförandet av 1 från skrivutgången CM (P17). Detta realiseras via CR (P17) såsom läsingång. Om-C = P17 = 1 (Y) har ingen modul ännu nått sin andra tidsperiod TFi. Räknaren CR framstegas åter ett steg: CR 1>CR+1, block 132. I block 134 undersökes om CR-positionen som nått under tiden bïïvit Iika med SVarstidsfakt°r" aF. Detta avser således de s.k. andra detok« 449 801 i i 24 teringsorganen SDETM för denna aktion. Om denna position aF ännu inte har nåtts (N) undersökes åter om någon annan modul genom att nå denna position aF har ändrat C = P17 = 1 till C = 0 (således åter block 130). Om C = P17 = 1 står kvar, block 132 igen o.s.v. Om C under tiden har antagit 0 genom någon annan modul gäller N i block 130: induktionen sker och processen återgår till punkt 103. Detta är punkt (8) i fig 3. En efterföljande databit tillföres: block 108 tillhandahåller nästa databit bti (andra o.s.v.) som åter utvärderas via den virade OCH-funktionen (block 112) o.s.v. Om ingen annan modul tidigare har räk- nat ned aF vid en given tidpunkt nås CR = aF-i block 134 i den aktuella modulen. Via Y i 134 betyder detta att punkt 103 i processen nås. Detta fort- sätter tills antingen modulen förkastas från valprocessen: N i block 112, eller att modulen designeras såsom master: Y i block 120, vilket uppnås efter jämfö- relse av den sista biten och det visar sig i 120 att ytterligare val inte är nödvändigt: bt=btmax+l.
Fig 14 visar ett blockschema för en datakälla och/eller mottagare beståen- de av en första sektion DL1 och en andra sektion DL2. DL2 är den sektion som' omfattar käll~ och/eller mottagarfunktionen. Via en frågeutgång REQ är DL1 an- sluten till en frågeingång REQ i DL2. Via en kvittensingång ACK är DL1 ansluten till en kvittensutgång på DL2. DL2 innefattar nämnda medel HS. Klocksignalkäl- lan för DL1 är ansluten till DL2 via Cl. DL2 är ansluten till bussledningen C genom nämnda skrivutgång CW och läsingång CR. DL1 själv är ansluten till en avbrottsingång INT och till bussledningen C genom en ledning (eller möjligen två ledningar) från ingångs/utgångsklämman (klämmorna) I/0 som bildar ingångs och utgångsanslutningar. INT har åter samma funktion som tidigare, se fip 8 o.s.v. I/0-anslutningen blir effektiv då förbindelsen master-slav har upprät- tats och dataöverföringen exekveras.
Den viktiga aspekten är att medlen HS i DL2 är speciellt utförda att utan att involvera DL1 möjliggöra bestämning av om bussledningen är "klar" för att utföra nämnda aktioner. För att relatera det hela med vad som händer i huvud- programmet i en modul Mi, av vilken DL2 bildar en del, hänvisas till fig 10 och beskrivningen av blocken 43,48 och 50 som är angivna med streckade linjer.
Aktionen avseende mastervalet är vanligen också inkorporerad i DL2.
Fig 15 visar ett detaljerat schema för sektionen DL2 i fig 14, Fig 16 visar ett tidsbitdiagram (adress och datainnehåll) som är tillord- nat fig 15.
I stället för en detaljerad logisk krets innehållande många logiska kompo- nenter (såsom grindar, bistabila element o.s.v.) har en lösning valts i fig 15 där nämnda medel utgöres av: ett ROM-minne ROM, en adressräknare ADCR, ett lo- giskt DCH-element, i detta fall NOCK-grinden 140. Vidare är arrangemangen så ” ' 449 801 gjorda i detta exempel att valförloppet kan äga rum i identitetsjämförelseor- ganen som finns i sektionen DL2. Dessa jämförelseorgan IDCOMP samverkar med minnet ROM som adresseras av räknaren ADCR och en vippa DFF samt en EXKLUSIV- -ELLER GRIND 142. Där finns också anordnad en inverterare 144 med öppen kollek- tor och en NOCK-grind med öppen kollektor 146, vilka tillsammans bildar skriv- utgången CW. Elementen 148 och 150 är ytterligare inverterare. 151 är en NELLER-grind. Operationen kommer nu att beskrivas i detalj med hänvisning till fig 16. Här är adresserna A (0,....n,n+l,n+2,n+3), tidsperioderna Tt och de tillhörande tidsfaktorerna aAí,aB, ali....aF som representerar adressde- lar av adresserna A i minnet ROM angivna till vänster. Till höger är innehållen i minnesställena som uppträder på utgångarna D0,1,2,3,4,5,6 i minnet ROM som svar på aktuell adressering angivna.
Antag att det inte uppträder någon förfrågan: REQ=0. Antag att ledningen C=0 så att D uppträder på utgången av grinden 141 så att ÉÉí=0 så att varje position som finns i adressräknaren ADCR rensas. Räknaren erhåller positionen A (0....n....) = 0 och alla utgångar får således värdet 0. Om till följd av att A (....n+1_och/eller n+2.....) en eller flera utgångar hade värdet 1 skulle det ej längre vara så. - , Antag att det inte uppträder någon förfrågan: REQ = 0 och antag att led- ningen C=l; värdet 0 uppträder då också på utgången av grinden 141 och samma sak inträffar: rensning.
Antag att det uppträder en förfrågan: REQ=l och antag att ledningen C=0 (således “upptagen“): åter samma som ovan.
Antag att det uppträder en förfrågan: RED = 1 och att C = 1: alla ingångar på 141 har då värdet 0 (emedan D4 = 0, LD = 1, således efter inverteraren 150 också D på grinden 141) så att'ÉɧÉ1 och adressräknaren ADCR börjar att räkna.
Klockpulserna via Cl (från modulklocksignalgeneratorn) räknas. Adresserna som passeras av ADCR A(0), A(1) o.s.v. ger fortfarande 0 för alla D. Då ledningen C=1 övergår till C=0 går proceduren tillbaka: rensning av räknaren ADCR. Det- ta betyder att bussledningen inte tillåter förfrågan emedan den fortfarande var upptagen med en tidigare kommunikation. Det observeras att vid REQ=l så lagras identitets-och/eller prioritetsdata IDi för modulen i ett register IDCOMP via ingång'E.-Därefter förberedes detta register "S" för att förskjuta innehållet åt höger på dess klockingång É> . ün REQ=l, C=1 och ADCR når positionen aAí ' för Vilken Tt=TAi (se fig 3) (den första tidsperioden) uppträder 1 på minnets ROM utgång D4 varigenom grinden 140 förberedas. Detta betyder att från denna tidpunkt “induktionen" kan ske. Räknaren fortsätter under tiden att räkna varf under inga utgångar på ROM ändrar sig. Då räknaren ADCR når positionen aß nås ïldSP8Fí0dBH Tt=TBi, således den andra tidsperioden. I denna position blir 26 449 801 utgången D1 på ROM 1. Via inverteraren 144 med öppen kollektor får ledningen C värdet 0 (punkt (3) i fig 3). Detta äger också rum om värdet 0 tillföres led- ningen C själv före positionen aB. Detta är möjligt emedan en annan modul kan ha nått sin tid Tßj tidigare. Via inverteraren 148 öppnas NOCK-grinden 140 (emedan D4 redan hade 1) och_ÉD blir således 0 så att räknaren ADCR tvångsvis laddas med en position aB (aB är lödd i räknaren och laddas i räknaren på laddningsorder). Induktionen har därvid skett och D1=l uppträder varför denna modul presenterar C=O via en skrivutgång CN. Därefter utsändes startbiten (de- len (3) - (4) i fig 3): C=0 tills Tt = Tli = ali. Tci passeras. Räknaren ADCR fortsätter från aB. (Ingen rensning sker emedan D4 åter har värdet 0, således ÉU = 1, och via inverteraren 150 0 på en ingång av NELLER-grinden 141, vilket betyder Éfí = 1).
I positionen aB+ali är D2 = 1. Grinden 146 öppnas således vilket betyder att en bit (av högsta ordningen) i identitets-och/eller prioritetsdatainforma- tionen IDi som finns i registret IDCOMP matas till ledningen C. Således skrivs 1/0 såsom 0/1 på ledningen C. (punkt (4) i fig 3). Med bitarna från andra modu- ler uppträder den virade OCH-funktionen på C. Under fortsatt räkning tills aB+a2i nås avger ROM alltid 1 på sin utgång D2, så att nämnda bit fortfarande presenteras. Vidare har DO också värdet 1 och vippan DFF klockas därigenom (den förbereddes redan genom REQ=1). Punkt (5) i fig 3 (sampling). Vippans DFF in- gång har den signal som uppträder på utgången av EXKLUSIV-ELLER-grinden 142.
Denna signal är resultatet av den exklusiva ELLER-funktionen på en bit som tillföres från modulen själv från IDCOMP och den bit som finns på ledningen C.
Denna kan vara densamma (båda 0 eller båda 1) eller olika. Om samma uppträder 1 på ingången av DFF så att på dess utgång också uppträder 1; denna etta kvar- hålles åtminstone så länge inget nytt DO = 1 uppträder såsom klockningspuls.
Nämnda 1 adresserar minnet ROM på adressektionen A (n+3) = 1 så att den totala adressen A (a2i, 0,0,1) uppträder. Om de nämnda bitarna inte är lika uppträder 0 på utgången av DFF och adressektionen A (N + 3) = O. Den totala adressen blir då A (aZi,0,0,D). Det föregående betyder att i fallet av motsvarighet valet är positivt. Modulen kan fortsätta att delta i valet på en efterföljande bit. Min- net ROM adresseras sedan i en given sektion genom nämnda A (N + 3) + 1 så att modulen fortfarande har chans att bli master. I händelse av icke motsvarighet är valet negativt. Modulen kan inte bli master emedan en modul (moduler) med högre identitetstal och/eller prioritet också har REO = 1. Exempel på slumpval: Identiteter M1 0 matas efter invertering till ledningen: C 10.
Identiteter M2 10 matas efter invertering till ledningen: C 01.
Identiteter M3 11 matas efter invertering till ledningen: C 00. (l 27 449 801 För biten av högsta ordningen alstrar ledningen C 0 genom den visade OCH-funk- tionen. Med IDCOMP tillsammans med DFF och 142 ger detta i: M1 en 0:a på utgången av DFF, således A(n+3)=0 negativt.
M2 en 1:a på utgången av DFF, således A(n+3)=1 positivt.
M3 en 1:a på utgången av DFF, således A(n+3)=1 positivt.
Därför deltar bara M2 och M3 i det fortsatta valet (för den andra biten).
För den andra biten gäller att C = O. Således uppträder O i M2 på utgången av DFF, således A (a+3) = 0, således negativt. Det är bara för M3 som A (n+3) = 1, således positivt. M3 väljes. Det följande äger rum i minnet ROM: i fallet "ne- gativt" sker adressering i den del av ROM för vilken adressdelen A (N+3) = O varunder adressräknaren räknar vidare. I denna del av ROM är i varje fall Dl = D2 = D3 = O. Inga ytterligare bitar presenteras således för val. CW är då all- tid 1 och har ingen vidare effekt. Till följd av att D3 = 0 sker ingen kvittens ACK för att ange att denna modul inte har getts tillstånd för en datatransport såsom master i systemet. Under tiden fortsätter räkning i räknaren ADCR (alla moduler men bara den modul (de moduler) som fortfarande deltar i det fortsatt valet har någon inverkan på ledningen C).
Räknaren ADCR når tiden Tt = TBi+T3i där positionen aB+a3i nås (punkt 6 i fig 3). Alla utgångar DO,....6 = 0. På ledningen C uppträder nivån 1 (stoppbit efter punkt (5) i fig 3). Räknaren fortsätter till aBi+aEi (punkt (7), fig 3). Den första tidsperioden TEi efter Tßi nås sedan åter. Induk- tion kan ske: utgången D4 = 1 varigenom således grinden 140 åter förbereds. D6 har också värdet 1. Minnet ROM når således den del som adresseras genom adress-' delen A(n+2) = 1. Där är styrbitarna lagrade för behandling av den andra biten av prioritets-och/eller identitetsdata (i detta exempel med D5 och D6 förutsät- tes 22 = 4 bitar). Räknaren ADCR fortsätter tills den når positionen as + aF vilket betyder den andra tidsperioden TFi = aF. Tci efter Tßi. Såle- des är åter D1 = 1 (och D6 är fortfarande 1 med hänsyn till den senare behand~ lingen av den andra biten). Den andra biten skiftas ut ur registret IDCOMP och förberedas på grinden 146. Samtidigt uppträder 0 på ledningen C till följd av att D = 1. Via CR matar denna ledning en 1:a till den redan förberedda grinden 140._ÉÜ = 0 uppträder åter så att räknaren ADCR åter bringas att gå till posi- tionen aß. Från denna punkt (punkt (8) i fig 3) startar arbetscykeln åter från position aß. Räknaren stegar fram till Tt = Tßi + Tli där den andra biten av prioritets- och/eller identitetsdata passerar genom grinden 142 (via D2 = lltill ledningen C o.s.v.
On O läses på ledningen C via CR innan räknaren når positionen aB+aF laddas talet aB in i ADCR (induktion) och processen fortskrider till 28 449 801 den nya arbetscykeln (punkt (8) fig 3). Därifrån startar den nya cykeln för valet av nästa bit, se ovanstående osv.
Då en modul varje gång erhåller resultatet "positivt" förblir A (n+3) all- tid 1 vid slutet av cykeln för den sista biten (således i detta fall 4) kommer vid adressen A (aß + aF, 1,1,1) en 1:a att uppträda på utgången D3 vilket betyder ACK = 1 och modulen väljes således såsom master.
Det är uppenbart att svarstiden TRi för den i fig 5 visade anordningen _ blir liten. Detta beror på att minnet ROM adresseras direkt vid det ställe där Dl = 1 vid induktion i modulen Mi (antag att Tßj nås vilket betyder C = 0 av modulen Mj). Således förorsakar denna modul Mi också C = D. TRí är fullstän- digt bestämd av kretsen. Detta i motsats till TRi i exemplet enligt fig 13.
Den programmerade digitala signalprocessorn i densamma har att, antingen efter blocket 98 (N) eller efter blocket 102 för fallet TAi/Tßi och efter blocket 130 (N) eller efter blocket 134 för fallet TEi/TFi, utföra programsteg för att säkerställa att en 0:a uppträder på dess klämma CN = P17 (block 104) (och för Tt = 0 blir räknaren vidare CR:=0). Detta kräver mera tid och TRi blir således större än då den är bestämd av kretsen. För att lösa detta problem kan en logisk "klar/upptaget"-nivåövergångsdetektor inkluderas mellan bussledningen och den programmerade digitala signalprocessorn som användes såsom datakälla och/eller datamottagare.
Detta är visat i fig 17. Detektorn består av en inverterare 152 och en NOCK-grind 154. Inverteraren 152 tar emot en signal från bussledningen C OCH-- grinden 154 tar emot en signal från inverteraren 152 liksom från processorn Mi (8048). Utgången på 154 är åter ansluten till bussledningen C.
Utgången P27 är i denna utföringsform en klämma på processorn Mi (i detta fall av typ 8048) som är definierad under föreliggande aktioner så att P27 får värdet 1 för CR = aAi (block 94, FDETM) och för CR = aEi (block 128, FDETM i fig 13). Följande äger då rum: grinden 154 förberedes. Antag att en O-nivå når inverteraren 152 via C; via 154 matas också en 0:a från denna modul Mi till ledningen C. Därför: så snart ledningen C får värdet 0 efter TAi eller TEi för en modul Mi (genom Mi själv vid Tßi respektive TFi men i synner- het genom någon annan modul Mj vid Tßj respektive TFj) säkerställer Mi att C får värdet 0. TRi reduceras således. Klämman P27 är vidare så definierad att den åter får värdet 0 då processorn avger en 0:a på stiftet P17 (P17:D) (block 104), så att detektorn ej har någon ytterligare inverkan (alltid 1 till- fört från utgången av grinden 154)." vi Det observeras att istället för att använda en klämma (P27) en lösning uppenbarligen också kan välja; där grinden 154 styres utan inblandning av pro- cessorn. I fig 17 är detta visat inom den punktstreckade boxen såsom exempel 29 449 801 för tidsperioden TAi. Där finns en extra räknare DETCR som alstrar en över- föring CY då positionen 0 nås. Den ledning på vilken CY uppträder är ansluten till grinden 154. Funktionen är följande: processorklämman P16 är definierad såsom den inversa nollställningsingången (ÜÉÉÜ på räknaren DETCR varigenom räk- naren inte bara rensas under den aktion (P16 = 1 ) under vilken TA¿ verkar.
Trots styrningen via LD och CK har räknaren vidare ingen inverkan och CY har också 0-signal. Varje gång då en övergång från D till 1 inträffar på ledningen C laddas räknaren DETCR genom LD = 1 med ett värde som är lika med - aAi; en tidigare nådd position som kan ha nåtts under ett tidigare försök att räkna ned - aA¿, utraderas därvid. Klämman TO på processorn är definierad såsom en klockutgång genom vilken räknepulser når räknaren DETCR som räknar ned.
Då räknepositionen 0 nås, således TAi nås, händer följande: CY matar en överföringssignal till grinden 154 som således förberedes. Om Mi själv eller i synnerhet någon annan modul Mj bringar ledningen C att anta värdet 0 avger ock- så grinden 154 en 0:a för ledningen C via inverteraren 152. Den snabba reaktio- nen uppnås således återigen och TRi reduceras. Räknaren själv steger inte fram emedan CY = 1 blockerar aktiveringsingången: ENÃ = 1, aktiveringen är så- ledes 0. Således förblir CY lika med 1. Detta fortsätter till slutet av denna aktion, vilket i detta exempel betyder att P17: = 0. P16 är då återigen 0 så att Éíš = 0, vilket betyder att räknaren rensas, så att CY åter blir 0 och grinden 154 ej längre är förberedd. Detektorn har ej någon ytterligare inver- kan.

Claims (8)

449 801 30 Patentkrav.
1. Kommunikationsbussystem med flera till en bussledning anslutna, som data- källa respektive datamottagare arbetande deltagarstationer, vilken bussledning innefattar en eller flera, i synnerhet högst två, förbindníngar för binära data- respektive styrsignaler, k ä n n e t e c k n a t av att flera klockgeneratorer (Ci) med olika klockperioder TcminâšTcüššTcmax, där i = l,2,3,.... är anordnade för styrning av olika deltagarstationer (Ni), varvid varje deltagarstation Oifl är tillordnad en klockgeneratQr(Ci), att varje deltagarstation (Mi) innehåller en generator såväl som en detektor för styrsignaler, varvid denna styrsignalge- nerator och -detektor uteslutande är anslutna till förbindningen (en förbind- ning) i bussledningen (C), samt en generator och en detektor för data- och pri- oritetssignaler, varvid denna data- och prioritetssignalgenerator och -detektor uteslutande är anslutna till förbindningen (en annan förbindning) i bussledning- en, att förbindningen respektive varje förbindning hos bussledningen är försedd med en logisk kombinatïonskrets för att prioritera ett_första mottaget signal- värde i förhållande till ett andra mottaget signalvärde för att alstra en buss- signal med det första signalvärdet repektive med det andra signalvärdet, att varje styrsignaldetektor uppvisar en detekteringskrets för att avkänna det andra bussignalvärdet och en första tidgivare, vars ingång är förbunden med styrsig- naldetektorns utgång för att vid en första utgång på tidgivaren lokalt validi- fiera det rådande andra bussignalvärdet efter ett första thtfintervall (TAi) och en andra tidgivare är anordnade, vars ingång är förbunden med styrsignaldetek- torn och med den nämnda utgången på den första tidgivaren för att vid en utgång efter ett andra, större tidsintervall (TBi) för det rådande och lokalt validi- fierade andra bussignalvärdet utföra en första generell validífiering, varvid varje deltagarstation utför den första lokala validifieringen innan en eventu- ell första generell validifiering genomföres av en annan deltagarstation och att data- och prioritetssignalgeneratorn är förbunden med den andra tidgivarens ut- gång för att efter den generella validifieringen alstra en startsynkroniserings- signal med det första signalvärdet.
2. Kommunikationsbussystem enligt patentkravet I innefattande en enda förbind- ning för data- och styrsignaler, k ä n n e t e c k n a t av att varje deltagar- station (Mi) uppvisar en serie av en tredje, fjärde och femte tidgivare, varvid ingången till denna serie är ansluten till den andra tidgivarens nämnda utgång för att på utgången av den tredje tidgivaren efter en startbittid (Tli) avge en 449 801 Bl databitsstartsignal för att avsluta startsignalen och starta en databit, på ut- gången av den fjärde tidgivaren efter en andra lokal validífieríng (T2i) avge en frågestyrsignal för databitsignalen och på utgången av den femte tidgivaren efter en andra generell validifiering (T3i) avge en databitslutsignal för att avsluta databiten och starta en stoppsynkroniseringssignal, varvid varje del- tagarstation (Mi) utför den andra lokala validifierïngen efter slutet av alla eventuella startsynkroniseringssïgnaler efter den aktuella första generella va- lidifieringen, men innan en eventuell andra generell validifiering utföres av en annan deltagarstation och att stoppsynkroniseringssignalen har det andra signalvärdet.
3. Kommunikationsbussystem enligt patentkravet 2, k ä n n e t e c k n a t av att under ett skiljeförfarande databiten är en prioritetstalbit och att åt- minstone två deltagarstationer (Mi) har príoritetstaldetektorer för att vid icke överensstämmelse mellan det detekterade och den egna prioritetstalbiten detektera ett negativt utfall av skíljeförfarandet.
4. Kommuníkationsbussystem enligt patentkravet 3, k ä n n e t e c k n a t av att varje deltagarstation (Mi) uppvisar en ytterligare serie av en sjätte och en sjunde tidgivare, som är ansluten till utgången av den femte tidgivaren för att vid utgången av den sjätte tidgivaren (TEi) alstra en tredje lokal validi- fierïng för att detektera stoppsynkroniseringssignalen och vid utgången av den sjunde tidgivaren (TFi) alstra en tredje generell validifiering för att avsluta stoppsynkroniseringssignalen och att frige alstringen av ytterligare bussignaler, varvid varje deltagarstation utför den tredje lokala validifieringen innan en eventuell tredje generell validifiering utföres av en annan deltagarstation.
5. Kommunikationsbussystem enligt patentkravet Å, k ä n n e t e c k n a t av ' att efter en skiljeförfarande operation den första och den andra tidgivaren de- aktiveras under dataöverföringen.
6. Kommunikationsbussystem enligt patentkravet 1 innefattande två olika för- bindningar för data- respektive styrsígnaler, k ä n n e t e c k n a t av att data- och prioritetssïgnalgeneratorn är ansluten till den första tidgivarens ut- gång för att efter den första lokala validifieringen starta en databitsignal, att varje deltagarstation (Mi) har en serie av en tredje, fjärde och femte tid- givare, vars ingång är ansluten till den andra tidgivarens utgång för att vid utgången av den tredje tidgivaren (TSi) efter en lokal andra validifiering avge en frâgestyrsignal för databitsígnalen, vid utgången av den fjärde'tidgivaren 449 sol 32 (T2i) efter en andra generell validifiering avsluta startsynkroniseringssigna- len och vid utgången av den femte tidgivaren (TEi) efter en andra generell validifiering avge en databitslutsignal, varvid den femte tidgivarens ingång vidare är ansluten till styrsignaldetektorn för att detektera den generella avslutningen av startsynkroniseringssignalen, och varje deltagarstation (Mi) utför den andra lokala validifieringen innan en eventuell andra generell vali- difiering utföres av en annan deltagarstation.
7. Kommunikationsbussystem enligt patentkravet 6, k ä n n e t e c k n a t av att under ett skiljeförfarande databiten är en prioritetstalbit och att minst två deltagarstationer (Mi) har prioritetstaldetektorer för att vid icke över- ensstämmelse mellan den detekterade och prioritetstalbiten detektera ett nega- tivt utfall av skiljeförfarandet.
8. Kommunikationsbussystem enligt patentkravet 7, k ä n n e tre c k n a t av att efter en skiljeförfarande~operatïon den första tidgivaren deaktlveras under dataöverföringen.
SE8102494A 1980-04-23 1981-04-21 Kommunikationsbussystem SE449801B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL8002346A NL8002346A (nl) 1980-04-23 1980-04-23 Multi databron- en dataontvangersysteem met communicatiebus.

Publications (2)

Publication Number Publication Date
SE8102494L SE8102494L (sv) 1981-10-24
SE449801B true SE449801B (sv) 1987-05-18

Family

ID=19835186

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8102494A SE449801B (sv) 1980-04-23 1981-04-21 Kommunikationsbussystem

Country Status (11)

Country Link
US (1) US4418386A (sv)
JP (2) JPS56169453A (sv)
AU (1) AU544216B2 (sv)
CA (1) CA1164968A (sv)
CH (1) CH654126A5 (sv)
DE (1) DE3115453A1 (sv)
FR (1) FR2481485B1 (sv)
GB (1) GB2074819B (sv)
IT (1) IT1135779B (sv)
NL (1) NL8002346A (sv)
SE (1) SE449801B (sv)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58500227A (ja) * 1981-06-17 1983-02-10 ザ ボ−イング コンパニ− 改良自律端末デ−タ通信システム
US4332027A (en) * 1981-10-01 1982-05-25 Burroughs Corporation Local area contention network data communication system
US4513370A (en) * 1982-07-19 1985-04-23 Amdahl Corporation Data transfer control system and method for a plurality of linked stations
GB8316463D0 (en) * 1983-06-16 1983-07-20 Secr Defence Priority resolution in bus oriented computer systems
US4654820A (en) * 1983-11-30 1987-03-31 At&T Bell Laboratories Interrupt bus structure
DE3402076A1 (de) * 1984-01-21 1985-08-01 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und anordnung zur datenuebertragung
JPS61161840A (ja) * 1985-01-10 1986-07-22 Sharp Corp デ−タ伝送方式
JPS61161842A (ja) * 1985-01-11 1986-07-22 Sharp Corp 信号送出方式
IT1184933B (it) * 1985-03-28 1987-10-28 Olivetti & Co Spa Circuito di integrazione per la trasmissione e la ricezione di dati
US5101478A (en) * 1985-06-28 1992-03-31 Wang Laboratories, Inc. I/O structure for information processing system
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
US5088024A (en) * 1989-01-31 1992-02-11 Wisconsin Alumni Research Foundation Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US5274774A (en) * 1989-01-31 1993-12-28 Wisconsin Alumni Research Foundation First-come first-serve arbitration protocol
US5333301A (en) * 1990-12-14 1994-07-26 International Business Machines Corporation Data transfer bus system and method serving multiple parallel asynchronous units
US5251305A (en) * 1991-04-04 1993-10-05 Unisys Corporation Apparatus and method for preventing bus contention among a plurality of data sources
US5245261A (en) * 1991-10-24 1993-09-14 International Business Machines Corporation Temperature compensated overcurrent and undercurrent detector
DE4135553A1 (de) * 1991-10-29 1993-05-06 Alcatel Sel Aktiengesellschaft, 7000 Stuttgart, De Verfahren und schaltungsanordnung zur datenblockuebertragung ueber ein bussystem
US5613038A (en) * 1992-12-18 1997-03-18 International Business Machines Corporation Communications system for multiple individually addressed messages
US5963719A (en) * 1996-01-22 1999-10-05 Cabletron Systems, Inc. Two-pin distributed ethernet bus architecture
DE69733684T2 (de) * 1996-09-18 2006-04-27 Koninklijke Philips Electronics N.V. Nachrichtenverteilungssystem
US6081904A (en) * 1998-04-30 2000-06-27 International Business Machines Corporation Method for insuring data integrity during transfers
EP0980166A1 (de) * 1998-08-06 2000-02-16 Siemens Aktiengesellschaft Aktives Publishing
GB0004088D0 (en) * 2000-02-21 2000-04-12 Nokia Networks Oy Packet data services in a telecommunications system
JP4120978B2 (ja) 2001-02-27 2008-07-16 ヤマハ株式会社 電子楽器用バスシステム
US9910808B2 (en) * 2012-04-30 2018-03-06 Hewlett Packard Enterprise Development Lp Reflective memory bridge for external computing nodes
US10762011B2 (en) 2012-04-30 2020-09-01 Hewlett Packard Enterprise Development Lp Reflective memory bridge for external computing nodes
EP3912048B1 (en) 2019-01-15 2023-07-19 Heldeis, Christoph Method for implicit addressing of electronic units and corresponding units

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3543246A (en) * 1967-07-07 1970-11-24 Ibm Priority selector signalling device
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
JPS5812611B2 (ja) * 1975-10-15 1983-03-09 株式会社東芝 デ−タテンソウセイギヨホウシキ
JPS5296836A (en) * 1976-02-10 1977-08-15 Toshiba Corp Multiplex data processing system
US4096569A (en) * 1976-12-27 1978-06-20 Honeywell Information Systems Inc. Data processing system having distributed priority network with logic for deactivating information transfer requests
US4110823A (en) * 1977-02-17 1978-08-29 Xerox Corporation Soft display word processing system with multiple autonomous processors
DE2846488A1 (de) * 1977-10-25 1979-05-03 Digital Equipment Corp Datenverarbeitungssystem
US4199663A (en) * 1978-11-06 1980-04-22 The Boeing Company Autonomous terminal data communications system

Also Published As

Publication number Publication date
NL8002346A (nl) 1981-11-16
SE8102494L (sv) 1981-10-24
CH654126A5 (de) 1986-01-31
CA1164968A (en) 1984-04-03
US4418386A (en) 1983-11-29
JPH023577B2 (sv) 1990-01-24
FR2481485A1 (fr) 1981-10-30
JPH02180450A (ja) 1990-07-13
JPH035102B2 (sv) 1991-01-24
DE3115453A1 (de) 1982-04-15
GB2074819A (en) 1981-11-04
AU544216B2 (en) 1985-05-23
IT8121288A0 (it) 1981-04-17
AU6959781A (en) 1981-10-29
JPS56169453A (en) 1981-12-26
DE3115453C2 (sv) 1990-09-20
GB2074819B (en) 1984-08-30
IT1135779B (it) 1986-08-27
FR2481485B1 (fr) 1987-09-18

Similar Documents

Publication Publication Date Title
SE449801B (sv) Kommunikationsbussystem
US4320467A (en) Method and apparatus of bus arbitration using comparison of composite signals with device signals to determine device priority
US7028105B2 (en) Apparatus, method and signal set for monoline serial interface
US4627018A (en) Priority requestor accelerator
JPH0319740B2 (sv)
US5699516A (en) Method and apparatus for implementing a in-order termination bus protocol within a data processing system
EP0191842B1 (en) Assist circuit for a data bus in a data processing system
SE446486B (sv) Apparat och kommunikationsforfarande for overforing av digital information genom en enkanalsinformationsbussledning
SE444619B (sv) Sett att i ett digitalt datakommunikationsnet forhindra samtidig overforing av meddelanden av flera anordningar samt system for genomforande av settet
KR940002144B1 (ko) 데이터 전송방식
WO2019139684A1 (en) Priority scheme for fast arbitration procedures
US5128666A (en) Protocol and apparatus for a control link between a control unit and several devices
EP0098494B1 (en) Asynchronous bus multiprocessor system
US5463756A (en) Memory control unit and associated method for changing the number of wait states using both fixed and variable delay times based upon memory characteristics
JPH0133860B2 (sv)
WO1985002041A1 (en) Communication interface
US4990907A (en) Method and apparatus for data transfer
US4613936A (en) Centralized generation of data transfer acknowledge pulses for microprocessors
US6101570A (en) Method and apparatus for fair bus arbitration in multiple initiator SCSI systems
JP2758634B2 (ja) データ伝送装置
JP3749347B2 (ja) データ取り込み方法、データ取り込み回路、及び、ieee1394用プロトコルコントローラ
US4568841A (en) Flexible timing circuit
US4845522A (en) Data communication system for camera system
EP0239952A2 (en) High-speed link for connecting peer systems
US4180855A (en) Direct memory access expander unit for use with a microprocessor

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 8102494-5

Effective date: 19911108

Format of ref document f/p: F