SlideShare a Scribd company logo
1 of 21
Download to read offline
ELEC 3300 : Spring 17/18 Tim Woo 1
ELEC 3300
Introduction to Embedded Systems
Topic 9
Buffering and Direct Memory Access (DMA)
Prof. Tim Woo
ELEC 3300 : Spring 17/18 Tim Woo 2
Course Overview
Timer and
Counter
Basic Computer
Structure
Introduction to
Embedded Systems
Digital and Analog
Interfacing
Interrupt
Organization
Memory,
Interfacing to Memory,
Memory Timing
and applications
Motor Interfacing
Buffering and
Direct Memory Access
(DMA)
Interfacing LCD
USART, IEEE1394,
USB, I2C and SPI
To be covered In progress Done
Microcontroller Structure
A/D Port
Assembler
Instruction Set Architecture
Memory I/O System
Datapath & Control
CPU Serial Port
External Memory Port
External Interrupt Port
Simple I/O Port
In this course, STM32 is used as a driving vehicle for delivering the concepts.
External Timer Port
MCU Main Board
ELEC 3300 : Spring 17/18 Tim Woo 3
• On successful completion of this topic, you will be able to
– Classify three different I/O modules
– Describe the basic operations of the three different I/O modules
– Understand the hardware configurations of DMA
– Illustrate the operation of DMA block transfer mode
Expected Outcomes
ELEC 3300 : Spring 17/18 Tim Woo 4
• An area of memory that is used to store temporary data
What is a buffer?
ELEC 3300 : Spring 17/18 Tim Woo 5
Concurrency Between I/O and Programs
How to write a block of data from
disk to memory ?
- Three different I/O modules
Executing
Embedded
Software
Programs
μC or μP
Physical View
I/O
Devices
Buffer
Memory
Programs
e.g. Keyboard,
mouse, Printer,
modem, ...
e.g. Cache, RAM
ELEC 3300 : Spring 17/18 Tim Woo 6
I/O Module: Programmed I/O
Issue Read
Command to
I/O device
Read Status
of I/O device
Check Status
Read Word
from I/O device
Write Word
Into Memory
Done?
Next Instruction
No
Not
Ready
Ready
CPU  I/O
I/O  CPU
Error
Condition
I/O  CPU
CPU  Memory
Increment
of I/O and
memory
addresses
Yes
Suppose this is done one-byte at a time under the software control.
Applications:
• Keyboards interfacing
• Occasional application to other simple character-based data transfer
Executing
Embedded
Software
Programs
μC or μP
Physical View
I/O
Devices
Buffer
Memory
Programs
e.g. Keyboard,
mouse, Printer,
modem, ...
e.g. Cache, RAM
ELEC 3300 : Spring 17/18 Tim Woo 7
I/O Module: Interrupt I/O
Executing
Embedded
Software
Programs
μC or μP
Physical View
I/O
Devices
Buffer
Memory
Programs
e.g. Keyboard,
mouse, Printer,
modem, ...
e.g. Cache, RAM
Issue Read
Command to
I/O device
Read Status
of I/O device
Check Status
Read Word
from I/O device
Write Word
Into Memory
Done?
Next Instruction
No
Ready
CPU  I/O
I/O  CPU
Error
Condition
I/O  CPU
CPU  Memory
Increment
of I/O and
memory
addresses
Yes
Suppose this is done one-byte at a time under the software control.
Applications:
• A program to execute an illegal instruction
• The completion of an I/O task initiated previously a program
• An unexpected user command from keyboard such as resetting the computer.
CPU  Do
Something Else
CPU  Interrupt
ELEC 3300 : Spring 17/18 Tim Woo 8
Increasing Concurrency Between I/O and Programs
ELEC 3300 : Spring 17/18 Tim Woo 9
• What if we make the I/O devices a little smarter?
– Make the device capable of moving data to/from memory itself
– Advantage: it would no longer need the processor to move the data
– Disadvantage: more control logics
I/O Module: Direct Memory Access (DMA)
Either polling or
interrupt is used to
check whether the
devices are ready.
ELEC 3300 : Spring 17/18 Tim Woo 10
• The device can steal memory access cycles from the bus while the
processor is not reading or writing
• Generally, a block move is set up, say 512 bytes per block
– The processor initiates the block data transfer by memory-mapped I/O
– A whole block of data is then transferred without further processor intervention
– To do this, the DMA controller takes control of the bus (instead of the
processor) to sequentially copy all the bytes in the block
– On completion, the DMA controller restores control of the bus to the CPU
DMA – How
ELEC 3300 : Spring 17/18 Tim Woo 11
DMA Hardware
the DMA controller requests use of the bus for a DMA transfer
BG: the processor grants the bus to the
DMA controller indicating that the bus
is available for DMA transfer
ELEC 3300 : Spring 17/18 Tim Woo 12
DMA Operation (Block Transfer Mode)
• As an example, consider reading a block from disk:
1. Processor tells the Disk Interface
the address of block on disk.
2. Processor tells the DMA
Controller the address and the
size of block in memory.
3. Disk Interface reads block from
disk to internal buffer, while CPU
continues normally.
4. Disk Interface asserts REQ to tell
DMA Controller that it has read
the block
5. DMA Controller asserts BR
6. Processor asserts BG
4
5
6
ELEC 3300 : Spring 17/18 Tim Woo 13
DMA Operation (Block Transfer Mode)
7. DMA Controller puts memory address on
Address Bus, asserts control signals to
handshake with memory, assert Read and
GO to Disk Interface
8. Disk Interface outputs byte of data from its
buffer to Data Bus
9. Memory uses the data and address on the
bus to store data
10. DMA Controller de-asserts GO, and Disk
Interface disconnects from Data Bus
11. Repeat Step 7 to 10 until whole block
transferred.
12. DMA Controller de-asserts BR and the
processor regains control of bus
13. DMA Controller sends an interrupt to
Processor
7
7
8
10
12
12
12
ELEC 3300 : Spring 17/18 Tim Woo 14
DMA Operation (Block Transfer Mode)
• As an example, consider reading a block from disk:
ELEC 3300 : Spring 17/18 Tim Woo 15
• The reason to use DMA are
– Higher performance: since it requires only one interrupt per N-bytes transfer to
check the device’s readiness rather than one interrupt per byte
– Higher performance: executing N move instructions to transfer N-bytes of data
is slow compared to stealing a cycle from the bus and doing the transfer
– Used for slower devices that requires a large number of block transfer such as
disk, tapes, etc
DMA – Why
ELEC 3300 : Spring 17/18 Tim Woo 16
DMA in STM32
ELEC 3300 : Spring 17/18 Tim Woo 17
DMA in STM32
ELEC 3300 : Spring 17/18 Tim Woo 18
Course Overview
Timer and
Counter
Basic Computer
Structure
Introduction to
Embedded Systems
Digital and Analog
Interfacing
Interrupt
Organization
Memory,
Interfacing to Memory,
Memory Timing
and applications
Motor Interfacing
Buffering and
Direct Memory Access
(DMA)
Interfacing LCD
USART, IEEE1394,
USB, I2C and SPI
To be covered In progress Done
Microcontroller Structure
A/D Port
Assembler
Instruction Set Architecture
Memory I/O System
Datapath & Control
CPU Serial Port
External Memory Port
External Interrupt Port
Simple I/O Port
In this course, STM32 is used as a driving vehicle for delivering the concepts.
External Timer Port
MCU Main Board
ELEC 3300 : Spring 17/18 Tim Woo 19
• Do you ….
– Distinguish three different I/O modules and their operations?
– List some examples of applying different I/O in modern computer ?
– List the hardware configurations of DMA ?
– Understand the operations of block transfer mode of DMA ?
Reflection (Self-evaluation)
ELEC 3300 : Spring 17/18 Tim Woo 20
The Buffer
ELEC 3300 : Spring 17/18 Tim Woo 21
• When inactive, the DMA controller
looks like a normal interface (i.e. the
internal registers can be accessed by
the processor using a normal
read/write bus cycle)
• But when the DMA controller is
granted the bus, it generates its own
read/write cycles (i.e. it issues
address and control signals for the
memory and device interfaces)
• This allows the DMA controller to
transfer a byte (or word) between
memory and device every bus cycle if
desired
DMA Controller

More Related Content

Similar to ELEC3300_09-DMA.pdf

ITBIS105 6
ITBIS105 6ITBIS105 6
ITBIS105 6
Suad 00
 
1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf
1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf
1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf
aniyathikitchen
 
Project report on embedded system using 8051 microcontroller
Project  report on embedded system using 8051 microcontrollerProject  report on embedded system using 8051 microcontroller
Project report on embedded system using 8051 microcontroller
Vandna Sambyal
 

Similar to ELEC3300_09-DMA.pdf (20)

IO and file systems
IO and file systems IO and file systems
IO and file systems
 
Chap05_1473751047_598103.ppt
Chap05_1473751047_598103.pptChap05_1473751047_598103.ppt
Chap05_1473751047_598103.ppt
 
ITBIS105 6
ITBIS105 6ITBIS105 6
ITBIS105 6
 
Chapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxChapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptx
 
1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf
1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf
1.CPU INSTRUCTION AND EXECUTION CYCLEThe primary function of the .pdf
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
IO_ORGANIZATION.pdf
IO_ORGANIZATION.pdfIO_ORGANIZATION.pdf
IO_ORGANIZATION.pdf
 
Hardware
HardwareHardware
Hardware
 
Ch2 embedded processors-i
Ch2 embedded processors-iCh2 embedded processors-i
Ch2 embedded processors-i
 
Coa presentation3
Coa presentation3Coa presentation3
Coa presentation3
 
Project report on embedded system using 8051 microcontroller
Project  report on embedded system using 8051 microcontrollerProject  report on embedded system using 8051 microcontroller
Project report on embedded system using 8051 microcontroller
 
Unit 6
Unit 6Unit 6
Unit 6
 
Chapter 6
Chapter 6Chapter 6
Chapter 6
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
Hardware Components2 - Anti-Dote Series
Hardware Components2 - Anti-Dote SeriesHardware Components2 - Anti-Dote Series
Hardware Components2 - Anti-Dote Series
 
History of computer hardware
History of computer hardwareHistory of computer hardware
History of computer hardware
 
Ch # 04 computer hardware
Ch # 04 computer hardware Ch # 04 computer hardware
Ch # 04 computer hardware
 
Fundamentals
FundamentalsFundamentals
Fundamentals
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer Fundamentals
 
Bindura university of science education
Bindura university of science educationBindura university of science education
Bindura university of science education
 

Recently uploaded

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 

ELEC3300_09-DMA.pdf

  • 1. ELEC 3300 : Spring 17/18 Tim Woo 1 ELEC 3300 Introduction to Embedded Systems Topic 9 Buffering and Direct Memory Access (DMA) Prof. Tim Woo
  • 2. ELEC 3300 : Spring 17/18 Tim Woo 2 Course Overview Timer and Counter Basic Computer Structure Introduction to Embedded Systems Digital and Analog Interfacing Interrupt Organization Memory, Interfacing to Memory, Memory Timing and applications Motor Interfacing Buffering and Direct Memory Access (DMA) Interfacing LCD USART, IEEE1394, USB, I2C and SPI To be covered In progress Done Microcontroller Structure A/D Port Assembler Instruction Set Architecture Memory I/O System Datapath & Control CPU Serial Port External Memory Port External Interrupt Port Simple I/O Port In this course, STM32 is used as a driving vehicle for delivering the concepts. External Timer Port MCU Main Board
  • 3. ELEC 3300 : Spring 17/18 Tim Woo 3 • On successful completion of this topic, you will be able to – Classify three different I/O modules – Describe the basic operations of the three different I/O modules – Understand the hardware configurations of DMA – Illustrate the operation of DMA block transfer mode Expected Outcomes
  • 4. ELEC 3300 : Spring 17/18 Tim Woo 4 • An area of memory that is used to store temporary data What is a buffer?
  • 5. ELEC 3300 : Spring 17/18 Tim Woo 5 Concurrency Between I/O and Programs How to write a block of data from disk to memory ? - Three different I/O modules Executing Embedded Software Programs μC or μP Physical View I/O Devices Buffer Memory Programs e.g. Keyboard, mouse, Printer, modem, ... e.g. Cache, RAM
  • 6. ELEC 3300 : Spring 17/18 Tim Woo 6 I/O Module: Programmed I/O Issue Read Command to I/O device Read Status of I/O device Check Status Read Word from I/O device Write Word Into Memory Done? Next Instruction No Not Ready Ready CPU  I/O I/O  CPU Error Condition I/O  CPU CPU  Memory Increment of I/O and memory addresses Yes Suppose this is done one-byte at a time under the software control. Applications: • Keyboards interfacing • Occasional application to other simple character-based data transfer Executing Embedded Software Programs μC or μP Physical View I/O Devices Buffer Memory Programs e.g. Keyboard, mouse, Printer, modem, ... e.g. Cache, RAM
  • 7. ELEC 3300 : Spring 17/18 Tim Woo 7 I/O Module: Interrupt I/O Executing Embedded Software Programs μC or μP Physical View I/O Devices Buffer Memory Programs e.g. Keyboard, mouse, Printer, modem, ... e.g. Cache, RAM Issue Read Command to I/O device Read Status of I/O device Check Status Read Word from I/O device Write Word Into Memory Done? Next Instruction No Ready CPU  I/O I/O  CPU Error Condition I/O  CPU CPU  Memory Increment of I/O and memory addresses Yes Suppose this is done one-byte at a time under the software control. Applications: • A program to execute an illegal instruction • The completion of an I/O task initiated previously a program • An unexpected user command from keyboard such as resetting the computer. CPU  Do Something Else CPU  Interrupt
  • 8. ELEC 3300 : Spring 17/18 Tim Woo 8 Increasing Concurrency Between I/O and Programs
  • 9. ELEC 3300 : Spring 17/18 Tim Woo 9 • What if we make the I/O devices a little smarter? – Make the device capable of moving data to/from memory itself – Advantage: it would no longer need the processor to move the data – Disadvantage: more control logics I/O Module: Direct Memory Access (DMA) Either polling or interrupt is used to check whether the devices are ready.
  • 10. ELEC 3300 : Spring 17/18 Tim Woo 10 • The device can steal memory access cycles from the bus while the processor is not reading or writing • Generally, a block move is set up, say 512 bytes per block – The processor initiates the block data transfer by memory-mapped I/O – A whole block of data is then transferred without further processor intervention – To do this, the DMA controller takes control of the bus (instead of the processor) to sequentially copy all the bytes in the block – On completion, the DMA controller restores control of the bus to the CPU DMA – How
  • 11. ELEC 3300 : Spring 17/18 Tim Woo 11 DMA Hardware the DMA controller requests use of the bus for a DMA transfer BG: the processor grants the bus to the DMA controller indicating that the bus is available for DMA transfer
  • 12. ELEC 3300 : Spring 17/18 Tim Woo 12 DMA Operation (Block Transfer Mode) • As an example, consider reading a block from disk: 1. Processor tells the Disk Interface the address of block on disk. 2. Processor tells the DMA Controller the address and the size of block in memory. 3. Disk Interface reads block from disk to internal buffer, while CPU continues normally. 4. Disk Interface asserts REQ to tell DMA Controller that it has read the block 5. DMA Controller asserts BR 6. Processor asserts BG 4 5 6
  • 13. ELEC 3300 : Spring 17/18 Tim Woo 13 DMA Operation (Block Transfer Mode) 7. DMA Controller puts memory address on Address Bus, asserts control signals to handshake with memory, assert Read and GO to Disk Interface 8. Disk Interface outputs byte of data from its buffer to Data Bus 9. Memory uses the data and address on the bus to store data 10. DMA Controller de-asserts GO, and Disk Interface disconnects from Data Bus 11. Repeat Step 7 to 10 until whole block transferred. 12. DMA Controller de-asserts BR and the processor regains control of bus 13. DMA Controller sends an interrupt to Processor 7 7 8 10 12 12 12
  • 14. ELEC 3300 : Spring 17/18 Tim Woo 14 DMA Operation (Block Transfer Mode) • As an example, consider reading a block from disk:
  • 15. ELEC 3300 : Spring 17/18 Tim Woo 15 • The reason to use DMA are – Higher performance: since it requires only one interrupt per N-bytes transfer to check the device’s readiness rather than one interrupt per byte – Higher performance: executing N move instructions to transfer N-bytes of data is slow compared to stealing a cycle from the bus and doing the transfer – Used for slower devices that requires a large number of block transfer such as disk, tapes, etc DMA – Why
  • 16. ELEC 3300 : Spring 17/18 Tim Woo 16 DMA in STM32
  • 17. ELEC 3300 : Spring 17/18 Tim Woo 17 DMA in STM32
  • 18. ELEC 3300 : Spring 17/18 Tim Woo 18 Course Overview Timer and Counter Basic Computer Structure Introduction to Embedded Systems Digital and Analog Interfacing Interrupt Organization Memory, Interfacing to Memory, Memory Timing and applications Motor Interfacing Buffering and Direct Memory Access (DMA) Interfacing LCD USART, IEEE1394, USB, I2C and SPI To be covered In progress Done Microcontroller Structure A/D Port Assembler Instruction Set Architecture Memory I/O System Datapath & Control CPU Serial Port External Memory Port External Interrupt Port Simple I/O Port In this course, STM32 is used as a driving vehicle for delivering the concepts. External Timer Port MCU Main Board
  • 19. ELEC 3300 : Spring 17/18 Tim Woo 19 • Do you …. – Distinguish three different I/O modules and their operations? – List some examples of applying different I/O in modern computer ? – List the hardware configurations of DMA ? – Understand the operations of block transfer mode of DMA ? Reflection (Self-evaluation)
  • 20. ELEC 3300 : Spring 17/18 Tim Woo 20 The Buffer
  • 21. ELEC 3300 : Spring 17/18 Tim Woo 21 • When inactive, the DMA controller looks like a normal interface (i.e. the internal registers can be accessed by the processor using a normal read/write bus cycle) • But when the DMA controller is granted the bus, it generates its own read/write cycles (i.e. it issues address and control signals for the memory and device interfaces) • This allows the DMA controller to transfer a byte (or word) between memory and device every bus cycle if desired DMA Controller