Digital Signal Controllers Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Digital Signal Controllers Knowledge Base

Labels

Discussions

Sort by:
Now, the DSP56300 and DSP5672x have not roadmap, on the NXP home page, the Suite56 tools is removed. But there are customers who need to use the tools, I put the tools here so that customer can download it free of charge. It includes asm56300.exe assembly compiler, gds56300.exe debugger. Now we only support assembly language for both DSP56300 and DSP5672x families, we do not support C language, there is third part C compiler from task C if customer want to use C compiler. The GDS56300.exe only supports Wiggler(parallel command converter) device, it does not support USB type device. Original Attachment has been moved to: DSP56300Tools.rar
View full article
The eFlexPWM module is an important module, integrated in DSC, Kinetis KV, i.mxrt, MPC56xx families, it can output PWM signals. But it has capture function, can accept synchronous captured signal(synchronous  with it's output PWM signal) and accept asynchronous captured signal, can generate interrupt once the captured signal arrives, can figure out the duty cycle and cycle time of the captured signal. The DOC introduces the capture feature, capture mechanism, it also describes how to configure the PWM pin as capture pin, how to generate capture interrupt, how to figure out duty cycle and cycle time. in the end, it gives the code snippet.
View full article
The documentation describes how to have two eFlexPWM module to synchronize based on MC56F84789, give the waveform of PWM signals copied from oscilloscope, which shows that all PWM signals from eFlexPWMA and eFlexPWMB are synchronized. For eFlexPWMA, the master sync signal is used to synchronize the other subn-modules of eFlexPWMA. For eFlexPWMB module, the eFlexPWMA generates PWMA0_TRIG signal(which is the same signal as master sync signal of eFlexPWMA), the PWMA0_TRIG signal are connect to the PWMB0_EXT_SYNC, PWMB1_EXT_SYNC, PWMB2_EXT_SYNC  via crossbar.
View full article
Update for QuickStart GCT V2.6.3, Updates CPU peripherals and pinout page for all supported devices.
View full article
The CodeWarrior for MCU ver11.x provides dedicated tools to copy flash contents to a file, the doc gives the procedures step by step and corresponding screenshot so that user can finish the task easily. The   CodeWarrior for MCU ver11.x only supports DSC with DSP56800E and DSP56800EX core.  
View full article
The MC56F83000 is the latest DSC family, which has new features the previous family does not have, I list them here so that customer can know the features before they develop application project. 1)USBTAP device is NOT supported 2)ROM bootloader is supported, so user can use blhost tools to download code in bootloader mode after Reset 3)Write configuration field so that the MC56F83xxx knows whether it starts from application code in Flash or bootloader code 4)Add #pragma macro as prefix before ISR
View full article
It is an important task to program the flash of DSC with application code, the CodeWarrior for MCU ver11.x provides a dedicated tools to program flash of DSC. The DOC describes the procedure to program flash of DSC with the tools the CodeWarrior for mcu ver11.x provides. The DSC with DSP56800E and DSP56800EX can use the tools to program flash, which including the latest MC56F84xxx, MC56F82xxx, MC56F83xxx, MC56F81xxx. The tools use JTAG to program flash, so it is not required to enter bootloader mode. The On board OSBDM and Multilink Universal even USBTAPP(for MC56F84xxx, MC56F82xxx) devices are supported.
View full article
Route the PWM signals to external pad via crossbar For the MC56F83xxx, it has 2 eFlexPWM modules PWMA and PWMB, each PWM module can output at least 8 PWM signals, the two PWM modules can output at least 16 PWM signals. The MC56F83xxx has three packages, LQFP100, LQFP80 and LQFP64, for small reduced pin package LQFP80 and LQFP64, maybe some PWM signals can not output to external PWM pads because of reduced pin number for small package, in the case, user can output the PWM signal via crossbar  through crossbar external pads. For detailed information and code, pls refer to the attached doc <<Route the signals to external pad via crossbar.pdf>> The methods adapts to the MC56F81xxx, MC56F82xxx, MC56F83xxx, MC56F84xxx families.  
View full article
With a goal of energy conservation, a project is herein documented and attached as a zip file showing how to operate the key peripherals for a simple power supply (which can be embelished as desired).   All of the peirpherals involved in a power supply are included in the project and are configured to be clocked during STOP mode.   The main program consists of a simple do forever loop which inlcude two instructions:   Goto STOP mode NOP   The NOP is there just to put a breakpoint to show that the CPU wakes up on the timer interrupt. At that point, the ADC samples are available, the PWM and comparator have been running the power supply.   The key is using Processor Expert to configure the clocks to keep running in STOP mode.  This lets the core stop while the smart peripherals keep the power supply running. This is shown just below:     And of course, turn on the clocks for these in the regular run mode as well as shown just above.   The zipped project is attached for CodeWarrior 10.6 for MCU. It uses the MC56F82748 device, the latest DSC from Freescale.
View full article
The PROGDSC tools utilization The PROGDSC tools is PE tools from PEMicro company, which can be used to download code to on-chip flash via JTAG port. The supported device includes Multilink Universal device and OSJTAG which the MC56F83000-EVK board has integrated. The supported DSC families include: DSP56800E core family: MC56F8000 family: MC56F8006, MC56F8013, MC56F8014, MC56F8037… MC56F83xx family: MC56F8323, MC56F8322, MC56F8345, MC56F8346… MC56F82xx family:MC56F824x, MC56F825x…   DSP56800EX core family MC56F84xxx family:MC56F84789, MC56F84553.. MC56F82xxx family: MC56F82748, MC56F82723 MC56F83xxx family: MC56F83789… For detailed inf, pls refer to the attached doc.
View full article
For switch mode power supply application, the output voltage resolution is dependent on PWM resolution, the PWM resolution is dependent on the PWM module driving clock(IP Bus clock) frequency and PWM signal output frequency.  But the eflexPWM module has Fraction Delay logic feature, which is equivalent to increase the PWM module driving clock frequency. For the MC56F847xx, there are two eFlexPWM modules: eFlexPWMA  and eFlexPWMB, the eFlexPWMA supports fractional Delay logic with micro-edge placement.  The eFlexPWMB module does not support the fractional Delay logic with micro-edge placement, but the eFlexPWMB module can use dithering to simulate the fine edge control, the mode is called ”Fraction Delay Logic without Micro-Edge Placement Block”. Although the Reference Manual of MC56F847xx does not list the fractional registers, but they exist exactly. For example, PWMB_SMxFRACVAL1,  PWMB_SMxFRACVAL2, PWMB_SMxFRACVAL3, PWMB_SMxFRACVAL4, PWMB_SMxFRACVAL5 and PWMB_SMxFRACTRL exist. The dithering means that the PWM duty cycle can increase or decrease one out of N PWM cycles, the N is dependent on the fraction value defined in the PWMB_SMxFRACVALy register, for example if the PWMB_SM0FRACVAL4 is 0x4000, the fraction equals to 8/32=1/4, it means that the duty cycle of one PWM cycle  out of four PWM cycles will increase by one. The dithering mode does not need to enable internal PLL module of eFlexPWM. Configuration: Setting the corresponding bits in PWMB_SMxFRACTRL register, then write the  PWMB_SMxFRACVAL1,  PWMB_SMxFRACVAL2, PWMB_SMxFRACVAL3, PWMB_SMxFRACVAL4, PWMB_SMxFRACVAL5 registers, it is okay.               PWMB_SM0FRCTRL=0x04;               PWMB_SM0FRACVAL3=0x2000; The PWMB module configuration: PMB_SM0VAL2= PWMB_SM0VAL4, PWMB_SM0VAL3= PWMB_SM0VAL5, and PWMB_SM0CTRL2=0x2000; PWMB_SM0FRCTRL=0x04; PWMB_SM0FRACVAL3=0x2000;   With the above figuration, the PWMB_SM0 is set up in independent mode, and the PWMB_A0 and PWMB_B0 should have the same waveform if there is not fractional feature. After the fractional Delay logic with dithering sub mode is enabled, the duty cycle of one PWM cycle out of 8 PWM cycle is different.     In the figure, two channels PWMB_A0 and PWMB_B0 are displayed, because the two signals almost have the save waveform, so they are superimposed most of time, but there are two cycle which are different. The Yellow channel on the oscilloscope  is pin 23 of J503( GPIOG2 or  PWMB-B0) signal, the pink channel is pin24 of J503(GPIOG3 or  PWMB_A0 )signal. You can see one one duty cycle among 8 PWM cycle is different. BR XiangJun Rong
View full article
The USB TAP for DSC has been used with the DSC for many years. Provision has been made to utilize a newer programming hardware module, the CodeWarrior TAP. Now, with a simple upgrade to software (the ccs directory of CodeWarrior), the DSC may also be used with the CodeWarrior TAP's USB interface.   CodeWarrior 8.3 for DSC unmodified is not able to use the CodeWarrior TAP (but of course works with the USB TAP for DSC). To upgrade your CodeWarrior 8.3 for DSC to be able to use the CodeWarrior TAP (as well as the USB TAP for DSC), get this file from www.freescale.com:   AN4824SW.zip (Also it would be a good idea to review AN4824, also available at the same site.)   The zip file includes the software for the standalone programmer.  This includes the new CCS directory, which may replace the CCS directory in CodeWarrior 8.3 for DSC, thus effecting the upgrade. Note, the application associated with AN4824SW.zip already works with the CodeWarrior TAP, as well as the USB TAP for DSC.   To upgrade CW 8.3 for DSC, merely delete the CCS directory from CW 8.3 for DSC. Then, replace that directory with the CCS directory available in the AN4824SW.zip. (Once you install AN4824SW.zip, the CCS directory typically ends up at C:\Freescale\Freescale DSC Flasher, if C: is your drive and you use the default install options.)   This will give a new CCS directory to CodeWarrior 8.3 for DSC that functions both with the USB TAP for DSC, and the CodeWarrior TAP. Then, both CodeWarrior for DSC and the standalone flash programmer will both work with both the USB TAP for DSC, and the CodeWarrior TAP.
View full article
Motor control library 56800E_FSLESL_r3.0
View full article
Hi, all The flash-over-jtag tools is a tools which can program the DSP56F80x family with wiggler, per customer request, I attach it here so that customer can download it directly. BR Xiangjun Rong
View full article
Graphical configuration tool for QuickStart 2.6 for DSC, V2.6.31, To apply the update unpack the file to <DSC56800EX_Quick_Start_r2.6_path>\tools\gct\
View full article
Codewarrior-Tap Overview
View full article
I attach the 56F800E flash programmer so that customer can download it. BR XiangJun Rong
View full article
Standard DSC startup code most often includes a do loop. That do loop execution assigns a known value to the LA register. If you are using startup code that does NOT include a do loop, you need to explicitly initialize the LA register to an address that is not inside of an interrupt service routine. Why?  Standard save all and restore all code included by the IDE for interrupt handlers can itself be interrupted. There is a window of opportunity to be interrupted after the  restore all routine pushes the HWS (Hardware stack register) twice (thus setting both Loop flag in the SR and NL in the OMR registers). If you get interrupted just after doing the HWS pushes,  you can enter a fast ISR without clearing the LF, and then if your PC matches the uninitialized LA register (which aquires any possible value after power up) while in the middle of the interrupting ISR, then end of loop is recongnized and program flow becomes erratic after that.      Just initialize LA if you change the default stationery, please.   Depending on the version of IDE you are using, you may need to worry about the shadow register for M01 as well. Version 8.3 for DSC does not initialize this register, which can lead to issues. If you are using CW 10.6, the currently supported version, this register is initialized by default.   Please compare your start-up code to that produced by CW 10.6 for the part you are using if it fits this mask:  MC56F8xx, ..8xxx, ..8xxxx.
View full article
Based on customer requirement, I dragged the PMSM FOC control code here so that customer can download it from the link. BR Xiangjun Rong
View full article
The documentation talks about the PWM_nX signal, gives the register setting to set up the duty cycle of PWM_X, and tricks to control the timing of PWM_nX, and the restriction for PWM_X.
View full article