Grænseflader

Fra Holstebro HTX Wiki
Skift til: navigering, søgning

Grænseflader er en uddybende forklaring i forlængelse af blokdiagrammet og den forklaring der skal være til blokdiagrammet. Blokdiagrammet tager udgangspunkt i hvilke blokke projektet består af for at give et overblok over et produkt, og forklaringen til blokdiagrammet skal uddybe hvad de enkelte blokke skal løse i produktet.

Grænseflader tager udgangspunkt i overgangen mellem de forskellige blokke, og handler om, hvordan elektronik og kode spiller sammen til en højere enhed. Grænsefladerne skal helst defineres så godt at de enkelte moduler kan udvikles uafhængigt af hinanden, og hvis ellers blokkene overholder grænseflade-specifikationerne, så kan blokkene sættes sammen og fungere som et samlet produkt.

I computer- og el-teknik kan man betragte 4 forskellige typer grænseflader:

  • mellem omgivelserne/brugeren og elektronikken
  • mellem hardware-modulerne
  • mellem hardware og software
  • mellem softwaremodulerne

Eksempel på grænseflader

Der tages udgangspunkt i et konkret eksempel på en styring af temperatur, hvor manhar lavet følgende blokdiagram:

Blok-diag.eksempel.png

En kortfattet forklaring til blokkene kan være:

  • Temperaturmålingen skal kunne måle temperaturen i et bestemt rum
  • Konverteringen skal kunne omsætte signalet fra temperaturmålingen til noget styringen kan håndtere
  • Styringen skal kontrollere hele systemet
  • Setpunkt skal kunne angive den ønskede rumtemperatur
  • Displayet skal kunne vise styreformen, setpunkt og aktuel temperatur
  • Betjening skal kunne angive hvordan styring skal fungere
  • Varmelegeme skal opvarme luften i rummet

Grænseflader mellem omgivelserne/brugeren og elektronikken

Disse grænseflader er med til at definere hvordan hele projektet fungerer sammen med omgivelserne, der er både hvad der kommer ind / ud af produktet, og hvordan man betjener det

Eksempel

Produktet har to fysiske tilgange til omverdenen - det kan måle temperaturen, og her er det interessante temperaturområde 20 til 30 grader. Det kan opvarme luften ved hjælp af et elektrisk varmelegeme.

Der er to betjeningsmuligheder:

  1. man kan på en knap vælge om styringen skal være manuel eller automatisk. Hvis den er manuel kan man på en anden knap tænde og slukke for varmelegemet, og hvis den er automatisk kan man vælge styringsformen.
  2. Hvis styringen er automatisk kan man angive hvilken temperatur der skal styres efter.

Displayet kan vise to forskellige visninger afhængigt af om det er automatisk eller manuelt:

Temp: 25.3   PID
Setp: 25.0   Off

eller

Temp: 26.2   Man
             On

Grænseflader mellem hardware-modulerne

Her defineres hvilke stikforbindelser der er mellem de forskellige moduler, og hvilke signaler der er på de forskellige ben.

Denne del kan blive ret omfattende, hvis man går meget i detaljer, så det kan være en fordel at lægge nogle af dem i bilag.

Eksempel

Temperaturmodulet skal måle temperaturen mellem 20 og 30 grader, og dette skal udtrykkes som en analog spænding, der kan måles af en analog indgang på styringen. Samtidigt skal temperaturmodulet have sin forsyning fra styringen.

Signal Ben-nr Portben Spændinger Betydning
Temperatur 3 RA2 1V-3,5V 20-30 grader
Forsyning 9 -- +5V Vcc
Stel 10 -- 0V GND

Setpunktet kommer fra et analogt potentiometer, der giver mellem 0 og 5V

Signal Ben-nr Portben Spændinger Betydning
Setpunkt 5 RA4 0V-5V 20-30 grader
Forsyning 9 -- +5V Vcc
Stel 10 -- 0V GND

Driveren skal have et signal til varmelegemet, som kan tænde eller slukke varmelegemet.

Signal Ben-nr Portben Spændinger Betydning
Varme 2 RA1 0V/5V sluk/tænd
Forsyning 9 -- +5V Vcc
Stel 10 -- 0V GND

Varmelegemet skal have 9V for at kunne afgive den nødvendige varme, så sammen med forbindelsen til varmelegemet skal der tilsluttes 9V forsyning til driverprintet.

Signal Ben-nr Spændinger Betydning
Varmelegeme 1 0V stel
Varmelegeme 2 0V/5V slukket/varme
Forsyning 3 +9V Vee
Stel 4 0V GND

Tasterne skal skal ind på to portben, og der trækkes forsyning fra styringen.

Signal Ben-nr Portben Spændinger Betydning
Auto/Man 4 RA3 0V/5V passiv/aktiv
On/Off 6 RA5 0V/5V passiv/aktiv
Forsyning 9 -- +5V Vcc
Stel 10 -- 0V GND

Displayet skal have 6 digitale signaler for at kunne lave en visning.

Signal Ben-nr Portben Spændinger Betydning
Data 0 1 RC0 0V/5V 0/1
Data 1 2 RC1 0V/5V 0/1
Data 2 3 RC2 0V/5V 0/1
Data 3 4 RC3 0V/5V 0/1
EN 5 RC4 0V/5V 0/1
EN 6 RC5 0V/5V 0/1
Forsyning 9 -- +5V Vcc
Stel 10 -- 0V GND

Grænseflader mellem hardware og software

En del af grænsefladerne mellem hardwaren der går ind i styringen, der består af en PIC, som udfører softwaren, så nogle af disse grænseflader kan have samme indhold, og kan derfor være overflødige, men på nogle punkter kan det stadig give mening.

Eksempel

Port A anvendes til en del af de forskellige hardware moduler, og signalerne konfigureres på følgende måde

Signal Portben Portnavn Funktion Betydning
-- RA0 pin_a0 ingen kan anvendes til test
Varmelegeme RA1 pin_a1 Digitalt output Høj signal tænder varmelegemet
Temperatur RA2 AN2 Analogt Input 1,0 - 3,5V for 20 - 30 grader
Auto/Man RA3 pin_a3 Digitalt Input Højt input er knappen trykket ned
Setpunkt RA4 AN3 Analogt Input 0 - 5V for 20 - 30 grader
On/Off RA5 pin_a5 Digitalt Input Højt input er knappen trykket ned


Grænseflader mellem softwaremodulerne

Mellem de forskellige dele af softwaren skal der afleveres signaler med en klar betydning. Det kan være forskellige signaler, men typisk i form af variabler, hvor værdien angiver en bestemt betydning.

Eksempel

Temperaturen aflæses med adc_read og lagres i variablen Temperatur

  • 204 svarer til 20 grader
  • 716 svarer til 30 grader

Setpunktet aflæses med adc_read og lagres i variablen Setpunkt

  • 0 svarer til 20 grader
  • 1023 svarer til 30 grader