Prosessormodul CM-X255 fra CompuLab. Funksjonelle funksjoner til prosessormoduler

En kontrollmodul, sentral prosessor eller prosesseringsenhet (CPU) forstås som en PLS-modul som utfører prosesskontroll, prosessering applikasjonsprogrammer, tilgang til perifere moduler, overvåking/kontroll av hele systemet, PLS-logikkkontrollfunksjoner og kommunikasjonsfunksjoner (informasjonsutveksling gjennom programmeringsgrensesnittet, samt for datautveksling med andre intelligente enheter i automatiseringssystemet).

Figur 2.2 - Typisk arkitektur PLC

Under drift "leser" prosessoren inngangsdata fra tilkoblede feltenheter ved hjelp av inngangsgrensesnittene, og kjører deretter kontrollprogram, som er lastet inn i minnet til prosessormodulen. Programmer utvikles vanligvis i spesielle språk PLS-programmering og må lastes inn i kontrollerens minne før den kan fungere.

Til slutt, basert på programmet, "skriver" eller oppdaterer PLS kontrollutgangene gjennom utgangsgrensesnittene. Denne prosessen, kalt en skannesyklus, utføres konstant i samme sekvens uten stopp og endres enten når visse, forhåndsbestemte hendelser inntreffer eller når det gjøres endringer i kontrollprogrammet.

Prosessormodulen inkluderer en mikroprosessor (sentral prosesseringsenhet - CPU), lagringsenheter, en sanntidsklokke og en watchdog-timer. Begrepene "mikroprosessor" og "prosessor" har nå blitt synonyme, siden alle nylig utgitte prosessorer er implementert i VLSI-form, dvs. er mikroprosessorer.

Hovedkarakteristikkene til mikroprosessoren er bitkapasiteten (PLC-er bruker 8, 16 og 32-bits mikroprosessorer), klokkefrekvens, arkitektur, tilstedeværelsen av flytepunktoperasjoner, typer støttede inngangs-/utgangsporter, driftstemperaturområde og strømforbruk.

Ytelsen til mikroprosessorer med samme arkitektur er proporsjonal klokkefrekvens. De fleste kontrollere bruker mikroprosessorer med redusert instruksjonssett (RISC - Reduced Instruction Set Computing), som bruker et stort nummer av kommandoer av samme lengde og et stort antall registre. Et redusert sett med instruksjoner lar deg bygge mer effektive kompilatorer og en prosessorpipeline som er i stand til å produsere resultatet av å utføre neste instruksjon for hver klokkesyklus.

For kontrollere som yter intensivt matematisk prosessering data, er tilgjengelighet viktig matematisk koprosessor(hjelpeprosessor som utfører flyttalloperasjoner) eller signalprosessorer der operasjoner av typen Y=A*B+X utføres i én klokkesyklus. Signalprosessorer kan øke hastigheten på konvolusjon eller rask konvertering Fourier.



Minnekapasitet bestemmer antall variabler (tagger) som kan behandles under driften av PLS. I mikroprosessorer er minnetilgangstid en av de vesentlige faktorene som begrenser ytelsen. Derfor er minnet delt inn i flere nivåer av hierarki, avhengig av bruksfrekvensen av dataene som er lagret i den og ytelse. Minnehierarki er et viktig kjennetegn ved prosessorarkitektur fordi det reduserer den negative effekten av tregt minne på mikroprosessorytelsen. Hovedtypene minne er skrivebeskyttet minne (ROM), random access memory (RAM) og registersett. Registre er de raskeste minneelementene fordi de brukes av Arithmetic Logic Unit (ALU) til å utføre elementære kommandoer prosessor. ROM brukes til å lagre informasjon som sjelden endres, som f.eks operativsystem, enhetsdrivere, bootloader, kjørbar modul for brukerprogram. RAM brukes til å lagre data som endres mange ganger under driften av kontrolleren, for eksempel tag-verdier, resultater av mellomliggende beregninger, diagnostisk informasjon, arrays vist på grafer, data for visning.

Elektrisk slettbart omprogrammerbart minne (EEPROM - "Electrically Erasable Programmable ROM") brukes vanligvis som ROM (eller ROM - "Read Only Memory"). En type EEPROM er flashminne, hvis driftsprinsipp er basert på å lagre ladning i en kondensator dannet av en flytende port og substrat til MOS-transistoren. Et trekk ved flashminnet er dets ikke-flyktighet, dvs. data beholdes når strømmen slås av. Sletting og omskriving i flashminnet utføres ikke separate celler, men i store blokker, som er grunnen til at den fikk navnet sitt, som kommer fra det engelske "flash" - "flash". Ulempen med alle ROM-er er lav ytelse.

Som RAM moderne mikroprosessorer bruk statisk minne(SRAM - Static Random Access Memory) og dynamisk (DRAM - "Dynamic Random Access Memory"), SDRAM ("Synchronous DRAM"). SRAM kjører på flip-flops, som lagrer informasjon på ubestemt tid så lenge strøm er tilgjengelig. I dynamisk minne informasjon lagres på kondensatorer og derfor krever DRAM periodisk regenerering (opplading av kondensatorer). Ulempene med triggerminne inkluderer dens høy pris, assosiert med den lave tettheten til triggerne på brikken, og det lave forholdet mellom kapasitet og pris. Fordelen er høy ytelse som når gigahertz, mens kondensatorbasert minne ikke kan fungere ved frekvenser over hundrevis av hertz. Begge typer minne (DRAM og SRAM) kan ikke beholde informasjon når strømmen tas ut av PLS-en. Derfor bruker noen typer PLS-er batteridrevet minne for å opprettholde funksjonaliteten til automatiseringssystemet etter et kort strømbrudd.

Monoblokk- og modulkontrollere bruker som regel en parallellbuss for å utveksle data med I/O-moduler, noe som gjør det mulig å øke pollinghastigheten deres med en størrelsesorden sammenlignet med en seriell buss. Parallelle busser kan være standard (ISA, PC/104, PCI, ComactPCI, VME, CXM) eller proprietære. Kontrollerens serielle buss (basert på RS-485-grensesnittet) brukes til å koble eksterne (distribuerte) I/O-moduler til den.

Watchdog timer(Watchdog Timer - WDT) er en teller som teller klokkepulser og, i normal modus, periodisk tilbakestilles (startes på nytt) av en prosessor som kjører. Hvis prosessoren fryser, sendes ikke tilbakestillingssignaler til telleren; den fortsetter å telle og, når en viss terskel er nådd, genererer det et tilbakestillingssignal for å starte den frosne prosessoren på nytt.

Sanntidsklokke(RV) representerer kvarts klokke, som drives av et batteri og derfor fortsetter å kjøre når PLS-en er slått av. PB-klokken brukes for eksempel til å styre gatebelysning avhengig av tid på døgnet, i objektsikkerhetssystemer og andre tilfeller når det er nødvendig å koble data eller hendelser til astronomisk tid.

Send ditt gode arbeid i kunnskapsbasen er enkelt. Bruk skjemaet nedenfor

Godt jobba til nettstedet">

Studenter, hovedfagsstudenter, unge forskere som bruker kunnskapsbasen i studiene og arbeidet vil være deg veldig takknemlig.

Lagt ut på http://www.allbest.ru/

Introduksjon

Prosessormodulen er en funksjonelt komplett enhet med innebygd funksjon for feilsøking av målet programvare. Den inneholder kontakter som alle kontakter til mikroprosessoren er rutet til. Prosessormodulen sikrer riktig start og initialisering av mikroprosessoren etter hard tilbakestilling. Den kan operere med eller uten kontroll fra en instrumentdatamaskin. Samspillet mellom den instrumentelle datamaskinen og prosessormodulen utføres gjennom et feilsøkingsgrensesnitt.

Modulen inneholder ikke noe uvanlig for et mikroprosessorsystem og bruker kun de mikroprosessoregenskapene som er felles for de fleste av dem. Takket være dette oppnås uavhengighet av modulstrukturen fra valg av mikroprosessor. Utvikleren inviteres til å bygge et målmikroprosessorsystem basert på en prosessormodul med innebygde feilsøkings- og oppstartsfunksjoner.

Metoden for å designe et mikroprosessorsystem ved hjelp av en feilsøkingsprosessormodul lar deg øke hastigheten og redusere kostnadene ved å utvikle målsystemet. Ved å bruke metoden kan du unngå kostnadene forbundet med å kjøpe en in-circuit emulator, ROM emulator og programmodell mikroprosessor, for å forenkle teknologien for utvikling og feilsøking av deler av målsystemet knyttet direkte til mikroprosessoren. Brukeren får umiddelbart en del av målsystemet med innebygde feilsøkings- og diagnosefunksjoner.

I ferd med å utføre dette kursprosjekt en prosessormodul vil bli designet - en uavhengig enhet som kan utføre to spesifiserte handlinger på operander. Resultatet av prosjektet vil være et enhetsdiagram som oppfyller kravene til informasjonsbehandlingssystemer.

1 . Jobb analyse

Elektronisk system som implementerer kompleks algoritme databehandling kan betinget deles inn i to funksjonelt relaterte delsystemer - en kontroll- og en driftsmaskin. Samspillet mellom disse to delsystemene er vist i fig. 1.1.

Kontrollautomaten bestemmer rekkefølgen for implementering av beregningsoperasjoner og viser et grafdiagram over operasjonen elektronisk system. Inngangsinformasjonen for kontrollautomaten er et sett med informasjonssignaler (X) og et sett med eksterne grenflagg (F), resultatet av operasjonen er et sett med tegn på mikrooperasjonene som utføres (Y).

En operativ maskin utfører beregningsoperasjoner på sine operander. Strukturelt sett består en operasjonsautomat av minneelementer (registre) som lagrer operandverdier, og kombinasjonskretser som er ansvarlige for å utføre mikrooperasjoner. Inndatainformasjonen for driftsmaskinen er datalinjene (D) og settet med mikrooperasjoner utført i en gitt syklus (Y), utdataene er resultatlinjene (R) og de genererte resultatattributtene (X) som brukes i styre maskin.

I henhold til den mottatte oppgaven er det nødvendig å implementere prosessormodul utføre algoritmer neste skritt: multiplikasjon av binære heltall uten fortegn, med utgangspunkt i de lave tallene i multiplikatoren, konvertering BCD-nummer til binær.

Figurene 1.2 og 1.3 viser GSA-handlingene som den utformede prosessormodulen må utføre.

Figur 1.2 - Multiplisere binære heltall uten fortegn, med start fra de lave ordensbitene til multiplikatoren

Figur 1.3 - Multiplikasjon av binære heltall uten fortegn, med utgangspunkt i de mest signifikante bitene i multiplikatoren

For å utføre denne oppgaven er det nødvendig å kombinere to GSA-er, siden den utformede prosessormodulen må utføre to operasjoner. For å velge en av operasjonene er det lagt til et betinget toppunkt til den kombinerte GSA, som er vist i figur 1.4, og kontrollerer tilstanden til COP (operasjonskode) registeret. Dataene i COP, i likhet med operandene, er inngangsinformasjon for den utformede prosessormodulen.

I den kombinerte GAW, relativt originale algoritmer Operasjonen til tømmeregister C ble endret. Nullstilling av de åtte nederste bitene i registeret ble endret til nullstilling av alle biter, siden dette ved utforming av en kontrollmaskin vil redusere antall tegn på mikrooperasjoner som utføres (Y). For samme formål ble det opprettet et resultatutgangspunkt som er felles for begge GSA-ene.

Når du designer en prosessormodul, er det derfor nødvendig å bruke en enhetlig GCA som beskriver algoritmer for å utføre de tiltenkte handlingene. Prosessormodulen vil logisk deles inn i to delsystemer - OA og UA, som vil bli utformet som uavhengige enheter.

Figur 1.4 - Generell GAW

2 . Design av en driftsmaskin

2.1 Generelle spørsmål virkemåten til atomer i drift

Funksjonene til OA er redusert til input-output og lagring av informasjonsord, utførelse av mikrooperasjoner og beregning av logiske forhold. For å implementere disse handlingene trenger du et sett med elementer som er tilstrekkelig til å bygge strukturer med gitte funksjoner. Dette settet med elementer kalles det strukturelle grunnlaget for OA.

Hoved operasjonelle elementer, brukt i OA er:

Kontrollerte busser som gir informasjonsoverføring;

registre;

Kombinasjonskretser som brukes til å utføre transformasjoner og generere logiske forhold.

I generelt syn strukturen til OA er presentert i figur 2.1, der F er kombinasjonskretsene som utfører konverteringen, S er minnet, ? - kombinasjonskretser som genererer informasjonssignaler.

Figur 2.1 - Generell struktur OA

prosessormodulens behandlingsinformasjon

2.2 Strukturell organisering av M-automata

I henhold til oppgaven skal OA for den utformede prosessormodulen være av type M. En M-automat er en slik OA som er syntetisert på grunnlag av prinsippet om generalisering av kombinasjonskretser som brukes til å utføre alle mikrooperasjoner. M-automatic-maskinen har de laveste maskinvarekostnadene, men ulempen med M-automatic-maskinen er at den ikke kan utføre mer enn én konverteringsmikrooperasjon per syklus. Følgelig er ytelsen til M-automatic-maskinen lav.

Prinsippet om generalisering av kombinasjonskretser bestemmer strukturen til maskinen vist i figur 2.2.

Figur 2.2 - Generalisert struktur av type M OA

I en slik struktur av mikrooperasjoner assosiert med transformasjonen y p: S k:

M (Si, Sj), følgende sett med operatører er tildelt:

M: z:= ? m(Al, A2);

yp = (ai, bi, ?m, dk).

2.3 Design av M-automatisk maskin

Å utvikle strukturen til en M-automatisk maskin innebærer å utføre følgende trinn:

1. Velg registre for maskinen som skal lagre resultatene av mikrooperasjoner:

A (7:0), B (7:0), C (15:0), CnT (3:0), COP.

2. La oss fordele registrene på to busser A 1 og A 2:

Argl = (C), Argl(15:0);

Arg2 = (A, B), Arg2 (7:0).

3. La oss definere mikrooperasjonene som utføres av M-automatic maskinen:

Tabell 2.1 - Drift for M-automatisk maskin

Mikrooperasjon

Resultat

C (15:0):=C (15:0)+A (7:0)

Z=Arg1 (15:0)+Arg2 (7:0)

B (7:0):=R1 (C(0).B (7:1))

Z=R1 (Arg1 (0). Arg2 (7:1))

C (7:0):=R1 (CF.C (7:1))

Z=R1 (CF. Arg1 (7:1))

R (15:0):=C (7:0).B (7:0)

C (15:0):=L1 (C(14:0).0)

Z=L1 (Arg1 (14:0).0)

B (7:0):=L1 (B(6:0).0)

Z=L1 (Arg2 (6:0).0)

R (15:0):=C (15:0)

4. La oss identifisere klasser av ekvivalente mikrooperasjoner og finne generaliserte mikrooperatorer for dem:

5. La oss bygge en krets av en M-automatisk maskin på nivå med registeroverføringer:

Figur 2.3 - Opplegg av en M-automatisk maskin på nivå med registeroverføringer

3 . Design av en kontrollmaskin

3.1 Generelle spørsmål angående funksjonen til kontrollenheter med hard logikk

Kontrollenheten forstås som et sett med blokker og prosessornoder som sikrer koordinert drift av alle dataenheter og deres kontroll for alle aksepterte moduser.

UU, implementere programmer, organisere alt nødvendige handlinger for å motta, evaluere og transformere kildeinformasjon for å oppnå og produsere de nødvendige resultatene. At. Kontroll kan betraktes som en transformasjon av primær kommandoinformasjon, representert av systemkommandoer, til sekundær kommandoinformasjon, representert av generert kontroll, eksekutivadresser, koder og kontrollsignaler, hvis innvirkning på de tilsvarende nodene og blokkene fører til utførelse av spesifiserte operasjoner.

Programkjøringssekvens:

velge et lag fra OP

dekodingsoperasjoner

fastsettelse av operandutførelsesadresser

hente operander inn i cachen

utføre operasjoner

Figur 3.1 - Generell oppbygning av styringssystemet

BUK lagrer kommandoen lest fra minnet og genererer adressene til neste kommando. Lesing av neste kommando fra minnet og konvertering av adresse og operative deler av kommandoen utføres av kontrollenheten.

For å generere synkroniseringssignaler og koordinere driften av kontrollenheten og kontrollenheten, brukes BMU.

Når du bruker "hard" logikk, bygges UAer fra forskjellige kombinasjonskretser og minneelementer. Driftsloven til UA bestemmes av rekkefølgen elementene er koblet til hverandre.

Hovedelementene som UA kan konstrueres med er:

1 Delay-elementer (D flip-flop)

2 signalfordelere (skiftregistre)

3 Som en digital maskin

3.2 Raffinert grafdiagram av algoritmen

For å designe en kontrollmaskin er det nødvendig å bruke en raffinert GSA, som tar hensyn til typen driftsmaskin.

Konvertering av den konsoliderte GSA til den oppdaterte inkluderer følgende trinn:

1. erstatte mikrooperasjoner med dem symboler y jeg;

2. inndeling av operasjonelle toppunkter med n mikrooperasjoner av transformasjon til n operasjonelle toppunkter, siden en OA av type M ikke kan utføre mer enn én mikrooperasjon av transformasjon i en operasjonssyklus;

3. merking av tilstandene til kontrollautomaten i henhold til reglene:

Tilstanden etter "start" og før "slutt" må ha en etikett

Tilstanden etter hvert operatørpunkt må ha en etikett

Figur 3.2 - Raffinert (merket) GSA

3.3 Design av en kontrollmaskin med hard logikk

Å utvikle strukturen til UA innebærer å utføre følgende trinn:

Basert på den merkede GSA, er en overgangsgraf for algoritmen konstruert:

Figur 3.3 - Overgangsgraf for styreautomaten

Tabell 3.1 - Tilstandskoding

Stat

Antall innganger

Koding

Tabell 3.2 - Strukturell tabell over overganger til kontrollmaskinen

Den opprinnelige tilstanden

Binær kode for starttilstand

Resulterende stat

Binær kode for den resulterende tilstanden

Overgangstilstand

Formet utgang

Eksitasjonsfunksjoner

Fra denne tabellen kan du få følgende avhengigheter:

For statens dekoder:

For utgangsfunksjoner

For trigger eksitasjonsfunksjon

La oss bygge en UA-krets for registeroverføringsnivået:

I henhold til den generaliserte strukturen til en kontrollautomat brukes følgende elementer for å konstruere kretsen:

T-utløser

DC - dekodingsenhet som konverterer binær posisjonskode;

MX er en multiplekser som velger en av de logiske betingelsene som skal kontrolleres;

Figur 3.4 - Opplegg av UA av registeroverføringsnivå

4 . Prosessormoduldesign

I henhold til dekomponeringen av prosessormodulen presentert i figur 1.1, besto utformingen av to trinn: utforming av driftsenheten og kontrollmaskinen.

Det er åpenbart at den resulterende prosessormodulen er en kombinasjon av to individuelle enheter- OA og UA. Operander (D 1, D 2), driftsvalgbetingelsen (COP eller D 3) og styresignaler (Clk, Start, Stop, Reset) leveres til inngangene til hele prosessormodulen. Intern kommunikasjon mellom OA og UA består i gjensidig overføring av signaler: OA genererer verdiene for de beregnede logiske betingelsene (X) ved hver klokkesyklus, UA genererer signaler for å utføre mikrooperasjonene som kreves i denne syklusen (Y). Også driftsenhet genererer resultatet av å utføre handlingen spesifisert av verdien til COP-registeret, som leveres til utgangsbussen R.

I tillegg til OA- og UA-kretsene til registeroverføringsnivået, er resultatet av kursprosjektet tekstene til VHDL-modeller av kontrollenheten, driftsmaskinen og prosessormodulen. VHDL-modellen til prosessormodulen inkluderer modellene OA og UA som komponenter.

5 . Analyse av synteseresultater

Som et resultat av automatisert syntese ble modeller av driftsmaskinen, kontrollenheten og hele prosessormodulen oppnådd. Ytelsen til de utviklede komponentene kan vurderes ved å bruke de resulterende tidsdiagrammene bygget i designmiljøet.

5.1 VHDL-testing-mDriftsenhetsmodeller

Etter å ha utviklet VHDL-modellen til OA, ble det oppnådd et tidsdiagram over enhetens operasjon, presentert i figur 5.1.

Figur 5.1 - Tidsdiagram for driften av VHDL OA-modellen

Simulering av driften av OA ble utført ved å bruke inngangsdata (d1, d2, d3), gjeldende mikrokommando og synkroniseringssignaler (clk) og asynkron tilbakestilling (rst) til inngangene til enheten. Som et resultat av modellering og feilsøking ble det konkludert med at driften av enheten samsvarer med kravene til OA. (Teksten til VHDL-modellen til driftsmaskinen er i vedlegg 1).

5.2 VHDL-testing-mKontrollenhetsmodell

Etter å ha utviklet VHDL-modellen til enheten, ble det oppnådd et tidsdiagram over enhetens operasjon, presentert i figur 5.2.

Figur 5.2 - Tidsdiagram for driften av VHDL-modellen til UA

For å simulere driften av kontrollenheten ble synkroniseringssignaler (clk) og asynkron tilbakestilling (rst), samt verdiene for de logiske forholdene beregnet av driftsmaskinen, levert til enhetens innganger. (Teksten til VHDL-modellen av kontrollautomaten er i vedlegg 2).

Simulering av enhetens operasjon ble utført ved å bruke en strategi for å omgå alle buer. Som et resultat av simuleringen ble det gjort en konklusjon om funksjonen til modellen, siden i alle tilstander av UA ble mikrooperasjonssignaler tilsvarende de som er notert i den raffinerte GSA levert som utgangsvektoren.

5.3 VHDL-testing-mCPU-modulmodeller

Etter å ha utviklet VHDL-modellen til UA, ble det oppnådd tidsdiagrammer for utførelse av to handlinger, presentert i figur 5.3 og 5.4. For modellering ble data for handlingen som ble utført levert til inngangene til prosessormodulmodellen (d1, d2 - operander; d3 - kode for operasjonen som utføres). Resultatet av operasjonen ble mottatt på utgangsbussen r.

Figur 5.3 - Multipliser binære heltall uten fortegn, start med de minst signifikante bitene av multiplikatoren

Kontroll av arbeidssimuleringsresultatene presentert i figur 5.3:

28 * 10 = 280, eller

00011100 * 00001010 =100011000.

Figur 5.4 - Multiplisere binære heltall uten fortegn, og starter med de mest signifikante bitene i multiplikatoren

Simuleringen ga riktig resultat.

konklusjoner

Resultatet av kursprosjektet er en prosessormodul som består av en operativ M-automat og en kontrollautomat med hard logikk av typen Mealy, og utfører handlinger i henhold til oppgaven: multiplisere usignerte binære heltall, med utgangspunkt i de høyeste sifrene i multiplikator og multiplisering av usignerte binære heltall, med utgangspunkt i minst signifikante biter av multiplikatoren

De første dataene for designet var grafiske diagrammer av algoritmer for gitte handlinger, typer OA og UA og kapasiteten til operandene.

Under gjennomføringen av kursprosjektet ble det oppnådd kunnskap om organisering og funksjon av komplekset digitale systemer informasjonsbehandling, tilegnet seg praktiske ferdigheter i å designe en prosessormodul ved bruk av VHDL-språket.

Som et resultat av analysen av automatisert enhetssyntese kan vi konkludere med at oppgaven for kursdesignet er korrekt og fullstendig fullført, siden den utviklede prosessormodulen utfører handlingene spesifisert i oppgaven korrekt.

Liste over kilder som er brukt

1. Korablev N.M. - Forelesningsnotater om disiplinen "Computer Circuit Engineering" - Kharkov, 2010.

2. Korablev N.M., Sarancha S.N., Sarancha O.N. - Retningslinjer Til laboratoriearbeid i faget "Computer Circuit Engineering": Del 2 "Design komplekse systemer" - Kharkov: KNURE, 2006

3. Bibilo P.N. Syntese logiske kretser bruker VHDL-språket. - M.: SLON-R, 2002. - 384 s.

4. http://vhdl- 1 .ru/

5. http://www.vhdl- 1 .ru/compon.html

6. http://www.bsuir.by/vhdl/index.php? shandling=hoved

applikasjon1

VHDL-modell av en driftsmaskin

bruk IEEE.STD_LOGIC_1164.all;

clk, første: i STD_LOGIC;

d3: i STD_LOGIC;

r: ut STD_LOGIC_VECTOR(15 ned til 0);

x: ut STD_LOGIC_VECTOR (4 ned til 0)

arkitekturbuen til OA_M er

Deklarerer interne signaler

signal A, B, Arg2: STD_LOGIC_VECTOR (7 ned til 0);

signal CF: STD_LOGIC_VECTOR(8 ned til 0);

signal C, Arg1, Z: STD_LOGIC_VECTOR (15 ned til 0);

signal Cnt: HELTAL;

signal COP: STD_LOGIC;

Signaler A, B, C, COP - innganger til de tilsvarende registre

Signaler Arg1, Arg2 - argumentbusser

Signal Cnt - teller

prosess (clk, første) er

Asynkron tilbakestilling

EN<=(others=>"0");

B<=(others=>"0");

C<=(others=>"0");

elsif rising_edge(clk) da

Synkron skriving til register A

hvis y(1)="1" så A<=d1;

Synkron skriving til register B

hvis y(2)="1" så B<=d2;

elsif (y(7) eller y(12))="1" deretter B<=Z (7 downto 0);

Synkron skriving til register C

hvis y(3)="1" så C<=(others=>"0");

elsif (y(6) eller y(8) eller y(11))="1" deretter C<=Z;

Synkron registrering av resultatet

hvis y(10)="1" så r<=C (7 downto 0)&B (7 downto 0);

elsif y(13)="1" så r<=C;

Synkront opptak til telleren

hvis y(4)="1" så Cnt<=8;

elsif y(9)="1" og deretter Cnt<=Cnt-1;

Synkron skriving til COP-registeret

hvis y(5)="1" så COP<=d3;

ellers COP<="0";

Argumentbuss 1

arg1<= C when (y(6) or y(7) or y(8) or y(11))="1"

annet (andre=>"0");

Argument buss 2

arg2<= A when y(6)="1"

annet B når (y(7) eller y(12))="1"

annet (andre=>"0");

Dannelse av bæreflagget

CF<=("0"&A (7 downto 0))+("0"&B (7 downto 0)) when y(8)="1";

Resultat buss

Z<=Arg1 (15 downto 0)+arg2 (7 downto 0) when y(6)="1"

annet "00000000"&Arg1 (0)&Arg2 (7 ned til 1) når y(7)="1"

ellers "00000000"&CF(8)&Arg1 (7 ned til 1) når y(8)="1"

annet Arg1 (14 ned til 0)&"0" når y(11)="1"

ellers "00000000"&Arg2 (6 ned til 0)&"0" når y(12)="1"

annet (andre=>"0");

Dannelse av resultatskilt

x(2)<="1" when B(0)="1" else "0";

x(3)<="1" when Cnt=0 else "0";

x(4)<="1" when B(7)="1" else "0";

Vedlegg 2

VHDL-modell av en kontrollautomat

bruk IEEE.STD_LOGIC_1164.all;

enhet ua_mili er

clk: i STD_LOGIC; - synkroniseringsinngang

første: i STD_LOGIC; - tilbakestill inngang

x: i STD_LOGIC_VECTOR(4 ned til 1); - logiske tilstandsinnganger

y: ut STD_LOGIC_VECTOR (13 ned til 1) - mikrooperasjonsutganger

arkitektur arch of ua_mili er

type TState er (a0, a1, a2, a3, a4, a5, a6, a7, a8); - mange interne stater

signal State: TState;

prosess (clk, rst) er - overgangsfunksjon

hvis rst="0" så oppgi<=a0;

elsif rising_edge(clk) da

når a0=>tilstand<=a1;

når a1=>tilstand<=a2;

når a2=>if x(1)="1" så oppgi<=a3;

annen stat<=a6;

når a3=>tilstand<=a4;

når a4=>tilstand<=a5;

når a5=>if x(3)="1" så oppgi<=a0;

annen stat<=a3;

når a6=>tilstand<=a7;

når a7=>tilstand<=a8;

når a8=>if x(3)="1" så oppgi<=a0;

annen stat<=a6;

prosess(tilstand) er - utgangsfunksjon

y<= «0000000000000»;

når a0=>y(1)<="1"; y(2)<="1"; y(3)<="1"; y(4)<="1";

når a1=>y(5)<="1";

når a2=>if x(1)="1" da

hvis x(2)="1" så y(6)<="1";

annet y(11)<="1";

når a3=>y(7)<="1";

når a4=>y(8)<="1"; y(9)<="1";

når a5=>if x(3)="1" så y(10)<="1";

ellers hvis x(2)="1" så y(6)<="1";

når a6=>if x(4)="1" så y(6)<="1";

når a7=>y(9)<="1"; y(12)<="1";

når a8=>if x(3)="1" så y(13)<="1";

annet y(11)<="1";

arkitektur strukturen til ua_mili er

signal D, Q:std_logic_Vector (3 ned til 0); - statusregisterinnganger og -utganger

signal a0, a1, a2, a3, a4, a5, a6, a7, a8:STD_LOGIC;

prosess (clk, rst) er - prosess beskriver et 4-bits register

hvis rst="0" så Q<= «0001»;

elsif rising_edge(clk) da

Statlig dekoder

a0<=(not Q(3)) and (not Q(2)) and (not Q(1)) and Q(0);

a1<=Q(3) and (not Q(2)) and (not Q(1)) and (not Q(0));

a2<=(not Q(3)) and (not Q(2)) and Q(1) and Q(0);

a3<=(not Q(3)) and (not Q(2)) and (not Q(1)) and (not Q(0));

a4<=(not Q(3)) and Q(2) and Q(1) and (not Q(0));

a5<=(not Q(3)) and Q(2) and (not Q(1)) and Q(0);

a6<=(not Q(3)) and (not Q(2)) and Q(1) and (not Q(0));

a7<=(not Q(3)) and Q(2) and (not Q(1)) and (not Q(0));

a8<=(not Q(3)) and Q(2) and Q(1) and Q(0);

Utløserfunksjoner

D(0)<=a1 or a4 or (a5 and x(3)) or a7 or (a8 and x(3));

D(1)<=a1 or (a2 and not x(1)) or a3 or a7 or (a8 and not x(3));

D(2)<=a3 or a4 or (a6 and x(4)) or (a6 and not x(4)) or a7;

Utgangsfunksjoner

y(1)<=a0; y(2)<=a0; y(3)<=a0; y(4)<=a0; y(5)<=a1;

y(6)<=(a2 and x(1) and x(2)) or (a5 and not x(3) and x(2)) or (a6 and x(4));

y(7)<=a3; y(8)<=a4; y(9)<=a4 or a7; y(10)<=a5 and x(3);

y(11)<=(a2 and not x(1)) or (a8 and not x(3));

y(12)<=a7; y(13)<=a8 and x(3);

Vedlegg 3

VHDL-modell av en prosessorenhet

bruk IEEE.STD_LOGIC_1164.all;

bruk IEEE.STD_LOGIC_unsigned.all;

clk, første: i STD_LOGIC;

d1: i STD_LOGIC_VECTOR (7 ned til 0);

d2: i STD_LOGIC_VECTOR (7 ned til 0);

d3: i STD_LOGIC;

r:out STD_LOGIC_VECTOR (15 ned til 0)

arkitektur PM av PM er

Komponent - driftsmaskin type M

komponent OA_M er

clk, første: i STD_LOGIC;

y: i STD_LOGIC_VECTOR(13 ned til 1);

d1: i STD_LOGIC_VECTOR (7 ned til 0);

d2: i STD_LOGIC_VECTOR (7 ned til 0);

d3: i STD_LOGIC;

r:out STD_LOGIC_VECTOR(15 ned til 0);

x: ut STD_LOGIC_VECTOR (4 ned til 1)

Komponent - styreautomat med hard logikk av typen Mealy

komponent ua_mili er

clk, første: i STD_LOGIC;

x: i STD_LOGIC_VECTOR(4 ned til 1);

y: ut STD_LOGIC_VECTOR (13 ned til 1)

Signaler utvekslet mellom OA og UA.

signal y: STD_LOGIC_VECTOR(13 ned til 0);

signal x: STD_LOGIC_VECTOR(3 ned til 0);

OA: OA_M portkart (clk, rst, y (13 ned til 1), d1, d2, d3, r, x);

UA: ua_mili portkart (clk, rst, x, y (13 ned til 1));

Skrevet på Allbest.ru

Lignende dokumenter

    Et elektronisk system som implementerer en kompleks databehandlingsalgoritme. Generell struktur av kontrollenheten. Prosessormoduldesign. Grunnleggende operasjonelle elementer. Generelle spørsmål angående funksjonen til kontrollenheter med programmerbar logikk.

    kursarbeid, lagt til 29.06.2011

    Beregning av statisk RAM og lagringsmodul. Konstruksjon av et kretsskjema og tidsdiagram for en minnemodul med tilfeldig tilgang. Utforme en aritmetisk logisk enhet for å dele fastpunkttall.

    kursarbeid, lagt til 13.06.2015

    Studiet av de grunnleggende strukturelle elementene til en datamaskin - en elektronisk enhet som utfører operasjoner for å legge inn informasjon, lagre og behandle den i henhold til et spesifikt program. Funksjoner til sentral prosessor, lagringsenhet, lagringsmedier.

    sammendrag, lagt til 18.01.2012

    Analyse av valget av en digital signalprosessor og blokkskjemaet til en informasjonsbehandlingsenhet. Beregning av enhetens pålitelighet og datautvekslingsytelse, utvikling av et stripediagram. Oversikt over funksjonene til det radielle og intermodulære grensesnittet.

    avhandling, lagt til 20.05.2012

    Grunnleggende operasjoner med matriser. Designe en objektorientert modul for arbeid med matriser i Delphi 7-miljøet. Utvikling av et program som lar deg utføre ulike handlinger på matriser. Beskrivelse av programgrensesnittet, kildekoden til modulen.

    kursarbeid, lagt til 15.01.2013

    Utvikling av en konvensjonell grafisk betegnelse for et kretselement. Utvikling av et fotavtrykk, en typisk komponentmodul. Dannelse av tekniske spesifikasjoner. Layout av individuelle noder og enheter. Utvikling av et elektrisk kretsskjema.

    opplæringsmanual, lagt til 26.01.2009

    Velge prinsipper for å designe en enhet for registrering, lagring og overføring av tall. Utvikling av en algoritme for å utføre operasjoner som er nødvendige for å behandle informasjon. Blokkdiagram av enheten. Det elementære grunnlaget som er nødvendig for utvikling av et kretsskjema.

    Algoritme for å utføre operasjoner som er nødvendige for å behandle informasjon. Beregning og utarbeidelse av tidsdiagram av styresignaler. Valg av elementbasen nødvendig for utvikling av et kretsskjema. Oppdagelse av feil ved inntasting av informasjon.

    kursarbeid, lagt til 16.08.2012

    Utvikling av en modul for beregning av verdien av en funksjon, som deretter kobles til et program for å legge inn startdata med kontroll av tillatt verdi i tabellen. Utforme en modul for å arbeide med strenger og for å behandle rekker av tekstinformasjon.

    kursarbeid, lagt til 24.09.2010

    Tastatur som hoveddatainndataenhet. Manipulator-type enheter, deres typer og egenskaper. Driftsprinsipper for skannere. Formål med grafiske nettbrett. Informasjonsutgangsenheter, typer skjermer. Ekstern informasjonslagring.

Prosessormodul– Dette er en type enkeltbordsdatamaskin og tilhører innebygde datasystemer. Det er en liten modul som prosessor, grafikk, nettverk og andre nødvendige kontrollere er plassert på, og som kan installeres på en baseboard av ulike formfaktorer, som ATX eller EPIC.

Vårt firma leverer følgende typer prosessormoduler:

Bruken av prosessormoduler i instrumentproduksjon har ført til at kretsløpet til kort har blitt forenklet og enhetlig. Det har blitt lettere for utviklere å velge grunnlaget for nye enheter, og følgelig har lanseringen av produkter til markedet akselerert.

På grunn av deres mangfold og allsidighet har prosessormoduler funnet sin anvendelse i mange bransjer:

  • produksjon
  • automatiseringssystemer
  • medisin
  • militærindustrielt kompleks
  • avionikk
  • energi
  • testing og måling

Funksjonelle funksjoner til prosessormoduler

Prosessormoduler er delt inn i typene ETX, COM-Express, QSeven, SOM, uProcessor og kjennetegnes ved ytelse, lavt strømforbruk og varmespredning, da de er designet for innebygde applikasjoner der varmespredningsoppgaver inne i en kompakt kasse er kritiske når du velger type modul.

Hovedfordelen med systemer på prosessormoduler er deres modulære design. I en rekke applikasjoner er det ikke mulig å bruke kort med standard formfaktorer, som 3,5" eller EPIC, siden størrelsen på kortet begrenser antall støttede I/O-grensesnitt og det ikke alltid er mulig å inkludere alle nødvendige kontakter på brettet. Over tid blir styrene også utdaterte og det blir svært vanskelig å finne en passende løsning for en eksisterende sak. Hvis du bruker en prosessormodul sammen med et basekort, så kan du her selv velge hvilke kontakter du trenger for å koble til basekortet, hvilken størrelse basekortet skal være og hvilken prosessormodul (med henholdsvis hvilken prosessor og brikkesett) å bruke i systemet ditt. Hvis du ønsker å forbedre ytelsen til systemet ditt og bruke nyere prosessorer, for eksempel, kan du ganske enkelt velge en ny prosessormodul av passende type og installere den på baseboardet du bruker.

Prosessormodulen er sikkert montert på basekortet, slik at systemer basert på en modulær struktur tåler vibrasjonsbelastninger godt. Dette er nettopp grunnen til at de brukes i det militærindustrielle komplekset og flyelektronikk, hvor pålitelighet og ytelse er av største betydning.

Innebygde løsninger i dag krever ikke bare høy ytelse, men også et stort antall I/O-porter i en kompakt formfaktor. Liten størrelse, pålitelighet, skalerbarhet - alt dette er fordelene med prosessormoduler. Derfor brukes modulære datamaskiner med spesifikasjonene COM Express, ETX og Qseven aktivt i ulike industrielle og militære systemer. Bedriftens sortiment IPC2U representert ved bedriftenes prosessormoduler IEI, ICOP, AXIOMTEK, NEXCOM, ADVANTECH og andre globale produsenter.

Nikolay Semenov [email protected], Alexey Nekrasov - [e-postbeskyttet]

I de fleste tilfeller er utviklingen av en teknisk enhet forbundet med oppgaven med å samle inn data fra inndataenheter, behandle dem og overføre kontrollhandlinger til utdataenheter. Så lenge beregningene ikke krever høy ytelse og inngangs-/utgangsenhetene er standard, kan du bruke mikrokontrollere eller "systemer på en brikke" (System-On-Chip, SoC). Men hva hvis mikrokontrollerens ytelse ikke er nok eller grensesnittene som kreves av oppgaven eller applikasjonen er ikke-standard?

I tilfellet når utvikleren står overfor en oppgave der mikrokontrollerens ytelse ikke er nok eller grensesnittene som for eksempel tilbys av applikasjonen ikke er standard, var det tidligere bare én utvei: å bruke universelle eller spesialiserte mikroprosessorer, eksternt minne, oppstartsdisker og støtte for diverse periferiutstyr. Men denne veien krevde mye tid fra utviklere og programmerere. Samtidig ble lignende problemer løst samtidig i forskjellige deler av verden av forskjellige ingeniører. Portabiliteten til slike løsninger viste seg imidlertid å være lav på grunn av tilstedeværelsen av spesifikke begrensninger i hvert enkelt tilfelle. Denne tilnærmingen var dominerende inntil ferdige, rimelige prosessormoduler dukket opp.

Prosessormodulen (Computer-On-Module, CoM) er en videreutvikling av «systemer på en brikke» (System-On-Chip, SoC). Slike moduler er preget av sin lille størrelse, tilstedeværelsen av standard grensesnitt og god støtte av operativsystemer. Ved bruk av dem spares det tid på utvikling, testing, support, skriving av systemprogramvare og tilpasning av operativsystemer, siden som oftest alt dette allerede er inkludert i den ferdige prosessormodulen. Dermed reduserer bruken betydelig tiden det tar for en ferdig enhet å nå markedet.

Selve begrepet CoM ble laget av VDC Research Group, Inc. (tidligere Venture Development Corporation, USA) for å beskrive en hel klasse av produserte datakort, har det fanget opp og er mye brukt, hovedsakelig etter innføringen av industristandarden COM-Express.

Klassifisering av prosessormoduler

Strukturelt kan prosessormoduler deles inn i moduler med høy, middels og lav ytelse, og alle er preget av lavt forbruk med ganske høy dataytelse i sin klasse, da de er utviklet for innebygde applikasjoner, hvor varmespredningsoppgaver inne i en kompakt tilfelle er kritiske når du velger type modul.

Høy ytelse moduler

Ris. 1. "Computer-on-module" standard COM-Express: RadiSys CEQM77 med Intel Core i7 IvyBridge-prosessor

Høyytelsesmoduler krever nesten alltid aktiv kjøling, bruker 5–10 W eller mer og er fullverdige datamaskiner, oftest basert på Intel-mikroprosessorer. De oppnår ytelsen til toppversjoner av Intel Core i7 med en tilnærmet ubegrenset mengde minne i form av utvidelsesmoduler og høyhastighetsgrensesnitt som PCIexpress, GBE, SATA3 osv. Hovedoppgaven til slike moduler er å gi alle egenskapene til en høyytelses personlig datamaskin i en kompakt enkeltkortsdesign med muligheten til å koble til dem både standard utvidelseskort og spesialiserte utformet for å løse en spesifikk oppgave. Standardisering av slike moduler utføres i henhold til ytre dimensjoner, typer og plassering av koblinger:

  • ETX (Embedded Technology eXtended - "utvidelse av innebygde teknologier") er en hovedkortformfaktor med dimensjoner på 95x114 mm og et standardarrangement av grensesnittkontakter. Kontaktene inneholder PC/AT-arkitektur inngang/utgangsporter (serielle, parallelle, etc.), USB, lyd- og videokontakter, Ethernet, samt en full implementering av ISA- og PCI-busser.
  • XTX er en videreutvikling av ETX-standarden med 75 % pin-kompatibilitet . XTX fjerner ISA-bussen og legger til PCI-Express, SATA og LPC. I dag er disse standardene dårligere i popularitet enn den nyere COM-Express-standarden, men støttes fortsatt av et ganske stort antall produsenter. Som eksempler på ETX og XTX kan vi vurdere moduler fra produsenter som Avalue, Congatec, Kontron, MSC, Norco, SECO, etc.
  • COM-Express (COMe) er en datamaskin-på-modul-standard laget for å erstatte eldre ETX og XTX . Den ble introdusert i 2005 av PICMG-konsortiet og definerer både størrelsen på modulen (fig. 1) og dens grensesnitt. I dag er den andre revisjonen av standarden utgitt, som beskriver syv forskjellige typer koblingsstifter, og fire mulige modulformfaktorer (fra 55x84 til 110x155 mm). Standarden er preget av bruk i høyytelsessystemer; støtte for Ethernet10/100/1000, SATA, LPC, 8×USB (inkludert støtte for USB 3.0), 6×PCI-Express, lyd, video kreves. Strømforsyning 12 V. De mest kjente produsentene av COMExpress-moduler inkluderer RadiSys og Kontron, Congatec og AdLink.

I tillegg inkluderer høyytelsesmoduler prosessorkort for modulære ryggradssystemer som CompactPCI og AdvancedTCA.

CompactPCI er en systembuss som er mye brukt i industriell automasjon og buss-modulære systemer. Elektrisk er den kompatibel med PCI-bussen, men lar deg koble til flere enheter. Hot plugging av brett støttes, men foreløpig er denne standarden faktisk utdatert når det gjelder båndbredde. Hovedkonkurrenten er VME, VME32, VME64 dekk, brukt i NATOs militærutstyr, men disse standardene har ikke blitt utbredt i Russland. Utvidelser som PCI-E er under utvikling, men deres fremtidige bruk er usikker.

Ris. 2. Qseven Computer-on-Module: SECO QuadMo747-X/i.MX6 med Freescale iMX6-prosessor

AdvancedTCA, MicroTCA (Telecommunications Computing Architecture) er en arkitektur utviklet med deltagelse av mer enn 100 industri- og teleunder ledelse av PICMG og er en ny generasjon standardiserte telekommuniksom erstattet den utdaterte CompactPCI. Mekanisk består den av standard kurver for tilkobling av brett i standardstørrelser med standard koblinger og pinneplasseringer på dem. Støtter hot plugging av kort og flere kommunikasjonstopologier mellom dem. Hovedmediet for overføring av informasjon mellom kortene er Ethernet, men i tillegg inneholder kontakten også JTAG-testsignaler, klokkepulser, samt signalledninger som går gjennom signalbryteren (Switch Fabric). I tillegg beskriver standarden et kjølesystem for prosessormoduler, ett for hele kurven. Prosessormoduler med TCA-grensesnitt kan brukes i et bredt spekter av applikasjoner - både for å bygge en klynge for cloud computing (hvor hovedgrensesnittet mellom Ethernet-moduler) og for telekommunikasjonsløsninger med synkrone serielle grensesnitt, tilkobling av videokameraer, lyd, eksterne sensorer , etc.

Moduler med lav ytelse

Ris. 3. "Computer-on-modul" av Qseven-standarden: SECO uQ7-OMAP5 40x70 mm med Texas Instruments OMAP5-prosessor

Inntil nylig inkluderte lavytelsesmoduler forskjellige SoDIMM-moduler og 2,5" enkeltkortsdatamaskiner laget på ARM-prosessorer (oftest bruker produsenter ARM9). Standardisering av slike moduler var ikke ment, så hver produsent bestemte selv formfaktoren og levetiden til produktene. Noe som naturligvis innebar visse risikoer for utviklere, siden det i utgangspunktet ikke var forventet kompatibilitet med moduler fra forskjellige produsenter. Men i dag har situasjonen endret seg litt: med utgivelsen av revisjon 2.0-spesifikasjonen av den åpne industristandarden Qseven , på den ene siden, og utgivelsen av nye laveffektprosessorer (for eksempel som Freescale i.MX6 Solo, fig. 2), på den andre. Nå har utviklere muligheten til å bruke moduler med lav ytelse uten risiko for levetiden til det resulterende produktet. Siden overholdelse av standarden av forskjellige produsenter betyr at moduler kan byttes ut med hverandre, trenger ikke utviklingen å starte fra bunnen av: du kan ganske enkelt velge en lignende modul i Qseven-standarden fra en annen produsent. I tillegg gir den nye revisjonen av Qseven-spesifikasjonen halvstore moduler - kun 40x70 mm (fig. 3), som er ideelt egnet for segmentet innstegs- og lavytelsessystemer.

Moduler med middels ytelse

I tilfellet der det trengs rimelige prosessormoduler, preget av lavt forbruk og relativt høy dataytelse, som ikke krever aktiv kjøling, er den eneste tilgjengelige løsningen moduler også laget i Qseven-standarden. I tillegg, sammenlignet med andre, gir den åpne industristandarden Qseven utvikleren størst fleksibilitet ved utvikling av tekniske enheter, siden den er på tvers av plattformer for ARM- og x86-arkitekturer. Med andre ord, moduler implementert på x86-prosessorer og moduler implementert på en ARM-prosessor er utskiftbare innenfor Qseven-standarden. Dette betyr at etter å ha utviklet en enhet på en kjent x86-prosessor, vil det i fremtiden være mulig å bytte til en ARM-prosessor for å redusere strømforbruket til enheten og den totale kostnaden .

Når det gjelder tilgjengeligheten av moduler og deres levetid, kan følgende positive egenskaper bemerkes. På den ene siden bruker modulene innebygde prosessorer med lang levetid fra produsenter som Intel, AMD, VIA Technology, NVidia, Texas Instruments og Freescale. På den annen side er det i dag allerede mer enn 50 produsenter av prosessormoduler i Qseven-standarden. I tillegg, om nødvendig, kan du erstatte Q7-prosessormodulen på allerede produserte produkter med en lignende av ditt eget design. Samtidig vil produktutgivelsestiden (time-to-market) være kort, og det vil være mulig å bytte til egen dataplattform eller ha et bredt spekter av prosessormoduler i én standard for ulike oppgaver.

Dermed har utvikleren et valg ikke bare mellom produsenten av både prosessoren og selve modulen, noe som gir større frihet til å velge den best passende enheten basert på oppgaven (tabell).

Bord. Modulklassifisering
Produsent Første nivå Multimedia Høy
opptreden,
databehandling
oppgaver
Ansvarlig
applikasjon, bred
temperaturspenn
Seco QuadMo747-X/i.MX6 uQ7-OMAP5 uQ7-OMAP5 QuadMo747-X/i.MX6
QuadMo747-X/OMAP3 QuadMo747-X/T30 QuadMo747-GSeries QuadMo747-X/OMAP3
QuadMo747-Z5xx QuadMo747-X/T20 QuadMo747-X/i.MX6 QuadMo747-XL
QuadMo747-X/i.MX6 QuadMo747-X/T30 QuadMo747-EXTREME
QuadMo747-X/i.MX51 QuadMo747-E6xx
QuadMo747-GSeries
QuadMo747-E6xx
En verdi EQM-CDV
EQM-A50M

Hvis vi vurderer Qseven-standarden mer detaljert, kan vi merke oss følgende hovedtrekk som skiller den fra andre "datamaskin-på-modul"-standarder.

Fig.4. Grunnleggende industrielle grensesnitt Qseven standarder

For det første gir standarden en fullstendig logisk beskrivelse av alle signaler mottatt fra moduler med prosessorer både på ARM-kjernen og på x86-arkitekturen. Dette inkluderer blant annet:

  • høyhastighetsgrensesnitt som PCI Express, SATA, USB 2.0+, GigabitEthernet, etc.;
  • grafiske grensesnitt som LVDS, SDVO, HDMI og DisplayPort;
  • industrielle hovedgrensesnitt (inkludert CAN, SPI, SDIO, I 2 C, etc.) (fig. 4).

For det andre gir standarden:

  • fullstendig elektrisk beskrivelse av signalene til de spesifiserte grensesnittene;
  • en fullstendig designbeskrivelse av kontakten (billig og tilgjengelig MXM) som indikerer plasseringen av signalene på den;
  • designbeskrivelse av selve modulene.

Modulmålene er kun 70x70 mm, mens det for COM-Express er 125x95 mm, og for ETX/XTX er det 114x95. Ferdige enkeltkortsdatamaskiner i PC/104-format har en større størrelse - 96x90 mm. Denne informasjonen er åpen og er tilgjengelig for alle i dokumentasjonen for Qseven-standarden.

Erfaring med bruk av moduler

Ris. 5. Strukturen til den foreslåtte enheten

For å bygge en flerkanals videoopptaker med datalagring på en harddisk og kontroll over et lokalt nettverk, kan strukturen vist i fig. 5.

AVx-blokker inneholder lyd- og video-ADC-er. DSPx komprimerer de mottatte dataene og sender den komprimerte strømmen gjennom FPGA til PC-prosessormodulen. Prosessormodulen mottar data fra flere videokameraer, former dem til lagringsbeholdere og skriver dem til en harddisk, og gir også en ende-til-ende-kanal for visning og arkivering av data over et lokalt nettverk.

Dataflyten inne i et slikt system viste seg å være ganske stor, og moduler med lav ytelse viste seg å være uegnet for implementering. Høyytelsesmoduler genererer for mye varme til å installeres inne i en kompakt opptaker. Derfor ble Qseven - SECO QuadMo747-Z5xx, som inneholder en Intel Atom Z500-serie 1,6 GHz-prosessor, 1 GB DDR2-, GBE- og SATA2-minne, valgt som prosessormoduler. Tilstedeværelsen av en NAND-stasjon gjorde det mulig å installere Linux-operativsystemet direkte på modulen, for ikke å være avhengig av tilgjengeligheten og brukbarheten til harddisken. Etter å ha optimalisert programvaren og redusert antall samtidig brukte kameraer, viste det seg å være mulig å bytte til en modul med en prosessorfrekvens på ikke 1,6, men 1,1 GHz, og også bytte til prosessormoduler med ARM-prosessorer. Utseendet til enheten er vist i fig. 6.

Valget av de beskrevne modulene reduserte utviklingstiden til enheten betydelig og gjorde den enklere, mer pålitelig og mer funksjonell. For eksempel viste den trådløse kontrollfunksjonen til opptakeren, som i utgangspunktet ikke var inkludert, å være mulig med installasjon av en miniatyr USB-Wi-Fi-modul. Den nøyaktige tiden kan fås fra en ekstern GPS-enhet, også koblet til via USB. For å utvide temperaturområdet for bruk av enheten, ble en programvarestyrt kjølevifte deretter koblet til. Resultatet er en multifunksjonell kompakt enhet som utfører alle nødvendige spesifiserte funksjoner og enda mer. Det er tilgang på ressurser for å utvide funksjonaliteten.

konklusjoner

Ris. 6. Over - utseendet til enheten; bunn - plassering av brett

Artikkelen undersøkte ulike alternativer for kontrollprosessormoduler for innebygde systemer. Følgende konklusjoner kan trekkes:

  1. I lovende utviklinger bør COM-Express betraktes som kompakte høyytelsesmoduler. De er produktive og rimelige, men krever ekstern kjøling eller en stor radiator.
  2. For å bygge en klynge fra et stort antall både homogene og heterogene moduler, er det praktisk å bruke AdvancedTCA-standarden eller dens reduserte versjon MicroTCA. Prosessormoduler i slike systemer er dyrere enn samme COM-Express, men de settes enkelt sammen til klynger, kjøleenheten er standard plassert i kurven, og spørsmålene om informasjonsutveksling mellom strøm- og redundansmoduler er løst.
  3. Det anbefales å bruke moduler av Qseven-standarden som en laveffekts produktiv modul som kan fungere uten aktiv kjøling. Dette er en hel familie av prosessormoduler med varierende ytelse, bygget på ulike plattformer, men med standard grensesnitt som Ethernet, USB, SATA, SPI, LPC osv. Det er erfaring med praktisk bruk av serielle enheter basert på slike moduler.
  4. For å administrere langsomme prosesser kan du bruke hvilken som helst av en hel klasse med lavytelsesmoduler som passer i størrelse, grensesnitt og pris.

Økningen i produksjonsratene etter den økonomiske krisen på 90-tallet forutbestemte behovet for å ta hastetiltak for å renovere utstyr.

Et alvorlig problem for maskinbyggere er mangelen på innenlandsk produsert automasjonsutstyr i landet, samt tilstedeværelsen av en stor flåte av verktøymaskiner med utdaterte elektroniske kontrollsystemer: MicroDAT-programkontrollere, UPU TP, etc. For å modernisere programkontrollere av disse og andre typer har NTB utviklet en prosessormodul basert på mikrokontrolleren SAFB-C165-LF, som har følgende egenskaper:

  • FLASH ROM og statisk RAM 128 KB hver;
  • resident program for nedlasting av programvare;
  • minnekapasitet for bruker (teknologiske) programmer 46 eller 62 KB;
  • lagre innholdet i FLASH-minnet i minst 10 år;
  • Mulighet for programmering via RS-232 seriell port;
  • tilbakestilling av strømbrudd;
  • tidlig advarsel om lavt litiumbatteri;
  • vakthund timer;
  • strømforbruk i driftsmodus - 100 mA;
  • forsyningsspenning - 5 V;
  • minimum forsyningsspenning - 4,65 V;
  • kvartsresonatorfrekvens - 40 MHz;
  • driftstemperatur - 0...+70 (-45...+85) °C.

Alle egenskaper og pålitelighet til modulen er testet av tre års erfaring i bruk på seks fabrikker under de mest alvorlige driftsforholdene. Ikke en eneste modul led en eneste alvorlig feil. Der denne alvorlighetsgraden ikke var nok, ble modulen testet under spesielle forhold, for eksempel i ovner - 24 timers kontinuerlig drift ved en temperatur på 75°C.

Blokkskjemaet til modulen er vist i fig. 1.

Ris. 1. Blokkskjema over modulen

Modulen er fullstendig laget ved hjelp av SMD-monteringsmetoden med tosidig arrangement av elementer (fig. 2). Bordstørrelse 90x96x1,5 mm. Den monterte høyden med batteriet er opptil 21 mm, uten batteri - 13 mm. Elektrisk kontakt leveres av to pinner X1 og X2 med 20 punkter per kontakt. Mekanisk festing utføres med fire skrueforbindelser gjennom plastinnsatser i hjørnene av brettet.

Ris. 2. Modul PCB topologi

Modulen inkluderer:

  • mikrokontroller SAF-C165-LF med en klokkefrekvens på 20 MHz;
  • 128 KB TC551001 laveffekt statisk RAM for systemdata og prosessprogram;
  • 128 KB FLASH ROM AM29F010 for lagring av systemprogrammet og en kopi av det teknologiske programmet;
  • LTC1235 Power Control Supervisor;
  • LT1281A transceiver for RS-232 seriell port;
  • litiumbatteri størrelse R6/AA for lagring av det teknologiske programmet i RAM (valgfritt).

Systemprogrammet er lagret i FLASH ROM og, avhengig av hvordan programvaren setter bitene i brukerprogramtilstandsfilen, kan det automatisk lastes inn i prosessoren ved oppstart. Av de 128 KB kan brukerprogrammet oppta 46 eller 62 KB, avhengig av hvilken driftstype prosessor som er valgt i programvaren.

Modulen programmeres via RS-232 seriell port, og enhver IBM-kompatibel datamaskin med en i386-prosessor eller høyere kan fungere som programmerer. Valutakursen velges i programvaren og kan variere fra 110 til 57600 bps.

For å visuelt overvåke statusen til modulen, vises fem signaler på eksterne indikatorer, som viser følgende:

  • Strøm (grønn) - om 5 V leveres til modulen;
  • Drift (grønn) - om modulen er i OPERATION-tilstand;
  • Fast and Furious (gul) - om det er etterbrennere i programmet og om de er forbudt eller tillatt;
  • Kildeutladning (gul) - om litiumbatteriet er installert og om spenningen er tilstrekkelig;
  • Feil (rød) - om modulen er i ERROR-tilstand.

I tillegg, når du bruker prosessormodulen på et nettverk som bruker PControl-grensesnittkortet, er ytterligere to små indikatorer aktive:

  • Opptak (grønn) - prosessen med å overføre data fra modulen pågår;
  • Lesing (rød) - prosessen med å motta data inn i modulen pågår.

For å jobbe med modulen bruker programvaren språket til stigekretser med følgende typer instruksjoner: bit (6 stk.), tidtakere og tellere (6), sammenligninger (8), logikk og bevegelser (6), matematisk (14) ), utførelseskontroller programmer (12), fil (2), shift og stepper (9), input/output kontroller og meldinger (8), spesial (3). 1 KB bitinstruksjoner utføres på 1,6 ms, og for eksempel en logisk "AND"-instruksjon utføres på 14,4 μs.

Alle interne og eksterne (input/output) egenskaper samsvarer fullt ut med de deklarerte egenskapene til komponentene og brukes fullt ut.

Denne modulen brukes i PControl ACS-kontrollere produsert av NTB. Modulen brukes også med andre ACS-kontrollere med det formål å forbedre og modernisere, for eksempel:

  • MicroDAT MB 57.0. Produsent: Kiev, Ukraina.
  • PS2000. Produsent - VEB NUMERIK iUKARL MARXl. Karl-Marx-Stadt, DDR.
  • UPU-TP. Produsent - NPO "ELEKTROMEKANIKK"

I dette tilfellet leveres modulen med et adapterkort for den valgte kontrolleren for å koordinere driftslogikken til kontrollerens interne buss og for å gi prosessormodulen de nødvendige dimensjonene for å unngå omkobling av kontrolleren og eksterne kretser. Når den er montert, overstiger ikke høyden på strukturen 25 mm og kan installeres i nesten hvilken som helst kontroller.

Fordelen med den første applikasjonen er at utstyrseiere får en billigere kontroller enn importerte, som ikke er dårligere enn dem på noen måte. Modulprogramvaren ble utviklet av russiske spesialister på russisk, selvfølgelig. Vi bør ikke glemme det detaljerte settet med russisk dokumentasjon, som gjør det enkelt å lære seg selv hvordan du arbeider med prosessormodulen.

Fordelen med den andre applikasjonen er at å erstatte den mest sårbare noden (MicroDAT) eller flere noder på en gang (PS, Penza) til kontrolleren fører til en kraftig forbedring i ytelsesegenskapene. Samtidig kan de fjernede "originale" modulene tjene som reparasjonsbase for de gjenværende ikke-moderniserte kontrollerene.

Prosessormodusprogramvaren fungerer både i On-Line-modus og i Off-Line-modus og gir et praktisk grensesnitt og implementering av alle modulfunksjoner. Programvaren og systemprogrammet til modulen støtter de ovennevnte kontrollerene uten endringer.

Muligheten for å lage adapterkort for forskjellige kontrollere, samt legge til støtte for nye typer kontrollere til programvaren, bestemmes kun av økonomisk gjennomførbarhet.