Part Number: AMC1210
Dear Ladies and Gentlemen,The AMC1210 is used in a DC Motor Application in Combination with two AMC1204BDWV.The Data Format of Sinc Filter is in two's complent and the value for High-level Threshold Register for Filter Module 1 (0x04)is straight binary.I have Interrupts although I have no Load connected. Current is 0A.T think this problem has to do with with two's complent.The Comperator can not distinguish small negative values from large positive values.The Configuratio is like below:================================Oversampling of Sinc Filter and Comperator is 8 (Value 0-127)The both High-level Threshold Register (0x04 , 0x0A) are set to 64 or 0x0040.CTRL_PAR_REG_1 (0x01) Value: BIT 4SINC_FIL_REG_1 (0x02) Value: BIT8 | BIT2 | BIT1 | BIT0 ;L_THR_REG_1 (0x05) Value: Bit 8 setCTRL_PAR_REG_2 (0x07) Value: BIT4 | BIT3SINC_FIL_REG_2 (0x08) Value: BIT8 | BIT2 | BIT1 | BIT0 ;L_THR_REG_2 (0x0B) Value: Bit 8 setCLK_DIV_REG (0x1B) Value: BIT 11 | BIT4;CTRL_REG (0x19) Value: BIT 13 ;My idea was to set the Interrupt only with the High Level Threshold and look at low Level Flag too.The L_THR_REG_1 +2 (0x05 , 0x0B) set with Values above the Range.So i can distinguish small negative values from large positive values.The problem is , that the low level Flag is only active, when the Low levelInterrupt is active.But then I have Interrupts for ever.Do You have an workaround ?Many Thanks in advance
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Tom Hendrick:
Hi User, Sorry for all the delay here - as noted, the OVC register content is straight binary. The peak values are as shown in Table 9 for the various OSR and SINCx filter level. 'Zero current' would be the mid-scale number (OSR * Filter)/2 - so for an OSR of 16 with a SINC 3 filter, the MAX value is 4096, mid scale (i.e. 0 current) is 2048. In this scenario, IHT =(COMP_MAX/2)*(1 + Itrip/Imax) →high level threshold and ILT =(COMP_MAX/2)*(1 - Itrip/Imax) →low level threshold. Enter the decimal equivalent values in the threshold registers and let us know how you make out.
In reply to user4315872:
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.