I used to use MC56F8346, but its calibration arithmetic is trouble.This time come here to have a consult whether there is a DSP/DSC product support fractional arithmetic, especially can compatible with MC56F8346?
I want to buy a minimum system of DSP/DSC which support fractional arithmetic.Could you recommend something? And where can I go to?
Hi,
All DSC family including MC56F8346/MC56F84xxx/MC56F82xxx all support fractional arithmetic(fixed-point arithmetic) or integer arithmetic, which one is used is dependent on the assembly instruction which manipulate the data.
For example, the data 0x4000 is saved in register x0 and y0, x0 and y0 are register of DSP56800 core.
x0=0x4000;
y0=0x4000;
if we use the assembly instruction:
mpy x0,y0,A
After the instruction, the A is 0x00 2000 0000, which is 0.25, it is a fractional multiplication.
If we use the assembly instruction:
impy x0,y0,A
after the instruction, the A is 0x00 1000 0000, it is integer multiplication
The MPY, MAC, MPYR, and MACR instructions perform fractional multiplication and fractional
multiply-accumulation. The IMPY.W, IMPY.L, and IMAC.L instructions perform integer multiplication.
Pls refer to section 5.3.3 Multiplication in DSP56800ERM, which can be downloaded from the website:
56F834X-814X|Digital Signal Controllers|NXP
The name is "DSP56800E and DSP56800EX-Reference Manual"
The MC56F84xxx for example MC56F84789 or the MC56F82xxx for example MC56F82748 are latest DSC chip, I suggest you use them, all of them support fractional arithmetic and integer arithmetic.
Hope it can help you.
BR
Xiangjun Rong
All DSC family including MC56F8346/MC56F84xxx/MC56F82xxx are all fixed-point arithmetic? Do you have a kind of DSC/DSPs support float-point?
Hi,
As I said that all Freescale DSP family including DSP56800 core, DSP56300 core, StarCore are all fixed-point processors, we have not the DSP which supports float point from hardware perspective. But the CodeWarrior for DSP56800 tools can simulate the float operation using firmware instead of hardware, the disadvantage is time consuming operation for float operation.
For example, the code is okay
float a,bc;
a=1.2; b=1.3, c=a*b;
The CW tools can generate code to compute the c variable.
The Kinetis KV family is an option, for example, the KV4x and KV5x use Cortex-M4 and Cortex-M7 cores, they have FPU, and support float operation from hardware persppective.
BR
Xiangjun Rong