FOC系列(二)----继续学习DRV8301芯片

这篇具有很好参考价值的文章主要介绍了FOC系列(二)----继续学习DRV8301芯片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、 程序框图

   跟随上篇博客咱们继续往下看,下面是芯片内部的程序框图:

1.1 BUCK电路

1.2 内部各电源

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

1.3 SPI通信、栅极驱动器和时序控制器

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

1.4 MOSFET驱动电路

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

1.5 电流采样放大电路

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

   数据手册只是给出了这一部分框图,但是没有更加详细的介绍,不过没关系,咱继续往下看,会逐渐补齐该部分的功能。

二、 功能描述

2.1 三相栅极驱动器

   每个半桥被配置为驱动两个n沟道MOSFET,一个用于高侧,一个用于低侧。半桥驱动器可以组合使用来驱动三相电机,也可以单独使用来驱动各种其他负载。
  峰值栅极驱动电流和内部死区时间可调,以适应各种外部MOSFET和应用。 峰值栅极驱动电流通过寄存器设置设置,死区时间通过DTC引脚上的外部电阻调整。将DTC引脚短接到地将提供最小死区时间(50ns)。在开关转换期间,高侧和低侧mosfet之间存在内部手抖,以防止电流穿过。
三相栅极驱动器可以提供高达30mA的平均栅极驱动电流。
  每个MOSFET栅极驱动器都有一个VDS感测电路,用于过流保护。当使能MOSFET时,感测电路测量从漏极(D)到外部MOSFET源极(S)的电压 V D S V_{DS} VDS。将 V D S V_{DS} VDS与程序设定的跳闸点进行比较,以确定是否发生过流事件。高侧感测位于PVDD1和SH_X引脚之间。低侧感测位于SH_X和SL_X引脚之间。
   DRV8301允许通过 寄存器设置进行6-PWM和3-PWM控制:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
   下面是官方给出的外部MOSFET山及驱动电路各元器件的推荐值:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

2.2 电流放大器

   DRV8301的电流放大器有四个可编程的增益设置通过SPI寄存器。这是10,20,40,80V/V。偏置设置为参考引脚(REF)上电压的一半。为了最小化直流偏置和漂移过温,通过DC_CAL引脚或SPI寄存器提供了一种校准方法。
   电流并联放大器的输出可计算为: V O = V R E F 2 − G × ( S N X − S P X ) V_O=\frac{V_{REF}}{2}-G×(SN_X-SP_X) VO=2VREFG×(SNXSPX)
   • V R E F V_{REF} VREF是参考电压(REF引脚)
   •G是放大器的增益(10,20,40或80V/V)
   • S N X SN_X SNX S P X SP_X SPX是通道x的输入,SPX应连接到检测电阻的接地侧,以获得最佳的共模抑制。
   在此处请注意哈(这个地方我对数据手册出现了一个疑惑),一般来说,N表示 N e g a t i v e Negative Negative,P表示 P o s i t i v e Positive Positive,所以感觉上面的公式应该是 V O = V R E F 2 − G × ( S P X − S N X ) V_O=\frac{V_{REF}}{2}-G×(SP_X-SN_X) VO=2VREFG×(SPXSNX),但是看完数据手册发现,人家就是这样定义的,咱们把N当成正就好,当然这个问题不大:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

2.3 保护功能

   这一部分主要是介绍一下过流、过压保护之累的功能,我们只看一些比较关键的点即可:
   当电压超过电压阈值时触发过流保护功能。电压阈值通过SPI寄存器编程: V D S = I D S × R D S ( o n ) V_{DS} = I_{DS} × R_{DS(on)} VDS=IDS×RDS(on)
   这里需要配合寄存器那边来看:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
   如果你把控制寄存器2的OC_ADJ_SET 6到10位通过SPI设置为12,根据表可以看出 V d s ( V ) = 0.250 V_{ds(V)}=0.250 Vds(V)=0.250,这时再看你选择的MOSFET的 R D S ( o n ) R_{DS(on)} RDS(on)(即导通电阻,一般很小),假设为0.25Ω,那么根据 V D S = I D S × R D S ( o n ) V_{DS} = I_{DS} × R_{DS(on)} VDS=IDS×RDS(on)式,得出 I D S = 1 A I_{DS}=1A IDS=1A
   通过SPI寄存器可以设置四种不同的过流模式(OC_MODE):
     1. 电流限制模式在电流限制模式下, 设备在过流事件期间使用电流限制而不是设备关闭。在这种模式下,设备通过nOCTW引脚报告过流事件。nOCTW引脚将保持低电平。
   在电流限制模式下有两个电流控制设置。这些是由SPI寄存器中的一位设置的。默认模式为CBC (cycle by cycle)。
      ①CBC (Cycle by Cycle)模式:在CBC模式下, 检测到过电流的MOSFET将关闭,直到下一个PWM周期。
     ②Off-Time控制模式:在Off-Time模式下,检测到过流的MOSFET将在64µs的时间内关闭(由内部定时器设置)。如果在另一个MOSFET中检测到过流,计时器将复位另一个64µs周期,两个MOSFET将在持续时间内禁用。在此期间,可以通过相应的PWM周期恢复特定MOSFET的正常工作。
    2.OC闩锁关闭模式,当过流事件发生时,高侧和低侧mosfet将在相应的半桥中禁用。nFAULT引脚和nFAULT状态位将与检测到过电流的MOSFET的相关状态位一起断言。OC状态位将锁存,直到下一个SPI读取命令。nFAULT引脚和nFAULT状态位将锁存,直到通过GATE_RESET位或快速EN_GATE复位脉冲接收到复位。
      3和4模式分别为仅报告和禁用 ,这两个比较好理解,个人推荐限流模式的CRC模式。
   剩余的就是一些过压保护之类的,这里不再详细介绍了。

2.4 上电和关闭顺序

   在上电期间,所有栅极驱动输出都保持低电平 。栅极驱动器和电流放大器的正常工作可以通过将EN_GATE从低状态切换到高状态来启动。如果没有错误,DRV8301准备接受PWM输入。只要PVDD在功能区内,即使在栅极禁用模式下,栅极驱动器也始终具有对功率场效应管的控制。
   从SDO到VDD_SPI有一个内部二极管,所以VDD_SPI需要一直被供电到与其他SPI设备相同的功率水平(如果有来自其他设备的SDO信号)。在SDO引脚上出现任何信号之前,VDD_SPI电源应首先上电,并在SDO引脚上完成所有通信后关闭电源。
   该部分还是比较重要的,本人的芯片就是目前出现了一点问题,我怀疑和这个上电顺序可能有关,或者是出现了什么错误之类的。

三、设备功能模式

3.1 EN_GATE

   EN_GATE 低电平将使栅极驱动器、电荷泵、电流分流放大器和内部稳压块置于低功耗模式,以节省能源。在此状态期间不支持SPI通信,SPI寄存器将在完全EN_GATE重置后恢复到其默认设置。只要PVDD仍然存在,该器件将把MOSFET输出级置于高阻抗模式。
   当EN_GATE引脚从低到高时,它将经历一个上电序列,使能栅极驱动器、电流放大器、电荷泵、内部调节器等,并复位与栅极驱动器块相关的所有锁存故障。EN_GATE也将重置SPI表中的状态寄存器。当错误事件发生后EN_GATE被切换时,所有锁定的错误都可以被重置,除非错误仍然存在。
   当EN_GATE由高转低时,立即关断栅极驱动模块,因此栅极输出可以使外部场效应管处于高阻抗模式。然后,它将等待10µs,然后完全关闭其余块。通过切换EN_GATE引脚非常短的时间(小于10µs),可以实现快速故障复位模式。这将防止设备关闭其他功能块,如电荷泵和内部调节器,并带来更快和简单的故障恢复。
   EN_GATE引脚复位脉冲(高→低→高)不能只维持10到20µs。DRV8301具有从快速复位模式到完全复位模式的过渡区域,可以导致设备对外部输入无响应,直到满功率循环。如果期望在EN_GATE引脚上出现此周期的复位脉冲,则可以在引脚外部添加RC滤波器。
   重置所有故障的另一种方法是使用SPI命令(RESET_GATE),它只会重置门驱动程序块和所有SPI状态寄存器,而不会关闭其他功能块。

3.2 DTC

   死区时间可通过DTC引脚编程。从DTC到地应接一个电阻来控制死区时间。死区时间控制范围为50ns ~ 500ns。短的DTC引脚接地将提供最小的死区时间(50ns)。电阻范围为0至150 kΩ。死区时间在此电阻范围内线性设置。

3.3 VDD_SPI

   VDD_SPI是为SDO引脚供电的电源。它必须连接到MCU用于其SPI操作的相同电源(3.3 V或5 V)。
   在上电或下电瞬态过程中,VDD_SPI引脚可能在短时间内为零电压。在此期间,来自系统中任何其他设备的SDO引脚不应出现SDO信号 ,因为它会导致DRV8301中的寄生二极管从SDO传导到VDD_SPI引脚作为短路。在系统电源顺序设计中应考虑并避免这一问题。

四、SPI通信

4.1 DRV8301的SPI

   DRV8301 SPI作为 S l a v e Slave Slave工作。SPI输入(SDI)数据格式由一个16位的字、1个读写位、4个地址位和11个数据位组成。SPI输出(SDO)数据格式由一个1个帧故障位、4个地址位和11个数据位组成。当帧无效时,帧故障位设为1,剩余位移出为0。
   一个有效的帧必须满足以下条件:
    •当nSCS变低时,时钟必须为低。
    •应该有16个完整时钟周期。
    •当nSCS高时,时钟必须低

4.2 数据格式

   咱们废话少说,直接看数据格式:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
   “对于发送给SDI的READ命令(第n个周期),SDO将在下一个周期中使用指定地址的数据进行响应。(N+1)对于发送给SDI的WRITE命令(第N个周期),SDO将在下一个周期(N+1)中响应状态寄存器1 (0x00)中的数据。”
   上面的话通俗来说,你这时候给寄存器写一个值,他会在下个周期把这个寄存器的值返回给你。
   SDI输入字(W0)的MSB位是一个读写位。当W0 = 0时,输入字为写命令。当W0 = 1时,输入字为读命令。

4.3 寄存器

   下图为四个寄存器的地址:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

4.3.1 状态寄存器

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

4.3.2 控制寄存器

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
   注:数字上(1)的都是默认值。
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
   过流保护的阈值设置前面已经详细介绍过了,下面是寄存器设置的值:
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
   如果IC预期在6-V至8-V范围内工作,请勿使用设置28、29、30、31。

五、典型应用电路

FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册
FOC系列(二)----继续学习DRV8301芯片,FOC系列学习,学习,单片机,嵌入式硬件,FOC,DRV8301,数据手册

六、往期回顾

FOC系列(一)----DRV8301芯片的学习文章来源地址https://www.toymoban.com/news/detail-715076.html

到了这里,关于FOC系列(二)----继续学习DRV8301芯片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 国民技术 MCU N32单片机所有系列---JLink添加芯片,方便使用Keil和JFlash

    1.将下图JLink tool adds Nations chip V1.0.12文件中选中的文件复制到自己电脑的JLINK的目录下(JLINK默认的下载路径是C:Program FilesSEGGERJLink   或者  C:Program Files(x86)SEGGERJLink) 2.然后直接把JLink tool adds Nations chip V1.0.12文件中的JLinkDevices.xml复制替换到自己电脑的JLINK的目录下的JLin

    2024年02月03日
    浏览(52)
  • 蓝桥杯单片机学习11——PCF8591A/D&D/A转换芯片

    上期我们学习了DS1302实时时钟的基本使用,现在我们来学习PCF8591A/DD/A转换芯片的相关内容 PCF8591是具有I2C 总线接口的8 位A/D 及D/A 转换器。具有以下特点: 【1】 单电源供电 【2】 工作电压2.5~6.0V 【3】 低待机电流(低功耗) 【4】 使用IIC通信接口 【5】 具有三个可编程地址引

    2023年04月08日
    浏览(40)
  • STC15系列单片机学习6:外部中断

    外部中断,就是通过单片机IO引脚电平的变化触发的中断。 STC15系列单片机的外部中断源一共有5个,分别是外部中断0(INT0)、外部中断1(INT1)、外部中断2(INT2)、外部中断3(INT3)、外部中断4(INT4);当然不是所有的STC15系列单片机都有着5个外部中断。 中断源 触发行为

    2024年03月12日
    浏览(175)
  • STC15系列单片机学习4:串口通讯

    在使用单片机的串口前,得先知道所使用的单片机有几个串口,再结合你的硬件电路图来使用哪个串口。 以下是STC15各系列单片机的串口数量,STC15W4K32S4系列有4个串口 工作模式0:同步移位寄存器(官方建议初学者不学) 工作模式1:8位串口,波特率可变 工作模式2:9位串口

    2024年04月13日
    浏览(44)
  • S32K3系列单片机学习

    定时器中断,每个平台的实现方式均有差异,从51单片机通过寄存器配置实现定时器周期计数,再到使用HAL库配置STM32的定时器,他们的实现原理都是大同小异的,只不过不同的平台使用的底层库不同,导致实现的方法不同而已。 Periodic Interrupt Timer (PIT) : PIT是一个定时器数组

    2024年02月01日
    浏览(44)
  • AT24C32、AT24C64、AT24C128、AT24C256、AT24C512系列EEPROM芯片单片机读写驱动程序

    1.AT24C01/AT24C02系列EEPROM芯片单片机读写驱动程序 2.AT24C04、AT24C08、AT24C16系列EEPROM芯片单片机读写驱动程序 3.AT24C32、AT24C64、AT24C128、AT24C256、AT24C512系列EEPROM芯片单片机读写驱动程序 4.x24Cxx系列EEPROM芯片C语言通用读写程序 在前两篇博文中,分别记录了AT24C01、AT24C02,以及AT24C04、

    2024年02月02日
    浏览(51)
  • 单片机-芯片怎么看图连接

    单片机连接数码管 硬件连接线路图 单片机中的IO口连接端子 J25  ,J25 连接 2个电阻 PR14 ,引出管脚 P22 ,P23,P24 P22 、P23、P24  连接 3-8 译码器  三输入、8输出  8 输出 ,连接8个LED1~LED8 用到三个芯片: 单片机芯片:STC89C52 3-8 译码器 ---D 74HC138 双 P 沟道增强型 MOS 管---D74HC24

    2024年02月11日
    浏览(40)
  • 智融SW3526多协议芯片单片机驱动

    目录 1、芯片概念      2、SW3526配置ADC寄存器 3、SW3526获取ADC数据 4、IIC底层驱动代码  5、SW3526写指令时序图 6、单片机IIC写指令代码  7、SW3526读数据时序图  8、单片机IIC读数据代码 9、SW3526资料(52和32的程序) 10、SW3526产品模型         SW3526 是一款高集成度的多快充协

    2024年02月02日
    浏览(45)
  • 交流220v转12v给单片机供电芯片

    客户的应用需求:AD220V转DC12V 体积要非常小,单片机使用,单片机设备12V 电流很小不会超过100mA? 【AD220V转DC12V体积小的问题】 问题:我需要将交流电(220V)转换为直流电(12V),并且需要一个非常小的体积。同时,我需要根据输出电流的不同,选择不同型号的单片机。 解

    2024年02月12日
    浏览(37)
  • 成功解决keil识别不到单片机芯片,下载不了程序

    我的芯片是STM32F429,正点原子的阿波罗。 今天使用开发板做实验,突然找不到芯片了, 以前下载的PWM波也运行不了 。查找了好久,原来是芯片锁了,终于解决了。 我是第二种办法实现给芯片解锁的,第一种是我猜测的。 解决办法: 第一种: 先给驱动板上电,boot0接到3.3

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包