Messaging Strategies for a Remote Temperature and Pressure Monitor

Size: px
Start display at page:

Download "Messaging Strategies for a Remote Temperature and Pressure Monitor"

Transcription

1 Messaging Strategies for a Remote Temperature and Pressure Monitor BY Donnie Garcia - Applications Engineer Semiconductor 6501 William Cannon Austin, TX United States Donnie.Garcia@.com Web Site:

2 Page 2 Abstract In consumer applications a multitude of drivers, sensors and other peripheral ICs must be used to accomplish the end purpose of the system. Data and commands must be transferred to and from these devices and handled by the microcontrollers (MCUs) involved. This document provides a good example of how a system of drivers, sensors, and other peripherals are linked together to accomplish a remote temperature and pressure monitoring device. SPI, SCI and radio frequency interfaces and data management using both assembly and C code are explored. The temperature and pressure monitoring device provides an excellent venue to address this subject. The device consist of 2 MCUs, a UHF transmitter, a UHF receiver, a temperature and pressure sensor, a SPI controlled octal switch, and the device is controlled by a GUI run on a PC through SCI communication. A systematic approach to interfacing these devices is critical to having a short development time and the various methods outlined in this document should be helpful to a developer of consumer applications. Background Present day consumer applications are complex devices accomplishing a wide variety of tasks. This is clearly seen for the case of creating a remote Temperature and Pressure Monitor System (TPMS), a device that consist of 2 MCUs, a UHF transmitter, a UHF receiver, a temperature and pressure sensor, a SPI controlled Octal switch, and is controlled by a GUI run on a PC through SCI communication. The interconnectivity of these devices is critical to this application. An important component of every system design is handling the communications between the multiple peripherals that are used to accomplish the goals of the end application. Complex goals of an end application lead to more peripherals that must be connected together through communications. In the TPMS sensor data must be relayed to an MCU that then must format the data for UHF transmits. Then a UHF receiver receives the data and sends it to another MCU that will parse this data and present it to a GUI on a PC. Different communications protocols, methods and data rates must be implemented in this system. Communications is critical for this application because if data can not be shared between the sensors and drivers in the system the required tasks could get done. The TPMS project was created to showcase a new UHF transmitter and MCU multi-chip module. This device contains a UHF transmitter and an HC08 MCU in the same package. During the course of this project it was found that the methods and processes that were implemented would be useful information to any designer. If the proper steps are taken design time can be reduced. When addressing a complex system as the TPMS using tools such as C code and taking the steps such as documenting the messaging requirements is critical. In this project, as is common in many projects, different people were charged with creating code for the different parts of the system. This 2

3 Page 3 led to different programming languages and different development environments being used. Careful planning can make the execution phase of the project easier and reducing design time allows faster time to market and will affect the bottom line. The information provided in this paper will offer tips and direction that can be used when creating a complex system like the remote temperature and pressure monitor. Novel ways to utilize C code and other methods to ease the interconnectivity of the project are addressed. Before we go into the details about the way communications was designed for the TPMS we must review some background material to have an understanding of the system. The purpose of the Remote Temperature and Pressure Monitor is to provide temperature and pressure data to a central receiver module that can display this data to a Graphical User Interface on a PC. This system is specifically tailored to monitor the tires of an automobile. This system consists of three main hardware blocks: Sensor module with UHF transmitter, Receiver module that receives UHF data and can interface to a PC graphical user interface and low frequency (LF) initiator modules. A representation of this hardware can be seen in the block diagram shown in figure 1. This project was an upgrade of an existing design. Some of the important system requirements include: FSK UHF transmission, SCI communications at a 9600 baud rate and existing code reuse. In the definition phase of the project system requirements were made that affect how the development of this project was done. For example, to meet the code re-use requirement, software development had to be done in both assembly and C code. Remote Temperature and Pressure Monitor Description Figure 1: TPMS Hardware Representation At the core of the complex transmitter and receiver modules is a microcontroller that will be used to process and relay the data. The receiver module contains a MC68HC908GZ16, a microcontroller with a large peripheral set that includes SCI, SPI and CAN modules. The transmitter contains the MC68HC908QF4 is a multi-chip module that contains a much smaller less feature rich microcontroller that does not contain peripherals like SCI and SPI. For this reason the handling of communications for these two different parts varied as will be explained in this document. Typical TPMS Operation In order to grasp all the communications that must be handled in this system we should review a step by 3

4 Page 4 step flow of how typical operation of the TPMS is defined to operate. 1. The user initiates the process by selecting a location to be polled in the GUI. 2. The GUI sends an SCI command to the central receiver module through the serial port of the computer. 3. The Central Receiver module MCU initiates an LF transmit by communicating to a Driver IC through SPI 4. The Transmitter module receives an LF transmission and this is relayed to the Transmitter modules MCU through simple I/O 5. The Transmitter module MCU communicates through software SPI to the temperature and pressure sensor to collect the temperature and pressure data 6. Temperature and pressure data is relayed to the UHF transmitter through software bit banging and transmitted 7. The transmitted data is received by The UHF receiver IC and the data is relayed to the MCU through software SPI. 8. The receiver module analyzes and processes the data and communicates the results to a PC through a Graphical User Interface In every one of the steps above it is clearly shown how important communication is for the processes of this application to occur. Each of these steps will be examined to show the methods used to accomplish the communications. Defining the Messaging Requirements Defining the messages that will be sent between all of the peripherals was an important step of this project. A messaging requirements document was done to show how and what type of messages will be sent. This document became a way for the members of the team to work together to meet the system requirements. Every possible message between the devices in this system was defined in this document so that as the software was being developed it could be referenced as a guide to the software implementation. The time spent creating this document was well spent because when questions arose bout the form or function of bytes in a message they were often answered in this document. This document defined LF transmissions, SCI transmissions, SPI transmissions and UHF transmissions between all of the modules involved. In a complex system such as the TPMS it is critical that a document such as this exist so that development can be eased. Central RX Module To GUI Definition Defining the data that can be relayed from the central receiver module to the GUI was done with the information below. 4

5 Page 5 Sig # Signal Name Signal Description Signal Length (bits) Signal Start Bit Signal Initial Value Raw Value Range Normalized Value Range - <signal_name> - <signal_size> <signal_of fset> <init_value > ID [0:3] 4 Byte Tire Module ID $ Right Front Tire $C1C2C3C4 -Right Rear Tire $ Left Front Tire $ Left Rear Tire $ RKE Data - 4 Pressure Daytona Pressure Data $00 - $FF 0-640Kpa 5 Temperature Daytona Temperature Data 6 Status QF4 Status Data 8 64? 7 Threshold Current Pressure threshold 8 56? $00 - $FF minus C $01-$05 - LED 1-5 on $50 - Status OK $80 - Alarm Mode $40 - LVI Alarm 8 72? $00-$FF - - Sample Frame ID Pressure Temperature Status Threshold Byte Figure 2: Central Rx Module to GUI documentation The table defines not only the length and form of the data but also provides the range of acceptable values for this data and translates the data into the commands that it will represent. When creating the software that handles the communication between the central receiver module and the GUI this information can be referenced and sums up all the cases that must be handled by this software. Defining the data in this way greatly eases the software implementation. In this project communication between the hardware modules (LF, Central RX and Tire module) was defined in this way but communication between on board peripherals was not. This made the implementation of on board communication more difficult. This was recognized because in order to implement on board communications much more time was spent in creating the messages. In order to analyze how communication was implemented for this project we will take each of the above 8 steps that outline typical system operation and explain the implementation for each of these steps. In this explanation we will cover what software implementation was used, assembly or C code. And examine the data handling methods. SCI communication-central Receiver and GUI The first step in typical operation of the TPMS is Central RX Module to GUI communication. Using the messaging scheme defined for this communication the development was done using C code. This simplified the software 5

6 Page 6 implementation because transmit and receive data can be collected using arrays. Arrays offer an easy way to build a data frame and then transmit or receive using this data frame. Implementing arrays in C is quite easy. Defining an array is accomplished with the code shown below. char Receive_Data_array [2]; This defines an array that is 3 bytes in size. The Receive_Data_array is used by the SCI receive interrupt service routine to store the incoming bytes from the GUI. The below routine shows the usefulness of arrays when receiving strings of data. interrupt void SCIR_ISR(void) while(scs1_scrf ==0); Receive_Data = SCDR; if(count > 0) Receive_Data_array[count++] = Receive_Data; if (count == 0) if (Receive_Data == (0xAA 0x55)) Receive_Data_array[count++] = Receive_Data; if(count > 3) count = 0; The routine is called each time a receive interrupt occurs. The count variable is used to count the bytes as they are received and to index the array so that the incoming data is stored in the proper locations. As shown in the ISR the data is parsed by looking at the first byte that is received to see if it matches the defined command structure. If it does not match, the incoming data is not stored in the receive data array. This code snippet is a good example of a typical SCI interrupt service routine. The receive data array is then used by the main program to direct the operation of the central receiver. This is shown below, a simple conditional is used to look at the second byte received in the Receive_Data_array and the transmit variables are set accordingly. if(receive_data_array[1]==0x01) Transmits are accomplished using the variable data_array[7]. This creates a structure in memory that consist of 8 bytes: data_array[0] through data_array[7] that can be accessed using the data_array pointer. This is shown in the below routine that creates the data_array message frame with the message in preparation for a SCI transmit. void CreateFrame(void) //Create Frame data_array[0] = ID0; data_array[1] = ID1; data_array[2] = ID2; data_array[3] = ID3; data_array[4] = Pressure; data_array[5] = Temperature; data_array[6] = Status; data_array[7] = Threshold; 6

7 Page 7 This routine takes the defined variables for ID, Pressure Temperature, etc and places them into their proper locations in the data array. Doing this prepares the data_array so that a simple transmit routine using the indexing of the array will transmit SCI data. The below transmit routine shows how the proper message frame is sent out using the data_array variable. void Transmit(void) char Tx_count = 0x0; while(tx_count!= 0x08) /* Is the transmitter empty? */ while(scs1_tc == 0); /* If no then error */ SCDR = data_array[tx_count++]; /* OK */ The temp variable Tx_count is used to index the array and ensures that all 8 bytes of the message are sent out the MCUs SCI. Arrays allow an easy way to mange and create data. Transmits are accomplished through simple routines as shown above. SPI communication MCU to Octal Serial Switch The next step in the process of this system is initiating an LF (Low Freq) transmit using a serial switch. This implementation of SPI is done using the GZ60 s SPI peripheral and is done in C code. The octal switch implements a very simple data scheme where a single byte of SPI data chooses which switch to enable. To sum it up, a single byte of SPI data is sent out by the MCU to the switch so that the proper output is set. Again using C code makes this an easy implementation. The Update_Switch routine below takes a byte of data, and outputs this data through the SPI. In the code below, a check is done to see if the switch should be toggled, if the switch data is the same as before the switch is turned off by sending a $00 to the high side driver. So to turn on and then turn off switch 1, the Update_Switch routine should be called with $01 in the Switch_Data variable. This makes the MCU send out a $01 then a $00 through the SPI. In the below snippet PTD0 is used as the Slave select signal to the octal switch. The SPI module s registers are written as shown below to accomplish the SPI transmit. //Send SPI Data to High side Switch void Update_Switch(unsigned char Switch_Data) char temp; temp = Switch_Data; PTD_PTD0 = 0; if (SPI_DATA == temp) temp =0; SPI_DATA = temp; SPDR = SPI_DATA; while(spscr_spte == 0); Long_Delay(15); PTD_PTD0 = 1; In order to facilitate the selection of switches, macros are made for each of the five switches as shown below. //High side switch macros 7

8 Page 8 #define Switch1 Update_Switch(0x01); #define Switch2 Update_Switch(0x02); #define Switch3 Update_Switch(0x04); #define Switch4 Update_Switch(0x08); #define Switch5 Update_Switch(0x10); With these macros an update of a switch is done witch a simple function call, Switch1; As shown above the SPI implementation is quite easy when using C code. SPI communication Temperature and Pressure Sensor and the Tire module s MCU The LF signal initiated by the central receiver module wakes the Tire module through a simple KBI interrupt. The LF circuit is a simple RF switch and does not follow any set protocol. The radio frequency signal triggers a circuit that drives a low signal to the tire module MCUs KBI pin. This in turn initiates a state in the tire module that leads to a temperature and pressure reading. To accomplish this reading software SPI communication between the sensor and the MCU is used. In this instance software SPI is done using GPIO, not a SPI peripheral. The MCU on the tire module does not have an on chip SPI. Also this code was done in assembly rather than C code, this leads to differences in this software implementation. The code below is the assembly code routine that generates a SPI message to the sensor. In software SPI routines GPIO are used to represent the clock and the data lines. For each bit of data that is output the GPIO that controls the clock and the data line must be set. As shown below this routine is CPU time intensive. When the MCU is outputting a byte to the SPI bus, it can not complete any other operations. SEND_BYTE: pshx bclr DCLK,PORTB ; Clock is initially low. mov #$08,BITCOUNT ; Initialize number of bits to be sent (1 byte). ldx DATABUFF ; DATABUFF contains the byte to be sent serially SEND_nextbit: ; to Daytona. sec ; Set the carry bit rolx ; Rotate x left and watch the Carry bit toggle. bcs ONE ; Send a '1' if Carry set else bcc ZERO ; send '0' just to be symetric. ONE: bset SDATA,PORTB ; SDATA = '1' bra TOGGLE_CLOCK ZERO: bclr SDATA,PORTB ; SDATA = '0' bra TOGGLE_CLOCK ; again to be symetric TOGGLE_CLOCK: bset DCLK,PORTB ; Shift SDATA state into DAR by toggling clock 8

9 Page 9 bclr DCLK,PORTB dec BITCOUNT ; Determine if there are more bits to be sent. bne SEND_nextbit ; Shift out next bit if we have more bits to send. pulx ; If all bits are sent, restore XR rts ; and return. of the UHF transmitter. This ensures that data is transmitted at the desired data rate. The data being transmitted follows the below frame definition that was created for this application. The byte to be transmitted is examined bit by bit, if it is a one the GPIO pin is set, if it is a zero, the GPIO pin is cleared. The software loops so that all bits are examined and the GPIO pin used as the clock is toggled at the correct time to clock the data out. The example above uses the rolx and the carry bit in the condition code register to make the decision on if the bit is a one or a zero. This routine is very straightforward but as stated above the drawback to a software SPI routine is that it is CPU time intensive. Again in this example the data that has to be sent to the sensor is not very complex, so there is no real messaging scheme where multiple bytes must be defined. It is a good example of implementing software SPI. SPI communication MCU to UHF transmitter Another implementation of SPI that is a bit more complex is the communication between the Tire modules MCU and the UHF transmitter. This interface is also a kind of software SPI, the data is sent serially through a GPIO pin to the UHF transmitter. The UHF transmitter provides a time base that is input to the MCU s timer module. This time base is provided by a clock pin 9

10 Page 10 Signal Name Signal Description Signal Length (bits) Signal Start Bit Signal Initial Value Raw Value Range Normalized Value Range Resolution (units/bit) <signal_name> - <signal_size> <signal_of <init_value fset> > Preamble0 Preamble Constant 8 0 $FB $FB - - Preamble1 Preamble Constant 8 8 $86 $ ID [0:3] 4 Byte Tire Module ID $ Right Front Tire $C1C2C3C4 -Right Rear Tire $ Left Front Tire $ Left Rear Tire $ Spare Tire - - Pressure Daytona Pressure Data $00 - $FF 0-640Kpa 2.5Kpa Temperature Daytona Temperature Data 8 56? $00 - $FF minus C 0.77*C Status QF4 Status Data 8 64? $50 - Status OK $80 - Alarm Mode - - $40 - LVI Alarm CRC Calculated CRC Code 8 72? $00-$FF - - Trash Trash Repeat of CRC 8 80? $00-$FF - - Sample Frame Preamble ID Pressure Temperature Status CRC Trash Byte Figure 3: Transmitter Data Definition Implementing a large message frame in assembly code is not as straight forward as using C code. In the assembly code example below indexed addressing is used to create the message frame. Make_preamble: ldhx #Preamble ; Constant sthx Tx_byte rts Make_device_ID: lda Device_ID sta Tx_byte+2 lda Device_ID+1 sta Tx_byte+3 lda Device_ID+2 sta Tx_byte+4 lda Device_ID+3 sta Tx_byte+5 rts As the example shows Tx_byte is indexed to get all of the critical information into the consecutive RAM locations. The above code snippets show how this is done for the preamble and the device ID. This is similar to the C code snippet that is shown in the above explanation of SCI communications (see Create_Frame routine). These two methods are accomplishing the same task of creating a message in a desired format. Transmitting the UHF message frame is done in much the same way as the Software SPI example above. The difference is that timing is tracked using the MCU s timer and the clock from the UHF transmitter. Each byte is examined bit by bit and a GPIO set accordingly. The change in data is controlled by a timer interrupt; this keeps track of timing 10

11 Page 11 and allows the 9600 baud data rate to be achieved. SPI Communication between the UHF Receiver and the Central Receiver Module MCU The next step in the process of this application is Receiving UHF Data and relaying it to the receiver module MCU. This is accomplished through software SPI. Though the Central Rx MCU contains a SPI peripheral this example is software instead of a hardware implementation. The communications between the UHF receiver and the MCU include MCU to receiver initialization and data transfer once a UHF reception occurs from the receiver to the MCU. In the init Routine the data transfer is accomplished with the code shown below. //Begin Software SPI Routine while( k!= 0x18) k++; //Sending 24 bits k is the bit counter if ((Send & 0x ) == 0x ) PTA_PTA2 = 1; else if ((Send & 0x ) == 0) PTA_PTA2 = 0; //Toggle Clock PTA_PTA3 = 1; //Use this time to shift the data Send = Send<<1; PTA_PTA3 = 0; Send is a predetermined value defined as all the init information that the UHF receiver needs. The value for this application is shown below. Send = 0x77B8C8; In this software SPI routine, Each bit is examined with a conditional then Send variable is shifted so the next bit can be checked. Using this method the number of iterations must be counted to make sure the entire message is transmitted. In this method the number of bytes is not tracked as in the assembly implementation. Receiving of SPI data is done by waiting for the receiver IC to toggle the Clock line. Once this is done the Input GPIO is checked and for every received bit a bit is set in a receive data array and then shifted. //Begin Software SPI Routine while (k!= 0x20) k++; while( PTA_PTA3!= 1); //Wait for rising edge of CLK while( PTA_PTA3!= 0); //wait for falling edge of CLK if (PTA_PTA2 ==1) //Shift in a 1 to recieve data array Recieve = Recieve<<1; Recieve = Recieve 0x ; else if (PTA_PTA2 ==0) //Shift in a 0 to the recieve data array Recieve = Recieve<<1; 11

12 Page 12 Implementing software SPI in this way takes CPU time but has the advantage of using C code to parse the data. Conclusions Complex applications require complex messaging strategies. A systematic approach to interfacing the devices in a system is critical to having a short development time and the various methods outlined in this document should be helpful to a developer of consumer applications. 12

nc. SPI - Serial peripheral interface (usually pronounced spy). SPI is a standard protocol and a synchronous serial interface that includes a clock li

nc. SPI - Serial peripheral interface (usually pronounced spy). SPI is a standard protocol and a synchronous serial interface that includes a clock li nc. Application Note Rev 2, 05/2003 MPXY8000 Series Tire Pressure Monitoring Sensor by Ador Reodique The MPXY8000 Series Tire Pressure Monitoring Sensor Definitions The MPXY8000 Series sensor is a fully

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

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 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

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

AN1818. Motorola Semiconductor Application Note

AN1818. Motorola Semiconductor Application Note Order this document by /D Motorola Semiconductor Application Note Software SCI Routines with the 16-Bit Timer Module By Brad Bierschenk MMD Applications Engineering Austin, Texas Introduction Many applications

More information

VORAGO VA108x0 I 2 C programming application note

VORAGO VA108x0 I 2 C programming application note AN1208 VORAGO VA108x0 I 2 C programming application note MARCH 14, 2017 Version 1.1 VA10800/VA10820 Abstract There are hundreds of peripheral devices utilizing the I 2 C protocol. Most of these require

More information

AN1742. Programming the 68HC705J1A In-Circuit By Chris Falk CSG Product Engineering Austin, Texas. Introduction. Overview

AN1742. Programming the 68HC705J1A In-Circuit By Chris Falk CSG Product Engineering Austin, Texas. Introduction. Overview Order this document by /D Programming the 68HC705J1A In-Circuit By Chris Falk CSG Product Engineering Austin, Texas Introduction Overview This application note describes how a user can program the 68HC705J1A

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

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

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet HZX-51822-16N03 Bluetooth 4.0 Low Energy Module Datasheet SHEN ZHEN HUAZHIXIN TECHNOLOGY LTD 2017.7 NAME : Bluetooth 4.0 Low Energy Module MODEL NO. : HZX-51822-16N03 VERSION : V1.0 1.Revision History

More information

ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE Standard. DATA SHEET Version B

ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE Standard. DATA SHEET Version B ZMD400-A01 ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE 802.15.4 Standard DATA SHEET Version B Quan International Co., Ltd., ZMD400 Features Fully compliant 802.15.4 Standard

More information

Project Final Report Internet Ready Refrigerator Inventory Control System

Project Final Report Internet Ready Refrigerator Inventory Control System Project Final Report April 25, 2006 Dustin Graves, dgraves@gwu.edu Project Abstract Appliance vendors have started producing internet enabled refrigerators which allow users to keep track of refrigerator

More information

Remote Keyless Entry In a Body Controller Unit Application

Remote Keyless Entry In a Body Controller Unit Application 38 Petr Cholasta Remote Keyless Entry In a Body Controller Unit Application Many of us know this situation. When we leave the car, with a single click of a remote control we lock and secure it until we

More information

Add a Non-Volatile Clock to the MC68HC705J1A. Some applications of using the DS1307 are:

Add a Non-Volatile Clock to the MC68HC705J1A. Some applications of using the DS1307 are: Order this document by /D Add a Non-Volatile Clock to the MC68HC705J1A By Mark Glenewinkel Field Applications Engineering Consumer Systems Group Austin, Texas Introduction Many embedded systems require

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

MC68705P3 Bootstrap ROM

MC68705P3 Bootstrap ROM MC68705P3 Bootstrap ROM ;This is a listing of the Bootstrap ROM which resides in Motorola's MC68705P3 single chip ;micros. Its sole purpose is to program its own EPROM by copying the data from an external

More information

QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS

QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS FATIMA MICHAEL COLLEGE OF ENGINEERING & TECHNOLOGY Senkottai Village, Madurai Sivagangai Main Road, Madurai -625 020 QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS UNIT 1 - THE 8085 AND 8086

More information

Freescale Semiconductor, I

Freescale Semiconductor, I nc. 11/2003 I 2 C Slave on the HC908QT/QY Family MCU By Stanislav Arendarik Freescale Czech System Application Laboratory Roznov pod Radhostem, Czech Republic Introduction I 2 C Overview The I 2 C (inter-integrated

More information

Unlocking the Potential of Your Microcontroller

Unlocking the Potential of Your Microcontroller Unlocking the Potential of Your Microcontroller Ethan Wu Storming Robots, Branchburg NJ, USA Abstract. Many useful hardware features of advanced microcontrollers are often not utilized to their fullest

More information

Freescale Variable Key Security Protocol Receiver User s Guide Ioseph Martínez and Christian Michel Applications Engineering - RTAC Americas

Freescale Variable Key Security Protocol Receiver User s Guide Ioseph Martínez and Christian Michel Applications Engineering - RTAC Americas Freescale Semiconductor User s Guide Document Number: VKSPRXUG Rev. 0, 06/2008 Freescale Variable Key Security Protocol Receiver User s Guide by: Ioseph Martínez and Christian Michel Applications Engineering

More information

AN-HK-32. In-Circuit Programming of FLASH Memory in the MC68HC908GP32. nc... Freescale Semiconductor, I. PART 1 Introduction

AN-HK-32. In-Circuit Programming of FLASH Memory in the MC68HC908GP32. nc... Freescale Semiconductor, I. PART 1 Introduction Order this document by AN-HK-32/H Rev. 2.0 AN-HK-32 In-Circuit Programming of FLASH Memory in the MC68HC908GP32 By T.C. Lun Applications Engineering Microcontroller Division Hong Kong PART 1 Introduction

More information

Using IIC to Read ADC Values on MC9S08QG8

Using IIC to Read ADC Values on MC9S08QG8 Freescale Semiconductor Application Note AN3048 Rev. 1.00, 11/2005 Using IIC to Read ADC Values on MC9S08QG8 by Donnie Garcia Application Engineering Microcontroller Division 1 Introduction The MC9S08QG8

More information

Emulating I2C Bus Master by using FlexIO

Emulating I2C Bus Master by using FlexIO Freescale Semiconductor, Inc. Document Number: AN5133 Application Notes Rev. 0, 06/2015 Emulating I2C Bus Master by using FlexIO 1. Introduction This application note lists the steps to use the FlexIO

More information

Freescale Semiconductor, I

Freescale Semiconductor, I nc. Application Note Rev. 0, 4/2004 Software Drivers for Tango3 RF Transmitter and Romeo2 RF Receiver ICs By John Logan 8/16-Bit Division East Kilbride, Scotland Introduction This application note describes

More information

Using UART in radio data transmission with the CDP-02 module By Tomihiko Uchikawa

Using UART in radio data transmission with the CDP-02 module By Tomihiko Uchikawa Using UART in radio data transmission with the CDP-02 module By Tomihiko Uchikawa Abstract: The first time a customer uses the CDP-TX-02N/RX-02N (called CDP-02 module) radio module, they are often uncertain

More information

Measuring Interrupt Latency

Measuring Interrupt Latency NXP Semiconductors Document Number: AN12078 Application Note Rev. 0, 10/2017 Measuring Interrupt Latency 1. Introduction The term interrupt latency refers to the delay between the start of an Interrupt

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

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

EE 308 Spring A software delay

EE 308 Spring A software delay A software delay To enter a software delay, put in a nested loop, just like in assembly. Write a function delay(num) which will delay for num milliseconds void delay(unsigned int num) volatile unsigned

More information

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc)

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc) Software Development & Education Center Embedded Systems (Design & Development with Various µc) Module 1: Embedded C Programming INTRODUCTION TO EMBEDDED SYSTEM History & need of Embedded System Basic

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

Basics of UART Communication

Basics of UART Communication Basics of UART Communication From: Circuit Basics UART stands for Universal Asynchronous Receiver/Transmitter. It s not a communication protocol like SPI and I2C, but a physical circuit in a microcontroller,

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

MC68705U3 Bootstrap ROM

MC68705U3 Bootstrap ROM MC68705U3 Bootstrap ROM ;This is a listing of the Bootstrap ROM which resides in Motorola's MC68705U3 single chip ;micros. Its sole purpose is to program its own EPROM by copying the data from an external

More information

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang, Network Embedded Systems Sensor Networks Fall 2013 Hardware Marcus Chang, mchang@cs.jhu.edu 1 Embedded Systems Designed to do one or a few dedicated and/or specific functions Embedded as part of a complete

More information

Freescale s Next Generation 8-bit LCD Solutions

Freescale s Next Generation 8-bit LCD Solutions Freescale s Next Generation 8-bit LCD Solutions When most consumers think of LCD, they probably envision a flat panel television or computer monitor. However, there are millions more LCDs out there that

More information

Concepts of Serial Communication

Concepts of Serial Communication Section 6. Serial Communication Communication Using Serial Interfaces: UART and SPI Concepts of Serial Communication Limitations of Parallel Bus Clock skew becomes a serious issue for high speed and long

More information

1.3inch OLED User Manual

1.3inch OLED User Manual 1.3inch OLED User Manual 1. Key Parameters Table 1: Key Parameters Driver Chip SH1106 Interface 3-wire SPI 4-wire SPI I2C Resolution 128*64 Display Size 1.3 inch Dimension 29mm*33mm Colors Yellow, Blue

More information

Implementation of MCU Invariant I2C Slave Driver Using Bit Banging

Implementation of MCU Invariant I2C Slave Driver Using Bit Banging Implementation of MCU Invariant I2C Slave Driver Using Bit Banging Arindam Halder, Ranjan Dasgupta Innovation Lab, TATA Consultancy Services, Ltd. Kolkata, India arindam.halder@tcs.com,ranjan.dasgupta@tcs.com

More information

AN1745. Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas. Introduction

AN1745. Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas. Introduction Order this document by /D Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas Introduction More and more applications are requiring liquid crystal displays

More information

AN-HK-33. In-Circuit Programming of FLASH Memory in the MC68HC908JL3. Roger Fan Applications Engineering Microcontroller Division Hong Kong

AN-HK-33. In-Circuit Programming of FLASH Memory in the MC68HC908JL3. Roger Fan Applications Engineering Microcontroller Division Hong Kong Order this document by AN-HK-33/H Rev. 1 AN-HK-33 In-Circuit Programming of FLASH Memory in the MC68HC908JL3 By Roger Fan Applications Engineering Microcontroller Division Hong Kong This application note

More information

Developing Reusable Device Drivers for MCU's

Developing Reusable Device Drivers for MCU's Embedded Systems Conference East 2012 Page 1 of 20 Developing Reusable Device Drivers for MCU's By Jacob Beningo www.beningo.com http://www.linkedin.com/in/jacobbeningo twitter : Jacob_Beningo EDN Blog

More information

RF4431 wireless transceiver module

RF4431 wireless transceiver module RF4431 wireless transceiver module 1. Description RF4431 adopts Silicon Labs Si4431 RF chip, which is a highly integrated wireless ISM band transceiver chip. Extremely high receive sensitivity (-121 dbm)

More information

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software! Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer

More information

Inter-Integrated Circuit Bus IIC I2C TWI

Inter-Integrated Circuit Bus IIC I2C TWI Inter-Integrated Circuit Bus IIC TWI Bus Synchronous, multi-master, multi-slave, packet switched, single ended serial bus Developed by Philips in the early 1980 s (prior to SPI) Intended for on-board communications

More information

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their S08 Highlighted Features Why Do I Need a Slave LIN Interface Controller (SLIC)? Design Challenges Slave synchronization Slave synchronizing to LIN messaging requires a cost versus resource trade-off. Your

More information

Emulating Dual SPI Using FlexIO

Emulating Dual SPI Using FlexIO Freescale Semiconductor, Inc. Document Number: AN5242 Application Note Rev. 0, 01/2016 Emulating Dual SPI Using FlexIO 1. Introduction This application note discusses one example of how to use FlexIO module

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

Real Time Embedded Systems. Lecture 10 January 31, 2012 Interrupts

Real Time Embedded Systems.  Lecture 10 January 31, 2012 Interrupts Interrupts Real Time Embedded Systems www.atomicrhubarb.com/embedded Lecture 10 January 31, 2012 Interrupts Section Topic Where in the books Catsoulis chapter 1 (pg 10-12) Simon chapter4 Zilog UM197 (ZNEO

More information

Serial Communication

Serial Communication Serial Communication What is serial communication? Basic Serial port operation. Classification of serial communication. (UART,SPI,I2C) Serial port module in PIC16F887 IR Remote Controller Prepared By-

More information

Ryerson University Department of Electrical and Computer Engineering ELE 538 Microprocessor Systems Final Examination December 8, 2003

Ryerson University Department of Electrical and Computer Engineering ELE 538 Microprocessor Systems Final Examination December 8, 2003 Ryerson University Department of Electrical and Computer Engineering ELE 538 Microprocessor Systems Final Examination December 8, 23 Name: Student Number: Time limit: 3 hours Section: Examiners: K Clowes,

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

EC 6504 MICROPROCESSOR AND MICROCONTROLLER

EC 6504 MICROPROCESSOR AND MICROCONTROLLER DEPARTMENTOFELECTRONICS&COMMUNICATIONENGINEERING EC 6504 MICROPROCESSOR AND MICROCONTROLLER UNIT I THE 8086 MICROPROCESSOR PARTA 1. What is microprocessor? What is the difference between a MP and CPU?

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

AN Sleep programming for NXP bridge ICs. Document information

AN Sleep programming for NXP bridge ICs. Document information Rev. 01 5 January 2007 Application note Document information Info Keywords Abstract Content SC16IS750, Bridge IC, Sleep programming The sleep programming of NXP Bridge ICs such as SC16IS750 (I 2 C-bus/SPI

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

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

538 Lecture Notes Week 5

538 Lecture Notes Week 5 538 Lecture Notes Week 5 (Sept. 30, 2013) 1/15 538 Lecture Notes Week 5 Answers to last week's questions 1. With the diagram shown for a port (single bit), what happens if the Direction Register is read?

More information

Go Gators! Relax! May the Schwartz be with you!

Go Gators! Relax! May the Schwartz be with you! Page 1/12 Exam 1 Instructions: Turn off cell phones beepers and other noise making devices. Show all work on the front of the test papers. If you need more room make a clearly indicated note on the front

More information

instruction 1 Fri Oct 13 13:05:

instruction 1 Fri Oct 13 13:05: instruction Fri Oct :0:0. Introduction SECTION INSTRUCTION SET This section describes the aressing modes and instruction types.. Aressing Modes The CPU uses eight aressing modes for flexibility in accessing

More information

Lecture 1. Course Overview and The 8051 Architecture

Lecture 1. Course Overview and The 8051 Architecture Lecture 1 Course Overview and The 8051 Architecture MCUniversity Program Lectures 8051 architecture t System overview of C8051F020 8051 instruction set System clock, crossbar and GPIO Assembler directives

More information

Hello, and welcome to this presentation of the STM32 I²C interface. It covers the main features of this communication interface, which is widely used

Hello, and welcome to this presentation of the STM32 I²C interface. It covers the main features of this communication interface, which is widely used Hello, and welcome to this presentation of the STM32 I²C interface. It covers the main features of this communication interface, which is widely used to connect devices such as microcontrollers, sensors,

More information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,

More information

AN2093. Motorola Semiconductor Application Note. Creating Efficient C Code for the MC68HC08. Freescale Semiconductor, I.

AN2093. Motorola Semiconductor Application Note. Creating Efficient C Code for the MC68HC08. Freescale Semiconductor, I. nc. Motorola Semiconductor Application Note Order this document by /D Creating Efficient C Code for the MC68HC08 by Stuart Robb East Kilbride, Scotland 1 Introduction The C programming language is a powerful,

More information

A B C D E F 0480 FE B F5 3B FC F3 E 1A 1D 2A 2D 3A 3D 4A 4D 5A 5D 6A 6D 7A 7D

A B C D E F 0480 FE B F5 3B FC F3 E 1A 1D 2A 2D 3A 3D 4A 4D 5A 5D 6A 6D 7A 7D What's on the 9S12 bus as it executes a program The 9S12 Serial Communications Interface 9S12 Serial Communications Interface (SCI) Block Guide V02.05 Huang, Sections 9.2-9.6 Consider a 9S12 executing

More information

Typical modules include interfaces to ARINC-429, ARINC-561, ARINC-629 and RS-422. Each module supports up to 8 Rx or 8Tx channels.

Typical modules include interfaces to ARINC-429, ARINC-561, ARINC-629 and RS-422. Each module supports up to 8 Rx or 8Tx channels. Modular PCI Range of Cards Summary features Modular Architecture Interface compatible with PCI Local bus Specification, revision 2.1, June 1995 2 or 4 Module General Purpose Carrier Cards 8 Channels per

More information

PRU Hardware Overview. Building Blocks for PRU Development: Module 1

PRU Hardware Overview. Building Blocks for PRU Development: Module 1 PRU Hardware Overview Building Blocks for PRU Development: Module 1 Agenda SoC Architecture PRU Submodules Example Applications 2 SoC Architecture Building Blocks for PRU Development: PRU Hardware Overview

More information

MC68HC12 Parallel I/O

MC68HC12 Parallel I/O EEL 4744C: Microprocessor Applications Lecture 6 Part 2 MC68HC12 Parallel I/O Dr. Tao Li 1 Software and Hardware Engineering (new version): Chapter 11 Or SHE (old version): Chapter 7 And Reading Assignment

More information

I2C TM Slave Library Module (Interrupt-driven)

I2C TM Slave Library Module (Interrupt-driven) I2C TM Slave Library Module (Interrupt-driven) 1. Introduction... 2 2. Module Features...2 3. List of Component Modules... 3 4. Using the Library Module in a Project... 3 5. List of Shared Parameters...

More information

MARSLIFE Technical Report #3

MARSLIFE Technical Report #3 MARSLIFE Technical Report #3 The SMITH Control System and Control Software B. Broekhoven 1 1. Introduction The Sampling Microbes In The High atmosphere (SMITH) pump control subsystem provides control and

More information

Homework 9: Software Design Considerations

Homework 9: Software Design Considerations Homework 9: Software Design Considerations Team Code Name: Mind Readers Group No. 2 Team Member Completing This Homework: Richard Schuman E-mail Address of Team Member: _rschuman_ @ purdue.edu Evaluation:

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

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

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

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems PD215 Mechatronics Week 3/4 Interfacing Hardware and Communication Systems Interfacing with the physical world A compute device (microprocessor) in mechatronic system needs to accept input information

More information

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture)

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture) COSC 243 Instruction Sets And Addressing Modes 1 Overview This Lecture Source Chapters 12 & 13 (10 th editition) Textbook uses x86 and ARM (we use 6502) Next 2 Lectures Assembly language programming 2

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

Booting and Simple Usage of the DSP56004/007/009 SHI Port in SPI Mode

Booting and Simple Usage of the DSP56004/007/009 SHI Port in SPI Mode Booting and Simple Usage of the DSP56004/007/009 SHI Port in SPI Mode by Tom Zudock Motorola, Incorporated Semiconductor Products Sector 6501 William Cannon Drive West Austin, TX 78735-8598 OnCE and Mfax

More information

ECE3120: Computer Systems Hardware & Software Development Tools

ECE3120: Computer Systems Hardware & Software Development Tools ECE3120: Computer Systems Hardware & Software Development Tools Manjeera Jeedigunta http://blogs.cae.tntech.edu/msjeedigun21 Email: msjeedigun21@tntech.edu Tel: 931-372-6181, Prescott Hall 120 The HCS12

More information

Programming the Motorola MC68HC11 Microcontroller

Programming the Motorola MC68HC11 Microcontroller Programming the Motorola MC68HC11 Microcontroller COMMON PROGRAM INSTRUCTIONS WITH EXAMPLES aba Add register B to register A Similar commands are abx aby aba add the value in register B to the value in

More information

real-time kernel documentation

real-time kernel documentation version 1.1 real-time kernel documentation Introduction This document explains the inner workings of the Helium real-time kernel. It is not meant to be a user s guide. Instead, this document explains overall

More information

538 Lecture Notes Week 5

538 Lecture Notes Week 5 538 Lecture Notes Week 5 (October 4, 2017) 1/18 538 Lecture Notes Week 5 Announements Midterm: Tuesday, October 25 Answers to last week's questions 1. With the diagram shown for a port (single bit), what

More information

RFIC TX/RX Configuration

RFIC TX/RX Configuration RFIC TX/RX Configuration RFIC TX/RX Configuration 01/19/17 1 of 10 www.murata.com RXC101 Configuration When the RXC101 is configured in microcontroller mode, data can be received in three ways; directly

More information

MC68HC908GR16 Data Sheet

MC68HC908GR16 Data Sheet MC68HC908GR16 Data Sheet M68HC08 Microcontrollers MC68HC908GR16 Rev. 5.0 0/2007 freescale.com MC68HC908GR16 Data Sheet To provide the most up-to-date information, the revision of our documents on the

More information

Cross Assembly and Program Development

Cross Assembly and Program Development Cross Assembly and ENGG4640/3640; Fall 2004; Prepared by Radu Muresan 1 Introduction Text Editor Program Ex. DOS, Notepad, Word saved as ASCII Source Code Assembler or Cross-Assembler Object Code Machine

More information

Microcontroller basics

Microcontroller basics FYS3240 PC-based instrumentation and microcontrollers Microcontroller basics Spring 2017 Lecture #4 Bekkeng, 30.01.2017 Lab: AVR Studio Microcontrollers can be programmed using Assembly or C language In

More information

Romeo2 Monitor for the MC68HC908GZ60 MCU

Romeo2 Monitor for the MC68HC908GZ60 MCU Freescale Semiconductor Application Note AN2778 Rev. 0, 7/2005 Romeo2 Monitor for the MC68HC908GZ60 MCU by: John Logan 8/16-bit Division East Kilbride Introduction This application note describes how to

More information

Emulating I2S bus on KE06

Emulating I2S bus on KE06 NXP Semiconductors Document Number: AN5325 Application Notes Rev. 0, 08/2016 Emulating I2S bus on KE06 1. Introduction This application note shows how to use a typical SPI interface and proper timer to

More information

Global GPS NMEA over I²C Software Guide V 1.2

Global GPS NMEA over I²C Software Guide V 1.2 Global GPS NMEA over I²C Software Guide V 1.2 Steve Chen 1 Version History History Date Rev. Author Description 2014/10/01 1.0 Stanly Lin First Release 2015/07/23 1.1 Steve Chen Modify 1.slave address

More information

AN-1435 APPLICATION NOTE

AN-1435 APPLICATION NOTE APPLICATION NOTE One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com Implementing UART Using the ADuCM3027/ADuCM3029 Serial Ports INTRODUCTION

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-391 Technical notes on using Analog Devices products and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors or e-mail

More information

Microprocessors/Microcontrollers

Microprocessors/Microcontrollers Microprocessors/Microcontrollers A central processing unit (CPU) fabricated on one or more chips, containing the basic arithmetic, logic, and control elements of a computer that are required for processing

More information

AN Multifunction Serial Interface of FM MCU. Contents. 1 Introduction

AN Multifunction Serial Interface of FM MCU. Contents. 1 Introduction AN99218 Author: Edison Zhang Associated Part Family: FM0+, FM3, FM4 Associated Code Examples: None Related Application Notes: None AN99218 explains the various modes of the multifunction serial (MFS) interface.

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

or between microcontrollers)

or between microcontrollers) : Communication Interfaces in Embedded Systems (e.g., to interface with sensors and actuators or between microcontrollers) Spring 2016 : Communication Interfaces in Embedded Systems Spring (e.g., 2016

More information

Application Note. Interfacing the CS5521/22/23/24/28 to the 68HC05. Figure 1. 3-Wire and 4-Wire Interfaces

Application Note. Interfacing the CS5521/22/23/24/28 to the 68HC05. Figure 1. 3-Wire and 4-Wire Interfaces Application Note Interfacing the CS5521/22/23/24/28 to the 68HC05 TABLE OF CONTENTS 1. INTRODUCTION... 1 2. ADC DIGITAL INTERFACE... 1 3. SOFTWARE DESCRIPTION... 2 3.1 Initialize... 2 3.2 Write Channel

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

University of Florida EEL 4744 Fall 1998 Dr. Eric M. Schwartz

University of Florida EEL 4744 Fall 1998 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering 15 October 199 Professor in ECE 31-Dec-9 12:22 PM Page 1/ Instructions: Show all work on the front of the test papers. If you need more room, make a clearly

More information

Emulating an asynchronous serial interface (ASC0) via software routines

Emulating an asynchronous serial interface (ASC0) via software routines Microcontrollers ApNote AP165001 or æ additional file AP165001.EXE available Emulating an asynchronous serial interface (ASC0) via software routines Abstract: The solution presented in this paper and in

More information