Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE
Hi,
i am a bit confused about the *** Control Bit Configuration, maybe you can clarify.
Here the Info from the datasheet
Here also from the datasheet
The table says, that i should use 7 Bits to shift when OSR = 128 and SINC3
The text says, that 7 should be used, when OSR = 128 and SINC3
Here the confusing from example #1
C:\ti\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00
#define OSR_RATE OSR_128
/*******************************************************/ /* Sinc filter Module */ /*******************************************************/ //Configure Data filter modules filter type, OSR value and enable / disable data filter // 16 bit data representation is chosen for OSR 128 using Sinc3, from the table in the TRM // the max value represented for OSR 128 using sinc 3 is +/-2097152 i.e. 2^21 // to represent this in 16 bit format where the first bit is sign shift by 6 bits Sdfm_configureData_filter(1, FILTER1, FILTER_ENABLE, SINC3, OSR_RATE, DATA_16_BIT, SHIFT_6_BITS); Sdfm_configureData_filter(1, FILTER2, FILTER_ENABLE, SINC3, OSR_RATE, DATA_16_BIT, SHIFT_6_BITS); Sdfm_configureData_filter(1, FILTER3, FILTER_ENABLE, SINC3, OSR_RATE, DATA_16_BIT, SHIFT_6_BITS);
The code says, that 6 is used for shift, when OSR_RATE = 128 and SINC3
Next Example #2
C:\ti\c2000\C2000Ware_3_02_00_00\driverlib\f2837xd\examples\cpu1\sdfm
File: sdfm_ex1_filters.c
//
// Data Filter Unit
//
// Configure Data Filter Unit - filter type, OSR value and
// enable / disable data filter
//
SDFM_configDataFilter(SDFM1_BASE, (SDFM_FILTER_1 | SDFM_FILTER_SINC_3 |
SDFM_SET_OSR(128)), (SDFM_DATA_FORMAT_16_BIT | SDFM_FILTER_ENABLE |
SDFM_SHIFT_VALUE(0x0008)));
The code says, that 8 is used for shift, when OSR_RATE = 128 and SINC3
Thank you !
cheers Peter
Cheers

