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