TI中文支持网
TI专业的中文技术问题搜集分享网站

MCT8329A: MCU采用了STM32芯片,但是打算用I2C控制驱动芯片,但是配置了ISD,MOTOR,CLOSED这些寄存器,仍然不能让电机转起来

Part Number:MCT8329AOther Parts Discussed in Thread:MSP430FR2355

MCU采用了STM32芯片,但是打算用I2C控制驱动芯片,但是配置了ISD,MOTOR,CLOSED这些寄存器,仍然不能让电机转起来。是所以的寄存器都需要配置吗?通过I2C发生配置需要有什么注意项,有参考的例程吗?

Alice:

您好,

    评估板MCT8329EVM是采用TI的MSP430FR2355控制的,请在MCT8329EVM 评估板 | TI.com.cn产品网页下载“MCT8329A-GUI”,查看示例代码。

   具体请参考用户手册 MCT8329EVM 评估模块 (Rev. A) (ti.com.cn) “7.1”章节内容。

,

P Zq:

I2C通信发送指令为 0XC0 0X10 在发送16位的地址,然后发送32位的数据,但是读取的发送0XC0然后是0X90读取32位的地址数据,但是读不到数据

,

Alice:

您好,

    MCT8329默认I2C地址是0x60, I2C读写过程要有MCT8329的ACK。

   可以先用”7.6.2.3 I 2C Read Operation“ 读取寄存器,验证芯片是否工作和I2C通讯时序,

    I2C写入请参考”7.6.2.2 I 2C Write Operation“ 。   

,

P Zq:

我发送指令 0x60. 0x10 然后呵呵地址0x80写进去数据,但是通过ox60. 0x90. 读取0x80寄存器的数据 在0x61。返回数据是00

,

Alice:

您好,

    芯片数据手册“7.6.2.4 I 2C 通信协议数据包示例”有通讯示例。

    MCT8329A 高速无传感器梯形控制三相 BLDC 栅极驱动器 datasheet (ti.com.cn)

,

P Zq:

我读取的80地址的数据,返回值都是2fffffff,这是为什么?我写入值为0x84010062

,

Alice:

I2C通讯时,读到MCT83829A的ACK了吗?

,

P Zq:

能读到ack    Ack

,

P Zq:

发送完c1后,进行寄存器读取时,无法得到ack

,

P Zq:

发送完读取指令后,进行寄存器读取,但是返回值都是ff,再进行ack时,无法获得ack

,

Alice:

您好,

       0xc1是targert ID+I2C读取位吧? 前面要再加个I2C启动。具体请参考数据手册 “7.6.2.3 I 2C 读取操作”。

       

       

,

P Zq:

  添加了重新启动c1,但是只能接受2次数据,仍不是完成的

,

P Zq:

,

Alice:

您好,

     有数据返回,说明MCT83829A芯片已正常工作,

     读不全和芯片无关,请检查MCU的I2C读字节程序。

     Len是多少?

,

P Zq:

Len我设置了为4,主要是读到数据都是ff,但是实际设置没有ff

,

P Zq:

,

P Zq:

,

Alice:

  I2C读取时,发送RS+targert ID+I2C读取位数据,后面的ACK是MCT83829A输出,

  然后MCT83829A通过SDA输出数据,ACK由MCU输出,

  您程序中的IIC_Wait_Ack()是等待MCT83829A的ACK,没有MCU输出ACK。

,

P Zq:

 读取的函数内会发ack,形参0.1我都试过,返回的数据都不太好,只有最后一个一节是对的

,

P Zq:

如我在80地址写入的数据为0x6c9265b7,那么我读取到的数据就是0x5bb7cbb7,只有最后一个对

,

P Zq:

,

P Zq:

给寄存器写入数据时,写完第一个字节,读取ack时都是失败,这样需要重新全部发送吗?

,

Alice:

如前面回复,I2C通讯,发送端要收到接收端的ACK才能发送下一个字节,函数中是使用while()等待ACK吗?

,

P Zq:

是的,专门是为了接受从机发送的ack,如果收不到几天重新发送。

,

P Zq:

如果选择speed引脚输出 pwm  控制驱动,brake拉低,drvoff 拉低,dir 拉高。还有什么需要配置吗?

,

Alice:

  请参考数据手册“7.3.9 电机启动顺序 (MSS)”了解启动过程。 

赞(0)
未经允许不得转载:TI中文支持网 » MCT8329A: MCU采用了STM32芯片,但是打算用I2C控制驱动芯片,但是配置了ISD,MOTOR,CLOSED这些寄存器,仍然不能让电机转起来
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1