This document discusses interfacing the Stellaris LM3S811 microcontroller with the DAC5571 digital-to-analog converter over I2C. It provides an overview of the Stellaris I2C interface and how to establish communication with the DAC5571. Code examples are given to generate waveforms from the DAC5571 controlled by the Stellaris microcontroller over I2C.
This document describes how to interface a Stellaris LM3S811 microcontroller with a DAC7311 digital-to-analog converter using SPI communication. It provides details on the SPI configuration of the Stellaris, the pinout and connections of the DAC7311 evaluation board, and code examples to generate waveforms from the DAC output by transmitting data over SPI. Evaluation board layout diagrams and actual connection snapshots are shown.
PCI, PCI-X, and PCIe are different expansion slot technologies used in PCs. PCI was the first industry-wide expansion slot solution and used parallel communication. PCI-X provided higher speeds by using phase-locked clock generators. PCIe uses serial communication via point-to-point connections between devices, providing much higher maximum bandwidth than PCI. It transformed the parallel PCI bus into a serial bus architecture.
This document provides an overview of switch operation and configuration. It discusses topics like Ethernet frame format, MAC address tables, collision and broadcast domains, latency, buffering methods, and the CLI of Cisco switches. The document is intended to remind readers about basic switching concepts covered in a CCNA curriculum.
This document discusses the Spanning Tree Protocol (STP) which provides a loop-free network topology by placing ports into blocking states. It describes how STP elects a root bridge, establishes root and designated ports, and transitions ports between blocking and forwarding states. The document also introduces Rapid Spanning Tree Protocol which speeds up STP's recalculation of the spanning tree when the network topology changes.
This presentation discusses the details of the I2C protocol and interfacing of EEPROM with 8051 based on I2C protocol. It also discusses the other applications of I2C protocol
Bridge Protocol Data Units (BPDUs) are messages exchanged between switches running Spanning Tree Protocol to share information. BPDUs contain details like switch IDs, port priorities, and costs. Switches use BPDUs and a mathematical algorithm to detect and prevent network loops by shutting down redundant ports. There are three types of BPDUs: Configuration, Topology Change Notification, and Topology Change Notification Acknowledgment. The purpose is to avoid switching loops and broadcast storms.
Intra-frequency automatic neighbour relations allow neighbouring cells to be automatically defined as part of the intra-frequency handover procedure. The serving eNodeB instructs the UE to perform measurements of neighbouring cells and report the physical cell ID and RSRP. If the reported cell is not already in the neighbour database, the eNodeB requests the global cell ID to establish an X2 connection with the neighbouring cell and add it to its neighbour database, enabling intra-frequency handovers.
This document describes how to interface a Stellaris LM3S811 microcontroller with a DAC7311 digital-to-analog converter using SPI communication. It provides details on the SPI configuration of the Stellaris, the pinout and connections of the DAC7311 evaluation board, and code examples to generate waveforms from the DAC output by transmitting data over SPI. Evaluation board layout diagrams and actual connection snapshots are shown.
PCI, PCI-X, and PCIe are different expansion slot technologies used in PCs. PCI was the first industry-wide expansion slot solution and used parallel communication. PCI-X provided higher speeds by using phase-locked clock generators. PCIe uses serial communication via point-to-point connections between devices, providing much higher maximum bandwidth than PCI. It transformed the parallel PCI bus into a serial bus architecture.
This document provides an overview of switch operation and configuration. It discusses topics like Ethernet frame format, MAC address tables, collision and broadcast domains, latency, buffering methods, and the CLI of Cisco switches. The document is intended to remind readers about basic switching concepts covered in a CCNA curriculum.
This document discusses the Spanning Tree Protocol (STP) which provides a loop-free network topology by placing ports into blocking states. It describes how STP elects a root bridge, establishes root and designated ports, and transitions ports between blocking and forwarding states. The document also introduces Rapid Spanning Tree Protocol which speeds up STP's recalculation of the spanning tree when the network topology changes.
This presentation discusses the details of the I2C protocol and interfacing of EEPROM with 8051 based on I2C protocol. It also discusses the other applications of I2C protocol
Bridge Protocol Data Units (BPDUs) are messages exchanged between switches running Spanning Tree Protocol to share information. BPDUs contain details like switch IDs, port priorities, and costs. Switches use BPDUs and a mathematical algorithm to detect and prevent network loops by shutting down redundant ports. There are three types of BPDUs: Configuration, Topology Change Notification, and Topology Change Notification Acknowledgment. The purpose is to avoid switching loops and broadcast storms.
Intra-frequency automatic neighbour relations allow neighbouring cells to be automatically defined as part of the intra-frequency handover procedure. The serving eNodeB instructs the UE to perform measurements of neighbouring cells and report the physical cell ID and RSRP. If the reported cell is not already in the neighbour database, the eNodeB requests the global cell ID to establish an X2 connection with the neighbouring cell and add it to its neighbour database, enabling intra-frequency handovers.
In 2001, the IEEE introduced Rapid Spanning Tree Protocol (RSTP) as 802.1w. RSTP provides significantly
faster spanning tree convergence after a topology change, introducing new convergence behavior and
bridge port roles to do this. RSTP was designed to be backwards-compatible with standard STP.
While STP can take 30 to 50 seconds to respond to a topology change, RSTP is typically able to respond
to changes within 3 × Hello times (default: 3 times 2 seconds) or within a few milliseconds of a physical
link failure. The so-called Hello time is an important and configurable time interval that is used by RSTP
for several purposes; its default value is 2 seconds.
STP prevents loops by electing a single root bridge and blocking redundant links. It uses BPDUs containing bridge IDs and path costs to elect the root bridge with the lowest bridge ID. The switch with bridge ID 32768.0001.964E.7EBB is elected as the root bridge based on having the lowest bridge ID of the switches shown.
The document discusses spanning tree protocol (STP) which is used to prevent loops and enable redundancy in switched networks. STP designates one switch as the root bridge and elects root ports and designated ports to block ports and create a loop-free topology. STP also defines port states like forwarding, blocking, listening and learning. Rapid spanning tree protocol (RSTP) was introduced to improve upon STP by providing faster convergence when the network topology changes.
Spanning Tree Protocol (STP) is a mechanism which provides loop-free paths within a pure layer 2 topology. STP allows for link redundancy by temporarily blocking ports in order to have a single path. Upon the detection of a link, or port failure, STP will re-converge to leverage the other unused port. This prevents broadcast storms and the duplication of packets from floating around in the network endlessly. There are multiple flavors of STP, each with their own features and nuances, which includes: Per VLAN Spanning Tree Protocol Plus (PVST+), Rapid Per VLAN Spanning Tree Protocol Plus (Rapid PVST+), and Multiple Spanning Tree Protocol (MSTP).
With LiveAction 2.6 and greater, users have higher levels of situational awareness and visibility on their switched network infrastructure by providing a topological representation of each Spanning Tree instance, as well as providing alerts on the transitioning port state events. This helps network administrators to act quickly and identify the insertion of rogue and/or misconfigured switches promptly. Similarly, the STP path representation can be used to identify suboptimal layer 2 paths in a switched network. This application note provides instructions on enabling the STP functionality within LiveAction and will cover the aforementioned use case.
The i2c bus standard defines a multi-master/multi-slave, serial, bidirectional computer bus that can connect multiple slave devices to a master device using just two wires. It supports speeds from 100 kbit/s to 3.4 Mbit/s and can address up to 128 devices using a 7-bit address scheme. Communication is initiated by a master that generates the clock signal and addresses specific slave devices to read from or write to their registers using the predefined i2c protocol.
This document provides a guide for configuring QinQ VLAN-VPN Tunnel. It describes a network topology using QinQ to transparently transfer user data and BPDU packets between a customer network and ISP network. The guide outlines the configuration process which includes enabling VLAN-VPN on switches in the customer and ISP networks and verifying connectivity and spanning tree results.
STP prevents packet loops in multi-switch networks by establishing a tree topology where one switch acts as the root bridge and blocks redundant links. It works by exchanging BPDU messages to elect the root bridge and determine the optimal path to it, blocking ports on other paths to prevent loops. Modern variants like RSTP improve performance by defining different port roles and converging faster to reduce downtime when the topology changes.
Spanning Tree Protocol (STP) is standardized as IEEE 802.1D.
Is a network protocol that ensures a loop-free topology for any bridged Ethernet local area network.
The document discusses the key topics and concepts for designing a hierarchical LAN network, including the 3-level model consisting of core, distribution, and access layers. It covers choosing switches for each layer based on required features like port density, speed, redundancy, and layer 3 routing capability. The document also mentions incorporating voice and video traffic using quality of service and the advantages of a converged network supporting multiple traffic types over a single infrastructure.
This document provides an overview of the I2C protocol. It describes that I2C was designed by Philips in the 1980s to allow communication between components on the same circuit board. It has since been migrated to NXP and expanded to support higher bus speeds and lower voltages. The document outlines the I2C architecture as a half-duplex, synchronous, multi-master bus using a serial data line and serial clock. It defines I2C nodes can function as a master or slave and transmit or receive data. Electrical characteristics, start/stop conditions, packet formats, clock stretching, arbitration and multi-byte transactions are also summarized.
This document discusses inter-VLAN routing and configuring a router to route between VLANs. It describes using router subinterfaces to allow a single physical router interface to route traffic for multiple VLANs by assigning each subinterface its own IP address and VLAN encapsulation. The document also briefly mentions using a multilayer switch for inter-VLAN routing and revising VLAN and trunk configuration as prerequisites.
This document provides an installation and configuration guide for AWAN 3886 servers, which support asynchronous terminals and current loops on HP NonStop systems. It covers installing and setting up the server hardware, flash RAM, network configuration, terminal and printer ports. Troubleshooting tips are also provided for issues like inability to ping the server or load failures. The guide supports various HP NonStop operating system releases and is applicable to system administrators or field personnel installing and maintaining this network equipment.
Spanning Tree Protocol (STP) is a network protocol designed to prevent layer 2 loops. It is standardized as IEEE 802.D protocol. STP blocks some ports on switches with redundant links to prevent broadcast storms and ensure loop-free topology. With STP in place, you can have redundant links between switches in order to provide redundancy.
This document describes the process of a successful LTE handover from a source eNodeB to a target eNodeB using the X2 interface. It involves measuring signal strengths, selecting a target cell, preparing the target for handover, executing the handover by redirecting data and radio resources to the target, and completing the handover by releasing resources from the source. Key steps include establishing bearers between the target and core network elements like MME and SGW, sending a handover command to the UE, and switching the data path from source to target after handover is completed.
IEEE 802.1ad implements standard protocols for double tagging customer data traffic in provider networks. The data is double tagged with an inner C-tag for the customer VLAN and an outer S-tag for the provider VLAN. Control packets are tunneled by changing the destination MAC address. 802.1ad extends support for Layer 2 Protocol Tunneling and provides transparent Layer 2 connectivity between customer sites without involving the provider's Layer 3 network.
This document discusses layer 2 switching fundamentals, including communication methods in LANs such as unicast, broadcast, and multicast. It describes how switches operate including forwarding frames based on the destination address and address table lookups. The document also covers collision domains, broadcast domains, and how switches help segment networks to reduce collisions and broadcast traffic.
STP is a protocol that prevents bridge loops in Ethernet LANs. There are multiple versions of STP including 802.1D Common STP, 802.1w Rapid STP, and 802.1s Multiple STP. Attacks against STP protocols aim to take over the root bridge role or perform denial of service attacks by flooding bridges with BPDU packets. Countermeasures against these attacks include root guard, BPDU guard, BPDU filtering, and layer 2 PDU rate limiting on switches.
This document provides information on various communication protocols. It discusses I2C communication protocol in detail, including how I2C works, multiple slave configuration, steps of I2C transmission, and advantages and disadvantages of I2C. It also briefly covers USB, UART/USART, RS-232, RS-422, and RS-485 protocols.
The document summarizes how the I2C bus works. It describes that the I2C bus uses only 2 wires (SDA and SCL) to allow a microcontroller to communicate with multiple slave devices like sensors, EEPROMs, and ADCs. It provides details on the open-drain configuration that allows bidirectional communication, START and STOP conditions that begin and end transmissions, ACK/NACK responses from slaves, and how the master can write to or read from registers in slave devices to transfer data.
In 2001, the IEEE introduced Rapid Spanning Tree Protocol (RSTP) as 802.1w. RSTP provides significantly
faster spanning tree convergence after a topology change, introducing new convergence behavior and
bridge port roles to do this. RSTP was designed to be backwards-compatible with standard STP.
While STP can take 30 to 50 seconds to respond to a topology change, RSTP is typically able to respond
to changes within 3 × Hello times (default: 3 times 2 seconds) or within a few milliseconds of a physical
link failure. The so-called Hello time is an important and configurable time interval that is used by RSTP
for several purposes; its default value is 2 seconds.
STP prevents loops by electing a single root bridge and blocking redundant links. It uses BPDUs containing bridge IDs and path costs to elect the root bridge with the lowest bridge ID. The switch with bridge ID 32768.0001.964E.7EBB is elected as the root bridge based on having the lowest bridge ID of the switches shown.
The document discusses spanning tree protocol (STP) which is used to prevent loops and enable redundancy in switched networks. STP designates one switch as the root bridge and elects root ports and designated ports to block ports and create a loop-free topology. STP also defines port states like forwarding, blocking, listening and learning. Rapid spanning tree protocol (RSTP) was introduced to improve upon STP by providing faster convergence when the network topology changes.
Spanning Tree Protocol (STP) is a mechanism which provides loop-free paths within a pure layer 2 topology. STP allows for link redundancy by temporarily blocking ports in order to have a single path. Upon the detection of a link, or port failure, STP will re-converge to leverage the other unused port. This prevents broadcast storms and the duplication of packets from floating around in the network endlessly. There are multiple flavors of STP, each with their own features and nuances, which includes: Per VLAN Spanning Tree Protocol Plus (PVST+), Rapid Per VLAN Spanning Tree Protocol Plus (Rapid PVST+), and Multiple Spanning Tree Protocol (MSTP).
With LiveAction 2.6 and greater, users have higher levels of situational awareness and visibility on their switched network infrastructure by providing a topological representation of each Spanning Tree instance, as well as providing alerts on the transitioning port state events. This helps network administrators to act quickly and identify the insertion of rogue and/or misconfigured switches promptly. Similarly, the STP path representation can be used to identify suboptimal layer 2 paths in a switched network. This application note provides instructions on enabling the STP functionality within LiveAction and will cover the aforementioned use case.
The i2c bus standard defines a multi-master/multi-slave, serial, bidirectional computer bus that can connect multiple slave devices to a master device using just two wires. It supports speeds from 100 kbit/s to 3.4 Mbit/s and can address up to 128 devices using a 7-bit address scheme. Communication is initiated by a master that generates the clock signal and addresses specific slave devices to read from or write to their registers using the predefined i2c protocol.
This document provides a guide for configuring QinQ VLAN-VPN Tunnel. It describes a network topology using QinQ to transparently transfer user data and BPDU packets between a customer network and ISP network. The guide outlines the configuration process which includes enabling VLAN-VPN on switches in the customer and ISP networks and verifying connectivity and spanning tree results.
STP prevents packet loops in multi-switch networks by establishing a tree topology where one switch acts as the root bridge and blocks redundant links. It works by exchanging BPDU messages to elect the root bridge and determine the optimal path to it, blocking ports on other paths to prevent loops. Modern variants like RSTP improve performance by defining different port roles and converging faster to reduce downtime when the topology changes.
Spanning Tree Protocol (STP) is standardized as IEEE 802.1D.
Is a network protocol that ensures a loop-free topology for any bridged Ethernet local area network.
The document discusses the key topics and concepts for designing a hierarchical LAN network, including the 3-level model consisting of core, distribution, and access layers. It covers choosing switches for each layer based on required features like port density, speed, redundancy, and layer 3 routing capability. The document also mentions incorporating voice and video traffic using quality of service and the advantages of a converged network supporting multiple traffic types over a single infrastructure.
This document provides an overview of the I2C protocol. It describes that I2C was designed by Philips in the 1980s to allow communication between components on the same circuit board. It has since been migrated to NXP and expanded to support higher bus speeds and lower voltages. The document outlines the I2C architecture as a half-duplex, synchronous, multi-master bus using a serial data line and serial clock. It defines I2C nodes can function as a master or slave and transmit or receive data. Electrical characteristics, start/stop conditions, packet formats, clock stretching, arbitration and multi-byte transactions are also summarized.
This document discusses inter-VLAN routing and configuring a router to route between VLANs. It describes using router subinterfaces to allow a single physical router interface to route traffic for multiple VLANs by assigning each subinterface its own IP address and VLAN encapsulation. The document also briefly mentions using a multilayer switch for inter-VLAN routing and revising VLAN and trunk configuration as prerequisites.
This document provides an installation and configuration guide for AWAN 3886 servers, which support asynchronous terminals and current loops on HP NonStop systems. It covers installing and setting up the server hardware, flash RAM, network configuration, terminal and printer ports. Troubleshooting tips are also provided for issues like inability to ping the server or load failures. The guide supports various HP NonStop operating system releases and is applicable to system administrators or field personnel installing and maintaining this network equipment.
Spanning Tree Protocol (STP) is a network protocol designed to prevent layer 2 loops. It is standardized as IEEE 802.D protocol. STP blocks some ports on switches with redundant links to prevent broadcast storms and ensure loop-free topology. With STP in place, you can have redundant links between switches in order to provide redundancy.
This document describes the process of a successful LTE handover from a source eNodeB to a target eNodeB using the X2 interface. It involves measuring signal strengths, selecting a target cell, preparing the target for handover, executing the handover by redirecting data and radio resources to the target, and completing the handover by releasing resources from the source. Key steps include establishing bearers between the target and core network elements like MME and SGW, sending a handover command to the UE, and switching the data path from source to target after handover is completed.
IEEE 802.1ad implements standard protocols for double tagging customer data traffic in provider networks. The data is double tagged with an inner C-tag for the customer VLAN and an outer S-tag for the provider VLAN. Control packets are tunneled by changing the destination MAC address. 802.1ad extends support for Layer 2 Protocol Tunneling and provides transparent Layer 2 connectivity between customer sites without involving the provider's Layer 3 network.
This document discusses layer 2 switching fundamentals, including communication methods in LANs such as unicast, broadcast, and multicast. It describes how switches operate including forwarding frames based on the destination address and address table lookups. The document also covers collision domains, broadcast domains, and how switches help segment networks to reduce collisions and broadcast traffic.
STP is a protocol that prevents bridge loops in Ethernet LANs. There are multiple versions of STP including 802.1D Common STP, 802.1w Rapid STP, and 802.1s Multiple STP. Attacks against STP protocols aim to take over the root bridge role or perform denial of service attacks by flooding bridges with BPDU packets. Countermeasures against these attacks include root guard, BPDU guard, BPDU filtering, and layer 2 PDU rate limiting on switches.
This document provides information on various communication protocols. It discusses I2C communication protocol in detail, including how I2C works, multiple slave configuration, steps of I2C transmission, and advantages and disadvantages of I2C. It also briefly covers USB, UART/USART, RS-232, RS-422, and RS-485 protocols.
The document summarizes how the I2C bus works. It describes that the I2C bus uses only 2 wires (SDA and SCL) to allow a microcontroller to communicate with multiple slave devices like sensors, EEPROMs, and ADCs. It provides details on the open-drain configuration that allows bidirectional communication, START and STOP conditions that begin and end transmissions, ACK/NACK responses from slaves, and how the master can write to or read from registers in slave devices to transfer data.
This document provides an overview of the I2C communication protocol. It describes that I2C is a serial communication protocol used to connect slow devices like EEPROMs and ADCs. It can operate at speeds from 100 kbps to 5 Mbps and supports both single master-multi slave and multi master-multi slave configurations. The document outlines the electrical characteristics, bus features, data frame structure, data transfer process, clock synchronization, arbitration and advantages of the I2C protocol.
The summary provides an overview of the key points about interfacing with the DS1307 real-time clock (RTC) chip using the I2C protocol:
1) The document discusses the I2C protocol signals and components used to interface with the DS1307 RTC, which stores time and date data.
2) It describes initializing the I2C bus, addressing the DS1307 slave device, and transmitting/receiving data to read from and write to the RTC registers.
3) The DS1307 has registers to store seconds, minutes, hours, date, and other time/date fields in BCD format and can output a square wave time signal on its SQW pin at different frequencies.
I2c protocol - Inter–Integrated Circuit Communication ProtocolAnkur Soni
This document provides an overview of the I2C communication protocol. It describes how I2C uses only two wires (SDA and SCL) to allow data transmission between an I2C master and multiple I2C slave devices. The document explains the I2C message structure, including the start condition, address frame, read/write bit, data frames, ACK/NACK bits, and stop condition. It also discusses the advantages of I2C, such as supporting multiple masters/slaves and error checking, and disadvantages like slower speeds compared to SPI. Real-life uses of I2C include connections to OLED displays, sensors, and other peripherals.
Join this video course on udemy . Click here :
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/?couponCode=SLIDESHARE
In this course, the code is developed such a way that, It can be ported to any MCU you have at your hand.
If you need any help in porting these codes to different MCUs you can always reach out to me!
The course is strictly not bound to any 1 type of MCU. So, if you already have any Development board which runs with ARM-Cortex M3/M4 processor,
then I recommend you to continue using it.
But if you don’t have any Development board, then check out the below Development boards.
Implementation of I2C Master Bus Protocol on FPGAIJERA Editor
The focus of this paper is on I2C (Inter-Integrated Circuit) protocol interface between Master Bus protocol and
slave. Here we are interfacing between micro-controller and DS1307. I2C bus protocol sends 8 bit data from
micro-controller to DS1307. This module was designed in VHDL and simulated and synthesized using Xilinx
ISE Design Suite 14.2. I2C and optimized for area and power. This concept is widely applicable from any high
speed device or low speed device to any low speed device or high speed device. This module acts as a slave for
the DS1307 at the same time acts like a master for the micro-controller device which can be considered as a
slave. . It can be used to interface low speed peripherals like motherboard, embedded system, mobile phones,
set top boxes, DVD, PDA’s or other electronic devices.
An Implementation of I2C Slave Interface using Verilog HDLIJMER
This document describes the implementation of an I2C slave interface using Verilog HDL. It introduces the I2C protocol which uses only two bidirectional lines (SDA and SCL) for communication. The document discusses the I2C protocol specifications including start/stop conditions, addressing, read/write operations, and acknowledgements. It then provides details on designing an I2C slave module in Verilog that responds to commands from an I2C master and allows synchronization through clock stretching. The module is simulated in ModelSim and synthesized in Xilinx. Simulation waveforms demonstrate successful read and write operations to the slave device.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology.
The document describes the features and operating modes of the ARM7 LPC2148 I2C block. The I2C block can operate as a master, slave, or master/slave and supports bidirectional data transfer between devices. It describes the four basic operating modes: master transmitter, master receiver, slave receiver, and slave transmitter. Each mode follows a specific data transfer format with the transmission and acknowledgement of address and data bytes.
This document provides an overview of the Inter-Integrated Circuit (I2C) bus. It describes the key features and evolution of I2C buses, including their simplicity, flexibility, addressing schemes, and ability to support multiple masters. The document also details the I2C bus architecture, protocol for data communication including start/stop conditions and bit transfers, and how the Microchip Master Synchronous Serial Port module is used to implement I2C functionality.
I2C is a serial communication protocol used to connect integrated circuits. It was developed by Philips in the 1980s and uses just two bidirectional lines - serial data line (SDA) and serial clock line (SCL). I2C has endured because it provides reliable communication using software-controlled collision detection at transfer rates up to 3.4 Mbps. Data is transferred between a master device that initiates the transaction and slave devices with unique addresses in sequences of 8-bit bytes with acknowledgement.
I2C is a serial protocol for two-wire interface to connect low-speed devices like microcontrollers, EEPROMs, A/D and D/A converters, I/O interfaces and other similar peripherals in embedded systems. It was invented by Philips and now it is used by almost all major IC manufacturers. Each I2C slave device needs an address – they must still be obtained from NXP (formerly Philips semiconductors).
I2C is a serial communication protocol used to connect low-speed peripherals to processors and microcontrollers. It was developed by Philips in the 1980s for use in televisions. I2C uses just two bidirectional open-drain lines: serial data line (SDA) and serial clock line (SCL). Devices can operate as master or slave devices and have a 7-bit address. Communication is initiated by the master which controls the clock signal. Data is transferred in one byte packets with acknowledgement from the receiver.
The DS1307 is a low-power serial real-time clock (RTC) that provides date and time keeping functions. It features a real-time clock, 56 bytes of nonvolatile memory, and a square wave output. The device operates on a 2-wire serial interface and can keep time when the main power is removed by using a battery backup. It is available in both DIP and SOIC packages and has a wide operating temperature range.
The document discusses the I2C communication bus protocol. It describes the I2C bus concept of using two bi-directional lines (SDA and SCL) to allow devices with unique addresses to communicate as masters or slaves. The document outlines the I2C communication protocol including START/STOP conditions, byte format, acknowledgment, synchronization, arbitration, and 7-bit and 10-bit addressing schemes. Key aspects of the I2C bus such as typical transfer rates, hardware connections, and terminology are also summarized.
This document describes an FPGA lab project involving interfacing a real-time clock (RTC) module with an FPGA. It includes sections on the RTC module, I2C protocol, FPGA kit, schematic, Verilog code, hardware implementation, and conclusions. The Verilog code shows an I2C state machine for communicating with the RTC over I2C to read the current time and display it on LEDs connected to the FPGA.
I2C is a popular serial bus standard developed by Philips for connecting integrated circuits. There are three I2C standards with different speeds. The I2C bus uses two lines - one for a clock signal and one for bidirectional data. Communication on the I2C bus follows a specific protocol with defined fields for the start bit, address, read/write control bits, data, and acknowledgement bits. A master device generates the clock signal and initiates data transfers by addressing slave devices to read from or write to.
This document provides an in-depth overview of the I2C communication protocol. It begins by defining I2C, its characteristics such as being a multi-master multi-slave synchronous serial communication standard. It then covers I2C electrical characteristics, start/stop conditions, addressing, data transfer process including acknowledgements, and arbitration. The document uses diagrams and examples to illustrate I2C communication including reading and writing data between a master and slave device.
Similar to Application Report On Stellaris To Dac5571(I2c) (20)
Chiu Hao Chen has been accepted to attend the 2012 Stanford E-Bootcamp conference from April 10-15. The letter from Nruthya Madappa, Director of Stanford E-Bootcamp, confirms Chiu Hao Chen's selection from a highly competitive international pool of applicants to participate in the program. Housing and a schedule of events will be provided by the E-Bootcamp committee during his visit to Stanford University.
This document discusses enabling two-way communication and mesh networking capabilities for the CC2530 ZigBee Network Processor Mini Kit. It provides code examples for a wireless doorbell application that allow devices to receive messages when a button is pressed or on a timer. It also explains how to use routers to extend the communication range of the network and receive messages from devices connected to other routers.
Planning partner of Swissnex event, "Sustainability - A Global Journal Panel Discussion", at Nanyang Technological University with ERI@N and Swisspro. Guests of Honour includes Prof Bertil Andersson, NTU President-Designate and Joerg Al. Reding, Ambassador of Switzerland.
The Green and Sustainable Technologies Society (GSTS) is a student-run initiative at the Nanyang Technological University (NTU) that aims to promote green technologies. It brings together students from different disciplines to encourage and accelerate green technology and industry. GSTS hopes to fill the gap of integrating technology, business, and environmental sustainability. Its activities include presentations from research and consultation departments, sourcing projects from industry partners, and organizing conferences on topics like green job opportunities and integrating green technology into business. GSTS's future plans include registering as an official society, engaging external organizations, and becoming a leading group in educating youth on green technologies and business practices.
Represent EverComm to design the syllabus and conduct a 5 hours workshop for Chihlee Institute of Technology on "LED Basic Circuit Application" in Taiwan.
RecoBeE is a community platform that allows consumers to exchange real-time information about products to make more informed purchasing decisions, as advertisements alone do not provide sufficient information. It also gives merchants a way to capture consumer attention and learn more about their customers' needs through the sharing of product reviews and using vouchers. The platform connects shops, consumers, and RecoBeE through one-way and two-way communication to share and retrieve updated product information via devices like iPhone and iPod Touch.
LyRex aims to change how consumers and businesses interact through its RecoBeE mobile application and website. RecoBeE allows consumers to get recommendations and reviews from other users, search for deals, and get real-time updates. It also gives businesses the ability to target customers through i-Vouchers. LyRex sees problems in how merchants reach customers and how customers make decisions without real-time information. It aims to solve this by creating a community where users can share information and find the best deals and recommendations. Within 3 years, LyRex expects to have 58,000 customers and $1.88 million in sales with a $1.1 million profit by leveraging mobile social networking.
1. Interfacing Stellaris to DAC (I2C)
Stellaris LM3S811 EVM to DAC5571 Data Converter EVM
Abstract
The DAC5571 is a digital-to-analog converter (DAC). It provides a quick, easy
and low cost way to evaluate the functionality and performance of the high-
resolution as well as low-resolution I2C-input DACs. By interfacing the
DAC5571 with Stellaris LM3S811 through I2C, we can increase the range of
suitable application for Stellaris to another level.
Related code and additional information are provided.
Contents
1. Introduction 2
2. Stellaris LM3S811 Inter-Integrated-Circuit (I2C) Interface 2
2.1 Block diagram 3
2.2 Functional description 3
2.2.1 I2C bus functional overview 3
2.2.2 Start and stop condition 4
2.2.3 Data format with 7-bit address 4
2.2.4 Data validity 5
2.2.5 Acknowledge 5
2.3 Evaluation board layout & Connection 6
3. DAC5571 EVM 8
3.1 DAC configuration and setting 8
4. Establish communication between Stellaris and DAC5571 12
4.1 Choosing the correct write field for I2CMCS 13
4.2 Functions used in demo code 15
5. Reference 19
Interfacing Stellaris LM3S811 with DAC5571 Page 1 of 19
20/5/2011
2. 1. Introduction
This application report will enhance the already feature-rich Stellaris
LM3S811 microcontroller with DAC capability using DAC5571. The demo
code will generate square wave, saw-tooth wave or Sinusoidal wave
from the DAC5571 output. It offers the customer an easy solution and
will definitely shorten the development process.
2. Stellaris LM3S811 Inter-Integrated Circuit (I2C) Interface
The Inter-Integrated Circuit (I2C) bus provides bi-directional data
transfer through a two-wire design (a serial data line SDA and a serial
clock line SCL), and interfaces to external I2C devices.
The Stellaris I2C interface has the following features:
• Devices on the I2C bus can be designated as either a master or
slave
ü Supports both sending and receiving data as either a master or
slave.
ü Supports simultaneous master and slave operation.
• Four I2C modes
ü Master transmit
ü Master receive
ü Slave transmit
ü Slave receive
• Two transmission speed: Standard (100Kbps) and Fast (400Kbps)
• Master and slave interrupt generation
ü Master generates interrupts when a transmit or receive
operation completes (or aborts due to an error)
ü Slave generates interrupts when data has been sent or
requested by a master
• Master with arbitration and clock synchronization, multimaster
support, and 7-bit addressing mode
*The information on Stellaris LM3S811 I2C is mostly taken from Stellaris LM3SS811
Datasheet. The information provided above and below should be enough to understand
and use the I2C feature. For more information, please refer to section 13, page 437 from
the datasheet.
Interfacing Stellaris LM3S811 with DAC5571 Page 2 of 19
20/5/2011
3. 2.1 Block Diagram
Figure 2-1 I2C Block Diagram
2.2 Functional Description
I2C module is comprised of both master and slave functions, which are
implemented as separate peripherals. For proper operation, the SDA
and SCL pins must be connected to bi-directional open-drain pads. A
typical I2C bus configuration is shown in Figure 2-2 on page 3.
Figure 2-2. I2C Bus Configuration
2.2.1 I2C Bus Functional Overview
The I2C bus uses only two signals: SDA and SCL, named I2CSDA and
I2CSCL on Stellaris microcontrollers. SDA is the bi-directional serial
data line and SCL is the bi-directional serial clock line. The bus is
considered idle when both lines are High.
Every transaction on the I2C bus is nine bits long, consisting of eight
data bits and a single acknowledge bit. The number of bytes per
transfer (defined as the time between a valid START and STOP
condition, described in “START and STOP Conditions” on page 4) is
unrestricted, but each byte has to be followed by an acknowledge bit,
and data must be transferred MSB first. When a receiver cannot
Interfacing Stellaris LM3S811 with DAC5571 Page 3 of 19
20/5/2011
4. receive another complete byte, it can hold the clock line SCL Low and
force the transmitter into a wait state. The data transfer continues
when the receiver releases the clock SCL.
2.2.2 Start and Stop Condition
The protocol of the I2C bus defines two states to begin and end a
transaction: START and STOP. A High-to-Low transition on the SDA line
while the SCL is High is defined as a START condition, and a Low-to-
High transition on the SDA line while SCL is High is defined as a STOP
condition. The bus is considered busy after a START condition and free
after a STOP condition. See Figure 2-3 on page 4.
Figure 2-3. START and STOP conditions
2.2.3 Data format with 7-bit address
Data transfers follow the format shown in Figure 2-4 on page 4. After
the START condition, a slave address is sent. This address is 7-bits
long followed by an eighth bit, which is a data direction bit (R/S bit in
the I2CMSA register). A zero indicates a transmit operation (send),
and a one indicates a request for data (receive). A data transfer is
always terminated by a STOP condition generated by the master,
however, a master can initiate communications with another device on
the bus by generating a repeated START condition and addressing
another slave without first generating a STOP condition. Various
combinations of receive/send formats are then possible within a single
transfer.
Figure 2-4. Complete Data Transfer with a 7-bit address
The first seven bits of the first byte make up the slave address (see
Interfacing Stellaris LM3S811 with DAC5571 Page 4 of 19
20/5/2011
5. Figure 2-5 on page 5). The eighth bit determines the direction of the
message. A zero in the R/S position of the first byte means that the
master will write (send) data to the selected slave, and a one in this
position means that the master will receive data from the slave.
Figure 2-5. R/S bit in first byte
2.2.4 Data Validity
The data on the SDA line must be stable during the high period of the
clock, and the data line can only change when SCL is Low (see Figure 2-6
on page 5).
Figure 2-6. Data Validity during bit transfer on the I2C bus
2.2.5 Acknowledge
All bus transactions have a required acknowledge clock cycle that is
generated by the master. During the acknowledge cycle, the transmitter
(which can be the master or slave) releases the SDA line. To
acknowledge the transaction, the receiver must pull down SDA during the
acknowledge clock cycle. The data sent out by the receiver during the
acknowledge cycle must comply with the data validity requirements
described in “Data Validity” on page 5.
When a slave receiver does not acknowledge the slave address, SDA
must be left High by the slave so that the master can generate a STOP
condition and abort the current transfer. If the master device is acting as
a receiver during a transfer, it is responsible for acknowledging each
Interfacing Stellaris LM3S811 with DAC5571 Page 5 of 19
20/5/2011
6. transfer made by the slave. Since the master controls the number of
bytes in the transfer, it signals the end of data to the slave transmitter by
not generating an acknowledge on the last data byte. The slave
transmitter must then release SDA to allow the master to generate the
STOP or a repeated START condition.
2.3 Evaluation Board Layout & Connections
To use the I2C function, the SDA and SCL must get pulled up to Vcc. A
10k-ohm resistor is recommended for the pull up. SDA and SCL are
highlighted as red in picture 1 on page 6.
Picture 1. LM3S811 EVM Layout
During testing, the actual device connections snapshot is provided below.
SCL and SDA are pulled up to the Vcc pin via 10k-ohm resistors. The SCL
and SDA are connected to the DAC5571 via the two yellow wires shown
in picture 2 on page 7. Both the LM3S811 and DAC5571 shared the same
ground from the external power supply (grey wire in picture 2 on page
7).
Interfacing Stellaris LM3S811 with DAC5571 Page 6 of 19
20/5/2011
7. Picture 2. Actual LM3S811 used during testing.
Interfacing Stellaris LM3S811 with DAC5571 Page 7 of 19
20/5/2011
8. 3. DAC5571 EVM
The DAC5571 is a low-power, single-channel, 8-bit buffered voltage
output DAC. Its on-chip precision output amplifier allows rail-to-rail
output swing to be achieved. The DAC5571 utilizes an I2C-compatiable,
two-wire serial interface that operates at clock rates up to 3.4Mbps with
address support of up to two DAC5571 on the same data bus. However,
since the Stellaris LM3S811 only support up to 400Kbps, we will NOT be
able to use the 3.4Mbps mode on the DAC.
3.1 DAC Configuration and Settings
To use the DAC5571 EVM, the user must make sure the jumper and pins
are properly connected. Detail information on how to connect the EVM
can be found in the DAC5571 User’s guide, section 1.2 and 1.3. Also
check factory default jumper setting in section 3.1.
Figure 3-1. DAC5571 Pin Configurations (from datasheet)
The SCL and SDA from the Stellaris LM3S811 will get feed to pin 4 and
5 on the DAC5571 chip. Using the DAC5571 EVM, connect SCL to pin 16
as and SDA to pin 20 as shown in picture 3 on page 8. A0 is pulled to
high as shown in figure 3-1 on page 9.
During testing, the actual device connections snapshot is provided below
on page 9 (see picture 3). The digital and analog GND are grounded
together (red in picture 3), same as the two 5 volts Vcc (blue in picture
3). TP1 is where the DAC will output the signal.
Interfacing Stellaris LM3S811 with DAC5571 Page 8 of 19
20/5/2011
9. Picture 3. Actual DAC5571 used during testing.
The jumper setting for the testing DAC5571 above in picture 3 are
shown below in figure 3-1 and 3-2. Testing configurations are
highlighted.
Interfacing Stellaris LM3S811 with DAC5571 Page 9 of 19
20/5/2011
10. Figure 3-1. Jumper setting part 1.
Interfacing Stellaris LM3S811 with DAC5571 Page 10 of 19
20/5/2011
11. Figure 3-2. Jumper setting part 2.
Interfacing Stellaris LM3S811 with DAC5571 Page 11 of 19
20/5/2011
12. 4. Establish communication between Stellaris and DAC5571
As mentioned in section 2 and 3, connect SCL and SDA from the
Stellaris LM3S811 to pin 16 and 20 on the DAC5571. Monitor the output
from TP1 on the DAC5571.
The testing devices connections are provided below in picture 4 on page
12.
Picture 4. Stellaris to DAC5571 EVM
After the hardware connections are properly connected. For Stellaris
LM3S811 to communicate with DAC5571, it must generate a proper
sequence. On power up, the DAC register is filled with zeros and the
output voltage is 0 V. The DAC5571 output remains at a zero-code
output until a valid write sequence is made to the DAC. (See figure 4 on
page 13 for the correct sequence)
Interfacing Stellaris LM3S811 with DAC5571 Page 12 of 19
20/5/2011
13. Figure 4. Correct sequence for DAC5571 (from datasheet page 16,17)
4.1 Choosing the correct write field for I2CMCS in IAR ARM
The demo code will interface Stellaris LM3S811 with DAC5571 and output
square wave, saw tooth wave or sinusoidal wave.
Once open the .eww file for the demo program, to output the correct
sequence, we must use the correct write field for I2CMSC. Which are…
#define I2C_MASRER_CMD_BURST_SEND_START 0x00000003
#define I2C_MASRER_CMD_BURST_SEND_FINISH 0x00000005
The datasheet for the Write Field Decoding for I2CMCS are provided in
page 14. It explains why we choose Burst_Send_Start 0x00000003 and
Burst_Send_Finish 0x00000005.
Interfacing Stellaris LM3S811 with DAC5571 Page 13 of 19
20/5/2011
14. Figure 4-1. Write Field Decoding Table. (Page 455 on datasheet)
Interfacing Stellaris LM3S811 with DAC5571 Page 14 of 19
20/5/2011
15. 4.2 Functions used in demo code
OneCycle: It will output one correct write sequence for the DAC5571 to
accept. See picture 5 and 6 on page 15.
Picture 5. OneCycle function
Picture 6. OneCycle output
To output the different waveforms, simply uncomment the function. See
picture 7 on page 16.
Interfacing Stellaris LM3S811 with DAC5571 Page 15 of 19
20/5/2011
16. Picture 7. Different output options.
The different waveforms are generated using the OneCycle functions. See
picture 7 on page 17 for the square waveform function. For more
information, all these waveform functions are defined in the beginning of
the demo code.
Interfacing Stellaris LM3S811 with DAC5571 Page 16 of 19
20/5/2011
17. Picture 8. Square wave function.
Square wave output from DAC5571:
Figure 5-1. Square Wave Output
Interfacing Stellaris LM3S811 with DAC5571 Page 17 of 19
20/5/2011
18. Saw-tooth wave output from DAC5571:
Figure 5-2. Saw-tooth Wave Output
Sinusoidal wave output from DAC5571:
Figure 5-3. Sinusoidal Wave Output
Interfacing Stellaris LM3S811 with DAC5571 Page 18 of 19
20/5/2011