Microcontroller Engineering Flashcards
to pass mate (132 cards)
What is firmware?
code that is able to interact direct directly with hardware
embedded systems compared General purpose computers
very limited feature hardware
heavy hardware interaction
limited memory
low level communication
crash resistant
Main components of a microcontroller
- core
- memory
- GPIO ports
- on chip peripheral devices eg. ADCs, timers and communications
what are the two types of buses and what do they do?
Advanced high performance bus (AHB) - connects CPU to memory and other high performance devices.
Advanced peripheral bus (APB) - connects group of on chip peripheral devices
How do you connect APB and AHBs
bus bridges
How are instructions executed, and what is the benefit of the pipeline, over not pipelined
Fetch, decode and execute and benefit they are executed in parallel.
Status registers?
contents can be read determine the status of the peripheral eg true, false, busy
Control registers?
commands can be written to control the operation of the peripherals
Data registers?
used as a temporary store for data being processed by a peripheral
What are three clocks present in microcontroller
High speed Internal, High speed external, and phase locked loop (PLL)
What pins are exceptions to GPIO
Power and ground pins, and reset pins
IO pins are grouped together to form?
Ports
Number of pins per port is related to, and
the word length of the microcontroller
What other type of I/O can pins be configured to be?
Alternate functions like ADCs and serial inputs, UARTS, I2C,
what is the point pull up and pull down resistors and with reference to VDD AND VSS
they prevent the pins from going into a floating (Voltage not strictly defined) state, by either choosing VDD (power supply voltage) VSS (ground or reference voltage). this helps with noise and mitigation
what ways can microcontroller operate for inputs
push/pull/neither (if going in input)
What ways can microcontroller operate for outputs
open drain/push or pull (if going out output, and if not VDD present open drain)
three pieces of information that the user must specify in order to configure a GPIO input at register level
- Mode (Input or output)
- Clock speed
- pull up or pull down resistor?
three pieces of information that the user must specify in order to configure a GPIO input at register level
- Mode (Input or output)
- Clock speed
- pull /pull or open drain ?
What is abstraction?
Abstraction is the act of hiding all the unnecessary details or code of a program, that we are not concerned with. Like mbed abstracts a lot of detail away
what are the benefits and drawbacks of embed or abstraction?
Benefits:
Simplified code development
Can separately error check
speeds up progress
Drawbacks:
can be bloated as takes up a lot of space
additional layers of library reduce performance
less control of on-chip resources
Whats Object oriented programming
programming based on use of objects rather than a list of instructions
Form of C++ statements
Class object (parameters?)
what can a class and object be thought of as?
template for which a specific object can be made, and an object is a specific instance of class.