System Arkitektur og Integration



Relaterede dokumenter
Datamaters arkitektur og programmering

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007

Filnavn: main.c

Multi System Printer Server

MCE2040 SERIEL KOMMUNIKATIONSMODUL

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)

Projekt - RoboNet Del Journal.

Video Projector Controller. Brugermanual

Teknisk beskrivelse TDC AlarmNet

Modbus data modellen er opbygget af fire primære data typer. I nedenstående skema er en kort oversigt over disse.

Internt interrupt - Arduino

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

Indhold. 1.1 Introduktion Status-Indikatorer Stikforbindelser 5

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

Andreas Nordbek & Kristoffer Skude Jensen. DMX Styring Side 1 af 15

Teknisk beskrivelse TDC AlarmNet

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Robonet Profibus Generel opsætning

Operation Manual SMS Air Conditioner Remote Controller Model No.: SR-001

AUTOMATIK G9000 INDSTILLINGER DK C E R A M A C E R A M A C E R A M A C E R A M A C E R A M A C E R A M A C E R A M A

GSM SMS Modem MODEL: SA RTU-1 V1.01

16. september 2013 InClimate funktionalitets og modbus setup version 7.1 Side 2

Bruger Manual For WT-215W WIFI relæ

MCE9637 DeviceNet Modul

up/ansi Eksamensspørgsmål

CANSAT & ARDUINO step by step

INSTRUKTION. OJ-DV Hterm. OJ Drives A DRIVES PROGRAMME DEDICATED TO VENTILATION SOLUTIONS /15 (OSH) 2015 OJ Electronics A/S

Seriel kommunikation

IAI Quick Start Guide

Typisk PC arkitektur. Synkronisering ved aktiv venten

Arduino kursus lektion 3:

Titel: Automatisk katapult. Synopsis: Tema: Mikroprocessorsystemer. Projektperiode: P3, efterrårssemesteret Projektgruppe: 350

Opstartsmanual. Remote Access Dial-in Ethernet Modem RADES G-nr EAN

Cat. No. W317-DA2-01 SYSMAC CPM1A PLC OPERATION MANUAL

Projekt rapport. for. Zigbee kommunikation

OG-3600 Series Fiber Optic Transport for opengear card frame platform w/ SNMP Management

MCE2035 PROFIBUS-DP MODUL

Overvågning af punktsug, URANOS LOCAL EXHAUST GUARD

Serielmenu. Baud. PS SmartSwitch. Databit. Robust XON. Benyt DSR RS-232/RS-422. Jobbuffering. RS-422 polaritet. NPA-tilstand. Serielbuffer.

Søren Guldbrand Pedersen Diverse noter til PC & Net Side 2 af 8. TYPE - viser fil eller program på skærmen.

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

const int disponibel_10= 10; const int disponibel_11= 11; const int disponibel_12= 12; const int blinkled = 13; // pin 13 er LED på NANO

Programmérbar digital tæller for Inkremental og Absolut målesystemer

BRUGERVEJLEDNING FLTA

Vejledning til håndterminal til ventilatormotorstyring, TBLZ-2-75 SILVER C

1.1 Indledning. Features: Højintensitet LED-display. Fleksibel forsyning (12-45V). Kan placeres op til 100m fra controlleren.

WT-1672A GSM trømsvigt Alarm

2070 PROFINET MODUL. Overførsel af status og vægt via PROFINET

DAGLIG BETJENING AF PS4

Beskrivelse af vejrstation OM1 NETLON NETLON. Dette dokument indeholder en beskrivelse af en vejrstation OM1 fra Netlon.

Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen,

VEJE TERMINAL TYPE MCE9625G

Gateway MP til Modbus RTU. Alle BELIMO motorer med MP-Bus kan tilsluttes til MP-siden af UK24MOD. Interface MP / Modbus RTU

WT-9001 GSM Fjernkontrol med SMS/GPRS alarm kontrol system Version

Detter dokument er kun til intern brug og klassificeret som strengt fortroligt. Forfatteren tager forbehold for alle fejl og mangler.

Indholdsfortegnelse :

Side Afsnit (fortsat) Side. Protokol Medie Transmissionsformater Baudhastigheder Modbus dedikeret port

Jasopels Farm Assist V3. Bruger vejledning

5. systemet skal indeholde 2 stk 1 Mbit(8 bit ROM implementeret som flash memory.

MultiProgrammer Manual

Bruger manual AGAM kontrolboks

Brugervejledning. Trådløs HD Sender & Modtager Sæt

Alle dip 1 7 sættes til On for at opnå stand-alone operation fra PC.

Intro til AVR. Mads Pedersen, OZ6HR

Rumtryksregulator, URANOS ROOM PRESSURE REGULATOR

Kravspecifikation For. Gruppen

Fra programmering til mikroprocessor

4X29 ANALOG SYSTEM. Overførsel af vægt via analogt udgangssignal

A. S1-knappen BEMÆRK! I M-modeller kan de viste målingsoplysninger også vælges via Modbus.


// inkluder library kode: #include <LiquidCrystal.h> #include <Serial.h> // Initialiser display LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

TX Controller Betjeningsvejledning

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol

ARDUINO PROGRAMMERING

KOMPONENT BESKRIVELSE

DME Bootstrap Version 1.4x

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

InClimate. Funktionalitets setup og Modbus beskrivelse. Version 7200 Software. Version Senmatic A/S.

GSM REMOTE CONTROL AND MONITORING SYSTEM Model: GSM-220

LCD Character display Intro

Lynhurtig og sikker farvegenkending SI-COLO3-50-FCL

Trust Energy Protector 325/525. Brugervejledning

Operation Manual SMS Air Conditioner Remote Controller Model No.: SR-001

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

1 Indholdsfortegnelse.

dmasark Aflevering - Uge 50

Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK AC Motor Controller 370W. Brugermanual

8 bit unsigned integer værdier vist som binær, decimal og hexdecimal. Embeddede systemer. En introduktion til MSP430

Sådan opsætter du produkter i med henblik på online salg via Websuite eller Compubook. Manual version 3.0

VAV med motoriserede armaturer og LON-styring

Programmeringseksempel tl BCxxxx (Seriel)

OVERVÅGNINGSSYSTEM FICO-64» MONTAGEANVISNING

Topcon PCCDU opsætning GNSS Base eller Rover.

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004

LM Technologies bluetooth seriel adapter Installationsvejledning

4X35 PROFIBUS-DP SYSTEM

DC-Motor Controller. Brugermanual

Seriel kommunikation RS232 / RS485

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:

Transkript:

Mikael Svenstrup System Arkitektur og Integration 1/24 System Arkitektur og Integration MM11: Seriel kommunikation 2 (SW)

Indhold Mikael Svenstrup System Arkitektur og Integration 2/24 Tidligere har i hørt om: Hardware til seriel kommunikation Simpel software til seriel kommunikation Idag skal vi snakke om: Watchdog Timer: Hunden der holder øje med om computeren laver fejl. Interrupt basert seriel kommunikation. Fejldetektion på seriel kommunikation. Seriel kommunikation med buffere.

Seriel kom. resume Mikael Svenstrup System Arkitektur og Integration 3/24 Seriel Kommunikation Resume

Seriel kom. resume Mikael Svenstrup System Arkitektur og Integration 4/24 Seriel kommunikation har en TX og en RX linje. RS232: +-12V 1200, 4800, 9600, 19200, 38400, 57600, 115200 DB9 stik: Signal Type Abbr. Dir. DE-9 Common Ground G 5 Transmitted Data TxD Out 3 Received Data RxD In 2 Data Terminal Ready DTR Out 4 Data Set Ready DSR In 6 Vi bruger kun: 5 (GND) og RX, TX (2, 3) Request To Send RTS Out 7 Clear To Send CTS In 8 Carrier Detect DCD In 1 Ring Indicator RI In 9

Seriel kom. resume Mikael Svenstrup System Arkitektur og Integration 5/24 Opsætning: Baudrate (fx 19200) Databits (8 bits) Parity? Stop bits (1 eller 2)

Seriel kom. resume Mikael Svenstrup System Arkitektur og Integration 6/24 Opsætning på MSP430 (UART0): Set baudrate i U0BR0 og U0BR1 (og evt. modulation i U0MCTL) Set stopbits, datalængde osv. i U0CTL Enable UARTEN i ME1 Opsæt ben P3.4 og P3.5 til henholdsvis output og input Opsæt ben P3.4 og P3.5 til UART funktion Sende fra MSP430: Check at flaget UTXIFG (i IFG1) er sat hvilket indikerer at TX bufferen er tom og klar til ny data. Placer byte der skal sendes i U0TXBUF Modtage på MSP430: Check at flaget URXIFG (i IFG1) er sat hvilket indikerer at der er ny data i RX bufferen. Læs byten fra U0RXBUF

Watchdog Timer Mikael Svenstrup System Arkitektur og Integration 7/24 Watchdog Timer Hvad sker der hvis/når man har lavet en fatal kode fejl og systemet fryser?

Watch Dog Timer Mikael Svenstrup System Arkitektur og Integration 8/24 En watchdog timer (WDT) er en hardware timer enhed der udløser et system reset, hvis hoved-programmet ikke servicerer watchdog en (kaldet kicking the watchdog ) med jævne mellemrum. Dette sker hvis programmet hænger fast et sted og wathdog en sørger så for at systemet kommer tilbage til normal operation. Er smart til embedded systemer hvor der ikke er nogen bruger til at trykke på reset når der kommer blue screen of death.

Watch Dog Timer Mikael Svenstrup System Arkitektur og Integration 9/24 WDT på MSP430: Kan også benyttes som alm. timer, men her fokuserer vi på WDT funktionaliteten. WDT control registreret er password beskyttet. Er default ON efter en opstart! 16-bit op-tæller, resetter på overflow. 3 registre: WDTCTL, til opsætning af selve timeren IE1, interrupt enable for timer-mode (ikke WDT) IFG1, WDT overflow interrupt, kan bruges til at håndtere system crach

Watch Dog Timer Mikael Svenstrup System Arkitektur og Integration 10/24 Kick the dog: MOV #WDTPW+WDTCNTCL,&WDTCTL //asm WDTCTL = WDTPW + WDTCNTCL; // C Stop the dog MOV #WDTPW+WDTHOLD,&WDTCTL //asm WDTCTL = WDTPW + WDTHOLD; // C Timeout for default WDT: 16 bit register = 65536 default tællefrekvens (DCOCLK) = 750 khz Timeout = 750000^-1 * 65536 ~= 87 ms

Kommunikationsfejl Mikael Svenstrup System Arkitektur og Integration 11/24 Fejl på seriel kommunikation Hvordan ved vi at vi mister data på kommunikationen og hvordan får vi de data igen?

Kommunikationsfejl Mikael Svenstrup System Arkitektur og Integration 12/24 Framing error: Lav stop bit

Kommunikationsfejl Mikael Svenstrup System Arkitektur og Integration 13/24 Break Condition: Timeout på tiden mellem start og stop bit.

Kommunikationsfejl Mikael Svenstrup System Arkitektur og Integration 14/24 Parity Error: Kræver selvfølgelig at der benyttes kommunikation med paritet slået til. Paritet tæller antallet af 1-taller i den sendte byte og sættes derefter. Man kan vælge even og odd paritet. Even = parity bit er 0 hvis lige antal 1- taller og 1 hvis ulige antal. Odd paritet er lige omvendt.

Kommunikationsfejl Mikael Svenstrup System Arkitektur og Integration 15/24 Buffer overrun: Fortæller om du er gået glip af modtaget data fordi du har haft for travlt til at checke din postkasse. (1) Der modtages en byte og den puttes i RX bufferen (2) RX bufferen læses. (3) Der modtages en byte og den puttes i RX bufferen (4) Der modtages en byte og den puttes i RX bufferen (5) Buffer overrun flaget sættes.

Kommunikationsfejl Mikael Svenstrup System Arkitektur og Integration 16/24 Receiver overrun error: Når der ankommer en ny byte i RX bufferen uden at den gamle byte er blevet læst. Framing error: Når der detekteres en lav stop bit. Break Condition: Når signalet falder ud således at der går for lang tid mellem start og stop bit. Parity error: Når pariteten af det af data ikke modsvarer paritets bit. Ved de tre sidste bliver den fejl behæftede byte smidt væk. Ved den første har man allerede mistet byten.

Seriel kommunikation 2 Mikael Svenstrup System Arkitektur og Integration 17/24 Seriel kommunikation med interrupts og buffer Når vores programmer bliver større og mere avancerede har vi brug for noget mere end polling.

Interruptbaseret RS232 Mikael Svenstrup System Arkitektur og Integration 18/24 Sidst prøvede vi seriel kommunikation til og fra MSP430 med software med polling. Som vi snakkede om i mm7, er der ulemper forbundet med polling og derfor prøver vi denne gang at lave interrupt baseret kommunikation

Interruptbaseret RS232 Mikael Svenstrup System Arkitektur og Integration 19/24 Uafhængige interrupts for TX og RX. Enable interrupts: UTXIE0 = 1 URXIE0 = 1 GIE = 1

Interruptbaseret RS232 Mikael Svenstrup System Arkitektur og Integration 20/24 Interrupts når: Byte i TX bufferen er blevet sendt og er klar til en ny byte. UTXIFG0 bliver sat og slettes når der skrives en ny byte til TX bufferen. Der er en ny byte klar i RX bufferen. URXIFG0 bliver sat og slettes når der læses fra bufferen.

Ring buffer Mikael Svenstrup System Arkitektur og Integration 21/24 Bufferet I/O: Benyttes fx når sender leverer data i bursts og modtager kører periodisk. I/O uden buffer: Ved fx. real tids regulerings systemer skal controlleren have data når de kommer. Circular buffer User process Seriel line

Ring buffer Mikael Svenstrup System Arkitektur og Integration 22/24 Circular buffer: Meget simpel data buffer struktur. Nyttig i forbindelse med interrupt baseret seriel driver. Seriel driveren henter data fra RX bufferen når den er klar og putter den i ring bufferen. Hoved programmet kan så hente fra ring bufferen når den er klar. Vice versa for at sende. Man bør tænke over: -Buffer full -Buffer empty afhængig af hvad man bruger bufferen til.

Ring buffer (SW eks) Mikael Svenstrup System Arkitektur og Integration 23/24 // Dummy code for circular buffer without buffer empty or full checking int circ_buffer[buf_length]; /* circular buffer for data */ int circ_buffer_in = 0; /* in-pointer of the buffer */ int circ_buffer_out = 0; /* out-pointer of the buffer */ int circ_buffer_count = 0; void feed_buffer(int n) { circ_buffer[circ_buffer_in] = n; if (circ_buffer_in < (BUF_LENGTH-1)) circ_buffer_in++; else circ_buffer_in = 0; circ_buffer_count ++; } int get_data() { int m; m = circ_buffer[circ_buffer_out]; if (circ_buffer_out < (BUF_LENGTH-1)) circ_buffer_out++; else circ_buffer_out = 0; circ_buffer_count--; return m; }

Opgaver Mikael Svenstrup System Arkitektur og Integration 24/24 Watch Dog Timer Ringbuffer til seriel kommunikation