5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen Sessie 6(2): Practicumprocessor invoer en uitvoer
Wat kan de practicumprocessor ? Centrale vraag van dit uur ! Niet bij de stof, wel handig om gezien te hebben examenopgaven kunnen hier op voortborduren… Voorbereiding op gebruik PP buiten het practicum Beetje vooruitblikken op andere vakken
Opbouw RS-232 naar PC Processor: Siemens SAB-C504 Practicumprocessor: micromodule + voedingsregeling + I/O beveiliging + vermogensdrivers Micromodule: processor + 32 kilobyte RAM + 128 kilobyte Flash + RS-232 transceiver + adresdecoder PLA
Voeding Hulpvoeding: 8..26 volt voor vermogensuitgangen, max. 5 A in totaal minimaal voltage = voltage van hoofdvoeding! Hoofdvoeding: 8..12 volt 160 mA + stroom via +5V (max. 0.5 A) + max. 1 A voor vermogensuitgangen indien hulpvoeding niet aangesloten
Schakelaars 8 ingangsbits voor aansluiting schakelaars Schakelaars op ‘dipswitch’ blok hier ook op aangesloten, nummer 1 op bit 0 .. nummer 8 op bit 7 (‘on’ geeft 0b) Op P1.4 .. P1.7 kunnen ook schakelaars aangesloten worden (direct testbare bits!) 8 ingangsbits voor aansluiting schakelaars Leesbaar in extern geheugen op adressen 0FF00h .. 0FFFFh (0FFxxh) als één enkel byte Geen verbinding tussen GND en INx: bit ‘x’ is 1b Verbinding tussen GND en INx: bit ‘x’ is 0b
Laag vermogen uitgang Hulp- voeding Hoofd- voeding 7 - bit - 0 8 uitgangsbits voor kleine lampjes of Light Emitting Diodes Besturing via schrijven in extern geheugen adres 0FExxh 1b in bit ‘x’: verbinding tussen OUTx en GND, max. 50 mA 0b in bit ‘x’: geen verbinding, max. 5 volt op uitgang OUTx LED’s op print geven indicatie van toestand en voedingen
Hoog vermogen uitgang 8 uitgangen voor hogere vermogens Uit te schakelen met ‘PWR’ schakelaar op print in ‘0’ stand 8 uitgangen voor hogere vermogens Besturing via schrijven in extern geheugen adres 0FDxxh 0b in bit ‘x’: verbinding tussen PWRx en GND, max. 0,5 A 1b in bit ‘x’: verbinding tussen PWRx en +24V, max. 0,5 A Voeding via +24V (max. 5 A totaal) of +8V (max. 1 A totaal)
Gebruik van hoog-vermogen uitgangen Voor: lampen, motoren, elektromagneten, luidsprekers, ….. GND +24V GND +24V GND +24V Bit ‘x’ PWRx 1 Bit ‘x’ PWRx 1 1 Bit ‘y’ PWRy Belasting (motor) M= Belasting (lamp) schakelaar naar GND wordt niet gebruikt! ‘single ended’ ‘H-brug’
Aan/uit en toch variabel vermogen ‘Pulsbreedte-modulatie’ 4 mSec. Uit (0 V) Aan (24 V) 0 mS. aan 4 mS. uit 1 mS. aan 3 mS. uit 3 mS. aan 1 mS. uit 4 mS. aan 0 mS. uit 2 mS. aan 2 mS. uit gem. 0 V verm. 0% gem. 6 V verm. 25% gem. 12 V verm. 50% gem. 18 V verm. 75% gem. 24 V verm. 100%
Pulsbreedte modulatie in hardware De ‘C504 processor bevat 4 pulsgeneratoren 3 hiervan moeten op dezelfde frequentie lopen wel allemaal onafhankelijk van pulsbreedte ! Te verbinden met vermogensuitgangen H-brug maakt richting én vermogen instelbaar Pulsfrequentie tot > 20 KHz: luidspreker uitgang ! Pulsgeneratoren ook onderling te koppelen Aansturen verschillende typen motoren Beveiliging tegen overbelasting en vastlopen, etc, etc.
Analoog / digitaal conversie Acht ingangspinnen kunnen voltages meten Voltages liggen tussen GND (0 volt) en +5V ( 5 volt) 10 bits nauwkeurig: waarde 0 = GND, 1023 = +5V Conversietijd instelbaar tussen 8 en 64 microsec. Ingang te kiezen bij start, evt. interrupt aan eind Erg nauwkeurig voltages meten is moeilijk Resultaat hangt af van werkelijke +5V voltage Ingangsweerstand vrij laag tijdens meting ( 10 k)
Meten van hoeken en posities GND +5V A/D ingang beweegbare metalen contact 'brug' draai-as weerstand +5V GND A/D ingang 5..10 k Draai- potentiometer Schuif- potentiometer Wel nauwkeurig: ingangs-voltage veranderd met +5V mee!
Tijd meten en pulsen tellen Hiervoor twee onafhankelijke hardware modules 16 bits brede binaire omhoog tellers, lees/schrijfbaar Een derde 16 bits teller is in gebruik bij monitor… Als teller: telt pulsen op ingangspin (< 0.5 MHz) Mogelijk om met andere pin tellen tegen te houden Als ‘timer’: telt met vaste frequentie van 1 MHz Mogelijk: laden met (8 bit) startwaarde bij overflow Eventueel interrupt bij overflow (ook bij teller) Ook hier timer tegen te houden met waarde op pin
En verder... Communicatie via bit-serieel RS-232 protocol In gebruik bij monitor/dScope… Niet standaard uitbreiding tot ‘lokaal netwerk’ Heel veel interrupts: > 20 bronnen Roepen 13 interrupt (sub-) routines aan 6 pinnen op practicumprocessor bruikbaar als bron Beveiliging tegen vastlopen van programma Instelbare timer herstart processor bij overflow Programma voorkomt dit door timer te herstarten