Silicon Laboratories Stepper Machine Manuel d'utilisateur

Naviguer en ligne ou télécharger Manuel d'utilisateur pour Steppers Silicon Laboratories Stepper Machine. AN428 - Silicon Labs Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 40
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 0
Rev. 0.6 10/10 Copyright © 2010 by Silicon Laboratories AN428
AN428
JUMP START: IN-SYSTEM, FLASH-BASED PROGRAMMING
FOR SILICON LABS’ TIMING PRODUCTS
1. Introduction
Silicon Labs' timing products provide unparalleled performance, flexibility, and functionality, freeing designers to
focus on other value-adding aspects of their designs. To take full advantage of the flexibility of these timing devices
and optimize in-system performance, Silicon Labs provides numerous device controls. Computer-based
configuration software provides the easiest method of configuring these timing devices. To maximize in-system
potential, ease hardware debugging, and help jump-start the designer’s timing path, Silicon Labs presents a
hardware-friendly solution called JumpStart.
JumpStart provides a simple solution for in-system programming of the timing subsystem. It can be used for both
on-board frequency plan development and manufacturing-level programming. JumpStart relies on a small form-
factor, stand-alone microcontroller (MCU) and code that accepts frequency plans for Silicon Labs' timing devices.
The MCU firmware is partitioned to allow easy editing of the device configuration. Once created, the device
configuration is simply downloaded to the MCU's flash memory. The provided JumpStart reference design code
then steps through the user-supplied configuration and programs the target timing device(s). Since the flash
memory can be reconfigured as needed, hardware developers are free to iterate through as many design
scenarios as desired. Once the final firmware is established, the MCU can be preconfigured at Silicon Labs with
customized firmware. Therefore, the system configuration can be easily established during development without
complicating the manufacturing flow.
The JumpStart reference design code provides serial port access to Silicon Labs' full lineup of timing clock devices,
such as the DSPLL™-based Any-Frequency Precision Clocks (e.g., Si5326 and Si5368) as well as the MultiSynth
based Any-Frequency, Any-Output Clock Generators (e.g., Si5338, Si5356). Since the serial bus standards allow
connection to multiple devices, expanded configurations with many devices can be easily created. The reference
design code is provided royalty-free and can be modified to support connections to as many devices as needed.
Vue de la page 0
1 2 3 4 5 6 ... 39 40

Résumé du contenu

Page 1 - 1. Introduction

Rev. 0.6 10/10 Copyright © 2010 by Silicon Laboratories AN428AN428JUMP START: IN-SYSTEM, FLASH-BASED PROGRAMMING FOR SILICON LABS’ TIMING PRODUCTS1.

Page 2 - 2. JumpStart Usage Model

AN42810 Rev. 0.6{ 91,0x00,0xFF},{ 92,0x00,0xFF},{ 93,0x00,0xFF},{ 94,0x00,0xFF},{ 95,0x00,0x3F},{ 96,0x10,0x00},{ 97,0x00,0xFF},{ 98,0x30,0xFF},{ 99,0

Page 3 - C or SPI

AN428Rev. 0.6 11{127,0x00,0xFF},{128,0x00,0xFF},{129,0x00,0x0F},{130,0x00,0x0F},{131,0x00,0xFF},{132,0x00,0xFF},{133,0x00,0xFF},{134,0x00,0xFF},{135,0

Page 4 - 3. Choosing the MCU

AN42812 Rev. 0.6{163,0x00,0xFF},{164,0x00,0xFF},{165,0x00,0xFF},{166,0x00,0xFF},{167,0x00,0xFF},{168,0x00,0xFF},{169,0x00,0xFF},{170,0x00,0xFF},{171,0

Page 5 - 4.1. Firmware Description

AN428Rev. 0.6 13{199,0x00,0xFF},{200,0x00,0xFF},{201,0x00,0xFF},{202,0x00,0xFF},{203,0x00,0x0F},{204,0x00,0xFF},{205,0x00,0xFF},{206,0x00,0xFF},{207,0

Page 6 - 6 Rev. 0.6

AN42814 Rev. 0.6{236,0x00,0x00},{237,0x00,0x00},{238,0x14,0x00},{239,0x00,0x00},{240,0x00,0x00},{242,0x00,0x02},{243,0xF0,0x00},{244,0x00,0x00},{245,0

Page 7 - Rev. 0.6 7

AN428Rev. 0.6 15{ 18,0x00,0x00},{ 19,0x00,0x00},{ 20,0x90,0x00},{ 21,0x31,0x00},{ 22,0x00,0x00},{ 23,0x00,0x00},{ 24,0x01,0x00},{ 25,0x00,0x00},{ 26,0

Page 8 - 8 Rev. 0.6

AN42816 Rev. 0.6{ 54,0x00,0xFF},{ 55,0x00,0xFF},{ 56,0x01,0xFF},{ 57,0x00,0xFF},{ 58,0x00,0xFF},{ 59,0x00,0x0F},{ 60,0x00,0x00},{ 61,0x00,0x00},{ 62,0

Page 9 - Rev. 0.6 9

AN428Rev. 0.6 17{ 90,0x00,0xFF},{ 91,0x00,0x0F},{ 92,0x00,0x00},{ 93,0x00,0x00},{ 94,0x00,0x00},{255, 0, 0xFF} }; // set page bit to 0 4.5. Programmi

Page 10 - 10 Rev. 0.6

AN42818 Rev. 0.65. EnhancementsThe following descriptions provide ideas for modifying or expanding the programming technique described above. Custom

Page 11 - Rev. 0.6 11

AN428Rev. 0.6 19APPENDIX: JUMPSTART PROGRAM USING THE C8051F301//-----------------------------------------------------------------------------// F300_

Page 12 - 12 Rev. 0.6

AN4282 Rev. 0.62. JumpStart Usage Model1. Use the device evaluation board and its configuration software for the desired timing device to create a co

Page 13 - Rev. 0.6 13

AN42820 Rev. 0.6// - Added test for when the mask = 0x00 to skip that register access// - Updated Si5338 register mask list in register_map.h///

Page 14 - 14 Rev. 0.6

AN428Rev. 0.6 21// End status vector definition//#define SI5338_DELAY 4800 //2ms//#define SI5338_DELAY 24000 //10ms#define SI5338_DELAY 28800 //12ms#

Page 15 - Rev. 0.6 15

AN42822 Rev. 0.6 // I2C_ByteWrite() // functions have claimed the SMBusbit SMB_RW;

Page 16 - 16 Rev. 0.6

AN428Rev. 0.6 23INTERRUPT_PROTO(SMBus_ISR, INTERRUPT_SMBUS0);INTERRUPT_PROTO(Timer2_ISR, INTERRUPT_TIMER2);void I2C_ByteWrite (U8 addr, U8 dat);U8 I2C

Page 17 - 4.5. Programming the Si5338

AN42824 Rev. 0.6 CKCON = 0x10; // Timer 1 is sysclk // Timer 2 is sysclk/12 (see TMR2CN)

Page 18 - 6. Conclusion

AN428Rev. 0.6 25 // since the mask is all ones I2C_ByteWrite(curr.Reg_Addr, curr.Reg_Val); } else { //do a re

Page 19 - Rev. 0.6 19

AN42826 Rev. 0.6 } //copy FCAL values I2C_ByteWrite(45, I2C_ByteRead(235)); I2C_ByteWrite(46, I2C_ByteRead(236)); // clear bits 0 and 1 from

Page 20 - 20 Rev. 0.6

AN428Rev. 0.6 27//// Return Value : None// Parameters : None//// The SMBus peripheral is configured as follows:// - SMBus enabled// - Slave mode dis

Page 21 - Rev. 0.6 21

AN42828 Rev. 0.6// - The maximum SCL clock rate will be ~1/3 the Timer1 overflow rate// - Timer1 enabledvoid Timer1_Init (void){// Make sure the Timer

Page 22 - 22 Rev. 0.6

AN428Rev. 0.6 29 TF2H = 0; TF2L = 0; ET2 = 1; // Timer2 interrupt enable TR2 = 1; // Sta

Page 23 - Rev. 0.6 23

AN428Rev. 0.6 33. After reset or powerup, the MCU will write the register map into the target timing device. The timing device is now fully configured

Page 24 - 24 Rev. 0.6

AN42830 Rev. 0.6//-----------------------------------------------------------------------------//// SMBus ISR state machine// - Master only implementa

Page 25 - Rev. 0.6 25

AN428Rev. 0.6 31 STA = 1; SEND_START = 0; break; } if(SMB_SENDWORDADDR) // Are w

Page 26 - 26 Rev. 0.6

AN42832 Rev. 0.6 } } else {} // If this transfer is a READ,

Page 27 - Rev. 0.6 27

AN428Rev. 0.6 33 // of this transfer STO = 1; // Send STOP to terminate transfer

Page 28 - 28 Rev. 0.6

AN42834 Rev. 0.6//INTERRUPT(Timer2_ISR, INTERRUPT_TIMER2){ SMB0CF &= ~0x80; // Disable SMBus SMB0CF |= 0x80;

Page 29 - Rev. 0.6 29

AN428Rev. 0.6 35 SMB_RW = WRITE; // Mark next transfer as a write SMB_SENDWORDADDR = 1; // Send Word Address aft

Page 30 - 30 Rev. 0.6

AN42836 Rev. 0.6// Parameters :// 1) unsigned char addr - address to read data from the device// range is full range of character: 0 to 255//

Page 31 - Rev. 0.6 31

AN428Rev. 0.6 37 // Initiate SMBus Transfer STA = 1; while(SMB_BUSY); // Wait until data is read return return_val;}

Page 32 - 32 Rev. 0.6

AN42838 Rev. 0.6DOCUMENT CHANGE LISTRevision 0.1 to Revision 0.2 Updated Figures 1, 2, and 3. Updated "4.1. Firmware Description" on page

Page 33 - Rev. 0.6 33

AN428Rev. 0.6 39NOTES:

Page 34 - 34 Rev. 0.6

AN4284 Rev. 0.63. Choosing the MCUFor JumpStart, consider these MCU features: Physical size Memory size Serial interface (I2C or SPI) Digital pin

Page 35 - Rev. 0.6 35

AN42840 Rev. 0.6CONTACT INFORMATIONSilicon Laboratories Inc.400 West Cesar ChavezAustin, TX 78701Tel: 1+(512) 416-8500Fax: 1+(512) 416-9669Toll Free:

Page 36 - 36 Rev. 0.6

AN428Rev. 0.6 54.1. Firmware DescriptionThe full code listing of this example is available in the appendix as well as online at www.silabs.com. To do

Page 37 - return return_val;

AN4286 Rev. 0.64.3. Using the Header File Generation Function (Save C Code Header File)Starting in version 2.5 of the ClockBuilder Desktop software,

Page 38 - DOCUMENT CHANGE LIST

AN428Rev. 0.6 74.4. Register Map Header File// Register map for use with AN428 (JumpStart)// http://www.silabs.com/products/clocksoscillators/pages/d

Page 39 - Rev. 0.6 39

AN4288 Rev. 0.6{ 19,0x00,0x00},{ 20,0x00,0x00},{ 21,0x00,0x00},{ 22,0x00,0x00},{ 23,0x00,0x00},{ 24,0x00,0x00},{ 25,0x00,0x00},{ 26,0x00,0x00},{ 27,0x

Page 40 - CONTACT INFORMATION

AN428Rev. 0.6 9{ 55,0x00,0xFF},{ 56,0x00,0xFF},{ 57,0x00,0xFF},{ 58,0x00,0xFF},{ 59,0x01,0xFF},{ 60,0x00,0xFF},{ 61,0x00,0xFF},{ 62,0x00,0x3F},{ 63,0x

Commentaires sur ces manuels

Pas de commentaire