DALI Control Gear Library and Demo Application User s Guide
|
|
- Oliver Morton
- 5 years ago
- Views:
Transcription
1 DALI Control Gear Library and Demo Application User s Guide 2014 Microchip Technology Inc. DS A
2 Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular Microchip Data Sheet. Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as unbreakable. Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS == Trademarks The Microchip name and logo, the Microchip logo, dspic, FlashFlex, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PIC 32 logo, rfpic, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MTP, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries. Analog-for-the-Digital Age, Application Maestro, BodyCom, chipkit, chipkit logo, CodeGuard, dspicdem, dspicdem.net, dspicworks, dsspeak, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mtouch, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE, rflab, Select Mode, SQI, Serial Quad I/O, Total Endurance, TSHARC, UniWinDriver, WiperLock, ZENA and Z-Scale are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. GestIC and ULPP are registered trademarks of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries. All other trademarks mentioned herein are property of their respective companies. 2014, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. ISBN: Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company s quality system processes and procedures are for its PIC MCUs and dspic DSCs, KEELOQ code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. DS A-page Microchip Technology Inc.
3 DALI CONTROL GEAR LIBRARY AND DEMO APPLICATION USER S GUIDE Table of Contents Preface... 5 Introduction... 5 Document Layout... 5 Conventions Used in this Guide... 6 Recommended Reading... 7 The Microchip Web Site... 7 Customer Support... 8 Document Revision History... 8 Chapter 1. Overview 1.1 Introduction DALI Control Gear Hardware Microcontroller Clock Source User Interface DALI Requirements Generating DALI Bit Timings Nonvolatile Memory Chapter 2. DALI Control Gear Library 2.1 Hardware Requirements Specifications DALI Control Gear Library Limitations Structure DALI Control Gear Library Implementation Details Hardware Abstraction Layer DALI Protocol DALI Machine Configuring the library Device Type 6 Compatibility Non-Mandatory Memory Bank Implementation Physical Minimum Level Special Fade Time for DAPC Sequence Additional values for Device Type 6 Devices Chapter 3. DALI Control Gear Application Example 3.1 Introduction DALI Control Gear Application Initialization Application Structure and Data Flow Microchip Technology Inc. DS A-page 3
4 DALI Control Gear Library and Demo Application User s Guide Appendix A. DALI Control Gear Library API A.1 Introduction Worldwide Sales and Service...27 DS A-page Microchip Technology Inc.
5 DALI CONTROL GEAR LIBRARY AND DEMO APPLICATION USER S GUIDE Preface NOTICE TO CUSTOMERS All documentation becomes dated, and this manual is no exception. Microchip tools and documentation are constantly evolving to meet customer needs, so some actual dialogs and/or tool descriptions may differ from those in this document. Please refer to our web site ( to obtain the latest documentation available. Documents are identified with a DS number. This number is located on the bottom of each page, in front of the page number. The numbering convention for the DS number is DSXXXXXA, where XXXXX is the document number and A is the revision level of the document. For the most up-to-date information on development tools, see the MPLAB IDE online help. Select the Help menu, and then Topics to open a list of available online help files. INTRODUCTION DOCUMENT LAYOUT This chapter contains general information that describes the DALI Control Gear Library as well as the DALI Control Gear demo application. Items discussed in this chapter include: Document Layout Conventions Used in this Guide Recommended Reading The Microchip Web Site Customer Support Document Revision History This document describes the structure and the interface of the DALI Control Gear Library as well as the DALI Control Gear demo application. The demo application can easily be modified to be adapted to different hardware. This document covers a detailed description of the application and the library. More information can be found within the source code of the project. The manual layout is as follows: Chapter 1. Overview Chapter 2. DALI Control Gear Library Chapter 3. DALI Control Gear Application Example Appendix A. DALI Control Gear Library API 2014 Microchip Technology Inc. DS A-page 5
6 DALI Control Gear Library and Demo Application User s Guide CONVENTIONS USED IN THIS GUIDE This manual uses the following documentation conventions: DOCUMENTATION CONVENTIONS Description Represents Examples Arial font: Italic characters Referenced books MPLAB IDE User s Guide Emphasized text...is the only compiler... Initial caps A window the Output window A dialog the Settings dialog A menu selection select Enable Programmer Quotes A field name in a window or Save project before build dialog Underlined, italic text with A menu path File>Save right angle bracket Bold characters A dialog button Click OK A tab Click the Power tab N Rnnnn A number in verilog format, 4 b0010, 2 hf1 where N is the total number of digits, R is the radix and n is a digit. Text in angle brackets < > A key on the keyboard Press <Enter>, <F1> Courier New font: Plain Courier New Sample source code #define START Filenames autoexec.bat File paths c:\mcc18\h Keywords _asm, _endasm, static Command-line options -Opa+, -Opa- Bit values 0, 1 Constants 0xFF, A Italic Courier New A variable argument file.o, where file can be any valid filename Square brackets [ ] Optional arguments mcc18 [options] file [options] Curly brackets and pipe Choice of mutually exclusive errorlevel 0 1 character: arguments; an OR selection Ellipses... Replaces repeated text var_name [, var_name...] Represents code supplied by user void main (void)... DS A-page Microchip Technology Inc.
7 Preface RECOMMENDED READING THE MICROCHIP WEB SITE This user s guide describes the structure and the interface of the DALI Control Gear Library as well as the DALI Control Gear demo application. Other useful documents are listed below. The following Microchip documents are available and recommended as supplemental reference resources. Read me Files For the latest information on using other tools, read the tool-specific Readme files in the Readmes subdirectory of the MPLAB X IDE installation directory. The Readme files contain update information and known issues that may not be included in this user s guide. IEC General Requirements Control Gear: This document describes the protocol and methods for testing of DALI devices. IEC Particular Requirements for Control Gear LED Modules (Device Type 6): This document establishes the specific requirements for LED modules (device type 6). Microchip DS : The data sheet for the PIC16F1947 microcontroller which is used in this demo application. Microchip Lighting Resources: DALI AG web site: Microchip provides online support via our web site at This web site is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the web site contains the following information: Product Support Data sheets and errata, application notes and sample programs, design resources, user s guides and hardware support documents, latest software releases and archived software General Technical Support Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip consultant program member listing Business of Microchip Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives 2014 Microchip Technology Inc. DS A-page 7
8 DALI Control Gear Library and Demo Application User s Guide CUSTOMER SUPPORT Users of Microchip products can receive assistance through several channels: Distributor or Representative Local Sales Office Field Application Engineer (FAE) Technical Support Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in the back of this document. Technical support is available through the web site at: DOCUMENT REVISION HISTORY Revision A (June 2014) Initial release of this document. DS A-page Microchip Technology Inc.
9 DALI CONTROL GEAR LIBRARY AND DEMO APPLICATION USER S GUIDE Chapter 1. Overview 1.1 INTRODUCTION The DALI Control Gear demo application that relies on the DALI Control Gear Library is designed to run on the Microchip Lighting Communication Main Board (DM160214, see Figure 1-1) with the Microchip DALI Adapter (AC , see Figure 1-2). FIGURE 1-1: LIGHTING COMMUNICATION MAIN BOARD FIGURE 1-2: DALI ADAPTER 2014 Microchip Technology Inc. DS A-page 9
10 DALI Control Gear Library and Demo Application User s Guide 1.2 DALI CONTROL GEAR HARDWARE The Microchip Lighting Communications Main Board s hardware consists of an 8-bit Microchip microcontroller (PIC16F1947), power supply, a current-controlled RGBW LED, an interface port and the user interface elements: a slider, four push buttons and an LCD. The Microchip DALI Adapter, which attaches to the main board s interface port, provides the needed circuitry for interfacing to a DALI bus. The current library and demo application only targets LED modules (Device Type 6), which do not support multiple color channels. Thus, the application uses just the white die available in the RGBW LED package Microcontroller Clock Source The application uses the microcontroller s internal oscillator, configured for 8 MHz and the on-chip 4xPLL, to achieve a system clock of 32 MHz. Although an 8 MHz crystal is available on the Lighting Communications Main Board, the internal oscillator has been used since the DALI bus does not have very strict timing constraints User Interface Since the hardware cannot perform all the measurements required by a fully-featured DALI compliant device, some of the measurements are simulated using button combinations on the Lighting Communications Main Board. In order to keep the application minimal, the on-board LCD and slider on the DALI Control Gear remain unused. The measurements that are simulated can indicate the following Fault conditions. Please note that since switches S2 and S3 perform different functions when used alone or when in combination with S4 or S5, the order in which combinations are pressed is relevant. To simulate Load Increase (S5 + S2), first press S5 and then, keeping S5 pressed, also press S2. TABLE 1-1: SIMULATING FAULT CONDITIONS Pressed Switches Simulated Fault Condition S2 Open Circuit (Lamp disconnected) S3 Short Circuit S4+S2 Thermal Overload S4+S3 Thermal Shutdown S5+S2 Load Increase S5+S3 Load Decrease S5+S4 Disturb reference system power DS A-page Microchip Technology Inc.
11 Overview 1.3 DALI REQUIREMENTS Generating DALI Bit Timings The DALI protocol consists of a Manchester encoded signal at 1200 bps, which defines the half-bit time of 416.6(7) µs. To achieve this DALI half-bit time (TE) of µs, Timer1 is used with its clock source set to FOSC/4 and prescaler 1:4. In this case, the timer incrementing frequency will be 2 MHz. Since an important value that will need to be used is the number of timer ticks that make up a TE, we can find out that: EQUATION 1-1: RELATIONSHIP BETWEEN TIMER FREQUENCY AND DALI HALF-BIT PERIOD (TE) 2 MHz s 833 Timer ticks The symbol TE is defined in dali_cg_hardware.h to have this value, as it is used throughout the library. Since Timer1 is a 16-bit timer, it has no problem accommodating this value. Note: The application will need to also accommodate (within the allowed range of the timer used) values as large as 15 * TE, thus placing boundaries on the timer s clocking sources Nonvolatile Memory The library requires some nonvolatile storage in order to implement the following: Some DALI variables such as short address, fade times, power-on level, etc. Most recent power level used. When configured to do so, the Control Gear needs to be able to retrieve at power-up the most recent power level used Memory in DALI memory banks Although strictly not part of the library, the reference system power measurement also needs to store its result(s) to nonvolatile memory The number of bytes the library requires for the DALI variables needed to be stored in nonvolatile memory is accessible using the DALI_MACHINE_NVMEMORY_REQUIRED symbol defined in dali_cg_machine.h. How memory is implemented in hardware is irrelevant to the library, as the application will access it through calls to nvmem_dalireadbyte(location) and nvmem_daliwritebyte(location, value) which need to be implemented in dali_cg_nvmemory.c along with other functions. The parameter location can take any value from 0 to DALI_MACHINE_NVMEMORY_REQUIRED Microchip Technology Inc. DS A-page 11
12 DALI Control Gear Library and Demo Application User s Guide The most recent power level used needs to be stored under certain control gear configurations. Since this value may be updated often, excessive wear of the nonvolatile medium can occur. In order to allow the application to mitigate this, a dedicated pair of functions is used to implement the storage/retrieval of this value (nvmem_daliwritelastlevel(level) and nvmem_dalireadlastlevel()). As an example of lowering the wear of the nonvolatile memory, the demo application uses a 16-byte circular buffer in the internal EEPROM in order to reduce the usage of each individual EEPROM cell. The PIC16F1947 has a large amount of data memory and could accommodate even larger circular buffers for the task. Note: Other implementations could work even better, for example, the application can use regular RAM for all nonvolatile requirements if the application can detect an imminent power failure. Then the RAM would be copied over to nonvolatile memory only in case of such an imminent power failure. The DALI standard defines memory banks that should be implemented in the control gear and which can be accessed remotely, via the DALI bus. The only mandatory memory bank is Bank 0; the library allows the definition and use of up to eight memory banks; however memory Bank 0 can only be a read-only one. The implementation of the memory banks is irrelevant to the library, as it accesses them through nvmem_dalibankmemoryread(bank, location) and nvmem_dalibankmemorywrite(bank, location, value). The access mechanism required by IEC (using the write-enabled state and the lock bytes for each bank) is handled by the DALI Control Gear Library. DS A-page Microchip Technology Inc.
13 DALI CONTROL GEAR LIBRARY AND DEMO APPLICATION USER S GUIDE Chapter 2. DALI Control Gear Library 2.1 HARDWARE REQUIREMENTS 2.2 SPECIFICATIONS One External interrupt which functions as the receiver pin for the DALI Interface One GPIO pin which functions as the transmitter pin for the DALI Interface One Timer which is used to generate the DALI waveforms when transmitting and to check the waveforms when receiving 1 ms tick that needs to be provided by the application Lamp control mechanism Nonvolatile memory storage Reference system power (optional) The DALI Control Gear Library handles: Communication on the DALI bus (reception of forward frames, transmission of backward frames and detection of communication, timing or bus disconnection errors) DALI specific variables, both RAM-based as well as nonvolatile ones Checking if received forward frames are addressed to the current control device Interpretation of DALI commands and procedures Fading with the requested fade rates or fade times Special answers on the DALI bus at different Fault conditions Memory bank access control (implementing memory locks for writable memory, memory bank checksums) DALI Control Gear Library Limitations The DALI Control Gear Library does not handle any of the following aspects, since these depend on the specific application, the lamp characteristics and the available hardware: Lamp dimming: While the DALI Control Gear Library tells the application how bright the lamp should be, it is the application layer that needs to drive the lamp power to that level, taking into account the lamp characteristics. Turning the lamp off or reducing the power output in case of Fault conditions: The library does reply that the lamp is off when required by the standard, but it does not command the application to turn it off. This should be handled by the application based on lamp hardware implementation. Lamp status: The DALI Control Gear Library needs to be aware of the status of the lamp and the application needs to use the API to periodically update this lamp status within the application. This should be handled by the application based on lamp hardware implementation. Nonvolatile memory: The DALI Control Gear Library uses a number of functions that need to interface to the nonvolatile memory. This is handled by the application layer Microchip Technology Inc. DS A-page 13
14 DALI Control Gear Library and Demo Application User s Guide Reference system power: The DALI Control Gear Library implements the control mechanism for starting/stopping/querying the reference system power measurement, but it is the application which needs to implement it. Note: Implementing the reference system power measurement and the lamp status information are optional; please check IEC and IEC for further details. 2.3 STRUCTURE The DALI Control Gear Library is schematically presented in Figure 2-1, along with the application since the application needs to provide quite an extensive interface to the hardware and the library cannot be completely described out of context. The DALI Control Gear application is layered and modular, built around the core of the library, implemented in dali_cg_layer, dali_cg_machine and dali_cg_protocol. Below is a brief description of each layer: main The application loop keeps the DALI Control Gear Library and the lamp control mechanism synchronized, and also calls dali_tasks() to run the DALI machine. The Interrupt Service Routine branches to the appropriate functions within the DALI system (1 ms tick, External interrupt and TE Timer interrupt) dali_cg_layer - provides the API to the library. It is implemented as a buffer between the core of the library and the user application dali_cg_machine - is the core of the DALI command processing system dali_cg_protocol - implements transmission, reception of data and error detection on the DALI bus dali_cg_hardware - is a hardware abstraction layer that allows users to easily port the library to other PIC microcontrollers Although not an integral part of the library, required functionality needs to be provided by the following functional blocks: random - provides random number generation that is needed during DALI commissioning dali_cg_nvmemory - implements the application-specific nonvolatile memory management. Note: Some of the functions this block provides need to adhere to some restrictions since these are called from the core of the DALI Control Gear Library. The lighting hardware is grouped in two more functional blocks: lamp_hardware - implements the lamp management functionality, such as setting power levels using the required dimming curve and also provides data for the lamp status lamp_reference_system_power - groups functionality required by the implementation of any reference system power measurement DS A-page Microchip Technology Inc.
15 2014 Microchip Technology Inc. DS A-page 15 FIGURE 2-1: while(1) dali_tasks(); lamp_setpower(dali_getpower()); dali_setstatus(lamp_getstatus()); LED Dimming CCP Timer DALI CONTROL GEAR DEMO APPLICATION ARCHITECTURE lamp_reference_system_power lamp_setpower() lamp_getstatus() lamp_hardware lamp_getoperatingmode() Buttons GPIO DALI Control Gear stack and application lamprefsyspower_start() lamprefsyspower_stop() lamprefsyspower_getstatus() lamprefsyspower_tick1ms() Buttons GPIO Reference System Power nvmem_refsyspowerwritebyte() nvmem_refsyspowerreadbyte() Bank Memory main nvmem_dalibankmemorywrite() nvmem_dalibankmemoryread() Function call Shared data dali_getflags() dali_setreferencesystempowerstatus() Non-Volatile Memory nvmem_dalireadbyte() nvmem_daliwritebyte() nvmem_daliwritelastlevel() nvmem_dalireadlastlevel() dali_cg_nvmemory dali_tasks() NV Memory EEPROM Code dali_cg_layer Reference System Power idali_startreferencesystempower() idali_stopreferencesystempower() idali_getstatusreferencesystempower() dali_tasks() Functionality group random_byte() random dali_cg_machine MCU Hardware dali_getpower() dali_setstatus() dali_setoperatingmode() dalihw_isdalilinelow() idali_sendbackwardframe() dali_cg_hardware Hardware configuration Hardware Feedback/readout dali_cg_protocol Lamp Status and Control idali_startidentificationprocedure() idali_setlamppower() idali_getlampstatus() idali_getlampoperatingmode() ISR() idali_receiveforwardframe() frame data Timer dali_tick1ms() idali_tick1msmachine() dali_interrupttetimer() DALI Communication Ext. Interrupt dali_interruptexternal() GPIO 1ms tick Timer DALI Control Gear Library
16 DALI Control Gear Library and Demo Application User s Guide 2.4 DALI CONTROL GEAR LIBRARY IMPLEMENTATION DETAILS This section gives details on the different layers of the library. For further information, please check the comments in the relevant source code files Hardware Abstraction Layer The library depends heavily on a small number of peripherals to implement the DALI protocol. In order to make it as portable as possible, the hardware interface is separated from the rest of the code. The flexibility provided by this layer, along with the small number of peripherals should allow for seamless adaptation of the library to new architectures DALI Protocol The DALI Control Gear Library does not use any specific hardware to implement its communication layer (Manchester decoding/encoding), in order to be easily portable to most Microchip PIC microcontrollers. The library uses a state machine driven by the external interrupt and a timer for both reception and transmission of bits using the DALI bus, as well as for bit and framing error detection and making sure the inter-frame timings defined by IEC are respected. This communication layer is isolated in its own file having a simple interface to dali_cg_machine. If necessary, it can easily be replaced by a hardware-optimized version. While no data transfer is taking place, the protocol state machine keeps the external interrupt on the receive pin armed. Once this interrupt is triggered, the timer in conjunction with this external interrupt are used both for checking the correct format of the bits that are being received as well as for detecting a time-out which would signal an error. Figure 2-2 shows the waveform corresponding to the command BROADCAST DIRECT ARC POWER CONTROL 58, where the individual bit times (2 TE) are delimited by dotted lines. FIGURE 2-2: WAVEFORM ON THE DALI BUS THAT TRANSMITS THE BROADCAST DIRECT ARC POWER CONTROL 58 COMMAND DS A-page Microchip Technology Inc.
17 DALI Control Gear Library The library checks for the correct timings for the pulses and Stop bits and discards the frame if it is found to be malformed. The acceptable timings for valid pulse widths within a frame (1 TE or 2 TE) are derived from the TE value which is set in the demo application to µs. The received pulse width is checked against the following values: 1 TE if pulse width in [ µs, µs] 2 TE if pulse width in [583.1 µs, µs]. When required to transmit data, the library generates the bit timings using the same timer DALI Machine 2.5 CONFIGURING THE LIBRARY The core of the DALI Control Gear Library has three main entry points after initialization: Forward frame reception (from the protocol layer, called from the interrupt). Since the interrupt routine is rather lengthy (it has to decode/encode the Manchester signal), the data received from the bus is stored during forward frame reception in a variable and is accessed by the state machine s run function whenever it is run by the mainline code. 1 ms tick (from the interrupt) which is required by the fading mechanism and by various software timers that the DALI standard requires to be implemented (such as the time between cable disconnection and going to the system failure level if it s programmed to do so). State machine run function, dali_tasks(), called as often as possible by its main application loop. This function processes any new data received from the bus, checks the system parameters and updates its internal flags accordingly. Apart from these, the library exposes a number of functions which need to be used to update the library s copies of lamp status variables and to provide the library commands that the application should execute. This state machine also implements the DALI specific mechanisms, such as handling the commissioning process, nonvolatile memory access, etc. Parameters for the DALI Control Gear Library are placed in dali/dali_cg_config.h. The DALI Control Gear Library can have some of its functionality enabled or disabled according to the user requirements. Disabling some functionality removes some of the code, thus resulting in a smaller binary. The features that can be disabled are: Device Type 6 (LED) compatibility Non-mandatory memory bank implementation Device Type 6 Compatibility The DALI standard defines multiple device types, of which type number six represents LED lamps. Supporting a specific device type requires device special commands to be implemented. Device Type 6 compatibility is enabled by defining the symbol: DALI_USE_DEVICE_TYPE_6. Note: The Control Gear needs to support at least one device type, thus this may require library modifications in order to remain DALI compliant Microchip Technology Inc. DS A-page 17
18 DALI Control Gear Library and Demo Application User s Guide Non-Mandatory Memory Bank Implementation The DALI documentation defines memory banks that can be accessed remotely by the control device. The DALI Control Gear Library implements Bank 0 as a read-only bank, which is required by the standard irrespective of this setting. Enabling this setting allows the user to implement other banks which can also be written. Implementing these banks can be done by the user in the nonvolatile memory layer. This functionality is enabled by defining the symbol DALI_USE_EXTRA_MEMORY_BANKS. Note: The DALI memory banks are not related to the Microchip PIC device memory banks. The former are described in detail in IEC , section 9.8, whereas the latter in the microcontroller s data sheets Physical Minimum Level The PHYSICAL_MINIMUM_LEVEL symbol is the minimum output power that the lamp can produce and should hold a value between 1 and 254 (inclusive). Details on the physical minimum level can be found in IEC Note: A non-dimmable DALI device can be built by setting PHYSICAL_MINIMUM_LEVEL to Special Fade Time for DAPC Sequence During a DAPC sequence, the programmed fade time shall be replaced by a special fade time, greater than or equal to 200 ms. The DAPC_SEQUENCE_FADE_TIME_MS symbol defines that special fade time. Although this value is expressed in milliseconds, within the library it has a granularity of 5 ms. Details on the DAPC sequence mechanism can be found in IEC , section , Command 9. DS A-page Microchip Technology Inc.
19 DALI Control Gear Library Additional values for Device Type 6 Devices If Device Type 6 compatibility is required, four more values need to be defined: GEAR_TYPE: Control Gear parameters. Please see IEC , section , Command 237 for further details. MIN_FAST_FADE_TIME: Please see IEC , section 9.13 for details on the fast fade time. The valid range for this value is between 1 and 27 (inclusive). POSSIBLE_OPERATING_MODES: Please see IEC , section , Command 239 for further details on operating modes. FEATURES: Please see IEC , section , Command 240 for further details on operating the FEATURES byte. Note: GEAR_TYPE, POSSIBLE_OPERATING_MODES and FEATURES parameters should reflect the functionality implemented by the application, as no checks are made by the library in this respect Microchip Technology Inc. DS A-page 19
20 DALI CONTROL GEAR LIBRARY AND DEMO APPLICATION USER S GUIDE Chapter 3. DALI Control Gear Application Example 3.1 INTRODUCTION The provided API places the DALI Control Gear Library under the control of the application. The user application needs to make sure that the values in the library are updated periodically, by calling the appropriate functions often. Similarly, the application should check if the lamp power needs to be updated and do so. Minimum update rate should be fast enough to keep up with lamp fade characteristics. 3.2 DALI CONTROL GEAR APPLICATION INITIALIZATION The library initialization resets the internal state machines. The application hardware has a separate initializer such that the user can choose to merge this with the rest of the application s hardware initialization. In the case of the demo application, the initialization calls are shown in Example 3-1. EXAMPLE 3-1: INITIALIZATION CALLS FOR THE DEMO APPLICATION // define a variable of flags that will be used to obtain status from the library tdali_flags_cg dalicgflags; // clear all flags dalicgflags.all = 0; // code that configures the system clock [...] // code that configures a timer to generate a 1ms tick [...] // not part of the library, initialize random number generator random_init(); // initialise DALI communication hardware dalihw_init(); // not part of the library, initialize lamp hardware lamp_init(); // not part of the library, initialise lamp reference system power lamprefsyspower_init(); // obtain physical minimum level for the non-logarithmic dimming curve such that // the library can align the two minima dali_setnonlogphysicalminimum(lamp_getdimmingtablevalue(physical_minimum_level)); // initialise DALI library dali_init(); // enable interrupts ei(); while(1) [...] DS A-page Microchip Technology Inc.
21 2014 Microchip Technology Inc. DS A-page 21 FIGURE 3-1: while(1) dali_tasks(); lamp_setpower(dali_getpower()); dali_setstatus(lamp_getstatus()); LED Dimming CCP Timer LAMP DIMMING AND LAMP STATUS DATA FLOW THROUGH THE DALI APPLICATION lamp_reference_system_power lamp_setpower() lamp_getstatus() lamp_hardware lamp_getoperatingmode() Buttons GPIO DALI Control Gear stack and application lamprefsyspower_start() lamprefsyspower_stop() lamprefsyspower_getstatus() lamprefsyspower_tick1ms() Buttons GPIO Reference System Power nvmem_refsyspowerwritebyte() nvmem_refsyspowerreadbyte() Bank Memory main nvmem_dalibankmemorywrite() nvmem_dalibankmemoryread() Function call Shared data Library sets lamp power Library obtains lamp status dali_getflags() dali_setreferencesystempowerstatus() Non-Volatile Memory nvmem_dalireadbyte() nvmem_daliwritebyte() nvmem_daliwritelastlevel() nvmem_dalireadlastlevel() dali_cg_nvmemory dali_tasks() NV Memory EEPROM Code dali_cg_layer Reference System Power idali_startreferencesystempower() idali_stopreferencesystempower() idali_getstatusreferencesystempower() dali_tasks() Functionality group random_byte() random dali_cg_machine MCU Hardware dali_getpower() dali_setstatus() dali_setoperatingmode() dalihw_isdalilinelow() idali_sendbackwardframe() dali_cg_hardware Hardware configuration Hardware Feedback/readout dali_cg_protocol Lamp Status and Control idali_startidentificationprocedure() idali_setlamppower() idali_getlampstatus() idali_getlampoperatingmode() ISR() idali_receiveforwardframe() frame data Timer dali_tick1ms() idali_tick1msmachine() dali_interrupttetimer() DALI Communication Ext. Interrupt dali_interruptexternal() GPIO 1ms tick Timer DALI Control Gear Library and Demo Application User s Guide
22 DALI Control Gear Library and Demo Application User s Guide 3.3 APPLICATION STRUCTURE AND DATA FLOW The application structure presented earlier in Figure 2-1 is also visible in Figure 3-1, with two added lines that emphasize the data flow for the lamp power (red) from the DALI Control Gear Library to the lamp hardware and the lamp status (blue) the other way around. All data transfers are handled by the main program loop, such that the user is in total control of both library and lamp hardware. The main loop should periodically query the library flags as these carry important information regarding lamp actions that may need to be taken. During the application execution there are two entry points into the library, the main loop and the interrupts. The main loop is outlined below and keeps polling the library for work and does it if required while also continuously informing the library of the lamp status. The interrupts handle DALI bus communication and the 1 millisecond tick. EXAMPLE 3-2: while(1) // run the DALI state machine dali_tasks(); MAIN APPLICATION LOOP, HANDLING THE COMMUNICATION TO THE DALI LIBRARY // ask the library if it wants us to do any work dalicgflags.all = dali_getflags(); // tell the library the lamp status dali_setstatus(lamp_getstatus()); // if the library wants us to start the identification procedure, do it // and clear the associated flag if (dalicgflags.startidentificationprocedure == 1) lamp_setpower(254, 0); dalicgflags.startidentificationprocedure = 0; // if the library wants us to update the lamp power, do it and clear the // flags if (dalicgflags.updatedlamppower == 1) lamp_setpower(dali_getpower(), dalicgflags.nonlogdimming); dalicgflags.updatedlamppower = 0; dalicgflags.nonlogdimming = 0; // tell the library the lamp operating mode dali_setoperatingmode(lamp_getoperatingmode()); // tell the library the lamp s reference system power status dali_setreferencesystempowerstatus(lamprefsyspower_getstatus()); // if the library wants us to start a reference system power do it and // clear the flag if (dalicgflags.startreferencesystempower == 1) lamprefsyspower_start(); dalicgflags.startreferencesystempower = 0; DS A-page Microchip Technology Inc.
23 DALI Control Gear Application Example EXAMPLE 3-3: MAIN APPLICATION LOOP, HANDLING THE COMMUNICATION TO THE DALI LIBRARY (CONTINUED) // if the library wants us to stop any running reference system power // do that and clear the flag if (dalicgflags.stopreferencesystempower == 1) lamprefsyspower_stop(); dalicgflags.stopreferencesystempower = 0; // check if one millisecond has passed. If so, run the corresponding // tick function for the reference system power and clear the flag if (dalicgflags.tick1ms == 1) lamprefsyspower_tick1ms(); dalicgflags.tick1ms = 0; The demo application uses a PIC16F1947 which has a single interrupt vector. Different interrupt sources are handled by checking within the interrupt code for the signal that triggered it. Below is the code that handles the three interrupts needed in the demo application. The 1 ms tick is needed by the DALI application for time-keeping reasons (and is also used by the reference system power mechanism for the same purpose). The external interrupt and TE Timer interrupt handle communication on the DALI bus. EXAMPLE 3-4: INTERRUPT SERVICE ROUTINE FOR THE DALI COMMUNICATION AND 1 MS TICK void interrupt ISR() // 1ms tick interrupt. This application uses Timer 4 for this reason. // The lack of abstraction for this timer is due to the fact that // it is only initialised once in main() and used once, here if ((TMR4IF!= 0) && (TMR4IE!= 0)) TMR4IF = 0; dali_tick1ms(); // Te Timer interrupt. The Te Timer is fully abstracted since it is // heavily used within the library if (dalihw_tetimerinterrupttriggered()) dalihw_tetimerclearinterrupt(); dali_interrupttetimer(); // External interrupt if ((INTF!= 0) && (INTE!= 0)) INTF = 0; dali_interruptexternal(); 2014 Microchip Technology Inc. DS A-page 23
24 DALI CONTROL GEAR LIBRARY AND DEMO APPLICATION USER S GUIDE Appendix A. DALI Control Gear Library API A.1 INTRODUCTION Below is a brief description of the functions that the DALI Control Gear Library provides. These are available after the inclusion of dali_cg.h. TABLE A-1: API FUNCTIONS AND CODE EXAMPLES FOR THE DALI CONTROL GEAR LIBRARY Declaration and Description Code example void dalihw_init () DALI communication hardware configuration. void dalihw_tetimerclearinterrupt () Clear TE Timer interrupt flag. uint8_t dalihw_tetimerinterrupttriggered () Check if the TE Timer interrupt triggered. void dali_interrupttetimer () API Call: The application should call this function for every TE Timer interrupt. void dali_interruptexternal () API Call: The application should call this function for every external interrupt. void dali_init () API Call: Initialise the DALI library void dali_tasks () API Call: Run one iteration of the DALI state machine which, among others, checks if any new DALI frame has arrived and if so, processes it void dali_tick1ms () API Call: Library code that should be run every millisecond dalihw_init(); // Initialise the hardware (Te // Timer, External interrupt, // pin tristate and latch // registers) void interrupt ISR() [...] if (dalihw_tetimerinterrupttriggered()) dalihw_tetimerclearinterrupt(); dali_interrupttetimer(); [...] void interrupt ISR() [...] if (dalihw_tetimerinterrupttriggered()) dalihw_tetimerclearinterrupt(); dali_interrupttetimer(); [...] void interrupt ISR() [...] if (dalihw_tetimerinterrupttriggered()) dalihw_tetimerclearinterrupt(); dali_interrupttetimer(); [...] void interrupt ISR() [...] if ((INTF!= 0) && (INTE!= 0)) INTF = 0; dali_interruptexternal(); [...] dali_init(); // Initialise DALI Library while(1) dali_tasks(); // Call DALI Library code [...] // Handle other application // aspects void interrupt ISR() if ((TMR4IF!= 0) && (TMR4IE!= 0)) TMR4IF = 0; dali_tick1ms(); DS A-page Microchip Technology Inc.
25 DALI Control Gear Library API TABLE A-1: uint8_t dali_getflags () API Call: Obtain the DALI library flags API FUNCTIONS AND CODE EXAMPLES FOR THE DALI CONTROL GEAR LIBRARY Declaration and Description uint8_t dali_getpower () API Call: Obtain the power that the application should command the lamp to go to void dali_setstatus (uint8_t status) API Call: Inform the library of the lamp status void dali_setoperatingmode (uint8_t mode) API Call: Inform the library of the lamp operating mode void dali_setnonlogphysicalminimum (uint8_t level) API Call: Inform the library of the non-logarithmic physical minimum level void dali_setreferencesystempowerstatus (uint8_t status) API Call: Inform the library of the reference system power status Code example dalicgflags.all = dali_getflags(); [...] // Check flags and clear them after usage if (dalicgflags.updatedlamppower == 1) lamp_setpower(dali_getpower(), dalicgflags.nonlogdimming); dalicgflags.updatedlamppower = 0; dalicgflags.nonlogdimming = 0; // Obtain the status from the lamp and send // it to the library dali_setstatus(lamp_getstatus()); // Obtain the lamp operating mode and send it // to the library dali_setoperatingmode(lamp_getoperatingmode()); // During initialisation, pass the // non-logarithmic value of the physical // minimum level to the library dali_setnonlogphysicalminimum( lamp_getdimmingtablevalue( PHYSICAL_MINIMUM_LEVEL)); // Obtain the status of the reference system // power and send it to the library dali_setreferencesystempowerstatus( lamprefsyspower_getstatus()); 2014 Microchip Technology Inc. DS A-page 25
26 DALI Control Gear Library and Demo Application User s Guide NOTES: DS A-page Microchip Technology Inc.
27 Worldwide Sales and Service AMERICAS Corporate Office 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: Technical Support: support Web Address: Atlanta Duluth, GA Tel: Fax: Austin, TX Tel: Boston Westborough, MA Tel: Fax: Chicago Itasca, IL Tel: Fax: Cleveland Independence, OH Tel: Fax: Dallas Addison, TX Tel: Fax: Detroit Novi, MI Tel: Houston, TX Tel: Indianapolis Noblesville, IN Tel: Fax: Los Angeles Mission Viejo, CA Tel: Fax: New York, NY Tel: San Jose, CA Tel: Canada - Toronto Tel: Fax: ASIA/PACIFIC Asia Pacific Office Suites , 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: Fax: Australia - Sydney Tel: Fax: China - Beijing Tel: Fax: China - Chengdu Tel: Fax: China - Chongqing Tel: Fax: China - Hangzhou Tel: Fax: China - Hong Kong SAR Tel: Fax: China - Nanjing Tel: Fax: China - Qingdao Tel: Fax: China - Shanghai Tel: Fax: China - Shenyang Tel: Fax: China - Shenzhen Tel: Fax: China - Wuhan Tel: Fax: China - Xian Tel: Fax: China - Xiamen Tel: Fax: China - Zhuhai Tel: Fax: ASIA/PACIFIC India - Bangalore Tel: Fax: India - New Delhi Tel: Fax: India - Pune Tel: Japan - Osaka Tel: Fax: Japan - Tokyo Tel: Fax: Korea - Daegu Tel: Fax: Korea - Seoul Tel: Fax: or Malaysia - Kuala Lumpur Tel: Fax: Malaysia - Penang Tel: Fax: Philippines - Manila Tel: Fax: Singapore Tel: Fax: Taiwan - Hsin Chu Tel: Fax: Taiwan - Kaohsiung Tel: Taiwan - Taipei Tel: Fax: Thailand - Bangkok Tel: Fax: EUROPE Austria - Wels Tel: Fax: Denmark - Copenhagen Tel: Fax: France - Paris Tel: Fax: Germany - Dusseldorf Tel: Germany - Munich Tel: Fax: Germany - Pforzheim Tel: Italy - Milan Tel: Fax: Italy - Venice Tel: Netherlands - Drunen Tel: Fax: Poland - Warsaw Tel: Spain - Madrid Tel: Fax: Sweden - Stockholm Tel: UK - Wokingham Tel: Fax: /25/ Microchip Technology Inc. DS A-page 27
PIC12LF1552 Silicon Errata and Data Sheet Clarification DEV<8:0>
Silicon Errata and Data Sheet Clarification The device that you have received conforms functionally to the current Device Data Sheet (DS41674B), except for the anomalies described in this document. The
More informationSection 40. Introduction (Part IV)
Section 40. Introduction (Part IV) HIGHLIGHTS This section of the manual contains the following major topics: 40.1 Introduction... 40-2 40.2 Revision History...40-3 40 Introduction (Part IV) 2007-2012
More informationPIC12F752/HV752 Family Silicon Errata and Data Sheet Clarification. DEV<8:0> (1) REV<4:0> Silicon Revision (2)
Family Silicon Errata and Data Sheet Clarification The family devices that you have received conform functionally to the current Device Data Sheet (DS41576B), except for the anomalies described in this
More informationRN4020 PICtail /PICtail Plus Board User s Guide
RN4020 PICtail /PICtail Plus Board User s Guide OVERVIEW The RN4020 PICtail Plus Daughter Board is a Bluetooth Low Energy demonstration board that showcases the Microchip RN4020 Certified Bluetooth Low
More informationSPI Communication with the AR1020 Controller
SPI Communication with the AR1020 Controller Author: Cassandra Backus Microchip Technology Inc. INTRODUCTION The AR1020 controller s SPI (Serial Peripheral Interface) communicates as a slave mode device
More informationMCS3122 Memory Programming Specification
MCS3122 Memory Programming Specification This document includes the programming specifications for the following device: MCS3122 1.0 OVERVIEW The MCS3122 contains 64 bytes of nonvolatile memory. This array
More informationPIC18F6390/6490/8390/8490
PIC18F6390/6490/8390/8490 Rev. C0 Silicon Errata The PIC18F6390/6490/8390/8490 Rev. C0 parts you have received conform functionally to the Device Data Sheet (DS39629C), except for the anomalies described
More informationPIC10F220/222 Rev. B Silicon/Data Sheet Errata. Sym. Characteristic Min. Typ Max. Units Conditions
PIC10F220/222 Rev. B Silicon/Data Sheet Errata The PIC10F220/222 silicon Rev. B. parts you have received conform functionally to the Device Data Sheet (DS41270E), except for the anomalies described below.
More informationPIC16(L)F1503 Family Silicon Errata and Data Sheet Clarification
PIC16(L)F1503 Family Silicon Errata and Data Sheet Clarification The PIC16(L)F1503 family devices that you have received conform functionally to the current Device Data Sheet (DS41607A), except for the
More informationDeadman Timer (DMT) HIGHLIGHTS. This section of the manual contains the following major topics:
Deadman Timer (DMT) HIGHLIGHTS This section of the manual contains the following major topics: 1.0 Introduction... 2 2.0 DMT Registers... 4 3.0 DMT Operation... 12 4.0 Register Map... 15 5.0 Related Application
More informationTB3107. Advantages of NVSRAM Over FRAM ADVANTAGES OF NVSRAM INTRODUCTION PIN DESCRIPTION
Advantages of NVSRAM Over FRAM TB317 Author: INTRODUCTION This technical brief describes the main advantages of NVSRAM over FRAM memory technology. Microchip's battery-backed SRAM devices have true unlimited
More informationAN1552. MRF24XA Radio Utility Driver Program GETTING STARTED INTRODUCTION SERIAL PORT SETTINGS. Microchip Technology Inc.
MRF24XA Radio Utility Driver Program AN1552 Author: INTRODUCTION Sushma Myneni Microchip Technology Inc. The MRF24XA Radio Utility Driver Program provides design engineers with a development and testing
More informationPIC18F2480/2580/4480/4580
Data Sheet Errata Clarifications/Corrections to the Data Sheet In the Device Data Sheet (DS39637C), the following clarifications and corrections should be noted. Any silicon issues related to this device
More informationPIC12F629/675 Family Silicon Errata and Data Sheet Clarification. (1) Revision ID for Silicon Revision (2)
PIC12F629/675 Family Silicon Errata and Data Sheet Clarification The PIC12F629/675 family of devices that you have received conform functionally to the current Device Data Sheet (DS41190F), except for
More informationPIC32MX. PIC32MX Rev. B2 ES Silicon Errata. PIC32MX (Rev. B2 ES) Silicon Errata. 1. Module: Device Reset. 2. Module: Software Device Reset
PIC32MX Rev. B2 ES Silicon Errata PIC32MX PIC32MX (Rev. B2 ES) Silicon Errata The PIC32MX devices (Rev. B2 ES) you received were found to conform to the specifications and functionality described in the
More informationTB3010. Maximize Software Portability for Future PIC32 MCUs CASE 1: WRITING TO SFR INTRODUCTION CASE 2: READING FROM SFR. Microchip Technology Inc.
Maximize Software Portability for Future PIC32 MCUs Author: INTRODUCTION Aseem Swalah Microchip Technology Inc. This document describes the programming techniques that will maximize the software portability
More informationSection 32. Configuration
HIGHLIGHTS Section 32. Configuration This section of the manual contains the following major topics: 32 32.1 Introduction... 32-2 32.2 Modes of Operation... 32-3 32.3 Effects of Various Resets... 32-4
More informationSection 1. Introduction
1 Section 1. Introduction Introduction HIGHLIGHTS This section of the manual contains the following major topics: 1.1 Introduction... 1-2 1.2 Device Structure... 1-3 1.3 Development Support...1-4 1.4 Style
More informationMCP1710 Demo Board User s Guide
MCP1710 Demo Board User s Guide DS52095A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular Microchip
More informationRecommended Usage of Microchip SPI Serial SRAM Devices RECOMMENDED CONNECTIONS FOR 23XXXX SERIES DEVICES VCC 23XXXXX HOLD SCK
Recommended Usage of Microchip SPI Serial SRAM Devices Author: INTRODUCTION Martin Bowman Microchip Technology Inc. Many embedded systems require some amount of volatile storage for temporary data. This
More informationSection 41. Prefetch Module for Devices with L1 CPU Cache
41 Section 41. Prefetch Module for Devices with L1 CPU Cache HIGHLIGHTS This section of the manual contains the following major topics: Prefetch Module for Devices with L1 CPU Cache 41.1 Introduction...
More informationdspic33fj128gp804 AND PIC24HJ128GP504
dspic33fj128gp804 AND dspic33fj128gp804 and PIM Information Sheet The dspic33fj128gp804 and Plug-In Modules (PIMs) are designed to demonstrate the capabilities of the dspic33fj128gp804 and families, using
More informationMTCH101 Evaluation Kit User s Guide
MTCH101 Evaluation Kit User s Guide 2014 Microchip Technology Inc. DS40001774A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
More informationPIC18F6627/6722/8627/8722
PIC18F6627/6722/8627/8722 Rev. B1 Silicon Errata The PIC18F6627/6722/8627/8722 Rev. B1 parts you have received conform functionally to the Device Data Sheet (DS39646C), except for the anomalies described
More informationUsing a Timer to Interface PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs CIRCUIT FOR PIC18F24J10 MCU AND 11XXX SERIAL EEPROM MCLR RA3 VCC (1)
Author: INTRODUCTION As embedded systems become smaller, a growing need exists to minimize I/O pin usage for communication between devices. Microchip has addressed this need by developing the UNI/O bus,
More informationAN1393. PIC12LF1840T48A Microcontroller Transmitter Reference Design INTRODUCTION KEY REQUIREMENTS CONFIGURATION REGISTER WRITE
PIC12LF1840T48A Microcontroller Transmitter Reference Design Author: INTRODUCTION The PIC12LF1840T48A is a Microchip microcontroller that has an on-board transmitter. The transmitter is suitable for operation
More informationSample Rate Conversion Library for dspic User s Guide
Sample Rate Conversion Library for dspic User s Guide 2011-2013 Microchip Technology Inc DS70000668B Note the following details of the code protection feature on Microchip devices: Microchip products meet
More informationPIC12F635 Silicon Errata and Data Sheet Clarification. (1) Revision ID for Silicon Revision (2)
Silicon Errata and Data Sheet Clarification The devices that you have received conform functionally to the current Device Data Sheet (DS41232D), except for the anomalies described in this document. The
More informationApplication Portability for 32-Bit Microcontrollers Reality or Myth?
Application Portability for 32-Bit Microcontrollers Reality or Myth? Author: INTRODUCTION Erlendur Kristjansson Microchip Technology Inc. In November of 2008, ARM announced the availability of the Cortex
More informationTrace Interface Kit. PIC32MX 100P QFP to 100P PIM. PIC32MX450/ pin to 100-pin USB PIM. PIC32MX 1xx/2xx PIM PIC32MZ2048EC P PIM
Trace Interface Kit TRACE INTERFACE KIT SPECIFICATION INTRODUCTION The Trace Interface Kit (AC2446) for the MPLAB REAL ICE In-Circuit Emulator may be used with PIC32 Plug-In Modules (PIMs) that have a
More informationUsing C and a Timer to Interface MSP430 MCUs with UNI/O Bus-Compatible Serial EEPROMs CIRCUIT FOR MSP430F1232 MCU AND 11XXX SERIAL EEPROM VCC (1)
Using C and a Timer to Interface MSP430 MCUs with UNI/O Bus-Compatible Serial EEPROMs Author: INTRODUCTION Alexandru Valeanu Microchip Technology Inc. As embedded systems become smaller, a growing need
More informationDawn GUI User s Guide
Dawn GUI User s Guide 2015 Microchip Technology Inc. DS40001821A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their
More informationProduct Change Notification - SYST-15YLYB526-18 Jan 2016 - ERRATA - LAN91C1... http://www.microchip.com/mymicrochip/notificationdetails.aspx?pcn=syst-15ylyb526 Page 1 of 1 1/19/2016 English Search Microchip
More informationPIC10(L)F32X Development Board User s Guide
PIC10(L)F32X Development Board User s Guide DS00000A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular
More informationUsing C18 and a Timer to Interface PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs RB5 RB3 RB2 RB1 RB0 VDD RC4
Using C18 and a Timer to Interface PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs Author: INTRODUCTION Chris Parris Microchip Technology Inc. As embedded systems become smaller, a growing need exists
More informationAN1006. Interfacing SPI Serial EEPROMs to PIC18 Devices INTRODUCTION CIRCUIT FOR PIC18F1220 AND 25 SERIES (SPI) DEVICE
Interfacing SPI Serial EEPROMs to PIC18 Devices Author: INTRODUCTION Martin Kvasnicka Microchip Technology Inc. There are many different microcontrollers on the market today that are being used in embedded
More informationTB079. Programming Baseline Flash Devices with PICkit 1 PIC12F508/509 AND PIC16F505 PROGRAMMING INTRODUCTION. PICkit 1 FIRMWARE VERSION 2.0.
TB079 Baseline Flash Devices with PICkit 1 Author: INTRODUCTION The PICkit 1 Baseline Flash Programmer PC application together with the PICkit 1 Flash Starter Kit firmware version 2.0.0 or later can program
More informationPIC10F200/202/204/206
PIC10F200/202/204/206 Rev. A Silicon/Data Sheet Errata The PIC10F200/202/204/206 parts you have received conform functionally to the Device Data Sheet (DS41239D), except for the anomalies described below.
More informationRecommended Usage of Microchip 23XX512/23XX1024 Serial SRAM Devices. Device Density Voltage Range Hold Pin SPI SDI SQI
Recommended Usage of Microchip 23XX512/23XX1024 Serial SRAM Devices Author: INTRODUCTION Martin Bowman Microchip Technology Inc. Many embedded systems require some amount of volatile storage for temporary
More informationPIC16(L)F1847 Family Silicon Errata and Data Sheet Clarification
PIC16(L)F1847 Family Silicon Errata and Data Sheet Clarification The PIC16(L)F1847 family devices that you have received conform functionally to the current Device Data Sheet (DS41453B), except for the
More informationPIC24FJ64GA004 FAMILY
PIC24FJ64GA004 Family Rev. B4 Silicon Errata The PIC24FJ64GA004 Family parts you have received conform functionally to the Device Data Sheet (DS39881C), except for the anomalies described below. Any Data
More informationPIC16F91X/946 Family Silicon Errata and Data Sheet Clarification
Family Silicon Errata and Data Sheet Clarification The family devices that you have received conform functionally to the current Device Data Sheet (DS41250F), except for the anomalies described in this
More informationPIC24FV32KA304 FAMILY
PIC24FV32KA304 Family Silicon Errata and Data Sheet Clarification The PIC24FV32KA304 family devices that you have received conform functionally to the current Device Data Sheet (DS39995B), except for the
More informationSample Rate Conversion Library for PIC32 User s Guide
Sample Rate Conversion Library for PIC32 User s Guide 2013 Microchip Technology Inc DS61190A Note the following details of the code protection feature on Microchip devices: Microchip products meet the
More informationMGC D Gesture Controller Product Brief. Introduction. Key Features. Applications. Peripheral Features. Power Features
3D Gesture Controller Product Brief Introduction The is a gesture recognition and approach detection controller based on Microchip s patented GestIC technology for embedded usage. As a member of the MGC3XXX
More informationEQCO-SDI HD-SDI Repeater User s Guide
EQCO-SDI-30-7502 HD-SDI Repeater User s Guide 2014 Microchip Technology Inc. DS50002303B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
More informationPIC16(L)F1454/1455/1459
PIC16(L)F1454/1455/1459 Family Silicon Errata and Data Sheet Clarification The PIC16(L)F1454/1455/1459 family devices that you have received conform functionally to the current Device Data Sheet (DS40001639B),
More informationProduct Change Notification - SYST-12GOUO321 (Printer Friendly)
Product Change Notification - SYST-12GOUO321-02 Aug 2016 - ERRATA - KSZ8895... http://www.microchip.com/mymicrochip/notificationdetails.aspx?pcn=syst-12gouo321 Page 1 of 2 8/3/2016 English Search... PRODUCTS
More informationPIC16F72. PIC16F72 Data Sheet Errata. Clarifications/Corrections to the Data Sheet: 1. Module: Core (Product Identification System)
PIC16F72 Data Sheet Errata PIC16F72 The PIC16F72 parts you have received conform functionally to the Device Data Sheet (DS39597B), except for the anomalies described below. All of the issues listed here
More informationMCP2515 PICtail Plus Daughter Board User s Guide
MCP2515 PICtail Plus Daughter Board User s Guide 2008 Microchip Technology Inc. DS51762A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
More informationPIC16(L)F1512/1513 Family Silicon Errata and Data Sheet Clarification DEV<8:0>
Family Silicon Errata and Data Sheet Clarification The family devices that you have received conform functionally to the current Device Data Sheet (DS41624B), except for the anomalies described in this
More informationTB3009. Common 8-Bit PIC Microcontroller I/O Pin Issues INTRODUCTION TRIS BITS TABLE 1: QUICK TROUBLESHOOTING GUIDE. Microchip Technology Inc.
Common 8-Bit PIC Microcontroller I/O Pin Issues Author: Jonathan Dillon Microchip Technology Inc. INTRODUCTION This technical brief describes solutions for common I/O pin issues for 8-bit PIC devices (PIC10,
More information20-Pin 8-Bit CMOS Flash Microcontroller Product Brief. Timers 8/16-bit I/O
20-Pin 8-Bit CMOS Flash Microcontroller Product Brief High-Performance RISC CPU: Only 35 Instructions to Learn: - All single-cycle instructions except branches Operating Speed: - DC 16 MHz oscillator/clock
More informationPIC18(L)F24/25/45K50 Family Silicon Errata and Data Sheet Clarification
PIC18(L)F24/25/45K50 Family Silicon Errata and Data Sheet Clarification The PIC18(L)F24/25/45K50 family devices that you have received conform functionally to the current Device Data Sheet (DS30684A),
More informationR&E International A Subsidiary of Microchip Technology Inc.
RE46C104 General Description The RE46C104 is a piezoelectric horn driver with voltage converter to provide maximum audibility in low voltage applications. The feedback control pin is designed for use with
More informationTB082. Understanding Reset Events On The PIC10F20X INTRODUCTION WATCHDOG TIMER OR WDT POWER-ON RESET (POR)
Understanding Reset Events On The PIC10F20X Author: INTRODUCTION The PIC10F20X family of microcontrollers utilizes the baseline 12-bit microcontroller core from Microchip. Because this core does not support
More informationUsing C18/HI-TECH C Compiler to Interface Serial SRAM Devices to PIC16F/PIC18F Microcontrollers
Using C18/HI-TECH C Compiler to Interface Serial SRAM Devices to PIC16F/PIC18F Microcontrollers Author: INTRODUCTION Deepak Kumar Rana Microchip Technology Inc. Microchip s serial SRAM product line represents
More informationUsing C and a Hardware Module to Interface Texas Instruments MSP430XXXX MCUs with SPI Serial EEPROMs CIRCUIT FOR MSP430XXXX AND 25XXX SERIAL EEPROM
Using C and a Hardware Module to Interface Texas Instruments MSP430XXXX MCUs with SPI Serial EEPROMs Author: INTRODUCTION Alexandru Valeanu Microchip Technology Inc. The 25XXX series serial EEPROMs from
More informationInterfacing 8051 MCUs with SPI Serial EEPROMs CIRCUIT FOR P89LPC952 MCU AND 25XXX SERIAL EEPROM
Interfacing 8051 MCUs with SPI Serial EEPROMs Author: INTRODUCTION Alexandru Valeanu Microchip Technology Inc. The 25XXX series serial EEPROMs from Microchip Technology support a half-duplex protocol that
More informationdspic DSC Signal Board User s Guide
dspic DSC Signal Board User s Guide 04 Microchip Technology Inc. DS50006A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
More informationSection 19. Dual Comparator Module
Section 19. Dual Comparator Module HIGHLIGHTS This section of the manual contains the following major topics: 19.1 Introduction... 19-2 19.2 Control Register... 19-3 19.3 Comparator Operation... 19-5 19.4
More informationMaxim DS1338 MCP7940N Migration
Maxim DS1338 MCP7940N Migration Author: INTRODUCTION This migration document describes how to replace the DS1338 RTCC with the MCP7940N RTCC. Note: Eugen Ionescu Microchip Technology Inc. The MCP7940N
More informationTC670. Tiny Predictive Fan Failure Detector. Features. General Description. Applications. Package Type. Typical Application Circuit
Tiny Predictive Fan Failure Detector TC67 Features Fan Wear-Out Detection for 2-Wire Linear-Controlled Fans Replacement System for 3-Wire Fans Fan Alert Signal when Fan Speed is below Programmed Threshold
More informationMCP1602 Evaluation Board User s Guide
MCP1602 Evaluation Board User s Guide 2007 Microchip Technology Inc. DS51691A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
More informationSoftware Tools.
Software Tools www.microchip.com/hi-tech Microchip's Omniscient Code Generation A world class provider of development tools for embedded systems, best known for its high-performance ANSI C compilers featuring
More informationMPLAB ICD 2 DESIGN ADVISORY. Operational Issues AC GROUNDING
MPLAB ICD 2 DESIGN ADVISORY Operational Issues When designing applications that use the MPLAB ICD 2, the following operational issues should be considered: AC Grounding Oscillator Circuit Setup USB Driver
More informationSection 25. Device Configuration
Section 25. Device Configuration HIGHLIGHTS This section of the manual contains the following topics: 25.1 Introduction... 25-2 25.2 Device Configuration... 25-2 25.3 Device Identification... 25-5 25.4
More informationMCP2200 Breakout Module User s Guide
MCP2200 Breakout Module User s Guide 2012 Microchip Technology Inc. DS52064A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
More informationMRF24J40MC PICtail / PICtail Plus Daughter Board User s Guide
MRF24J40MC PICtail / PICtail Plus Daughter Board User s Guide 2011 Microchip Technology Inc. DS70660A Note the following details of the code protection feature on Microchip devices: Microchip products
More informationMSSP MODULE. MSSP Module Silicon/Data Sheet Errata. 1. Module: I 2 C (Slave Mode)
MSSP Module Silicon/Data Sheet Errata The PICmicro microcontrollers you have received all exhibit anomalous behavior in their Master SSP (MSSP) modules, as described in this document. They otherwise conform
More informationMCP215X. MCP215X Rev. A Silicon/Data Sheet Errata. 4. Module: IR Protocol Handler. 1. Module: IR Protocol Handler. 5. Module: Test Escapes
Rev. A Silicon/Data Sheet Errata The parts you have received conform functionally to the device data sheets (DS21655A and DS21690A), except for the anomalies described below. All of the issues listed here
More informationPIC18F4520 PIC18F45K20 Migration
PIC18F4520 PIC18F45K20 Migration DEVICE MIGRATIONS The PIC18F45K20 is a new device based on the PIC18F4520 family which offers many new features, including higher speed operation, lower power consumption,
More information3DTouchPad User s Guide
3DTouchPad User s Guide DS40001763A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular Microchip Data
More information32-bit Microcontrollers. PIC32 Microcontroller Family with USB On-The-Go.
32-bit Microcontrollers PIC32 Microcontroller Family with USB On-The-Go Building on the heritage of Microchip Technology s world-leading 8- and 16-bit PIC microcontrollers, the PIC 32 family delivers 32-bit
More informationTC1303B Dual-Output Regulator with Power-Good Output User s Guide
TC1303B Dual-Output Regulator with Power-Good Output User s Guide 2005 Microchip Technology Inc. DS51563A Note the following details of the code protection feature on Microchip devices: Microchip products
More informationMTCH6301 Utility Version 2.04 User s Guide
MTCH6301 Utility Version 2.04 User s Guide DS40001741B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular
More informationUsing the C18 Compiler to Interface Microwire Serial EEPROMs to PIC18 Devices CIRCUIT FOR PIC18F1220 AND 93 SERIES (MICROWIRE) DEVICE PIC18F1220
Using the C18 Compiler to Interface Microwire Serial EEPROMs to PIC18 Devices Author: INTRODUCTION Chris Parris Microchip Technology Inc. There are many different microcontrollers on the market today that
More informationAN1070. Driving Liquid Crystal Displays with the PIC16F913/914/916/917/946 INTRODUCTION WHAT DOES THE LCD DRIVER MODULE DO?
Driving Liquid Crystal Displays with the PIC16F913/914/916/917/946 AN1070 Author: INTRODUCTION The PIC16F913/914/916/917/946 microcontroller family provides an integrated Driver module that directly drives
More informationInterfacing PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs PDIP RA0 RB3 RA1 RB2 RA4 RA7 PIC18F1220 RA2 RB7 RA3 RB6 RB0 RB5 RB1 RB4 SOT-23 VCC
Interfacing PIC18 MCUs with UNI/O Bus-Compatible Serial EEPROMs AN1183 Author: INTRODUCTION Chris Parris Microchip Technology Inc. As embedded systems become smaller, a growing need exists to minimize
More informationWM32X2057GXXAS. 2.4 GHz IEEE b/g/n Wi-Fi MCU Module. Features. Antenna. Networking. Operating Conditions. RF Features. Memory Interfaces MODULE
2.4 GHz IEEE 802.11 b/g/n Wi-Fi MCU Module Features Fully programmable 2.4 GHz 802.11 b/g/n Wi-Fi module Worldwide regulatory certifications (planned) No external MCU/MPU required Environment friendly,
More informationR&E International A Subsidiary of Microchip Technology Inc.
RE46C112 General Description The RE46C112 is an ionization type smoke detector IC. It is intended for applications using ionization type chambers to detect smoke. When enabled, VOUT is ¼ of either the
More informationMTCH112 Evaluation Kit User s Guide
MTCH112 Evaluation Kit User s Guide 2014-2015 Microchip Technology Inc. DS40001773B Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
More informationMCP2140. MCP2140 Rev. A Silicon/Data Sheet Errata. Clarifications/Corrections to the Data Sheet: INTEGRATED OPTICAL TRANSCEIVER
MCP2140 Rev. A Silicon/Data Sheet Errata The MCP2140 Rev. A parts you have received conform functionally to the MCP2140 device data sheets (DS21790A), with the exception of the anomaly described below.
More informationCuriosity High Pin Count (HPC) Development Board User s Guide
Curiosity High Pin Count (HPC) Development Board User s Guide 2016 Microchip Technology Inc. DS40001856A Note the following details of the code protection feature on Microchip devices: Microchip products
More informationPIC16(L)F1825/1829 Family Silicon Errata and Data Sheet Clarification
Family Silicon Errata and Data Sheet Clarification The family devices that you have received conform functionally to the current Device Data Sheet (DS40001440C), except for the anomalies described in this
More informationAN1243. Low Latency Driver to Access External EEPROM Using PIC18 Family Devices INTRODUCTION LOW LATENCY DESIGN OVERVIEW OF LOW LATENCY DESIGN
Low Latency Driver to Access External EEPROM Using PIC18 Family Devices Authors: INTRODUCTION Obul Reddy and Ganesh Krishna S.M Microchip Technology Inc. This application note is developed based on low
More informationBM63. Bluetooth 4.2 Stereo Audio Module. Features. Audio Codec. RF/Analog. Peripherals. DSP Audio Processing
Bluetooth 4.2 Stereo Audio Module Features FIGURE 1: BM63 MODULE Qualified for Bluetooth v4.2 specifications Supports HFP 1.6, HSP 1.2, A2DP 1.3, SPP 1.2, AVRCP 1.6 Supports Bluetooth 4.2 dual-mode (BDR/EDR/
More informationCommon Debugger Advisories
M IN-CIRCUIT DEBUGGER DESIGN ADVISORY Common Debugger Advisories INTRODUCTION For applications where you intend to use MPLAB ICD 2, MPLAB ICD 3, PICkit 2, PICkit 3, or MPLAB PM3 tools for programming or
More informationPL360G55CB-EK Quick Start Guide
Quick Start Guide Overview is an evaluation kit for the PL360 modem, a multi-protocol device to implement standard and customized PLC solutions. includes a SAMG55 ARM Cortex -M4 microcontroller, which
More informationPIC16(L)F1847 Family Silicon Errata and Data Sheet Clarification
PIC16(L)F1847 Family Silicon Errata and Data Sheet Clarification The PIC16(L)F1847 family devices that you have received conform functionally to the current Device Data Sheet (DS40001453E), except for
More informationInterfacing 23X512/1024 SDI/SQI Serial SRAM Devices to NXP LPC18XX/43XX Microcontrollers Using the SPIFI Peripheral. Vcc B13
Interfacing 23X512/1024 SDI/SQI Serial SRAM Devices to NXP LPC18XX/43XX Microcontrollers Using the SPIFI Peripheral Author: INTRODUCTION Dragos Ciofu Microchip Technology Inc. Microchip s serial SRAM product
More informationMCP1256/7/8/9 Charge Pump Evaluation Board User s Guide
MCP1256/7/8/9 Charge Pump Evaluation Board User s Guide 2006 Microchip Technology Inc. DS51603A Note the following details of the code protection feature on Microchip devices: Microchip products meet the
More informationAN1365. Recommended Usage of Microchip Serial RTCC Devices POWER SUPPLY INTRODUCTION. Power-Up. VCC Ramp Rates. Microchip Technology Inc.
AN1365 Recommended Usage of Microchip Serial RTCC Devices Author: INTRODUCTION Martin Bowman Microchip Technology Inc. Many embedded systems require some form of accurate timekeeping. There are a growing
More informationMCP2210 Breakout Module User s Guide
MCP2210 Breakout Module User s Guide 2012 Microchip Technology Inc. DS52056A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained
More informationInterfacing Baseline PIC MCUs with UNI/O Bus-Compatible Serial EEPROMs SOT-23 GP0 PIC10F202 GP2 GP1 SOT-23 VCC 11XXX VSS SCIO
Interfacing Baseline PIC MCUs with UNI/O Bus-Compatible Serial EEPROMs AN1174 Author: INTRODUCTION Chris Parris Microchip Technology Inc. As embedded systems become smaller, a growing need exists to minimize
More information8-Bit MCUs: Sophisticated Solutions for Simple Applications
8-Bit MCUs: Sophisticated Solutions for Simple Applications Author: Alexis Alcott Microchip Technology Inc. FIGURE 1: BROAD PORTFOLIO OF 8-BIT PIC MCUs INTRODUCTION The 8-bit microcontroller has been around
More informationMCP73871 Evaluation Board User s Guide
MCP73871 Evaluation Board User s Guide 2008 Microchip Technology Inc. DS51755A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification
More informationAR1100 Configuration Utility (ARCU) User s Guide
AR1100 Configuration Utility (ARCU) User s Guide DS41605A Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular
More informationUsing the MSSP Module to Interface SPI Serial EEPROMs with PIC18 Devices PDIP (600 MIL) PIC18F452 VDD VSS. Vcc 25XXX HOLD SCK. Vss
Using the MSSP Module to Interface SPI Serial EEPROMs with PIC18 Devices Author: INTRODUCTION Martin Kvasnicka Microchip Technology Inc. The 25XXX series serial EEPROMs from Microchip Technology are SPI
More informationSection 10. I/O Ports
Section 10. I/O Ports HIGHLIGHTS This section of the manual contains the following topics: 10.1 Introduction... 10-2 10.2 I/O PORTx Control Registers... 10-3 10.3 Peripheral Multiplexing... 10-5 10.4 Change
More information