NL8002346A - Multi databron- en dataontvangersysteem met communicatiebus. - Google Patents

Multi databron- en dataontvangersysteem met communicatiebus. Download PDF

Info

Publication number
NL8002346A
NL8002346A NL8002346A NL8002346A NL8002346A NL 8002346 A NL8002346 A NL 8002346A NL 8002346 A NL8002346 A NL 8002346A NL 8002346 A NL8002346 A NL 8002346A NL 8002346 A NL8002346 A NL 8002346A
Authority
NL
Netherlands
Prior art keywords
action
data
bus
receiver
data source
Prior art date
Application number
NL8002346A
Other languages
English (en)
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
Priority to NL8002346A priority Critical patent/NL8002346A/nl
Priority to GB8111624A priority patent/GB2074819B/en
Priority to CA000375726A priority patent/CA1164968A/en
Priority to AU69597/81A priority patent/AU544216B2/en
Priority to DE3115453A priority patent/DE3115453A1/de
Priority to IT21288/81A priority patent/IT1135779B/it
Priority to US06/255,916 priority patent/US4418386A/en
Priority to CH2606/81A priority patent/CH654126A5/de
Priority to SE8102494A priority patent/SE449801B/sv
Priority to FR8107897A priority patent/FR2481485B1/fr
Priority to JP5992681A priority patent/JPS56169453A/ja
Publication of NL8002346A publication Critical patent/NL8002346A/nl
Priority to JP1217654A priority patent/JPH02180450A/ja

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

*'· * , ' * PHN 9736 1 N.V. Philips' Gloeilampenfabrieken te Eindhoven
Multi databron- en dataontvangersysteem met communicatiebus.
De. uitvinding heeft betrekking op een multi databron- en dataontvangersysteem waarbij de databron(nen) en dataontvanger(s). met een communicatiebus, die uit tenminste een overdrachtmedium, geschikt voor het transport van tenminste een logisch niveau (0 of 1) bestaat, ver-5 bonden zijn.
Dergelijke systemen zijn bekend en met name systemen waarin de databronnen en -ontvangers althans voor een deel uit signaalprocessoreen-heden, zoals micro-processoren e.d. bestaan. Door het steeds meer beschikbaar komen van micro-electronica in de vorm van steeds verdergaande inte-10 gratie van elektronische- functies op zogenaamde chips, is de tijd rijp voor het gebruik van de micro-elektronica in gebieden waar zo weinig mogelijk kosten gemaakt mogen worden. Genoemd kunnen worden de consumentenartikelen zoals video-, audioapparatuur e.d. Wanneer samenwerking tussen verschillende apparaten in een keten (bijvoorbeeld video-, audioketen van 15 apparatuur) gewenst of vereist is dan zal er communicatie tussen de verschillende delen nodig zijn. Hierbij zullen bepaalde apparaten of delen daarvan fungeren als databron of dataontvanger of zelfs beide functies in zich verenigen. In een systeem met een aantal databronnen en -ontvangers is het bekend om voor de onderlinge communicatie van een zogenaamde com-20 municatiebus gebruik te maken. Zie bijvoorbeeld artikel van Casaglia in Euromicro Newsletter October 1976, Vol. 2, Nr. 4, blz. 5 en verder. Tot nu toe waren deze communicatiebussen ruim van opzet, dat wil zeggen er waren een aantal lijnen in opgenomen die voor een vlotte afwerking van de communicatie zorg dragen. Systemen met 4-lijns en' 8-lijnsbussen etc. zijn 25 alom bekend. De meest directe benadering van het probleem van een a-syn-chrone communicatie tussen bronnen en ontvangers vraagt vier lijnen: tenminste 1 datalijn en 3 handshakelijnen. Bij deze oplossing (zie bijvoorbeeld Fall Joint Comp. Conf. 1972, blz. 719-740) is communicatie mogelijk tussen de modules zonder dat zij van elkaar behoeven te weten wat hun in-30 terne verwerkingssnelheid is. Echter zo’n communicatiebus is te gecompliceerd en vaak te duur om in aanmerking te komen als bus in die gebieden waar het erom gaat de kosten laag te houden. Gezocht is naar oplossingen waarbij de communicatiebus en de daarmee te bedrijven communicatie zo een- 800 23 46
\ I
' PHN 9736 2 voudigen goedkoop mogelijk zijn. Met name zou ee^HSiet een minimaal aantal overdrachtslijnen in aanmerking, komen. Minimaal betekent tenminste een overdrachtsmedium, geschikt voor het transport van tenminste een logisch niveau (0 of 1). Praktisch kan dit een coaxiale kabel, een getwist ader-5 paar of ook een draadloze verbinding,, of een optische glaskabelverbinding zijn-. Bij deze laatste voorbeelden valt bijvoorbeeld te denken aan de verbinding middels een met tenminste het logische niveau 0 of 1 gemoduleerde draaggolf infrarood of lichtstaal» Een bekend voorbeeld van een in de aanhef genoemd multi databron- en ontvanger-systeem is gepubliceerd in 10 de conferentiestukken aangeduid met EUR0MICR0· 1976: R. Sommer, "Cobus, a firmware controlled data transmission system", biz. 299-303. "Cobus" staat voor coaxiale bus en daarmee vindt communicatie plaats tussen een aantal van microprocessoren voorziene stations. Echter dit systeem voldoet niet aan de.eis van lage kosten: bij de verschillende processoren 15 is geen groot verschil in "tijdsbesef" toegestaan. Om de communicatie goed te laten verlopen moeten de deelnemende processoren a priori wetenschap hebben over de bit-tijdsperioden van de andere processoren. Dit betekent dat elke processor met een dure kristaloscillator uitgerust moet zijn, of dat het systeem een centrale klokvoorziening moet hebben of dat 20 na assemblage een tijdsbepalend netwerk afgetrimd moet worden,wat eveneens duur en vooral ook onbetrouwbaar is.
Sprekend over het zoeken naar een goedkope en betrouwbare oplossing betekent, dat het ook een eenvoudige oplossing moet zijn, want eenmaal een dergelijk systeem (bij een consument bijvoorbeeld) in gebruik 25 zijnde, mogen geen speciale.afregel- en andere aanpassingsmaatregelen . nodig zijn. Dit geldt des te meer waar latere toevoeging van nieuwe databronnen en, of data-ontvangers.tot een optie van het systeem gerekend moet kunnen worden. Het doel van de uitvinding is het geven van een oplossing die aan de genoemde eisen van lage kosten, betrouwbaarheid, een-3Q voud en met een optie voor verdere uitbreiding, voldoet. Hiertoe heeft het in de aanhef genoemde multi databron- en dataontvangersysteem het kenmerk dat, - het systeem meerdere kloksignaalgevers met onderlinge toleranties bevat en 35 - in bron(nen) en, of ontvanger(s) middelen aanwezig zijn waarmee voor alle bron(nen)en,. of ontvanger(s),. die actief aan een*..op een communicatie betrekking hebbende actie deelnemen (actiedeelnemers), vaststelbaar is of genoemde bus voor het afhandèlen van genoemde actie "gereed" 800 2 3 46 PHN 9736 3 § is en waarbij genoemde middelen - eerste en tweede detectie-uitvoerende-middelen bevatten, waarmee vaststelbaar is dat gedurende een eerste respectievelijk een tweede tijdsduur (bijv. TAi respectievelijk Tg^) de communicatiebus voor de betref- 5 fende actie gereed is, waarbij de eerste tijdsduur kleiner is dan de tweede (bijv. T^< Tg^) en deze eerste bepaald is door, een gereed-tijd-factor- (bijv. a^) van de betreffende aetiedeelnemer en waarbij de tweede tijdsduur gerelateerd is aan het grootste product·(R.V) van de verzameling producten (Ri.Vi) van alle potentiële· actiedeelnemers, waarbij IQ per aetiedeelnemer de producten (Ri.Ai) gevormd zijn door een tolerantie-factor (Ri) van de kloksignaalgever voor de aetiedeelnemer en een reactie-tijdfactor (Ui) van deze aetiedeelnemer - en waarbij.in geval een aetiedeelnemer detecteert dat de tweede tijdsduur (Tgj|) verstreken is-, voor deze en alle verdere actiedeelnemers }5 , die intussen tenminste gedurende hun betreffende eerste tijdsduur detecteerden dat de bus gereed is, de bus voor het afhandelen van de betreffende actie (inderdaad) gereed is en aldus door deze actie bezetbaar is.
Volgens de uitvinding is het in ruime mate toegestaan dat de in 20 het systeem aanwezige kloksignaalgevers onderlinge toleranties hebben.
Met deze toleranties wordt rekening gehouden: naarmate de toleranties groter zijn, zal de genoemde tweede tijdsduur door de afhankelijkheid van de. tolerantiefactor. (R) langer zijn. Dit betekent weliswaar een verminderde communicatiesnelheid,maar geen afbreuk aan de gestelde eisen.
25 Hierbij zij opgemerkt dat in onderhavige systemen, zoals met name een consumentensysteem, de factor snelheid niet zo'n doorslaggevende rol speelt als in meer professioneel gerichte systemen, waarin het gebruik van .communicatiebussen met een aantal lijnen (bijv·. 4 of 8 etc.) niet a priori prohibitief is.
30 In een multi databron-r en dataontvangersysteem kunnen in principe twee soorten van bronnen-en, of ontvangers opgenomen zijn: actieve en passieve dat wil zeggen: - actieve, die zelfstandig actief aan een,· op een communicatie betrekking hebbende actie kunnen deelnemen. Verderop wordt deze categorie ook 35 wel. met het begrip "module" aangeduid.· Een dergelijke br.on of ontvanger kan aldus meester van het systeem worden. Daarnaast kunnen deze actieve bronnen en, of ontvangers naar keuze zelf passief blijven, of vanwege een hogere prioriteit van een andere actieve bron of ontvanger passief 800 2 3 46 PHN 9736 4 I * , moeten blijven. In deze laatste gevallen kunnen deze bronnen en, of-ontvangers wel als slaven in het systeem een rol vervullen.
- passieve, die niet zelfstandig een initiatief tot het verkrijgen van een communicatieverbinding kunnen nemen. Een dergelijke bron en, of ont-5 vanger zal daarmee alleen als slaaf van het systeem een rol kunnen vervullen .
Indien (zoals boven en in het vervolg) over "actiedeelnemers" •gesproken wordt, zijn hiermee bedoeld die actieve databron(nen) en, of -ontvanger(s) die op een bepaald moment ook inderdaad aan een op een com-1U municatie betrekking hebbende actie meedoen. (Dit behoeft dus niet het totale aantal aanwezige actieve databronnen en ontvangers te zijn, immers er is niet steeds een situatie dat het totale aantal wil meedoen). Opgemerkt zij nogmaals dat vanzelfsprekend een databron tevens een data-ontvanger kan zijn en vice versa. De uitvinding berust op het inzicht 15 dat alle actiedeelnemers de gelegenheid moeten krijgen ook. inderdaad aan een op een communicatie betrekking hebbende actie deel te nemen.
De onderlinge kloktoleranties mogen er niet toe leiden dat actiedeelnemers met een te langzame klok. niet mee kunnen doen (omdat zij niet snel genoeg reageren om in zo'n actie betrokken te worden). Om dit te bereiken, 2Q is er door het introduceren van de genoemde eerste en tweede tijdsduur (bijv. en Τβ^) een zogenaamd "inductie"-mechanisme geïntroduceerd waarmee gewaarborgd is dat alle actiedeelnemers ook inderdaad, kunnen deelnemen. Toegelicht: stel meerdere modules wensen de bus te gebruiken. Daartoe moeten zij wachten totdat de bus gedurende een voldoende lange 2g tijd daartoe "gereed·' is. Stel. verder dat de· locale kloksignaalgever van een eerste module sneller loopt dan die van een tweede module.· Daarmee kan de eerste module eerder weten (na T^) of de bus vrij, dat wil zeggen voor gebruik "gereed", is dan de tweede module. De eerste module begint de bus te gebruiken ("bezef'de bus). Het inductie-mechanisme zorgt 3Q er nu voor-dat de tweede module (die zelf.inmiddels wel het moment detecteerde), na bemerkt te hebben dat een andere module (de eerste) de bus begint te gebruiken, als reactie daarop ook de bus begint te gebruiken .
Het begrip reactietijd van een databron en dataontvanger heeft 3g betrekking op de tijd die zo'n module nodig, heeft om op een informatie-bit te reageren. Normaal gesproken is de reactietijd het product van'een factor Vi>l ën kloksignaalperiodeduur voor zo'n module (Mi).
Hierboven wordt een aantal malen het begrip "op een communicatie 800 2 3 46 * * ΡΗΝ 9736 5 betrekking hebbende actie" gebruikt» Een communicatie bestaat uit een aantal af te handelen acties: - het uitbrengen van verzoeken- ("start") van meerdere aetiedeelnemers tot het tot stand brengen van een communicatieverbinding g - het op basis van prioriteits- en/of adresgegevens uitvoeren van een selectieprocedure tussen meerdere communicatieverbinding-verzoekende aetiedeelnemers (meester-keuze) - de meester legt verbinding met de bron of ontvanger die in deze communicatie als slaaf dient (.zogenaamde "open-slaaf"—faze) 10 - de datatransfer zelf.
Het-bovengenoemde-volgens de uitvinding voorgestelde inductie-mechanisme is met name van belang bij de eerste twee genoemde acties: meerdere aetiedeelnemers moeten ondanks hun kloktoleranties kunnen meedoen. Voor de laatste twee genoemde acties is dit op zich niet meer 15 dringend het geval, het gaat daarbij om de directe verbinding tussen een meester en een slaaf die geadresseerd wordt en met de meester een datatransfer aangaat. Aangezien: de meester daarbij dus weet wie de slaaf is, is het denkbaar dat deze dan ook de reactiesnelheid van de slaaf kent en daarmee tijdens de datatransfer rekening houdt. Daarbij 2o zal er praktisch de mogelijkheid bestaan om de datatransfersnelheid aan de-betreffende situatie tussen meester en slaaf aan te passen: grotere snelheden zijn dan haalbaar. Er hoeft geen rekening gehouden te worden met langzamer reagerende databronnen en, of-ontvangers.
. " ' ‘ Om met name voor genoemde·, eerste actie de "inductie" mogelijk te 25 maken, heeft het multi databron^·· en dataontvangersysteem volgens onderhavige aanvrage het kenmerk dat de genoemde middelen ingericht zijn.voor het vaststellen dat de communicatiebus gereed is voor het afhandelen -van een actie betreffende het uitbrengen van.verzoeken (start) van meerdere aetiedeelnemers tot het tot stand brengen van een communicatie-3q verbinding.Om met name voor genoemde tweede actie de "inductie" mogelijk te maken heeft het.multi databron- en dataontvangersysteem het kenmerk dat de genoemde middelen· ingericht zijn voor het vaststellen dat de communicatiebus "gereed" is voor het. afhandelen van een actie betreffende het op basis van prioriteits- en/of identiteitsgegevens uitvoeren 35 van een selectieprocedure tussen meerdere .communicatieverbinding-ver-zoekende databron(nen) en, of -ontvanger(s) (actiedeelnemer(s)).
Om tot snelle en eensluidende beslissingen op de communicatiebus te geraken in de gevallen dat meerdere aetiedeelnemers hun data aan 800 23 46 PHN 9736 6 de bus aanbieden heeft een verdere uitvoering van het multi databron-en dataontvangersysteem het kenmerk, dat de uit tenminste een overdrachtsmedium bestaande communicatiebus per aansluitplaats van een actiedeel-nemer van een bedrade logische poortfunctie ("wired AND" of "wired OR") 5 voorzien is.
In het bijzonder van belang zijn oplossingen waarbij de communicatiebus uit met name een enkel of twee overdrachtsmedium/media bestaat. Daarbij heeft voor de actie betreffende het uitbrengen van verzoeken (start) van meerdere actiedeelnemers het systeem met een enkel 10 · overdrachtmedium een minimale tweede tijdsduur die per potentiële actiedeelnemer (Mi) voldoet aan de uitdrukking Tg^ = ag Tci = (R^.V).Tci, waarin Tci·de periodeduur is van de kloksignaalgever voor deze actiedeelnemer (Mi). Verder heeft in dit geval het systeem met twee overdracht-media een minimale tweede tijdsduur Tg^= (R^.y).Tci.
15 Voor de actie betreffende de selectieprocedure heeft het systeem met een enkel overdrachtmedium een minimale tweede tijdsduur Tp^=ap Tci= (R^.V),Tci. Verder heeft in dit laatste geval het systeem met twee overdrachtmedia een minimale tweede tijdsduur Tp^= (R.y).Tci.
Een geschikte uitvoering van een databron en, of ontvanger die 20 ingericht is om actief aan een op een communicatie betrekking hebbende actie in het onderhavige systeem deel te nemen heeft het kenmerk dat de databron en, of ontvanger tenminste een stuuringang en een stuur-uitgang bezitten en waarbij in de bron en, of de ontvanger de genoemde middelen: 25 - over de stuuruitgang , na vaststelling in de tweede detectie-uitvoerende middelen dat de genoemde tweede tijdsduur (bijv. Τβ^) verstreken is, een op de communicatiebus.logische niveau "gereed" omzetten in een logisch niveau "bezet", ...
-aan de stuuruitgang eveneens het logische niveau "bezet" afgeven 30 in geval over de stuuringang het door een andere actiedeelnemer op de bus geplaatste logische niveau "bezet" ontvangen is ên bovendien de bron en, of ontvanger intussen zelf met de eerste detectie-uitvoerende mid-deleen vastgesteld heeft dat tenminste de eerste tijdsduur (bijv. T^) verstreken is, 35 waarmee de bron en, of ontvanger ter deelneming aan de afhandeling van een betreffende actie aanstuurbaar is.
In de praktijk zal het voorkomen dat genoemde databron en, of ontvanger een digitale signaalprocessor is die geprogrammeerde functie- 800 23 46 PHN 9736 7 J «.
middelen heeft, die genoemde middelen omvatten en waarvan een ingang als de genoemde stuuringang en een uitgang als de genoemde stuuruitgang functioneert.
Een verbetering kan bij de op bovenvermelde wijze gebruikte 5 digitale signaalprocessor als databron en, of dataontvanger bereikt worden doordat voor de bron en,of ontvanger een logisch niveau "gereed"-"bezet"-overgangsdetector aangebracht is, waarmee een "gereed'!-"bezet"-overgang op de communicatiebus een verkorte reactietijd voor het door de databron en, of ontvanger zelf, als deze bovendien intussen vastgesteld heeft dat to tenminste de eerste tijdsduur verstreken is, afgeven van het logische niveau "bezet" aan zijn stuuruitgang oplevert. Hiermee wordt de reactietijd van de bron en, of ontvanger verkleind, zodat een verbetering van de communicatiesnelheid ontstaat.
In die gevallen waar dat op grond van het type databron en, of 15 dataontvanger van toepassing en, of economisch verantwoord is, is het mogelijk een met name qua reactietijd gunstige oplossing te krijgen.
Daartoe heeft de databron en, of dataontvanger het kenmerk dat een eerste deel en een tweede deel omvat, welk eerste deel in hoofdzaak de bron-en of ontvangerfunctie inhoudt en via tenminste een verzoekuitgang en een 20 toestemmingsingang met het tweede deel verbonden is, welk tweede deel een respectievelijke verzoekingang en een toestemmingsuitgang heeft en verder voorzien is van de genoemde middelen ter vaststelling of de communicatiebus voor het afhandelen van een op een communicatie betrekking hebbende actie gereed is en waartoe het tweede deel met eerder genoemde stuuringang 25 en stuuruitgang aan de bus verbindbaar isïevens is het daarbij mogelijk dat het genoemde tweede deel eveneens identiteitsvergelijkingsmiddelen bevat, waarmee de eigen identiteit van de databron en, of ontvanger vergelijkbaar is met een over de communicatiebus aangeboden identiteit.
Een speciale uitvoeringsvorm van bovengenoemde oplossing heeft 30 verder als kenmerk dat de genoemde middelen in het tweede deel een alleen-leesgeheugen, een adresteller en een logisch EN-functie-element omvatten, waarbij het alleenleesgeheugen door de adresteller adresseerbaar is; de adresteller telt kloksignalen die over een kloksignaalgeveringang vanuit het eerste deel aangeboden worden nadat eerst een verzoeksignaal 35 over de verzoekingang is ontvangen; bij bereiken van de tellerstand die de eerste tijdsduur (T^) representeert, geeft het geadresseerde alleenleesgeheugen een uitgangsbit waarmee het logische EN-functie-element bereid gesteld wordt; bij het bereiken van de tellerstand die de tweede 800 2 3 46 V > PHN 9736 8 tijdsduur (Tq^) representeert, of zoveel eerder als over de stuuringang het bus "gereed"-signaal overgaat in bus "bezet"-signaal waarmee dan o-ver het EN-functie-element de teller in de tellerstand van de tweede tijdsduur (Tg^)gedwongen wordt, levert het alleen-leesgeheugen vanaf de 5 alsdan geadresseerde plaats eveneens het logisch niveau "bezet" aan de stuuruitgang.
Tenslotte zij opgemerkt dat het hierbij ook nog mogelijk is dat het middels de adresteller geadresseerde alleen-leesgeheugen in samenwerking met de identiteitsvergelijkingsmiddelen geschikt is voor het 10 verrichten van de identiteitsvergelijking.
De communicatiebus bestaat uit tenminste een overdrachtmedium. Dit is de voordeligste oplossing, zij het dat de communicatiesnelheid niet zeer hoog is, omdat de kloksignaalgevertoleranties een grote rol spelen.
15 Oplossingen met meer overdrachtsmedia zijn met gebruikmaking van het inductie-principe volgens de uitvinding ook mogelijk. Ter nadere aanduiding heeft een multi-databron- en dataontvangersysteem daartoe het kenmerk dat de communicatiebus uit twee overdrachtmedia bestaat, waarvan de ene als besturingsoverdrachtmedium en de andere als data-overdracht-20 medium dient en waarbij tenminste élke actiedeelnemer van een besturings-mediumschrijfklem en -leesklem en van een data-overdrachtmediumschrijf-klem en -leesklem voorzien is. Een andere uitvoering heeft daartoe het kenmerk dat de communicatiebus uit drie overdrachtmedia bestaat, waarvan twee als besturingsoverdrachtmedium dienen en de derde als data-overdracht-25 medium dient en waarbij tenminste elke actiedeelnemer van besturingsover-dracht-mediumschrijfklemmen en -leesklemmen en van een dataoverdrachtme-diumschrijfklem en -leesklem voorzien zijn. Een verdere speciale uitvoering met een meervoudig overdrachtsmedium heeft het kenmerk dat de communicatiebus uit drie overdrachtmedia bestaat, waarvan een als bestu-3g ringsoverdrachtmedium dient en de twee andere als data-overdrachtmedia dienen en waarbij tenminste elke actiedeelnemer van een besturingsover-drachtmediumschrijfklem en -leesklem en van data-overdrachtmediumschrijf-klemmen en -leesklemmen voorzien zijn.
Hieronder wordt de uitvinding aan de hand van figuren nader 35 toegelicht. Er zij op gewezen dat het slechts voorbeelden betreft waartoe de uitvinding niet beperkt is.
Fig. 1 toont schematisch een aantal acties waaruit de communicatie over een communicatiebus bestaat.
800 23 46 i? PHN 9736 9
Fig. 2 toont een multi databron- en dataontvangersysteem met een enkele lijn als overdrachtmedium.
Fig. 3.toont het tijddiagram dat bij het systeem volgens Fig. 2 behoort.
Fig. 4 toont een mul-ti databron- en dataontvangersysteem met twee lijn- 5 en als- overdrachtmedium.
• Fig, 5 toont het tijddiagram dat bij het systeem, volgens Fig. 4 behoort.
Fig. 6 toont een systeem met drie lijnen als. overdrachtmedium.
Fig. 7 toont een iets andere uitvoering van het systeem met drie lijnen als overdrachtmedium.
10 Fig. 8a en 8b voorbeelden van modules die als digitale signaalprocessor uitgevoerd zijn.
Fig. 9 toont een stroomdiagram voor het afwerken van interrupts.
Fig. IQ·toont een stroomdiagram van een hoofdprogramma.
Fig. 11 toont een stroomdiagram van een. interruptprocedure.
15 Fig. 12 toont een stroomdiagram van een gedetailleerde interruptprocedure.
Fig, 13 toont een stroomdiagram van het bus "gereed"?-anderzoek.
Fig. 14 toont een blokschema van een databron· en, of dataontvanger bestaande· uit een eerste deel en een tweede deel..
20 Fig. 15 toont een gedetailleerd schema van het blokschema volgens Fig.14. Fig. 16.toont een tijd-bit-diagram voor het schema van Fig. 15.
Fig. 17 toont het schema van een "gereed-bezet-overgang"-detector.
In Fig. 1 is schematisch getoond, uit·welke acties een communicatie over een bus kan bestaan: 25 - Wacht tot de bus voor een actie betreffende· een communicatie gereed is (blok 20). De bus wordt "gereed" beschouwd als deze gedurende een voldoend lange tijd geen actie vertoont. Hierbij gaat het erom dat aan alle actiedeelnemers deze situatie "bus gereed" bekend is, zodat deze alle •aan de .volgende actie kunnen deelnemen.
30 - Arbitrage (blok 22) is deze volgende actie die betreft het op basis van prioriteits- en/of identiteitsgegevens uitvoeren van een selectieprocedure. Daarmee wordt bepaald welke module meester in het systeem wordt.
- Slaaf-seleetie (blok 24): de meester geeft een bestemmingsadres af.
Alle modules vergelijken dit adres met de eigen identiteit. De bron of 35 ontvanger die overeenkomst vaststelt, beschouwt zich als slaaf. Dit is -de zogenaamde "open-slaaf"-faze.
- Deze bron of ontvanger zal in de meeste gevallen zijn eigen identiteit nog aan de meester bekend maken, zodat deze kan controleren of de juiste 800 2 3 46
I I
PHN 9736 10
* V
slaaf gekozen is (blok 26).
- Data-overdracht (blok 28). De over te dragen data wordt over de bus getransporteerd. De slaaf beschouwt de overdracht te zijn beëindigd als· deze vaststelt dat de bus weer vrij komt (geen actie binnen een be-5 paalde tijdsperiode). Vanwege het feit dat er na de arbitrage en slaaf-selectie normalerwijze een punt. naar punt verbinding aanwezig is, kunnen er andere tijdsduurrestricties gelden dan daarvoor. Deze restricties kunnen voor de betreffende meester-slaaf configuratie optimaal gekozen worden, waarmee een grotere data-transportsnelheid bereikt kan worden.
10 Gedurende de data-overdracht kan er protectie tegen bitoverdrachtsfouten plaatsvinden. Dit kan door een zogenaamde·bit-echo-procedure waarbij de. ontvanger elke bit weer uitzendt (echoot). De bron vergelijkt dan de uitgezonden met de ontvangen bit.
Opgemerkt zij dat behalve blok 26 ook blok 28 niet altijd, zal 15 optreden. Er zijn gevallen waarbij een meester door het openen van een slaaf daarmee zijn communicatie-opdracht beëindigt.
In de systemen volgens de uitvinding zal het transport van de informatie ih het algemeen bit-serieel over het tenminste ene. overdracht-medium plaatsvinden. Als reeds boven beschreven levert dit het probleem 20 van de synchronisatie op wanneer er geen centrale klok, geen kristal-oscillatoren en geen aftrim netwerken toegepast.mogen of kunnen worden.
.De uitvinding laat vanwege het genoemde. "inductie"-principe toe dat de klokken in het systeem die met name per module of eventueel groep van modules aanwezig kunnen zijn, toleranties hebben. Stel dat per 25 actieve bron- en, of ontvanqer een tolerantie R. bestaat: R. Timax· 11 Ή-:— 'i mm.
Bijvoorbeeld: een afwijking van -20% tot + 80% geeft een R^ = 2,25. In het navolgende wordt-aangenomen dat alle tijdsduren van elke actieve bron en, of ontvanger evenredig is met-de bij die actieve bron en, of ontvanger behorende kloksignaalgever (T ^).
30 Fig. 2 toont- een multi databron- dataontvangersysteem met een enkele lijn als overdrachtmedium. In Fig. 2 is C de enkellijns-bus waarover een logisch niveau 0 of 1 transporteerbaar is. Met Ml, M2......
Mn zijn databronnen en dataontvangers aangeduid. Dit kunnen actieve en passieve bronnen en, of ontvangers zijn. Omdat het voor de toelichting 35 van de uitvinding niet relevant is dat er behalve actieve,ook passieve bronnen en, of ontvangers kunnen zijn, wordt er hieronder.verder vanuit gegaan dat in de.voorbeelden alleen actieve databronnen en -ontvangers zijn. Deze zullen hieronder in het algemeen met de algemene term module 8 0 0 2 3 46 '/ * ΡΗΝ 9736 . 11 aangeduid worden.
Elke module kan data lezen, of schrijven of beide vanaf respectievelijk naar de· lijn, echter voor het tot stand brengen van een communicatieverbinding moeten alle modules communicatiebesturingsinformatie 5 kunnen lezen van en schrijven naar de communicatiebus. Elke module heeft daartoe een uitgang CW (module Ml), CW (module M2)..... voor het schrijven naar de bus en een ingang CR voor het lezen van de bus. Daarbij is de informatie op C = de informatie aan de ingangen. CR. (module Ml), CR (module M2),....CR. (module Mn). Voor het schrijven wordt aangenomen dat de 10 buslijn C een bedrade logische poort functie heeft:, een bedrade EN, of een bedrade OF poort. In verband met de later in deze beschrijving gebruikte voorbeelden en de daarbij, gekozen signaaldefinitie van het logische niveau ‘'bezet" = "laag" = 0 en "vrij" = "hoog" = 1 wordt er van de logische EN-functie gebruik gemaakt voor de bepaling van het logische niveau op 15 de bus. Aldus is het niveau op lijn C bepaald door C = CW(M1).CW(M2),...
Zoals bekend is, kan een bedrade EN-poort bijvoorbeeld met open-collector busdrijvers gerealiseerd worden. _______________ y
S
/ /
'S
20 / y -................" / ' ' 25 / Z/ 800 2 3 46
* V
PHN 9736 12 % «
Fig. 3 toont een tijddiagram dat bij het voorbeeld volgens Fig.
2 behoort. In dit tijddiagram stellen voor: C de signalen op de bus.
CW (Ml) en CW (M2) geven de signaaltoestanden aan de schrijfuitgangen van de modules Ml en M2 aan. In dit voorbeeld wordt verondersteld dat beide 5 modules een verzoek tot communicatie doen.Verder is in dit voorbeeld de kloksignaalgever van module Ml sneller dan diè van M2. In de tijd gezien vindt er het volgende plaats: 1) Een voorgaande meester van het systeem (een module Mi) heeft zijn gebruik van de bus beëindigd.
10 2) Als na een eerste tijdsduur (in dit geval dus voor Ml) de C-lijn niet van logisch niveau verandert, wordt de bus "vrij" beschouwd. (C=l). Als de bus logisch niveau "bezet" krijgt (C=o) vóórdat de tijdsduur T^ verstreken is, wordt de bus als zijnde in gebruik beschouwd. Dan wordt er opnieuw gewacht tot de bus vrij komt. Zie links van 1).
15 3) Na wordt er tot de tweede tijdsduur Tg^ verstreken is, ge wacht voordat een begin gemaakt wordt door module Ml om de bus te gebruiken. Dit gebeurt door het afgeven van een startbit : CW (Ml) geeft logisch niveau "bezet" af waardoor C=o wordt. Inmiddels heeft module M2 zijn eerste tijdsduur T^2 gepasseerd en deze constateert op de lijn C dat C=o 20 wordt. Hierop reageert de module M2 door ook over zijn uitgang CW(M2) logisch "bezet" niveau af te geven. Dit gebeurt niet direct, immers de mo-; dule heeft, een· reactietijd nodig, voordat het geeffectueerd is. Deze reactietijd is met Tg2 aangeduid. Op de hier genoemde tijdsduren, reactietijd en de in het hele gebeuren van belang zijnde toleranties van de kloksig-25 naalgevers wordt hieronder nog nader ingegaan om tot een inzicht van de onderlinge afhankelijkheden te komen.
Het gedeelte tussen 1) en 3) is in Fig. 3 met WBF aangeduid en betreft dus de actie "wachten tot de bus gereed is" dat is het uitbrengen van alle verzoeken (start) van alle actiedeelnemers.
30 4) De startbit duurt een tijd (Til) (module Ml) respektievelijk (T12) (module M2). Op lijn C is dat Tsb vanwege de bedrade EN-functie. Daarna wordt er een databit (niveau hoog of laag) op de bus gezet. Dit gebeurt zowel door de actiedeelnemer module Ml als M2. De eerste aangeboden databit is de hoogste orde bit van de identiteit van elk der modules 35 Ml en M2.
5) Op tijdstip t=T21 wordt de databit op C door module Ml gelezen. Op tijdstip t=T22 wordt deze databit door module M2 gelezen. In M2 gebeurt dit dus later in verband met zijn langzame klok.
800 2 3 46 -5 PHN 9736 13
Dit deel van de communicatie betreft de actie voor het op basis van identiteitsgegevens uitvoeren van een selectie tussen de actiedeelne-mers. Hiermee wordt bepaald wie meester wordt. Dit wordt ook wel arbitrage genoemd. Door de bedrade EN-functie vergelijken de modules hun bits: 5 hier dus eerst hun hoogste orde bit en de uitkomst daarvan is dat een aangeboden "laag" signaal wint van een aangeboden "hoog" signaal. Zodra een actiedeelnemer over zijn leesingang ziet dat een door hem aangeboden "hoog" signaal door een ander klaarblijkelijk "laag" is gemaakt, trekt deze deelnemer zijn deelneming in en accepteert aldus dat hij de arbitrage verlo-10 ren heeft. In de navolgende fazen is deze module dan niet meer een actieve deelnemer en houdt zijn uitgang (evenals alle andere niet-deelnemers) op logisch niveau "hoog": CW (Mi) =1.
6) Na T31 respektievelijk T32 wordt een stop-bit gezonden (door de nog actieve deelnemers). Dit bit is een logisch "hoog" signaal.
15 7) Vanaf een verdere eerste tijdsduur respektievelijk wordt er nu gekeken door de (nog) actieve deelnemers of er een transitie op de lijn C optreedt C=l-*o. Dit wijst op een nieuwe startbit. Dit deel van de procedure betreft de behandeling van het eerste databit: TF8 in Fig. 3'.
20 8) Dat wachten zie onder 7) duurt tot een verdere tweede tijds duur (TF1) verstreken is. Hier treedt weer het genoemde "inductie"-principe op: na (voor module Ml) en (voor module 2), welke tijds-v·· duren dus-weer als‘.eerste tijdsduur aan te duiden zijn,, wordt gewacht tot • een der beide modules hun eigen tweede tijdsduur Tp^ respektievelijk Tp2 25 passeren. Module Ml bereikt als eerste (snellere klok) zijn Tp^ en dan gaat voor beide modules een nieuwe startbit de lijn C op. Echter zoals onder 3) genoemd komt module M2 iets achteraan: na zijn reactietijd
Na Tpj treedt er een transitie op C=l-»o: een nieuwe startbit. Vanaf nu worden alle fazen 4)-8) weer doorlopen: TSB behandeling van het 30 tweede databit enzovoort. Dit wordt herhaald tenminste tot alle databits die nodig zijn om de communicatieverbinding te maken afgehandeld zijn.
Hier zij terugverwezen naar de blokken en hun beschrijving aan de hand van Fig. 1. Waar het feit genoemd is dat als de verbinding tot stand is gebracht, de tijdsrestricties veranderen kunnen en er daardoor een snel-35 lere punt-naar-punt dataoverdracht tussen een meester en een slaaf mogelijk is
Voor het begrip van de uitvinding is een toelichting van de verbanden tussen de bovengenoemde tijdsduren van belang. Voor het aan de 800 23 46 PHN 9736 14 hand van Fig. 2 en Fig. 3 toegelichte uitvoeringsvoorbeeld kan het volgende berekend worden. Stel Tci is de lokale kloksignaalgeverperiode van een module Mi. Het ontu/erp van een module wordt verondersteld zodanig te zijn dat alle relevante tijdsduren afgeleid zijn van genoemde periode Tci: 5 TR. = aRi.Tci i TA. = aA1.Tci ; Τβ1 = a^.Tci ; Tli = ali.Tci ; T2i = a2i.Tci ; T3i = a3i.Tci ; Tp^ = a^.Tci ; Tp^ = ap^.Tci "***'*^ '
Hierin zijn de symbolen aji constanten, a^ en ap^ zijn interne gereed-tijdfactoren. a^ betreft het aantal klokperioden dat in een module Mi nódig is v oor een verzoek tot het tot stand brengen van een communicatielij verbinding, a^ betreft het aantal klokperioden dat een module Mi nodig heeft om na een databit een stopbit (na T31) aan te bieden,. Om het gestel de doel namelijk met een enkele lijn toch een goede communicatieverbinding maken, zonder dat zware voorwaarden aan de klokken in het systeem gesteld hoeven te worden, moeten de symbolen ag^ en aF^ voor het hele 15 systeem en niet alleen per module Mi gelden. Immers de genoemde tweede tijdsduren TBi en TFi zijn kritisch voor een goede afhandeling van de acties. Hieronder wordt afgeleid waaraan aRi en aF^ moeten voldoen.
Het tijddiagram van Fig. 3 laat zien aan welke eisen voldaan 'móet zijn voor een goede afhandeling van de acties: 20 TRi <Ui----------(2A)
Tli < T2i----------(2B) 'T2i <T2i.----------(2C) T3i <2^----------(2D) 25 . TEi <Τ^_------(20.
In <iai.—-—<2F) taï_ <lai.----------(2G)
Hierin betekent T een maximum tijdsduur en T_ een minimum tijdsduur. Er is 30 gedeninieerd: tolerantiefactor Ri = Tci /Tci. Hiermee en met (1) en (2) ali /aRi y Ri-------(3A) a2i /ali y Ri-------(3B) a3i /a2i > Ri-------(3C) 35 api /aEi y Ri-------(3D) aAi /aFi > Ri-------(3E) aBi /aAi > R1-------(3F) ö 0 0 2 3 46 PHN 9736 15 . t* en bovendien siq> a31 (tenminste niet gelijk aan elkaar)-----(3G)
Uitgaande van het feit dat normaal gestreefd zal «/orden naar een situatie met de grootst mogelijke communicatiesnelheid, kan (3A-3F) met (3G) als volgt geschreven «/orden: 5 ali = Ri.aRi------------(4A) a2i = Ri.ali —----------(4B) a31 = Ri.a2i------------(4C) aRi = Ri.a3i------------(4D) '0 aAi = Ri-aFi------------ (4E)
aBi 5 R1’aAi------Γ---(4P
Daaruit volgt dus dat ap^ = Ri.aR^ = Ri.Vi (5A) 5 5 ' - (aAi = Ri.aRi = Ri.Vi (5B) 6 6 15 aBi = Ri.aRi = Ri.Vi (5C) ên aEi>Rl.aRi----------------- (5D)
Dit geldt per module. Omdat voor deze symbolen het er om gaat voor het ge- ....... hele systeem de acties (bus "gereed","selectie van meester") foutloos mo- 20 gelijk te maken moet als systeemconstante de grootste «/aarde van aBi = aB en aFi = aF verzarneHn9 van daarbij horende producten ge- :kpzen,.«/orden. Dit betekent dus dat het grootste product van factoren Ri en Vi uit de verzameling van alle producten van Ri en Vi van de modules daarbij doorslaggevenJis. Modules met grote kloktolerantie en grote reac- 25 tietijd leveren grote producten van Ri en Vi maar ook modules met kleine kloktolerantie en zeer grote reactietijd en v.v. leveren grote producten van Ri en Vi. Dit grootste product is aangeduid met R.V. Daarmee liggen de afhankelijkheden van de t«/eede tijdsduren vast: aD =R6.V en ar = R4.V-----------(6) B r £ a 30 Daarmee is = R . Tci en = R .V.Tci ------- (7)
Hierin is dus V=V^de reactietijdfactor van die bepaalde module Mp «/aar-voor met Rp =R van die module het grootste product V.R. ontstaat. De reactietijd van die module is TRn = V.Tcp. Daarmee volgen de kleinst mogelij- 6^ 4 ke tweede tijdsduren Jg = R . IRp en = R .T^-------(8) 35
De Tp is een maat voor de minimale cyclus ("frame") tijdsduur voor de communivatie van een databit tijdens een op een communicatie betrekking hebbende actie.
In de praktijk kan de interne reactietijd TR. van een module 80 0 2 3 46 ΡΗΝ 9736 16 » Γ η ν
Mi niet ongelimiteerd klein gemaakt worden, dit hangt van de gekozen implementatie af. In geval een communicatie met een geprogrammeerde microprocessor plaatsvindt,, is heden ten dage een TR^ van bijvoorbeeld 10 microseconde haalbaar. Bij volledige hardware realisatie van de mid-5 delen kan voor TR^ wel gedacht worden aan bijvoorbeeld 2 microseconde -0,2 microseconde. Bij kristalgestuurde klokken ligt R zeer dicht bij 1, echter als goedkope klokken, bijv. met eenvoudige RC-oscillators, toege-. . - past worden, (en dat wordt.hier verondersteld), kan R wel een factor .
4 of nog meer zijn.
10 Getalvoorbeeld van een mogelijke situatie:
Stel R = 4 en Tn = 10 microsec. Dan is TD = 4^.10« 40 millisec en T.-.=
Rd —Bp -r = T (frame)^ 2,6 miliisec. en dus T(frame) = R.T(frame) = 10,4 millisec.
En ook TI = 160 millisec-Bp
Dit betekent in. de slechts mogelijke toestand ("worst case") 15 dat de communicatiesnelheid bij een actie ongeveer 99 Baud is.
Zou TRp =2-0,2 microsec. (door daartoe aanwezige hardware, zie verderop Fig. 14 en Fig. 15) zijn>dan wordt de genoemde laagste snelheid vergroot tot zo'n 500 - 5.000 Baud.
Opgemerkt zij hier dat het mogelijk is de TR^, ook in het ge-20 val dat.de procedure met een geprogrammeerde signaalprocessor bestuurd wordt, te verkleinen. Daartoe kan een eenvoudige "hoog"-naar-"laag" niveau detector tussen de buslijn C en de module opgenomen worden. De detector werkt als volgt: zo gauw als de bus naar "laag" (C—»o), zet deze over eën'circuit, de CW (Mij = 0. ' ' ' - - - - . .
25 Opgemerkt zij datuit bovenstaande yolgt dat bij het definiëren van een systeem volgens onderhavige aanvrage dus vastgesteld kan worden wat het grootste product (R.V) zal mogen zijn. Anders, gezegd, rekening houdend met een "slechtst" mogelijk in het systeem nog toelaatbaar op te nemen module, is de zekerheid dat alles correct zal verlopen door inaeht-30 neming van genoemd product (R.V), gevestigd.
In Fig. 4 is een multi databron- en dataontvangersysteem ge-, toond waarin de eenlijnsbus van.Fig. 2 uitgebreid-is met een extra lijn. Deze tweelijnsbus, die met de twee lijnen, elk geschikt voor het transport van een logisch niveau 0 en 1, minder goedkoop is dan de eenlijns-35 bus, heeft het voordeel dat een grotere communicatiesnelheid haalbaar is. Ml, M2,....Mn zijn weer modulen die als actieve actiedeelnemers op kunnen treden.·K is een besturingslijn en D is een datalijn. Elke module heeft een schrijfuitgang KW naar de besturingslijn en een leesingang 80 0 2 3 46 PHN 9736 17 KR vanaf de besturingslijn K. Elke module heeft verder een schrijfuit-gang DW naar de datalijn en een-leesingang vanaf de datalijn D. Beide lijnen hebben de bedrade EN eigenschap: K = KW(M1).KW(M2).....en D = DW (M1).DW(M2)......
5 Fig. 5 toont het tijddiagram dat bij het systeem van Fig. 4 behoort. In principe gebeurt hier min of meer hetzelfde als in het geval van Fig. 3, in het bijzonder vormt de verdeling van de acties over ' " de lijnen K en D het verschil. Weer--wordt aangenomen dat;module Ml snel-' • Ier is dan M2. In de tijd gezien gebeurt het volgende: 10 l) Een voorgaande meester heeft het gebruik- van de bus beëindigd. Alle actiedeelnemers beginnen de tijd af te tellen, afwachtend, of de bus "gereed" is (C = 1).
2) Als na de eerste tijdsduur (in dit geval voor module Ml de T^j.) de K-lijn niet van logisch niveau verandert, wordt de bus "vrij" beschouwd.
15 Als de bus logisch niveau "bezet" krijgt (K = 0) -vóórdat de tijdsduur verstreken is, wordt de bus als zijnde in gebruik beschouwd- Dan wordt er. opnieuw gewacht tot de bus vrij komt. In Fig. 5 is het in gebruik zijn van de bus aangegeven met BIU. In geval de bus gereed (na T^) is, wordt erop ρ±φ een databit (DB) van module Ml over uitgang DW(M1) op lijn .20 D gezet. Hetzelfde geldt voor module M2 na verstrijken van zijn eerste tijdsduur T^2* Over uitgang DW(M2) wordt een databit (DB) op D gezet. De bedrade EN-functie van de lijn D bepaalt de uitkomst van de beide aan-... -...geboden databits· (een V0r" .©verschrijft,een "1").. .
3) De module (hier Ml) die als eerste vaststelt dat zijn tweede tijdsduur 25 Tg^ (hier Tg^) verstreken is, zet een logisch niveau 0 op de K-lijn:· 0- ver de schrijfuitgang KW(M1) wordt K=0. Andere modules die inmiddels zelf hun eerste tijdsduur verstrijken zagen, reageren hierop:"inductie" en schrijven zelf. (na hun reactietijd T^) ook een· 0 op de K-lijn. In de Fig. 5: op i) na wordt over schrijfuitgang KW(M2) een 0 naar 30 lijn K geschreven. Deze faze is de wacht-tot-bus^ "gereed" actie: WBF in Fig. 5.
^ Na bovengenoemde K £ Q·actie wordt de datalijn D afgetast: elke module die aan de actie meedoet, tast lijn D af na een tijd (de verschillen zijn weer veroorzaakt door de kloktoleranties). Daarmee wordt het ni-35 veau van lijn D naar de modules gelezenover hun ingangen DR(M1) en DR(M2) p Na het aftasten wordt door alle betreffende modules een logisch niveau 1 op de K-lijn geschreven over hun uitgang KW(Mi). Module Ml doet dit 800 23 46 PHN 9736 18 na tijdsduur T21. M2.en eventuele andere modules op andere tijdstippen T2i, waarbij: 6)op ogenblik é) alle modules over hun uitgang KW(Mi) de lijn K = 1 gemaakt hebben. .Hiermee is lijn K dan ook niveau 1 geworden (bedrade EN).
5 7)Na overgang ó) gedetecteerd te hebben, geven alle actiedeelnemers een nieuwe databit (DB) aan de lijn D af. Module Ml doet dit na tijdsduur T^, vanaf tijdstip φ. is een tijdsduur die in de module Mi nodig . is om een· nieuwe databit aan de lijn D af te geven. Andere modules doen hetzelfde en wel in ieder geval vóórdat Tp^ verstreken is. en Tp^ 10 zijn weer de genoemde eerste en tweede tijdsduur. Er treedt hier weer "inductie" op.
8) Na de tweede tijdsduur Tp_^ gaat lijn K opnieuw naar niveau 0. Op dit moment is het zeker dat alle actiedeelnemers hun nieuwe databit op lijn D aangeboden hebben (Module M2 deed dit op φ zie lijn DW(M2) in Fig. 5). 15 De bedrade EN-functie van de datalijn D bepaalt weer de uitkomst van de aangeboden data-bits. De faze van 3) - è> is de actie voor de communicatie van het eerste bit, aangeduid met TFB. De fazen φ-φ worden zoveel malen doorlopen als nodig is om de communieatie-verbinding tot stand te brengen, dat wil zeggen tot tenminste de arbitrage- en "open 20 . slaaf"faze afgehandeld is: communicatie van het tweede bit .(TSB) etc.
Ook voor dit voorbeeld wordt hier een berekening van de tijdsduren in samenhang met de kloksignaalgevertoleranties gegeven. Tci is weer de . .. .lokale klokperiqde van module. Mi. Alle relevante tijdsduren zijn per module van deze periode afgeleid.
» TRi =.aRi-Tci I TAi = aAi-Tcl « TBi = aBi-Tci «' TSi * aSi'Tci; T2i = a2i.Tci ; = a^.Tci ; Tp^ = ap^-Tci.
Hierin zijn de symbolen aji constanten., a^ en a^ zijn weer interne gereed-tijdfactoren. a^ betreft het aantal klokperioden dat in een module Mi nodig is voer eenverzoek tot het tot stand brengen van een com-30 municatieverbinding. a^ betreft het aantal.klokperioden dat een module •Mi nodig heeft om een nieuwe databit (na ophalen uit-bijvoorbeeld een geheugen) aan de bus aan te bieden. Evenals boven moeten ook. hier ag^ en ap^ voor. het gehele systeem en niet per module gelden.Hieronder wordt voor het tweeüjnsysteem afgeleid waaraan a^ - a^ en ap^ = ap moeten 35 voldoen.
. Het tijddiagram van Fig. 5 maakt een goede actieafhandeling slechts mogelijk als aan de volgende eisen voldaan is: TR. * 12i--------------(2A) 800 2 3 46 ! PHN 9736 19
« I
V. < ii----------------(2B) \i < !m---------------(2C) TAi < ifii---------~--(2D)
Met gedefinieerde Ri = Tci/Tei is uit l) en 2/ af te leiden: 5 a2i/aRi y Ri--------------(3A) aFi/aEi > Ri--------------(3B) • aAi/aFi > Ri-------------(3C) aBi/aAi > Ri----*--------(3D)
Uit het feit dat normaal gestreefd zal worden naar een situatie met de 10 grootst mogelijlecommunicatiesnelheid, kan (3A-3D) geschreven worden als: a2i = Ri.a^-----------------(4A) aFi = Ri.aEi-----------------(4B) aAi = Ri'aFi----------------(4C) aBi = Ri'aAi-----------------(4D) 15 Daaruit volgt dat aE^ = Ri.a^ = Ri*Vi----------(5A) (aAi = R^i.aE^= R^i.Vi---------(5B)) aBi = R3i.aEi= R3i.Vi---------(5C)
Hier blijkt dus dat de reactietijdfaotor Vi = aE^ de gereed-tijdfactor voor het aanbieden van een nieuwe databit is.
20 Op overeenkomende wijze als boven voor het eenlijnsysteem, moeten ook hier de constanten 3β^=3β en ap^ 5 ap als grootste waarde van het product (R.V) uit de verzameling van producten (Ri.Vi) gekozen worden. Daar-• " ' mee" liggen de afhankélijkheden van de tweede tijdsduren vast: aB= RJ\l en ar= R.V-------------------------(6) r .3 25 Daarmee is dan Tg^ = R .V.Tci en Tp^ = R.V.Tci---------------(7)
Hierin is dus V = a^ (=Vp) de gereed-tijdfactor van die module Mp waarvoor het grootste product (R.V) ontstaat. De reactietijd van die module is ("gereed"-tijd) TE = V.Tcp.
Daarmee zijn de kleinst mogelijke tweede tijdsduren: 30 Τβ = R «ipp en Tp = R.TEp----------------·—(8)
Wat betreft de minimale cyclus-("frame") periode voor de communicatie van een databit tijdens een actie, volgt: (zie ook Fig.5) uit (8) en (4A) met (1) T( frame) = TF + = R.T^ + R.T^, 35 zodat T(frame) = R(TEp + TRp)---------------------------(8A)
Stel, zoals praktisch veelal gekozen zal worden, TEp = Tp , waarmee T(frame) = 2R.TPr,. Dit is dus gunstiger dan in het geval van het eenlijn- 1 " 2 Λ systeem. Er is een verhouding met R in plaats van met R . Bij een R = 4 800 2 3 46 I < PHN 9736 20 scheelt dat al een factor 64. Rekening houdend met de 2R is dit dus een factor 32.
Een getalvoorbeeld: stel R=4, 'ÏBpZ 10 mierosec. (en dus ook = 10 mierosec). Dan is T(frame) - 2.4.10 = 80 mierosec. en daarbij 5 is TD = 640 mierosec; In dit geval is dan de slechtste situatie ("worst case"): T(frame) = R.T(frame) = 320 mierosec. dit betekent een laagste communicatiesnelheid van ongeveer 3000 Baud.
- Ook hier is een vergroting van de snelheid.mogelijk door een eenvoudige "hoog"-naar-"laag" niveau detector tussen de K-lijn en de 10 module-ingangen KR(Mi) te plaatsen. Zo gauw· als een 1-»Q transitie optreedt, trekt het detectorcircuit de lijn K naar 0. Hiermee wordt de reactietijd aanzienlijk verkleind.
In de datacommunicatiefaze (nadat een communicatieverbinding tot stand is gebracht), werkt een module als een zender (bron) en een 15 andere.module ontvangt de data (ontvanger). Het kan nodig zijn het datatransport te beveiligen tegen communicatiefouten. Dit kan gedaan worden doordat de ontvanger elk ontvangen bit weer terugstuurt ("echo"). De zender verifieert de ontvangen bit met· de zojuist door hem verzonden bit. Door dit alternerend zenden en ontvangen van de databits wordt natuurlijk 20 wel de communicatiesnelheid verlaagd. ...
Met de bovenbeschreven eenlijns- en tweelijnssystemen is het "inductie"-principe voldoende uitvoerig toegelicht. Er zij hier opgemerkt dat een vergroting van.het aantal lijnen evenzeer mogelijk is: bijvoorbeeld een drielijnssysteem waarin twee besturingslijnen en één datalijn 25 aanwezig zijn. In die gevallen is het inductieprincipe ook toepasbaar. Echter het nut neemt af, omdat het toenemende aantal· lijnen kostenverhogend werkt, wat nu· juist door het onderhavige systeem vermeden, moet •worden. Bij het drielijnssysteem treedt weliswaar weer een verdere verhoging van de communicatiesnelheid op, maar de eenvoud· gaat ook meer ver-30 loren.Communicatiefouten, kunnen in het drielijnssysteem op gelijksoortige wijze als· boven voor-het tweelijnssysteem genoemd,· gedetecteerd té*' worden.
In Fig.-6 is ter illustratie een systeem met drie lijnen als overdrachtmedium getoond. Er zijn twee besturingslijnen KA en. KB en één 35 datalijn D. De modules Ml, M2,......Mn hebben klemmen waarmee ze met deze lijnen verbonden zijn: Een uitgangsklem KAW(Mi) waarmee besturings-informatie vanuit module. Mi op de lijn KA geschreven wordt. Een ingangs-klem KAR (Mi) waarmee besturingsinformatie door de module Mi van de lijn 800 2 3 46 PHN 9736 21 KA gelezen wordt. Evenzo een uitgangsklem KBW(Mi) en een ingangsklem KBR(Mi) om te schrijven op respectievelijk te lezen van· besturingslijn KB. Verder heeft elke module een datalijnsehrijfklem DW(Mi) en een datalijnleesklem DR(Mi). Een hierbij horend tijdsdiagram spreekt, na de δ gegeven tijddiagrammen in Fig. 3 en Fig. 5, voor zichzelf en wordt.hier niet meer behandeld.
· ·': . :· - Samenvattend kan ten'aahzien van ’ het bóvenbeschrévène het'volgende ge concludeerd worden: - Als in de inleiding reeds vermeld, zijn tenminste vier lijnen nodig 10 om een a-synchrone communicatie op een bus te bedrijven.
- Als minder lijnen beschikbaar zijn, moeten tijdsafhankelijke bepalingen geïntroduceerd worden.
- De onderhavige aanvrage geeft aan hoe die tijdsafhankelijke bepalingen luiden en welke eenvoudige oplossing voor de communicatie over bussen 15 met tenminste een overdrachtsmedium mogelijk is. Er zij opgemerkt dat de uitvinding op zich niet beperkt is tot een- twee- of drielijnsbussen, echter praktisch zal bij meer dan drie lijnen de vierlijnsoplossing met een handschudprocedure veelal voorkeur verdienen.
- De. communicatiesnelheid hangt in onderhavige systemen sterk af van 20 de slechtst mogelijke (worst case) klokonnauwkeurigheid van de modules. Het eenlijnssysteem is zeer eenvoudig en goedkoop voor toepassingen in met -.name consumentenartikelen ,e.d. Het heeft wel het. nadeel dat een ont- vanger de bron vanwaaruit hij data ontvangt, niet in snelheid kan verlagen. Het tweelijnssysteem heeft een extra lijn waarmee behalve een gro-25 tere communicatiesnelheid, het ook mogelijk is om dit nadeel van het eenlijnssysteem te ondervangen. Immers (met verwijzing naar Fig. 5) zowel een meester- als een slaafmodule van het systeem kan de datasnelheid verlagen door de lijn K = 0 te houden voor een tijdsperiode naar keuze (tijdsstip (6) schuift dan naar rechts in Fig. 5). Het drielijnssysteem 30 geeft in het algemeen geen tweemaal grotere communicatiesnelheid. Daarom heeft wanneer drie lijnen beschikbaar zijn het systeem volgens het tweelijnsprincipe de voorkeur: een lijn is dan besturingslijn en de twee andere lijnen dienen dan als twee parallele datalijnen.
Om dit laatste geval te illustreren is in Fig. 7 deze vorm 35 van drielijnsbus getoond. Er is een besturingslijn K en er zijn twee datalijnen DA en DB. De modulen Ml, M2,....Mn hebben een besturings-lijnschrijfklem KW(Mi) en een besturingslijnleesklem KR(Mi). Verder hebben zij voor elk van de datalijnen een datalijnsehrijfklem DAW(Mi) en 800 2 3 46 PHN 9736 22 DBW(Mi) en een datalijnleesklem DAR(Mi) en DBR(Mi).
Detailbeschrijving van uitvoeringsvoorbeelden van een multi databron- dataontvangersysteem waarbij de bus uit een enkel overdrachtme-dium bestaat. Fig. 2 geeft het algemene schema van zo'n systeem. De modu-5 les Mi kunnen digitale signaalprocessoren zijn. Deze processoren zijn uitgerust met eigen geheugens en kunnen bepaalde taken uitvoeren. Wanneer com-.. municatie met andere modules, nodig is, gebeurt dat ον/er de bus. De proces-, soren met geheugens zullen bij voorkeur van he ttype zijn waarbij zogenaamde microprocessoren als processor dienen. Met geheugens, die al of niet op 10 dezelfde chip aangebracht zijn, worden deze modules ook wel microcomputers genoemd. Voorbeeld van zo'n microcomputer is het type 8048. Daarvan kan een ingangs/uitgangsklem (I/O), bijvoorbeeld klem 34 zowel als schrijfuitgang CW als leesingang CR dienen.(Daartoe in het programma aangewezen).Er kunnen ook twee klemmen gebruikt worden:een I/O klem 34 (P17) als CR en een 15 I/O klem 38 (P27) als CW. Verder is voor een dergelijke processor een a-parte ingangsklem (nr.6) nog nodig om interrupts te kunnen ontvangen (INT). Dit is dus ook als CR te zien, zij het voor een bepaald doel, waarop hieronder nog ingegaan zal worden (Fig. 11 en 12). In Fig. 8 is een en ander nog eens getoond: Fig. 8a en Fig. 8b met Ci zijn • 20 . kloksignaalgevers bedoeld.
In Fig. 9 is getoond hoe een processor met een interrupt-ingang INT zoals bijvoorbeeld de 8048 interrupts af kan werken: vanaf SRT ‘ - : · ; ‘r = stOrt 'in‘blók’'30 volgt 'steeds'de vraag:· is er'èen interrupt INT (blok - 32)? zo neen, (N) dan wordt een instructie van het hoofdprogramma uitge-25 voerd: MPI in blok 34. Daarna wordt weer gekeken (terug naar blok 30) of er een interrupt is. Is er geen interrupt (Y) dan wordt het interrupt-programma geheel afgewerkt: IPIS (blok 36). Daar wordt er weer gekeken of er een interrupt is (blok 30) etc. Deze wijze van interruptbehandeling is een specifieke eigenschap van bijvoorbeeld de 8048.
30 Een microprocessor, zoals de 8021 die geen interrupt kent, bezit een ingangsklem die als interrupt gedefinieerd kan worden, daarmee is dan de interruptbehandeling in het totale programma op te nemen.
In Fig. 10 is een stroomdiagram van een mogelijk processor-hoofdprogramma getoond. Zo'n hoofdprogramma kan van elk type zijn en be-35 staat in het beschreven voorbeeld uit: blok 38 aanvang BEG. Daarna volgt een initialisatie INIT, blok 40. In blok 42 worden lokale operaties L0P van het hoofdprogramma uitgevoerd. Daarbij wordt wel steeds opgelet of er interrupts zijn (zie Fig. 9). In geval in het hoofdprogramma een po- 80 0 2 3 46
, I
ΡΗΝ 9736 23 sitie bereikt wordt waar een communicatie met een andere module vereist is dan brengt de processor op die positie een verzoek tot het aangaan van een communicatie uit: REQ. Dat wil zeggen deze module wil meester van het systeem worden. Dit verzoek moet behandeld worden. Dit kan al-5 leen als de bus "gereed" is voor die actie. Dit wordt, in blok 44 onderzocht: RDV? Dit stelt in dit voorbeeld de genoemde middelen HS voor.
Is dë bus "gereed"'dan wordt de toestemming (ACK) tot de actie gegeven (Y van blok 44). Dit blok 44 is van groot belang hier, want dit betreft het onderwerp van. de onderhavie aanvrage. Blok 44 bevat de geprogram-10 meerde functiemiddelen die de genoemde middelen zijn, waarmee vaststelbaar is of de bus voor· het afhandelen van acties die op de communicatie betrekking hebben "gereed" is. Wordt die toestemming niet gegeven (N van blok 44) dan wordt er opnieuw geprobeerd etc. Wordt er toestemming gegeven (Y) dan worden de systeem- transferoperaties TOP .voor het data-15 transport, bijv. zenden, uitgevoerd, blok 46. Aaan het eind daarvan wordt de bus weer vrij gegeven, signaal REQ en terugkeer naar blok 42. Daarbij wordt de interrupt-ingang(en) weer tot het ontvangen van interrupts vrij gemaakt ("enable interrupt(s)"), want bij het toestemming vragen (blok 44) is· deze (zijn deze) geblokkeerd ("disabled interrupt(s)") om 20 te voorkomen dat tussentijdse interrupts het proces verstoren. Zie ook de beschrijving bij Fig. 13. In geval (zie gestippelde gedeelte van Fig.
.. ... - s v. ,·. 10)· een databron en, .of -ontvanger uit .een eerste deel en een tweede.
deel bestaat, waarbij het eerste deel een digitale signaalprocessor is die de bron- en, of ontvangerfunctie vervult en het tweede deel,, ook wel 25 arbiter geneomd, de genoemde middelen omvatten, zal een verzoek REQ uit blok 42 in de arbiter (blok 43) geplaatst worden. Hier wordt dan op toestemming gewacht, zie weer blok 44, ACK. Na beëindiging van de transfer wordt-door de arbiter de bus weer vrij gegeven: REQ (blok 48). De arbiter moet dat ook vaststellen: blok 50. Indien ja (Y) dan wordt ACK =i> 30 ACK en keert het proces terug naar blok 42. Indien neen (N) dan wordt 48 weer herhaald. Op dit punt zij opgemerkt dat genoemd blok 44 van zo'n belang· is omdat hier het conflict: wie wordt de meester, ontstaat, wanneer meerdere modules in hun betreffende blok 44 komen. Met name is hfer dan ook van belang dat een snellere module een langzamere niet verdringt. 35 Dit vraagt dus om de bovenbeschreven "inductie". Hieronder wordt getoond hoe dat in zijn werk gaat: zie Fig. 13 en Fig. 15 met Fig. 16.
Volledigiheidshalve zijn allereerst nog gewezen op het feit dat als een module meester is, deze een slaaf zal aanwijzen. Hij stuurt 800 2 3 46 PHN 9736 24 r 1 r \ een identiteit van de slaaf uit en probeert de slaaf te interrumperen. Dit is de reden dat boven bij de voorbeelden van Fig. 8a en 8b de INT ingangen getekend zijn. Hoe een en ander verloopt is in· Fig. 11 getoond.
In blok 52 komt het interrupt INT, dat van de meester over de bus aan 5 alle andere bronnen- en ontvangers toegestuurd wordt.(Praktisch is dat INT als signaal INT vanwege de notaties: ingangen. INT). In blok 54 kijken alle bronnen en ontvangers of de aangeboden identiteit i hun eigen identiteit i is. Zo neen (N) dan is het interrupt beëindigd: END, blok 58. Zo ja (Y) dan wordt in blok- 56 de transferoperatie TOP (bijv.
10 ontvangen) uitgevoerd. Na beëindiging volgt dan END, blok 58.
Blok 54 houdt de identiteitsvergelijking. voor de slaafselectie in. Dit wordt in detail hieronder beschreven in:
Fig. 12.Blok 60 is het begin BEG.In blok 62 wordt een bit-tellerstand bt = 0 en de tijdtellerstand Tt = o. In blok 64 wordt ge-15 wacht tot een tijd Tt = T2i (stel Mi is de module waarin gekeken wordt) (zie T2i in Fig. 3) verstrken is. Op T2i wordt een op de bus aanwezig identiteitsbit als databit afgetast, blok 66. Dit is bit. bt van de identiteit j die vanaf klem P 17 (zie Fig. 8) in een register van. de processor geplaatst wordt btj:=P17. De bitteller wordt één opgehoogd: 20 bt + 1, blok 68. In blok 70 wordt gekeken of het aantal gewenste identi-teitsbits (of zoveel meer als eventueel voor andere doeleinden ook nog gewenst is) bijvoorbeeld bt = 4 bereikt is. Zo neen (N) dan wordt tot • ^ “v Tt VT^V; Cziè Fig * 3) gewacht: blok 72. Zo gauw· daarna· het naar "0"-gaan van de büs C geconstateerd wordt: blok 74 (waarbij P17 = o moet 25 zijn) (zie Fig. 3.Tp^) wordt opnieuw begonnen: teller Tt:=o (blok 76) en terug naar blok 64. Is het aantal bt = 4 bereikt, blok 70(Y) dan wordt de inhóud van het register waarin de identiteit j ingébracht is, verge-; leken met de identiteit van de betreffende module, blok 78. Is i t j •dan is deze niet als slaaf bestemd en eindigt het interruptprogramma: 30 END, blok 82 (= blok 58 van Fig. 11). Is i = j wel gelijk dan is die module als slaaf gekozen en zal de transferoperatie TOP uitgevoerd worden, blok 80 (blok 56, · Fig.11). Daarna volgt weer blok 82, END.
Er blijkt hier dus dat voor slaafselectie elke andere bron en ontvanger dan de meester zelf geïnterrumpeerd wordt en gedwongen is om 35 de identiteitsvergelijking te doen. Dit kost veel tijd: de bronnen en ontvangers die bemerken dat i i- j zijn vergeefs geïnterrumpeerd en hebben dus een "overbodige" onderbreking van hun hoofdprogramma. Dit nadeel kan ondervangen worden door een zogenaamd voorwaardelijk-interrupt-me- 800 2 3 40 ΡΗΝ 9736 25 chanisme aan te brengen. Hiermee u/ordt zonder directe interrupt van de processor zelf eerst de identiteitsvergelijking gedaan. Is inderdaad i = j dan volgt er een interrupt van de processor zelf. Genoemdvoorwaarde-lijk-interrupt-mechanisme is beschreven in de eerder door dezelfde aan-5 vraagster ingediende octrooiaanvrage 79Q7179 (PHN 9589), eerste in- dieningsdatum 27 september 1979 en is op een voor de vakman voor de hand ligggende wijze aan te passen om in het systeem van de onderhavige aanvrage gebruikt te kunnen worden om de slaafselectie te verzorgen.
In Fig. 13 is een stroomdiagram van het bus "gereed"? onder- 10 zoek (dat is het blok 44 van Fig. 10) getoond. In dit voorbeeld met de digitale signaalprocessor zijn hiermee de genoemde middelen HS die dus geprogrammeerde functiemiddelen zijn, aangegeven. Het begin, is met SRT door REQ (zie Fig. 10) blok 84 aangeduid. In blok 86 worden de interruptingang(en) buiten werking gesteld: DABINT. Hiermee wordt voor-15 komen dat een module geïnterrumpeerd wordt als deze zelf een actie tot het uitbrengen van een verzoek doet. In blok 88 wordt de tijd. gereset: Tt = 0 dit gebeurt door het resetten van een teller CR naar 0 (CR:=0). In blok 90 wordt gekeken of de lijn C die over klem P17 binnenkomt niveau "1" heeft. Zo neen (N) dan is de bus bezet en wordt weer een poging gedaan 20 door terug te gaan naar blok 88. Is in blok 90 P17=l (Y) dan wordt de teller CR door middel van de kloksignaalgever voor die module Mi met een opgehoogd CR: =CR+1 (blok 92).-In blok 94- wordt dan-gekeken of de tel- lerstand CR=a^ bereikt is. Deze a^. is hier dus weer de tijdsfactor a^ als boven reeds vermeld is. Is CR=a^ dan betekent dat Tt=a^.Tci= 25 T^, de zogenaamde eerste tijdsduur. Blok 94 bevat dus de eerste detectie- uitvoerende middelen: FDETM-voor de eerste tijdsduur T^. Is die stand ^=aAi no^ Μ dan wordt naar blok 90 teruggekeerd. Is a^ bereikt dan is die module op zich gered voor de actie. Er wordt in blok 96 de bittteller bt op 0 gezet: bt:=G, verder wordt gekeken, (blok 98) 30 of de lijn C nog steeds "1" voert en dus bezet, dat wil hier zeggen "dus gereed" aanduidt. Als hier lijn C en dus P17=Q is (N van blok 98) dan is de "bus gereed" en kan de volgende actie beginnen. Zolang C=1 blijft in blok 98 (Y) wordt de teller CR-*CR+1 (blok 100). In blok 102 wordt gekeken of de stand CR = a^ bereikt is. Hier geldt indien (Y) dat Tt = 35 TB. = agTci. Blok 102 bevat dus de tweede detectie-uitvoerende middelen SDETM., Die stand a^ zal dus als systeem constante in het geheugen van de processor opgenomen zijn (evenals bovengenoemde a^, die echter een gegeven van het module Mi zelf is). Isdband a^ bereikt (Y) dan kan de volgen- Κ V » t t PHN 9736 26 de actie dus ingegaan worden. Zolang die stand niet bereikt (N) is, wordt naar 98 teruggekeerd. Er wordt weer gekeken of inmiddels C r P17 al "0" geworden is. Dat kan intussen gebeurd zijn, omdat in een andere module zijn tweede tijdsduur inmiddels verstreken is. Zo ja (dat be-5 tekent hier N) dan is deze actie "bus gereed'1 beëindigd. (Punt 103 in Fig. 13). Zo neen, dat wil zeggen P17=l (Y) dan wordt CR weer met één opgehoogd etc. De lijn "IND" in Fig. 13 betreft dus de zogenaamde inductie. De teller CR loopt niet verder tot ag als eerder een andere module zijn tijd T^. = ag.Tcj bereikt heeft en dit kenbaar maakt door 10 C=0=P17 te maken. Heeft Mi zelf inmiddels tenminste T^= a^.Ici gepas seerd dan ziet ook deze dat de bus- "gereed" is, Hiermee hebben dan alle modules die daarom verzochten (REQ) hun actie betreffende het uitbrengen van hun verzoek (start) beëindigd.. Dit is het punt (3) in Fig.
3. De bus is C = 0 niveau. De volgende actie kan. beginnen, nadat de 15 betreffende processoren, die deze C = 0 zien, zelf hun schrijfuitgang (P17 of bijv. P27) naar 0 gebracht hebben (blok 104). De volgende actie, beginnend met een startbit, betreft het op basis van prioriteits- en, of identiteitsgegevens vaststellen wie de meester van het systeem wordt. In blok 104 wordt behalve de schrijfuitgang CW (P17 hier .verder genoemd, 20 vergelijk ook Fig. 8a en 8b): = 0 ook de tijd ;=Q door het terugzetten van de teller CR:=Q. De tijdtelling begint weer opnieuw. Er wordt ge-wagh.t ;to.t-Tt <=. Tli = aliï.ci verstreken is (voor het startbit), blok 106.
. · Dan-wordt door schrijfuitgang CW. (P17) het eerste databit van de identiteit en,of prioriteit afgegeven: P17:=bti (blok 108). Omcirkelde A 25 onder wijst naar omcirkelde A boven, waar het proces doorloopt. In blok 110 wordt gewacht tot Tt. = T2i verstreken is. Daarbij is CR =a2i.
Dit· is punt (5) in Fig. 3 waar de lijn C afgetast wordt ("sample"). In blok 112 wordt gezien wat er op lijn C slaat: de wired-AND van de aangeboden bits bti etc. Aangeduid met P17 = WAB. Leesingang CR (P17) 30 leest dit. Zijn alle betreffende (eerste hier) bits gelijk dan is Y van blok 112 de uitgang voor alle modules. Echter is van een of meer modules deze bit 0 en voor de andere module(s) deze bit 1 dan is voor die laatste module(s) de arbitrage verloren en komt (komen) op uitgang.N van 112. De modules dingen niet meer mee in de selectie als meester. Dit wordt per 35 bit van de identiteit en, of prioriteit afgewerkt, zodat uiteindelijk een als meester overblijft. Na N van blok 112 word(t)(en) van de modu-le(s) dan in blok 114 weer de interrupt(s) gedeblokkeerd en zijn weer aanspreekbaar : (enabled) EABINT. Daarmee zijn voor deze module(s) de 800 2 3 46 ***» PHN 9736 27 acties tot het tot stand brengen van een communicatieverbinding (als meester dus) op niets uitgelopen en bereikt(en) deze de situatie N van blok 44 (Fig. 10), zoals in blok 116 van Fig. 13 aangegeven is.
Voor de modules die nog niet uit het selectieproces zijn, gaat 5 het via Y van 112 verder: de bitteller wordt een stand opgehoogd bt-*bt+l (blok 118). In blok 120 wordt gekeken of het maximum aantal prioriteits-èn, of identiteitsbits (bt max.+l) al bereikt is. Zo ja (Y) dan is het selectieproces ten einde en is de (nu enige) module die dit punt bereikt heeft, de meester van het systeem: blok 122 geeft dit aan met Y, 44, dat 10 terugwijst naar de Y uitgang van blok 44 van Fig. 1Q:ACK. De transfer van data kan beginnen:T0P enz. van Fig. 10. Is het maximum btmax nog niet bereikt (N) blok 120, dan wordt gewacht tot Tt = T3i = a3iTci verstreken is, teller CR = a3i(blok 124). Daarmee is de bitperiode van bti verstreken en wordt door de module (Mi) de uitgang P17:=l gezet, blok 126. Dit is CW(Mi) 15 =1 na punt (6) in Fig. 3. Na een reactietijd Tt = T^.^=a^.Tci is het zeker
dat deze module Mi aan de C-lijn weer niveau C=1 over P17 als schrijfuit-gang aangeboden heeft, blok 128. Dit betreft dus de eerste tijdsduur voor deze actie met gereed-tijdfactor a^. Het proces wacht hierop in blok 128, dit bevat dus de zogenaamde eerste detectie-uitvoerende middelen FDETM
20 voor deze actie. In blok 130 wordt gekeken of de C-lijn zelf inderdaad =1 wordt door het aanbad van de 1 vanuit de schrijfuitgang CW (P17). Dit ge-: beurt over: CR (P17) als leesingang. IndienC=P17=l(Y) dan betekent dit dat nog geen module zijn tweede tijdsduur Tp- bereikt heeft. De teller CR wordt weer met één opgehoogd:CR-yCR+1, blok 132. In blok 134 wordt 25 gekeken of de bereikte CR-stand inmiddels gelijk is aan de reactietijd-factor ap. Dit betreft dus de zogenaamde tweede detectie-uitvoerende middelen SDETM voor deze actie. Is deze stand ap nog niet bereikt (N) dan wordt er opnieuw gekeken of inmiddels niet door een andere module door het door deze bereiken van die stand ap de C=P17=1 veranderd is in C=0 30 (weer blok 130 dus). Blijft C=P17=1 dan opnieuw 132 enz. Wordt intussen door een andere module C=0 gemaakt dan is N van blok 130 van toepassing: de inductie treedt op en het proces springt naar punt 103 terug. Dit is punt (8) in Fig. 3. Een volgende databit wordt aangeboden: blok 108 geeft het volgende bit bti (tweede enz.) af, dat weer via de bedrade -EN beoor-35 deeld wordt (blok 112) etc. Als geen andere module eerder ap aftelde, dan wordt op een bepaald moment in blok 134 CR=ap bereikt in de onderhavige module. Dit betekent via Y van 134 wordt dan punt 103 van het proces bereikt. Dan gaat het weer verder totdat ofwel. .........„ 800 23 46 ΡΗΝ 97J6 28 * Γ* de.module uit het selectieproces gestoten wordt: N van blok 112, ofwel de module als meester aangewezen is: Y van blok 120, dat bereikt wordt nadat de laatste bit vergeleken is en in 120 blijkt dat er niet verder geselecteerd behoeft te worden bt = btmax + 1.
5 Fig. 14 toont een blokschema van een databron en, of ontvanger bestaande uit een eerste deel DLL en een tweede deel DL2. DL2 is het deel dat de bron en, of ontvangerfunctie in zich bevat. Via een verzoekuit-gang REQ is DL1 met een verzoekingang REQ van DL2 verbonden. Via een toestemmingsingang ACK is DL1 met een toestemmingsuitgang van DL2 ver-10 bonden. DL2 bevat de genoemde middelen HS. De kloksignaalbron voor DL1 is over Cl met DL2 verbonden. DL2 is met een eerder genoemde schrijfuitgang CW en leesingang CR aan de buslijn C verbonden. DL1 is zelf met een interrupt-ingang INT en een (of eventueel twee) ingangs- resp. uit-gangsverbinding vormende lijn(en) vanuit ingang/uitgangklem(men) I/O 15 met de buslijn C verbonden. De INT heeft weer dezelfde functie als boven reeds genoemd, zie Fig. 8 etc. De I/O verbinding treedt in werking als de verbinding meester-slaaf tot stand is gebracht en de data-transfer zich volstrekt.
Het gaat er nu om- dat in DL2 de middelen HS speciaal ont-20 worpen zijn om buiten· DL1 om vast te kunnen stellen of de bus voor het afhandelen van de genoemde acties "gereed" is. Voor het verband met ..... ; ; .:wat-zich dap in het hoofdprogramma van een module Mi, waarvan DL2 deel is, afspeelt, zijn hier terugverwezen naar Fig.· 10 en.de beschrijving daarbij van in het bijzonder de gestippelde blokken 43, 48 en 50.
25 In het algemeen is het gunstig in DL2 ook de actie betreffende de meesterselectie onder te brengen.
Fig. 15 toont een gedetailleerd schema van het deel DL2 van
Fig..14.
Fig. 16 toont een tijd-bit (adres en data-inhoud) diagram be-30 horend bij Fig. 15.
In Fig. 15 is in plaats van een uitgewerkt logisch circuit-schema- met vele.logische componenten (zoals vele poorten, twee-standen elementen etc.), gekozen voor een oplossing waarbij de genoemde middelen zijrceen alleen-lees-geheugen ROM, een adresteller ADCR, een logisch-35 EN-functie-element, hier de NAND 140. Verder is in dit. voorbeeld ook voorzien dat de selectie actie in het deel DL2 aanwezige identiteits-vergelijkingsmiddelen kan plaatsvinden. Deze vergelijkingsmiddelen IDC0MP werken samen met het door de teller ADCR geadresseerde alleen-lees-ge- 80 0 2 3 46 PHN 9736 29 heugen ROM en verder een flipflop DFF en een exelusieve-OF-poort 142.
Verder is er nog een open-collector invertor 144 en een open-collector NAND 146, die beide de schrijfuitgang CW-vormen. Elementen 148 en 150 zijn verdere invertors. 141 is nog een Niet-Of-poort. De werking wordt 5 in samenhang met Fig. 16 toegelicht: Daarin staan links de adressen A(Q,....n, n+1, n+2,n+3), tijden Tt en daarmee samenhangend de tijd-' ' ' factoren a^/, a^, ali, ....ap die adresdelen van adressen A van ROM voor stellen. Rechts staan de inhouden van de geheugenplaatsen, die aan uitgangen DO,1,2,3,4,5,6 van ROM verschijnen bij een betreffende adres-to sering.
Stel er is geen verzoek: REQ=Q. Stel lijn C=G, dan is aan uitgang van poort 141 een 0 aanwezig, waarmee de CL!R=Q, dus er een uitwis van een op teller ADCR (eventueel) aanwezige stand optreedt ("clear”)·
De teller krijgt stand A (0.....n, .....)=0 en daarmee aan alle uit- 15 gangen een 0. Waren door A (....n+1, en of n+2,...) een of meer uitgangen 1 dan dus nu niet meer.
Stel er is geen verzoek: REQ=0 en stel lijn C=1 dan is eveneens aan uitgang van poort 141 een 0 aanwezig en treedt hetzelfde op: uitwis.
20 Stel er is wel een verzoek: REQ=1 en stel lijn C=Q (dus "bezet") dan is weer idem als boven.
. ;.·· Steller is een verzoek REQ=1 ên C=1 dan zijn alle ingangen ...
' . van 141 gelijk aan 0 (immers, omdat D4=0, is LD=1 en dus na invertor 150 ook een 0 aan poort 141), zodat CLR=1 en de adresteller ADCR 25 inderdaad gaat tellen. De klokpulsen over Cl (uit de module-kloksignaal-gever) worden geteld. De adressen die ADCR doorloopt A(Q), A^l), etc. leveren nog steeds voor alle D's = 0 op. Verandert lijn C=1 weer in C=0 dan "valt" de zaak weer terug: uitwis ("clear") van teller ADCR. Dit betekent de bus laat het verzoek niet toe, want hij was nog met een 30 eerdere communicatie bezet. Opgemerkt zij dat op REQ=1 in een register IDC0MP, over ingang L gestuurd, de identiteits- en/of prioriteitsgege-vens IDi van de module i opgeslagen worden. Daarna is dit register voorbereid "S" pm. op zijn klokingang £5* de inhoud naar rechts .te schuiven. Is REQ=1, C=1 en bereikt-ADCR stand a^ , waarvoor Tt=T^ 35 (vgl. Fig. 3) (de eerste tijdsduur) dan verschijnt er op uitgang D4 van ROM. een 1, hiermee wordt poort 140 voorbereid. Dat wil zeggen vanaf hier kan de^ "inductie" optreden. De teller telt inmiddels door, waarbij geen ROM uitgangen veranderen. Bereikt teller ADCR stand aB dan is tijdsduur 800 2 3 46 PHN 9736 30 ' ^ ^us tweede tijdsduur bereikt. Op deze stand wordt uitgang
Dl van ROM gelijk aan 1. Hiermee wordt over invertor 144, die een open collector heeft de lijn C = 0 gemaakt (punt (3) in Fig. 3). Dit gebeurt ook, als-vóór stand a^ er over de lijn C zelf een 0 aangeboden wordt.
5 Dit kan omdat een andere module eerder zijn Tg^ bereikte. Hiermee wordt over invertor 148 de NAND 140 geopend (immers D4 was al 1) en daarmee wordt LD = 0 zodat de teller ADCR met een stand aB gedwongen geladen wordt, (ag is op de teller ingesoldeerd en wordt op "load'^commando in de teller geladen). Hiermee is dan inductie opgetreden en zal er 10 ook Dl=l verschijnen en dus ook deze module C=0 aanbieden over. schrijf-: uitgang CW. Vervolgens wordt de startbit (stukje (3)-(4) in Fig. 3) uitgezonden: C=0 tot Tt = Tli = ali.Tci gepasseerd wordt. De teller ADCR loopt door vanaf a^. (Er treedt geen uitwis op, want D4 is weer 0 en dus is LD=1 en over invertor 150 een 0 aan een ingang van NOR 141, dat wil zeg-15 gen CLR = 1).
Op stand a^ + ali wordt-D2 = 1. Daarmee gaat poort 146 open: dat wil zeggen dat een (hoogste orde) bit van de identiteits- en, of prioriteitsgegeven IDi, die in het register IDCOMP staan, aan de lijn C wordt, afgegeven. Hier wordt dus een 1/0 als een O^r^ele lijn C geschreven.
20 (Punt (4)· in Fig. 3) . Op C treedt met bits van andere modulen de bedrade EN-functie op. Bij verder tellen tot a^ + a2i levert de ROM aan uitgang ... . ... . . D2-nog.steeds, een 1 zodat genoemd bit aangeboden, blijft. Bovendien is DO
ook 1-en. daarmee .wordt de flipflop DFF geklokt (deze was al bereid gemaakt door REQ=1). Punt (5) in Fig. 3("sample"). Op de ingang van DFF 25 staat het signaal dat aan de uitgang van de exclusieve 0f-poort 142 aanwezig is. Dit signaal is het resultaat van de exclusief-of-functie op het'bit dat van de module zelf uit IDCOMP aangeboden wordt ên het bit dat op de C-lijn staat. Dit kan hetzelfde zijn (beide 0 of beide 1), of verschillend. Indien gelijk dan staat er aan de ingang van DFF een lr zo-2Q dat aan de uitgang eveneens een 1 komt, die vastgehouden blijft tenminste zolang er geen nieuwe D0=1 verschijnt als klokkende puls. De genoemde 1 adresseert ROM op adresdeel A(n+3) =1, zodat er het totale adres A(a2i,Q, 0,1) staat. Indien de genoemde bits ongelijk zijn, komt er aan de uitgang van de DFF een 0 en wordt adresdeel A(N+3)=0. Het totale adres is 35 dan A(a2i,0,0,0). Bovenstaancfe betekent: bij gelijkheid valt de arbitrage goed uit. De module mag blijven meedoen met de arbitrage op een volgend bit. Het geheugen ROM is nu door genoemde A(N+3)=1 in een bepaald deel geadresseerd waardoor de module kanshebber blijft om meester 800 2 3 46 PHN 9736 31 te worden. Bij ongelijkheid is de arbitrage "fout" uitgevallen. De module kan nu geen meester worden,· omdat module(s) met hogere identiteits-nummer en, of prioriteit eveneens REQ=1 hebben.
Voorbeeld van arbitrage: identiteiten .Ml=01 na inversie, aanbod aan lijn 5 C 10.
identiteiten M2=10 na inversie, aanbod aan lijn ... .._ C 01. .... . ... . . · identiteiten M3=ll na inversie, aanbod aan lijn C 00.
10 Voor het hoogste orde bit geeft lijn C door bedrade EN: 0. Met de middelen IDCOMP, samen met DFF en 142 geeft dit in:.
Ml een 0 aan uitgang van DFF, daarmee A(n+3) = 0 fout.
M2 een 1 aan uitgang van DFF, daarmee A(n+3) = 1 goed.
M3 een 1 aan uitgang van DFF, daarmee A(n+3) = 1 goed.
15 Dus alleen M2 en M3 doen mee aan de verdere arbitrage (voor het tweede bit). Bij het tweede bit geldt dat er eveneens C=0 komt.
Daarmee geeft dit in M2 een 0 aan uitgang van DFF en dus A(n+3) = 0 fout. Alleen voor M3 komt er A(n+3)=1 goed. M3 is gekozen.
In het ROM gebeurt het volgende: bij "fout" wordt er in het gedeelte 20- van ROM.waarvoor adresdeel A(N+3) =0 geldt, geadresseerd bij verder lopende adresteller. In dit deel van ROM blijft steeds in ieder geval D1=D2=D3=Q. Daarmee worden geen verdere bits meer ter arbitrage aange-' boden'. CW is ‘daarmee· steeds 1 en heeft geen invloed, meer - -Door D3=0 treedt- er dus geen ACK op ten teken dat deze module geen toestemming 25 krijgt voor een datatransport als meester van het systeem.
Intussen wordt er doorgeteld op teller ADCR (alle modules; echter alleen van invloed op lijn C zijn de module(s) die nog meedoenmet de verdere arbitrage).
Teller ADCR bereikt tijd Tt=Tg^+ T3i waarbij stand a^ + a3i 30 bereikt wordt (punt (6) in Fig. 3). Hier zijn alle uitgangen DB,...6=0.
Op lijn C staat 1 niveau (stopbit na punt (5) van Fig. 3). De teller telt door naar (punt (7), Fig. 3). Daar is weer de eerste tijds duur na Tg^ bereikt. Inductie kan optreden: uitgang D4=l, waarmee poort 14Q weer voorbereid wordt. D6=l eveneens. Daarmee komt het ge-35 heugen ROM in het deel dat met adresdeel A(n+2)=1 geadresseerd wordt. Hierin zijn de stuurbits voor de behandeling, van het tweede bit van de prioriteits- en, of identiteitsgegevens opgeslagen.(In dit voorbeeld met D5 en D6 zijn er 2 =4 bits gedacht). De teller ADCR loopt verder tot- 800 2 3 46 PHN 9736 32 dat stand Sg+Sp, dat wil zeggen de tweede tijdsduur TF1=a p.Tci na Tg^ bereikt is. Daarmee is weer Dl=l (en D6 blijft 1, in verband met behandeling straks van het tweede bit). Het tweede bit wordt uit register IDCOMP geschoven en aan poort 146 klaar gezet. Tevens komt door D=1 5 0 op lijn C. Over CR levert deze een 1 aan poort 140 die reeds .voor bereid is. Er treedt weer LD=Ü op waarmee teller ADCR weer in.stand 'ag·gedwongen wordt. Vanaf .dit punt (punt (8) in Fig. 3) begint de. cyclus opnieuw vanaf stand ag. De teller telt door naar TtzTg.+Tli waar de tweede bit van de prioriteits- en, of identiteitsgegevens door poort 142 10 (door D2=l) naar lijn C gaat enz.
Indien,eerder dan teller de stand· ag+ ap. bereikt, er over lijn C een 0 over CR· gelezen wordt, wordt hierdoor reeds (inductie) ag in ADCR geladen en springt het proces door naar de nieuwe cyclus (punt (8) Fig, 3). Van hieruit volgt dus de nieuwe cyclus voor de arbitrage van het 15 volgende bit, zie boven, enz.
Wanneer een module steeds "goed" te zien krijgt,A(n+3) blijft steeds 1, dan zal aan het einde van de cyclus voor het laatste bit (hier dus vier) er op het adres A(a0 + ap ,1,1,1) op uitgang D3 = 1 staan, dat . wil zeggen ACK=1 en daarmee is die module als meester geselecteerd.
20 Het zal duidelijk zijn dat de reactietijd van de in Fig.
15 getoonde opzet klein zal zijn. Immers bij de inductie (stel Tg^ is ·;> ·.·.bereikt,·· dat..wil. zeggen. C=Q..door ,module Mj)r wordt in module. Mi ..direct ' over invertor 148, poort 140 en teller·ADCR het ROM. geadresseerd op een plaats waar Dl=l. Hiermee trekt ook deze module Mi lijn C=Q. Tp^ is 25 volledig circuitmatig bepaald. Dit in tegenstelling tot de Tp^ in voorbeeld van Fig. 13. Paar moet de geprogrammeerde digitale signaalprocessor ofwel na blok 98 (N) of ha blok 102 voor het geval T^/Tg^ en na blok 130 (N) of na blok 134 voor het geval T^/Tp^ programmastappen doorlopen om te zorgen dat er aan zijn klem CW=P17 een 0 komt te staan (blok 30 104) (en voor Tt:=0 bovendien de teller CR:=0 wordt). Dit kost meer tijd, waarmee Tp^ groter is dan in het geval dat een en ander circuitmatig verzorgd is.Om hieraan tegemoet te komen, kan er tussen de bus en de als databron en, of dataontvanger gebruikte geprogrammeerde digitale signaalprocessor een logisch niveau "gereed-bezet"-overgangsdetector aange-35 bracht worden.
In Fig. 17 is dit getoond. De detector bestaat uit een invertor 132 en een Niet-En-poort 154. De invertor 152 ontvangt signaal van buslijn C en de poort 154 van zowel de invertor 152 als van de proces- 800 2 3 46 ΡΗΝ 9736 33
* I
sar Mi (8048) De uitgang van 154 is weer met de buslijn C verbonden.
Uitgang P27 is in dit voorbeeld een klem van de processor Mi (hier de 8048) die zodanig tijdens de acties van onderhavige aanvrage gedefinieerd is dat bij CR=a^ (blok 94, FDETM) en bij CR=a^ (blok 5 128, FDETM van Fig. 13) op P27 =1 komt te staan. Daarmee gebeurt er het volgende: poort 154 is voorbereid. Stel er komt over C een 0 niveau op-invertor 152, dan wordt over 154 eveneens een 0 variaf deze-module Mi aan lijn C afgegeven. Dus: zodra na of .T^ van een,-module Mi de lijn C+Q wordt (door Mi zelf bij ^respectievelijk Tp^, maar vooral 10 door een andere module Mj bij Tg- respectievelijk Tp^.), zorgt Mi ervoor dat deze zelf ook C = 0 -maakt. Hiermee is verkleind. De klem P27 is verder gedefinieerd dat deze bij het door de processor leveren van P17:=Q (blok 104), weer 0 wordt, zodat de detector verder geen invloed uitoefent, (er wordt steeds 1 van poort 154 afgegeven).
15 Opgemerkt zij dat het vanzelfsprekend ook mogelijk is om in plaats van een klem (P27) voor dit doel te gebruiken, een oplossing te kiezen waarbij buiten de processor om de poort 154 bestuurd wordt. In Fig. 17 is dit als voorbeeld nog voor de tijdsduur Tfti getekend: binnen de streep-stip omlijning. Daar is een extra teller DETCR aangebracht die 20 bij het bereiken van-de G-stand een overdracht (carry) CY levert. De lijn waarop CY verschijnt is met poort 154 verbonden. De werking is als volgt: processorklem P16 is .gedefinieerd als de inverse wis-ingang (OLE) van de ... ^·.V·': - teller?DETCR> -waarmee.alleen tijds de-actie (P16=l) waarin- TAi een rol.· .....
' ‘speelt'·de teller niet-gewist wordt. Verder is de teller steeds, ondanks 25 besturing over LD en CK van geen betekenis en voert ook-CY=0. signaal.
Telkens als er op lijn C een Q naar 1 overgang optreedt, wordt de teller DETCR door LD=1 geladen met een waarde gelijk aan -a^, baarbij wordt, een eerder bereikte stand die bij een vorige poging om -a^- af te tellen bereikt kan zijn, overschreven. Klem TO van de processor is als klokuit-30 gang gedefinieerd en daarover bereiken telpulsen de teller DETCR die afgeteld wordt.
Lukt het om tellerstand = 0 te bereiken, dus is T^ bereikt, dan gebeurt het volgende: CY levert een overdrachtsignaal-aan poort 154 die cfaarmee voorbereid, is. Wordt door Mi zelf,- of in het bijzonder- door 35 een andere module Mj de lijn C=0 dan betekent dit over invertor 152 dat poort 154 ook een 0 voor lijn C-levert. Daarmee is dan weer de snelle reactie bereikt en dus T^ verkleind. De teller loopt zelf niet verder meer want CY=1 levert een blokkering aan de bekrachtigingsingang: ENA=1, 800 2 3 46 * *· PHN 9736 34 dus bekrachtiging =0. Waarmee dus ook CY=1 blijft. Dit duurt dan totdat deze actie beëindigd is, dat wil zeggen in dit voorbeeld dat P17:= 0· geworden is. P16 is dan weer 0 en dus cTE* = 0 dat wil zeggen de teller wordt gewist, waarmee CY weer Q wordt en poort 154 niet langer voor-5 bereid is. De detector kan verder geen invloed meer uitoefenen.
to T5 20 25 30 35 800 2 3 46

Claims (18)

1. Multi databron- en dataontvangersysteem waarbij de databron (nen) en dataontvanger(s) met een communicatiebus, die uit tenminste een overdrachtmedium, geschikt voor het transport van tenminste een logisch niveau (0 of 1) bestaat, verbonden zijn, met het kenmerk dat, 5. het systeem meerdere kloksignaalgevers met onderlinge toleranties bevat en - in bron(nen) en, of ontvanger(s) middelen (HS) aanwezig zijn waarmee voor alle bron(nen) en, of ontvanger(s) (Mi), die actief aan een, op een communicatie: betrekking hebbende actie deelnemen (actiedeelnemers), 10 vaststelbaar is of genoemde bus (C) voor het afhandelen van genoemde actie "gereed" is en waarbij genoemde middelen (HS) - eerste en tweede detectie-uitvoerende-middelen bevatten, waarmee vaststelbaar is dat gedurende een eerste respektievelijk een tweede tijdsduur (bijv. resp. Tg^) de communicatiebus voor de betreffende actie 15 gereed is, waarbij de eerste tijdsduur kleiner is dan de tweede (bijv. TAi<TBi) en deze eerste bepaald is door een gereed-tijdfactor (bijv. aAi^ van betreffende actiedeelnemer (Mi) en waarbij de tweede tijdsduur gerelateerd is aan het grootste product (R.V) van de verzameling producten (Ri.Vi)van alle potentiële actiedeelnemers, waarbij per actie-- .20 deelnemer (Mi) de producten (Ri.Vi) gevormd zijn door een tolerantie- factor (Ri) van de kloksignaalgever voor de actiedeelnemer (Mi) en een reactietijdfactor (Vi) van deze actiedeelnemer (Mi) * ' " - én waarbij*in’geval een actiedeelnemer (Mi) detecteert dat de tweede tijdsduur (TgP verstreken is, voor deze en alle verdere actiedeelne-25 mers (Mj, Mk..), die intussen tenminste gedurende hun betreffende eerste tijdsduur (TAj, TAK,..) detecteerden dat de bus (C) gereed is, de bus (C) voor het afhandelen van de betreffende actie (inderdaad) gereed is en aldus door deze actie bezetbaar is.
2. Multi databron- en dataontvangersysteem volgens conclusie 1, 30 met het kenmerk, dat de genoemde middelen (HS) ingericht zijn voor het vaststellen dat de communicatiebus (C)gereed is voor het afhandelen van een actie betreffende het uitbrengen van verzoeken (start) van meerdere actiedeelnemers (Mi) tot het tot stand brengen van een communicatieverbinding.
3. Multi databron- en dataontvangersysteem volgens conclusie 1, met het. kenmerk, dat de genoemde middelen (HS) ingericht zijn voor het vaststellen dat de communicatiebus (C) gereed is voor het afhandelen van een actie betreffende het op basis van prioriteits- en/of identiteitsgege- 800 23 46 « · a. PHN 9736 36 vens uitvoeren van een selectieprocedure tussen meerdere communicatie-verbinding-verzoekende databron(nen) en, of -ontvangers (actiedeelnemers Mi),
4. Multi databron- en dataontvangersysteem volgens conclusie 1 5 met het kenmerk dat de uit tenminste een overdrachtmedium bestaande communicatiebus per aansluitplaats van een actiedeelnemer (Mi) van een bedrade logische poortfunctie ("wired AND" of "wired OR") voorzien is.
”5. ' Multi databron- en dataontvangersysteem volgens conclusie 1 en 2 met het kenmerk dat de bus-uit een enkel overdrachtmedium bestaat 10 waarbij de minimale tweede tijdsduur (Tgj_) per potentiële actiedeelnemer (Mi) voldoet aan de uitdrukking Tg^ = ag.Tci = (R^.V).Tci, waarin Tci de periodetijdsduur van de kloksignaalgever voor deze actiedeelnemer (Mi) is·.
6. Multi databron- en dataontvangersysteem volgens conclusie 1 15 en 3 met het kenmerk dat de bus uit een enkel overdrachtmedium (C) bestaat en waarbij de minimale tweede tijdsduur (Tr.) per potentiële actie- *1 4 deelnemer (Mi) voldoet aan de uitdrukking Tp^= ap.Tci = (R ,V).Tci, waarin Tci de periodetijdsduur van de kloksignaalgever voor deze actiedeelnemer (Mi) is. 20
.7. Multi databron- en dataontvangersysteem volgens· conclusie 1 en 2 met het kenmerk dat de bus uit twee overdrachtmedia (K, D) bestaat en waarbij de minimale tweede tijdsduur (Tg^) per potentiële actiedeel-,-ï\ ···;. nemer.;(Mi·)ï>,voldoet, aan^ de uitdrukking Tg^ -· (R'v-V) .Tci , waarin. Tci. de. .. . . • periodetijdsduur van de kloksignaalgever voor deze actiedeelnemer (Mi) is.
8. Multi databron- en dataontvangersysteem volgens conclusie 1 en 3 met het kenmerk dat de bus uit twee overdrachtmedia (K,D) bestaat en waarbij de minimale tweede tijdsduur (Tp^) per potentiële actiedeelnemer (Mi) voldoet aan de uitdrukking Tp^ = (R.V).Tei, waarin Tci de periodetijdsduur van de kloksignaalgever voor deze actiedeelnemer (Mi) is.
9. Databron en, of ontvanger, ingericht om actief aan een, op een transfer betrekking hebbende actie in een systeem volgens conclusie 1 deel te nemen, met het kenmerk dat de databron en, of ontvanger tenminste een stuuringang (CR) en een stuur-uitgang (CW) bezitten en waarbij in de bron en, of de ontvanger de ge-35 noemde middelen: - over.de stuuruitgang (CW) , na vaststelling in de tweede detectie-uit-voerende middelen dat de geroemde tweede tijdsduur (bijv. V verstreken is, een op de communicatiebus logische niveau "gereed" omzetten in een lo- 800 2 3 46 PHN 9736 37 « * » ft gisch niveau "bezet", - aan de stuuruitgang (CW) eveneens het logische niveau bezet afgeven in geval over de stuuringang (CR) het door een andere actiedeelnemer op de bus geplaatste logische niveau "bezet" ontvangen is èn boven-5 dien de bron en, of ontvanger intussen zelf roet de eerste detectie- uitvoerende middelen vastgesteld heeft dat tenminste de eerste tijdsduur (bijv. T^) verstreken is, ··· ';· waarmee de bron en, of ontvanger ter deelneming aan· de afhandeling van een betreffende actie aanstuurbaar is. 1Q
10. Databron en, of ontvanger volgens conclusie 9 met het kenmerk dat het een digitale signaalprocessor is, die geprogrammeerde functie-" . middelen heeft, die genoemde middelen omvatten en waarvan een ingang als de genoemde stuuringang (CR) en een uitgang als de genoemde stuuruitgang (CW) functioneert.
11. Databron en, of dataontvanger volgens conclusie 10 met het ken merk dat voor de bron en, of ontvanger een logisch niveau "gereed"-"bezet"-overgangsdetector aangebracht is, waarmee een "gereed"-"bezet"-overgang op de communicatiebus een verkorte reactietijd voor het door de databron en, of· ontvanger zelf, als deze bovendien intussen vastgesteld heeft dat 20 tenminste de eerste tijdsduur verstreken is, afgeven van het logische niveau "bezet" aan zijn stuuruitgang (CW) oplevert.
... ..;·'; ,12·..; ... Databron en, of dataontvanger volgens conclusie 9 met het ' kenmerk dat de bron en,of ontvanger een eerste deel (DL1) en een tweede deel (DL2) omvat, welk eerste deel (DL1) in hoofdzaak de bron- en, of 25 · ontvangerfunctie inhoudt en via tenminste een verzoekuitgang (REQ) en een toestemmingsingang (ACK) met het tweede deel (DL2), verbonden is, welk-tweede deel een respectievelijke verzoekingang (REQ).en een toestemmings-uitgang (ACK) heeft en verder voorzien is van de genoemde middelen (HS) ter vaststelling of de .communicatiebus voor- het afhandelen van een op 30 een communicatie betrekking hebbende actie gereed is en waartoe het tweede deel met eerder genoemde stuuringang (CR) en stuuruitgang (CW) aan-de bus (bijv. C) verbindbaar is.
13. Databron en, of dataontvanger volgens conclusie 12 met het kenmerk dat het genoemde tweede deel (DL2) eveneens identiteitsverge- 35 lijkingsmiddelen (IDCOMP) bevat, waarmee de eigen identiteit van de databron en, of ontvanger vergelijkbaar is met een over de communicatiebus aangeboden identiteit.
14. Databron en, of ontvanger volgens conclusie 12 met het kenmerk 800 2 3 46 ' * * PHN 9736 38 dat de genoemde middelen in het tu/eede deel een alleen-lees-geheugen (ROM), een adresteller (ADCR), en een logisoh-EN-functie-element (140) omvatten, waarbij het alleen-lees-geheugen door de adresteller adresseer-baar is; de adresteller op voorwaarde bus "vrij" telt kloksignalen die o-5 ver een kloksignaalgeveringang (Cl) vanuit het eerste deel aangeboden worden nadat eerst een verzoeksignaal over de verzoekingang (REQ) is ontvangen; bij bereiken van de tellerstand die de eerste tijdsduur (bijv. T^v)'representeert,geeft het'geadresseerde alleen-lees-geheugen een uit- · gangsbit waarmee het logische EN-functie-element (140) bereid gesteld 10 wordt; bij het bereiken van de tellerstand die de tweede tijdsduur (bijv. Tg^) representeert, of zoveel eerder als over de stuuringang (CR) het bus "gereed"-signaal overgaat in bus "bezet“-signaal, waarmee dan over EN-functie-element (140) de teller (ADCR) in de tellerstand van de tweede tijdsduur (bijv. Τβ^) gedwongen wordt, levert het alleen-lees-geheugen 15 vanaf de alsdan geadresseerde plaats eveneens het logisch niveau "bezet" aan de stuuruitgang.
15. Databron en, of dataontvanger volgens conclusie 14 met het kenmerk dat het middels de adresteller (ADCR) geadresseerde alleen-lees-geheugen (ROM) in samenwerking, met de identiteitsvergelijkingsmiddelen 20 (IDC0MP) geschikt is voor het verrichten van de identiteitsvergelijking.
16. Multi databron- en dataontvangersysteem volgens conclusie 1 met het kenmerk dat de communicatiebus uit twee overdrachtmedia (K,D) be-staat, waarvan de ene als besturingsoverdrachtmedium (K) en de andere als data-bverdrachtmedium (D) dient en waarbij tenminste elke actiedeelnemer 25 (Mi) van een besturingsmediumschrijfklem en -leesklem (KW(Mi) en KR(Mi)) en van een data-overdrachtmediumschrijfklem en -leesklem (DW(Mi) en DR (Mi)) voorzien is.
17. Multi databron- en dataontvangersysteem volgens conclusie 1 met het kenmerk dat de communicatiebus uit drie overdrachtmedia bestaat, 30 waarvan twee als besturingsoverdrachtmedium (KA, KB) dienen en de derde als data-overdrachtmedium (D) dient en waarbij tenminste elke actiedeelnemer· (Mi) van besturingsoverdrachtmediumschrijfklemmen en -leesklemmen (KAW(Mi), KBW(Mi) en KAR(Mi), KBR(Mi)), en van een dataoverdrachtmedium-schrijfklem en -leesklem (DW(Mi) en DR(Mi)) voorzien zijn.
18. Multi databron- en dataontvangersysteem volgens conclusie 1 met het kenmerk dat de communicatiebus uit drie overdrachtmedia bestaat, waarvan een als besturingsoverdrachtmedium (K) dient en de twee andere als data-overdrachtmedia (DA en DB) dienen en waarbij tenminste elke 800 2 3 46 ΡΗΝ 9736 39 ** { - Μ actiedeelnemer- (Mi) van een besturingsoverdraehtmediumschrijfklem en -leesklem (KW(Mi) en KR(Mi)) en van data-overdrachtmediumschrijfklemmen en -leesklemmen (DAW(Mi), DBW(Mi) en DAR(Mi), DBR(Mi))voorzien zijn. 5 10 15 20 25 30 35 800 2 3 46
NL8002346A 1980-04-23 1980-04-23 Multi databron- en dataontvangersysteem met communicatiebus. NL8002346A (nl)

Priority Applications (12)

Application Number Priority Date Filing Date Title
NL8002346A NL8002346A (nl) 1980-04-23 1980-04-23 Multi databron- en dataontvangersysteem met communicatiebus.
GB8111624A GB2074819B (en) 1980-04-23 1981-04-13 Multi-source/receiver data processing system
CA000375726A CA1164968A (en) 1980-04-23 1981-04-16 Multi-source/receiver data processing system comprising a communication bus
AU69597/81A AU544216B2 (en) 1980-04-23 1981-04-16 Multi-source / receiver data
DE3115453A DE3115453A1 (de) 1980-04-23 1981-04-16 Datenuebertragunssystem mit mehreren datenquellen und datenempfaengern und mit kommunikationsbus
IT21288/81A IT1135779B (it) 1980-04-23 1981-04-17 Sistema elaboratore di dati dotato di piu' sorgenti ricevitori e comprendente un collettore di communicazione
US06/255,916 US4418386A (en) 1980-04-23 1981-04-20 Communication bus for a multi-source/receiver data processing system
CH2606/81A CH654126A5 (de) 1980-04-23 1981-04-21 Datenuebertragungsanlage mit mehreren an einen bus angeschlossenen teilnehmerstationen.
SE8102494A SE449801B (sv) 1980-04-23 1981-04-21 Kommunikationsbussystem
FR8107897A FR2481485B1 (fr) 1980-04-23 1981-04-21 Systeme a sources de donnees et a recepteurs de donnees multiples a bus de communication
JP5992681A JPS56169453A (en) 1980-04-23 1981-04-22 Multistation oscillation/reception machine data processor
JP1217654A JPH02180450A (ja) 1980-04-23 1989-08-25 通信装置

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
NL8002346A true NL8002346A (nl) 1981-11-16

Family

ID=19835186

Family Applications (1)

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

Country Status (11)

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

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
US5274774A (en) * 1989-01-31 1993-12-28 Wisconsin Alumni Research Foundation First-come first-serve arbitration protocol
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
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 ヤマハ株式会社 電子楽器用バスシステム
US10762011B2 (en) 2012-04-30 2020-09-01 Hewlett Packard Enterprise Development Lp Reflective memory bridge for external computing nodes
EP2845110B1 (en) * 2012-04-30 2018-10-24 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
JPS6035698B2 (ja) * 1977-10-25 1985-08-16 デイジタル イクイプメント コ−ポレ−シヨン デ−タ処理システム
US4199663A (en) * 1978-11-06 1980-04-22 The Boeing Company Autonomous terminal data communications system

Also Published As

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

Similar Documents

Publication Publication Date Title
NL8002346A (nl) Multi databron- en dataontvangersysteem met communicatiebus.
DE3788805T2 (de) Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem.
EP0141302B1 (en) Data processing system
US4385350A (en) Multiprocessor system having distributed priority resolution circuitry
DE69320508T2 (de) Verfahren und Gerät zur Busarbitrierungsdurchführung mit einem Arbiter in einem Datenverarbeitungssystem
DE3851534T2 (de) Vorrichtung und verfahren zur buszugriffssteuerung.
CN1815463B (zh) 四重抽吸总线体系结构和协议
US5412788A (en) Memory bank management and arbitration in multiprocessor computer system
EP0318221B1 (en) Controlling responding by users of an intercommunications bus
US5701413A (en) Multi-processor system with shared memory
DE3782500T2 (de) Gemeinsam genutzte speicherschnittstelle fuer datenverarbeitungsanlage.
US5142682A (en) Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
US10268604B2 (en) Adaptive resource management in a pipelined arbiter
US5644733A (en) Dual coupled partitionable networks providing arbitration logic for managed access to commonly shared busses
US5822549A (en) Computer system and bus controller for controlling access to a computer bus
US4736365A (en) Method and apparatus for controlling access to an asynchronous communication network
TWI328744B (en) Master, system and method for arbitrating access to memory device
US5193194A (en) Concurrent arbitration system and method for bus control
US20060190651A1 (en) Method and system for ordering requests at a bus interface
JP7021654B2 (ja) 通信システムおよび通信システムの通信方法
US7526595B2 (en) Data path master/slave data processing device apparatus and method
WO1996003697A1 (en) Method for semaphore communication between incompatible bus locking architectures
US5930486A (en) Method and device for gracious arbitration of access to a computer system resource
JPH0981449A (ja) 擬似デュアルポートメモリ
US6901056B1 (en) System and method for time multiplexing of multi-domain transactions

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed