Patent ID: 8633667

Claim:
A semiconductor integrated circuit device, comprising: a central processing unit (CPU) for performing a software processing; a motor speed determining portion for detecting whether a rotation speed of a motor is lower or higher than a retained predetermined value; a computing portion including a correction circuit; and a waveform generation portion including a waveform generation circuit, wherein a resolver value is obtained by counting up a resolver signal outputted from a resolver attached to the motor, wherein, when the rotation speed of the motor is lower than the predetermined value, the resolver value is corrected by the software processing, and, when the rotation speed of the motor is higher than the predetermined value, the resolver value is corrected by the correction circuit, wherein, when the rotation speed of the motor is lower than the predetermined value, a motor driving waveform is generated by the software processing, and, when the rotation speed of the motor is higher than the predetermined value, the motor driving waveform is generated by the waveform generation circuit, wherein the computing portion includes: a data storage portion storing first error correction data of a difference between the resolver value including error in one cycle of the resolver and a reference resolver value not including error; and a computing circuit of resolver value correction performing a correction processing of the resolver value including error based on the first error correction data, and wherein the computing circuit of resolver value correction adds or subtracts the first error correction data to or from the resolver value including error inputted, calculates a shift as second error correction data between a resolver value not including error and a resolver value including error per optional cycle, which is obtained by dividing the one cycle of the resolver by two or more, compares a ratio of the second error correction data and the first error correction data, and reflects the ratio as third error correction data to a next resolver value.