Vst sv metod för att designa mikroprocessorsystem. Handledning för moderna mikroprocessorsystem

Kvalitativa och kvantitativa förändringar elementbas BT-medel ledde till

ändra de etablerade principerna för deras design (som stel

struktur, sekventiell central styrning, linjeorganisation

minne och oförmåga att anpassa datorns struktur till funktionerna

problem som löses).

De klassiska von Neumanns principerna för organisation av datorsystem ersattes av idéerna om problemorientering av MPS, parallell och pipelined bearbetning av information, användningen av tabellformade databehandlingsmetoder, principerna om regelbundenhet och homogenitet för MPS-strukturer; blir verklig

möjlighet till idén att skapa adaptivt inställbara system, liksom

hårdvaruimplementering av funktioner programvara. Därför för närvarande

tid i designen av datorsystem baserade på mottagna MPS

tillämpning av den så kallade "3M"-principen: modularitet, trunk,

mikroprogrammerbarhet.

Principen för modulär organisation innebär konstruktion av beräknings- och

styr MPS baserat på en uppsättning moduler: strukturellt, funktionellt och

elektriskt kompletta datorenheter som låter dig självständigt

eller i kombination med andra moduler för att lösa problem den här klassen. Modul

tillvägagångssätt vid design av mikrodatorer och system tillåter (när de implementeras som

universella och specialiserade moduler) säkerställer skapandet av familjer

(rader) MPS, olika funktionalitet och egenskaper

som täcker ett stort antal applikationer, hjälper till att minska

designkostnader, samt förenklar kapacitetsutbyggnad och

omkonfigurering av system, trycker tillbaka föråldrad datoranvändning

Backbone metod för informationsutbyte i motsats till att organisera

godtyckliga anslutningar (enligt principen "var och en med varje") gör att du kan effektivisera och

minimera antalet länkar i MPS. Det ger informationsutbyte mellan

funktionella och konstruktiva moduler på olika nivåer med hjälp av

motorvägar som kombinerar in- och utgångsbussar. Det finns en, två,

tre- och flerlinjekommunikation. Det bör noteras förhållandet

kretsar och strukturella lösningar som dyker upp under implementeringen

den här metoden utbyte i form av att skapa speciell dubbelriktad buffert

kaskader med tre stabila tillstånd och användningen av tillfälliga

multiplexering av utbyteskanaler.

Firmware kontroll ger den största flexibiliteten i att organisera

multifunktionella moduler och möjliggör problemorientering

MPS, samt använda makrooperationer i dem, vilket är mer effektivt än att använda


standardrutiner. Dessutom överföring av kontrollerade ord i formen

krypterade kodsekvenser motsvarar minimeringsvillkoren

antalet VLSI-stift och minska antalet sammankopplingar i modulerna.

Förutom huvuddragen i MPS-designen som anges ovan bör det vara det

notera regelbundenhetsprincipen, som innebär en regelbundenhet

repeterbarhet av element i MPS-strukturen och länkar mellan dem. Tillämpning av detta

principen gör att du kan öka den integrerade tätheten, minska längden på bindningar

på ett chip, minska tiden för layout och kretsdesign

LSI och VLSI design, minska antalet korsningar och typer av funktionella

och strukturella element.

När man utvecklar arkitekturen för MPS (systemstadiet) är det nödvändigt att lösa följande

Ge en beskrivning av den begreppsmässiga strukturen av det funktionella beteendet hos ett system med

positioner att ta hänsyn till användarens intressen i dess konstruktion och organisation

beräkningsprocessen i henne;

Bestäm strukturen, nomenklaturen och funktionerna i konstruktionen av programvara och

mikro mjukvaruverktyg;

Beskriv egenskaperna hos den interna organisationen av dataflöden och kontroll

information;

Genomföra en analys av det fysiskas funktionella struktur och egenskaper

implementering av systemenheter utifrån mjukvarubalans,

mikroprogram och hårdvara.

Huvudstegen för MPS-design visas i fig. 3.1.

I det inledande designskedet kan MPS beskrivas i en av de

följande konceptuella nivåer: "svart låda", strukturell, program,

logiskt, schema.

På nivån "svart låda" beskrivs MPS av externa specifikationer, där

yttre egenskaper listas.

Ris. 3.1. Stadier av MPS-design

Den strukturella nivån skapas av hårdvarukomponenterna i MPS, som

beskriver enskilda enheters funktioner, deras relation och information

strömmar.

Programvarunivån är uppdelad i två undernivåer (processorinstruktioner och

språk) och MPS tolkas som en sekvens av operatorer eller

kommandon som orsakar en eller annan åtgärd på någon datastruktur.

Den logiska nivån är inneboende uteslutande i diskreta system och är uppdelad i

två undernivåer: kopplingskretsar och registeröverföringar.

Den första undernivån bildas av grindar (kombinationskretsar och minneselement) och databehandlingsoperatörer byggda på deras bas. Den andra undernivån kännetecknas av en högre grad av abstraktion och är en beskrivning av registren och överföringen av data mellan dem. Den innehåller två

delar: information och kontroll: den första bildas av register,

operatörer och dataöverföringsvägar, den andra ger beroende på

tidssignaler som initierar överföring av data mellan register.

Kretsnivån är baserad på beskrivningen av driften av elementen i diskreta enheter.

livscykel MPS, som alla diskreta system, har tre steg:

design, tillverkning och drift.

Var och en av stegen är uppdelad i flera faser, för vilka det finns sannolikheter för förekomsten av strukturella eller fysiska fel. Fel klassificeras efter deras orsaker: fysiska, om de orsakas av elementdefekter, och subjektiva, om de orsakas av konstruktionsfel.

Subjektiva fel delas in i design och interaktiva. Design

funktionsfel orsakas av brister som införts i systemet i olika skeden

genomförandet av den ursprungliga uppgiften. Interaktiva fel uppstår i

arbetsprocessen på grund av servicepersonalens (operatörens) fel. resultat

manifestation av ett fel är ett fel, och ett fel kan

orsaka ett antal fel, och samma fel kan orsakas

många fel.

Det finns också begreppet en defekt - en fysisk förändring av parametrar

systemkomponenter som ligger utanför räckhåll. Defekter kallas

misslyckanden om de är tillfälliga och misslyckanden om de är permanenta.

En defekt kan inte upptäckas förrän förutsättningar skapas för

uppkomsten av ett fel på grund av det, vars resultat borde i sig

kö, skickas till utgången av det undersökta objektet för att göra

observerbart misslyckande.

Felsökning är processen för att fastställa orsaken till ett fel genom

testresultat.

Felsökning är processen att upptäcka fel och fastställa

källor till deras förekomst enligt resultaten av testning i utformningen av MPS.

Felsökningsverktyg är enheter, komplex och program. ibland under

felsökning förstå detektering, lokalisering och eliminering av fel. Framgång

felsökning beror på hur systemet är designat, om

egenskaper som gör det enkelt att felsöka, samt de verktyg som används

för felsökning.

För felsökning måste den designade MPS ha

egenskaper för kontrollerbarhet, observerbarhet och förutsägbarhet.

Hanterbarhet - egenskap hos ett system där dess beteende är mottagligt för

ledning, d.v.s. det är möjligt att stoppa driften av systemet i

visst tillstånd och starta om systemet.

observerbarhet- en egenskap hos systemet som gör att du kan spåra beteendet

systemet, efter förändringen av dess interna tillstånd.

Förutsägbarhet– en egenskap hos systemet som gör att du kan installera systemet i

ett tillstånd från vilket alla efterföljande tillstånd kan förutsägas.

MPS kan skilja sig markant i komplexitet, krav och funktioner.

driftsparametrar, mängd programvara, typ

mikroprocessorset etc. Som ett resultat kan designprocessen

ändras beroende på systemets krav.

Designprocessen är en iterativ process. Fel som upptäcks under acceptanstestfasen kan leda till korrigering av specifikationen, och

därför till början av designen av hela systemet. Hitta

felfunktion är nödvändig så tidigt som möjligt; det måste kontrolleras

projektets riktighet i varje utvecklingsstadium. Det finns följande metoder

konstruktionskontroll: verifiering (formella metoder

bevis på projektets riktighet); modellering; testning.

Den senaste tiden har det dykt upp mycket arbete med mjukvaruverifiering.

mjukvara, firmware, hårdvara. Dessa verk är dock fortfarande kvar

teoretisk karaktär. Därför används modellering oftare i praktiken

objektbeteende och testning på olika nivåer av det abstrakta

representation av systemet.

I stadiet för att formalisera kraven för systemet, kontroll över projektets riktighet

särskilt nödvändigt eftersom många designmål inte är formaliserade eller

kan i princip inte formaliseras. Funktionsspecifikationen kan

analyseras av ett team av experter eller modelleras och testas i

experimentell ordning för att identifiera uppnåendet av önskade mål. Efter godkännande

funktionsspecifikation börjar utvecklingen av testprogram,

utformad för att etablera korrekt drift av systemet i enlighet med

dess specifikation. Helst utvecklas tester helt

baserat på denna specifikation och tillåter verifiering av eventuella

implementering av ett system som har förklarats kapabelt att utföra funktionerna

som anges i specifikationen. Denna metod är raka motsatsen till de andra.

där tester byggs för specifika implementeringar. Dock i praktiken

testutveckling prioriteras ofta lägre än

projekt, så testprogram dyker upp mycket senare än det

Design av ett mikroprocessorsystem

Strukturera

Blockschemat för systemet visas i figur 3.2.

Figur 3.2 - Blockschema över MPS

MP är det centrala blocket i MPS. Den kontrollerar alla mikrokretsar och utför databehandling.

MP genererar en adress i USA och utbyter med SDS.

RAM är utformat för att lagra mellanliggande data.

ROM är utformad för att lagra programkoden och olika konstanter.

PPI är designad för att ansluta externa enheter. ADC, diskreta signaler och PP är anslutna till PPI.

ADC är designad för att konvertera analog signal från sensorer till en digital kod.

PP är utformad för att organisera utbytet över en seriell kanal mellan kontrollrummet och MP.

Schematisk design

MPS måste tillhandahålla:

  • - utfrågning av 7 analoga sensorer;
  • - insamling av 8 diskreta signaler;
  • - bildande av 4 diskreta kontrollåtgärder.

Den nödvändiga mängden dataminne beräknas med hjälp av formeln

där och - antalet analoga respektive diskreta insignaler; och - bitdjup för analoga och diskreta signaler.

I vårt fall, och

Som ett resultat är det nödvändigt för att lagra sensoravfrågningsdata

Mikrokontrollern KM1816BE51 valdes som centralenhet i systemet. Dess främsta fördelar är:

  • - Tillgänglighet av internminne för program och data;
  • - förekomsten av en inbyggd programvara;
  • - 4 portar;
  • - låg energiförbrukning;
  • - inbyggda timers-räknare.

Det inbyggda MK-programminnet på 128 byte används för datalagring. Programmet kommer att lagras i internt programminne.

För att förhöra analoga sensorer används K572PV4-chippet. Microchip-fördelarna inkluderar:

  • - närvaron av en inbyggd multiplexer;
  • - automatisk utfrågning av sensorer utan deltagande av mikroprocessorn;
  • - lagring av konverteringsresultat för varje kanal i det inbyggda statiska minnet.

Eftersom MK inte har generatorutgångar används K531GG1 generatorchippet för att generera klocksignalen.


För att organisera informationsutbytet med kontrollrummet används en transceiver inbyggd i MC:n. Mjukvaran KM1816BE51 överför dock data med hjälp av fem-volts logiska signaler: en representeras av en spänningsnivå från 2,4 V till 5 V, och noll - från 0 till 0,8 V. Vid sändning över RS-232-kanalen är noll och en kodad med samma värde (från 5 till 12 V), men med olika tecken.

Eftersom fem-volts logiska signaler måste omvandlas till en annan nivå för att sända över RS-232, använder MPS Maxims MAX202E-chip. Den innehåller en spänningsomvandlare från +5 V till ±10 V och steg som omvandlar logiska signaler på en standardnivå på fem volt enligt RS-232-standarden. Den innehåller logiska nivåomvandlare för två mottagare och två sändare, varav endast en sändtagarekanal används.

Ett schematiskt diagram över MPS finns i bilaga B.

En 12 MHz ZQ1 kvartsresonator är ansluten till XTAL1- och XTAL2-stiften på DD1-mikrokontrollern. För en mer stabil start är utgångarna från kvartsresonatorn anslutna till en gemensam tråd genom kondensatorerna C1 och C2 med en kapacitet på 21 pF.

När matningsspänningen appliceras på mikrokontrollern är det nödvändigt att återställa mikrokontrollern. För detta ändamål är RST-ingången ansluten till strömbussen genom en 6 μF kondensator C3 och till en gemensam ledning genom ett 100 kΩ motstånd R1. Vid uppstartsögonblicket är kondensatorn urladdad och återställningsingången har en potential nära matningsspänningen. Trots minskningen av denna potential på grund av laddningen av C3, i tio millisekunder, förblir signalnivån vid återställningsingången singel, och mikrokontrollern startar korrekt.

En logisk enhet appliceras på ingången, eftersom mikrokontrollern kommer att köra programmet från internminnet.

Diskreta insignaler DDAT1-DDAT8 är anslutna till linjerna för port P0 på MK DD1. ACS DA1 är ansluten till ledningarna i port Pl. Diskreta styråtgärder DOUT1-DOUT4 bildas på linjerna P1.0-P1.3.

Eftersom de analoga sensorerna som är anslutna till ACS DA1 måste ha en utspänningsparameter i området från 0V till 2,5V. Motstånd R2-R13 används för att omvandla sensorernas strömsignaler till en spänningssignal.

Specifikationen av elementen presenteras i bilaga D.

Utveckling av MPS-driftalgoritmen

MPS fungerar i följande ordning:

  • a) systeminitiering;
  • b) avläsning av sensorer;
  • c) styrning av pumpenheten;
  • d) datautbyte med kontrollrummet;
  • e) gå till steg b.

Blockdiagram av algoritmerna för MPS-arbetsprogrammet presenteras i bilaga D, ett fragment av programkoden finns i bilaga F.

Strömförbrukningsberäkning

Den effekt som förbrukas av hela systemet definieras som summan av den effekt som förbrukas av alla delar av systemet.

Effektberäkningen sammanfattas i tabell 3.4.

Tabell 3.1 - Beräkning av strömförbrukning

Systemet förbrukar ström.

Kommunikationsenhet

För att säkerställa utbyte med kontrollrummet används en gränssnittsomvandlare MI 486. Den låter dig ta emot/sända data via Ethernet-nätverk från en dator med upp till 112 kbaud.

Gränssnittsomvandlaren visas i figur 3.3.

Bild 3.3 - Gränssnittsomvandlare MI 486

Specifikationer:

  • - utgångsgränssnitt: RS-232;
  • - max. hastighet - upp till 112 kbaud;
  • - ingångsgränssnitt Ethernet 10BaseT/100BaseT;
  • - RJ45-kontakt.

Introduktion

Specialitet" Datorsystem och nätverk” är en av de viktigaste och mest universella i det moderna utbildningssystemet. Hennes intresseområde inkluderar ett brett utbud av objekt och styrenheter - från elementära regulatorer till de mest komplexa styrsystemen för produktionsprocesser och experimentell forskning.

På grund av den mångsidiga karaktären hos utveckling och produktion av verktyg datavetenskap problemet med att ytterligare öka deras effektivitet, bestämt av systemet med strukturella och funktionella egenskaper, får den största betydelsen.

Per senaste åren inom mikroelektronik har riktningen förknippad med utgivningen av mikrokontroller, som är designade för att "intellektualisera" utrustning för olika ändamål, fått en snabb utveckling. Mikrokontroller är enheter som är strukturellt gjorda i form av LSI och inkluderar alla huvuddelar i en "bar" mikrodator: en mikroprocessor, programminne och dataminne, samt programmerbara gränssnittskretsar för kommunikation med den externa miljön. Användningen av mikrokontroller i styrsystem säkerställer uppnåendet av exceptionellt hög prestanda till en så låg kostnad (i många applikationer kan systemet bestå av endast en LSI mikrokontroller) att mikrokontroller, uppenbarligen, inte har en rimlig alternativ elementbas för byggnadskontroll och/eller regelsystem.

Hittills är mer än två tredjedelar av världsmarknaden för mikroprocessormedel mikrokontroller.

Strukturell organisation, uppsättning kommandon och hårdvara och mjukvara för in- och utdatainformation från mikrokontroller är bäst lämpade för att lösa kontroll- och regleringsproblem i enheter, enheter och automationssystem, och inte för att lösa databehandlingsproblem.

1. Analys av uppdragsbeskrivningen

I denna terminspapper det är nödvändigt att designa ett mikroprocessorsystem baserat på mikrokontrollern K1816BE31. Det krävs att beskriva och utveckla de strukturella och funktionella diagrammen för den designade enheten (systemet), motivera valet specifika element, utveckla ett schematiskt diagram av den designade enheten (systemet), utveckla ett program för att initiera huvudkomponenterna, samt ett program för att fungera i mikrokontrollerns monteringsspråk.

2. Utveckling av ett blockschema över den designade enheten

Grunden för blockschemat för mikrokontrollern (Figur 1) bildas av en intern dubbelriktad 8-bitars buss som ansluter alla huvudnoder och enheter: inbyggt minne, ALU, specialfunktionsregisterblock, kontrollenhet och ingångs-/utgångsportar.

Aritmetisk logisk enhet. 8-bitars ALU kan utföra aritmetiska operationer addition, subtraktion, multiplikation och division; logiska operationer AND, OR, exklusiv ELLER, såväl som operationer av cyklisk växling, återställning, invertering, etc. ALU har programmatiskt otillgängliga register T1 och T2 avsedda för temporär lagring av operander, en decimalkorrigeringskrets och en egenskapsgenereringskrets.

Den enklaste additionsoperationen används i ALU för att öka innehållet i registren, föra fram datapekarregistret och automatiskt beräkna nästa RPP-adress. Den enklaste subtraktionsoperationen används i ALU för att minska register och jämföra variabler.

De enklaste operationerna bildar automatiskt "tandemer" för att utföra operationer i ALU, såsom inkrementering av 16-bitars registerpar. ALU implementerar en mekanism för att kaskadkoppla enkla operationer för att implementera komplexa kommandon. Så, till exempel, när en av de villkorliga styröverföringsinstruktionerna exekveras, inkrementeras SC tre gånger i ALU baserat på resultatet av addition, RPD läses två gånger, en aritmetisk jämförelse av två variabler utförs, en 16-bitars hoppadress bildas och ett beslut fattas om att hoppa efter program eller inte. Alla dessa operationer utförs i ALU på bara 2 µs.

En viktig egenskap hos ALU är dess förmåga att fungera inte bara med bytes utan också med bitar. Individuella mjukvarutillgängliga bitar kan ställas in, raderas, inverteras, sändas, kontrolleras och användas i logiska operationer. Denna förmåga hos ALU att arbeta på bitar är så viktig att många beskrivningar av mikroprocessorn hänvisar till närvaron av en "boolesk processor". För att styra objekt används ofta algoritmer som innehåller operationer på in- och utgående booleska variabler (sant/falskt), vars implementering med hjälp av konventionella mikroprocessorer är förknippad med vissa svårigheter.



Bild 1. Strukturdiagram KR1816BE31

ALU kan arbeta med fyra typer av informationsobjekt: booleska (1 bit), digital (4 bitar), byte (8 bitar) och adress (16 bitar). ALU:n utför 51 olika överförings- eller transformationsoperationer på dessa data. 11 adresseringslägen används (7 för data och 4 för adresser), genom att kombinera "drift / adresseringsläge" utökas basantalet instruktioner 111 till 255 av 256 möjliga med en enbyte operationskod

Invånarminne . Programminnet och dataminnet som finns på KR1816BE31-chippet är fysiskt och logiskt separerade, har olika adresseringsmekanismer, fungerar under kontroll av olika signaler och utför olika funktioner.

Programminnet (ROM eller EPROM) har en kapacitet på 4Kbyte och är designat för att lagra kommandon, konstanter, initieringskontrollord, omvandlingstabeller för in- och utvariabler, etc. RPP har en 16-bitars adressbuss genom vilken åtkomst tillhandahålls från programräknaren eller från datapekarregistret. Det senare utför basregistrets funktioner under indirekta hopp genom programmet eller används i kommandon som arbetar med tabeller.

Dataminne (RAM) är utformat för att lagra variabler under exekvering applikationsprogram, adresseras av en byte och har en kapacitet på 128 byte. Dessutom ligger adressutrymmet för RPD i anslutning till adresserna till registret över specialfunktioner (RSF), som anges i tabell 3.

Programminnet, såväl som dataminnet, kan utökas upp till 64KB genom att ansluta externa LSI:er.

Ackumulator och SSP . Ackumulatorn är källan till operanden och platsen där resultatet är fixerat när man utför aritmetiska, logiska operationer och ett antal dataöverföringsoperationer. Dessutom kan man bara använda ackumulatorn, skiftoperationer, kontroll av noll, generering av en paritetsflagga och liknande.

Tabell 3.1

Symbol namn Adress
*ACC Batteri 0EOH
*AT Ackumulatorexpanderregister 0F0H
*PSW Programstatusord 0DOH
SP Stapelpekarregister 81H
DPTR

Data Pointer Register (DPH)

*P0 Port 0 80N
*P1 Port 1 90N
*P2 Port 2 0AOH
*P3 Port 3 0В0Н
* IP Register över prioriteringar 0V8N
*IE Avbryt maskregister 0A8N
TMOD Timer/Räknarläge Register 89N
*TCON Timerkontroll/statusregister 88N
TH0 Timer 0 (hög byte) 8CH
TL0 Timer 0 (låg byte) 8AN
TH1 Timer 1 (hög byte) 8DH
TL1 Timer 1 (låg byte) 8BH
Symbol namn Adress
* SCON Transceiver kontrollregister 98N
SBUF Transceiver buffert 99N
PCON Effektkontrollregister 87N

Notera. Register vars namn är markerade med en asterisk (*) tillåter att enskilda bitar adresseras.

Tabell. 3.2

Symbol Placera Namn och syfte
FRÅN PSW.7 Bär flagga. Ställ in och återställ av hårdvara eller mjukvara när du utför aritmetiska och logiska operationer
AU PSW.6 Extra bärflagga. Ställs in och nollställs endast av hårdvara när du utför addera och subtrahera instruktioner, och signalera en bär eller lån i bit 3.
F0 PSW.5 Flagga 0. Kan ställas in, nollställas eller kontrolleras av programmet som en användarspecificerad flagga.
Välja en registerbank. Ställ in och återställ av programmet för att välja en fungerande registerbank (se not)
O.V. PSW.2 översvämningsflagga. Ställs in och rensas av hårdvara när du utför aritmetiska operationer.
PSW.1 Inte använd.
R PSW.0 paritetsflagga. Ställ in och återställ av hårdvara vid varje instruktionscykel och låser ett udda/jämnt antal på 1 bitar i ackumulatorn, dvs. utför paritet.

Notera. Välja en fungerande registerbank

RS1 RS0 Bank Adressgränser
0 0 0 00N-07N
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH

När många kommandon exekveras i ALU genereras ett antal operationstecken (flaggor) som registreras i SSP-registret. Tabell 4 listar SSP-flaggorna, anger deras symboliska namn och beskriver villkoren för deras bildande.

Den mest "aktiva" SSP-flaggan är bärflaggan, som deltar och modifieras i processen för att utföra en mängd olika operationer, inklusive addition, subtraktion och skift. Dessutom fungerar bärflaggan (C) som en "boolesk ackumulator" i instruktioner som manipulerar bitar. Overflow-flaggan (OV) fixar aritmetiskt spill i operationer på tecken med heltal och gör det möjligt att använda aritmetik i tvås komplementkoder. ALU styr inte registerbanksvalflaggorna (RSO, RS1) och deras värde bestäms helt av applikationsprogrammet och används för att välja en av de fyra registerbankerna.

Blockschemat för mikrokontrollersystemet finns i den grafiska delen av kursprojektet Bilaga A

3. Utveckling funktionsdiagram mikrokontrollersystem

Utveckling av minnesundersystemet

I mikrokontrollsystem byggda på basis av KR1816BE31 är det möjligt att använda två typer externt minne: programmera skrivskyddat minne (VFP) och slumpmässigt åtkomstdataminne (VPD). Tillträde till banan utförs med hjälp av styrsignalen RD, som utför funktionen av en strobesignal, läsning. Åtkomst till VPD tillhandahålls av styrsignalerna RD och WR, som genereras i ledningarna P3.7 och P3.6 när port 3 utför alternativa funktioner.

Vid åtkomst till en subVI används alltid en 16-bitars adress. VPD kan nås med en 16-bitars adress (MOVXA,@DPTR) eller en 8-bitars adress (MOVXA,@RI).

Närhelst en 16-bitars adress används, låses adressens höga byte (och hålls oförändrad under en skriv- eller läscykel) i port 2-låset.

Om nästa externa minnescykel (MOVXA,@DPTR) inte omedelbart följer den föregående externa minnescykeln, ändras inte port 2-låset i nästa cykel. Om en 8-bitars adress (MOVXA,@RI) används, förblir innehållet i port 2-låset oförändrat på dess externa stift under den externa minnescykelns varaktighet.

Genom port 0 i tidsmultiplexmoden utfärdas adressens låga byte och databyten sänds. SAVP-signalen måste användas för att skriva adressbyten till ett externt register. Sedan, i skrivcykeln, visas utdatabyten på de externa stiften på port 0 precis innan signalen inträffar. I läscykeln tas indatabitgruppen emot vid port 0 på den stigande flanken av strobsignalen.

När ett externt minne nås laddar styrenheten KR1816BE31 in koden 0FFH i registret för låsport 0 och raderar därigenom informationen som kan lagras i den.

Åtkomst till subVI är möjlig under två villkor: antingen appliceras en aktiv signal på inaktiveringsingången på det inhemska programminnet (), eller så överskrider innehållet i programräknaren värdet 0FFFH. Närvaron av en signal är nödvändig för att ge tillgång till de nedre 4K-adresserna i banans adressutrymme när du använder KR1816BE31.

Huvudfunktionen hos SAVP-signalen är att tillhandahålla timing av överföringen från port 0 till det externa registret för adressens låga byte i läscykeln från VPP. SAVP-signalen blir 1 två gånger i varje maskincykel. Detta händer även när det inte finns något anrop till subVI i hämtningsslingan. Åtkomst till VPD är endast möjlig om det inte finns någon AWAS-signal. Den första CAVP-signalen i den andra maskincykeln i MOVX-instruktionen är blockerad. Därför, i vilket MC-system som helst som inte använder VPD, genereras ARCS-signalen vid en konstant frekvens lika med 1/16 av resonatorfrekvensen och kan användas för att synkronisera externa enheter eller för att implementera olika tidsfunktioner.

Vid åtkomst till RPP genereras inte signalen, och vid åtkomst till banan utför den funktionen som en avläst strobesignal. En hel cykel av avläsning av VPD, inklusive installation och borttagning av signalen, tar 12 perioder av resonatorn.

Speciellt driftläge KR1816BE31 . Innehållet i KP1816BE31-programminnet fylls en gång under utvecklingen av MC-systemet och kan inte modifieras i den färdiga produkten. Av denna anledning är mikrokontroller inte maskiner med den klassiska "von Neumann"-arkitekturen. Bagge data kan inte användas för att lagra programkoder. Denna egenskap hos MC-arkitekturen förklaras av det faktum att det i de flesta tillämpningar av MC:n krävs att ha ett oföränderligt applikationsprogram lagrat i ROM, närvaron av ett litet RAM-minne för tillfällig lagring av variabler och effektiva och därför olika metoder av adressering av programminne och dataminne.

Mikrokontrollern KR1816BE31 har inget internt programminne och använder därför endast externt minne, som kan modifieras genom att flasha ett externt ROM-chip.

Mikroprocessor typ K1816BE31. Mängden externt RAM är 4Kbyte. I denna mikroprocessor (i enlighet med instruktionsstrukturen) tillåter extern adressering av dataminnet dig att adressera 64K byte externt minne. För att utveckla ett minnesundersystem väljer vi en mikrokrets i enlighet med listan över element som ges i bilaga D.

Utveckling av ett delsystem av tidsmässiga egenskaper

Specialfunktionsregister. Register med de symboliska namnen IP, IE, TMOD, TCON, SCON och PCON används för att låsa och programmässigt ändra kontroll- och statusbitarna för avbrottskretsen, timer/räknare, serieportsändtagare och för effektstyrning av KR1816BE31-strömmen. tillförsel.

Serieporten K1816BE31 kan fungera i fyra olika lägen.

Läge 0 I detta läge sänds och mottas information både via mottagarens externa ingångsstift (RXD). Åtta bitar av data tas emot eller sänds. Via den externa sändarens utgångsstift (TXD) matas skiftpulser ut för att åtfölja varje bit. Informationsbithastigheten är lika med 1/12 av resonatorfrekvensen.

Läge 1 . I detta läge sänds tio bitar av information via TXD eller tas emot från RXD: en startbit (0), åtta databitar och en stoppbit. Mottagnings-/överföringshastigheten är ett variabelt värde och ställs in av en timer.

Läge 2 . I detta läge sänds elva informationsbitar via TXD eller tas emot från RXD: en startbit, åtta databitar, en programmerbar nionde bit och en stoppbit. Under sändning kan den nionde databiten vara antingen O eller 1, eller till exempel kan ett paritetsvärde från programstatusordet (PSW.0) placeras i det för att förbättra överföringstillförlitligheten genom paritet. Mottagnings-/sändningsfrekvensen väljs av programmet och kan vara lika med antingen 1/32 eller 1/64 av resonatorfrekvensen, beroende på SMOD-kontrollbiten.

Läge 3 . Samma som läge 2 i varje detalj, förutom mottagnings-/sändningsfrekvensen, som är ett variabelt värde och ställs in av en timer.

Driftläget för UART styrs genom ett speciellt register SCON. Detta register innehåller inte bara styrbitarna som bestämmer driftsättet för den seriella porten, utan även den nionde biten som tas emot eller sänds (RB8 och TB8) och sändtagarens avbrottsbitar (RI och TI).

Applikationsprogrammet bestämmer driftläget för UART genom att ladda de övre bitarna i SCON specialregistret med en 2-bitars kod. I alla fyra operationslägena initieras en överföring från UART:n av varje instruktion som specificerar SBUF-buffertregistret som destinationsbyte. Mottagning i UART i läge 0 utförs under förutsättning att RI=0 och REN=1. I läge 1,2,3 startar mottagning med ankomsten av startbiten om REN=1.

TB8-biten är programmatiskt inställd på värdet för den nionde databiten, som kommer att sändas i läge 2 eller 3. I RB8-biten är den nionde mottagna databiten fixerad i lägena 2 och 3. I mod 1, om SM2=0, sätts en stoppbit i RB8. I läge 0 används inte bit RB8.

Sändarens avbrottsflagga TI sätts av hårdvaran vid slutet av den åttonde bitperioden i mod 0 och vid början av stoppbitsöverföringen i moderna 1, 2 och 3. Lämplig servicerutin måste rensa TI-biten.

Mottagarens avbrottsflagga RI sätts av hårdvara vid slutet av den åttonde bitperioden i mod 0 och i mitten av mottagning av en stoppbit i moder 1,2 och 3. Avbrottsservicerutinen måste rensa RI-biten.

Hastigheten för att ta emot/sända information över kommunikationslinjen bestäms i början av arbetet med kursprojektet och är lika med 600 baud.

Den programmerbara timern finns inuti mikrokontrollern K1816BE31.

Timer/räknare . KR1816BE31-verktygen inkluderar registerpar med symboliska namn TH0, TL0 och TH1, TL1, på basis av vilka två oberoende programstyrda 16-bitars timer/händelseräknare fungerar.

Två programmerbara 16-bitars timer/räknare (T/C0 och T/C1) kan användas som externa händelsetimer eller räknare. När den fungerar som en timer, inkrementeras innehållet i T/C i varje maskincykel, dvs. var 12:e resonatorcykel. När du arbetar som räknare, ökas innehållet i T / C under påverkan av en övergång från 1 till 0 av en extern insignal som appliceras på motsvarande (T0, T1) utgång på K1816BE31. Värdet på den externa insignalen avfrågas vid tidpunkten S5P2 för varje maskincykel. Räknarens innehåll kommer att ökas med 1 om insignalen var hög (1) i föregående cykel och låg (0) i nästa cykel. Ett nytt räknarvärde kommer att genereras vid tidpunkten S3P1 i cykeln efter den i vilken signalövergången från 1 till 0 detekterades. Eftersom det tar två maskincykler att känna igen övergången är den maximala räknefrekvensen för insignaler 1/24 av resonatorns frekvens. Det finns inga begränsningar för varaktigheten av perioden för insignaler från ovan. För garanterad läsning av ingångsavläsningssignalen måste den hålla värdet 1 under minst en maskincykel K1816BE31.

För att styra driftsätten för T / C och för att organisera interaktionen mellan timers med avbrottssystemet används två register över specialfunktioner (RRTS och RUST). Såsom följer av beskrivningen av PPTC-styrbitarna är driftlägena 0, 1 och 2 desamma för båda T/C. Lägen 3 för T/C0 och T/C1 är olika. Låt oss kort överväga driften av T / C i alla fyra lägen.

Läge 0. Överföringen av valfri T/C till läge 0 får det att se ut som en MK48-timer (8-bitars räknare), till vars ingång en 5-bitars frekvensförskalare är ansluten till 32. I detta läge har timerregistret en kapacitet på 13 bitar. Vid övergång från tillståndet "alla ettor" till tillståndet "alla nollor" sätts avbrottsflaggan från timern TF1. Timer 1 klockingång är aktiverad (vid T/C-ingången) när TR1-kontrollbiten är inställd på 1 och antingen GATE (lås) kontrollbiten är 0 eller avbrottsbegäran-utgången är på nivå 1.

Tabell 8 visar timer/räknarlägesregistren och tabell 9 visar timerkontroll/statusregister.

Genom att ställa in GATE-biten till 1 kan du använda en timer för att mäta varaktigheten av pulssignalen som appliceras på avbrottsbegärans ingång.

Tabell 4.2.1

Symbol Placera Namn och syfte
PORT TMOD.7 för T/C1 och TMOD.3 för T/C0 Blockerande hantering. Om biten är inställd, är timer/räknare "x" aktiverad så länge som ingången "INTx" är hög och styrbiten "TRx" är inställd. Om biten nollställs, så aktiveras T/C så snart "TRx"-styrbiten är inställd.
TMOD.6 för T/C1 och TMOD.2 för T/C0 Timer/händelseräknarläge Välj bit. Om biten rensas körs timern från den interna klockkällan. Om biten är inställd, arbetar räknaren från externa signaler på ingången "Tx".
M1 TMOD.5 för T/C1 och TMOD.1 för T/C0 Driftläge (se anmärkning).
М0 TMOD.4 för T/C1 och TMOD.0 för T/C0
M1 М0 Arbetsläge
0 0 Timer MK48. "TLx" fungerar som en 5-bitars förskalare.
0 1 16-bitars timer/räknare. "THx" och "TLx" är seriekopplade.
1 0 8-bitars automatisk återställningstimer/räknare. "THx" lagrar värdet som måste laddas om i "TLx" varje gång det svämmar över.
1 1 Timer/Räknare1 stannar. Timer/Counter0: TL0 fungerar som en 8-bitars timer/räknare och dess läge bestäms av styrbitarna för timer0.TH0 fungerar endast som en 8-bitars timer och dess läge bestäms av styrbitarna för timer1.

Läge 1 . Funktionen för vilken T/C som helst i mod 1 är densamma som i mod 0, förutom att timerregistret är 16 bitar brett.

Läge 2 . I läge 2 är operationen organiserad på ett sådant sätt att övergång (övergång från tillståndet "alla ettor" till tillståndet "alla nollor") av 8-bitarsräknaren TL1 leder inte bara till att TF1-flaggan ställs in, utan också automatiskt laddar om innehållet i den höga byten (TH1) till TL1-timerregistret, som tidigare ställts in programmatiskt.

Läge 3. I läge 3 fungerar T/C0 och T/C1 på olika sätt. T/C 1 behåller sitt nuvarande innehåll oförändrat. Med andra ord är effekten densamma som när styrbiten TR1 återställs till noll.

I läge 3 fungerar TL0 och TH0 som två oberoende 8-bitars räknare. Driften av TLO bestäms av styrbitarna T/C0 (, GATE, TR0), insignalen och överflödesflaggan TFO. Driften av THO, som endast kan utföra funktionerna hos en timer (räkna maskincykler för MK), bestäms av styrbiten TR1. I detta fall använder THO överflödesflaggan TF1.

Utveckling av ett delsystem för kommunikation med centraldatorn

Den designade enheten måste skicka ut innehållet i minnet till den centrala datorn, samt ta emot information från den centrala datorn.

Därför att information utbyts över långa avstånd, då måste överföringen ske i ett seriellt format. UART utför datakonvertering från parallellt till seriellt format och vice versa. UART är en universell asynkron transceiver designad för att implementera dubbelriktat asynkront utbyte av data som presenteras i parallellt format och styrord med en mikroprocessor, såväl som dubbelriktat asynkront utbyte av data som presenteras i serieformat med andra systemmoduler, såsom videoterminaler, magnetiska bandenheter , etc. .d. Således omvandlar UART den parallella koden som tas emot från systemet via databussen till seriell kod och matar ut den bit för bit till kommunikationskanalen, och utför även den omvända omvandlingen.

UART, ofta hänvisad till som serieporten, inkluderar ett sändnings- och mottagningsskiftregister, såväl som ett speciellt buffertregister (SBUF) hos sändaren/mottagaren. Att skriva en byte till bufferten gör att byten automatiskt skrivs till sändarens skiftregister och initierar starten av byteöverföringen. Närvaron av mottagarens buffertregister gör att du kan kombinera operationen att läsa en tidigare mottagen byte med mottagningen av nästa byte. Om den föregående byten inte har lästs från SBUF vid slutet av mottagandet av en byte, kommer den att gå förlorad.

Driftläget för UART styrs genom ett speciellt register med det symboliska namnet SCON. Detta register innehåller inte bara styrbitarna som bestämmer driftsättet för den seriella porten, utan även den nionde biten av mottagna eller sända data (RB8 och TB8) och sändtagarens avbrottsbitar (R1 och T1).


Tabell 4.5.1

Symbol Placera Namn och syfte
TF1 TCON.7 Timer1 spillflagga. Ställs in av hårdvara när timern/räknaren svämmar över. Raderades vid service av ett avbrott i hårdvaran
TR1 TCON.6 Timerkontrollbit 1. Ställ in/rensas av programmet för att starta/stoppa.
TF0 TCON.5 Timer1 spillflagga. Installerad i hårdvara. Rensat vid avbrott i tjänsten
TR0 TCON.4 Timerstyrbit 0. Ställ in/återställ av program för start/stopp. timer / räknare.
IE1 TCON.3
IT1 TCON.2 Kontrollbit av avbrottstyp 1. Ställs in/rensas av programmet för beställningsspecifikation (cut/low).
IE0 TCON.1 Interrupt edge-flagga 1. Ställs in av hårdvara när en extern signalavbrott detekteras. Rensat vid avbrott i tjänsten
IT0 TCON.0 Kontrollbit av avbrottstyp 0. Ställs in/rensas av programmet för begäranspecifikation (cut/low).

Läge 3 används när K1816BE31 används när ytterligare en 8-bitars timer eller händelseräknare krävs. Vi kan anta att i läge 3 har K1816BE31 3 timers/räknare. I händelse av att T/C0 används i läge 3, kan T/C1 antingen slås på eller av, eller ställas in på sitt eget läge 3, eller kan användas av serieporten som en sändningsfrekvensgenerator, eller, slutligen, kan användas i alla applikationer som inte kräver avbrott.

Efter att ha bestämt hastigheten för mottagning / överföring av information är det nödvändigt att tillhandahålla en klockfrekvens för att ta emot RxC, sända TxC. Utmatningen av dessa klocksignaler utförs med hjälp av den programmerbara timerns kanaler. Den initiala frekvensen som tillförs den programmerbara timern är lika med frekvensen för det mikroprocessorsystem som utvecklas. För att bestämma inställningen som ska skrivas till motsvarande kanal för den programmerbara timern, är det nödvändigt att bestämma omvandlingsfaktorn för systemets initiala frekvens till frekvensen för mottagning / överföring över kommunikationslinjen, och även välja lämpligt läge för drift av de inblandade timerkanalerna.

5. Utveckling av ett schematiskt diagram av den designade enheten

Val av elementbas

I den styrenhet som utvecklats i detta kursprojekt används en enchips mikrodator KM1816BE31 som central del, gjord på basis av en högnivå n- MOS-teknik och interaktion med miljön i standard TTL-kretsar med tre utgångslägen. Detta gör det möjligt att använda IC från mikroprocessorsatsen i 580-seriens höghastighets-TTL-serie vid utveckling av kretsen. Som nämnts ovan inkluderar mikrokontrollern en programmerbar timer, ett asynkront seriellt gränssnitt (UART) och en 1Kb ROM.

För att bygga den designade enheten valdes följande elementbas:

Programmerbart tangentbord och indikeringskontroll KR580VV79;

Statiskt RAM med en kapacitet på 16Kb AT28S128;

Block med sjusegmentsindikatorer ALS318;

Buffertregister K1533IR22;

ROM K573RU8;

Valet av dessa mikrokretsar beror på deras kompatibilitet vad gäller nivåer, låg strömförbrukning, tillräckligt hög hastighet och brusimmunitet.

6. Mjukvaruutveckling

För att utföra de tilldelade uppgifterna behöver mikroprocessorsystemet ett fungerande program, enligt vilket mikroprocessorn kommer att avge styrsignaler till styrbussen, adresser till minnesceller och enheter till adressbussen och utbyta data via databussen. Därför att systemet har även programmerbara styrenheter, så för att arbeta med dem krävs den så kallade initialiseringen, vilket är att ladda styrord i speciella register. Dessutom måste initieringen av alla styrenheter utföras innan systemet börjar utföra uppgiften och en gång efter att strömmen slagits på (ett undantag är en återställning av hårdvaran). För att initiera systemet används konstanter lagrade i mikrokontrollerns ROM som styrord för IC.

Det finns också hårdvaruavbrott i systemet, som ett resultat av vilka vissa åtgärder måste utföras, varefter huvudprogrammet fortsätter att köras. Sådana avbrottsrutiner för tjänstavbrott (det finns två av dem i systemet: en timeravbrottsrutin och en seriell gränssnittsavbrottsrutin).

Driftprogrammet kan villkorligt delas upp i två delar: initiering och arbetscykel.

Initialisering är en ingång i vissa register av vissa konstanter som bestämmer driftsätten för processorn och enskilda delar av systemet.

Arbetscykeln är en uppsättning procedurer och operatörer som exekveras i en oändlig slinga och säkerställer prestanda för de funktioner som tilldelats systemet. Diagram över arbetsalgoritmen och subrutiner som visas på ark 4 i den grafiska delen.

Subrutin för initiering av tangentbord och displaykontroller

PKKI typ KR580VV79 användes vid utvecklingen. Dess inställning utförs genom att ladda kontrollordet "inställning av funktionsläge för tangentbordet och indikeringsstyrenheten" i motsvarande register för styrenheten. Driftläge för tangentbordsgränssnittsblocket: sekventiell avfrågning av tangentmatrisen med avkodning av skanningsräknarens tillstånd och förbud mot 2 eller fler nedtryckta tangenter. Displayblockdriftläge: visar tecken på en 8-bitars display med deras placering från vänster till höger.

Figur 6.2 - Format för kontrollordet "mjuk återställning"

Bitar D7 - D5 - adress för kontrollordet "återställning av mjukvara";

Siffror D4 = 0 - koder som finns i det interna RAM-minnet för indikationen utfärdas till utgångarna OUT; D1 = 1 - nollning av statusregistret för tangentbords-RAM och vid utgången IRQ - en lågnivåsignal; D0ºD4.


Figur 6.4 - Format för kontrollordet "skriv till indikation RAM"

Bitar D7-D5 - adress för kontrollordet; D3-D0 - adress för indikationen RAM-cellen.

Formatet för styrordet "Läs multimode tangentbord RAM" liknar formatet för styrordet "Läs från indikation RAM", med undantag för innehållet i bitarna D7-D5.

0 1 0 1 X X X X

Figur 6.5 - Tangentbordskontroll Word Register Format

Bitar D7-D5 - adress för kontrollordet; D4 – tecken på autoinkrement; D3-D0 är adressen till tangentbordets RAM-cell.

Programmerbar Parallell Interface Initialization Subrutin

PPI:n konfigureras genom att ladda styrordet i styrordsregistret. Inställningen utförs enligt följande: port A arbetar i läget för att mata in information från sensorer genom ADC, och port B arbetar i läget för att mata ut information till DAC. Port C kommer att hantera processerna för att ta emot och utfärda information.

I det utvecklade systemet arbetar PPI i 0-läget. Funktioner i detta läge:

1) Två 8-bitars och två 4-bitars portar.

2) Alla portar kan vara både input och output.

3) Utgångsportar är låsta, ingångsportar är inte.

PPI-styrordsregisterformatet visas i fig. 6.6.

Figur 6.7 - Format för SCON-registret.

SM1 och SM0 (D7, D6) - bestäm driftsättet för serieporten (Läge 2: 9-bitars asynkron transceiver, fast transceiverhastighet);

REN (D4) – ta emot flagga för behörighetskontroll;

TB8 (D3) - inställning av tillståndet för den 9:e biten av mottagen data;

RB8 (D2) - analys av tillståndet för den 9:e biten av mottagen data;

TI (D1) – överföringsavbrottsbit;

RI (D0) – redo bit.

Tangentbordsundersökningsrutin

Det programmerbara tangentbordet och skärmkontrollern är konfigurerad för att läsa multi-mode tangentbords-RAM med automatisk ökning, vi anger antalet tangentbords-RAM-celler i räknaren. Tangentbordet avfrågas sekventiellt, varefter data på de nedtryckta funktionstangenterna registreras i tangentbordets RAM.

Underprogram för utmatning av data till indikatorer

När denna subrutin anropas återställs räknaren först till noll och sedan ökas den till det specificerade antalet indikatorer. Den programmerbara styrenheten för tangentbordet och indikeringen är konfigurerade för inspelningsläget i indikerings-RAM och informationen matas ut sekventiellt till indikatorerna. Utgången från subrutinen kommer att ske efter utfärdandet av alla teckenkoder till indikatorerna.

Polling sensorer och utfärdar utsignaler

Pollingsensorer och utfärdande av utsignaler sker enligt följande algoritm:

1) antalet avfrågade sensorer matas in i räknaren;

2) information läses från sensorerna till port A, som tidigare initierats för att ta emot data;

3) den mottagna informationen skrivs om genom batteriet till en RAM-cell speciellt designad för information från sensorerna;

4) minska räknaren för antalet sensorer med 1;

5) om en undersökning av alla sensorer har inträffat, konfigureras PPI:n om för att ge information från port B;

6) antalet utsignaler matas in i räknaren;

7) information från RAM-cellen genom batteriet matas in i port B;

8) information matas ut.

Underprogram för utbyte av information med centraldatorn

Denna subrutin läser först UART-statusregistret. Därefter utförs en kontroll: är den femte biten i registret inställd på 1. Om den är inställd betyder detta att UART är redo att sända information och bit-för-bit-data sänds till kommunikationslinjen tills räknaren för sändning informationsbitar är lika med noll. Så snart alla informationsbitar har överförts till kommunikationslinjen kommer nya initiala inställningar att göras (den initiala adressen för RAM, antalet informationsbitar) och subrutinen kommer att avsluta sin exekvering. Om, i det första steget, den femte biten i registret inte är satt till 1, kommer subrutinen att avslutas, eftersom UART inte är redo att sända information i detta fall.

Timerinitieringsrutin

För att styra driftsätten för timern / räknaren och för att organisera interaktionen av timer med avbrottssystemet, används två specialregister: TCON och TMOD.

Figur 6.9 - Format för TMOD-registret.

TMOD-registret ställer in driftlägena T/C0 och T/C1. Vi ställer in det första driftläget för T / C1: 16-bitars timer / räknare. TH1 och TL1 är seriekopplade. Vid övergång från tillståndet "alla ettor" till tillståndet "alla nollor" sätts avbrottsflaggan från timern TF1. Timer 1 klockingång är aktiverad (vid T/C-ingången) när TR1-kontrollbiten är inställd på 1 och antingen GATE (lås) kontrollbiten är 0 eller avbrottsbegärans utgång är inställd på 1.), lås är inaktiverat, timern drivs internt synkroniseringssignaler.

Timer 1 måste initieras för att utfärda serieportens sändnings-mottagningsklockfrekvens och för att organisera ett avbrott, under vilket delsystemet måste överföra information om tillståndet för de analoga sensorerna och tangentbordets tillstånd till den centrala datorn.

Timerregister fylls på:

TH1 skrivs FEh

TL1 skrivs EBh

Värdena för TH1 och TL1 uppdateras i respektive avbrottsrutin.


W slutsats

Under genomförandet av kursprojektet beaktades den strukturella organisationen, driftsätten och algoritmerna för funktionen hos en mikroprocessorenhet baserad på K1816-seriens mikrokontroller.

Under arbetet med kursprojektet utvecklades ett struktur- och schematiskt diagram, samt dess mjukvara, för vars sammanställning ett kommandosystem och funktionsalgoritmen KM1816BE31 användes, vilket gjorde det möjligt att förstå vilka processer egentligen ske i ett mikrokontrollersystem och hur de utförs.

Lista över källor

1. Digitala och analoga integrerade kretsar: Handbok / utg. S.V. Yakubovsky. - M: Radio och kommunikation, 1990. - 496 sid.

2. Mikroprocessorer / K.G. Samofalov, O.V. Viktorov - Kiev: Teknik, 1989. - 312 s.

3. Handbok för digitala kretsar / I.V. Zubchuk, V.P. Sigorsky. - K .: Teknik, 1990 - 448 sid.

4. DAC- och ADC-mikrokretsar: funktion, parametrar, applikation / B.G. Fedorkov, V.A. Oxen - M.: Energoatomizdat, 1990. 320 s.

5. Stashin V.V., Urusov I.A. Mologontseva I.A. Design digitala enheter på mikrodatorer med ett chip. M. Energoatomizdat -1990 - 285 sid.

Kvalitativa och kvantitativa förändringar i elementbasen i CT-anläggningar har lett till en förändring i de etablerade principerna för deras design (såsom en stel struktur, konsekvent central kontroll, linjär organisation av minnet och oförmågan att anpassa datorstrukturen till detaljerna av att problemet löses).

De klassiska von Neumanns principerna för organisation av datorsystem ersattes av idéerna om problemorientering av MPS, parallell och pipelined bearbetning av information, användningen av tabellformade databehandlingsmetoder, principerna om regelbundenhet och homogenitet för MPS-strukturer; idén om att skapa adaptiva avstämbara system, såväl som hårdvaruimplementering av mjukvarufunktioner, blir en verklig möjlighet. Därför har för närvarande, vid design av datorsystem baserade på MPS, den så kallade "3M"-principen tillämpats: modularitet, ryggrad, mikroprogrammerbarhet.

Principen för modulär organisation innebär konstruktion av beräknings- och kontroll-MPS baserat på en uppsättning moduler: strukturellt, funktionellt och elektriskt kompletta datorenheter som tillåter att lösa problem i denna klass oberoende eller i kombination med andra moduler. Det modulära tillvägagångssättet i designen av mikrodatorer och system gör det möjligt (vid implementering av både universella och specialiserade moduler) att säkerställa skapandet av familjer (serier) av MPS som skiljer sig i funktionalitet och egenskaper som täcker ett brett spektrum av applikationer, hjälper till att minska designkostnaderna , och förenklar också ökningen av kapacitet och omkonfigurering av system, skjuter tillbaka inkuransen av datorfaciliteter.

Ryggradensmetoden för informationsutbyte, i motsats till metoden att organisera godtyckliga länkar (enligt principen "var och en med alla"), låter dig effektivisera och minimera antalet länkar i IMS. Det säkerställer utbyte av information mellan funktionella och strukturella moduler på olika nivåer med hjälp av motorvägar som kombinerar ingångs- och utgångsbussar. Det finns en-, två-, tre- och multi-line kommunikationer. Det bör noteras sammankopplingen av kretsar och strukturella lösningar som manifesterar sig i implementeringen av denna utbytesmetod i form av att skapa speciella dubbelriktade buffertkaskader med tre stabila tillstånd och använda tidsmultiplexering av utbyteskanaler.

Mikroprogramstyrning ger den största flexibiliteten i organisationen av multifunktionella moduler och tillåter implementering av problemorienteringen av MPS, såväl som användningen av makrooperationer i dem, vilket är mer effektivt än att använda standardsubrutiner. Dessutom motsvarar överföringen av kontrollerade ord i form av krypterade kodsekvenser villkoren för att minimera antalet VLSI-utgångar och minska antalet sammankopplingar i moduler.

Förutom huvuddragen i utformningen av MPS som listas ovan, bör regelbundenhetsprincipen noteras, vilket innebär regelbunden upprepning av elementen i MPS-strukturen och relationerna mellan dem. Tillämpningen av denna princip gör det möjligt att öka den integrerade tätheten, minska längden på bindningar på ett chip, minska tiden för topologisk och kretsdesign av LSI och VLSI, minska antalet skärningar och typer av funktionella och strukturella element.

När du utvecklar arkitekturen för MPS (systemstadiet) är det nödvändigt att lösa följande uppgifter:

Ge en beskrivning av den konceptuella strukturen för systemets funktionella beteende utifrån synpunkten att ta hänsyn till användarens intressen i dess konstruktion och organisation av beräkningsprocessen i det;

Bestäm strukturen, nomenklaturen och funktionerna i konstruktionen av programvara och firmware;

Beskriv egenskaperna hos den interna organisationen av dataflöden och kontrollinformation;

Att analysera den funktionella strukturen och funktionerna i den fysiska implementeringen av systemenheterna utifrån balansen mellan mjukvara, firmware och hårdvara.

Huvudstegen för MPS-design visas i fig. 3.1.

I det inledande designskedet kan MPS beskrivas på en av följande konceptuella nivåer: "svart låda", strukturell, mjukvara, logisk, krets.

På nivån "black box" beskrivs MPS av externa specifikationer, där externa egenskaper listas.

Ris. 3.1. Stadier av MPS-design

Den strukturella nivån skapas av hårdvarukomponenterna i MPS, som beskrivs av funktionerna hos enskilda enheter, deras sammankoppling och informationsflöden.

Programnivån är uppdelad i två undernivåer (processorkommandon och språk) och MPS tolkas som en sekvens av operatorer eller kommandon som orsakar en eller annan åtgärd på någon datastruktur.

Den logiska nivån är uteslutande inneboende i diskreta system och är uppdelad i två undernivåer: kopplingskretsar och registeröverföringar. Den första undernivån bildas av grindar (kombinationskretsar och minneselement) och databehandlingsoperatörer byggda på deras bas. Den andra undernivån kännetecknas av en högre grad av abstraktion och är en beskrivning av registren och överföringen av data mellan dem. Den innehåller två delar: information och kontroll: den första bildas av register, operatörer och dataöverföringsvägar, den andra ger tidsberoende signaler som initierar dataöverföring mellan register.

Kretsnivån är baserad på beskrivningen av driften av elementen i diskreta enheter.

I livscykeln för en MPS, som alla diskreta system, finns det tre stadier: design, tillverkning och drift. Var och en av stegen är uppdelad i flera faser, för vilka det finns sannolikheter för förekomsten av strukturella eller fysiska fel. Fel klassificeras efter deras orsaker: fysiska, om de orsakas av elementdefekter, och subjektiva, om de orsakas av konstruktionsfel.

Subjektiva fel delas in i design och interaktiva. Designfel orsakas av brister som införts i systemet i olika skeden av genomförandet av den ursprungliga uppgiften. Interaktiva fel uppstår under drift på grund av fel från underhållspersonalen (operatören). Resultatet av manifestationen av ett fel är ett fel, och ett fel kan orsaka ett antal fel, och samma fel kan orsakas av många fel.

Det finns också begreppet defekt - en fysisk förändring av parametrarna för systemkomponenter som går utöver acceptabla gränser. Defekter kallas fel om de är tillfälliga och fel om de är permanenta. En defekt kan inte upptäckas förrän förutsättningar skapas för uppkomsten av ett funktionsfel på grund av det, vars resultat i sin tur måste överföras till utgången av objektet som studeras för att göra felet observerbart.

Feldiagnos är processen för att fastställa orsaken till ett fel baserat på testresultat. Debugging är processen att upptäcka fel och bestämma källorna till deras förekomst baserat på resultaten av testning i designen av MPS. Felsökningsverktyg är enheter, komplex och program. Ibland förstås felsökning som upptäckt, lokalisering och eliminering av ett fel. Framgången med felsökning beror på hur systemet är designat, om det finns funktioner som gör det enkelt att felsöka och på de verktyg som används för felsökning. För felsökning måste den designade MPS ha egenskaperna kontrollerbarhet, observerbarhet och förutsägbarhet.

Styrbarhet är en egenskap hos ett system där dess beteende kan styras, d.v.s. det är möjligt att stoppa driften av systemet i ett visst tillstånd och starta om systemet.

Observerbarhet är en egenskap hos systemet som gör att du kan följa systemets beteende, förändringen i dess interna tillstånd.

Förutsägbarhet är en egenskap hos ett system som låter dig ställa in systemet till ett tillstånd från vilket alla efterföljande tillstånd kan förutsägas.

MPS i deras komplexitet, krav och funktioner kan skilja sig avsevärt i driftsparametrar, mängd mjukvara, typ av mikroprocessoruppsättning etc. I detta avseende kan designprocessen modifieras beroende på kraven på systemet. Till exempel kommer processen att designa MPS, som skiljer sig från varandra i innehållet i ROM, att bestå av utveckling av program och tillverkning av ROM. När man designar multiprocessor MPS som innehåller flera typer av MPC är det nödvändigt att lösa frågorna om minnesorganisation, interaktion med processorer, organisation av utbyte mellan systemenheter och den externa miljön, etc.

De mest typiska stadierna av design och utveckling av MPS är: formalisering av systemkrav; utveckling av MPS:s struktur och arkitektur; utveckling och tillverkning av hårdvara och mjukvara för systemet; komplexa felsöknings- och acceptanstester.

Designprocessen är en iterativ process. Fel som upptäcks under acceptanstestningsfasen kan leda till en korrigering av specifikationen och följaktligen till att konstruktionen av hela systemet påbörjas. Fel måste upptäckas så tidigt som möjligt; för att göra detta är det nödvändigt att kontrollera projektets riktighet i varje utvecklingsstadium. Det finns följande metoder för att kontrollera riktigheten av designen: verifiering (formella metoder för att bevisa projektets riktighet); modellering; testning.

På senare tid har det dykt upp mycket arbete med verifiering av mjukvara, mikroprogram och hårdvara. Dessa verk är dock fortfarande teoretiska till sin natur. Därför används i praktiken oftare modellering av ett objekts beteende och testning på olika nivåer av den abstrakta representationen av systemet.

Vid formalisering av kraven på systemet är kontrollen av projektets riktighet särskilt nödvändig, eftersom många designmål inte är formaliserade eller inte kan formaliseras i princip. Den funktionella specifikationen kan granskas av ett team av experter, eller modelleras och testas experimentellt för att avgöra om de önskade målen uppnås. Efter godkännandet av funktionsspecifikationen börjar utvecklingen av testprogram, utformade för att fastställa korrekt funktion av systemet i enlighet med dess specifikation. Helst utvecklas tester som är helt baserade på denna specifikation och tillåter testning av alla implementeringar av systemet som påstås kunna utföra de funktioner som specificeras i specifikationen. Denna metod är raka motsatsen till andra, där tester byggs i relation till specifika implementeringar. Men i praktiken prioriteras testutveckling ofta lägre än projektet, så testprogram dyker upp mycket senare än projektets slutförande.

testfrågor

1. Förklara begreppen modularitet, ryggrad och mikroprogrammerbarhet för MPS i designen.

2. Lista de uppgifter som utvecklarna löste när de designade MPS.

3. Lista de viktigaste stegen i MPS-design.

4. Nämn de konceptuella nivåerna i beskrivningen av MPS i design och utveckling.

5. Lista de viktigaste metoderna för att övervaka riktigheten av utformningen av MPS.

6. Vilka egenskaper ska den designade MPS ha för att utföra steget av sin felsökning?

7. Lista typerna av fel i konstruktionen av MPS.

8. Vilka är orsakerna till fysiska och subjektiva fel på MPS.

9. Förklara begreppen: feldiagnos, felsökning.

Processerna för automatisering av teknisk utrustning har fångat en stor del av hela produktionsorganisationen. De används överallt i verktygsmaskiner, maskiner och mekanismer, robotkomplex. Ny teknik ökar arbetsproduktiviteten avsevärt, vilket minskar den mänskliga faktorns inverkan på riskerna i produktionen. Stiger också teknisk nivå och produktkvalitet. Mikroprocessorsystem - vid en tidpunkt var en innovativ teknik. Men nu är detta redan vanligt, eftersom enheter som är gjorda med mikroprocessorer har högre prestanda jämfört med enheter gjorda på separata logiska kretsar, med den förra ekonomiska fördelen.

Standardisering av utvecklingsprocessen förenklar analys och forskning inom detta område. Det gör det också tydligt Nuvarande tillstånd och möjliga resultat. Dagens inbäddade mikroprocessorföretag använder fältprogrammerbara logiska integrerade kretsar (FPGA) och datorstödda tillverkningssystem för snabb och organiserad design. Med hjälp av FPGA:er är även realtidsfelsökning och testning möjlig. Den årliga CAD-uppdateringen låter dig lägga mindre och mindre tid på monotont och enstavigt arbete, samtidigt som du undviker uppenbara misstag. Detta gör att du kan abstrahera till mer höga nivåer system och problemlösning.

Processen att utveckla inbäddade mikroprocessorsystem kan representeras som två vägar av successiva designsteg. Den första vägen är utvecklingen av hårdvaran i ett inbyggt mikroprocessorsystem. Den andra vägen är mjukvarudesign (Fig. 1).

Figur 1. Designstadier

Men inte alla etapper av rutten krävs. Modellering av systemets hårdvara under utveckling får inte utföras. Därför kan vissa steg uteslutas: förberedelse av modelleringsspecifikationen, generering av modeller, funktionell och tidsmässig modellering. Samtidigt bör man komma ihåg att modellering av systemets hårdvara ökar effektiviteten i designprocessen som helhet på grund av tidigare upptäckt möjliga fel och deras eliminering.

Typiska designsteg för mikroprocessorsystem inkluderar:

  1. Formalisering av olika systemkrav. Det är nödvändigt att upprätta externa specifikationer, referensvillkor (TOR) för systemet, anteckningar om systembilden av utvecklaren i dokumentationen, listar systemets funktioner.
  2. Utveckling av systemelementens struktur och arkitektur. Det är nödvändigt att bestämma interaktionen mellan hårdvara och mjukvara, funktionerna hos kringutrustning och mjukvaruskal, att välja mikroprocessorlösningar på grundval av vilka systemet kommer att implementeras, för att bestämma tidsegenskaperna.
  3. Utveckling och produktion av hård- och mjukvara för systemet. Det är nödvändigt att utveckla strukturen och kretsscheman, göra en prototyp och felsöka den under villkoren för grundläggande driftlägen. Mjukvaruutveckling bör bestå av algoritmer, skriva källkod, översätta källprogram till objektprogram, mjukvarufelsökning och simulering.
  4. Allmänna felsöknings- och acceptanstester i arbetsförhållanden.

Den mänskliga faktorn möjliggör funktionsfel och dåliga designbeslut. Det finns även hårdvarufel i enheterna. Till exempel är följande felkällor i etapper möjliga:

Steg 1. Logisk inkonsekvens av krav, utelämnanden, felaktigheter i algoritmen.

Steg 2. Utelämnanden av funktioner, utelämnande av vissa informationsflöden, inkonsekvens i protokollet för samverkan mellan hårdvara och mjukvara, felaktig definition av tekniska krav, felaktigt val av mikroprocessorlösningar, felaktigheter i algoritmer.

Steg 3. Vid utveckling av utrustning - utelämnande av vissa funktioner, felaktig tolkning av referensvillkoren, brister i synkroniseringsscheman, brott mot designregler; vid utveckling av programvara - utelämnanden av vissa funktioner i referensvillkoren, felaktigheter i algoritmer, felaktigheter i kodning; vid tillverkning av en prototyp - fel på komponenter och kringutrustning, fel i installation och montering.

Var och en av de listade felkällorna kan leda till ett stort antal fysiska eller subjektiva fel som måste identifieras och elimineras ytterligare. Detektering och lokalisering av ett fel är komplicerat av flera skäl: för det första, på grund av funktionsfel, kan det finnas flera; för det andra enhetligheten av symtom på olika problem. Eftersom det inte finns några modeller för subjektiva fel är denna uppgift inte formaliserad. Det går att lösa med hjälp av expertsystem – en databas med befintliga problem och deras lösning utifrån praktisk erfarenhet.

Subjektiva fel skiljer sig från fysiska fel genom att de inte längre uppstår efter upptäckt, lokalisering och korrigering. Men subjektiva fel kan införas underasen, vilket innebär att även efter att systemet har testats noggrant för att uppfylla sina specifikationer kan det finnas subjektiva fel i systemet.

Designprocessen är en iterativ process, vilket innebär att om fel inte elimineras helt i ett skede kan de dyka upp i nästa. Det är nödvändigt att upptäcka fel så tidigt som möjligt, för detta är det nödvändigt att kontrollera projektets riktighet i varje utvecklingsstadium. Till exempel kan fel som upptäcks i slutskedet av acceptans och leverans av projektet leda till korrigering av specifikationer, och följaktligen till början av designen av hela systemet. Ändringar i uppdragsbeskrivningen (på grund av underdrift och bristande information om systemet) leder till samma konsekvenser.

De viktigaste metoderna för att kontrollera konstruktionens riktighet är: verifiering, modellering och testning.

Verifiering låter dig upptäcka inte bara aktuella fel, utan även potentiella fel som kan dyka upp i framtida projekt med hjälp av block. Men det kräver en separat teknisk uppgift och relevant kompetens och lämpar sig för stora projekt. I små projekt används oftare objektbeteendemodellering och testning. detta alternativ är kostnadseffektivt och kräver inte mycket resurser.

Korrekthetskontroll uppnås i varje designsteg genom behovet av att genomföra simuleringar på olika nivåer av systemabstraktion och verifiera riktigheten av den implementerade delen av modellen genom testning. Funktionsspecifikationen kan modelleras och testas experimentellt för att bestämma det förväntade resultatet. Det kan också analyseras av ett team av experter. Efter godkännandet av funktionsspecifikationen börjar utvecklingen av funktionstester av systemet, utformade för att fastställa att systemet fungerar korrekt i enlighet med dess funktionsspecifikation. Det är mest effektivt att utveckla tester helt baserade på denna specifikation, eftersom detta gör det möjligt att testa vilken systemimplementering som helst som kan utföra de funktioner som specificeras i specifikationen. Denna metod liknar andra, där tester byggs i relation till specifika implementeringar, men mer exakt jämför förväntningar och utvecklingsresultat.

När ett fel har upptäckts måste dess källa lokaliseras för att kunna korrigeras på lämplig nivå av den abstrakta representationen av systemet och på lämplig plats. Felaktig bestämning av källan till felet eller att göra justeringar på en annan nivå av den abstrakta representationen av systemet leder till att information om systemet på toppnivån blir felaktig och inte kan användas för ytterligare felsökning under produktion och drift av systemet. systemet.

Att automatisera det monotona arbetet med att utveckla testprogram förkortar bygg- och felsökningsperioden genom att få tester tidigare (eftersom de kan genereras så fort kraven på systemet skapas) och gör att konstruktören kan ändra specifikationer utan att skriva om alla testprogram. I praktiken är utvecklingen av tester av mindre prioritet än projektet, så testprogram dyker upp mycket senare än de är klara.

Således, med hänsyn till nyanserna i mikroprocessordesign, kan man enkelt kringgå "fallgroparna" under utvecklingen. Användningen av programmerbara logiska integrerade kretsar (FPGA) gör det lättare att felsöka en batch som ännu inte har släppts och låter dig testa projektet och fixa buggar. Och datorstödda tillverkningssystem (CAD) förenklar utvecklingen, vilket gör att du kan omfördela resurser mer rationellt.

Bibliografi:

  1. SibGUTI [ Elektronisk resurs] / Designa en mikroprocessor på en FPGA - Åtkomstläge: http://ict.sibsutis.ru/sites/csc.sibsutis.ru/files/courses/mps/mp.pdf - gratis. - sidhuvud från skärmen. - språk ryska (tillgänglig 22.12.2017).
  2. Zotov V. Embedded Development Kit är ett system för att designa inbäddade mikroprocessorsystem baserat på FPGA-seriens FPGA från Xilinx. 2004. Nr 3.
Dela med sig