Wat is een busverbinding?

Vergelijkbare documenten
Interfacetechnieken Interne Interfaces (Met de Atmel AT91SAM7SExxx microcontroller)

De Arduino-microcontroller in de motorvoertuigentechniek (4)

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC

Hoofdstuk 7. Computerarchitectuur

18 Embedded systemen 1

Interfacetechnieken Studiehandleiding

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

Hoofdstuk 19. Embedded systemen

Hoofdstuk 18. Embedded systemen

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

Digitale en analoge technieken

Digitale technieken Microprocessoren

Inleiding microcontrollers. Week 1 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/

7,3. Samenvatting door een scholier 1961 woorden 16 januari keer beoordeeld. Informatica Informatica actief

Voorblad tentamen

Microcontrollers. Robert Langenhuysen, PA0RYL

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (8)

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

INHOUD SPI : SERIAL PERIPHERAL INTERFACE ALGEMEEN. Videolessen Deel 3 DATACOMMUNICATIE SPI

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

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

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

Datacommunicatie ov. Seriële bussystemen SERIËLE VERBINDINGEN

EmSE presentatie. Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010

De seriële poort Jan Genoe KHLIM

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)

De Arduino-microcontroller in de motorvoertuigentechniek (3)

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

Sequentiële Logica. Processoren 24 november 2014

FORTH op de 80C535 processor met het ATS535 board.

De Arduino-microcontroller in de motorvoertuigentechniek (2)

Arduino CURSUS. door Willy - 09-juni-2017

Betaalbaar Home Control. Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

Tentamen Computersystemen

Microcontrollers Labo

Stappenmotor Interface. Controller

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/

4) De hardware.

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

computerarchitectuur antwoorden

Halfgeleider geheugens:

In- en uitgangssignalen van microprocessoren

ES1 Project 1: Microcontrollers

Digitale technieken Deeltoets II

Jan Genoe KHLim. PCI Signalen en timing

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave):

Uitwerking oefententamen Computerarchitectuur December 2016

De computer als processor

Computerarchitectuur. H&P Ch 2. Memory Hierarchy Design

Computerarchitectuur. Terugblik / discussie / oefenopgaven

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

Wat is Arduino? Arduino = microprocessor (Atmel)

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven

C-Tech TSFP 2010T PROFESSIONELE TERRESTRISCHE SIGNAALMETER

Meet the Arduino FAMILY

Arduino. HCC Vlaanderen - Mechelen 7 februari Luc De Cock

ES1 Project 1: Microcontrollers

Inleiding Digitale Techniek. Week 7 Schuifregisters Jesse op den Brouw INLDIG/

Projectwerk microcontrollers:

Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/

MURRELEKTRONIK IO-LINK, EN NU? Roel Janssen

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Interface Technieken. Roggemans M. 2012

programmeerbare set voor een eenvoudige I/O-communicatie via Ethernet Modbus/TCP in beschermingsgraad IP67 TI-BL67-PG-EN-S-2

Handleiding HCS VB5248

Microcontrollers Week 5 Interrupts, Timer/Counter 0 Jesse op den Brouw INLMIC/

8. Bussystemen. 8.1 Wat is een bus?

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

32-BITS I/O-CARTRIDGE voor MSX-computers

set voor een eenvoudige I/O-communicatie via Ethernet Modbus/TCP / EtherNet/IP / PROFINET in beschermingsgraad IP67 TI-BL67-EN-S-4

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

Gebruiksaanwijzing AVR910 USB Programmer

Een intelligent DMX netwerk

Deel 2 S7 Graph Ont4 - GA3

Vogelaar Electronics DRAFT DelphiStamp VE08201

MODBUS remote I/O-unit type MODBUS4S110

Inhoud. 1 De Microcontroller 1. 2 De taal C C in het kort Functies 31

Computerarchitectuur. H&P App. C. Pipelining

Peripheral Interface Controllers. BRAC clubavond PE2WDO

Hoofdstuk 10. Datacommunicatie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

Computerarchitectuur. App. B. Review of Memory Hierarchy

Tweede workshop Arduino

Servopneumatiek. mart

EmSE presentatie. Raspberry Pi: Mijn eerste hapjes

A Quick Start Guide: AVR programmeren

2 Algemene opbouw van een computersysteem

Technology, Innovation & Society Delft

Transcriptie:

Wat is een busverbinding? gemeenschappelijke verbinding tussen CPU, geheugen en I/O-schakelingen onderscheid tussen: databus/adresbus/controlbus intern/extern serieel/parallel unidirectioneel/bidirectioneel http://www.nataliedee.com/archives/2003/feb/

Blokschema microprocessor buffers

Waarom een bus? beperking aantal verbindingen/aansluitingen (<->ster) makkelijk uit te breiden, modulair van opbouw nadeel: gemeenschappelijke verbinding: bottleneck afspraken nodig voor bustoewijzing (meerdere busmasters)

Synchronisatie Wanneer is data geldig op de bus? Hoelang moet data op de bus blijven staan?

Synchrone communicatie klokken van zender en ontvanger lopen gelijk: gemeenschappelijke klok via aparte draad (meestal bij parallel transport) aparte klokken lopen in de pas door synchronisatie-informatie in de data (meestal bij serieel transport) geen tijdsverlies door synchronisatie max. bussnelheid wordt bepaald door kloksnelheid

Asynchrone communicatie klokken van zender en ontvanger lopen niet gelijk, signalering van data-geldig: toevoegen start- en stopbits meezenden strobe-signaal handshaking tijdsverlies door synchronisatie Snelheid van de communicatie tussen twee devices wordt bepaald door de traagste van die twee

Verder vandaag Atmel AT91SAM7SExxx microcontroller Architectuur Doelstellingen ARM7TDMI processor ARM7TDMI processor Architectuur Signalen Bus cycle types Adres timing

Atmel AT91SAM7SExxx microcontroller Bron : http://www.olimex.com/dev/index.html

Bron : http://www.olimex.com/dev/index.html

Atmel AT91SAM7SExxx microcontroller Architectuur: Memory controller Systeem controller External bus interface DMA controller Peripherals ARM7TDMI processor core

Atmel AT91SAM7SExxx microcontroller Memory controller Programmeerbare bus, behandelt aanvragen van: ARM7TDMI processor DMA controller Adres decoder Memory protection unit (PMU) Embedded Flash controller

Atmel AT91SAM7SExxx microcontroller Systeem controller Interrupt controller Verzorgt de interrupt lijnen naar de ARM processor (nirq en nfiq). 8 prioriteit niveaus Iedere interrupt source heeft een 32-bit vector register Reset controller Power on reset Status van de laatste reset (power-on, software reset, user-reset, watchdog, etc.) Regelt de interne reset en de nrst output pin. Power managment controller (PMC) Verzorgt, gebruik makend van de Clock generator uitgangen, de volgende klok signalen: Processor clock PCK Master clock MCK USB clock UDPCK Periferal clocks 3 programmeerbare clock uitgangen Watchdog timer Real-time timer PIO controller Poort A en B ieder 32 bits I/O, poort C 24 bits I/O

Atmel AT91SAM7SExxx microcontroller External bus interface Static memory controller 8 16 bits databus Tot 512Mbyte adresseerbaar Verschillende access-modes Wait-state managment SDRAM controller Verschillende configuraties van SDRAM chips mogelijk Error detectie Externe bus 16 of 32 bits data bus Maximaal 23 bits adres bus (max 8Mbyte te adresseren

Atmel AT91SAM7SExxx microcontroller DMA controller Verzorgt de data-transfer tussen periferals en geheugen 11 DMA kanalen

Atmel AT91SAM7SExxx microcontroller Peripherals USB V2.0 (full-speed compliant) SPI, Serial Peripheral Interface TWI, Two Wire Interface USART, 5..9 bit full-duplex synchroon of asynchroon communicatie poorten (2x) met programmeerbare baudrate generatoren. SSC, Serieel Synchronous Controller PWMC, 4 16 bits PWM kanalen Timer, bevat 3 16-bit counter kanalen. ADC, 8 Analoge naar Digitaal converters van 10 bit.

Atmel AT91SAM7SExxx microcontroller ARM7TDMI processor core RISC processor gebaseerd op de von Neumann architectuur Max 55Mhz met 0,9MIPS/Mhz (bij een voeding spanning van 1,8V) 2 instructie sets: ARM high-performance 32-bit instruction set Thumb high code density 16-bit instruction set Three stage pipeline architectuur: (F) Instruction fetch (D) Instruction decode (E) Execute

Von Neumann Architectuur Bron : Wikipedia

Harvard Architectuur Bron : Wikipedia

Doelstellingen kennis maken met ARM7TDMI processor Signalen van een up leren kennen Tijddiagrammen begrijpen Samenhang van de communicatie signalen kennen up kunnen aansluiten op extern I/O Kunnen berekenen of aan alle timing eisen wordt voldaan

ARM7TDMI processor core Bron : http://www.atmel.com/dyn/resources/prod_documents/6222s.pdf

Bron : http://www.atmel.com/dyn/resources/prod_documents/6222s.pdf

ARM7TDMI processor core De signalen van de ARM7TDMI kunnen in 4 groepen worden verdeeld: Klok en klok controller signalen Adres signalen Geheugen request signalen Data signalen

ARM7TDMI processor core Klok en klok controller signalen MCLK, het hoofd klok signaal nwait, access verlengen met aantal cycles ECLK, uitgang van MCLK of DCLK nreset, resetten processor

ARM7TDMI processor core Adres signalen A[31:0], adres lijnen A0 t/m A31 nrw, Read/Write richting van data transfer MAS[1:0], grote van data transfer (byte, half word of word) nopc, info over transfer (opcode of data) ntrans, info over transfer (user, privileged) LOCK, geeft ondeelbare operatie aan ABE, voor aan/uitzetten adresbus drivers APE, Wel of geen adres pipeline gebruiken.

ARM7TDMI processor core Geheugen request signalen nmreq, processor doet een geheugen aanvraag voor volgende cycle SEQ, geeft aan dat het adres van de volgende geheugen cycle gerelateerd is aan het huidige adres (hetzelfde of opeenvolgend).

ARM7TDMI processor core Data signalen D[31:0], 32-bits bidirectionele databus DIN[31:0], 32-bits unidirectionele input databus DOUT[31:0], 32-bits unidirectionele output databus ABORT, data transfer mislukt BL[3:0], welk databyte moet worden gebruikt: D[31:24], D[23:16], D[15:8] of D[7:0]

De ARM7TDMI processor bus interface 4 soorten bus cycles: 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.

De ARM7TDMI processor bus interface De bus cycles types zijn te onderscheiden m.b.v. de signalen nmreq en SEQ: bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

De ARM7TDMI processor bus interface Nonsequential cycles: bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

De ARM7TDMI processor bus interface Sequential cycles: De sequential cycles worden gebruikt voor burst data transfers op de bus. Het adres kan hetzelfde zijn of automatische worden verhoogd t.o.v. de vorige cycle. bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

De ARM7TDMI processor bus interface Sequential cycles: Een Burst cycle start altijd met een N-Cycle (Nonsequential cycle) welke dan wordt vervolgt met S- Cycles (Sequential cycles). De volgende burst type zijn mogelijk: bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

De ARM7TDMI processor bus interface Internal cycles: Tijdens een interne cycle heeft de ARM7TDMI processor geen geheugen access nodig als hij een interne functie aan het uitvoeren is. Wanneer mogelijk zal de processor wel het adres voor de volgende access op de adresbus zetten zodat het decoderen alvast kan starten. bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

De ARM7TDMI processor bus interface Coprocessor transfer cycles: Tijdens een coprocessor register transfer cycle gebruikt de ARM7TDMI processor de data bus voor de transfer van data van en naar de coprocessor. bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

De ARM7TDMI processor bus interface Overzicht van alle bus cycles bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

Adres Timing ARM7TDMI processor adresbus heeft 2 configuraties: Pipelined Depipelined APE (Address Pipeline Enable) beïnvloed de timing van de adresbus A[31:0], nrw, MAS[1:0], LOCK, nopc en ntrans. (ALE heeft zelfde functie als APE maar is nog aanwezig vanwege backwards comptabiliteit)

Adres Timing (pipelined) Meeste systemen, en in het bijzonder systemen met DRAM, is het wenselijk dat het adres zo snel mogelijk bekent wordt gemaakt door de processor. Wanneer APE hoog is wordt het adres van de processor valid na een opgaande flank van MCLK

Adres Timing (pipelined) Voorbeeld Pipelined addressing bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

Adres Timing (depipelined) SRAM en ROM eisen dat het adres stabiel wordt gehouden gedurende de gehele geheugen cycle. In een systeem met alleen maar SRAM en/of ROM kan APE signaal permanent laag worden gehouden. Adres valid na neergaande flank van MCLK

Adres Timing (depipelined) Voorbeeld Depipelined addressing bron : http://www.eecs.umich.edu/~panalyzer/pdfs/arm_doc.pdf

Adres Timing Veel systemen hebben echter een combinatie van DRAM, SRAM en ROM. Om aan de verschillende timing requirements te voldoen, kan APE signaal worden aangepast tijdens de laag fase van de MCLK. Tijdens een burst of sequential access naar een bepaald geheugen type wordt APE signaal op 1 niveau gehouden.

Adres Timing De processor gebruikt de uitgangsignalen MAS[1:0] om de size (word, half-word of byte) van een transfer weer te geven. Bij een word transfer worden A[1,0] genegeerd. Bij een half word transfer wordt A[0] genegeerd.