RIOT Remote Internet Operated Terminal. Gebruikers handleiding v1.0 6) De intelligente I/O-controller IOsys.



Vergelijkbare documenten
De Arduino-microcontroller in de motorvoertuigentechniek (2)

2 Algemene opbouw van een computersysteem

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

ES1 Project 1: Microcontrollers

Aanvulling op handleiding DMX controller, Nederlandstalig. Inhoudsopgave:

versie: 1.0 status: vrijgegeven door: J.Eberson datum: 15 augustus 2005 aangepast: 19 februari 2006 concept beschrijving

ES1 Project 1: Microcontrollers

Syncro AS. Analoge Brandmeldcentrale. Gebruikershandleiding. Man V1.0NL

4) De hardware.

Gebruikers handleiding. JupiterPro. P2000 alarmontvanger

De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL. ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family)

LocoIO Handleiding HDM08

Een intelligent DMX netwerk

RCL Arduino Workshop 1

Module nummer Elke speciale module krijgt een eigen module nummer om de betreffende module in te stellen en uit te lezen. Ethernet module FX3u-ENET

De Arduino-microcontroller in de motorvoertuigentechniek (4)

AP80 Display Controller

Arduino Workshop 1 Zuid-Limburg

FT4SW. 1. Werking. Handleiding. Figuur 1

In- en uitgangssignalen van microprocessoren

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

MODBUS remote I/O-unit type MODBUS4S110

AN0031-NL. Een input toevoegen aan Paxton10. Overzicht. Het apparaat creëren

Wat is Arduino? Arduino = microprocessor (Atmel)

Aansluitmodule voor Schakelbord / Schakelpaneel

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC

Deel 2 S7 Graph Ont4 - GA3

De Arduino-microcontroller in de motorvoertuigentechniek (8)

1 enerwaslicht Elation Professional - DMX OPERATOR User Manual

Stappenmotor Interface. Controller

RIOT Remote Internet Operated Terminal. Gebruikers handleiding v1.0

Multiplexers en demultiplexers MULTIPLEXERS

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)

G. Schottert Handleiding Freekie 1. Nederlandse handleiding. Freekie DMX ADRES INSTELLINGEN 1

De Arduino-microcontroller in de motorvoertuigentechniek (3)

Wat is een busverbinding?

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 3: Tijd, licht en warmte

APT-200. Tweeweg handzender. Firmware versie 1.00 apt-200_nl 03/19

Pulse output High speed counter Input interrupts

Uitsluitend aansluiten op de spanning en frequentie zoals aangegeven op het typeplaatje.

FT8SW. 1. Werking. Handleiding. De FT8SW is een IO stuurmodule met 8 relais die geactiveerd wordt door de deurtelefoon Wizard

Logo quiz Project Inleiding op de Logo!

b-logicx handleiding PX_DimmerDayNight

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano

Arduino CURSUS. door Willy - 09-juni-2017

LocoServo Handleiding

Handleiding BUS-2 Relais (3247)

Informatiebundel ADuC832 Motor interface bord MGM/[dp]

LocoHDL Module Configuratie

INHOUD. KHLim dep IWT MeRa 1/22

ELVA Security

Technology, Innovation & Society Delft

Workshop Arduino voor beginners deel 2

Het Versacom systeem is gedefinieerd in DIN 43861, deel 301 als "transfer protocol A".

HANDLEIDING RZ-D-4.40WD / RZ-D-4.433WD

LocoServo Handleiding

Hoofdstuk 7. Computerarchitectuur

Pico Timer - Programmer EM

16F877A development board cursus deel 1

FORTH op de 80C535 processor met het ATS535 board.

Handleiding GSM kiezer V2.03

Gebruiksaanwijzing TTA /+150 C (1) VDH doc Versie: V1.1 Datum:

Handleiding ISaGRAF. Wil men het programma bewaren, dan is het verstandig een back-up te maken: C9 Back-up / Restore

NEDERLANDS AP22. Atrium door handle controller. De keuze van de installateur cdvibenelux.com

FAT32 disk structuur 2007 stam.blogs.com

Positie-aflezing. - LED of LCD-aflezing - met geïntegreerde microprocessor. Walda Impuls b.v. Delta MS Arnhem Tel Fax

Peripheral Interface Controllers. BRAC clubavond PE2WDO

Gebruiksaanwijzing & Installatiehandleiding. TC - 6 Telecontroller

Werkbladen voor Arduino workshop 1

Klasse B output buffer voor een Flat Panel Display Kolom aansturing

Alflex Products B.V. LRN-010-x-C. Payload specificatie

Microcontrollers Labo

Domotechnology BVBA Dikberd 14 unit 1a 2200 HERENTALS België. Handleiding SQUEEZEBOX

Artikel / Omschrijving. Afm: 72x88x66mm. HDL SB-DN-232IP-PRO. Afm: 72x88x66mm.

Besturingspaneel v Raam E-systeem functie omschrijving v109

2-KANAALS RF AFSTANDSBEDIENINGSSET

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

Applicatiesoftware Tebis

M2000Pe. Installatiehandleiding. Controller

Optilog-V5 System-91-log-V5

Gebruikers handleiding. JupiterPro V8.6. P2000 alarmontvanger

18 Embedded systemen 1

Het instellen van de ControlBox 3.0 moet worden uitgevoerd door gekwalificeerde mensen.

scc = b) CD AB

Handleiding laadpaal met geïntegreerde Paxton toegangscontrole

Manual Debug software. VMC next

WLP1 systeem : Continue controle van het waterverbruik, detectie van waterverliezen en lekdetectie in slechts 1 toestel.

Terugmeldmodule 63320

Relaismodule CP24. Aansluitklemmen. Toepassingsgebieden

Vogelaar Electronics DRAFT DelphiStamp VE08201

How To Do Visualisaties met mbconnect24

Stroomprint JGA1009 gebruiksaanwijzing

Handleiding ingebruikstellen Bibus II VOP

Getalformaten, timers en tellers

Het koppelen van de Wago aan de AC500-eco via Modbus RTU. A quick start guide. Jaap Ruiten

ADVANTAGE. L /2010 rev 0. system ONE2 WI ONE2 WB INSTALLATIEHANDLEIDING

Servopneumatiek. mart

Hardware High Speed Counters (HSC) dienen aangesloten te worden op de general-purpose inputs X0 t/m X7.

Transcriptie:

6) De intelligente I/O-controller IOsys. Om de I/O mogelijkheden van het RIOT bord aanzienlijk te vergroten werd een, als intelligente I/O-controller geprogrammeerde, AVRmega 128 microcontroller op het bord geïntegreerd. Deze chip (met intern gestockeerde firmware Riotavr0 ) geven we verder doorheen deze tekst de benaming IOsys. Het is de bedoeling van IOsys om de gebruiker van het RIOT bord op een eenvoudige manier een uitgebreide waaier van complexe IO-mogelijkheden te verschaffen, die niet aanwezig zijn op de IPC@CHIP controller. En dit zonder de gebruiker op te zadelen met de gebruikelijke zelf te implementeren software van de I/O processor. De gebruiker kan wel indien dit nodig is IOsys van eigen software voorzien (ISP programmeerbaar). De functies die IOsys voor de gebruiker kan uitvoeren zijn oa. : Simpele bitprogrammeerbare digitale I/O (24 bits I/O, 8bits Input). Complete matrix-keyboard scanner en decoder. LCD driver voor het aansturen van een standaard alfanumerische LCD-displaymodule. Analoge input 8 kanalen/ 10 bit resolutie. IOsys is met de IPC@CHIP verbonden via een 8bit Dual Port Ram (DPRAM) van 1Kbyte die werkt als een data-doorgeefluik tussen beide processoren. In de memorymap van IOsys is deze DPRAM opgenomen in het adresbereik 8000h tot 83FFh. De DPRAM is opgenomen in de memorymap van de IPC@CHIP als 4 memorybanken van 255 bytes. Het adresbereik van één bank gaat telkens van 100h tot 1FFh. De programmeerbare lijnen PIO3 en PIO2 van de IPC@CHIP werken als bankselectlijnen en hiermee kan telkens slechts één van de 4 memorybanken worden geselecteerd. Met de in tabel 4.3 gegeven combinaties van PIO3, PIO2 stelt men de aangegeven bank in. Tabel 4.3: Geheugenbank selectie PIO3,PIO2 Mem. Bank IPC@CHIP adressen 00b 0 100h 1FFh 01b 1 100h 1FFh 10b 2 100h 1FFh 11b 3 100h 1FFh Banken 0 t.e.m. 2 worden in deze firmware versie niet gebruikt, en zijn voorzien voor toekomstige uitbreidingen. In bank 3 worden door IOsys softwarematig een aantal controleregisters geïmplementeerd, die de besturing en de instellingen van de I/O verzorgen, en die kunnen ingesteld worden door de IPC@CHIP. Het algemeen principe van IOsys is dit van een I/O controller met een bepaalde cyclustijd, te vergelijken met een PLC. Op IOsys gebeuren de meeste acties op het ritme van een door de gebruiker in te stellen cyclustijd (instelbaar tussen 1 en 255 millisec, in een controleregister (CI) in DPRAM). Zo worden op het ritme van deze cyclustijd de analoge ingangen gesampled en geconverteerd naar een 10-bit digitale waarde, waarna ze samen met de ingelezen waarden van de digitale ingangen in de DPRAM worden opgeslagen in resp. de analoge inputbuffer (AIBR0-7) en de poortinput registers (IRB,IRD,IRE,IRF). Ook worden de digitale uitgangen op dit ritme aangepast aan de (al dan niet nieuw opgegeven) waarden in de poortoutput registers (ORB,ORD,ORE) van de DPRAM. Zo kan men vanuit de Versie 1.0 87 [dp] D. Pauwels

IPC@CHIP een aantal digitale uitgangswaarden klaarzetten in een Poort Output Register dat bij een poort hoort. De informatie zal pas effectief naar buiten worden gestuurd bij het verstrijken van de ingestelde cyclustijd zoals aangegeven in figuur 4.8. De IPC@CHIP kan van het verstrijken van de cyclustijd op de hoogte gebracht worden a.d.h.v. een interrupt die wordt gegenereerd door de DPRAM (indien dit werd ingesteld in het interrupt enable register IER). Cyclus tijd Cyclus tijd Cyclus tijd t IOsys Alle datatransfers gebeuren op het ritme van de instelbare cyclustijd van de IOsys. Dit omvat oa. het lezen en opslaan van digitale als analoge inputwaarden en het naar buiten sturen van outputdata. Dual Port Ram Digitale outputport Poort Output Register (Orx) Digitale data naar een toepassing. Digitale inputport Poort Input Register ( Irx) Digitale data van een toepassing. Analoge Inputport 8 Analoge kanalen van een toepassing Figuur 4.8: Verwerking van gegevens door IOsys na de cyclustijd. Versie 1.0 88 [dp] D. Pauwels

Mogelijkheden en functies van de IOsys. POORT B / H6 Deze poort kan gebruikt worden als digitale parallelle I/O poort die op bit per bit basis instelbaar is. De gebruiker kan de werking van deze poort instellen langs de IPC@CHIP, door in de DPRAM op specifieke locaties de nodige controledata te schrijven. De gebruikte locaties (registers) die de werking van POORT B instellen, en hun functie op bitbasis worden hieronder aangegeven. Tabel 4.4: Mogelijkheden met poort B IPC@CHIP adres Bank3-102H Registerfunctie Instelling van de Mode of functie van POORT B. (MRB) 00H POORT B wordt niet gebruikt, de uitgangen worden niet aangepast bij het verstrijken van de cyclustijd, er worden geen ingangen gelezen. 01H POORT B wordt gebruikt als digitale I/O. Bank3-103H Dit is het Data Direction Register van POORT B. (DDRB) Bit=1 De overeenkomstige poortbit zal als input werken. Bit=0 De overeenkomstige poortbit zal als output werken. Bank3-104H POORT B Input Register. (IRB) Dit register bevat de digitale ingangen van de POORT B, deze worden door IOsys gelezen bij het verstrijken van de cyclustijd. Ook de poortbits die als output zijn ingesteld zullen worden gelezen en opgeslagen. De IPC@CHIP kan dan deze data lezen. IOsys kan ook een interrupt genereren bij de IPC@CHIP waarmee wordt aangegeven dat de cyclustijd is afgelopen, en er recente data ter beschikking is. Bank3-105H POORT B Output Register. (ORB) Dit register bevat de data die naar de overeenkomende als outputpin ingestelde poortpinnen moet gestuurd worden bij het aflopen van de cyclustijd. Poortpinnen die als input ingesteld zijn zullen in pull-up mode worden geschakeld door er een 1 naartoe te schrijven ongeacht de bitwaarde in dit register. In dit register kan door de IPC@CHIP data geschreven worden. Versie 1.0 89 [dp] D. Pauwels

POORT D / H7 RIOT Remote Internet Operated Terminal. Deze poort kan gebruikt worden als digitale parallelle I/O poort die op bit per bit basis instelbaar is, en als keyboard encoder voor een eenvoudig matrix keyboard van 4 rijen op 4 kolommen. De gebruikte locaties (registers) die de werking van POORT D instellen, en hun functie op bitbasis worden hieronder aangegeven. Tabel 4.5: Mogelijkheden met poort D IPC@CHIP adres Registerfunctie Bank3-106H Instelling van de Mode of functie van POORT D. (MRD) 00H POORT D wordt niet gebruikt, de uitgangen worden niet aangepast bij het verstrijken van de cyclustijd, er worden geen ingangen gelezen. 01H POORT D wordt gebruikt als digitale I/O. 02H POORT D wordt gebruikt als keyboard encoder voor een 4x4 matrix keyboard. De vier laagste bits van de poort vormen de scanlijnen, de vier hoogste bits vormen de leeslijnen. Pull-ups zijn niet nodig. Onderstaande tabel geeft de keycodes weer van de schakelaars i.f.v. de fysische plaats in de matrix. POORT D-0 POORT D-1 POORT D-2 POORT D-3 POORT D-4 00H 01H 02H 03H POORT D-5 04H 05H 06H 07H POORT D-6 08H 09H 0AH 0BH POORT D-7 0CH 0DH 0EH 0FH Bank3-107H Dit is het Data Direction Register van POORT D (DDRD) voor mode 1( MRD=01H). Bit=1 De overeenkomstige poortbit zal als input werken. Bit=0 De overeenkomstige poortbit zal als output werken. Bank3-108H POORT D Input Register (IRD). Dit register bevat de digitale ingangen van de POORT D, deze worden door IOsys gelezen bij het verstrijken van de cyclustijd. Ook de poortbits die als output zijn ingesteld zullen worden gelezen en opgeslagen. De IPC@CHIP kan dan deze data lezen. IOsys kan ook een interrupt genereren bij de IPC@CHIP waarmee wordt aangegeven dat de cyclustijd is afgelopen, en er recente data ter beschikking is. Bank3-109H POORT D Output Register. (ORD) Dit register bevat de data die naar de overeenkomende als outputpin ingestelde poortpinnen moet gestuurd worden bij het aflopen van de cyclustijd. Poortpinnen die als input ingesteld zijn zullen in pull-up mode worden geschakeld door er een 1 naartoe te schrijven ongeacht de bitwaarde in dit register. In dit register kan door de IPC@CHIP data geschreven worden. Versie 1.0 90 [dp] D. Pauwels

IPC@CHIP adres Bank3-10AH RIOT Remote Internet Operated Terminal. Registerfunctie Niet gebruikt in deze versie (gereserveerd voor uitbreidingen) Bank3-10BH KeyCode register bij gebruik van POORT D in mode 2. (KC) Dit register bevat de keycode van de ingedrukte toets. - Indien de gebruiker geen keyboard-interrupt heeft ge-enabled zal dit de keycode zijn van de toets die bij het verstrijken van de cyclustijd is ingedrukt. Indien geen toets is ingedrukt zal de waarde FFh worden aangegeven. Op deze manier kan een continue ingedrukte toets worden gelezen. - Indien de gebruiker een keyboard-interrupt heeft ge-eneabled zal dit de keycode zijn van de laatst gedrukte nieuwe toets. De IPC@CHIP krijgt nu immers een interrupt van IOsys om aan te geven dat er een nieuwe toets is ingedrukt. POORT E / H5 Deze poort kan gebruikt worden als digitale parallelle I/O poort die op bit per bit basis instelbaar is ( bit 4 kan niet worden gebruikt). Bovendien is deze poort ook instelbaar als zelfstandige driver voor een standaard LCD module volgens de in tabel 4.6 gegeven instelwaarden. Tabel 4.6: Mogelijkheden met poort E IPC@CHIP adres Bank3-10CH Registerfunctie Instelling van de Mode of functie van POORT E. (MRE) (Opgelet: POORT E, bit4 is niet beschikbaar!) 00H POORT E wordt niet gebruikt, de uitgangen worden niet aangepast bij het verstrijken van de cyclustijd, er worden geen ingangen gelezen. 01H POORT E wordt gebruikt als digitale I/O. 02H POORT E werkt als standaard LCD displaymodule driver. Voor het aansturen van een standaard LCD module in 4bit mode zijn volgende aansluitingen nodig. Voor gegevens van standaard LCD modules wordt verwezen naar www.xmocular.com Display functie D4 D5 D6 D7 No connection E R/W RS POORT E bitnr. PE bitnr.0 PE bitnr.1 PE bitnr.2 PE bitnr.3 PE bitnr.4 PE bitnr.5 PE bitnr.6 PE bitnr.7 Versie 1.0 91 [dp] D. Pauwels

Bank3-10DH Voor de LCD displaymodule is een karakterbuffer voorzien van 80 te displayen karakters. Afhankelijk van het type LCD module zal deze buffer gedeeltelijk of helemaal gebruikt worden. In deze buffer wordt door de IPC@CHIP de te displayen tekstboodschap geplaatst afgesloten door een null (00H) karakter. Deze karakterstring zal door IOsys dan naar de displaymodule gestuurd worden, op de manier zoals het wordt aangegeven in het Display Control Register (DCR) Dit is het Data Direction Register van POORT E (DDRE) voor mode 1( MRE=01H). Bit=1 De overeenkomstige poortbit zal als input werken. Bit=0 De overeenkomstige poortbit zal als output werken. Bank3-10EH POORT E Input Register (IRE). Dit register bevat de digitale ingangen van de POORT E, deze worden door IOsys gelezen bij het verstrijken van de cyclustijd. Ook de poortbits die als output zijn ingesteld zullen worden gelezen en opgeslagen. De IPC@CHIP kan dan deze data lezen. IOsys kan ook een interrupt genereren bij de IPC@CHIP waarmee wordt aangegeven dat de cyclustijd is afgelopen, en er nieuwe data ter beschikking is. Bank3-10FH Bank3-113H POORT E Output Register. (ORE) Dit register bevat de data die naar de overeenkomende als outputpin ingestelde poortpinnen moet gestuurd worden bij het aflopen van de cyclustijd. Poortpinnen die als input ingesteld zijn zullen in pull-up mode worden geschakeld door er een 1 naartoe te schrijven ongeacht de bitwaarde in dit register. In dit register kan door de IPC@CHIP data geschreven worden. Display Type Register (DTR). Hier selecteert men het type display module dat men gebruikt. 00H 1lijn 16/20/24/40 karakters. 01H 2 lijnen 8 karakters (sommige 16 karakters). 02H 2 lijnen 16 karakters. 03H 2 lijnen 20 karakters. 04H 2 lijnen 40 karakters. 05H 4 lijnen 20 karakters. Tabel 4.6: Mogelijkheden met poort E (vervolg) Versie 1.0 92 [dp] D. Pauwels

Tabel 4.6: Mogelijkheden met poort E (vervolg) Bank3-114H Display Control Register (DCR). 00H Geen karakterbuffer verzenden naar de displaymodule. 01H Buffer afdrukken op display zonder display te clearen. 02H Buffer afdrukken op display met display clearing. 03H Cursor inschakelen ( karakterbuffer wordt niet verwerkt). 04H Cursor uitschakelen (karakterbuffer wordt niet verwerkt). Deze codes worden na het verwerken door IOsys op 00H gereset Opgelet: Een eerste schrijfactie naar de LCD-module moet steeds met CLEAR gebeuren, daar anders de LCD-module niet wordt geïnitialiseerd. Display Control Register (DCR) = 02H. Bank3-115H Display KarakterBuffer (DKB). Dit is het startadres van de 81 karakters lange display karakterbuffer (80 karakters +1 extra locatie voor de null afsluitkarakter). POORT F / H3 Deze poort kan gebruikt worden als digitale input of als analoge input, een selectie hiertussen kan op bit per bit basis gebeuren volgens de in tabel 4.7 aangegeven instellingen. De analoge ingangen worden naar een 10bit digitale waarde geconverteerd. Tabel 4.7: Mogelijkheden met poort F IPC@CHIP adres Registerfunctie Bank3-110H Instelling van de Mode of functie van POORT E. (MRE) 00H POORT F wordt niet gebruikt, de uitgangen worden niet aangepast bij het verstrijken van de cyclustijd, er worden geen ingangen gelezen. 01H POORT F wordt gebruikt als digitale en analoge Input. Bank3-111H Analog/ Digital Selection Register (ADSR). Bit=1 De overeenkomstige poortbit wordt analoog gesampled. Bit=0 De overeenkomstige poortbit wordt digiaal verwerkt. Bank3-112H POORT F Input Register (IRF). Dit register bevat de digitale ingangen van de POORT E, deze worden door IOsys gelezen bij het verstrijken van de cyclustijd. Van de ingangen die als analoge ingang werden geselecteerd in ADSR zal ook de logische waarde worden aangegeven in dit register. Versie 1.0 93 [dp] D. Pauwels

Bank3-166H tot Bank3-175H RIOT Remote Internet Operated Terminal. Tabel 4.7: Mogelijkheden met poort F (vervolg) Analog Input Buffer Registers 0-7 (AIBR0-7). Deze registers bestaan telkens uit twee bytes. Hier worden de analoge samples opgeslagen die door IOsys genomen worden na iedere cyclustijd. De samples heben een resolutie van 10 bits, en worden opgeslagen in binair formaat. De MSByte van elke sample zal op het hoogste adres van het bijhorende Analog Input Buffer Register geplaatst worden, de LSByte op het laagste adres van hetzelfde register. Buffer adressen Analog input channel Bank3-167H/166H Analog input 0 / POORT F bit 0/ H3 pin 1 Bank3-169H/168H Analog input 0 / POORT F bit 1/ H3 pin 2 Bank3-16BH/16AH Analog input 0 / POORT F bit 2/ H3 pin 3 Bank3-16DH/16CH Analog input 0 / POORT F bit 3/ H3 pin 4 Bank3-16FH/16EH Analog input 0 / POORT F bit 4/ H3 pin 5 Bank3-171H/170H Analog input 0 / POORT F bit 5/ H3 pin 6 Bank3-173H/172H Analog input 0 / POORT F bit 6/ H3 pin 7 Bank3-175H/174H Analog input 0 / POORT F bit 7/ H3 pin 8 Versie 1.0 94 [dp] D. Pauwels

POWER ON SITUATIE EN DETECTIE VAN IOsys. Na POWER-ON kan de IPC@CHIP een aanwezigheidsdetectie van IOsys uitvoeren. In de volgende registers staat nl. ID-info na een power on situatie. Tabel 4.8: Power-on informatie IPC@CHIP adres Registerfunctie Bank3-1FCH Firmware Version Number Register (FVNR) Bevat een waarde tussen 00H en 255H die het versie nummer aangeeft. Bank3-1FDH IOsys Detection Code register0 (IDCR0). Deze locatie bevat de code 55H. Bank3-1FAH IOsys Detection Code register 1(IDCR1). Deze locatie bevat de code AAH. Na POWER ON blijft IOsys wachten op een interruptsignaal van de IPC@CHIP. Dit kan gegeven worden door naar het Interrupt Register (IR) te schrijven. Dit interruptsignaal is nodig om de instellingen die in de controle registers zijn gemaakt te activeren en daarna de IOsys op te starten. Opgelet: De cyclustijd die is ingesteld in het Cyclustijd Instelling register (CI) wordt alléén met de eerste interrupt van de IPC@CHIP geactiveerd, en kan daarna niet meer worden aangepast! Andere instellingen worden daarna telkens opnieuw geactiveerd bij het aflopen van de cyclustijd, en kunnen dus steeds worden aangepast. Het is dus voldoende dat de IPC@CHIP de nieuwe instellingen maakt in de nodige controleregisters van de DPR, om ze te laten activeren op het ritme van de cyclustijd, hiervoor hoeven geen bijkomende interrupts vanuit de IPC@CHIP gegeven te worden aan IOsys. Wil men echter ogenblikkelijk nieuwe instellingen forceren, en wil men dus het aflopen van de cyclustijd niet afwachten, dan kan men dit doen door deze instellingen eerst in te stellen in de verschillende controleregisters in DPRAM. Daarna zal men een interrupt geven aan IOsys door het Interrupt Register (IR) te schrijven. De instellingen worden nu onmiddellijk geactiveerd, en de nodige acties uitgevoerd. Indien men van het beëindigen hiervan een terugmelding wil naar de IPC@CHIP, aan de hand van een interrupt, dan kan men dit aangeven met een logische 1 in het Interrupt Enable Register (IER) op bitpositie 2 Versie 1.0 95 [dp] D. Pauwels

CYCLUSTIJD EN INTERRUPT CONTROLE REGISTERS VAN IOSYS. Deze registers in tabel 4.9 laten toe de algemene werking van IOsys in te stellen wat betreft cyclustijd en interrupt generatie naar de IPC@CHIP toe. Tabel 4.9: Interrupt controleregisters IPC@CHIP adres Bank3-100H Registerfunctie Cyclustijd Instelling (CI). Hier wordt de gebruikte cyclustijd ( in msec ) van IOsys ingesteld als een getal tussen 00H en FFH. 00H=256msec, 01H=1msec, FFH=255msec. Dit kan alleen bij de eerste interrupt vanuit de IPC@CHIP (zie IR). Bank3-101H Interrupt Enable Register (IER). De verschillende mogelijke interrupts vanuit de IOsys naar de IPC@CHIP kunnen hier worden ge-enabled. Bit0 =1 Enable interrupt na cyclustijd. Deze interrupt kan niet als tijdbasis gebruikt worden. Bit1 =1 Enable interrupts na toets die gedrukt wordt op POORT D in keyboard mode. Bit2 =1 Enable interrupts van IOsys naar IPC@CHIP na de verwerking van een opdracht vanuit de IPC@CHIP naar de IOsys controller, zonder cyclustijd af te wachten. Bank3-1FEH Bank3-1FFH Het interruptsignaal van IOsys naar de IPC@CHIP kan worden geacknowledged door deze laatste door het Interrupt Ackn. Register (IACK) te lezen. Hierdoor valt het interruptsignaal weer weg. Dit moet vanuit de IPC@CHIP gebeuren voor de volgende interrupt door IOsys wordt gegenereerd. Interrupt Acknowledge Register (IACK). Dit register moet gelezen worden door de IPC@CHIP om het interruptsignaal te laten wegvallen ( vóór de volgende interrupt conditie zich voordoet). De inhoud van dit register geeft aan welke de interruptbron is in IOsys. IACK=01H Cycle time interrupt. IACK=02H Keyboard interrupt. IACK=03H Verwerkte taak op IOsys, op aanvraag van een interrupt vanuit de IPC@CHIP. Interrupt Register (IR). De IPC@CHIP kan langs dit register een interrupt geven aan IOsys. Dit kan, door dit register te schrijven met een willekeurige waarde. De bedoeling hiervan is, om hetzelfde effect te bekomen als het beëindigen van de cyclustijd. De ingangen worden gesampled, de uitgangen aangestuurd en de nieuwe instellingen in de controleregisters worden geactiveerd. Na reset moet hiermee bij de eerste interrupt de cyclustijd ingesteld worden! Versie 1.0 96 [dp] D. Pauwels