Voorblad tentamen ENG 015-016 Naam student: Studentnr: Klas: Cijfer: Dit voorblad en indien aangegeven overige opgavenbladen, moeten voorzien zijn van naam, studentnummer en klas. Controleer dit tentamen alvorens het te maken. Waarschuw de surveillant als het niet compleet is. Bij vermoeden van foutieve vraagstelling vermeld dit dan op het uitwerkingenblad of bij gebruik schrapkaart op het voorblad. Alle uitgereikte papieren moeten worden ingeleverd: opgaven, uitwerkingen en kladpapier! Informatie algemeen: Opleidingsrichting: ESE Docent(en): BIJLP Klas/Groep: ES Vervanger: Vak:(code als in rooster) INT Datum tentamen: 07-04-016 Informatie voor de Repro: Aantal opgavepagina s: 4 Aantal pagina s bijlagen: 6 Dubbelzijdig kopie: Nee, enkelzijdig Kleurenprint: Nee Begintijd- eindtijd: 1:0-15:00 Pauzetijd: Aantal studenten: 5 Vergrotingen: Lokaal(en): Dyslexielokaal: Aantal kopieën in envelop: Tentameninformatie voor de Student(e)/ Surveillant(e): Benodigd papier: Toegestane hulpmiddelen: Lijntjespapier Ruitjespapier Rekenmachine: Alle toegestaan Boeken: Ja, namelijk: Dictaten Aantekeningen: Ja, namelijk: Alle aantekeningen en sheets. Inname-instructies voor surveillant: Overige instructies / bijzonderheden: Bronvermelding: 1
Opgave 1 (0 punten) (Delay berekening) Gegeven de onderstaande karakteristieken van zender en ontvanger: Ontvanger Zender laag Zender hoog ( 01 PcBijl) De zender wordt verder belast met een parasitaire capaciteit van 150 pf, een weerstand van 500 Ohm naar +5,0 V en een weerstand van 1000 Ohm naar 0 V. De drempelspanning van de ontvanger ligt tussen 1, V en,5 V. gegeven : t1 t0 = R C ln((u0 E)/(U1 E)) a. Bereken het instelpunt voor het hoge niveau ( 1 ). b. Bereken de maximale vertraging bij het omlaag schakelen van de zender.
Opgave (0 punten) (SRAM aansluiten op Atmel microcontroller) Sluit een SRAM aan op de AT91SAM7SExx microcontroller (op.v) met een klok van 5Mhz. Hoeveel wait-states moeten we toevoegen om een geldige write-cycle te doen naar de SRAM. Laat zien hoe je aan het antwoord komt. (Gebruik hiervoor onderstaande timing diagrammen van de SRAM write-cycle en de AT91SAMSE7xxx write ) Timing diagram van de SRAM write-cycle
Timing diagram van de AT91SAMSE7xxx voor write 4
Opgave (5 punten) (ARM / Interrupt / DMA / IO) a) De ARM processor bus interface kent 4 soorten bus cycles, welke zijn dat en geef hierbij ook een korte omschrijving. b) Wat is het verschil tussen impliciete en expliciete adressering bij een DMA transfer en welke wordt ondersteund door de Atmel AT91SAM7SExxx microcontroller? c) Als er meerdere interrupt aanvragers op dezelfde interrupt ingang zijn aangesloten en 1 van de aanvragers genereert een interrupt, op welke manieren kan de microprocessor dan opsporen wie de aanvrager is geweest? Geef een korte omschrijving van elk van deze manieren met één voor en nadeel. d) Omschrijf duidelijk wat het verschil is tussen memory-mapped I/O en I/O mapped I/O en welke wordt gebruikt door de ARM7 processor? e) Synchronisatie van datatransport kan plaats vinden op twee manieren, synchrone en asynchrone. Omschrijf de verschillen een geef een tweetal voor- en nadelen van de één t.o.v de ander. Opgave 4 (15 punten) (Timer/Counter) a) De werking van de timer/counter kun je in functionele groepen verdelen, welke (modes) zijn dat en leg uit wat ze doen. b) Geef een -tal voorbeelden van ieder van deze groepen. c) Als we een klok hebben van Mhz en een counter van 16bits breed, wat is dan de maximaal mogelijke counterwaarde, uitgedrukt in milliseconden. Opgave 5 (0 punten) (SPI) a) Noem een 4-tal verschillen in functie en werking tussen SPI en I C. b) Stel de SPI van een 10Mhz AT91SAM7SExxx als volgt in: - Master mode, met 14 bits transfer en een baudrate van 1Mbit/s, waarbij de klok pas na 1us actief wordt nadat 1 van beide slave devices is geselecteerd. - slave devices aangesloten op NPCS0 en NPCS1 met een delay tussen de CS lijnen van 500ns. - Voor beide chipselect lijnen geldt: Klok polariteit: Inactieve staat van SPCK is een logische 1. Klok fase : Data veranderd op een opgaande flank van SPCK en wordt overgenomen op de volgende flank van SPCK. - Er een interrupt wordt gegenereerd bij een receive data register full, transmit data register empty en alle error condities. Geeft de waarde die in de volgende registers moeten worden geprogrammeerd voor bovenstaande instellingen in hexadecimale waarde (voorbeeld: SPI_CR = 0x00ABCDEF). SPI_CR SPI_MR SPI_IER SPI_CSR0 en SPI_CSR1 Maak gebruik van de bijgevoegde datasheets van de AT91SAM7SExxx 5
Bijlage: 6
7
8
9
10
11
Uitwerking van het tentamen INT (ES). Opgave 1 (0 punten) (Delay berekening) a. Op het 1-niveau geldt het volgende vervangingsschema (mits U >,0 V): 4 50 Ω + 4,0 V - 500 Ω + 5,0 V - 1000 Ω 50 Ω +,5 V - Ik R Ik = 4/50 + 5/500 +,5/50 = 100mA 1/R = 1/50 + 1/500 + 1/1000 + 1/50 zodat R = 8,67 Ω Uo = Ik R =,87 V b. Direct na het schakelen geldt het volgende vervangingsschema (dit blijft geldig zolang U > 0,5 V): 100 Ω + -1,0V - 500 Ω + 5,0 V - 1000 Ω 50 Ω +,5 V - Ik R Ik = -1/100 + 5/500 +,5/50 = 10mA 1/R = 1/100 + 1/500 + 1/1000 + 1/50 zodat R = 6,06 Ω E = Ik R = 0,6V t1 = 6,06 150 10-1 ln(,87-0,6)/(1, 0,6) s = 16,4 ns Opgave (0 punten) (SRAM aansluiten op Atmel microcontroller) 15 Wat is de minimale tijd dat er data gelezen gaat worden nadat chip select actief wordt op de SRAM? Uit timing diagram: SMC7 SMC4 Met SMC7 = (n+1) x tcpmck -,5 en SMC4 =,ns tcpmck = 1/5Mhz = 40ns wait states formule tijd 0 7,5, 14,ns 1 77,5, 54,ns 117,5, 94,ns Voor de SRAM geldt: nadat de cs is geselecteerd moet de data de gehele datasetuptijd op de datalijnen aanwezig zijn. Dat betekent dus dat na tijd tcw de data van de datalijnen is overgenomen in de SRAM. (tcw = 5ns) Dus 1 waitstate is voldoende. 1
Opgave (5 punten) (ARM / Interrupt / DMA / IO) 5 5 5 5 5 a) Nonsequential cycles, er wordt een transfer van of naar een adres aangevraagd die geen relatie heeft met het adres van de vorige transfer. Sequential cycles, er wordt een transfer van of naar een adres aangevraagd die wel een relatie heeft met het adres van de vorige transfer, bijvoorbeeld; hetzelfde adres of een adres dat een half of een heel word verder ligt. Internal cycles, bevat geen transfer omdat er een interne functie wordt uitgevoerd en er geen zinvolle prefetch kan worden uitgevoerd op dezelfde tijd. Coprocessor transfer cycles, gebruikt dezelfde bus om te communiceren met een coprocessor, maar heeft geen transfers naar het geheugen. b) Expliciete adressering maakt gebruik van adressen voor de bron en de bestemming. Communicatie altijd via de DMA controller. Impliciete adressering, er wordt maar 1 adres gebruikt, alleen voor de bestemming, de bron wordt impliciet geadresseerd door een extern signaal. De communicatie gaat direct van bron naar bestemming. c) software polling: Het pollen van device in de interrupt service routine. Voordeel: flexibel, prioriteit volgorde wordt bepaald door programmeur Nadeel: Er gaat tijd verloren door het zoeken naar de aanvrager, deze tijd neemt toe naarmate er meer aanvragen komen. hardware vectoring: de aanvrager genereert op een of andere manier een vector waaruit de locatie van de ISR gehaald kan worden Voordeel:snel Nadeel : vaak extra hardware nodig De Atmel microcontroller maakt alleen gebruik van impliciete adressering. d) Bij memory-mapped I/O liggen de I/O adressen binnen de memory-map van de processor, hierdoor kunnen de normale instructies worden gebruikt om de I/O te bereiken, bij IO mapped I/O ligt deze buiten de memory-map van de processor, waardoor er dus extra IO instructies nodig zijn om de I/O te kunnen bereiken. De ARM 7 microprocessor maakt gebruik van memory-mapped I/O. e) Bij synchrone communicatie maken zender en ontvanger gebruik van een gemeenschappelijke klok voor synchronisatie, bij asynchrone communicatie hebben zender en ontvanger iedere een eigen klok, ze worden gesynchroniseerd door een vorm van handshake. 1
Opgave 4 (15 punten) (Timer/Counter) 5 a) Wavevorm mode -> genereren van signalen Capture mode -> meten 5 b) Wavevorm : PWM signaal, meerdere seriële protocollen als Ic, RS etc. Capture : frequenties/periode tijden meten, tijd tussen events meten. 5 c) 1/Mhz * 16 (0xFFFF) = 1,985ms Opgave 5 (SPI ) (0 punten) a) Verschillen tussen I C en SPI: SPI is een full-duplex, 4 draad verbinding, point point communicatie interface, met 1 master en 1 of meerdere slaves. I C is een half-duplex, draad verbinding, in een bus configuratie met slave acknowledge en flow control en met 1 of meer masters en 1 of meer slaves. b) SPI_CR = 0x00000001 SPI_MR = 0x050x000 SPI_IER = 0x0000000F SPI_CSR0 = 0x000A0A61 SPI_CSR1 = 0x000A0A61 14