ECE 4510/5530 Microcontroller Applications Week 6

Size: px
Start display at page:

Download "ECE 4510/5530 Microcontroller Applications Week 6"

Transcription

1 ECE 4510/5530 Microcontroller Applications Week 6 Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences

2 Lab 5 Element Hardware Development Enhanced Capture Timer (ECT) (Chap. 8) Input Capture (external event timing) Pulse Width Modulator (PWM) (Chap. 8) Serial Communication Interface (SCI) (Chap. 9) RS-232 Transceiver Software Development Smoothing (filtering) measured data ECE

3 PWM COMPUTATION SPREAD SHEET ECE 4510/5530 3

4 PWM SA/SB Clock Rates E-Clock prescale vs. PWMSCLA/B E-Clock / / / / / / / Using values that are numerical factors of the clock rate 2 n, 3 n, 5 n and combinations This rate is further reduced by the PWMCNTx to form the PWM periodic rate. for 0-100% duty cycle in steps of 1, PWMCNTx=100 and rate is SA/B_rate/100 ECE 4510/5530 4

5 PWM Spread Sheet See the PWM Design MS Excel file ECE 4510/5530 5

6 STATES AND MODES IN LAB 4 ECE 4510/5530 6

7 Lab Task Write code for a home appliance off timer. To initialize and start the code, press the A of the keypad. When B is pressed, the following decimal digits (0-9) will define how long (in seconds) the relay is to remain energized. When the number has been entered, press C. To turn on the coil and begin the time, press D. If F is pressed at any time, the coil should be turned off and the system should return to a mode where it is ready for programming. ECE 4510/5530 7

8 States A: Initialization B: time in seconds data entry C: accept time, idle until turned on D: turn on and start counting down the time E: undefined F: emergency stop User proofing" requires additional state transitions ECE 4510/5530 8

9 Sunseeker Driver Controller State Update Code (1 of 2) // Update the DC Mode switch(dcmode){ case POWERUP: if(switches_new & SW_IGN_ON){ enable = FALSE; switches_new &= ~(SW_IGN_ON); } else { dcmode = PRECHARGE; } break; case PRECHARGE: if(switches_new & SW_IGN_ON){ enable = FALSE; switches_new &= ~(SW_IGN_ON); switches_out_new = 0xFF00; if(bps_precharge_done) dcmode = DISABLE;} break; case DISABLE: if(enable){ if(reverse) dcmode = REV_RDY; else dcmode = FWD_RDY; } switches_new &= ~(SW_REGEN); break; case FWD_RDY: if(!enable){ dcmode = DISABLE; } else { if(reverse){ dcmode = REV_RDY; } else if(adcvalue1 > ADC_MIN moving){ dcmode = FWD_DRV; } } switches_new &= ~(SW_REGEN); break; enum MODE { POWERUP, PRECHARGE, DISABLE, FWD_RDY, FWD_DRV, REV_RDY, REV_DRV, REGENEN, CRCNTRL } dcmode; dcmode should be named dcstate for the operating state the car is in ECE 4510/5530 9

10 Sunseeker Driver Controller State Update Code (2 of 2) enum MODE { ECE 4510/5530 POWERUP, PRECHARGE, DISABLE, FWD_RDY, FWD_DRV, REV_RDY, REV_DRV, REGENEN, CRCNTRL } dcmode; case FWD_DRV: if(!enable){ dcmode = DISABLE; } else if(!moving && brake){ dcmode = FWD_RDY; } else if(cruise){ dcmode = CRCNTRL; switches_new &= ~(SW_REGEN); cruise_velocity = actual_velocity; cruise_current = avg_set_current; ruise_steps = 0; } else if(regen){ dcmode = REGENEN; } break; case REV_RDY: if(!enable){ dcmode = DISABLE; } else { if(!reverse){ dcmode = FWD_RDY; } else if(adcvalue1 > ADC_MIN moving){ dcmode = REV_DRV; } } switches_new &= ~(SW_REGEN); break; case REV_DRV: if(!enable){ dcmode = DISABLE; } else if(!moving && brake){ dcmode = REV_RDY; } switches_new &= ~(SW_REGEN); break; case REGENEN: if(!enable){ dcmode = DISABLE; } else if(!regen){ dcmode = FWD_DRV; } switches_new &= ~(SW_REVERSE); break; case CRCNTRL: if(!enable){ dcmode = DISABLE; } else if(!cruise brake){ dcmode = FWD_DRV; } switches_new &= ~(SW_REVERSE SW_REGEN); 10 break; } // Mode update completed

11 Using the previous example You need one switch-case statement to update the current state to the next state (or not change) A second switch-case block may be needed to perform operations based on the state. The two switch-case blocks could be merged into one to minimize code, but it may not be as clear to the person reading/debugging the code as to what is going on. two processes: (1) what to do in a state and (2) what is the next state ECE 4510/

12 Alternate State Method 1 asm( sei ); // disable interrupts // initialize everything here state = A ; asm( cli ); // enable interrupts while(1) { while(state == A ) { } while(state == B ) { } while(state == C ) { } etc Exist in a state until a condition changes the state variable. locked in a state primary while loop does not repeat regularly must have a means to modify state either in the state or by an interrupt with state as a global variable } ECE 4510/

13 Alternate State Method 2 asm( sei ); // disable interrupts // initialize everything here state = A ; asm( cli ); // enable interrupts while(1) { if(state == A ) { } else if(state == B ) { } else { Chained if else if else primary while loop repeats regularly not locked in a state state update or modification can be performed seperately } etc } ECE 4510/

14 SERIAL PERIPHERAL INTERFACE (SPI) ECE 4510/

15 What is Serial Peripheral Interface (SPI)? SPI is a synchronous serial protocol initial defined by Motorola to be used as standard for interfacing peripheral chips to a microcontroller. Devices are classified into the master or slaves. The SPI protocol uses four wires to carry out the task of data communication: MOSI: master out slave in MISO: master in slave out SCK: serial clock SS: slave select An SPI data transfer is initiated by the master device. A master is responsible for generating the SCK signal to synchronize the data transfer. ECE

16 Serial Peripheral Interface (SPI) Extended serial string transmission Synchronous (faster - devices work on clock edges) More than 8-bits at a time Multiple devices can communicate using the same serial lines (daisy chained or output wired-or) Chip Select line allows low power operations when a device is not selected Applications: ADC, DAC, temperature measurement, CAN controllers, SD card interface, etc. ECE

17 Data Transfer Example Chip Select: enable target device for transfer Serial Clock: fast clock from master for synchronous data transfers MOSI: master output, slave input (simultaneous transfer with MISO) MISO: slave output, master input (simultaneous transfer with MOSI) Typically, the first 8-bits are an address and/or command from master to slave and subsequent 8-bit transfers are data. ECE

18 Memory Addresses ECE

19 The HCS12 SPI Modules The MC9S12DP256 has three SPI modules: SPI0, SPI1, and SPI2. By default, the SPI0 share the use of the upper 4 Port S pins: PS7 SS0 (can be rerouted to PM3) PS6 SCK0 (can be rerouted to PM5) PS5 MOSI0 (can be rerouted to PM4) PS4 MISO0 (can be rerouted to PM2) By default, the SPI1 shares the use of the lower 4 Port P pins: PP3 SS1 (can be rerouted to PH3) PP2 SCK1 (can be rerouted to PH2) PP1 MOSI1 (can be rerouted to PH1) PP0 MISO1 (can be rerouted to PH0) By default, the SPI2 shares the use of the upper 4 Port P pins: PP6 SS2 (can be rerouted to PH7) PP7 SCK2 (can be rerouted to PH6) PP5 MOSI2 (can be rerouted to PH5) PP4 MISO2 (can be rerouted to PH4) It is important to make sure that there is no conflict in the use of signal pins when making rerouting decision. ECE

20 Module Routing Register The MODRR configures the re-routing of CAN0, CAN4, SPI0, SPI1, and SPI2 on defined port pins. ECE 4510/

21 SPI0 Pin Selection MODRR[4] Default Alternate ECE 4510/

22 SPI1 and SPI2 Pin Selection MODRR[5:6] Default Alternate ECE 4510/

23 Adapt9S12DP512 I/O Pins ECE Primary Pins Alternate Pins

24 Motorola/Freescale DOCUMENT NUMBER S12SPIV3/D ECE 4510/

25 SPI Related Registers (1 of 6) The operating parameters of each SPI module are controlled via two control registers: SPIxCR1: (x = 0, 1, or 2) SPIxCR2 The baud rate of SPI transfer is controlled by the SPIxBR register. The operation status of the SPI operation is recorded in the SPIxSR register. The SS pin may be disconnected from SPI by clearing the SSOE bit in the SPIxCR1 register. After that, it can be used as a general I/O pin. If the SSOE bit in the SPIxCR1 register is set to 1, then the SS signal will be asserted to enable the slave device whenever a new SPI transfer is started. The equation for setting the SPI baud rate is given in Figure ECE

26 SPI Related Registers (2 of 6) SPIE SPE SPTIE MSTR CPOL CPHA SSOE LSBFE reset: SPIE: SPI interrupt enable bit 0 = SPI interrupts are disabled 1 = SPI interrupts are enabled SPE: SPI system enable bit 0 = SPI disabled 1 = SPI enabled and pins PS4-PS7 are dedicated to SPI function SPTIE: SPI transmit interrupt enable 0 = SPTEF interrupt disabled 1 = SPTEF interrupt enabled MSTR: SPI master/slave mode select bit 0 = slave mode 1 = master mode CPOL: SPI clock polarity bit 0 = active high clocks selected; SCK idle low 1 = active low clocks selected, SCK idle high CPHA: SPI clock phase bit 0 = The first SCK edge is issued one-half cycle into the 8-cycle transfer operation. 1 = The SCK edge is issued at the beginning of the 8-cycle transfer operation. SSOE: slave select output enable bit The SS output feature is enabled only in master mode by asserting the SSOE bit and the MODFEN bit of the SPIxCR2 register. LSBF: SPI least-significant-bit first enable bit 0 = data is transferred most-significant bit first 1 = data is transferred least-significant bit first Important Control Clock Mode Interrupt Enable SPI Enable Master/Slave ECE 2510 Figure 10.1 SPI control register 1 (SPIxCR1, x = 0, 1, or 2) 26

27 SPI Related Registers (3 of 6) MODFEN BIDIROE 0 SPSWAI SPC0 reset: MODFEN: Mode fault enable bit 0 = Disable the MODF error 1 = Enable settinig the MODF error BIDIROE: Output enable in the bidirectional mode of operation 0 = Output buffer disabled 1 = Output buffer enabled SPSWAI: SPI stop in wait mode 0 = SPI clock operates normally in stop mode 1 = Stop SPI clock generation in Wait mode SPC0: Serial pin control bit 0 With the MSTR bit in the SPIxCR1 register, this bit enables bidirectional pin configuration as shown in Table Figure 10.2 SPI control register 2 (SPIxCR2, x = 0, 1, or 2) ECE

28 SPI Related Registers (4 of 6) Table 10.1 SS input/output selection MODFEN SSOE Master Mode Slave mode SS not used by SPI SS not used by SPI SS input with MODF feature SS output SS input SS input SS input SS input Dr. Bazuin s Typical Use (i.e. all Sunseeker code): I do not let the SCI peripheral control the SSn bit. I always make it a general purpose I/O pin: for masters, it is an output, for slaves, it is an input. The pin then is pre-transfer asserted (goes low) chip selected which is deasserted (goes high) post-transfer. Please do it this way! ECE

29 SPI Related Registers (5 of 6) SPPR2 SPPR1 SPPR0 0 SPR2 SPR1 SPR0 reset: SPPR2~SPPR0: SPI baud rate preselection bits SPR2~SPR0: SPI baud rate selection bits BaudRateDivisor = (SPPR + 1) 2 (SPR + 1) Baud Rate = Bus Clock BaudRateDivisor Figure 10.3 SPI baud rate register (SPIxBR, x = 0, 1, or 2) SPIF 0 SPTEF MODF reset: SPIF: SPI interrupt request bit SPIF is set after the eight SCK cycles in a data transfer, and it is cleared by reading the SP0SR register (with SPIF set) followed by a read access to the SPI data register. 0 = transfer not yet complete 1 = new data copied to SPIxDR SPTEF: SPI data register empty interrupt flag 0 = SPI data register not empty 1 = SPI data register empty MODF: mode error interrupt status flag 0 = mode fault has not occurred ECE = mode fault has occurred 29 Figure 10.4 SPI status register (SPIxSR)

30 SPI Related Registers (6 of 6) Example 10.2 What is the highest possible baud rate for the SPI with 24 MHz bus clock? Solution: The highest SPI baud rate occurs when both the SPPR2-SPPR0 and SPR2-SPR0 are 000. In this case the baud rate is 24 MH 2 = 12 MHz. Example 10.1 Give a value to be loaded to the SPIxBR register to set the baud rate to 2 MHz for a 24 MHz bus clock. Solution: 24 MHz 2 MHz = 12 = 3 x 4. One possibility is to set SPPR2-SPPR0 and SPR2-SPR0 to 010 and 001, respectively. The value to be loaded into the SPIxBR register is $21. BaudRate E Clock BaudRateDivisor BaudRateDivisor SPR 2 SPRR 1 2 ECE

31 SPI Transmission Format (1 of 3) The data bits can be shifted on the rising or the falling edge of the SCK clock. Since the SCK can be idle high or idle low, there are four possible combinations as shown in Figure 10.5 and To shift data bits on the rising edge, set CPOL-CPHA to 00 or 11. To shift data bits on the falling edge, set CPOL-CPHA to 01 or 10. Data byte can be shifted in and out most significant bit first or least significant bit first. ECE

32 SPI Transmission Format (2 of 3) performed manually Transfer SS (O) master only Begin End SS (I) SCK (CPOL = 0) SCK (CPOL = 1) Sample I MOSI/MISO Change O MOSI Pin Change O MISO Pin MSB first (LSBF = 0) LSB first (LSBF = 1) t L MSB LSB Bit 6 Bit 1 Bit 5 Bit 2 Bit 4 Bit 3 Bit 3 Bit 4 Bit 2 Bit 5 Bit 1 Bit 6 LSB MSB t T t I t L Minimum 1/2 SCK for t T, t I, t L Figure 10.5 SPI Clock format 0 (CPHA = 0) ECE

33 SPI Transmission Format (3 of 3) performed manually Transfer SS (O) master only Begin End SS (I) SCK (CPOL = 0) SCK (CPOL = 1) Sample I MOSI/MISO Change O MOSI Pin Change O MISO Pin MSB first (LSBF = 0) LSB first (LSBF = 1) t L MSB LSB Bit 6 Bit 1 Bit 5 Bit 2 Bit 4 Bit 3 Bit 3 Bit 4 Bit 2 Bit 5 Bit 1 Bit 6 LSB MSB t T t I t L Minimum 1/2 SCK for t T, t I, t L Figure 10.6 SPI Clock format 1 (CPHA = 1) ECE

34 Normal and Bidirectional Mode When SPE = 1 Master mode MSTR = 1 Slave Mode MSTR = 0 Typical Normal Mode SPC0 = 0 Serial Out SPI Serial In MOSI MISO Serial In SPI Serial Out MOSI MISO SWOM enables open-drain output SWOM enables open-drain output Bi-directional mode SPC0 = 1 Serial Out SPI Serial In BIDIROE MOMI Serial In SPI Serial Out BIDIROE SISO Figure 10.7 Normal mode and bidirectional mode ECE

35 Bidirectional Mode (MOMI or SISO) A mode that uses only one data pin to shift data in and out. This mode is provided to deal with peripheral devices with only one data pin. Either the MOSI pin or the MISO pin can be used as the bidirectional pin. When the SPI is configured to the master mode (MSTR bit = 1), the MOSI pin is used in data transmission and becomes the MOMI pin. When the SPI is configured to the slave mode (MSTR bit = 0), the MISO pin is used in data transmission and becomes the SISO pin. The direction of each serial pin depends on the BIDIROE bit of the SPIxCR2 register. The pin configuration for MOSI and MISO are illustrated in Figure To read data from the peripheral device, clear the BIDIROE bit to 0. To output data to the peripheral device, set the BIDIROE bit to 1. ECE

36 SPI Circuit Connection In an SPI system, one device is configured as a master (up). Other devices are configured as slaves (peripherals). The circuit connection for a single-slave system is shown in Figure A multi-slave system may have two different connection methods as illustrated in Figure 10.9 and In Figure 10.9, the master can exchange data with each individual slave without affecting other slaves. In Figure 10.10, all the slaves are configured into a larger ring. A data transmission with certain slaves will go through other slaves. ECE

37 Single IC Interconnection Master SPI Shift register MISO MISO Slave SPI MOSI SCK MOSI SCK Shift register Baud Rate Generator SS V DD Figure 10.8 Master/slave transfer block diagram SS Please use a manual chip enable with a parallel output pin. This system uses SS as a chip-enable Typical Sunseeker connection. ECE

38 SS Multiple IC Interconnection +5V Slave 0 Slave 1 Slave k SPI Master (HCS12) SS Shift register MOSI SCK MISO SS Shift register MOSI SCK MISO SS... Shift register MOSI SCK MISO SS SCKx MOSIx MISOx PP0 PP PPk Figure 10.9 Single-master and multiple-slave device connection (method 1) This system uses SS as a chip-enable Sunseeker BPS ADC 1, 2, and 3 connection. ECE

39 Daisy Chained Multiple IC Interconnection Slave 0 Slave 1 Slave k SPI Master (HCS12) +5V Shift register MOSI SCK MISO SS Shift register MOSI SCK MISO SS... Shift register MOSI SCK MISO SS SS SCKx... MOSIx MISOx Figure Single-master and multiple-slave device connection (method 2) It saves pins, but complicates the serial transfers. Therefore, I have not used this method ECE

40 Example 10.3 Example 10.3 Configure the SPI0 to operate with the following setting assuming that Eclock is 24 MHz: 6 MHz baud rate Enable SPI0 to master mode SCK0 pin idle low with data shifted on the rising edge of SCK Transfer data most significant bit first and disable interrupt Disable SS0 function Stop SPI in Wait mode Normal SPI operation (not bidirectional mode) ECE

41 Example 10.3 Solution: f E / baud rate = 24 MHz/6 MHz = 4. We need to set SPPR2-SPPR0 and SPR2-SPR0 to 001 and 000, respectively. Write the value $10 into the SPI0BR register. The following instruction sequence will configure the SPI0 as desired: movb #$10, SPI0BR ; set baud rate to 6 MHz movb #$50, SPI0CR1 ; disable interrupt, enable SPI, SCK idle low, data ; latched on rising edge, data transferred msb first movb #$02, SPI0CR2 ; disable bidirectional mode, stop SPI in wait mode movb #0, WOMS ; enable Port S pull-up SPI0BR = 0x10; SPI0CR1 = 0x50; SPI0CR2 = 0x02; WOMS = 0x0; // set baud rate to 6 MHz // disable interrupt, enable SPI, SCK idle low, data // latched on rising edge, data transferred msb first // disable bidirectional mode, stop SPI in wait mode // enable Port S pull-up ECE

42 SPI Desirable Utility Functions The following operations are common in many applications and should be made into library functions to be called by many SPI applications: Send a character to SPI putcspix (x = 0, 1, or 2) Send a string to SPI putsspix (x = 0, 1, or 2) Read a character from SPI getcspix (x = 0, 1, or 2) Read a string from SPI getsspix (x = 0, 1, or 2) ECE

43 Function putcspi0 putcspi0: brclr SPI0SR,SPTEF, putcspi0 ; wait until write operation is permissible staa SPI0DR ; output the character to SPI0 pcsp0_lp: brclr SPI0SR,SPIF, pcsp0_lp ; wait until the byte is shifted out ldaa SPI0DR ; clear the SPIF flag rts void putcspi0 (char cx) { char temp; while(!(spi0sr & SPTEF)); /* wait until write is permissible */ SPI0DR = cx; /* output the byte to the SPI */ while(!(spi0sr & SPIF)); /* wait until write operation is complete */ temp = SPI0DR; /* clear the SPIF flag */ } ECE

44 Function putsspi0 ; the string to be output is pointed to by X putsspi0: ldaa 1,x+ ; get one byte to be output to SPI port beq doneps0 ; reach the end of the string? jsr putcspi0 ; call subroutine to output the byte bra putsspi0 ; continue to output doneps0: rts void putsspi0(char *ptr) { while(*ptr) { /* continue until all characters have been output */ putcspi0(*ptr); ptr++; } } ECE

45 Function getcspi0 ; This function reads a character from SPI0 and returns it in accumulator A getcspi0: brclr SPI0SR,SPTEF, getcspi0 ; wait until write operation is permissible staa SPI0DR ; trigger eight clock pulses for SPI transfer gcsp0_lp: brclr SPI0SR,SPIF, gcsp0_lp ; wait until a byte has been shifted in ldaa SPI0DR ; return the byte in A and clear the SPIF flag rts char getcspi0(void) { while(!(spi0sr & SPTEF)); /* wait until write is permissible */ SPI0DR = 0x00; /* trigger 8 SCK pulses to shift in data */ while(!(spi0sr & SPIF)); /* wait until a byte has been shifted in */ return SPI0DR; /* return the character */ } ECE

46 Function getsspi0 ; This function reads a string from the SPI and store it in a buffer pointed to by X ; The number of bytes to be read in passed in accumulator B getsspi0: tstb ; check the byte count beq donegs0 ; return when byte count is zero jsr getcspi0 ; call subroutine to read a byte staa 1,x+ ; save the returned byte in the buffer decb ; decrement the byte count bra getsspi0 donegs0: clr 0,x ; terminate the string with a NULL character rts void getsspi0(char *ptr, char count) { while(count) { /* continue while byte count is nonzero */ *ptr++ = getcspi0(); /* get a byte and save it in buffer */ count--; } *ptr = 0; /* terminate the string with a NULL */ } ECE

ECE 4510 Introduction to Microprocessors. Chapter 10

ECE 4510 Introduction to Microprocessors. Chapter 10 ECE 451 Introduction to Microprocessors Chapter 1 Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences Chapter 1 Serial

More information

The 9S12 Serial Peripheral Inteface (SPI) Huang Section 10.2 through 10.6 SPI Block User Guide

The 9S12 Serial Peripheral Inteface (SPI) Huang Section 10.2 through 10.6 SPI Block User Guide The 9S12 Serial Peripheral Inteface (SPI) Huang Section 102 through 106 SPI Block User Guide The 9S12 Serial Peripheral Interface (SPI) The 9S12 has a Synchronous Serial Interface On the 9S12 it is called

More information

Module 3.C. Serial Peripheral Interface (SPI) Tim Rogers 2017

Module 3.C. Serial Peripheral Interface (SPI) Tim Rogers 2017 Module 3.C Serial Peripheral Interface (SPI) Tim Rogers 2017 Learning Outcome #3 An ability to effectively utilize the wide variety of peripherals integrated into a contemporary microcontroller How? A:

More information

SPI Block User Guide V02.07

SPI Block User Guide V02.07 DOCUMENT NUMBER S12SPIV2/D SPI Block User Guide V02.07 Original Release Date: 21 JAN 2000 Revised: 11 Dec 2002 Motorola, Inc. Motorola reserves the right to make changes without further notice to any products

More information

More on the 9S12 SPI Using the Dallas Semiconductor DS1302 Real Time Clock with the 9S12 SPI

More on the 9S12 SPI Using the Dallas Semiconductor DS1302 Real Time Clock with the 9S12 SPI More on the 9S12 SPI Using the Dallas Semiconductor DS1302 Real Time Clock with the 9S12 SPI Using the 9S12 SPI The SPI has a data register (SPIDR) and a shift register. To write data to the SPI, you write

More information

EE 308 Spring Using the 9S12 SPI

EE 308 Spring Using the 9S12 SPI Using the 9S12 SPI The SPI has a data register (SPIDR) and a shift register. To write data to the SPI, you write to the SPIDR data register. The 9S12 automatically transfers the data to the shift register

More information

spi 1 Fri Oct 13 13:04:

spi 1 Fri Oct 13 13:04: spi 1 Fri Oct 1 1:: 1.1 Introduction SECTION SERIAL PERIPHERAL INTERFACE (SPI) The SPI module allows full-duplex, synchronous, serial communication with peripheral devices.. Features Features of the SPI

More information

Serial Peripheral Interface (SPI) Host Controller Data Sheet

Serial Peripheral Interface (SPI) Host Controller Data Sheet Serial Peripheral Interface (SPI) Host Controller Data Sheet Proven System Block (PSB) for QuickLogic Customer Specific Standard Products (CSSPs) Features Supports Master configuration (Multi-Master configuration

More information

ECE 4510/5530 Microcontroller Applications Week 10

ECE 4510/5530 Microcontroller Applications Week 10 ECE 4510/5530 Microcontroller Applications Week 10 Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences ECE 4510/5530

More information

EE 456 Fall, Table 1 SPI bus signals. Figure 1 SPI Bus exchange of information between a master and a slave.

EE 456 Fall, Table 1 SPI bus signals. Figure 1 SPI Bus exchange of information between a master and a slave. EE 456 Fall, 2009 Notes on SPI Bus Blandford/Mitchell The Serial Peripheral Interface (SPI) bus was created by Motorola and has become a defacto standard on many microcontrollers. This is a four wire bus

More information

Menu. What is SPI? EEL 3744 EEL 3744 SPI

Menu. What is SPI? EEL 3744 EEL 3744 SPI Menu Concepts >Problems in serial communications Timing Synchronization: How do you line up the bit boundaries? Message Synchronization: How do you line up messages? Look into my... >Synchronous data solves

More information

Embedded Systems and Software. Serial Interconnect Buses I 2 C (SMB) and SPI

Embedded Systems and Software. Serial Interconnect Buses I 2 C (SMB) and SPI Embedded Systems and Software Serial Interconnect Buses I 2 C (SMB) and SPI I2C, SPI, etc. Slide 1 Provide low-cost i.e., low wire/pin count connection between IC devices There are many of serial bus standards

More information

Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI) SPI = Simple, 3 wire, full duplex, synchronous serial data transfer Interfaces to many devices, even many non-spi peripherals Can be a master or slave interface 4 interface pins: -MOSI master out slave

More information

CS/ECE 5780/6780: Embedded System Design

CS/ECE 5780/6780: Embedded System Design CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 15: Serial I/O Devices Today Quick overview of serial communication in general SCI Serial Communication Interface SCI on the HCS12 Introduction

More information

Introduction to Serial Communication. ECE/CS 5780/6780: Embedded System Design. A Serial Channel. Definitions. SCI versus SPI.

Introduction to Serial Communication. ECE/CS 5780/6780: Embedded System Design. A Serial Channel. Definitions. SCI versus SPI. Introduction to Serial Communication ECE/CS 5780/6780: Embedded System Design Chris J. Myers Lecture 14: Serial I/O Devices Serial communication transmits of one bit of information at a time. One bit is

More information

Review for Exam 3. Write 0x05 to ATD0CTL4 to set at fastest conversion speed and 10-bit conversions

Review for Exam 3. Write 0x05 to ATD0CTL4 to set at fastest conversion speed and 10-bit conversions Review for Exam 3 A/D Converter Power-up A/D converter (ATD0CTL2) Write 0x05 to ATD0CTL4 to set at fastest conversion speed and 10-bit conversions Write 0x85 to ATD0CTL4 to set at fastest conversion speed

More information

ECE/CS 5780/6780: Embedded System Design. Introduction to Serial Communication

ECE/CS 5780/6780: Embedded System Design. Introduction to Serial Communication ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 15: Serial I/O Devices Scott R. Little (Lecture 15: Serial I/O) ECE/CS 5780/6780 1 / 69 Introduction to Serial Communication Serial communication

More information

Microcontrollers and Interfacing

Microcontrollers and Interfacing Microcontrollers and Interfacing Week 10 Serial communication with devices: Serial Peripheral Interconnect (SPI) and Inter-Integrated Circuit (I 2 C) protocols College of Information Science and Engineering

More information

Synchronous = SPI (3 options)

Synchronous = SPI (3 options) CS/ECE 6780/5780 Al Davis Today s topics: Last lecture general serial I/O concepts more specifics on asynchronous SCI protocol Today specifics of synchronous SPI details of the SCI programming ritual 1

More information

EE345L Fall 2008 Final Page 1 of 12

EE345L Fall 2008 Final Page 1 of 12 EE345L Fall 2008 Final Page 1 of 12 Jonathan W. Valvano First: Last: This is the closed book section. You must put your answers in the boxes on this answer page. When you are done, you turn in the closed-book

More information

OUTLINE. SPI Theory SPI Implementation STM32F0 SPI Resources System Overview Registers SPI Application Initialization Interface Examples

OUTLINE. SPI Theory SPI Implementation STM32F0 SPI Resources System Overview Registers SPI Application Initialization Interface Examples SERIAL PERIPHERAL INTERFACE (SPI) George E Hadley, Timothy Rogers, and David G Meyer 2018, Images Property of their Respective Owners OUTLINE SPI Theory SPI Implementation STM32F0 SPI Resources System

More information

AREA OPTIMIZATION OF SPI MODULE USING VERILOG HDL

AREA OPTIMIZATION OF SPI MODULE USING VERILOG HDL International Journal of Electronics and Communication Engineering & Technology (IJECET) Volume 7, Issue 3, May June 2016, pp. 38 45, Article ID: IJECET_07_03_005 Available online at http://www.iaeme.com/ijecet/issues.asp?jtype=ijecet&vtype=7&itype=3

More information

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Microcontroller It is essentially a small computer on a chip Like any computer, it has memory,

More information

SPI 3-Wire Master (VHDL)

SPI 3-Wire Master (VHDL) SPI 3-Wire Master (VHDL) Code Download Features Introduction Background Port Descriptions Clocking Polarity and Phase Command and Data Widths Transactions Reset Conclusion Contact Code Download spi_3_wire_master.vhd

More information

Using the Z8051 MCU s USI Peripheral as an SPI Interface

Using the Z8051 MCU s USI Peripheral as an SPI Interface Using the Z8051 MCU s USI Peripheral as an SPI Interface AN035901-0513 Abstract This document describes how to configure Zilog s Z8051 Universal Serial Interface (USI) peripheral to operate as Serial Peripheral

More information

Design with Microprocessors

Design with Microprocessors Design with Microprocessors Lecture 6 Interfaces for serial communication Year 3 CS Academic year 2017/2018 1 st Semester Lecturer: Radu Dănescu Serial communication modules on AVR MCUs Serial Peripheral

More information

Understanding SPI with Precision Data Converters

Understanding SPI with Precision Data Converters Understanding SPI with Precision Data Converters By: Tony Calabria Presented by: 1 Communication Comparison SPI - Serial Peripheral Interface Bus I2C - Inter- Integrated Circuit Parallel Bus Advantages

More information

For reference only Refer to the latest documents for details

For reference only Refer to the latest documents for details STM32F3 Technical Training For reference only Refer to the latest documents for details Serial peripheral interface SPI 3 SPI Features (1/2) 3 Full duplex synchronous transfers (3 lines) Half duplex/simplex

More information

Interfacing Techniques in Embedded Systems

Interfacing Techniques in Embedded Systems Interfacing Techniques in Embedded Systems Hassan M. Bayram Training & Development Department training@uruktech.com www.uruktech.com Introduction Serial and Parallel Communication Serial Vs. Parallel Asynchronous

More information

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral Features Full-duplex, 3-wire Synchronous Data Transfer Master or Slave Operation Maximum Bit Frequency of f CLOCK /4 (in M-bits/second) LSB First or MSB First Data Transfer Four Programmable Bit Rates

More information

Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features

Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features of this USART interface, which is widely used for serial

More information

C8051F700 Serial Peripheral Interface (SPI) Overview

C8051F700 Serial Peripheral Interface (SPI) Overview C8051F700 Serial Peripheral Interface (SPI) Overview Agenda C8051F700 block diagram C8051F700 device features SPI operation overview SPI module overview Where to learn more 2 Introducing The C8051F700

More information

Serial Peripheral Interface (SPI) Last updated 8/7/18

Serial Peripheral Interface (SPI) Last updated 8/7/18 Serial Peripheral Interface (SPI) Last updated 8/7/18 MSP432 SPI eusci = enhanced Universal Serial Communications Interface 2 tj MSP432 SPI ARM (AMBA Compliant) 7/8 bit transmission Master/Slave LSB/MSB

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Serial Perpherial Interface (SPI) Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA April 9, 2018 Aly El-Osery

More information

Getting Started with ESPI Interface Using the Z8 Encore! XP F1680

Getting Started with ESPI Interface Using the Z8 Encore! XP F1680 Application Note Getting Started with ESPI Interface Using the Z8 Encore! XP F1680 AN027301-0308 Abstract This application note demonstrates how to use the Enhanced Serial Peripheral Interface (ESPI) in

More information

AN-145 ARINC 429 / SPI Demonstration board HI-3585, HI-3598/HI-3599 Applications Note

AN-145 ARINC 429 / SPI Demonstration board HI-3585, HI-3598/HI-3599 Applications Note December 2017 AN-145 ARINC 429 / SPI Demonstration board HI-3585, HI-3598/HI-3599 Applications Note INTRODUCTION The Holt HI-3598 and HI-3599 are silicon gate CMOS ICs for interfacing eight ARINC 429 receive

More information

< W3150A+ / W5100 Application Note for SPI >

< W3150A+ / W5100 Application Note for SPI > < W3150A+ / W5100 Application Note for SPI > Introduction This application note describes how to set up the SPI in W3150A+ or W5100. Both the W3150A+ and W5100 have same architecture. W5100 is operated

More information

Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI) Serial Peripheral Interface (SPI) MSP432 SPI eusci = enhanced Universal Serial Communications Interface 2 tj MSP432 SPI ARM (AMBA Compliant) 7/8 bit transmission Master/Slave LSB/MSB first Separate RX/TX

More information

Interfacing the HI7190 to a Microcontroller

Interfacing the HI7190 to a Microcontroller Interfacing the to a Microcontroller Application Note September 1995 AN9527 Authors: Stephen LaJeunesse and John Kornblum Introduction The Intersil is a 24-bit monolithic instrumentation sigma delta A/D

More information

Serial Buses in Industrial and Automotive Applications

Serial Buses in Industrial and Automotive Applications Serial Buses in Industrial and Automotive Applications Presented by Neelima Chaurasia Class: #368 1 Overview As consumer electronics, computer peripherals, vehicles and industrial applications add embedded

More information

Raspberry Pi - I/O Interfaces

Raspberry Pi - I/O Interfaces ECE 1160/2160 Embedded Systems Design Raspberry Pi - I/O Interfaces Wei Gao ECE 1160/2160 Embedded Systems Design 1 I/O Interfaces Parallel I/O and Serial I/O Parallel I/O: multiple input/output simultaneously

More information

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1 M68HC08 Microcontroller The MC68HC908GP32 Babak Kia Adjunct Professor Boston University College of Engineering Email: bkia -at- bu.edu ENG SC757 - Advanced Microprocessor Design General Description The

More information

Parallel Data Transfer. Suppose you need to transfer data from one HCS12 to another. How can you do this?

Parallel Data Transfer. Suppose you need to transfer data from one HCS12 to another. How can you do this? Introduction the Serial Communications Huang Sections 9.2, 10.2, 11.2 SCI Block User Guide SPI Block User Guide IIC Block User Guide o Parallel vs Serial Communication o Synchronous and Asynchronous Serial

More information

If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!!

If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!! If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!! Design and implementation details on the way to a valid SPI-LCD interface driver Slides 3 to 13 are old versions of

More information

Universität Dortmund. IO and Peripheral Interfaces

Universität Dortmund. IO and Peripheral Interfaces IO and Peripheral Interfaces Microcontroller System Architecture Each MCU (micro-controller unit) is characterized by: Microprocessor 8,16,32 bit architecture Usually simple in-order microarchitecture,

More information

AT89S4D12. 8-Bit Microcontroller with 132K Bytes Flash Data Memory AT89S4D12. Features. Description. Pin Configurations

AT89S4D12. 8-Bit Microcontroller with 132K Bytes Flash Data Memory AT89S4D12. Features. Description. Pin Configurations Features Compatible with MCS-51 Products 128K Bytes of In-System Reprogrammable Flash data memory and 4K Bytes of Downloadable Flash Program Memory Endurance: 1,000 Write/Erase Cycles per Sector Data Retention:

More information

Lecture 14 Serial Peripheral Interface

Lecture 14 Serial Peripheral Interface www.atomicrhubarb.com/systems Lecture 14 Serial Peripheral Interface Section Topic Where in the books Zilog PS220 "Enhanced Serial Peripheral Interface" Assorted datasheets Synchronous Serial Buses 1-wire

More information

EE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly.

EE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly. More on Programming the 9S12 in C Huang Sections 5.2 through 5.4 Introduction to the MC9S12 Hardware Subsystems Huang Sections 8.2-8.6 ECT_16B8C Block User Guide A summary of MC9S12 hardware subsystems

More information

SPI: Serial Peripheral Interface

SPI: Serial Peripheral Interface ECE3411 Fall 2015 Lab 6c. SPI: Serial Peripheral Interface Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: {vandijk, syed.haider}@engr.uconn.edu

More information

AN-150 HI-3598, HI-3599 Design Example Applications Note

AN-150 HI-3598, HI-3599 Design Example Applications Note July 2008 AN-150 HI-3598, HI-3599 Design Example Applications Note INTRODUCTION The Holt HI-3598 and HI-3599 are silicon gate CMOS ICs for interfacing eight ARINC 429 receive buses to a high-speed Serial

More information

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide Introduction the Serial Communications Huang Sections 9.2,.2 SCI Block User Guide SPI Block User Guide Parallel Data Transfer Suppose you need to transfer data from one HCS2 to another. How can you do

More information

Serial Peripheral Interface Bus SPI

Serial Peripheral Interface Bus SPI Serial Peripheral Interface Bus SPI SPI Bus Developed by Motorola in the mid 1980 s Full-duplex, master-slave serial bus suited to data streaming applications for embedded systems Existing peripheral busses

More information

ECE 471 Embedded Systems Lecture 20

ECE 471 Embedded Systems Lecture 20 ECE 471 Embedded Systems Lecture 20 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 20 October 2017 Announcements Project coming Only one person was in class Wednesday due to Career

More information

Using FlexIO to emulate communications and timing peripherals

Using FlexIO to emulate communications and timing peripherals NXP Semiconductors Document Number: AN12174 Application Note Rev. 0, 06/2018 Using FlexIO to emulate communications and timing peripherals 1. Introduction The FlexIO is a new on-chip peripheral available

More information

Lecture 25 March 23, 2012 Introduction to Serial Communications

Lecture 25 March 23, 2012 Introduction to Serial Communications Lecture 25 March 23, 2012 Introduction to Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications Asynchronous Serial (e.g., SCI, RS-232) Synchronous

More information

Asynchronous & Synchronous Serial Communications Interface. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name

Asynchronous & Synchronous Serial Communications Interface. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name MPSD Serial Communication Lab Exercise Asynchronous & Synchronous Serial Communications Interface Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name Notes: You must work

More information

McMaster University Embedded Systems. Computer Engineering 4DS4 Lecture 6 Serial Peripherals Amin Vali Feb. 2016

McMaster University Embedded Systems. Computer Engineering 4DS4 Lecture 6 Serial Peripherals Amin Vali Feb. 2016 McMaster University Embedded Systems Computer Engineering 4DS4 Lecture 6 Serial Peripherals Amin Vali Feb. 2016 Serial Peripherals I2C Inter-IC Bus X/Y Coord. RGB data LCD config controller LCD data controller

More information

Introduction to the MC9S12 Hardware Subsystems

Introduction to the MC9S12 Hardware Subsystems Setting and clearing bits in C Using pointers in C o Program to count the number of negative numbers in an area of memory Introduction to the MC9S12 Hardware Subsystems o The MC9S12 timer subsystem Operators

More information

ECE 4510/5530 Microcontroller Applications Week 9

ECE 4510/5530 Microcontroller Applications Week 9 ECE 45/553 Microcontroller Applications Week 9 Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences Lab 7 & 8 Elements

More information

SPI Protocol of the TLE941xy family

SPI Protocol of the TLE941xy family Protocol of the TLE941xy family Application Note Rev 1.0, 2016-04-25 Automotive Power Table of Contents 1 Abstract........................................................................ 3 2 Introduction.....................................................................

More information

Serial versus Parallel Data Transfers

Serial versus Parallel Data Transfers Serial versus Parallel Data Transfers 1 SHIFT REGISTERS: CONVERTING BETWEEN SERIAL AND PARALLEL DATA Serial communications Most communications is carried out over serial links Fewer wires needed Less electronics

More information

Infineon C167CR microcontroller, 256 kb external. RAM and 256 kb external (Flash) EEPROM. - Small single-board computer (SBC) with an

Infineon C167CR microcontroller, 256 kb external. RAM and 256 kb external (Flash) EEPROM. - Small single-board computer (SBC) with an Microcontroller Basics MP2-1 week lecture topics 2 Microcontroller basics - Clock generation, PLL - Address space, addressing modes - Central Processing Unit (CPU) - General Purpose Input/Output (GPIO)

More information

An SPI interface for the 65(C)02 family of microprocessors

An SPI interface for the 65(C)02 family of microprocessors Rev 4/B Dec 30, 2011 65SPI/B An SPI interface for the 65(C)02 family of microprocessors This device was created to provide a basic SPI interface for the 65xx family of microprocessors. Currently, the only

More information

INTRODUCTION TO FLEXIO

INTRODUCTION TO FLEXIO INTRODUCTION TO FLEXIO Osvaldo Romero Applications Engineer EXTERNAL USE Agenda Introduction to FlexIO FlexIO Main Features FlexIO Applications Freescale Products with FlexIO Collaterals\Tools for FlexIO

More information

Introduction to I2C & SPI. Chapter 22

Introduction to I2C & SPI. Chapter 22 Introduction to I2C & SPI Chapter 22 Issues with Asynch. Communication Protocols Asynchronous Communications Devices must agree ahead of time on a data rate The two devices must also have clocks that are

More information

ECE Microcontrollers. Serial Peripheral Interface (SPI) & NRF24 Radio

ECE Microcontrollers. Serial Peripheral Interface (SPI) & NRF24 Radio ECE 381 - Microcontrollers Serial Peripheral Interface (SPI) & NRF24 Radio Lab 9 Summary We will develop a wireless temperature sensor Once a second, sample LM34CZ voltage Convert to floating point with

More information

Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications

Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications o Asynchronous Serial (SCI, RS-232) o Synchronous Serial (SPI, IIC) The MC9S12

More information

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus Application Note An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus AN012703-0608 Abstract This Application Note provides an overview of Zilog s Z8 Encore! Serial Peripheral Interface (SPI)

More information

Pmod modules are powered by the host via the interface s power and ground pins.

Pmod modules are powered by the host via the interface s power and ground pins. 1300 Henley Court Pullman, WA 99163 509.334.6306 www.store. digilent.com Digilent Pmod Interface Specification 1.2.0 Revised October 5, 2017 1 Introduction The Digilent Pmod interface is used to connect

More information

Growing Together Globally Serial Communication Design In Embedded System

Growing Together Globally Serial Communication Design In Embedded System Growing Together Globally Serial Communication Design In Embedded System Contents Serial communication introduction......... 01 The advantages of serial design......... 02 RS232 interface......... 04 RS422

More information

Serial Peripheral Interface. What is it? Basic SPI. Capabilities. Protocol. Pros and Cons. Uses

Serial Peripheral Interface. What is it? Basic SPI. Capabilities. Protocol. Pros and Cons. Uses Serial Peripheral Interface What is it? Basic SPI Capabilities Protocol Serial Peripheral Interface http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/ SPI_single_slave.svg/350px-SPI_single_slave.svg.png

More information

PARALLEL COMMUNICATIONS

PARALLEL COMMUNICATIONS Parallel Data Transfer Suppose you need to transfer data from one HCS12 to another. How can you do this? You could connect PORTA of the sending computer (set up as an output port) to PORTA of the receiving

More information

HC12 Built-In Hardware

HC12 Built-In Hardware HC12 Built-In Hardware The HC12 has a number of useful pieces of hardware built into the chip. Different versions of the HC12 have slightly different pieces of hardware. We are using the MC68HC912B32 chip

More information

IV B.Tech. I Sem (R13) ECE : Embedded Systems : UNIT -4 1 UNIT 4

IV B.Tech. I Sem (R13) ECE : Embedded Systems : UNIT -4 1 UNIT 4 IV B.Tech. I Sem (R13) ECE : Embedded Systems : UNIT -4 1 UNIT 4 4.1. Serial data communication basics ----------- 1 4.2. UART ------------------------------------------------ 4 4.3. Serial Peripheral

More information

Serial Communication Through an Asynchronous FIFO Buffer

Serial Communication Through an Asynchronous FIFO Buffer Serial Communication Through an Asynchronous FIFO Buffer Final Project Report December 9, 2000 E155 Nick Bodnaruk and Andrew Ingram Abstract: For our clinic, we need to be able to use serial communication

More information

CprE 488 Embedded Systems Design. Lecture 4 Interfacing Technologies

CprE 488 Embedded Systems Design. Lecture 4 Interfacing Technologies CprE 488 Embedded Systems Design Lecture 4 Interfacing Technologies Joseph Zambreno Electrical and Computer Engineering Iowa State University www.ece.iastate.edu/~zambreno rcl.ece.iastate.edu Never trust

More information

Application Note. Interfacing the CS5525/6/9 to the 68HC05. By Keith Coffey MOSI (PD3) SDO MISO (PD2) SCLK. Figure 1. 3-Wire and 4-Wire Interfaces

Application Note. Interfacing the CS5525/6/9 to the 68HC05. By Keith Coffey MOSI (PD3) SDO MISO (PD2) SCLK. Figure 1. 3-Wire and 4-Wire Interfaces Application Note Interfacing the CS5525/6/9 to the 68HC05 By Keith Coffey INTRODUCTION This application note details the interface of Crystal Semiconductor s CS5525/6/9 Analog-to-Digital Converter (ADC)

More information

Arduino Uno R3 INTRODUCTION

Arduino Uno R3 INTRODUCTION Arduino Uno R3 INTRODUCTION Arduino is used for building different types of electronic circuits easily using of both a physical programmable circuit board usually microcontroller and piece of code running

More information

The Serial Peripheral Interface

The Serial Peripheral Interface (SPI) ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it L.S.M. 1 Course What is SPI? The SPI Serial Peripheral

More information

ECE 4510 Introduction to Microprocessors. Software Review

ECE 4510 Introduction to Microprocessors. Software Review ECE 4510 Introduction to Microprocessors Software Review Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences Modern Computers

More information

Marten van Dijk Department of Electrical & Computer Engineering University of Connecticut

Marten van Dijk Department of Electrical & Computer Engineering University of Connecticut ECE3411 Fall 2016 Wrap Up Review Session Marten van Dijk Department of Electrical & Computer Engineering University of Connecticut Email: marten.van_dijk@uconn.edu Slides are copied from Lecture 7b, ECE3411

More information

Real Time Embedded Systems. Lecture 1 January 17, 2012

Real Time Embedded Systems.  Lecture 1 January 17, 2012 SPI 4-Wire 3-Wire Real Time Embedded Systems www.atomicrhubarb.com/embedded Lecture 1 January 17, 2012 Topic Section Topic Where in the books Catsoulis chapter/page Simon chapter/page Zilog UM197 (ZNEO

More information

App Note Application Note: Addressing Multiple FPAAs Using a SPI Interface

App Note Application Note: Addressing Multiple FPAAs Using a SPI Interface Rev: 1.0.0 Date: 23 rd Jan 2015 App Note - 310 Application Note: Addressing Multiple FPAAs Using a SPI Interface TABLE OF CONTENTS 1 PURPOSE... 2 2 THE SPI INTERFACE... 3 2.1 OVERVIEW... 3 2.2 DETAILED

More information

Amarjeet Singh. January 30, 2012

Amarjeet Singh. January 30, 2012 Amarjeet Singh January 30, 2012 Website updated - https://sites.google.com/a/iiitd.ac.in/emsys2012/ Lecture slides, audio from last class Assignment-2 How many of you have already finished it? Final deadline

More information

Asynchronous & Synchronous Serial Communications Interface. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name

Asynchronous & Synchronous Serial Communications Interface. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name MPS Serial Communication Lab Exercise Asynchronous & Synchronous Serial Communications Interface Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name Notes: You must work on

More information

Discontinued IP. Slices. LUTs. FFs. Block RAMs. Instantiation

Discontinued IP. Slices. LUTs. FFs. Block RAMs. Instantiation 0 OPB Serial Peripheral Interface (SPI) (v1.00e) DS464 July 21, 2006 0 0 Introduction The Xilinx OPB Serial Peripheral Interface (SPI) connects to the OPB and provides the controller interface to any SPI

More information

Marten van Dijk, Syed Kamran Haider

Marten van Dijk, Syed Kamran Haider ECE3411 Fall 2015 Wrap Up Review Session Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: vandijk, syed.haider@engr.uconn.edu Pulse Width

More information

Temperature Sensor TMP2 PMOD Part 1

Temperature Sensor TMP2 PMOD Part 1 Temperature Sensor TMP2 PMOD Part 1 Overview of the Temperature Sensor and I 2 C Interfacing Reference Sites: Diligent Temp2 PMOD: http://www.digilentinc.com/products/detail.cfm?navpath=2,401,961&prod=pmod-tmp2

More information

Freescale Semiconductor, Inc.

Freescale Semiconductor, Inc. Order this document by /D Software I 2 C Communications By Brad Bierschenk MMD Applications Engineering Austin, Texas Introduction I 2 C Overview The I 2 C (inter-integrated circuit) protocol is a 2-wire

More information

DataFlash. Application Note. Using Atmel s DataFlash. Introduction (AN-4)

DataFlash. Application Note. Using Atmel s DataFlash. Introduction (AN-4) Using Atmel s DataFlash Introduction In the past, engineers have struggled to use Flash memory for data storage applications. The traditional Flash memory devices, with their large page sizes of 4K to

More information

Using the Serial Peripheral Interface (SPI) Module on 68HC(9)08 Microcontrollers

Using the Serial Peripheral Interface (SPI) Module on 68HC(9)08 Microcontrollers Freescale Semiconductor Application te AN2878 Rev. 0, 01/2005 Using the Serial Peripheral Interface (SPI) Module on 68HC(9)08 Microcontrollers by: Rogelio Reyna García RTAC Americas Mexico Overview This

More information

DS1306. Serial Alarm Real Time Clock (RTC)

DS1306. Serial Alarm Real Time Clock (RTC) www.dalsemi.com FEATURES Real time clock counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap year compensation valid up to 2100 96-byte nonvolatile RAM for data

More information

Fredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт.

Fredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт. SECOND шт. Assembly and С Programming forthefreescalehcs12 Microcontroller Fredrick M. Cady Department of Electrical and Computer Engineering Montana State University New York Oxford Oxford University

More information

PIC Serial Peripheral Interface (SPI) to Digital Pot

PIC Serial Peripheral Interface (SPI) to Digital Pot Name Lab Section PIC Serial Peripheral Interface (SPI) to Digital Pot Lab 7 Introduction: SPI is a popular synchronous serial communication protocol that allows ICs to communicate over short distances

More information

Serial Communication. Simplex Half-Duplex Duplex

Serial Communication. Simplex Half-Duplex Duplex 1.5. I/O 135 Serial Communication Simplex Half-Duplex Duplex 136 Serial Communication Master-Slave Master Master-Multi-Slave Master Slave Slave Slave (Multi-)Master Multi-Slave Master Slave Slave Slave

More information

Serial Communication. Spring, 2018 Prof. Jungkeun Park

Serial Communication. Spring, 2018 Prof. Jungkeun Park Serial Communication Spring, 2018 Prof. Jungkeun Park Serial Communication Serial communication Transfer of data over a single wire for each direction (send / receive) Process of sending data one bit at

More information

EE4390 Microprocessors. Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System

EE4390 Microprocessors. Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System EE4390 Microprocessors Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System 1 Overview 68HC12 hardware overview Subsystems Memory System 2 68HC12 Hardware Overview "Copyright of Motorola,

More information

Application Note, V1.0, Jul AP XC16x. Interfacing the XC16x Microcontroller to a Serial SPI EEPROM. Microcontrollers

Application Note, V1.0, Jul AP XC16x. Interfacing the XC16x Microcontroller to a Serial SPI EEPROM. Microcontrollers Application Note, V1.0, Jul. 2006 AP16095 XC16x Interfacing the XC16x Microcontroller to a Serial SPI EEPROM Microcontrollers Edition 2006-07-10 Published by Infineon Technologies AG 81726 München, Germany

More information

PIN ASSIGNMENT PIN DESCRIPTION

PIN ASSIGNMENT PIN DESCRIPTION www.dalsemi.com FEATURES Temperature measurements require no external components Measures temperatures from -55 C to +120 C. Fahrenheit equivalent is -67 F to +248 F Thermometer accuracy is ±2.0 C Thermometer

More information

LCD H C 1 2 GP2D PP4 MISO MOSI DIN DOUT SCK PP5 SCK D0 D1 D2 D3 D4 D5 D6 D7 DIN. Maximum SCK = 500 khz SCK D0 D1 D2 D3 D4 D5 D6 D7 DOUT

LCD H C 1 2 GP2D PP4 MISO MOSI DIN DOUT SCK PP5 SCK D0 D1 D2 D3 D4 D5 D6 D7 DIN. Maximum SCK = 500 khz SCK D0 D1 D2 D3 D4 D5 D6 D7 DOUT 38 xam 3 May 6, 999 Name: You may use one page of notes and any of the Motorola data books. Show all work. Partial credit will be given. No credit will be given if an answer appears with no supporting

More information