DK170081B1 - Dataoverføringskredsløb - Google Patents

Dataoverføringskredsløb Download PDF

Info

Publication number
DK170081B1
DK170081B1 DK462888A DK462888A DK170081B1 DK 170081 B1 DK170081 B1 DK 170081B1 DK 462888 A DK462888 A DK 462888A DK 462888 A DK462888 A DK 462888A DK 170081 B1 DK170081 B1 DK 170081B1
Authority
DK
Denmark
Prior art keywords
data
input
address
ram
bus
Prior art date
Application number
DK462888A
Other languages
English (en)
Other versions
DK462888D0 (da
DK462888A (da
Inventor
Michael Earl Amy
Original Assignee
Ncr Corp
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 Ncr Corp filed Critical Ncr Corp
Publication of DK462888D0 publication Critical patent/DK462888D0/da
Publication of DK462888A publication Critical patent/DK462888A/da
Application granted granted Critical
Publication of DK170081B1 publication Critical patent/DK170081B1/da

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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Circuits Of Receivers In General (AREA)
  • Electronic Switches (AREA)
  • Selective Calling Equipment (AREA)
  • Microcomputers (AREA)
  • Complex Calculations (AREA)

Description

i DK 170081 B1
Opfindelsen angår dataoverføringskredsløb af den slags, hvor data overføres imellem en processor og en ydre enhed, hvor processoren har en data og en kontrolbus for overførsel af data og kommandosignaler. Dataoverførings-5 kredsløbet er af den i krav l's indledning angivne art.
EP-A-0131417 angiver en styreenhed for ydre enheder (data-link processor), og som administrerer dataoverførslen mellem en værtscomputer og ydre enheder med magnetic båndlager. Styreenheden har et buffer-RAM-lager, hvor data lagres midlertidigt ved transit, og en behandlingsenhed, der styrer dataoverførslen. En tæller lagrer tal, der repræsenterer mængden af data lagret i RAM-lagret.
15 US patent nr. 4 342 095 angiver en computerterminal, som f.eks. en videoterminal med rettefaciliteter, hvori data kan hentes fra et RAM-lager ved at adressere lagret med en programtæller i en centralbehandlingsenhed (CPU).
20 Formålet med opfindelsen er at angive et dataoverføringskredsløb af den nævnte slags, hvor data kan overføres imellem en processor og en ydre enhed på en hurtig og effektiv måde.
25 Dette opnås ifølge opfindelsen ved, at dataoverførings kredsløbet er udformet med de i krav l's kendetegnende del anviste konstruktionsmidler.
I det dataoverføringsenheden ifølge opfindelsen er 30 udformet med en adressetæller, der kan resettes, og et første og et andet register, hvormed der kan sendes kommando- og statussignaler mellem processoren- eller den ydre enhed og styreenheden, muliggøres der en høj dataoverføringshastighed mellem processoren og den ydre 35 enhed.
2 DK 170081 B1
En udførelsesform for opfindelsen vil blive beskrevet i det efterfølgende under henvisning til tegningen, hvor: ¥ fig. 1 viser et fuldstændigt blokdiagram over et compu-5 tersystem med et overføringskredsløb ifølge opfindelsen; it fig. 2A-2C, ordnet i overensstemmelse med kortet på fig.
2, viser et skematisk diagram over en første indlæse/ud-læsedel af dataoverføringskredsløbet på fig. 1? 10 fig. 3A-3F, ordnet i overensstemmelse med kortet på fig.
3, viser et skematisk diagram over en mikrocomputerstyret kontrolenhed i dataoverføringskredsløbet på fig. 1.
15 Fig. 4A-4D, ordnet i overensstemmelse med kortet på fig.
4, viser et skematisk diagram over en kommando og statusregisterdel i dataoverføringskredsløbet på fig. 1; fig. 5A-5E, ordnet i overensstemmelse med kortet på fig.
20 5, viser et skematisk diagram over en anden indlæse/udlæ- sedel i dataoverføringskredsløbet på fig. 1; og fig. 6A-6D, ordnet i overensstemmelse med kortet på fig.
6, viser et skematisk diagram over en meddelelses-RAM del 25 i dataoverføringskredsløbet på fig. 1.
Fig. 1 er et fuldstændigt blokdiagram, der viser et system med et dataoverføringskredsløb 10 ifølge opfindelsen.
30
Systemet omfatter en personlig computer (PC) 12 og en PC bus 14 forbundet til dataoverføringskredsløbet 10 ifølge opfindelsen. Overføringskredsløbet 10 er forbundet til en ydre enhed A (16) og en ydre enhed B (17) via en ekstern 35 bus 18). PC'en 12 kan være en hvilken som helst personlig computer, der er tilgængelig på markedet. Personlige computere baseret på Intel 80286 mikroprocessoren, som DK 170081 Bl 3 f.eks. IBM PC AT, foretrækkes fordi data kan overføres til overføringskredsløbet 19 ved brug af REP OUTSB instruktionen. INSB instruktionen kan anvendes til overføring fra overføringskredsløbet 10 til PC*en. Andre per-5 sonlige computere, som f.eks. dem, der er baseret på INTEL 8088/86 mikroprocessoren, kan anvendes med en simpel programsløjfe, som det senere vil blive forklaret.
PC-bussen 14 er en bi-direktional bus over hvilken adres-10 sebits, databits, kontrolbits og energi kan transmitteres. Den eksterne bus 18 kan være en hvilken som helst ekstern databus, over hvilken data transmitteres til de ydre enheder 16 og 17 og et mikroprocessorsystem. I det foreliggende system, er den eksterne bus 18 en seriel 15 bus, over hvilken data transmitteres serielt.
Et par RAM-lagre A (RAM 20) og B (RAM 21) benyttes for håndtering af dataoverførsler imellem de ydre enheder henholdsvis 16 og 17, og PC'en 12. Den eksterne bus 18 20 har en kanal A forbundet til den ydre enhed 16 og en kanal B forbundet til den ydre enhed 17. Den eksterne bus er forbundet til en dobbelt USART-enhed 145 (USART: Universal Syncronious Asyncronius Receiver Transmitter. USART-enheden 145 er forbundet til en parallel lokal 25 mikroprocessor data (MD) bus 65, hvilken er forbundet til en mikrocomputer 60 og til RAM-lagrene 20 og 21. Paralleldata fra PC-bussen 14 lagres direkte i RAM-lagrene 20 og 21 som det vil blive forklaret. Data overføres via v mikrocomputeren 60 imellem RAM-lagrene 20 og 21 og USART-30 enheden 145, som det vil blive forklaret.
Fig. 2A-2C, ordnet i overensstemmelse med kortet på fig.
2, viser et skematisk diagram for den del i overføringskredsløbet 10 på fig. 1, hvor data transmitteres imellem 35 PC*en 12 og kredsløbet 10. Fig. 2A viser hvorledes driverkredsløbene 22 og 23 er forbundet til PC-bussen 14 for modtagelse af styresignaler og adressebits fra PC’en 12.
4 DK 170081 B1
En kombineret sender/modtager 24 er forbundet til PC-bussen 14 for modtagelse af databits fra og afsendelse af databits til PCfen 12. I den anvendte nomoklatur aktiveres signaler, der begynder med et 5-tal, ved lav eller 5 nul tilstand. Derudover anvendes fabrikanternes delnumre * i det skematiske diagram. Et adresseaktiveringssignal (5AEN) modtages på ben 15 på driverkredsløb 22, et reset-signal (RES) modtages på ben 4, et i/o læsesignal 5 (IOR) modtages på ben 17, et i/o skriversignal (5I0W) modtages 10 på ben 2, og de mest betydende bits (A8) og (A9) af adressebittene modtages på benene, henholdsvis 11 og 13.
De første 8 adressebits (A0-A7) modtages på indgangene på driverkredsløb 23, og otte databits (D0-D7) er forbundet til side "1" på den kombinerede sender/modtager 24.
15 (5AEN)-signalet driver ledning 26, der inverteres med inverteren 27 (se fig. 2B), og som er forbundet til en indgang på en NAND-port 28 (se fig. 2C). Adressebittene (A0-A9) driver en bufferadressebus 30 (BA) (se fig. 2B og 2C) i kredsløbet 10. Kontrolsignalerne RES, 5I0R og 510W 20 transmitteres over PC-kontrolbus (5P CTRL) 32. 5P CTRL-bussen 32 omfatter reset-signaler (5PCRES) udledt fra RES signalet, et PC-læssignal (FPCRD) fra 5I0R-signalet, og et PC-skrivsignal (5PCWR) fra 5. En bi-direktional databus 34 (BD) er forbundet til side "2" på den kombinerede 25 sender/modtager 24.
Adressebittene BA3-BA8 er forbundet til første indgange på eksklusiv-OR-portene 36 og 38 (se fig. 2C), hvis andre indgange er forbundet til individuelle omskiftere i en 30 omskiftergruppe 40 på fig. 2B. En adresse for over føringskredsløbet 10 på fig. 1 sættes med omskifterne 40. Eksklusiv-OR-portene 36 oh 38 fungerer som komparatorer for sammenligning af adressen bestemt af omskifterne 49 med adressen på bittene BA3-BA8 fra BA-bussen 30. Ud-35 gangssignalet fra NAND-porten 28 går lav, når overfø ringskredsløbet 10 aktiveres af 5AEN-signalet fra fig.
2A, hvor adressen på omskifterne 40 tilpasses adressen på DK 170081 Bl 5 bittene BA3-BA8, og bitten BA9 er høj. Udgangen fra NAND-porten 28 er forbundet med en ledning 42 til aktiveringsbenene på det kombinerede sender/modtagerkredsløb 24 og en decoder 44. Pull up modstandene URI og UR2 er forbun-5 det til individuelle indgange og udgange på eksklusiv-OR-porten 36 for at hæve spændingerne på respektive bits, når de er i 1-tilstand.
Når udgangssignalet fra NAND-porten 28 er gået lav, som 10 beskrevet, aktiveres sender/modtageren 24. Transmissionsretningen for sender/modtageren 24 bestemmes af 5PCRD-signalet på ben 1, hvilket signal genereres af PC'en. Databittene D0-D7 sendes ud på BD-bussen 34, og decoderen 44 decoder værdien af bittene BA0-BA2. Et par NAND-porte 15 46 og 48 på fig. 2C har deres første indgange forbundet til 5P CTAL-bussen 32 for modtagelse af 5PCWR-signalet, og deres andre indgange forbundet til benene 14 og 11 på decoderen 44 via lederne 50 og 51.
20 Når værdien på indgangene af decoderen 44 er lig med nul etableres et kommandostatus-A (5CMDSTSA)-signal på en leder 52; når værdien er lig med 1 og 5PCWR-signalet er etableret, etableres et RAM-set A (RRSETA)-signal på en leder 53; når værdien er lig med 2, etableres et RAM-A 25 (5RRAMA)-signal på en leder 54; når værdien er lig med 3, etableres et kommandostatus-B (5CMDSTSB)-signal på en leder 55; når værdien er lig med 4 og 5PCWR-signalet er etableret, etableres RAM-set B (RRSETB)-signalet på en leder 56; og når værdien er lig med 5, etableres et RAM-B 30 (5RRAMB)-signal på en leder 57.
Fig. 3A-3F, ordnet i overensstemmelse med kortet på fig.
3, viser et skematisk diagram over mikrocomputerkontroldelen i overføringskredsløbet på fig. 1. På fig. 3B ses 35 mikrocomputeren 60, der styrer funktionen af overføringskredsløb 10, hvilken mikrocomputer 60 blev diskuteret i forbindelse med fig. 1. Mikrocomputeren 60 kan være en 6 DK 170081 B1 vilkårlig mikroprocessor,. f.eks. en Intel 8031 mikrocomputer. Mikrocomputeren 60 har fire porte (PORTOPORTS) for kontrol- og datasignaler. PORTO modtager og transmitterer 8 databits (MD0-MD7) fra MD-bussen 65 på 5 fig. 3F, eller transmitterer de otte mindst betydende adressebits (MA0-MA7) til et ROM-lager 62. ROM-lagret 62 indeholder instruktioner for styring af mikrocomputeren 60. De otte mest betydende adressebits (MA8-MA15) for ROM-lagret 62 transmitteres via PORT2 i mikrocomputeren 10 60. Et register 63 er forbundet til PORTO i mikrocompute ren 60 for fastholdelse af de otte mindste adressebits MA0-MA7, således at PORTO kan benyttes både for transmission af adressebits og for modtagelse af databits. Adressebittene ΜΆ0-ΜΆ15 placeres på mikrocomputeradresse-15 bussen 64 (MA), og udgangssignalerne (MD0-MD7) fra ROM-lagret 62 er forbundet til MD-bussen 65. MD-bussen 65 er forbundet til side "2" på en sender/modtager 66, hvis anden side "1" er forbundet til PORTO på mikrocomputeren 60. Mikrocomputeren kan således adressere ROM-lagret 62 20 via PORTO og P0RT2, og kan modtage mikroinstruktioner lagret der via MD-bussen 65 og sender/modtageren 66. Mikrocomputeren 60 kan alternativt udsende data fra PORTO over MD-bussen 65 via sender/modtageren 66.
25 Et clock-kredsløb 68 på fig. 3A frembringer clockpulser til mikrocomputeren 60 på fig. 28 og et 12 MHz clocksig-nal på en leder 69, hvilket omtales senere. Kontrolsignalerne fra den ydre bus 18 for mikrocomputeren 60 modtages af PORT3 i PORT 60 (se fig. 3B) via RS232-grænseflade-30 enheder 170, 171, 172 og 173. Afbrydelsessignaler (Interrupts) fra PC'en 12 modtages mikrocomputeren 60 via en leder 70, og afbrydelsessignaler fra de ydre enheder 16 og 17 modtages i mikrocomputeren 60 via en leder 71, som det vil blive forklaret.
Skrivekommandoer (5MWR) udsendes på en leder 72 fra ben 16 på P0RT3, læsekommandoer (5MRD) udsendes på leder 73 35 7 DK 170081 B1 fra ben 17 og P0RT3, og et programvalgsaktiveringssignal (PSEN) udsendes på en leder 74 fra ben 29 på P0RT3. Et kommandosignal CMDA modtages via en leder 75 på ben 8 på P0RT1, et kommandosignal CMDB modtages via en leder 76 på 5 ben 7 på P0RT1, et RAM-valg A (RRSELA)-signal udsendes på en leder 77 fra ben 5, et RAM-valg B (RRSELB)-signal udsendes på en leder 78 fra ben 4, et afbrydesignal (IRQ) udsendes på en leder 79 fra ben 3, et kanal-A (CHA)-signal udsendes på en leder 80 fra ben 2, og et kanal-B 10 (CHB)-signal udsendes på en leder 81 fra ben 1. Lederne 72-74 og 77-81 er forbundet til et driverkredsløb 82 på fig. 3C. Af praktiske årsager er udgangslederne for driverkredsløb 82 forsynet med samme benævnelse som indgangslederne .
15
Inverterne 83 og 84 på fig. 3D inverterer CHA-signalet til 5 CHA på lederen 78' og CHB-signalet til 5 CHB på lederen 77'. En krydsforbindelse 85 på fig. 3C har til formål at udsende interruptsignalet IRQ på den rette inter-20 ruptleder på PC-bussen 14, når der udsendes interruptsig-naler fra mikrocomputeren 60 på fig. 3B til PC'en 12 på fig. 1.
Fig. 3D viser en 0R-port 88, hvis indgange er forbundet 25 til 5P CTRL-bussen 32 for modtagelse af 5PCWR- og 5PCRD-signalerne. Udgangen fra OR-porten 88 er forbundet til AND-porte 89 og 90 for aktivering af disse, når enten 5PCWR- eller 5PVRD-signalerne er lave. Når OR-porten 88 er aktiveret og 5RRAMA-signalet på lederen 54 er lavt, 30 vil udgangen på AND-porten 89 være lav. Når OR-porten 88 er aktiveret og 5RRAMB-signalet på leder 57 er lavt, vil udgangssignalet fra AND-porten 90 være lav. Udgangssignalet fra AND-porten 89 er et PC chip select A-signal (5PCCSA) på lederen 91, og inverteres i en inverter 92 35 til et PCCSA-signal på lederen 93. Udgangssignalet fra AND-porten 90 er et PC chip select B-signal (5PCCSB) på lederen 94, og inverteres i en inverter 95 til et PCCSB- 8 DK 170081 B1 signal på lederen 96. En inverter 97 inverterer RRSELA-signalet på lederen 91 til et 5RRSELA-signal på lederen 98. En inverter 99 inverterer RRSELB-signalet på lederen 80 til et 5RRSELB-signal på lederen 100. Indgangene på en 5 AND-port 101 er forbundet til lederen 102.
Når RRSELA-signalet er lavt (dvs. når den lokale mikrocomputer 60 ikke har access til RAM A) og udgangssignalet fra AND-porten 89 er lavt (PCen 12 har access til RAM 10 A), vil PC RAM A-signalet (5PCRAMA) på lederen 102 være lavt. Indgangene på en AND-port 103 er forbundet til lederen 80 og udgangen fra AND-porten 90, og dens udgang er forbundet til lederen 104. Når RRSELB-signalet er lavt (dvs. når den lokale mikrocomputer 60 ikke har access til 15 RAM B) og udgangssignalet fra AND-porten 90 er lavt (PC’en 12 har access til RAM B), vil SRRSELB-signalet på lederen 104 være lavt.
Fig. 3C viser hvorledes OR-portene 110 og 11 frembringer 20 chipaktiveringssignaler. Indgangene på OR-porten 110 er forbundet til lederne 72 og 73 for modtagelse af 5MWR- og 5MRD-signalerne, og dens udgang er forbundet til lederen 112, der er forbundet videre til en aktiveringsindgang på en decoder 114 på fig. 3E. Decoderen 114 bliver således 25 aktiveret, når hverken 5MWR- eller 5MRD-signalerne er lave. Indgangene på OR-porten 111 er forbundet til lederne 73 og 74 for modtagelse af 5MRD- og 5PSEN-signalerne, og dens udgang er forbundet til lederen 115, der er forbundet videre til retningsaktiveringsindgangene på sen-30 der/modtageren 66. Sender/modtageren 66 aktiveres således til at transmittere mikroinstruktionsdata fra MD-bussen *- til PORTO på mikrocomputeren 60.
Decoderen 114 på fig. 3E decoder adressebittene MA14 og 35 MA15, når mikrocomputeren udfører en læse- eller skrive operation. Hvis adressen er lig med nul, afgives der et mikrocomputer-RAM A (5M CTRL)-signal på mikrocomputerkon- 9 DK 170081 B1 trol-bussen 116 (3M CTRL) på fig. 3E og 3F. Hvis adressen er lig med een genereres et mikrocomputer-RAM B (5MRRB)-signal; hvis adressen er lig med to, genereres et mikro-computerkommandostatussignal (5MDCST); og hvis adressen 5 er lig med tre, genereres et multiprotokol serielt kon-trol-chipudvælgelsessignal (5MPSC). Disse signaler benyttes ved overføring af data fra den ydre bus 18 til en af RAM-lagrene 20 eller 21 i overføringskredsløbet 10 som det vil blive forklaret senere.
10
Fig. 3F viser hvorledes ΜΑ0 bitten fra MA-bussen 64 inverteres i inverter 118, og føres videre via leder 119 som 5MA0.
Fig. 4A-4D, som ordnes som vist på fig. 4, viser et skematisk diagram over en kommando- og statusregisterdel i overføringskredsløbet 10 på fig. 1. Kommando- og statusregistrene benyttes ved overførsel af kommando- og statussignaler imellem de ydre enheder 16 og 17 og overfø-20 ringskredsløbet 10, og kommando- og statussignaler imellem PC'en 12 og overføringskredsløbet 10 som det vil blive forklaret senere. Fig. 4B viser et register 120, der lagrer otte databits BD0-BD7 fra BD-bussen 34, og placerer dem, når registret aktiveres på MD-bussen 65 for data 2g på vej fra PC'en 12 til RAM-lagret 20 i kredsløbet 10. Et register 122 lagrer otte bits kommando- og statusdata BD0-BD7 fra BD-bussen 34, og placerer dem, når registret aktiveres, på MD-bussen 65 for kommando- og statusdata på vej fra PC'en 12 til RAM-lagret B21 i kredsløbet 10. En 30 D-type flip-flop 124 frembringer et kommando-A (CMDA)-signal på lederen 75 (se fig. 38), når dette er indlæst i registret 120. En anden D-type flip-flop 125 frembringer et kommando-B (CMDB)-signal på lederen 76, hvor kommando-og statusdata er indlæst i registret 122. En 0R-port 126 35 modtager CMDA- og CMDB-signalerne, og genererer et INTO-interruptsignal på udgangen, der er forbundet til lederen 70. Lederne 70, 75 og 76 blev beskrevet tidligere i for- 10 DK 170081 B1 bindelse med fig. 3B. INTO-signalet vil således indikere overfor mikrocomputeren 60, at kommando- og statusdata er lagret i et af registrene 120 eller 122 fra PC'en 12, og CMDA- og CMDB-signalerne vil indikere overfor mikrocompu-5 teren 60, hvilket register, der indeholder nævnte data for PC en 12. Kommando- og statusregistrene benyttes til at overføre kommando- og statusdata imellem kredsløbet 10 og PC en 12, og benyttes sekundært for kontrol af RAM-lagrene 20 go 21 i stedet for at forespørge om brug af 10 RAM-lagrene 20 og 21, eller til at modtage status om den aktuelle bruger af RAM-lagrene 20 og 21.
En NAND-port 128 på fig. 4A modtager 5PCWR-signalet fra 5P CTRL-bussen 32 og 5CMDSTSA-signalet fra lederen 52 (se 15 fig. 2B), og har sin udgang forbundet til lederen 129 for indlæsning af data i registret 129 og aktivering af flip-floppen 124, således at CMDA-signalet holdes høj ved tilstedeværelse af PC-skriv signal, når RAM-lagret A er valgt. NAND-porten 130 på fig. 4A modtager MAO-bit fra 20 MA-bussen 64 og 5NCDST- og 5MRD-signaler fra 5M CTRL-bus-sen 116, og har en udgang forbundet til indgangen på en inverter 131. Udgangen fra inverteren 131 er forbundet til ben 1 på registret 120 og til reset-indgangen på flip-floppen 124. Dåta i registret 120 placeres således 25 på MD-bussen 65, når MA0-, 5MCDST- og 5MRD~signalerne er lave, og flip-floppen 124 resettes, hvorved CMDA-signalet på lederen 75 og INTO-signalet på lederen 70 deaktiveres.
NAND-portene 132 og 133 og inverteren 134 udfører lignen-30 de funktioner for overførsel af data fra BD-bussen 34 til MD-bussen 35 til MD-bussen 65 for RAM-lagret 21. Som det ses, benyttes 5MA0-signalet på lederen 119 som et indgangssignal til den ene indgang på NAND-porten 133. Tilstanden af det mindst betydende bit ΜΑ0, udsendt fra 35 PORTO i mikrocomputeren 60 på fig. 3B, bestemmer således hvorvidt registret 120 for RAM-lagret 20 eller registret 122 for RAM-lagret 21 adresseres, når data læses fra 11 DK 170081 B1 registret 120 eller 122.
Registret 136 og 137 på fig. 4C overføres på kommando- og statusdata fra MD-bussen til BD-bussen 34, registret 136 5 for RAM-lagret 20 og registret 137 for RAM-lagret 21. En NAND-port 138 aktiverer indlæsningen af data fra MD-bussen 65 i registret 136, når MA0-, 5MCDST- og 5MWR-sig-nalerne er lave. En NAND-port 140 aktiverer udlæsning af data fra registret 136 til BD-bussen 34, når 5CMDSTSA- og 10 5PCRD-signalerne er lave. En NAND-port 141 aktiverer indlæsning af data i registret 137 fra MD-bussen 65, når 5MA0-, 5MCSR- og 5MWR-signalerne er lave. En AND-port 142 aktiverer udlæsning af data fra registret 137 til BD-bussen 34, når 5CMDSTSB- og 5PCRD-signalerne er lave. Når 15 data læses fra mikrocomputeren 60 i kredsløbet 10 til PC'en 12, afgør tilstanden at det mindst betydende bit, MA0, fra PORTO i mikrocomputeren 60 på fig. 3B, hvorvidt data indlæses i registret 136 for RAM-lagret 20 eller registret 137 for RAM-lagret 21.
20
Figurerne 5A-5E, ordnet i overensstemmelse med kortet på fig. 5, viser et diagram over indlæse/udlæsedelen af overføringskredsløbet 10 for transmittering af data imellem de ydre enheder'16 og 17 og kredsløbet 10 på fig. 1 25 via mikrocomputeren 60. Indlæse/udlæsedelen omfatter USART-enheden 145 for konvertering af serielle data på den eksterne bus 18 til parallelle data på PC-bussen 14, og for konvertering af parallelle data på PC-bussen 14 til serielle data på den eksterne bus 18. Den anvendte 30 USART-enhed 145 på fig. 5D er en Intel 8274 multi-proto-kol seriel kontrolenhed (MPSC). USART-enheden 145 kan dog være en hvilken som helst af adskillige tilgængelige USART-enheder. Et antal RS232 grænsefladeenheder 148 på fig. 5A, 5C og 5E er forbundet til USART-enheden 145 som 35 vist for at transmittere data- og kontrolsignaler imellem de ydre enheder 16 og 17 på fig. 1 og USART-enheden 145. Tællerne 150 og 151 trigges af 12MCLK-signalet på lederen 12 DK 170081 B1 69 på fig. 3A, og frembringer clockpulser for USART-enhe-den 145. Logiske enheder 152 og 153 sammen med inverterne 154 og 155 modtager pulser fra tælleren 151, CHA-, 5CHA-, CHB- og 5CHB-signalerne fra mikrocomputeren 60 (se fig.
5 3B, 3C og 3D), og signalerne fra den eksterne bus 18, hvorved der frembringes RX-clockpulser for enten kanal A eller kanal B i USART-enheden 145. Funktionen af USART-enheder generelt, og Intel 8274 multi-protokol seriel kontrolenhed (MPSC) specifikt, er almindelig kendt. De 10 mindst betydende bits (MAO, MAI) fra MA-bussen 64 på fig.
3F benyttes som indgangssignaler på ben 24 og 25 (Al og AO) på MPSC-enheden 145. Som det er kendt styrer A0-ind-gangen på MPOSC-enheden 145 valget mellem kanal A eller kanal B under data- eller kommandooverførsler, og Al ind-15 gangen vælger imellem data- eller kommandoinformation-overførsier. Lederen 71 på fig. 3D er forbundet til ben 28 (INT) på MPSC-enheden 145 for transmittering af INT1-signaler fra MPSC-enheden 145 til mirkocomputeren 60 (se fig. 3B). MD-bussen 65 på fig. 3F er forbundet til benene 20 12-19 på MPSC-enheden 145 for transmittering af data- og kontrolbits. 5MPSC-, 5MRD- og 5MWR-signalerne fra 5M CTRL-bussen 116 på fig. 3F leveres til benene 23 (CS), 22 (RD) og 21 (WR) på MPSC-enheden 145. På fig. 5B ses at sender/modtageren 148 kommunikerer data imellem en RAM-25 data-bus (RRAD) 149 for RAB-lageret 20 (beskrives i forbindelse med fig. 6D) og MD-bussen 65. Sender/modtageren 148 styres med 5MRRA- og 5MRD-signaler fra 5M CTRL-bussen 116. Data kan således modtages fra den eksterne bus 18 og placeres på RRAD-bussen 149 via MPSC-enheden 145 og sen- 30 der/modtageren 148, eller data kan tages fra RRAD-bussen 149 og placeres på den eksterne bus 18, ligeledes via sender/modtageren 148 og MPSC-enheden 145. En sender/modtager 150 kommunikerer data imellem BD-bussen 34 på fig.
2A og RRAD-bussen 149 på fig. 6C. Sender/modtageren 150 35 styres af 5PCRD-signalet fra 5P CTRL-bussen 32 på fig. 3F og 5PCRRA-signalet på lederen 102 på fig. 3D. Data kan således sendes fra PC-bussen 14 til RRAD-bussen 149 via 13 DK 170081 B1 BD-bussen 34 og sender/modtageren 150, eller sendes fra RRAD-bussen 149 til PC-bussen 14, ligeledes via sender /modtageren 150 og BD-bussen 34. Sender/modtageren svarende til sender/modtagerne 148 og 150 er implemente-5 ret for kommunikation til RAM-lageret 21, men er, for at simplificere tegningen ikke vist. Disse sender/modtagere styres af 5MRRB- og 5MRD-signalerne fra 5M CTRL-bussen, 5PCRD-signalet fra 5P CTRL-bussen 32 og 5PCRRB-signalet på lederen 104.
10
Figurerne 6A-6D, ordnet i overensstemmelse med kortet på fig. 6 viser et diagram over RAM-enhed 155 på fig. 6C svarer til RAM-lageret 20 på fig. 1. Data indlæse/udlæse-benene på RAM-enheden 155 er forbundet til RRAD-bussen 15 149 som beskrevet i forbindelse med fig. 5B. Adresseter minalerne på RAM-enheden 155 er forbundet til en RAM-adressebus (RRAA) 156 for RAM-lageret 20. Adressebits for RRAA-bussen 156 tilvejebringes fra udgangene på multi-plexerne 157, 158, 159 og 160 på fig. 6B og 6C. Styresig-20 nalerne chip-vælg A (5CSA), indlæs (5WR) og udlæs (5RD) på lederne 162, 163 og 164 kommer fra udgangen på multiplexer 160 på fig. 6C. Multiplexerne 157-160 styres af SRRSELA-signalet på lederen 98 på fig. 3D. Når 5RRSELA-signalet er i dets Ό-tilstand multiplexes signalerne på 25 "0"-indgangene på multiplexeren 157-160 ud på deres respektive udgange, og når SRRSELA-signalet er i dets 1-tilstand multiplexes signalerne på "1-indgangene ud på udgangene.
30 På fig. 6A ses hvorledes tælleenheder 166 og 167 forsyner en tælleadressebus (CNTA) 168 med en tælleværdi. Tælleenhederne 166 og 167 resettes til 0 af RRSETA-signalet på lederen 53 på fig. 2C, og de inkrementeres for hver puls i PCCSA-signalet på lederen 93 på fig. 3D, hvilket signal 35 modtages på clockindgangen ben 1 på tælleenheden 166.
Idet der refereres til fig. 2A, 2B og 2C ses det, at PC’en 12 kan resette tællerne 166 og 167 til 0 ved at i 14 DK 170081 B1
adressere resetkredsløbet for adressetælleren i RAM-lage-ret 20 i kredsløbet 10, og udsende en skrivekommando (5IOW) over PC-bussen 14. Idet der refereres til fig. 3D
ses det, at hver læse- og skrivekommando (se AND-port 88) 5 adresseret til RAM-lageret 20 (se AND-port 89) vil forårsage en puls i PCCSA-signalet på lederen 93, hvilket forårsager, at tælleværdien på CNTA-bussen 168 inkrementeres med 1. Som tidligere nævnt er CNTA-bussen 168 forbundet til 1-indgangene på multiplexerne 157-159, således at 10 signalerne føres videre til RRAA-bussen, når 5RRSELA-sig-nalet på lederen 98 er i dets "1"-tilstand.
5CSA-, 5WR- og 5RD-signalerne på lederne 162, 163 og 164 på fig. 6C, multiplexes af multiplexeren 160 fra 5MCTRL-15 bussen 116, 5RRSELA-signalet er nul, og fra lederen 91 på fig. 3D og 5P CTRL-bussen når 5RRSELA-signalet er "1".
Det forstås således, at tælleværdien fra tælleenhederne 166 og 167 benyttes som RAM-adresser, når PC'en 12 læser data fra eller skriver data i RAM-enheden 155; og at en 20 værdi på MA-bussen 64 blev placeret derpå af mikrocomputeren 60, og vil blive benyttet som RAM-adresse.
Det forstås, at et kredsløb svarende til kredsløbet på figurerne 6A-6D forefindes i overføringskredsløbet 10 for 25 RAM-lageret 21 (RAM B). I et sådant kredsløb benyttes OCCSB-, RRSETB-, 5RRSELB-, 5PCCSB- og 5MMRB-signalerne i Stedet for PCSA-, RRSETA-, 5RRSELA-, 5PCCSA- og 5MMRA-signalerne.
30 I det følgende vil der blive foretaget en sammenligning imellem brugen af en RAM ifølge opfindelsen og brugen af et DMA-kontrolkredsløb (DMA; direct memory access) for PC'en 12 på fig. 1. Hvis PC'en 12 er en IBM PC AT vil det kun være nødvendigt at anvende en instruktion for at 35 overføre 4 kbyte data, nemlig en REP OYTSB-instruktion som tidligere nævnt. I dette tilfælde skal CX-parameteren være lig med 4096, og DI-parameteren skal pege på den 15 DK 170081 B1 første dataadresse i PC'ens lagersystem. En af RAM-lagrene (RAM A) skal vælges, således at dets tællere 166 og 167 stilles til nul, og RAM-enheden 155 forbindes til PC-enheden 12 som tidligere beskrevet. Ligeledes som tid-5 ligere nævnt benytter IBM PC AT en Intel 80285 mikroprocessor, der opererer med 6 MHz, hvilket resulterer i en clock-periodetid på 167 us. 80286 mikroprocessoren benytter 2 clock-perioder ved en bus-access, tilføjer en clock-periode ventetilstand for en lageraccess, og til-10 føjer en 4 clock-perioders ventetilstand for en otte-bits-bus-operation til en otte-bits-enhed. REP OUTSB-instruktionen tager således 5 plus 4n clock-perioder, hvor n er lig med det antal gange instruktionen gentages.
IBM PC AT tilføjer yderligere 1 plus 5n clock-perioder af 15 ventetilstande, hvor n er lig med det antal gange instruktionen gentages. Overførelsen af 4 kbyte RAM-bufferdata tager således (6+9) X 4096 clock-perioder eller 6,16 ms. Et IBM PC AT styrekredsløb opererer ved 3 MHz, hvilket resulterer i en clock-periodetid på 333 ns. Alle DMA 20 dataoverførsler tager 5 clock-perioder eller 1,66 ns. Overførsel af 3 kbyte data ved brug af en otte bit DMA kanal, tager derfor 1,66 με X 4096 eller 6,8 ms. For at læse eller skrive i et RAM-lager ved brug af en 8088/86 baseret PC'er kræves en programsløjfe, der udføres efter 25 at passende registre er initialiseret. Programsløjfen ser således ud: READ-RAM:
INAL,DX ;DX EQUAL TO RAM PORT
30 STOSB MESSAAGE-BUFFER-IN ;DI EQUAL TO MEMORY ADDRESS LOOPREAD-RAM ;REPEAT UNTIL CS EQUAL ZERO
WRITE-RAM:
L0DSB MESSAGE-BUFFER-OUT ;SI EQUAL TO MEMORY ADDRESS 35 0UTDX,AL ;DX EQUAL TO RAM PORT
L00PWRITE-RAM ;REPEAT UNTIL CX EQUAL ZERO

Claims (6)

16 DK 170081 B1 Patentkrav : %
1. Dataoverføringskredsløb (10) for overførsel af data 5 mellem en processor (12) og en ydre enhed (16), hvor processoren (12) har en data- og styrebus (14) for transmittering af data- og kommandosignaler, hvilket dataoverføringskredsløb (10) omfatter RAM-lagerorganer (20, 155) med et flertal af adresserbare lagerlokationer beregnet 10 for lagring af data, og adresse-indgangsorganer (156) beregnet for tilførelse af adresser for nævnte lagerlokationer, når der læses data fra eller skrives data i RAM-lagerorganerne (20, 155); første indgangs-/udgangsorganer (24, 120) forbundet med data- og styrebussen (14) og med 15 nævnte RAM-lagerorganer (20, 155) for transmittering af data derimellem; andre indgangs-/udgangsorganer (145) forbundet med nævnte ydre enheder og med nævnte RAM-lagerorganer (20, 155) for transmittering af data her imellem; adresserbare organer (23, 40, 44, 46); adresse-20 tælleorganer (166/167); og styreorganer (60), kendetegnet ved, at nævnte adresserbare organer (23, 40, 44, 46) er anbragt i nævnte første indgangs-/udgangsorga-ner og er adresserbare ved databits modtaget fra nævnte data- og styrebus (14), hvilke adresserbare organer ved 25 adressering forbinder nævnte RAM-lagerorganer (20, 155) med nævnte første indgangs-/udgangsorganer (24, 120); at nævnte adressetælleorgan (166, 167) er forbundet mellem nævnte første indgangs-/udgangsorganer (24, 120) og nævnte adresseindgangsorgan (156) på nævnte RAM-lagerorganer 30 (20, 165) for at levere adresser hertil, hvilket adresse tælleorgan (166, 167) omfatter et reset-organ (53) indrettet til at fastsætte nævnte adressetælleorgan (166, 167. til en sat værdi; at inkrementeringsorganer (89, 92) er tilvejebragt mellem nævnte første indgangs-/udgangsor-35 gan (24, 120) og nævnte adressetælleorgan (166, 167) og er indrettet til sekventielt at inkrementere indholdet af nævnte adressetælleorgan (166, 167) i afhængighed af 17 DK 170081 B1 hvert læst eller skrevet kommandosignal modtaget af nævnte første indgangs-/udgangsorgan (24, 120) fra nævnte data- og styrebus (14), og at nævnte styreorgan (60) leverer adresser til adresseindgangsorganet (156) på RAM-5 lagerorganerne (20, 155) via de andre indgangs-/udgangs-organer (145); og at der findes første (120, 122) og andre (136, 137) registerorganer, og at nævnte første registerorganer (120, 122) er forbundet mellem nævnte første indgangs-/udgangsorgan (24, 120) og nævnte styre-10 organ (60) og indrettet til at transmittere kommando- og statussignaler fra nævnte processor (12) til styreorganet (60), og hvor nævnte andre registerorganer (135/137) er forbundet mellem nævnte første indgangs-/udgangsorgan (24, 120) og styreorganet (60) og indrettet til at trans-15 mittere kommando- og statussignaler fra styreorganet (60) til processoren (12).
2. Dataoverføringskredsløb ifølge krav 1, kendetegnet ved, at det omfatter multiplexorganer (157- 20 160) med en første tilstand for multiplexing af adresser fra adressetælleorganerne (166, 167) til adresseindgangsorganet (156), når data skal overføres mellem processoren (12) og RAM-lagerorganerne (20, 155), og med en anden tilstand for multiplexing af adresser fra styreorganerne 25 til adresseindgangsorganet (156), når data skal overføres mellem den nyere enhed (16) og RAM-lagerorganerne (120, 155).
3. Dataoverføringskredsløb ifølge krav 1, kende- 30 tegnet ved, at der findes første afbrydelsesorganer (126, 70) forbundet mellem nævnte første indgangs-/ud-gangsorganer (24, 120) og styreorganet (60) for at tilvejebringe et afbrydelsessignal for styreorganet (60), når processoren (12) har data, der skal skrives i RAM-lager-35 organerne (20, 155)? og andre afbrydelsesorganer (71) i nævnte andre indgangs-/udgangsorganer (145) for frembringelse af et afbrydelsessignal til styreorganet (60), når 18 DK 170081 B1 den ydre enhed (16) har data, der skal Indlæses 1 RAM-lagerorganerne (20, 155). %
4. Dataoverføringskredsløb Ifølge krav 3, kende- 5 tegnet ved, at nævnte styreorgan er en mikroprocessor (60).
5. Dataoverføringskredsløb ifølge krav 3, kendetegnet ved, at nævnte andre indgangs-/udgangsorga- 10 ner omfatter en universal synkron/asynkron sender/modta-ger (145), der er indrettet til at konvertere parallelle data fra RAM-lagerorganerne (20, 155) til serielle data for transmission til den ydre enhed (16), og til at konvertere serielle data modtaget fra den ydre enhed (16) 15 til parallelle data til RAM-lagerorganerne (20, 155).
6. Dataoverføringskredsløb ifølge krav 1, kendetegnet ved, at de adresserbare organer (23, 40, 44, 46. omfatter selektive omskifterorganer (40), der er 20 beregnet til at blive sat til en ønsket adresse. 1 Dataoverføringskredsløb ifølge krav 1, kendetegnet ved, at nævnte andre indgangs-/udgangsorganer (145) har en første kanal indrettet til at modtage 25 data fra nævnte ydre enhed (16) og en anden kanal indrettet til at modtage data fra en anden ydre enhed (17), og andre RAM-lagerorganer (21) indrettet til at lagre data fra en anden ydre enhed (17); andre adressetælleorganer for at levere adresser til nævnte andre RAM-lagerorganer 30 (21), hvilke andre adressetælleorganer omfatter reset- organer for at resette nævnte adresse leveret til en sat værdi, når reset-organerne adresseres; og at nævnte adresserbare organer (23, 40, 44, 46) omfatter decoderor-ganer (44) indrettet til at decode databits fra nævnte 35 data- og styrebus (14) for at adressere nævnte anden (RAM-lagerorgan) og nævnte andet adressetælleorgan for at overføre data mellem nævnte anden ydre enhed (17) og processoren (12).
DK462888A 1986-12-19 1988-08-18 Dataoverføringskredsløb DK170081B1 (da)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US94346386 1986-12-19
US06/943,463 US4761735A (en) 1986-12-19 1986-12-19 Data transfer circuit between a processor and a peripheral
PCT/US1987/003153 WO1988004808A1 (en) 1986-12-19 1987-12-01 Data transfer circuit
US8703153 1987-12-01

Publications (3)

Publication Number Publication Date
DK462888D0 DK462888D0 (da) 1988-08-18
DK462888A DK462888A (da) 1988-08-18
DK170081B1 true DK170081B1 (da) 1995-05-15

Family

ID=25479709

Family Applications (1)

Application Number Title Priority Date Filing Date
DK462888A DK170081B1 (da) 1986-12-19 1988-08-18 Dataoverføringskredsløb

Country Status (8)

Country Link
US (1) US4761735A (da)
EP (1) EP0294420B1 (da)
JP (1) JP2519793B2 (da)
AT (1) ATE78942T1 (da)
AU (1) AU587672B2 (da)
DE (1) DE3780813T2 (da)
DK (1) DK170081B1 (da)
WO (1) WO1988004808A1 (da)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2749819B2 (ja) * 1987-10-26 1998-05-13 松下電工株式会社 共有メモリ制御方式
US4908823A (en) * 1988-01-29 1990-03-13 Hewlett-Packard Company Hybrid communications link adapter incorporating input/output and data communications technology
US5241647A (en) * 1989-10-03 1993-08-31 Winbond Electronics Corp. Method of establishing a clock in the I/O card of a personal computer
JP3190398B2 (ja) * 1991-12-24 2001-07-23 松下電器産業株式会社 データ入出力制御装置及び方法
GB2288954B (en) * 1994-04-15 1998-10-14 Vlsi Technology Inc Method and apparatus for providing programmable serial communications
EP0685803B1 (en) 1994-06-03 2001-04-18 Hyundai Electronics America Method of producing an electrical device adapter
US5577213A (en) * 1994-06-03 1996-11-19 At&T Global Information Solutions Company Multi-device adapter card for computer
US6078545A (en) * 1996-12-26 2000-06-20 Oki Electric Industry Co., Ltd. Data transfer circuit
US20030188066A1 (en) * 2002-03-28 2003-10-02 Atul Kwatra Method and apparatus to allow an external system management controller to trigger an OS controlled shutdown of a pc system through the system management bus
GB2393269B (en) * 2002-09-18 2006-01-11 Thales Plc Method and apparatus for data distribution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2813383A1 (de) * 1978-03-28 1979-10-11 Siemens Ag Datensende/-empfangs-einrichtung mit parallel/seriell- und seriell/parallel- zeichen-umsetzung, insbesondere zum datenaustausch zwischen kommunizierenden datenverarbeitungsanlagen
US4386415A (en) * 1980-05-07 1983-05-31 Burroughs Corporation Compare logic circuit for train printer-data link processor
US4390964A (en) * 1980-09-09 1983-06-28 Burroughs Corporation Input/output subsystem using card reader-peripheral controller
US4370712A (en) * 1980-10-31 1983-01-25 Honeywell Information Systems Inc. Memory controller with address independent burst mode capability
US4602331A (en) * 1983-06-30 1986-07-22 Burroughs Corporation Magnetic tape-data link processor providing automatic data transfer

Also Published As

Publication number Publication date
EP0294420B1 (en) 1992-07-29
DE3780813D1 (de) 1992-09-03
AU587672B2 (en) 1989-08-24
AU1045088A (en) 1988-07-15
DE3780813T2 (de) 1993-03-11
DK462888D0 (da) 1988-08-18
US4761735A (en) 1988-08-02
DK462888A (da) 1988-08-18
JPH01501739A (ja) 1989-06-15
JP2519793B2 (ja) 1996-07-31
ATE78942T1 (de) 1992-08-15
WO1988004808A1 (en) 1988-06-30
EP0294420A1 (en) 1988-12-14

Similar Documents

Publication Publication Date Title
EP0023568B1 (en) Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4899306A (en) Test interface circuit which generates different interface control signals for different target computers responding to control signals from host computer
US5133062A (en) RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
US4313162A (en) I/O Subsystem using data link processors
CA1083726A (en) System and method for sharing memory
US4860244A (en) Buffer system for input/output portion of digital data processing system
EP0120889B1 (en) Direct memory access peripheral unit controller
US4831514A (en) Method and device for connecting a 16-bit microprocessor to 8-bit modules
US4309755A (en) Computer input/output arrangement for enabling a simultaneous read/write data transfer
US5155810A (en) Dual FIFO peripheral with combinatorial logic circuitry
EP0241129A2 (en) Addressing arrangement for a RAM buffer controller
US4322792A (en) Common front-end control for a peripheral controller connected to a computer
KR860009351A (ko) 입출력 제어 시스템
US4293928A (en) Peripheral dependent circuit for peripheral controller
GB2171230A (en) Using 8-bit and 16-bit modules in a 16-bit microprocessor system
CA1260153A (en) Combined read/write cycle for a direct memory access controller
KR880001167B1 (ko) 외부 기억 장치 제어용 회로
DK170081B1 (da) Dataoverføringskredsløb
GB1597202A (en) Communications processor architecture
JP2539058B2 (ja) デ―タプロセッサ
KR19990071464A (ko) 범용멀티소스인터럽트구성을갖는고체데이터프로세서
GB1602422A (en) Control of processors for data processing systems
US5146584A (en) Keyboard interface system allowing a synchronous keyboard to communicate with a host processor asynchronously by manipulating the keyboard clock's state
AU613115B2 (en) Secure commodity bus
EP0023266B1 (en) High performance i/o controller for transferring data between a host processor and multiple i/o units