This document provides an introduction to USB (Universal Serial Bus). It discusses the original motivations for USB including flexibility, ease of use, and high speed data transfer. It describes the different USB speeds and the star topology of the USB bus. It explains that USB uses a host-controlled model and supports up to 127 devices connected at once. The document also covers USB packets, transactions, functions, endpoints, pipes, and the different types of transfers (control, interrupt, bulk, isochronous).
The Arduino platform was developed by a team of students and teachers to create an easy-to-use and affordable electronics prototyping platform. It was inspired by Processing and aims to be open source and support a community of users sharing projects and knowledge. The Arduino hardware acts as a microcontroller that can read input and control output to create interactive projects, while the software provides an easy programming environment to code these projects.
Arduino is an open- source computer hardware and software company, project and user community that designs and manufactures microcontroller-based kits for building systems consisting of digital devices, interactive objects that can sense and control in the physical world.
The Intel 8255 Programmable Peripheral Interface (PPI) chip contains three 8-bit ports (Port A, Port B, and Port C) that can be configured for input or output. It operates in either Bit Set/Reset (BSR) mode or Input/Output (I/O) mode. In BSR mode, individual pins of Port C can be set or reset. In I/O mode, the ports support three modes - Simple I/O (Mode 0), Strobed I/O (Mode 1), or Strobed Bi-directional I/O (Mode 2). The control register is used to configure the ports and select the operating mode.
This document provides an introduction to USB (Universal Serial Bus). It discusses the original motivations for USB including flexibility, ease of use, and high speed data transfer. It describes the different USB speeds and the star topology of the USB bus. It explains that USB uses a host-controlled model and supports up to 127 devices connected at once. The document also covers USB packets, transactions, functions, endpoints, pipes, and the different types of transfers (control, interrupt, bulk, isochronous).
The Arduino platform was developed by a team of students and teachers to create an easy-to-use and affordable electronics prototyping platform. It was inspired by Processing and aims to be open source and support a community of users sharing projects and knowledge. The Arduino hardware acts as a microcontroller that can read input and control output to create interactive projects, while the software provides an easy programming environment to code these projects.
Arduino is an open- source computer hardware and software company, project and user community that designs and manufactures microcontroller-based kits for building systems consisting of digital devices, interactive objects that can sense and control in the physical world.
The Intel 8255 Programmable Peripheral Interface (PPI) chip contains three 8-bit ports (Port A, Port B, and Port C) that can be configured for input or output. It operates in either Bit Set/Reset (BSR) mode or Input/Output (I/O) mode. In BSR mode, individual pins of Port C can be set or reset. In I/O mode, the ports support three modes - Simple I/O (Mode 0), Strobed I/O (Mode 1), or Strobed Bi-directional I/O (Mode 2). The control register is used to configure the ports and select the operating mode.
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.
Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication, and power supply between computers and electronic devices
A talk I gave at Creative Crew (Singapore) on 12 August 2016 to introduce newcomers to the Raspberry Pi.
Video link of this talk can be found here: https://engineers.sg/v/955
Code used in the talk can be found here: https://github.com/yeokm1/getting-started-with-rpi
Communication protocols (like UART, SPI, I2C) play an very important role in Micro-controlled based embedded systems development. These protocols helps the main board to communicate with different peripherals by interfacing mechanism. Here is a presentation that talks about how these protocols actually work.
SPI is a serial bus standard established by Motorola and supported in silicon products from various manufacturers.
It is a synchronous serial data link that operates in full duplex (signals carrying data go in both directions simultaneously).
Devices communicate using a master/slave relationship, in which the master initiates the data frame. When the master generates a clock and selects a slave device, data may be transferred in either or both directions simultaneously.
Fpga implementation of utmi with usb 2.O Mathew George
The document describes the FPGA implementation of a USB Transceiver Macrocell Interface (UTMI) that is compliant with the USB 2.0 specification. It includes a block diagram of the UTMI showing its functional blocks like the transmitter and receiver modules. The transmitter module includes components like the NRZI encoder and bit stuff logic, while the receiver includes an NRZI decoder and bit unstuff logic. Simulation results and synthesis reports are provided to validate the design meets the USB 2.0 specification requirements.
This document provides an overview of the Universal Serial Bus (USB) standard. It describes the key aspects of USB including its architectural overview as a tiered star topology, electrical and mechanical characteristics of USB connectors, the USB protocol layer and packet types, USB device framework including descriptors and data transfer types, and how USB interfaces are created. The document is intended to explain the fundamental concepts and specifications that define USB.
The document describes the LPC213x and LPC214x microcontroller series from NXP Semiconductors. The LPC213x can operate at up to 60 MHz and features 2 I2C interfaces, 2 UARTs, 1 SPI interface, 1 SSP interface, two 8-channel 10-bit ADCs, 1 10-bit DAC, 4 timers, 47 I/O pins tolerant to 5V signals, and operates from a single 3.3V supply. It includes features such as real-time debugging, an RTC, BOD, POR, and user code security. The LPC214x extends the LPC213x with USB 2.0 device support, faster GPIOs
The document discusses serial communication in the ATmega16 microcontroller. It describes the basics of serial communication including synchronous and asynchronous transmission. It provides details of the serial communication hardware in ATmega16 including the Universal Synchronous Asynchronous Receiver Transmitter (USART) module, baud rate registers, control and status registers, and data register. It also discusses initializing the serial port, sending and receiving characters through the USART.
This document provides an overview of peripherals and interfacing using various communication protocols. It discusses the I2C bus protocol for accessing peripheral chips. It covers the operation of the I2C bus including start/stop bits and acknowledgement. It then summarizes the use of various peripherals that interface using I2C including EEPROM, analog to digital converters, LCDs, and sensors. It also covers serial communication protocols like UART and interfacing for devices like keyboards.
Study on 32-bit Cortex - M3 Powered MCU: STM32F101Premier Farnell
The document summarizes the features and applications of the STM32F101 microcontroller. It has a Cortex-M3 CPU, flash memory, SRAM, low power modes, and various peripherals like ADC, DAC, timers, serial interfaces. It is suitable for industrial equipment, appliances, consumer devices, and other applications requiring a low-cost ARM MCU. Development tools include compilers, debuggers, evaluation boards, and USB-to-JTAG adapters for programming and debugging the STM32F101.
This document provides an introduction to using Arduino boards. It discusses getting started with the Arduino IDE, programming basics like digital I/O and timing functions. Examples are provided to blink an LED, read a digital sensor, read an analog sensor with a potentiometer, and fade an LED using pulse width modulation. Terminology around bits, bytes and serial communication is also explained. The document aims to teach Arduino fundamentals and provide practice examples for learning.
This document provides information on the TTTSSS222555666MMM~~~222GGGUUUSSSDDD microSD memory card from Transcend Information Inc. It includes specifications for the card such as dimensions, storage capacity, operating voltage and temperature ranges, durability, and bus interface information. The document also describes the card architecture and contains detailed information on the card registers including the CID, CSD, and OCR registers which store card identification and configuration data.
I²C (Inter-Integrated Circuit), pronounced I-squared-C, is a multi-master, multi-slave, single-ended, serial computer bus invented by Philips Semiconductor (now NXP Semiconductors). It is typically used for attaching lower-speed peripheral ICs to processors and microcontrollers. Alternatively I²C is spelled I2C (pronounced I-two-C) or IIC (pronounced I-I-C).
Since October 10, 2006, no licensing fees are required to implement the I²C protocol. However, fees are still required to obtain I²C slave addresses allocated by NXP.[1]
Several competitors, such as Siemens AG (later Infineon Technologies AG, now Intel mobile communications), NEC, Texas Instruments, STMicroelectronics (formerly SGS-Thomson), Motorola (later Freescale), and Intersil, have introduced compatible I²C products to the market since the mid-1990s.
SMBus, defined by Intel in 1995, is a subset of I²C that defines the protocols more strictly. One purpose of SMBus is to promote robustness and interoperability. Accordingly, modern I²C systems incorporate policies and rules from SMBus, sometimes supporting both I²C and SMBus, requiring only minimal reconfiguration.
The Serial Peripheral Interface (SPI) bus is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. The interface was developed by Motorola and has become a de facto standard. Typical applications include sensors, Secure Digital cards, and liquid crystal displays.
SPI devices communicate in full duplex mode using a master-slave architecture with a single master. The master device originates the frame for reading and writing. Multiple slave devices are supported through selection with individual slave select (SS) lines.
Sometimes SPI is called a four-wire serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface,[1] but it is different from the Synchronous Serial Interface (SSI) protocol, which is also a four-wire synchronous serial communication protocol, but employs differential signaling and provides only a single simplex communication channel.
USB 3.0 allows for much faster data transfer speeds of up to 5Gbps, which is 10 times faster than USB 2.0. It includes improvements like increased power delivery and more efficient data streaming. USB 3.0 is backward compatible with previous standards and uses an additional set of pins in its connectors to separate the SuperSpeed signals from the standard USB 2.0 ones. The specification also optimized power efficiency through asynchronous notifications and lower idle power requirements.
Arduino Uno is a microcontroller board based on 8-bit ATmega328P microcontroller. Along with ATmega328P, it consists other components such as crystal oscillator, serial communication, voltage regulator, etc. to support the microcontroller. Arduino Uno has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button.
USB was developed in the mid-1990s to standardize connections between computers and peripherals like keyboards, mice, cameras and drives. It has several key features including being low cost, using a single connector type, and allowing for hot plugging of devices. USB operates using a star topology with a host controller connecting devices and hubs. Communication between devices and the host occurs through pipes that associate endpoints to software. Data is transmitted using a token phase, data phase and handshake phase over differential signal lines with encoding and error checking handled by the physical layer.
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.
Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication, and power supply between computers and electronic devices
A talk I gave at Creative Crew (Singapore) on 12 August 2016 to introduce newcomers to the Raspberry Pi.
Video link of this talk can be found here: https://engineers.sg/v/955
Code used in the talk can be found here: https://github.com/yeokm1/getting-started-with-rpi
Communication protocols (like UART, SPI, I2C) play an very important role in Micro-controlled based embedded systems development. These protocols helps the main board to communicate with different peripherals by interfacing mechanism. Here is a presentation that talks about how these protocols actually work.
SPI is a serial bus standard established by Motorola and supported in silicon products from various manufacturers.
It is a synchronous serial data link that operates in full duplex (signals carrying data go in both directions simultaneously).
Devices communicate using a master/slave relationship, in which the master initiates the data frame. When the master generates a clock and selects a slave device, data may be transferred in either or both directions simultaneously.
Fpga implementation of utmi with usb 2.O Mathew George
The document describes the FPGA implementation of a USB Transceiver Macrocell Interface (UTMI) that is compliant with the USB 2.0 specification. It includes a block diagram of the UTMI showing its functional blocks like the transmitter and receiver modules. The transmitter module includes components like the NRZI encoder and bit stuff logic, while the receiver includes an NRZI decoder and bit unstuff logic. Simulation results and synthesis reports are provided to validate the design meets the USB 2.0 specification requirements.
This document provides an overview of the Universal Serial Bus (USB) standard. It describes the key aspects of USB including its architectural overview as a tiered star topology, electrical and mechanical characteristics of USB connectors, the USB protocol layer and packet types, USB device framework including descriptors and data transfer types, and how USB interfaces are created. The document is intended to explain the fundamental concepts and specifications that define USB.
The document describes the LPC213x and LPC214x microcontroller series from NXP Semiconductors. The LPC213x can operate at up to 60 MHz and features 2 I2C interfaces, 2 UARTs, 1 SPI interface, 1 SSP interface, two 8-channel 10-bit ADCs, 1 10-bit DAC, 4 timers, 47 I/O pins tolerant to 5V signals, and operates from a single 3.3V supply. It includes features such as real-time debugging, an RTC, BOD, POR, and user code security. The LPC214x extends the LPC213x with USB 2.0 device support, faster GPIOs
The document discusses serial communication in the ATmega16 microcontroller. It describes the basics of serial communication including synchronous and asynchronous transmission. It provides details of the serial communication hardware in ATmega16 including the Universal Synchronous Asynchronous Receiver Transmitter (USART) module, baud rate registers, control and status registers, and data register. It also discusses initializing the serial port, sending and receiving characters through the USART.
This document provides an overview of peripherals and interfacing using various communication protocols. It discusses the I2C bus protocol for accessing peripheral chips. It covers the operation of the I2C bus including start/stop bits and acknowledgement. It then summarizes the use of various peripherals that interface using I2C including EEPROM, analog to digital converters, LCDs, and sensors. It also covers serial communication protocols like UART and interfacing for devices like keyboards.
Study on 32-bit Cortex - M3 Powered MCU: STM32F101Premier Farnell
The document summarizes the features and applications of the STM32F101 microcontroller. It has a Cortex-M3 CPU, flash memory, SRAM, low power modes, and various peripherals like ADC, DAC, timers, serial interfaces. It is suitable for industrial equipment, appliances, consumer devices, and other applications requiring a low-cost ARM MCU. Development tools include compilers, debuggers, evaluation boards, and USB-to-JTAG adapters for programming and debugging the STM32F101.
This document provides an introduction to using Arduino boards. It discusses getting started with the Arduino IDE, programming basics like digital I/O and timing functions. Examples are provided to blink an LED, read a digital sensor, read an analog sensor with a potentiometer, and fade an LED using pulse width modulation. Terminology around bits, bytes and serial communication is also explained. The document aims to teach Arduino fundamentals and provide practice examples for learning.
This document provides information on the TTTSSS222555666MMM~~~222GGGUUUSSSDDD microSD memory card from Transcend Information Inc. It includes specifications for the card such as dimensions, storage capacity, operating voltage and temperature ranges, durability, and bus interface information. The document also describes the card architecture and contains detailed information on the card registers including the CID, CSD, and OCR registers which store card identification and configuration data.
I²C (Inter-Integrated Circuit), pronounced I-squared-C, is a multi-master, multi-slave, single-ended, serial computer bus invented by Philips Semiconductor (now NXP Semiconductors). It is typically used for attaching lower-speed peripheral ICs to processors and microcontrollers. Alternatively I²C is spelled I2C (pronounced I-two-C) or IIC (pronounced I-I-C).
Since October 10, 2006, no licensing fees are required to implement the I²C protocol. However, fees are still required to obtain I²C slave addresses allocated by NXP.[1]
Several competitors, such as Siemens AG (later Infineon Technologies AG, now Intel mobile communications), NEC, Texas Instruments, STMicroelectronics (formerly SGS-Thomson), Motorola (later Freescale), and Intersil, have introduced compatible I²C products to the market since the mid-1990s.
SMBus, defined by Intel in 1995, is a subset of I²C that defines the protocols more strictly. One purpose of SMBus is to promote robustness and interoperability. Accordingly, modern I²C systems incorporate policies and rules from SMBus, sometimes supporting both I²C and SMBus, requiring only minimal reconfiguration.
The Serial Peripheral Interface (SPI) bus is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. The interface was developed by Motorola and has become a de facto standard. Typical applications include sensors, Secure Digital cards, and liquid crystal displays.
SPI devices communicate in full duplex mode using a master-slave architecture with a single master. The master device originates the frame for reading and writing. Multiple slave devices are supported through selection with individual slave select (SS) lines.
Sometimes SPI is called a four-wire serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface,[1] but it is different from the Synchronous Serial Interface (SSI) protocol, which is also a four-wire synchronous serial communication protocol, but employs differential signaling and provides only a single simplex communication channel.
USB 3.0 allows for much faster data transfer speeds of up to 5Gbps, which is 10 times faster than USB 2.0. It includes improvements like increased power delivery and more efficient data streaming. USB 3.0 is backward compatible with previous standards and uses an additional set of pins in its connectors to separate the SuperSpeed signals from the standard USB 2.0 ones. The specification also optimized power efficiency through asynchronous notifications and lower idle power requirements.
Arduino Uno is a microcontroller board based on 8-bit ATmega328P microcontroller. Along with ATmega328P, it consists other components such as crystal oscillator, serial communication, voltage regulator, etc. to support the microcontroller. Arduino Uno has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button.
USB was developed in the mid-1990s to standardize connections between computers and peripherals like keyboards, mice, cameras and drives. It has several key features including being low cost, using a single connector type, and allowing for hot plugging of devices. USB operates using a star topology with a host controller connecting devices and hubs. Communication between devices and the host occurs through pipes that associate endpoints to software. Data is transmitted using a token phase, data phase and handshake phase over differential signal lines with encoding and error checking handled by the physical layer.
投影片講解視訊影片網址:
http://www.youtube.com/playlist?list=PLFL0ylDooClTXfy-cFbq7rV1iwP57JFaF
This slide is made by the RoBoard team of DMP Electronics Inc.:
https://www.facebook.com/roboard.fans
The document discusses various micro:bit accelerometer applications including:
- Reading acceleration values from the 3-axis accelerometer and controlling it.
- Examples like a electronic dice, movement indicator, tilt control game, and earthquake detector.
- Code snippets are provided for building applications like tracking dice rolls on shakes, showing direction arrows based on movement, and controlling a light sprite in a balancing game.
5. 8位元MCU Plastic Dual Inline Package (PDIP)
Up to 20 MIPS Throughput at 20MHz
131 Powerful Instructions
Most Single Clock Cycle Execution
On-chip 2-cycle Multiplier
32 x 8 General Purpose Working Registers
32KBytes Flash Memory (程式記憶體)
1KBytes EEPROM (資料記憶體,系統斷電後,資料依然能夠留存)
2KBytes Internal SRAM (資料記憶體)
Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
Data Retention: 20 years at 85°C/100 years at 25°C
Current sinks and sources are 40mA
ATmega328P 2/4
5