Skip to content
Snippets Groups Projects
Commit cbcad65d authored by Jake Read's avatar Jake Read
Browse files

think done

parent 0258e709
No related branches found
No related tags found
No related merge requests found
......@@ -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
images/fpga-architecture.png

35.8 KiB

images/psoc.png

102 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment