SE518865C2 - Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa - Google Patents

Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa

Info

Publication number
SE518865C2
SE518865C2 SE9804479A SE9804479A SE518865C2 SE 518865 C2 SE518865 C2 SE 518865C2 SE 9804479 A SE9804479 A SE 9804479A SE 9804479 A SE9804479 A SE 9804479A SE 518865 C2 SE518865 C2 SE 518865C2
Authority
SE
Sweden
Prior art keywords
data
serial
storage
bus
vector
Prior art date
Application number
SE9804479A
Other languages
English (en)
Other versions
SE9804479D0 (sv
SE9804479L (sv
Inventor
Jonas Alowersson
Patrik Sundstroem
Bertil Roslund
Original Assignee
Switchcore Ab
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 Switchcore Ab filed Critical Switchcore Ab
Priority to SE9804479A priority Critical patent/SE518865C2/sv
Publication of SE9804479D0 publication Critical patent/SE9804479D0/sv
Priority to US09/469,979 priority patent/US7016346B1/en
Publication of SE9804479L publication Critical patent/SE9804479L/sv
Publication of SE518865C2 publication Critical patent/SE518865C2/sv

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0421Circuit arrangements therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

25 '30 518 2 RAM-cellema i följd. I seriell-till-parallellomvandlaren placeras en seriell drivenhet mellan n o no o . I ' . . .ß uno. 'n' sou: o v o o o o o oo o u o :II :H oo o nu oo o on I II v en o o o 0 v o o oo oo o. inkanalen och nämnda struktur. En nackdel med detta arrangemang är att valet av relativa tidpunkter mellaniinskrivning och utläsning hos lagringsstrukturen är mycket komplicerat, och kan i värsta fall förhindra att seriell-till-parallellomvandlaren används med full kapacitet.
Detta övergripande arrangemang har också en relativt komplex struktur och är mindre flexibelt vad gäller möjliga tillämpningar av omvandlarna.
Det är följaktligen en målsättning med den föreliggande uppfinningen att övervinna nackdelarna hos de tidigare kända anordningarna.
Det är vidare en målsättningmed den föreliggande uppfinningen att tillhandahålla seriell-til1- parallellomvandlare och parallell-till-seriellomvandlare vilka har enkel struktur och är flexibla vad gäller konfigurering, vilket möjliggör deras utnyttjande i en mångfald av tillämpningar.
Sammanfattning av uppfinningen De ovarmämnda målsättningarna uppnås i en anordning för omvandling av data i seriellt format till parallellt format och data i parallellt format till seriellt format, innefattande minst en seriell datakanal, ett lagringselement associerat med varje seriell datakanal och med åtminstone en första och en andra vektor av lagringsceller med en första och andra port, varvid den första porten hos alla lagringsceller i ett lagringselement är anslutna parallellt till en databuss vilken förbinder lagringselementen med den associerade kanalen, databussen innefattande minst ett mellanlagrande element anordnat att dela nämnda databuss i avsnitt, där varje avsnitt är anslutet till den första porten hos åtminstone en lagringscell för varje vektor i nämnda lagringselement, och där medel finns för att möjliggöra överföring av data mellan nämnda buss och åtminstone en lagringscell i nämnda lagringselement via nämnda första port och för att möjliggöra överföring av data från ett bussavsnitt till ett intilliggande bussavsnitt via minst ett mellanlagrande element.
Uppfinningen består vidare i en metod för att omvandla seriella data till ett parallellt format genom att utnyttja ovannämnda anordning, inklusive att sända seriella data från varje kanal till dess associerade databuss och möjliggöra sekventiellt inflöde av data från databussen till minnescellema i en vektor i varje lagringselement i takt med en skrivcykel.
Enligt en ytterligare aspekt på uppfinningen, uppnås ovannämnda målsättningar genom en metod för att omvandla parallella data till ett seriellt format genom att utnyttja ovannämnda anordning, där metoden innefattar att man möjliggör sekventiellt utflöde av data från minnescellema i en vektor i varje lagringselement till databussen i takt med en läscykel och sändande av seriella data från varje databuss till dess associerade kanal. 10 15 20 _ß 30 518 865 3 Genom ovannämnda anordning och metoder i överensstämmelse med uppfinningen är såväl seriell-till-parallell- som parallell-till-seriellomvandling möjliga med en enkel struktur. Vidare är parallella data alltid tillgängliga, såtillvida att det alltid kan läsas ut från ett lagringselement i en seriell-till-parallellomvandlare eller skrivas in i ett lagringslement i en parallell-till- seriellomvandlare. Användandet av mellanlagringselement i databussen, vilket tillåter användandet av relativt stora datastrukturer, möjliggör också introducerandet av fördröjning mellan läsning och skrivning av på varandra följande datapaket vilket tillåter synkronisering av icke-synkroniserade kanaler.
Uppfinningen består vidare i en kommunikationsväxel för växling av röst- eller datatrafik innefattande en anordning definierad enligt ovan och arbetande enligt de ovan beskrivna metoderna.
Kortfattad beskrivning av ritningar Ytterligare syften och fördelar med den föreliggande uppfinningen kommer att framgå av den följ ande beskrivningen av de föredragna utföringsformerna vilka anges i form av exempel refererande till de bifogade ritningarna, i vilka: Fig. l schematiskt avbildar strukturen hos en seriell-till-parallellomvandlare enligt uppfinningen, Fig. 2 visar strukturen hos ett enskilt lagringselement i seriell-till-parallellomvandlaren enligt Fig. 1, Fig. 3 schematiskt illustrerar en detalj av en del av lagringselementet i Fig. 2, Fig. 4 schematiskt illustrerar lässchemat hos seriell-till-parallellomvandlaren enligt Fig. 1, Fig. 5 schematiskt illustrerar ett ytterligare lässchema hos seriell-till-parallellomvandlaren enligt Fig. 1, och Fig. 6 schematiskt visar strukturen hos en parallell-till-seriellomvandlare enligt uppfinningen.
Detaljerad beskrivning av ritningarna Fig. 1 visar schematiskt en seriell-till-parallellomvandlare 10 för omvandling av seriella data från åtta kanaler 20 till en parallell dataström. I den exemplifierande utföringsforrnen ingår omvandlaren i en telekommunikationsväxel för växling av seriella data enligt protokollet ”Asynchronous Transfer Mode” (ATM). Övriga delar av växeln visas inte i ritningarna. Varje kanal 20 sänder information formatterad i ATM-celler och omvandlaren har till uppgift att multiplexera de inkommande signalema till en parallell dataström innan ATM-cellema växlas 10 15 20 25 Mum 35 518 865 till sina tilldelade utkanaler. I den föreliggande utföringsformen är kanalerna 20 i sj älva verket 16 bitar breda, men indata anses likväl vara seriellt relativt omvandlarens 10 utgång. Termen “seriell” avses genomgående innefatta denna betydelse i detta dokument. Den parallella utdataströmmen utsänd av omvandlaren 10 är i den föreliggande utförandeforrnen till sin storlek lika med en ATM-cell. ATM-celler innefattar 53 oktetter eller 424 bitar information; sålunda omvandlas 8 16-bitars indataströmmar av omvandlaren till en parallel dataström vilken är 424 bitar bred.
Seriell-till-parallellomvandlaren innefattar ett antal temporära lagringselement 30, ett associerat med var och en av inkanalema 20. Lagringselementen 30 är parallellt anslutna till en läsförstärkare 40, varifrån en ström av 424-bitars data sänds ut. Omvandlaren 10 inkluderar även en skrivstyrenhet 100 för styrning av hur seriella data skrivs in i lagringselementen 30 och en lässtyrenhet 200 för styrning av hur parallella data läses ut ur lagringselementen 30.
Fig. 2 visar mer detalj erat strukturen hos varje lagringselement 30. I den föredragna utföringsformen innefattar varje lagringselement två vektorer 31, 32 av minnesceller vilka är organiserade i grupper 50, 50'. Enbits-minnescellerna i varje grupp skrives och läses samtidigt, enligt beskrivningnedan.
Var och en av vektorerna 31, 32 är dimensionerad så att den kan lagra en komplett ATM cell, d v s 424 bitar. l den föreliggande utföringsforrnen är huvuddelen av minnescellerna grupperade i ló-bitarsenheter 50 för att möjliggöra samtidig inmatning av 16 bitar från databussen 60. Emellertid innehåller en ATM-cell ett udda antal oktetter, varför en grupp av minnesceller i var och en av vektorerna 31, 32, benämnd 50', endast lagrar 8 bitar, d v s innehåller 8 1-bits minnesceller. Var och en av vektorema 31, 32 fylls uppifrån och ner. Av detta skäl har de inte identisk struktur. Mer specifikt avslutas den första vektom 31 med en 8- bitars grupp av minnesceller 50', medan den andra vektom börjar med en 8-bitars grupp av minnesceller. Eftersom ATM-cellema sänds på 16-bitarskanaler kan de 8 första bitarna i en ATM-cell anlända parallellt med de första 8 bitarna av den påföljande cellen. I överensstämmelse med detta mottar den sista 8-bitars cellgruppen 50' i vektom 31 de sista bitarna av den första ATM-cellen medan de 8 första bitarna av den påföljande ATM-cellen lagras i den översta cellgruppen 50' i den andra vektom 32. Vad gäller läsning och skrivning av vektorema 31, 32 kan S-bitarsgruppema 50' av minnesceller anses vara ekvivalenta med ló-bitarsgrupperna 50 av minnesceller. Följaktligen kan omvandlaren 10 anses innefatta 16 kolumner och 27 rader av grupper av minnesceller 50, 50'.
De l-bits minnesceller som bygger upp grupperna 50, 50' utgörs typiskt av "random access memory"-celler (RAM-celler) och företrädesvis statiska RAM-celler (SRAM-celler). RAM- cellema är också företrädesvis dubbelportminnen med separata in- och utportar (eller skriv- och läsportar). u I nu uu oo uu uu ,.. ,,, ,.' : :.: 000 uu.. uu z ° ' ° ' In uu ou u u u u u u nu. . 10 15 20 25 '1 30 35 518 865 0 ø nu n o. n.. 5 . Ü OI II I! I I I I O O OI De inkommande seriella kanalerna 20, vilka inte visas i Fig. 2, är var och en ansluten till en respektive databuss 60. Databussama 60 är anpassade till storleken hos den seriella kanalen, och bär i det föreliggande exemplet en 16-bitars dataström. Databussen är parallellt ansluten till inportarna, eller skrivportama, hos alla RAM-celler i båda vektorema 31, 32 (se Fig. 3) i det lagringselement 30 som är associerat med inkanalen 20. Utportarna från alla minnesceller i en rad, d v s från 16 minnesceller tvärs över hela omvandlaren visad i Fig. 1, är parallellt anslutna till läsfórstärkaren 40.
På grund av storleken hos lagringselementen 30 måste någon form av drivning finnas längs databussarna. Detta uppnås genom att placera 3 16-bitars buffertkretsar 70 på intervall längs var och en av databussama. Dessa buffertkretsar 70 visas i Fig. 2 som streckade linjer.
Buffertkretsarna 70 delar i praktiken upp databussen 60 i flera avsnitt, fyra, 61, 62, 63 och 64, i den föreliggande utföringsformen. Detta delar på motsvarande sätt i praktiken upp lagringselementen 30, med gruppema av minnesceller 50, 50' i olika avsnitt åtkomliga från databussens avsnitt 61, 62, 63, 64. Buffertkretsarna 70 låser data från ett uppströms avsnitt av databussen till det följ ande avsnittet av databussen under kontroll av skrivstyrenheten 100.
Buffertkretsama 70 är typiskt pipelineregister, och kan t ex bestå av vippor anordnade så att de låser ett 16-bitars ord till nästa bussavsnitt.
Till följd av den beskrivna strukturen, fungerar varje lagringselement som en dubbel buffert för ATM-celler, där en vektor 31, 31 kan skrivas till med data från databussen 60, medan parallella data läses ut från den andra vektom.
Skrivning av data från var och en av databussarna 60 till det motsvarande lagringselementet 30 kontrolleras av skrivstyrenheten 100. Eftersom data presenteras till alla minnesceler i lagringselementet 30 på en gång, bestämmer skrivstyrenheten 100 till vilken grupp av minnesceller 50, 50' data skall skrivas, d v s vilken grupp av inportar som skall aktiveras.
Detta visas i Fig. 2 schematiskt i form av en skrivstafettsignal 110. Skrivstafettsignalens omlopp representerar den ordning i vilken enskilda grupper av minnesceller 50, 50' addresseras.
Skrivstyrenheten 100 definierar en skrivcykel, under vilken data skrivs till en grupp av minnesceller 50, 50'. Skrivcykeln är bestämd av en inklocka som kan vara genererad av skrivstyrenheten 100 eller av en separat klockgenerator som ej visas. Frekvensen hos skrivklockan är vald så att den överensstämmer med bithastigheten hos inkanalen 20. Som exempel skulle för en bithastighet for indata på 10 Gbit/s en inklocka med frekvensen 622 MHz vara passande. Positionen hos skrivstafettsignalen 110 indikerar till vilken grupp av minnesceller 50, 50' som data skall skrivas under den innevarande cykeln. Vid slutet av en skrivcykel flyttas skrivstafettsignalen 110 från en grupp av minnesceller 50, 50' till nästa.
Buffertkretsarna 70 kontrolleras också så att de låser data från ett bussavsnitt till nästa under 10 15 20 25 . i i 30 i 1 I o 35 518 865 denna skrivcykel. Denna buffertering introducerar konsekvent en skrivcykels fördröjning på data som passerar från ett bussavsnitt 61, 62, 63, 64 till nästa.
Skrivning påbörjas först från toppen av den första vektom 31, d v s i den översta av de grupper av minnesceller 50 som är längst ifrån inkanalen 20. Därigenom finns det alltså en fördröjning på 3 skrivcykler innan de första 16 bitarna av en inkommande ATM-cell skrivs in i lagringselementet 30. Skrivstafettsignalen 110 fördröjs på samma sätt tre cykler innan den placeras i den översta gruppen av minnesceller 50 för att indikera att skrivning är aktiverad.
För varje därpå följ ande cykel flyttas skrivstafettsignalen nedåt till nästa grupp av minnesceller 50. När skrivstafettsignalen når den sista gruppen av minnesceller i detta det översta bussavsnittet 64 kommer dock de nästföljande 16 databitarna redan att finnas på bussavsnittet 63 direkt uppströms. För att förhindra att data förloras, måste data skrivas till gruppen av minnescller 50 omedelbart nedanför buffertkretsen 70 samtidigt som data skrives till gruppen omedelbart ovanför densamma. Detta representeras i Fig. 2 av de skuggade grupperna av minnesceller 50. Detsamma gäller för varje gränssnitt mellan bussavsnitten 61 , 62, 63, 64. Således placeras en skrivstafettsignal 110 i var och en av de två grupperna av minnesceller 50 angränsande till en buffertkrets 70 under samma skrivcykel. Den faktiska skrivningen av en komplett ATM-cell till minnesceller i en vektor 31 är därigenom komprimerad med tre skrivcykler. Komprimeringen av skrivningen och fördröjningen före införandet av de första bitarna i en ATM-cell i en vektor 31, 32, vilka båda är resultat av användningen av buffertkretsarna 70, betyder att tre skrivcykler finns tillgängliga mellan skrivningarna av varje ATM-cell. Det kommer att framgå att fördröjningen är direkt proportionell mot antal buffertkretsar som används i databussen. Sålunda kommer en ökning av antalet buffertkretsar 70 att öka denna fördröjning, medan en miskning av antalet buffertkretsar kommer att minska fördröjningen.
När väl den ena vektom 31 har blivit fullskriven, flyttas skrivstafettsignalen 110 till den andra vektom 32, där, efter en fördröjning på tre skrivcykler, den placeras i den översta gruppen av minnesceller 50'. Skrivstafettsignalen 110 kommer att ankomma till den översta gruppen 50' i den andra vektom 32 i samma skrivcykel som de första 8 bitama av nästa ATM-cell. Efter att ha skrivit den andra ATM-cellen, återvänder skrivstafettsignalen 110 till toppen av den första vektom 31. På så sätt cirkulerar skrivstafettsignalen 110 kontinuerligt genom båda vektorema.
Noteras bör att i den andra vektorn 32 sker överföringen från ett bussavsnitt till nästa mitt i en 16-bitars grupp av minnesceller 50. För att hindra dataförlust skrivs 16-bitarsgruppen av minnesceller 50 ovanför denna delade grupp samtidigt som den nedre hälften av den delade gruppen som framgår av skuggningen i Fig. 2. I den följande cykeln skrivs den övre hälften av den delade gruppen samtidigt som 16-bitarsgruppen av minnesceller belägen nedanför den delade gruppen. oo oo oo o oo oo , oo o o Io o o o z : : :I o oo oo oo o.. fl. ,, . _. _.. .II oooo oo.
: , , .. I .- ' . .oozoo 'o o o o o o o oo oo oo o o o o o o oo 10 15 20 25 30 35 518 865 Det ovan beskrivna sekventiella flödet för skrivstafettsignalen 110 är adekvat för de flesta tillämpningar för seriell-till-parallellomvandlaren. Emellertid kan det, när den används för att multiplexera asynkrona bitströmmar såsom i en ATM-växel, vara nödvändigt att att fördröja förflyttningen eller skifta positionen hos skrivstafettsignalen 110 när växeln letar efter synkroniseringsdata. Den inbyggda fördröjningen mellan slutfórandet av dataskrivning till en vektor och påböij andet till nästa tillåter en viss flexibilitet i kontrollen av skrivstafettsignalen 110. Speciellt har skrivstyrenheten 100, när sökning efter synkroniseringsinforrnation pågår, möjlighet att korta överfóringsfördröjningen för skrivstafettsignalen 110, till exempel till en eller två cykler i stället fór tre, för att avsöka inkommande data.
Utläsning av parallella ATM-celler från omvandlaren 10 kontrolleras av lässtyrenheten 200.
Läsning sker på ett liknande sätt som skrivning i lagringselementen såtillvida att även läsningen baseras på en cirkulerande stafettsignal 210, vilken bestämmer ur vilken grupp av minnesceller 50, 50' som data skall läsas. Liksom för skrivstafettsignalen 110 representerar lässtafettsignalens 210 rörelse den ordning i vilken minnescellerna addresseras för att aktivera läsning. Detta illustreras i Fig. 4. Lässtafettsignalen 210 cirkuleras enligt en läscykel definierad av en utklocka. Utklockan kan genereras av lässtyrenheten 200 eller av en separat, ej illustrerad, klockgenerator. Lässtafettsignalen 210 markerar samtidigt alla minnesceller i en vektor 31, 32 i ett lagringelement, och flyttar därefter till nästa lagringselement 30 i nästa läscykel. I strukturen visad i Fig. 4 måste, förutsatt att bithastigheterna hos alla inkanaler är lika, åtta ATM-celler läsas ut parallellt från de första vektorema 31 i vart och ett av lagringselementen 30 under den tid det tar att skriva en ATM-cell i den andra vektom 32 i vart och ett av de åtta lagringelementen 30. Följaktligen krävs, med en inkommande bithastighet av 10 Gbit/s och en inklocka med frekvensen 622 MHz, en utklocka med frekvens omkring 188 MHz.
För att förhindra att styrenhetema 100, 200 adresserar läs- och skrivportama i samma grupp av minnesceller 50, 50' samtidigt, informeras lässtyrenheten 200 av skrivstyrenheten 100 om skrivstafettsignalens position. Läsning inleds i den vektor i vilken ingen skrivstafettsignal finns belägen. I Fig. 4 markerar lässtafettsignalen de forsta vektorema 31 i alla lagringselement sekventiellt. När väl alla forsta vektorer 31 har blivit lästa från, flyttas lässtafettsignalen från lagringselement 30 till lagringselement i de andra vektorerna 32.
Följ ande passager av lässtafettsignalen kommer att alternera mellan vektorema 31, 32.
Om skrivstafettsignalens 110 flöde ändras, till exempel medan växeln söker efter synkroniseringsdata, informeras lässtyrenheten om skrivstafettsignalens nya position. Om en sådan ändring inträffar finns emellertid risken att en skrivstafettsignal 110 flyttar sig från en vektor 31, 32 till toppen av den andra innan lässtafettsignalen 210 har fullgjort sitt omlopp genom alla lagringselement 30. Följaktligen skulle lässtyrenheten 200 kunna försöka adressera . ' ' ' 'v a ny" :- .z n. n. .. s i: 2.2 "' "" "- å ° ' " ' " I w :":" o. ' ' 0 7 ' ° ' '° 'U u u ø v . v ø u ' 10 15 20 25 30 35 518 865 u n.. ~ . u u n I . . .I Ä Å 2' , ~ 'I u v. in: 'nu a. , ,. '.. 0 :unc nu. o t u .n q nu v n :":n. n u n n - 8 - ' ' 'I II II Q I I I I I II. g samma grupp av minnesceller 50, 50' som skrivstyrenheten 100. Eftersom läscykeln är ungefär lika med 3,3 skrivcykler skulle denna överlappning kunna förekomma inom fem skrivcykler: vid slutet av en cykel, under tre cykler och i början av en cykel. Sannolikheten för en sådan konflikt begränsas genom att läscykeln delas så som visas i Fig. 5. Mer specifikt framflyttas läsningen av den övre halvan av en vektor 31, 32 en läscykel järnfört med den nedre halvan av vektom. Detta visas schematiskt med hjälp av två lässtafettsignaler 210' och 2l0", en för de övre 212 bitarna och den andra för de nedre 212 bitarna av en ATM-cell. Den övre halvan av ATM-cellen, i Fig. 5 schematiskt visad som 'A', läses på vis ut en läscykel före den Sammanhörande nedre halvan av ATM-cellen. Efter omvandlaren 10 återsamlas ATM-cellen genom att fördröja den första halvan av ATM-cellen en läscykel mer.
Det ovan beskrivna lässchemat enligt s k 'round robin'-princip, i vilket stafettsignalen flyttas från ett lagringselement 30 till ett angränsande lagringselement varje läscykel, är enkelt att implementera, t ex med hjälp av en räknare, och garanterar att data läses ut i varje läsklockcykel. Dock frmgerar inte detta schema om de inkommande kanalema har olika bithastighet, eftersom alla vektorer 31, 32 inte kommer att vara färdiga för läsning i den tilldelade läscykeln. I detta fall kommer den inklocka som associeras med varje lagringselement 30 inte att vara samma, utan kommer att vara anpassad till respektive kanals bithastighet. Läscykeln blir då anpassad till den totala bandbredden hos de inkommande dataströmmarna. För en sådan implementation blir det uppenbart att separata skrivstyrenheter 100 måste tillhandahållas fór varje lagringselement 30, där varje styrenhet 100 definierar en skrivcykel anpassad till den inkommande bithastigheten. En ensarn central lässtyrenhet 200 kan då användas för att definiera läscykeln. Lässtyrenheten 200 beräknar vilket av lagringselementen 30 som kan läsas under vilken cykel efter tillfrågande av de olika skrivstyrenheterna 100.
Det framgår av den ovanstående beskrivningen att skrivstafettsignalen 110 färdas i motsatt riktning mot dataflödet på bussen 60. Fördelen med denna konfiguration är att läs- och skrivstafettsignaler 110, 210 på ett säkert sätt kan separeras under drift. Om flödet av skrivstafettsignaler vore det omvända, d v s om skrivstafettsignalen skulle färdas från botten av en vektor 31, 32 till toppen, skulle den faktiska läscykeln bli förlängd med de sammanlagda buffertfördröjningama (3 skrivcykler) och skrivning skulle behöva ske samtidigt i båda vektorema under tre skrivcykler, vilket skulle göra lässtyrenhetens 200 uppgift betydligt mer komplicerad och i vissa fall omöjlig att fullgöra utan förlust av data. På samma sätt skulle i den delade läscykeln, beskriven med hänvisning till Fig. 5 ovan, läsningen av den nedre hälften av minnescellema i varje vektor behöva fördröjas två cykler i stället för C11. 10 15 20 25 'rm 35 518 865 9 n u | n c u.
Fig. 6 visar strukturen hos en parallell-till-seriellomvandlare 11 enligt föreliggande uppfinning. Denna omvandlare ll har i huvudsak samma struktur som seriell-till- parallellomvandlaren 10 visad i Fig. 1 med undantag av att skrivportama hos varje grupp av minnesceller 50, 50' i varje rad av minnesceller är kopplade parallellt, medan läsportama hos alla minnesceller 50, 50' är kopplade till databussen 60. Skrivning och läsning kontrolleras av styrenheter 400 och 300, varvid skrivstyrenheten 400 i parallell-till-seriellomvandlaren styr åtkomst till skrivportama hos minnescellerna på ett sätt analogt med det som lässtyrenheten 200 utövar över läsportarna i seriell-till-parallellomvandlaren 10. På samma sätt verkar lässtyrenheten 300 i parallell-till-seriellomvandlaren 11 på ett sätt analogt med skrivstyrenheten 100 i seriell-till-parallellomvandlaren 10. Liksom för seriell-till- parallellomvandlaren 10 kan parallell-till-seriellomvandlaren 11 förses med individuella lässtyrenheter 200 för varje lagringselement 30, varvid varje lässtyrenhet 200 definierar en läscykel som är anpassad till den önskade seriella bithastigheten på utkanalen 20. Med denna anordning blir skrivcykeln ungefär lika med 3,3 läscykler. I enlighet med detta går skrivstafettsignalen från kolumn till kolumn i parallell-till-seriellomvandlaren, och lässtafettsignalen (ett för varje kolurrm) rör sig sekventiellt genom kolumnerna. På ett sätt analogt med seriell-till-para]lellomvandlaren 10 färdas lässtafettsignalen i motsatt riktning mot data på databussen 60. För att förenkla styrningen är dock databussen orienterad i motsatt riktning mot den avbildad i Fig. 2, som framgår av Fig. 6. De cellgrupper 50, 50' som direkt angränsar till en buffertkrets 70 läses samtidigt så att motsvarande data når de angränsande databussavsnitten samtidigt. Buffertkretsen 70 fördröjer därefter data på det uppströms belägna bussavsnittet jämfört med data på det nedströms belägna avsnittet med en läscykel.
Styrningen av denna anordning är enkel att implementera, men det är underförstått att strukturen hos omvandlaren kan göras identisk med den visad i Fig. 2, d v s där data lämnar strukturen längst ned i Fig. 6 snarare än längst upp. Trots att denna anordning skulle göra styrningen av lässtafettsignalen något mer komplicerad, eftersom en ytterligare fördröjning skulle krävas då stafettsignalema rör sig över gränserna mellan angränsande bussavsnitt, skulle den ändå fungera utmärkt. Vidare har den den ytterligare fördelen att planlösningama för seriell-till-parallellomvandlaren och parallell-till-seriellomvandlaren blir identiska. För att undvika konflikter mellan läs- och skrivstyrenhetema 300, 400 kan skrivandet av en hel vektor 31, 32 delas upp på minst två skrivcykler såsom beskrivits med hänvisning till läscykeln i seriell-till-parallellornvandlaren 10.
I de ovan beskrivan utföringsformerna används 16-bitars seriella kanaler och en motsvarande 16-bitars databuss 60 för att erhålla en implementation för hög hastighet. Dessa prestandakrav adderar emellertid extra komplexitet till strukuren och styrningen av dessa omvandlare, särskilt för tillämpningar där paketstorleken inte är en multipel av 16, såsom för ATM.
Användandet av 8-bitars seriella kanaler och en 8-bitars databuss skulle uppenbart förenkla skriv- och lässchemana i seriell-till-parallellomvandlaren respektive parallell-till- 518 865 /O ~ o u o u uu seriellomvandlaren. Det är underförstått att strukturen hos omvandlarna kan väljas för att ge en lämplig kompromiss mellan prestanda och enkelhet att styra, beroende på tillämpning' Det skall vidare framgå att storleken hos vektorema inte behöver överensstämma med paketstorleken hos det använda protokollet, utan kan dimensioneras för att lagra endast en del av ett datapaket, eller t o m flera datapaket. Vidare, medan lagringselementen 30 i beskrivningen ovan i både seriell till parallell- och parallell till seriell-omvandlarna 10, 11 endast innefattar två vektorer, är det underförstått att tre eller fler kan tillhandahållas.

Claims (35)

1. 0 15 20 25 7-m 518 865
2. H
3. PA TENTKRA V l.
4. En anordning for omvandling av data mellan seriellt och parallellt format, innefattande åtminstone en seriell datakanal (20), ett lagringselement (30) associerat med varje seriell datakanal (20) och med åtminstone forsta och andra vektorer (31, 32) av lagringsceller (50, 50'), kärmetecknad av att varje lagringscell innefattar första och andra portar, varvid den forsta porten hos alla lagringsceller (50, 50') i ett lagringselement (30) är kopplade parallellt till en databuss (60) vilken sammankopplar lagringselementet (30) med dess associerade kanal (20), databussen (60) innefattar åtminstone en buffertkrets (70) anordnad att separera nämnda databuss i avsnitt (61-64), där varje avsnitt är kopplat till nämnda första port av åtminstone en lagringscell (50, 50') i varje vektor (31, 32) i nämnda lagringselement, och att medel (100; 300) tillhandahålls för att möjliggöra överföring av data mellan nämnda buss (60) och åtminstone en lagringscell (50, 50') i nämnda lagringselement (30) via nämnda forsta port och for att möjliggöra överföring av data från ett bussavsnitt (61-64) till ett angränsande via nämnda åtminstone en buffertkrets (70).
5. En anordning i enlighet med patentkrav 1, kännetecknad av att nämnda medel (100; 300) for möjliggörande av överföring av data mellan nämnda buss (60) och en lagringscell (50, 50') innefattar ett forsta medel för klockgenerering, där nämnda forsta klocka är anordnad att styra åtkomst till nämnda lagringscell (50, 50') och for att styra överföring av data från ett bussavsnitt (61 -64) till, nästa via nämnda buffertkrets (70).
6. En anordning i enlighet med patentkrav 2, kännetecknad av att nämnda forsta klocka är anpassad till transmissionshastigheten hos den associerade seriella datakanalen (20).
7. En anordning i enlighet med något av föregående krav, kännetecknad av att de forsta portarna hos lagringscellema (50, 50') i varje vektor (31, 32) är anpassade för Sekventiell åtkomst.
8. En anordning i enlighet med något av föregående krav, kännetecknad av att i varje vektor de forsta portarna hos lagringsceller (50, 50') placerade på ömse sidor om en buffertkrets (70) är anpassade for samtidig åtkomst.
9. En anordning i enlighet med något av föregående krav, kännetecknad av att nämnda buffertelement (70) innefattar ett pipelineregister. 10 15 20 iß "m 10. 11. 12. 13. 14. 15. 16. 518 865 12
10. En anordning i enlighet med något av föregående krav, kännetecknad av att de andra portarna hos varje lagringscell (50, 50') är kopplade parallellt tvärs över alla vektorer.
11. En anordning i enlighet med något av föregående krav, kännetecknad av att medel (200; 400) tillhandahålls för att styra åtkomst till lagringscellema (50, 50') i en vektor samtidigt via nämnda andra portar.
12. En anordning i enlighet med patentkrav 8, kännetecknad av att nämnda medel (200; 400) för styrning av åtkomst till lagringscellema innefattar ett andra medel för klockgenerering.
13. En anordning i enlighet med något av föregående krav, kännetecknad av att nämnda lagringsceller (50, 50') utgörs av tvåportade 'random access memory'-celler (RAM- celler).
14. En anordning i enlighet med något av föregående krav, kännetecknad av att varje vektor (31, 32) är dimensionerad för att lagra åtminstone ett datapaket.
15. En anordning i enlighet med något av patentkraven 1 till 10, kännetecknad av att varje vektor (31, 32)“är dimensionerad för att lagra en del av ett datapaket.
16. En anordning i enlighet med något av föregående krav, kännetecknad av att nänmda lagringsceller (5 0, 50') är anordnade att lagra mer än en bit samtidigt.
17. En anordning för omvandling av data från ett seriellt till ett parallellt format i enlighet med något av föregående krav, kännetecknad av att nämnda första port är en inport och nämnda andra port är en utport.
18. En anordning för omvandling av data från ett parallellt till ett seriellt format i enlighet med något av patentkraven 1 till 12, kännetecknad av att nämnda första port är en utport och nänmda andra port är en inport.
19. En anordning för omvandling av indata i seriellt format från åtminstone en kanal till parallellt format, innefattande åtminstone en seriell indatakanal (20), ett lagringselement (30) associerat med varje seriell datakanal (20) och med åtminstone forsta och andra vektorer (31, 32) av lagringsceller (50, 50'), kännetecknad av att varje lagringscell (50, 50') innefattar en in- och en utport, varvid inporten hos alla lagringsceller i ett lagringselement (3 0) är kopplade parallellt till en databuss (60) vilken sammankopplar lagringselementet (30) med dess associerade kanal (20), 10 15 20 25 .a 30 35 17. 18. 19. 20. 518 865 /3 nämnda databuss (60) innefattar åtminstone en buffertkrets (70) anordnad att separera r o » n c nu nämnda databuss i avsnitt (61-64), där varje avsnitt är kopplat till inporten hos åtminstone en lagringscell (50, 50') i varje vektor (31, 32) i nämnda lagringselement, och att medel (100) tillhandahålls för attmöjliggöra överföring av data från nämnda databuss till åtminstone en lagringscell (50, 50') i nämnda lagringselement (3 0) och för att möjliggöra överföring av data från ett bussavsnitt (61-64) till ett angränsande via nämnda åtminstone en buffertkrets (70) i överensstämmelse med en förbestämd incykel.
20. En anordning för omvandling av data i parallellt fonnat till seriellt format, innefattande åtminstone en seriell utdatakanal (20), ett lagringselement (3 0) associerat med varje seriell datakanal (20) och med åtminstone första och andra vektorer (31, 32) av lagringsceller (50, 50'), kännetecknad av att varje lagringscell (50, 50') innefattar en in- och en utport, varvid utporten hos lagringscellema (50, 50') i lagringselementet (3 0) är kopplade parallellt till en databuss (60) vilken sammankopplar lagringselementet med en seriell utkanal (20), nämnda databuss (60) innefattar åtminstone en buffertkrets (70) anordnad att separera nämnda databuss i avsnitt (61-64), där varje avsnitt är kopplat till utporten hos åtminstone en lagringscell (50, 50') i varje vektor i nämnda lagringselement (30), och att medel (300) tillhandahålls för att möjliggöra överföring av data från åtminstone en lagringscell (50, 50') i nämnda lagringselement (30) ut till nämnda databuss (60) och för att möjliggöra överföring av data till ett bussavsnitt (61-64) med nämnda åtminstone en buffertkrets (70) i överensstämmelse med en förbestämd utcykel.
21. En metod för omvandling av seriella data till ett parallellt format medelst anordningen i enlighet med något av patentkraven l till 14 och 16, kännetecknad av att seriella data från varje kanal (20) vidarebefodras till den associerade databussen (60) och att
22. Sekventiell inskrivning av data möjliggörs från databussen (60) till minnescellema (50, 50') i en vektor (31, 32) i varje lagringselement (3 0) i överensstämmelse med en skrivcykel.
23. En metod i enlighet med patentkrav 18, kännetecknad av att samtidig utläsning av data möjliggörs från minnescellema (50, 50') i en vektor (31, 32) i varje lagringselement (30) sekventiellt i överensstämmelse med en läscykel, där vektorema (31, 32) i vilka data läses ut och skrives in är olika.
24. En metod i enlighet med patentkrav 18, kännetecknad av att utläsningen av data från minnescellema (50, 50') i en vektor (31, 32) delas upp över åtminstone två läscykler. 10 15 20 25 30 21. 22. 23. 24. 25. 26. 27. 28. 29. 518 ses /4
25. En metod i enlighet med något av patentkraven 18 till 20, kännetecknad av att överföring av data möjliggörs från ett bussavsnitt (61-64) till ett följande bussavsnitt under varje skrivcykel.
26. En metod i enlighet med patentkrav 21, kännetecknad av att Sekventiell inskrivning av data i varje vektor (31, 32) påbörjas från det databussavsnitt (64) som är placerat längst ifrån den associerade seriella datakanalen (20).
27. En metod i enlighet med patentkrav 22, kännetecknad av att samtidig inskrivning av data till lagringscellema (50, 50') vid slutet av ett bussavsnitt (61 -64) och vid början av nästa bussavsnitt möjliggörs.
28. En metod i enlighet med något av patentkraven 18 till 23, kännetecknad av att skrivcykeln för varje lagringselement (30) anpassas till överföringshastigheten hos den associerade seriella datakanalen (20).
29. En metod i enlighet med patentkrav 24, kännetecknad av att läscykeln anpassas till den totala bandbredden hos alla seriella datakanaler (20).
30. En metod för omvandling av parallella data till ett seriellt format medelst anordningen i enlighet med något av patentkraven 1 till 13, 15 och 17, kännetecknad av att
31. Sekventiell utläsning av data möjliggörs från minnescellerna (50, 50') i en vektor (31,
32. ) i varje lagringselement (3 0) till databussen (60) i överensstämmelse med en läscykel och seriella data vidarebefodras från varje databuss (60) till den associerade kanalen (20). En metod i enlighet med patentkrav 26, kännetecknad av att samtidig inskrivning av data möjliggörs till minnescellema (50, 50') i en vektor (31, 32) i varje lagringselement (30) sekventiellt i överensstämmelse med en skrivcykel, där vektorerna (31, 32) i vilka data skrives in och läses ut är olika. En metod i enlighet med patentkraven 26 eller 27, kännetecknad av att inskrivningen av data till minnescellerna (50, 50') i en vektor (31, 32) delas upp över åtminstone två skrivcykler. En metod i enlighet med något av patentkraven 26 till 28, kännetecknad av att överföring av data möjliggörs från ett bussavsnitt (61-64) till ett följande bussavsnitt under varje läscykel. 10 15 30. 31. 32.
33.
34.
35. 518 865 /5 En metod i enlighet med patentkrav 29, kännetecknad av att sekventiell utläsning av data från varje vektor (31, 32) påbörj as från det databussavsnitt (64) som är placerat närmast den associerade datakanalen (20). En metod i enlighet med patentkrav 30, kännetecknad av att samtidig utläsning av data från lagringscellema (50, 50') vid slutet av ett bussavsnitt (61-64) och vid början av nästa bussavsnitt möjliggörs. En metod i enlighet med något av patentkraven 26 till 31, kännetecknad av att läscykeln för varje lagringselement (30) anpassas till övertöringshastigheten hos den associerade seriella datakanalen (20). En metod i enlighet med patentkrav 32, kännetecknad av att skrivcykeln anpassas till den totala bandbredden hos alla seriella datakanaler (20). En kommunikationsväxel innefattande en anordning i enlighet med något av patentkraven 1 till 17. En kornmunjkationsväxel i enlighet med patentkrav 34, kännetecknad avatt nämnda anordning arbetar i överensstämmelse med en metod i enlighet med något av patentkraven 18 till 33.
SE9804479A 1998-12-22 1998-12-22 Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa SE518865C2 (sv)

Priority Applications (2)

Application Number Priority Date Filing Date Title
SE9804479A SE518865C2 (sv) 1998-12-22 1998-12-22 Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa
US09/469,979 US7016346B1 (en) 1998-12-22 1999-12-21 Apparatus and method for converting data in serial format to parallel format and vice versa

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9804479A SE518865C2 (sv) 1998-12-22 1998-12-22 Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa

Publications (3)

Publication Number Publication Date
SE9804479D0 SE9804479D0 (sv) 1998-12-22
SE9804479L SE9804479L (sv) 2000-06-23
SE518865C2 true SE518865C2 (sv) 2002-12-03

Family

ID=20413802

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9804479A SE518865C2 (sv) 1998-12-22 1998-12-22 Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa

Country Status (2)

Country Link
US (1) US7016346B1 (sv)
SE (1) SE518865C2 (sv)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392417B2 (en) * 2003-10-06 2008-06-24 Nxp B.V. Device for exchanging data signals between two clock domains
JP2006115315A (ja) * 2004-10-15 2006-04-27 Fujitsu Ltd データ転送方法及びデータ転送装置
KR100837811B1 (ko) * 2006-11-15 2008-06-13 주식회사 하이닉스반도체 데이터 변환 회로 및 이를 이용한 반도체 메모리 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57117582A (en) 1981-01-12 1982-07-22 Sumitomo Chem Co Ltd Liquid crystal display element
JPS598428A (ja) 1982-07-06 1984-01-17 Meidensha Electric Mfg Co Ltd 時分割集合形s/p変換回路
US4720819A (en) * 1983-12-30 1988-01-19 Texas Instruments Incorporated Method and apparatus for clearing the memory of a video computer
JPS60180338A (ja) 1984-02-28 1985-09-14 Fujitsu Ltd 並直列変換方式
US4610004A (en) * 1984-10-10 1986-09-02 Advanced Micro Devices, Inc. Expandable four-port register file
US4736361A (en) * 1984-12-28 1988-04-05 Gte Laboratories Incorporated Digital switching system with two-directional addressing rams
US4719601A (en) 1986-05-02 1988-01-12 International Business Machine Corporation Column redundancy for two port random access memory
US4910731A (en) 1987-07-15 1990-03-20 Hitachi, Ltd. Switching system and method of construction thereof
DE68928543T2 (de) 1988-10-06 1998-04-23 Gpt Ltd Asynchrone Zeitvielfachvermittlungsanordnung und Verfahren zum Betrieb der Anordnung
CA2024809C (en) 1989-01-09 1994-11-01 Masanori Hiramoto Digital signal multiplexing apparatus and demultiplexing apparatus
US4924464A (en) 1989-03-13 1990-05-08 American Telephone And Telegraph Company Technique for converting either way between a plurality of N synchronized serial bit streams and a parallel TDM format
DE3922482A1 (de) 1989-07-08 1991-01-17 Standard Elektrik Lorenz Ag Schaltungsanordnung zur wortweisen seriell-parallel-wandlung
US5475680A (en) 1989-09-15 1995-12-12 Gpt Limited Asynchronous time division multiplex switching system
US5157775A (en) 1989-12-15 1992-10-20 Eastman Kodak Company Dual port, dual speed image memory access arrangement
FR2657739B1 (fr) 1990-01-26 1992-05-07 Sgc Thomson Microelectronics Sa Serialiseur/deserialiseur.
US5303200A (en) * 1992-07-02 1994-04-12 The Boeing Company N-dimensional multi-port memory
DE4323521A1 (de) 1993-07-14 1995-01-19 Sel Alcatel Ag Verfahren zum Umsetzen eines parallelisierten, zeitlich gemultiplexten Datenstroms in einzelne serielle Datenströme und umgekehrt, sowie Umsetzer dafür
CA2100729C (en) 1993-07-16 2001-01-16 Simon Skierszkan Serial bit rate converter embedded in a switching matrix
US5751724A (en) 1996-02-23 1998-05-12 Dsc Communications Corporation Demultiplexer for a multi-bitline bus

Also Published As

Publication number Publication date
SE9804479D0 (sv) 1998-12-22
US7016346B1 (en) 2006-03-21
SE9804479L (sv) 2000-06-23

Similar Documents

Publication Publication Date Title
KR100303574B1 (ko) 다중-포트 공용 메모리 인터페이스 및 관련 방법
KR0142186B1 (ko) Atm 시스템용 스위칭네트워크 및 스위칭네트워크 모듈
JP3899085B2 (ja) ネットワーク装置
US5347270A (en) Method of testing switches and switching circuit
JPH02223253A (ja) 非同期時分割多重化構成
JPH022767A (ja) パケット交換装置
US5268896A (en) Communication switching element
GB2110507A (en) Time division switching matrix
US20070140232A1 (en) Self-steering Clos switch
EP0126484B1 (en) Time switch in a time division switching network
JP2004534443A (ja) 一段スイッチの構造
AU651693B2 (en) Space/time switching element for switching network
KR960001051B1 (ko) 비동기 전송모드 통신스위치
JPH0646469A (ja) 再構成可能なスイッチメモリー
SE518865C2 (sv) Anordning och metod för omvandling av data i seriellt format till parallellt format och vice versa
EP0417083B1 (en) Communication switching element
JP3204996B2 (ja) 非同期時分割多重伝送装置およびスイッチ素子
JPH0337359B2 (sv)
SE503702C2 (sv) Signalbearbetande enhet vilken omvandlar ingående överföringshastighet till en därifrån skild utgående överföringshastighet
US5546393A (en) Asynchronous transfer mode data cell routing device for a reverse omega network
US5822316A (en) ATM switch address generating circuit
JP2000138985A (ja) クロスコネクトスイッチ
US6111899A (en) Interfacing device to replace M sets of bits out of N sets of bits, control unit and logical cell
JP2773757B2 (ja) Atmセル多重装置
JPS5917598B2 (ja) 時−時型多重時分割交換網ユニット

Legal Events

Date Code Title Description
NUG Patent has lapsed