Commit cbcad65d authored by Jake Read's avatar Jake Read

think done

parent 0258e709
......@@ -37,11 +37,11 @@ Depending on your chip, you'll need to find a programmer (device, i.e. the Atmel
While microcontrollers *include* tiny processors, they interface with the world with auxilliary circuits called **peripherals**. We can think of these like little bundled ASICs (application specific integrated circuits) that offload time-sensitive work from the processor. These also perform level shifting and current carrying capability.
![die](XC2C32A_die.jpg)
![die](images/XC2C32A_die.jpg)
Here's the diagram for an XMEGA
![xmega](xmega-blocks.png)
![xmega](images/xmega-blocks.png)
Some common peripherals:
- [PORT / PIN for digital logic (high, low, input)](https://www.instructables.com/id/ATTiny-Port-Manipulation/)
......@@ -54,7 +54,7 @@ Some common peripherals:
If we imagine peripherals to be little machines that the processor operates, we can think of registers as *memory locations whose bits are switches* for those machines. This is a bit odd, but I find it a useful metaphor. When we write into register locations, we are switching these bits on and off.
![handles](register.png)
![handles](images/register.png)
So! Figuring out which registers to read / write to is where we come to the datasheet. These provide extensive information on which registers do what, what order they need to be configured in, etc.
......@@ -66,9 +66,26 @@ So! Figuring out which registers to read / write to is where we come to the data
Is a PITA, but hugely enabling. Here are two guides: [one](https://www.egr.msu.edu/classes/ece480/capstone/read_datasheet.pdf) and [two](https://www.sparkfun.com/tutorials/223).
## CBA Examples
- [XMEGA: friendly, powerful](https://gitlab.cba.mit.edu/pub/hello-world/xmega)
- [NRF52: native wireless, fast ARM-core](https://gitlab.cba.mit.edu/pub/hello-world/nrf52)
- [ATSAMD51: 120MHz ARM M4, Adafruit Love](https://gitlab.cba.mit.edu/pub/hello-world/atsamd51)
- [ATSAMS70: 300MHz ARM M7](https://gitlab.cba.mit.edu/pub/hello-world/atsams70)
## Other Architectures
- PSOC
- FPGAs
### PSOCs
Programmable Systems On a Chip are somewhere between FPGAs and Microcontrollers. They typically contain a microcontroller core with adaptable / configurable sets of peripherals. Very cool. Graphical language mixed with c code.
![psoc](images/psoc.png)
### FPGAs
FPGAs are reconfigurable everything-s.
![fpga](images/fpga-architecture.png)
https://gitlab.cba.mit.edu/jakeread/coclocking
\ No newline at end of file
[tinyfpga](https://tinyfpga.com/)
[fpga4fun](https://www.fpga4fun.com/)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment