| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Microchip MiWiP2P Wireless Protocol Author: Yifeng Yang Microchip
Top Searches for this datasheetAN1204 Microchip MiWiP2P Wireless Protocol Author: Yifeng Yang Microchip Technology Inc. Protocol Overview MiWi protocol modifies IEEE 802.15.4 specification's Media Access Control (MAC) layer adding commands that simplify handshaking process. simplifies link disconnection channel hopping providing supplementary commands. However, application-specific decisions, such when perform energy detect scan when jump channels, defined protocol. Those issues left application developer. INTRODUCTION demand growing more more applications move wireless communication. benefits reduced costs ease implementation. Wireless communication does require cabling other hardware, associated installation costs. also implemented locations where cabling would hard, impossible, install. Since IEEE released Wireless Personal Area Network (WPAN) specification (IEEE 802.15.4TM) 2003, become facto industry standard low-rate WPANs (LR-WPAN). specification applies data rate applications with low-power low-cost requirements. Microchip MiWiP2P Wireless Protocol variation IEEE 802.15.4, using Microchip's MRF24J40 transceiver Microchip 32-bit microcontroller with Serial Peripheral Interface (SPI). protocol provides reliable direct wireless communication easy-to-use programming interface. rich feature that compiled stack meet wide range customer needs while minimizing stack footprint. This application note describes Microchip Wireless (MiWiTM) Peer-to-Peer (P2P) Protocol differences from IEEE 802.15.4. document details supported features implement them. Simple, application-level data structures programming interfaces also described. This application note assumes that readers know programming. strongly recommended that readers review IEEE 802.15.4 specification before starting this application note working with MiWi wireless protocol. Protocol Features MiWiP2P Wireless Protocol: Provides channels spectrum (using MRF24J40 transceiver) Operates Microchip PIC18, PIC24, dsPIC33 PIC32 platforms Supports Microchip C18, compilers Functions state machine (not RTOS-dependent) Supports sleeping device communication Enables Energy Detect (ED) scanning operate least-noisy channel Provides active scan detecting existing connections Supports security modes defined IEEE 802.15.4. Enables frequency agility (channel hopping) Protocol Considerations MiWi protocol variation IEEE 802.15.4 supports both peer-to-peer star topologies. routing mechanism, wireless communication coverage defined radio range. Guaranteed Time Slot (GTS) beacon networks supported, both sides communication cannot Sleep same time. application requires wireless routing instead communication; interoperability with other vendors' devices; standard-based solution, marketability, AN1066 "MiWiWireless Protocol Stack" AN965, "Microchip Stack ZigBeeProtocol". 2008 Microchip Technology Inc. DS01204A-page AN1204 IEEE 802.15.4SPECIFICATION MIWIP2P WIRELESS PROTOCOL After initial 2003 release IEEE specification, 2006 revision published clarify issues. Referred IEEE 802.15.4b 802.15.4-2006, revision added layer definitions sub-GHz spectrum modified security module. Most market's current products, however, original, IEEE 802.15.4a specification also called IEEE 802.15.4-2003 Revision Microchip MRF24J40 radio supports Revision specification. this document, references IEEE 802.15.4 will mean Revision specification. specification defines three layers, operating spectrum MHz, GHz. MRF24J40 radio operates GHz, Industrial, Scientific Medical (ISM) band freely available worldwide. That spectrum available channels maximum packet length bytes, including two-byte Cyclic Redundancy Check (CRC) value. total bandwidth IEEE 802.15.4, band theoretically, kbps. reality, reliable communication, bandwidth 20-30 kbps. Device Types MiWi protocol categorizes devices based their IEEE definitions their role making communication connections (see Table Table MiWi stack supports these device types. Layers MiWi stack uses only portion IEEE 802.15.4 specification's rich layers' definitions. TABLE IEEE 802.15.4DEVICE TYPES BASED FUNCTIONALITY Power Source Mains Battery Receiver Idle Configuration Data Reception Method Direct Poll from associated device Functional Type Full Function Device (FFD) Reduced Function Device (RFD) TABLE Role Type Personal Area Network (PAN) Coordinator Device IEEE 802.15.4DEVICE TYPES BASED ROLE Functional Type Role Description device starts first waits connection. device starts after coordinator started establish connection. DS01204A-page 2008 Microchip Technology Inc. AN1204 Supported Topologies IEEE 802.15.4 MiWi stack support topologies: Star Peer-to-Peer. functionality type, star topology's coordinator Full Function Device (FFD). device with radios time, Reduced Function Device (RFD) with radio when Idle. Regardless functional type, devices only talk coordinator. STAR TOPOLOGY typical star topology shown Figure From device role perspective, topology Personal Area Network (PAN) coordinator that initiates communications accepts connections from other devices. several devices that join communication. devices establish connections only with coordinator. FIGURE STAR TOPOLOGY Legend Coordinator Device Device PEER-TO-PEER (P2P) TOPOLOGY typical topology shown Figure From device role perspective, this topology also coordinator that starts communication devices. When joining network, however, devices have establish their connection with coordinator. functional types, coordinator devices FFDs RFDs. this topology, however, devices that FFDs have multiple connections. Each device RFDs, however, connect only cannot connect another RFD. FIGURE PEER-TO-PEER TOPOLOGY Legend Coordinator Device Device 2008 Microchip Technology Inc. DS01204A-page AN1204 Network Types IEEE 802.15.4 specification types networks: beacon non-beacon. beacon network, devices transmit data only during their assigned time slot. coordinator assigns time slots periodically sending superframe (beacon frame). devices supposed synchronize with beacon frame transmit data only during their assigned time slot. non-beacon network, device transmit data time, long energy level (noise) below predefined level. Beacon networks reduce devices' power consumption because devices have opportunity turn their radios periodically. Non-beacon networks increase power consumption devices because they must have their radios time. These networks reduce power consumption devices, however, because RFDs have perform frequent synchronizations. MiWi stack supports only non-beacon networks. Network Addressing IEEE 802.15.4 specification defines kinds addressing mechanisms: Extended Organizationally Unique Identifier (EUI) long address eight-byte address that unique each device, worldwide. upper three bytes purchased from IEEE company that releases product. lower five bytes assigned device manufacturer long each device's full unique. Short Address two-byte address that assigned device parent when joins network. short address must unique within network. MiWi stack supports only one-hop communication, transmits messages long address addressing. Short addressing used only when stack transmits broadcast message. This because there predefined broadcast long address defined IEEE 802.15.4 specification. DS01204A-page 2008 Microchip Technology Inc. AN1204 Message Format message format MiWi stack subset IEEE 802.15.4 specification's message format. Figure shows stack's packet format fields. FIGURE Bytes MIWIP2P WIRELESS PROTOCOL STACK PACKET FORMAT Frame Control Sequence Number Destination Destination Address Source Source Address Variable Load Frame Check Sequence Addressing Fields FRAME CONTROL Figure shows format two-byte frame control field. FIGURE Bits Frame Type FRAME CONTROL Security Enabled Frame Pending Acknowledgement Request Destination Address Mode (Reserved) Source Address Mode Intra (Reserved) three-bit frame type field defines type packet. values Data frame Acknowledgement Command frame stack, however, Acknowledgement frame used, since Acknowledgement packets handled hardware MRF24J40 radio. security enabled indicates current packet encrypted. encryption used, there will additional security header which will detailed later sections security feature. frame pending used only Acknowledgement packet handled MRF24J40 radio hardware. indicates additional packet will follow Acknowledgement after data request packet received from device. intra indicates message within current PAN. this `1', source field addressing fields will omitted. stack, this always `1', could enable inter-PAN communication. Resetting done application layer, necessary. Destination Address mode either: 16-Bit Short Address mode 64-Bit Long Address mode MiWi stack, Destination Address mode usually Long Address mode. Short Address mode used only broadcast message. broadcast messages, destination address field addressing fields will fixed 0xFFFF. Source Address mode MiWi stack only 64-Bit Long Address mode. 2008 Microchip Technology Inc. DS01204A-page AN1204 SEQUENCE NUMBER sequence number eight bits long. starts with random number increases each time data command packet been sent. number used Acknowledgement packet identify original packet. sequence number original packet Acknowledgement packet must same. Transmitting Receiving MiWi stack transmits receives packets according IEEE 802.15.4 specification, with exceptions. TRANSMITTING MESSAGES There ways transmit message: broadcast unicast. Broadcast packets have devices radio range their destination. IEEE 802.15.4 defines specific short address broadcast address, definition long address. result, broadcasting only situation when MiWi stack uses short address. There Acknowledgement broadcasting messages. Unicast transmissions have only destination long address destination address. MiWi stack requires Acknowledgement unicast messages. transmitting device least device that turns radio when Idle, transmitting device will save message wait sleeping device wake-up request message. This kind data transmitting called indirect messaging. sleeping device fails acquire indirect message, will expire discarded. Usually, indirect message time-out needs longer than pulling interval sleeping device. DESTINATION This identifier destination device. identifier known, required, broadcast identifier (0xFFFF) used. DESTINATION ADDRESS destination address either 64-bit long address 16-bit short address. destination address must consistent with Destination Address mode defined frame control field. 16-bit short address used, must broadcast address 0xFFFF. SOURCE source identifier identifier source device must match intra-PAN definition frame control field. source will exist packet only intra-PAN value `0'. current MiWi stack implementation, communication intra-PAN. result, packets have source field. However, stack reserves capability application layer transmit message inter-PAN. message needs transmit inter-PAN, source will used. RECEIVING MESSAGES MiWi stack, only messaged device will notified radio. messaged device turns radio when Idle, only receive message from device which connected. idling device with turned radio receive message, device must send data request command connection peer. Then, will acquire indirect message there one. SOURCE ADDRESS source address field fixed 64-bit extended address source device. DS01204A-page 2008 Microchip Technology Inc. AN1204 VARIATIONS HANDSHAKING MiWiP2P Wireless Protocol's major difference from IEEE 802.15.4 specification process handshaking. Under IEEE 802.15.4, device's first step after powering handshake with rest world. specification's handshaking process, shown Figure defined device seeking communicate sends beacon request. devices capable connecting other devices respond with beacon message. initiating device collects beacons. accommodate multiple responses, device waits until active scan request times out.) device decides which beacon establish handshake sends association request command. After predefined time, initiating device issues data request command association response from other side intended connection. device other side connection sends association response. beacon frames CSMA-CA detection before transmitting meet timing requirement active scan time-out. result, beacon frames discarded packet collision. MiWi protocol designed simplicity direct connections star communication topologies. Some IEEE 802.15.4 requirements obstruct that design: five-step handshaking process plus time-outs requires more complex stack. association process uses one-connection communication rather than multi-connection concept peer-to-peer topology preceding reasons, MiWi protocol uses own, two-step handshaking process. that process, shown Figure initiating device sends connection request command. device within radio range responds with connection response command that finalizes connection. FIGURE TYPICAL HANDSHAKING IEEE 802.15.4Beacon Request (Broadcast) Beacon This one-to-many process that establish multiple connections, where possible, establish Peer-to-Peer topology. Since this handshaking process uses layer command, CSMA-CA applied each transmission. This reduces likelihood packet collision. RFDs receive Connection Request command from several FFDs, connect only FFD. chooses FFD, from which receives first connection response, peer. FIGURE Device Accepting Connection Device Connect Device Connect Association Request Data Request Association Response HANDSHAKING PROCESS MIWIP2P WIRELESS PROTOCOL Connection Request (Broadcast) Connection Response Device Accepting Connection Handshaking complex process joining network. device join only single device parent, initial handshaking actually process choosing parent. Choosing parent requires: Listing possible parents. Choosing right parent. 2008 Microchip Technology Inc. DS01204A-page AN1204 Custom Commands MiWiP2P Wireless Protocol MiWi protocol extends IEEE 802.15.4 specification's functionality using custom commands removing connection between devices. protocol's custom commands listed Table TABLE Command Identifier CUSTOM COMMANDS MIWIP2P WIRELESS PROTOCOL Command Name Description Request establish connection. Usually broadcast seek connection after powering Alternately, unicast seek individual connection. Also used active scan functionality. (See "Active Scan" Page 13.) Removes connection with other device. Similar IEEE 802.15.4specification's data request command, request data from other connection local node radio turned off. Reserved previously sleeping device request other node send missed message (indirect messaging). Request change operating channel different channel. Usually used feature frequency agility. Response connection request. Also used active scan process. Response connection removal request. 0x81 Connection Request Connection Removal Request Data Request 0x82 0x83 0x84 0x91 0x92 Channel Hopping Connection Response Connection Removal Response CONNECTION REQUEST connection request (0x81) broadcasted establish connection with other devices after powering request also unicast specific device establish single connection. When transmitting device receives connection response (0x91) from other end, connection established. connection request custom command also start active scan which done determine what devices available neighborhood. When connection request command sent active scan purposes, capability information optional payload will attached. receiving device uses attachment, absence capability information, optional payload determine command request establish connection just active scan. MiWi stack enable disable device allow other devices establish connections. Once device disabled from making connections, connection request will discarded, except under following conditions: connection request coming from device with which receiving already established connection. connection request active scan. format connection request command frame shown Figure FIGURE Octets CONNECTION REQUEST COMMAND FORMAT 15/21 Command Identifier (0x81) (Optional) Capability Information Various (Optional) Optional payload identify node. required stack, useful applications. Header Operating Channel DS01204A-page 2008 Microchip Technology Inc. AN1204 operating channel used bypass effect subharmonics that come from another channel. will avoid false connections with devices that operate different channels. capability information byte, shown Figure formatted shown Figure FIGURE Bits CAPABILITY INFORMATION FORMAT Receiver when Idle Will Data Request Once Wake-up Need Time Synchronization (Reserved) Security Capable (Reserved) connection request's optional payload provided specific applications. device need additional information identify itself either unique identifier information about capabilities application. With optional payload, additional packets required introduce identify device after connection established. optional payload will used stack itself. CONNECTION REMOVAL REQUEST connection removal request (0x82) sent other connection remove connection. request's format shown Figure FIGURE Octets CONNECTION REMOVAL REQUEST FORMAT 15/21 Header: Send other connection communication Command Identifier (0x82) DATA REQUEST data request (0x83) command same IEEE 802.15.4 specification's data request (0x04) command. format shown Figure side connection node able Sleep when Idle, that node could receive message while Sleep, always active side connection must store message RAM. always active side delivers message when sleeping device wakes requests message. application involves such conditions, feature, ENABLE_INDIRECT_MESSAGE, needs activated. sleeping node must send data request command after wakes FIGURE Octets DATA REQUEST FORMAT Header: Unicast from extended source address extended destination address Command Identifier (0x83 0x04) 2008 Microchip Technology Inc. DS01204A-page AN1204 CHANNEL HOPPING channel hopping command (0x84) requests destination device change operating channel another one. command's format shown Figure This command usually sent frequency agility initiator, which decides when change channels which channel select. This command usually broadcasted notify devices, with their radios when Idle, switch channels. ensure that every device receives this message, frequency agility initiator will broadcast three times devices will rebroadcast this message. When channel hopping sequence carried FFDs channel, RFDs have perform resynchronization restore connection their respective peers. FIGURE Octets CHANNEL HOPPING FORMAT 15/21 Header: Broadcast unicast from Frequency Agility Starter Command Identifier (0x84) Current Operating Channel Destination Channel Jump CONNECTION RESPONSE connection response (0x91) command used respond connection request. command's format shown Figure connection response command used establish connection. Alternately, command used device responding active scan, identifying itself active neighborhood. connection request command that received capability information byte optional payload attached, requesting connection. capability information optional payload, any, would attached connection response. Once response received other connection, connection established. ends connection exchange packets. connection request command received have capability information byte optional payload, command active scan. connection response, therefore, would have capability information optional payload attached. case active scan connection request, connection would established after message exchange. FIGURE Octets CONNECTION RESPONSE FORMAT Status. 0x00 means successful. other values error codes. (Optional) Capability Information Various (Optional) Optional payload identify node. required stack, possibly useful applications. Header: Unicast from extended source Command Identifier address extended (0x91) destination address. format response's capability information shown Figure optional payload provided specific applications. format usage same optional payload attached connection request command (see Page CONNECTION REMOVAL RESPONSE connection removal response command (0x92) used respond connection removal request. notifies other connection that connection request been received early whether resulting connection been removed. command's format shown Figure FIGURE Octets CONNECTION REMOVAL RESPONSE FORMAT Command Identifier (0x92) Status. 0x00 means successful. other values error codes Header: Unicast from extended source address extended destination address DS01204A-page 2008 Microchip Technology Inc. AN1204 MIWIP2P WIRELESS PROTOCOL'S UNIQUE FEATURES MiWi protocol supports reduced functionality, point-to-point, direct connection rich features. features enabled disabled compiled stack, according needs wireless application. Microchip's ZENAsoftware application facilitate configuration stack generation header file. more information, "ZENAWireless Network Analyzer User's Guide" (DS51606). This section describes unique features MiWi protocol. They include: Small programming size Support Idle devices turn radio Indirect messaging Special security features Active scan finding existing PANs different channels Energy scan finding channel with least noise Frequency agility (channel hopping) decision when device into Sleep made specific application. Possible triggers could include: Length radio Idle time Receipt packet from connected FFD, requesting device Sleep conditions awakening device also decided specific application. Possible triggers include: external event, such button being pressed Expiration predefined timer While device sleeping, peer device need send message. message needs sent, additional feature must enabled peer device. peer device needs send message sleeping device, peer device must store message volatile memory until sleeping device wakes acquires message. Since message being delivered directly sleeping device, this process called indirect message. indirect message needs delivered, peer device sleeping node needs define "ENABLE_INDIRECT_MESSAGE" file, P2PDefs.h. file generated automatically ZENA tool created manually user. indirect messaging enabled, there must specified maximum number indirect messages that stored volatile memory. That message maximum depends free memory available peer device from number RFDs connected same parent FFD. maximum number indirect messages defined "INDIRECT_MESSAGE_SIZE" file, P2PDefs.h. file generated automatically ZENA software created manually user. indirect messaging, time-out period indirect messages also needs defined. timeout period defined device dead, indirect message would remain forever volatile memory. indirect message time-out period defined "INDIRCT_MESSAGE_TIMEOUT" file, P2PDefs.h, with seconds unit measurement. Broadcasting useful some applications, requires more effort peer devices. When peer device broadcast message RFD, "ENABLE_BROADCAST" must defined file, P2PDefs.h. Small Programming Size address many wireless applications' cost constraints, MiWi stack small possible. Enabling stack target smallest programming size reduce code size just over Kbytes. simple application could easily into microcontroller with only Kbytes programming memory. activate this feature, "TARGET_SMALL" must defined file, P2PDefs.h. file generated automatically ZENA software created manually experienced programmer. feature supports bidirectional communication between devices, communication between PANs disabled. security feature used, freshness check will disabled. (For more details about freshness check, "Security Features" Page 12.) Idle Devices Turning Radios those devices operating batteries, reducing power consumption essential. This done having devices turn their radios when they transmitting data. MiWi stack includes features putting radios into Sleep waking them activate this feature, "ENABLE_SLEEP" must defined file, P2PDefs.h. file generated automatically ZENA software created manually experienced user. 2008 Microchip Technology Inc. DS01204A-page AN1204 Security Features Wireless communication requires additional security considerations simple sniffer intercept message data encrypted. MiWi stack provides IEEE 802.15.4 specification's seven security modes variety security needs. modes categorized into three groups: AES-CTR mode Encrypts message with 16-byte security key. mode built-in message integrity frame freshness check, susceptible repeated attacks. AES-CBC-MAC modes Ensures integrity message with 4/8/16 bytes Message Integrity Code (MIC) attached each packet. This assures that packet, including header payload, been modified during transmission. payload, however, encrypted, message exposed. size determined particular mode, with larger MICs providing stronger protection. AES-CCM modes Combines previous security modes ensure both secrecy integrity message. specification's seven described Table security modes TABLE IEEE 802.15.4SECURITY MODES Security Mode Security Services Access Control Data Encryption Message Integrity Sequential Freshness (Bytes) Identifier Name AES-CTR AES-CCM-128 AES-CCM-64 AES-CCM-32 AES-CBC-MAC-128 AES-CBC-MAC-64 AES-CBC-MAC-32 activate security feature, "ENABLE_SECURITY" must defined file, P2PDefs.h. That file generated automatically ZENA tool manually produced. When security activated, additional elements must defined file, P2PDefs.h. Those elements 16-byte security key, sequence number security level. ZENA software assists with inputting these items writes them file. Alternately, expert user could manually define these elements. Besides encrypting decrypting data, security module checks freshness message using frame counter. value message's frame counter lower than value record, message will discarded. This feature prevent repeated attacks. When smaller programming size preferred, checking message's freshness disabled. This done defining field TARGET_SMALL file, P2PDefs.h. When security enabled, additional security header added before standard header. This header contains four-byte frame counter one-byte security sequence number. packet format, when security enabled, illustrated Figure FIGURE Bytes MIWIP2P WIRELESS PROTOCOL PACKET FORMAT WITH SECURITY Various 0/4/8/16 Frame Sequence Destination Destination Source Control Number Address Source Frame Encrypted Sequence Address Counter Payload Number Addressing Fields Security Header DS01204A-page 2008 Microchip Technology Inc. AN1204 Active Scan Active scan process acquiring information about local Personal Area Network (PAN). active scan determines: device's operating channel device's signal strength PAN's identifier code Active scan particularly useful there predefined channel local devices. maximum number PANs that active scan acquire defined, stack, ACTIVE_SCAN_RESULT_SIZE. scan duration channels scanned determined before active scan begins. scan duration defined IEEE 802.15.4 specification length time, measured symbols, calculated with formula shown Equation (One second equals 62,500 symbols.) When active scan broadcasts connection request command, expects device radio range answer with connection response command. active scan will determine only what PANs available neighborhood, many individual devices available connections. That because every device responds scan even those that will allow connections. activate active scan feature, "ENABLE_ACTIVE_SCAN" must defined file, P2PDefs.h. Energy Scan IEEE 802.15.4 specification defines channels spectrum, must operate one. best channel with least amount energy noise. Energy scan used scan available channels determine channel with least noise. scan duration channels scanned determined before energy scan performed. scan duration defined IEEE 802.15.4 specification length time, measured symbols, calculated with formula shown Equation "Active Scan" Page explanation measurement. After scan complete, channel identifier with least noise will returned. activate Energy Scan feature, "ENABLE_ENERGY_SCAN" must defined file, P2PDefs.h. EQUATION Scan Time Period (2ScanDuration Note: ScanDuration user-designated input parameter scan. interger from scan duration would result scan time period 61,500 symbols about second. scan duration about half second. scan channels defined bitmap with each channel number represented comparable number double word. Channel would b'0000 0000 0000 0000 0000 1000 0000 0000. Channels supported spectrum, would b'0000 0111 1111 1111 1111 1000 0000 0x07FFF800. 2008 Microchip Technology Inc. DS01204A-page AN1204 Frequency Agility Frequency agility enables MiWi move different channel operating conditions require. implementing this feature, affected devices fall into roles: Frequency agility initiators devices that decide whether channel hopping necessary which channel Frequency agility followers Devices that change another channel when directed IMPLEMENTING, ACTIVATING FEATURE When perform frequency agility operation decided application. MiWi stack, however, provides global variables help application make that decision. "CCAFailureTimes" Defines number continuous data transmission failures Carrier Sense Multiple Access with Collision Avoidance (CSMA-CA) failure. This condition usually means there excessive noise current channel. "AckFailureTimes" Defines number continuous data transmission failures Acknowledgement. large AckFailureTimes usually means there high noise level receiving end. Alternatively, means destination device available because malfunctioning hopped another channel. destination device changed channels, resynchronization operation necessary. activate frequency agility feature, "ENABLE_FREQUENCY_AGILITY" must defined file, P2PDefs.h. enable devices frequency agility initiators, "FREQUENCY_AGILITY_STARTER" must defined that file. FREQUENCY AGILITY INITIATORS Each have more devices frequency agility initiator; initiator must FFD. Each initiator must have energy scanning feature enabled. That because initiator must energy scan determine optimal channel hop. Then, initiator broadcasts channel hopping command other devices PAN. FREQUENCY AGILITY FOLLOWERS frequency agility follower device. makes channel doing following: Receiving channel hopping command from initiator Resynchronizing connection, data transmissions fail continuously device makes using resynchronization method reconnecting when communication fails. DS01204A-page 2008 Microchip Technology Inc. AN1204 APPLICATION PROGRAMMING INTERFACES (APIs) MiWiP2P Wireless Protocol stack provides application developers with easy-to-use APIs. Simple applications require less than lines code application layer. stack also gives flexibility supporting rich feature expanding application layer with additional calls. APIs listed alphabetized function name "List Application Programming Interfaces (APIs)" Page This list only gives each API's basic functional characteristics. This section gives more detailed information each API, grouping them following basic processes: Creating Peer-to-Peer Connection Receiving Packet. Transmitting Packet Doing Active Scan Doing Energy Scan Using Frequency Agility Simple Application Example gives code simple application. code establishes connection, receives packet transmits packet. Example displays portion MiWi programming interface. this document's following sections, this sample code will used demonstrate application layer uses stack interconnect with peer device. EXAMPLE SIMPLE APPLICATION void main(void) Initiazation();// Initialize hardware platform stack SetChannel(myChannel);// channel operate EnableNewConnection();// accept connection CreateNewConnection(2);// establish connection with another device while(1) ReceivedPacket() check packet been received LED_1 rxFrame.PayLoad[0] DiscardPacket(); else processing packet, setting according received packet discard packet ready receive next BYTE PressedButton ButtonPressed(); (PressedButton) check button pressed button been pressed FlushTx();// reset transmitting buffer for(i i++) WriteData(P2P[i]);// fill transmitting buffer UnicastConnection(0, FALSE, TRUE); unicast packet 2008 Microchip Technology Inc. DS01204A-page AN1204 Creating Peer-to-Peer Connection This section gives some details APIs that create peer-to-peer connections. Note: APIs listed, alphabetized function name, "List Application Programming Interfaces (APIs)" Page That list gives only basic functional elements. void DisableNewConnection(void) DisableNewConnection prevents stack from accepting connections responding connection request command. following cases, this setting will ignored, even connection disabled: connection request command actually active scan without peer information attached. connection response command without peer information attached will sent respond. connection request command coming from device that already connection with current device. This feature usually used when connection used re-establish connections after power-down. Example code lines demonstrate ways establish connection Passively accept connection Actively pursue connection accept connection, device: Waits connection request. Responds with connection response command. Sends connection request command look device with which connect. Receives responding connection response command finish connection. pursue connection, device: BYTE CreateNewConnection(BYTE RetryInterval)/BYTE CreateNewConnection(BYTE RetryInterval, DWORD ChannelMap) function call, CreateNewConnection, actively pursues connection. Before function, there need enable stack accept connections. function enables them automatically. When function call returns, status accepting connections will back previous state. This function call proceeds follows: connection request command sent with peer information attached. stack waits connection response command establish connection. When first connection made, function call returns index connection connection entry. function, Either way, after connection been established, information about device other connection will stored both devices' connection entries. Those entries represent existing connections used transmit packet peer device connection. (For details, "Transmitting Packet" Page 18.) APIs making peer-to-peer connections follow. void EnableNewConnection(void) function call, EnableNewConnection, allows stack accept connections responding connection request command with connection response. There formats CreateNewConnection. When energy scan feature activated, only parameter this function call interval seconds) send connection requests. When energy scan activated, there additional parameter, ChannelMap, that specifies channels scan find connection. double-word parameter ChannelMap uses bitmap specify channels scan. Each channel number represented comparable number double word. Channel would b'0000 1000 0000 0000. order scan channels band 26), ChannelMap should 0x07FFF800. DS01204A-page 2008 Microchip Technology Inc. AN1204 Receiving Packet This section gives details received packet API. Note: APIs listed, alphabetized function name, "List Application Programming Interfaces (APIs)" Page That list gives only basic functional elements. Boolean ReceivedPacket(void) function, ReceivedPacket, returns boolean expression indicating whether packet been received MiWi stack. function called, whole stack called internally before returning status which indicates whether packet been received. packet been received stack, return value ReceivedPacket TRUE. information regarding received packet will stored global variable rxFrame, variable structure RECEIVED_FRAME. definition structure, RECEIVED_FRAME, given Example Example code lines 10-14 demonstrate receive process packet. EXAMPLE RECEIVED_FRAME STRUCTURE typedef struct _RECEIVED_FRAME union _RECEIVED_FRAME_FLAG BYTE Val; struct _RECEIVED_FRAME_FLAG_BITS BYTE BYTE BYTE BYTE BYTE bits; flags; commandFrame security framePending intraPAN broadcast data: command: #ifndef TARGET_SMALL BYTE BYTE WORD_VAL #endif BYTE BYTE BYTE SourceLongAddress[8]; PayLoadSize; *PayLoad; PacketLQI; PacketRSSI; SourcePANID; RECEIVED_FRAME; This structure shows that virtually information regarding received packet been categorized stored. definition RECEIVED_FRAME shows that: parameters, PayLoadSize PayLoad, payload only. header included. stack configured minimum programming space, some parameters, such PacketLQI, PacketRSSI SourcePANID, available. 2008 Microchip Technology Inc. Under such conditions, signal quality strength inter-PAN communication capabilities supported. packet encrypted during transmission, information will already decrypted RECEIVED_PACKET structure. Whether packet encrypted originally found corresponding settings flags (flags.bits.security). DS01204A-page AN1204 packet handled after received specific application. After packet been processed before returned process stack, function, DiscardPacket, needs called. function removes current received packet prepares next packet. function, DiscardPacket, called, packet will occupy space packet cannot received. There three parameters function: Index record connection entries Boolean expression indicating packet command packet. previously discussed, MiWi stack supports only data command frame, defined frame control bytes header. (For more detail, "Message Format" Page IEEE 802.15.4 specification.) Boolean expression indicating encryption required packet. security feature must enabled encryption will performed. Transmitting Packet This section gives details APIs associated with transmitting packet. Note: APIs listed, alphabetized function name, "List Application Programming Interfaces (APIs)" Page That list gives only basic functional elements. BOOL UnicastLongAddress(WORD_VAL DestinationPANID, BYTE *DestinationAddress, BOOL isCommand, BOOL SecurityEnabled) message also unicast calling function, UnicastLongAddress. specifying long address identifier, stack determine destination. There four parameters this function: Destination identifier Destination long address Boolean expression indicating packet command packet Boolean expression indicating encryption required Example code lines 20-26 demonstrate method transmitting packet. When transmitting packet, header will handled stack. application layer only takes care payload. void FlushTx(void) function call, FlushTx, resets transmitting buffer prepares receive information transferred. void WriteData(BYTE data) function call, WriteData, will fill transmitter buffer byte time. there bytes transmitted packet, function will called times. Once transmitting buffer filled, packet ready transmitted. There three ways transmit packet: Unicast with index connections connection entries Unicast with long address Broadcast BOOL BroadcastPacket(WORD_VAL DestinationPANID, BOOL isCommand, BOOL SecurityEnabled) Unicast transmits packet single destination. When message needs sent devices radio range, broadcasting using function call, BroadcastPacket, used. There three parameters BroadcastPacket: function, BOOL UnicastConnection(BYTE ConnectionIndex, BOOL isCommand, BOOL SecurityEnabled) Example line uses method unicast with index connections through function, UnicastConnection. record connection entries contains information peer device connection stack uses send packet destination. Destination identifier broadcast targets PANs, application choose identifier, 0xFFFF, remove restriction inter-PAN communication. Boolean expression indicate packet command packet Boolean expression indicate encryption required DS01204A-page 2008 Microchip Technology Inc. AN1204 Doing Active Scan This section gives details Active Scan API. Note: APIs listed, alphabetized function name, "List Application Programming Interfaces (APIs)" Page That list gives only basic functional elements. Doing Energy Scan This section gives details Energy Scan API. Note: APIs listed, alphabetized function name, "List Application Programming Interfaces (APIs)" Page That list gives only basic functional elements. helpful know MiWi PANs operating area, what their identifiers are. This enables coordinator choose join, start with unique identifier. accomplish this, MiWi stack provides function call, ActiveScan. There available channels band. Since MiWi operate them, search channel with least noise. energy scan feature does this. call programming interface operate energy scan, energy scan feature must activated. BYTE ActiveScan(BYTE ScanDuration, DWORD ChannelMap) This function call available only active scan feature been activated. There ActiveScan: parameters function, BYTE OptimalChannel(BYTE ScanDuration, DWORD ChannelMap, BYTE *RSSIValue) function, parameters: OptimalChannel, needs three Duration scan performed each channel. scan duration defined IEEE 802.15.4 specification. details, "Active Scan" Page Channel specifying channels scanned. details channel setting, "Active Scan" Page ActiveScan function call returns total number PANs found. scan results stored global variable, ActiveScanResults, structure, ACTIVE_SCAN_RESULT. structure ACTIVE_SCAN_RESULT defined shown Example Duration scan each channel. definition scan duration follows IEEE 802.15.4 specification. more detail, "Energy Scan" Page Channel specifying channels scanned. details channel setting, "Energy Scan" Page RSSIValue output parameter that returns maximum energy reading optimal channel that returns. OptimalChannel returns channel that least amount noise during scan. EXAMPLE BYTE BYTE ACTIVE_SCAN_RESULT typedef struct _ACTIVE_SCAN_RESULT Channel; RSSIValue; PANID; WORD_VAL ACTIVE_SCAN_RESULT; shown, active scan result provides channel number, signal strength identifier PAN. maximum number PANs that acquired defined ACTIVE_SCAN_RESULT_SIZE stack. resources permit, application developers modify this setting. default value 2008 Microchip Technology Inc. DS01204A-page AN1204 Using Frequency Agility frequency agility feature makes MiWi stack compatible with wireless environment. Sometimes called channel hopping, this feature enables MiWi migrate across channels avoid varying noise levels band. Devices MiWi have frequency/ agility roles: starter follower. frequency agility starter starts channel hopping process calling function, InitChannelHopping. BOOL ResyncConnection (BYTE *DestinationAddress, DWORD ChannelMap) function, parameters: ResyncConnection, BOOL InitChannelHopping (DWORD ChannelMap) This function needs parameter: bitmap channels which move. details this setting, "Frequency Agility" Page InitChannelHopping will return boolean expression indicate operation successful. after checking other channels, current channel found have least amount noise, initialization process stopped value FALSE returned. channel changed, frequency/agility followers either channel receiving request from frequency agility starter resynchronizing their connection. resynchronize connection, frequency/agility followers call function, ResyncConnection. Destination address pointer long address device with which frequency/ agility followers will resynchronize. Usually, this address that node with which frequency agility follower lost connection. ChannelMap bitmap available channels. more information, "Frequency Agility" Page ResyncConnection will return boolean expression indicate operation successful. resynchronized connection tried unsuccessfully three times each channel, function call will return FALSE. DS01204A-page 2008 Microchip Technology Inc. AN1204 List Application Programming Interfaces (APIs) ActiveScan This function performs active scan find nearby MiWi PANs. Syntax BYTE ActiveScan(BYTE ScanDuration, DWORD ChannelMap) Inputs BYTE ScanDuration: time period energy scan each channel. DWORD ChannelMap: bitmap channels energy scan. Outputs BYTE number existing MiWi PANs. Notes scan result will stored global variable array, ActiveScanResults, with maximum result size ACTIVE_SCAN_RESULT_SIZE. BroadcastPacket This function broadcasts message devices with destination identifier radio range. Syntax BOOL BroadcastPacket(WORD_VAL DestinationPANID, BOOL isCommand, BOOL SecurityEnabled) Inputs WORD_VAL DestinationPANID: identifier destination devices. BOOL isCommand: boolean expression indicate transmitting packet command. BOOL SecurityEnabled: boolean expression indicate transmitting packet needs encryption. Outputs BOOL boolean expression indicate operation successful. Notes message payload already should have been filled before calling this function. CreateNewConnection This function actively pursues connection. Syntax BYTE CreateNewConnection(BYTE RetryInterval) BYTE CreateNewConnection(BYTE RetryInterval, DWORD ChannelMap) Inputs BYTE RetryInterval: time interval, seconds, between each attempt request connection. DWORD ChannelMap: bitmap channels tried establishing connection. This requires energy scan feature enabled. Outputs BYTE index connection connection entries. Notes There return only connection established. 2008 Microchip Technology Inc. DS01204A-page AN1204 DisableNewConnection This function disables stack accept connection. Syntax void DisableNewConnection(void) Inputs None Outputs None Notes After stack disabled accept connection, response sent request from device that already connected request active scan. DisableAcknowledgement This function disables stack request Acknowledgement each unicast packet. Syntax void DisableAcknowledgement(void) Inputs None Outputs None Notes None DiscardPacket This function notifies stack discard current received packet prepare receive next packet. Syntax void DiscardPacket(void) Inputs None Outputs None Notes this function called after processing current packet, stack will never able receive next packet. DS01204A-page 2008 Microchip Technology Inc. AN1204 DumpConnection This function prints information regarding connection(s) HyperTerminal. Syntax void DumpConnection(BYTE index) Inputs BYTE Index: index connection connection entries. (The value, 0xFF, represents connections.) Outputs None Notes This function usually used during development. EnableAcknowledgement This function enables stack request Acknowledgement each unicast packet. Syntax void EnableAcknowledgement(void) Inputs None Outputs None Notes None EnableNewConnection This function enables stack begin accepting connections. Syntax void EnableNewConnection(void) Inputs None Outputs None Notes None 2008 Microchip Technology Inc. DS01204A-page AN1204 FlushTx This function resets transmitting buffer. Syntax void FlushTx(void) Inputs None Outputs None Notes This function should called when applications starts, before filling transmitting buffer. InitChannelHopping function called frequency agility starter begin process frequency agility (channel hopping). Syntax BOOL InitChannelHopping( DWORD ChannelMap) Inputs DWORD ChannelMap: bitmap candidate channels that could Outputs BOOL boolean expression that indicates channel hopping request successful. Notes current operating channel least noise, channel hopping operation will performed return value will FALSE. MRF24J40Sleep This function puts MRF24J40 radio into Sleep mode. Syntax void MRF24J40Sleep(void) Inputs None Outputs None Notes None DS01204A-page 2008 Microchip Technology Inc. AN1204 MRF24J40Wake This function wakes MRF24J40 radio from Sleep mode. Syntax void MRF24J40Wake(void) Inputs None Outputs None Notes None OptimalChannel This function scans finds channel with least amount noise. Syntax BYTE OptimalChannel(BYTE ScanDuration, DWORD ChannelMap, BYTE *RSSIValue) Inputs BYTE ScanDuration: time period allotted energy scan each channel. DWORD ChannelMap: bitmap channels subject energy scan. Outputs BYTE RSSIValue: pointer energy level optimal channel. BYTE optimal channel with least noise. Notes None P2PInit This function initializes MiWi stack. Syntax void P2PInit(void) Inputs None Outputs None Notes None 2008 Microchip Technology Inc. DS01204A-page AN1204 ReceivedPacket This function calls MiWi stack checks packet been received. Syntax BOOL ReceivedPacket(void) Inputs None Outputs BOOL boolean expression that indicates packet been received MiWi stack. Notes None ResyncConnection Syntax BOOL ResyncConnection(BYTE *DestinationAddress, DWORD ChannelMap) Inputs BYTE DestinationAddress: pointer long destination address peer device connection resynchronized. DWORD ChannelMap: bitmap channels eligible resynchronization. Outputs BOOL boolean expression that indicates resynchronization operation successful. Notes None SetChannel This function sets device operate channels available band. Syntax void SetChannel(BYTE channel) Inputs BYTE Channel: channel currently used device. Outputs None Notes None DS01204A-page 2008 Microchip Technology Inc. AN1204 UnicastConnection This function unicasts message peer device connection connection entries field. Syntax BOOL UnicastConnection(BYTE ConnectionIndex, BOOL isCommand, BOOL SecurityEnabled) Inputs BYTE ConnectionIndex: index peer device connection entries field. BOOL isCommand: boolean expression that indicates packet command packet. BOOL SecurityEnabled: boolean expression that indicates packet needs encryption. Outputs BOOL return boolean expression indicating unicast operation successful. Notes None UnicastLongAddress This function unicasts message device with input long address. Syntax BOOL UnicastLongAddress(WORD_VAL DestinationPANID, BYTE *DestinationAddress, BOOL isCommand, BOOL SecurityEnabled) Inputs WORD_VAL DestinationPANID: identifier destination device. BYTE DestinationAddress: pointer 8-byte long address destination device. BOOL isCommand: boolean expression indicating packet command packet. BOOL SecurityEnabled: boolean expression that indicates packet needs encryption. Outputs BOOL Return boolean expression indicating this operation successful. Notes None WriteData This function writes byte data transmitting buffer. Syntax void WriteData(BYTE data) Inputs BYTE Data: data write transmitting buffer. Outputs None Notes This function should called only after FlushTx function. 2008 Microchip Technology Inc. DS01204A-page AN1204 APPLICATION FLOWCHART typical MiWi application starts initializing hardware MiWi stack. Then, tries establish connection enter normal operation mode receiving transmitting data. Figure gives typical flow MiWi applications. FIGURE FLOWCHART MIWIP2P WIRELESS PROTOCOL APPLICATIONS Hardware Stack Initialization Establish Connection(s) Received Packet? Need Send Packet? Process Packet Send Packet DS01204A-page 2008 Microchip Technology Inc. AN1204 After connection established, procedures most MiWi applications will same. variation different stack configurations takes place during establishment connections. simplest connection application establishing connections shown Figure FIGURE FLOWCHART ESTABLISH CONNECTION(S) SIMPLE MODE Predefined Channel Enable Stack Accept Connections Actively Pursue Connection 2008 Microchip Technology Inc. DS01204A-page AN1204 more complex applications that require active scan capability, steps establishing connections differ between coordinator devices. Figure shows active scan steps both categories devices. FIGURE FLOWCHART ESTABLISH CONNECTIONS WHEN ACTIVE SCAN ENABLED Coordinator Devices Active Scan Available Channels Active Scan Available Channels Choose Channel with Least with Weakest Signal Strength Channel Choose Channel that Fits Application's Needs Choose that hasn't been Used Selected Channel Enable Stack Accept Connection Enable Stack Accept Connection Actively Pursue Connection Actively Pursue Connection DS01204A-page 2008 Microchip Technology Inc. AN1204 applications with energy scan enabled, steps after connection also different coordinator devices (see Figure 18). FIGURE FLOWCHART ESTABLISH CONNECTIONS WHEN ENERGY SCAN ENABLED Coordinator Devices Energy Scan Optimal Channel Enable Stack Accept Connection Channel Actively Pursue Connection Scanning Available Channels Enable Stack Accept Connection Passively Pursue Connection 2008 Microchip Technology Inc. DS01204A-page AN1204 process establishing connections with both active scan energy scan enabled shown Figure FIGURE FLOWCHART ESTABLISH CONNECTIONS WITH ACTIVE ENERGY SCAN Coordinator Devices Energy Scan Optimal Channel Active Scan Available Channels Channel Choose Channel that Fits Application's Needs Active Scan Optimal Channel Selected Channel Choose Unused Enable Stack Accept Connection Enable Stack Accept Connection Actively Pursue Connection Passively Pursue Connection DS01204A-page 2008 Microchip Technology Inc. AN1204 SYSTEM RESOURCES REQUIREMENT MiWiP2P Wireless Protocol stack rich features. Enabling feature will increase system requirements microcontrollers. Table gives requirements basic configuration. TABLE PIC18 MEMORY REQUIREMENTS MIWIP2P WIRELESS PROTOCOL BASIC STACK Program Memory (Bytes) 3,336 (Bytes) Buffer Size Buffer Size Connection Size) Configuration Target Small Stack Size Additional MiWi features require more program memory RAM. Table lists system requirements features above basic configuration. TABLE PIC18 MEMORY REQUIREMENTS MIWIP2P WIRELESS PROTOCOL STACK FEATURES Configuration Additional Program Memory (Bytes) 1,488 1,070 1,228 Additional (Bytes) Indirect Message Size Buffer Size Indirect Message Size Buffer Size Enable Intra-PAN Communication Enable Sleep Enable Security (Without Frame Freshness Checking) Enable Security (With Frame Freshness Checking) Enable Active Scan Enable Energy Scan Enable Indirect Message Enable Indirect Message with Capability Broadcasting These requirements PIC18 family microcontrollers. stack also supports PIC24, dsPIC33 PIC32 microcontrollers, those devices' requirements vary. These requirements initial release stack subject change. 2008 Microchip Technology Inc. DS01204A-page AN1204 CONCLUSION wireless applications that require star peer-topeer topology, MiWiP2P Wireless Protocol good solution. stack provides benefits IEEE 802.15.4 specification with simple, robust, solution. application more complex, Microchip MiWiNet stack should considered. That stack provides support real network with 1,024 active nodes across many four hops. details this protocol, AN1066, "MiWiWireless Networking Protocol Stack" (DS1066). even more complex network interoperability, Microchip's implementation ZigBee protocol specification option. details this protocol, AN965, "Microchip Stack ZigBeeProtocol" (DS0965). REFERENCES Flowers Yang, AN1066, "MiWiWireless Networking Protocol Stack" (DS1066), Microchip Technology Inc., 2007. Flowers, Otten, Nilesh Rajbharti Yang, AN965, "Microchip Stack ZigBeeProtocol" (DS0965), Microchip Technology Inc., 2007. IEEE 802.15.4-2003TM, Wireless Medium Access Control (MAC) Physical Layer (PHY) Specifications Rate Wireless Personal Area Networks (WPANs), IEEE, 2006. DS01204A-page 2008 Microchip Technology Inc. Note following details code protection feature Microchip devices: Microchip products meet specification contained their particular Microchip Data Sheet. Microchip believes that family products most secure families kind market today, when used intended manner under normal conditions. There dishonest possibly illegal methods used breach code protection feature. these methods, knowledge, require using Microchip products manner outside operating specifications contained Microchip's Data Sheets. Most likely, person doing engaged theft intellectual property. Microchip willing work with customer concerned about integrity their code. Neither Microchip other semiconductor manufacturer guarantee security their code. Code protection does mean that guaranteeing product "unbreakable." Code protection constantly evolving. Microchip committed continuously improving code protection features products. Attempts break Microchip's code protection feature violation Digital Millennium Copyright Act. such acts allow unauthorized access your software other copyrighted work, have right relief under that Act. Information contained this publication regarding device applications like provided only your convenience superseded updates. your responsibility ensure that your application meets with your specifications. MICROCHIP MAKES REPRESENTATIONS WARRANTIES KIND WHETHER EXPRESS IMPLIED, WRITTEN ORAL, STATUTORY OTHERWISE, RELATED INFORMATION, INCLUDING LIMITED CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY FITNESS PURPOSE. Microchip disclaims liability arising from this information use. Microchip devices life support and/or safety applications entirely buyer's risk, buyer agrees defend, indemnify hold harmless Microchip from damages, claims, suits, expenses resulting from such use. licenses conveyed, implicitly otherwise, under Microchip intellectual property rights. Trademarks Microchip name logo, Microchip logo, Accuron, dsPIC, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, MATE, rfPIC SmartShunt registered trademarks Microchip Technology Incorporated U.S.A. other countries. FilterLab, Linear Active Thermistor, MXDEV, MXLAB, SEEVAL, SmartSensor Embedded Control Solutions Company registered trademarks Microchip Technology Incorporated U.S.A. Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mTouch, PICkit, PICDEM, PICDEM.net, PICtail, PIC32 logo, PowerCal, PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, Select Mode, Total Endurance, UNI/O, WiperLock ZENA trademarks Microchip Technology Incorporated U.S.A. other countries. SQTP service mark Microchip Technology Incorporated U.S.A. other trademarks mentioned herein property their respective companies. 2008, Microchip Technology Incorporated, Printed U.S.A., Rights Reserved. Printed recycled paper. Microchip received ISO/TS-16949:2002 certification worldwide headquarters, design wafer fabrication facilities Chandler Tempe, Arizona; Gresham, Oregon design centers California India. Company's quality system processes procedures PIC® MCUs dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory analog products. addition, Microchip's quality system design manufacture development systems 9001:2000 certified. 2008 Microchip Technology Inc. DS01204A-page WORLDWIDE SALES SERVICE AMERICAS Corporate Office 2355 West Chandler Blvd. Chandler, 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://support.microchip.com Address: www.microchip.com Atlanta Duluth, Tel: 678-957-9614 Fax: 678-957-1455 Boston Westborough, Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, Tel: 972-818-7423 Fax: 972-818-2924 Detroit Farmington Hills, Tel: 248-538-2250 Fax: 248-538-2260 Kokomo Kokomo, Tel: 765-864-8360 Fax: 765-864-8387 Angeles Mission Viejo, Tel: 949-462-9523 Fax: 949-462-9608 Santa Clara Santa Clara, Tel: 408-961-6444 Fax: 408-961-6445 Toronto Mississauga, Ontario, Canada Tel: 905-673-0699 Fax: 905-673-6509 ASIA/PACIFIC Asia Pacific Office Suites 3707-14, 37th Floor Tower Gateway Harbour City, Kowloon Hong Kong Tel: 852-2401-1200 Fax: 852-2401-3431 Australia Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 China Beijing Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 China Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 China Hong Kong Tel: 852-2401-1200 Fax: 852-2401-3431 China Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 China Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 China Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 China Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 China Shenzhen Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 China Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 China Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 China Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 China Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 ASIA/PACIFIC India Bangalore Tel: 91-80-4182-8400 Fax: 91-80-4182-8422 India Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 India Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 Japan Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122 Korea Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 Korea Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 82-2-558-5934 Malaysia Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 Malaysia Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 Philippines Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 Taiwan Hsin Tel: 886-3-572-9526 Fax: 886-3-572-6459 Taiwan Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803 Taiwan Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 Thailand Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 EUROPE Austria Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 France Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Italy Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Netherlands Drunen Tel: 31-416-690399 Fax: 31-416-690340 Spain Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820 01/02/08 DS01204A-page 2008 Microchip Technology Inc. Other recent searchesWP934SA - WP934SA WP934SA Datasheet W0507YH360 - W0507YH360 W0507YH360 Datasheet W0507YH450 - W0507YH450 W0507YH450 Datasheet TSM1014 - TSM1014 TSM1014 Datasheet EVL6566B-65W-QR - EVL6566B-65W-QR EVL6566B-65W-QR Datasheet EVL6566B-65W-QR - EVL6566B-65W-QR EVL6566B-65W-QR Datasheet TS1GJF168 - TS1GJF168 TS1GJF168 Datasheet ROS-745+ - ROS-745+ ROS-745+ Datasheet LM6264 - LM6264 LM6264 Datasheet LM6364 - LM6364 LM6364 Datasheet DMS-30PC - DMS-30PC DMS-30PC Datasheet DB874H83 - DB874H83 DB874H83 Datasheet DB874H83-SX - DB874H83-SX DB874H83-SX Datasheet DB874H83E-SX - DB874H83E-SX DB874H83E-SX Datasheet DB380 - DB380 DB380 Datasheet DB5083 - DB5083 DB5083 Datasheet AND5PGA - AND5PGA AND5PGA Datasheet
Privacy Policy | Disclaimer |