I am currently designing a FOC motor driver with a MCF8316C chip from TI and I am having quite a lot of troubles to get it to work. I plan on controlling it with a PWM signal coming from a Nucleo-f429zi board from stmicroelectronics.
The chip default setting is for it to work with analog input. It is possible to change that by changing the register with I²C commands. However, I understood from the TI Forum that the protocol of the device is flawed (unusual ID, needs delay between each byte package or to set the speed to 10 kHz instead of 100kHz). I’ve done all that but the driver just won’t work I am relatively new to coding so I am a bit lost.
So far I’ve sent the config that i want to the register, then sent the command to save the config in the shadow register to the eeprom, then tried to read the changed register but the output doesn’t make sense. Instead of having 0x00000001, I have 0x003f59b0. Since the default setting is 0x00000000 and I haven’t changed anything else I don’t understant why I have this. I looked at the frame sent and I don’t see anything wrong.
You are right. Control word is actually three bytes. I tried to go through the datasheet again and the protocol is way more crowded than I am used to. I will try to add the missing control word bytes and tell you if it worked.