training:embedded_systems

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
training:embedded_systems [2016/02/01 20:06]
kluong created
training:embedded_systems [2021/09/19 21:59] (current)
Line 1: Line 1:
-====== Embedded Systems ======+===== Introduction ​=====
  
-====== Readings ======+Most of the projects in this lab include embedded systems and microprocessors,​ so this article will serve as your introduction to these components. You will most likely be working with embedded systems and microprocessors,​ so it is imperative that you get comfortable with these concepts.
  
-Most of these readings will be from wikipedia - they'​re great pages to start. If you're still confused, I suggest you do a little more background research to clarify what these concepts are before moving on.  
  
-[[ https://​en.wikipedia.org/​wiki/​Microcontroller | Microcontroller ]] +===== Embedded ​Systems =====
-[[ https://​en.wikipedia.org/​wiki/​Embedded_system | Embedded ​System ]] +
-[[ https://​en.wikipedia.org/​wiki/​I%C2%B2C | I2C ]] +
-[[ https://​en.wikipedia.org/​wiki/​Universal_asynchronous_receiver/​transmitter | UART ]] +
-[[ https://​en.wikipedia.org/​wiki/​Analog-to-digital_converter | ADC ]] +
-[[ https://​en.wikipedia.org/​wiki/​Serial_Peripheral_Interface_Bus | SPI ]]+
  
-====== ​Assignment ​======+An **embedded system** is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints. It is //​embedded//​ as part of a complete device often including hardware and mechanical parts. A lot of the time, embedded systems are only designed to do specific tasks. They'​re not as robust as, say, a home PC. Because of this, the advantages of designing an embedded system is it's reduced size, low production cost, and improved performance. If you are doing a weatherbox project, you are most likely tasked with designing an embedded system from scratch; complete with sensors, circuitry, and a microprocessor/​microcontroller. As you design your system, remember that your goal is to make it as small, cheap, and efficient as possible. If you need more information on embedded systems, [[ https://​en.wikipedia.org/​wiki/​Embedded_system | this wikipedia article ]] is a good resource to start with. 
 + 
 +===== Microcontroller ​===== 
 + 
 +A **microcontroller** is a small computer on a single integrated circuit. In modern terminology,​ it is a system on a chip or SoC. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/​output peripherals. Program memory in the form of Ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications,​ in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips. [[ https://​en.wikipedia.org/​wiki/​Microcontroller | microprocessor wikipedia page. ]] 
 + 
 + 
 +===== Communication Protocols ===== 
 + 
 +Whether it be sensors or a transceiver,​ modules that you implement onto your board will have to communicate with each other. **Communication protocols** are used to format and dictate how these modules communicate with each other. Different protocols have different pros and cons. A deep understanding of all the different protocols isn't necessary for what we do in the lab, but a basic understanding of some of them will benefit you and your project. The ones the lab uses most are **I2C**, **UART**, and **SPI**. Please review this table. If you desire further information on any of these protocols, the embedded link on the name of the protocol will lead you to more details. 
 + 
 + 
 + 
 + 
 + 
 +|Communication Protocol | Description | 
 +| [[https://​learn.sparkfun.com/​tutorials/​serial-communication|Universal Asynchronous Receiver/​Transmitter (UART)]]| Allows a microcontroller to communicate asynchronously(without CLK support) with a device. Uses only two data lines (Tx/Rx) for communication. | 
 +| [[https://​learn.sparkfun.com/​tutorials/​serial-peripheral-interface-spi|Serial Peripheral Interface (SPI)]]| Allows microcontroller to communicate synchronously(with CLK). Usually has four lines: Master In Slave out (MISO), Master out Slave in (MOSI), CLK, and an enable pin. | 
 +| [[https://​learn.sparkfun.com/​tutorials/​i2c|Inter-integrated Circuit (I2C)]]| A complex compromise between UART and SPI. Uses two lines: SDA and SCL. | 
 + 
 + 
 +===== Review ===== 
 +You should ask yourself these questions to determine whether or not you properly understand the material on this page:
  
   - What is an embedded system?   - What is an embedded system?
   - What is a microcontroller?​   - What is a microcontroller?​
-  - SPI, ADC, UART, I2C+  - SPI, UART, I2C
     - What do they stand for?     - What do they stand for?
     - What are they?     - What are they?
     - What are they useful for?     - What are they useful for?
     - How are they all related?     - How are they all related?
 +  - How do you think this information will relate to this lab?
 +
 +====== Next Steps ======
  
 +[[ Arduino Introduction ]]
  
  • training/embedded_systems.1454357195.txt.gz
  • Last modified: 2021/09/19 21:59
  • (external edit)