FOC系列(二)----继续学习DRV8301芯片
一、 程序框图
跟随上篇博客咱们继续往下看,下面是芯片内部的程序框图:
1.1 BUCK电路
1.2 内部各电源
1.3 SPI通信、栅极驱动器和时序控制器
1.4 MOSFET驱动电路
1.5 电流采样放大电路
数据手册只是给出了这一部分框图,但是没有更加详细的介绍,不过没关系,咱继续往下看,会逐渐补齐该部分的功能。
二、 功能描述
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控制:
下面是官方给出的外部MOSFET山及驱动电路各元器件的推荐值:
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=2VREF−G×(SNX−SPX)
• 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=2VREF−G×(SPX−SNX),但是看完数据手册发现,人家就是这样定义的,咱们把N当成正就好,当然这个问题不大:
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)
这里需要配合寄存器那边来看:
如果你把控制寄存器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 数据格式
咱们废话少说,直接看数据格式:
“对于发送给SDI的READ命令(第n个周期),SDO将在下一个周期中使用指定地址的数据进行响应。(N+1)对于发送给SDI的WRITE命令(第N个周期),SDO将在下一个周期(N+1)中响应状态寄存器1 (0x00)中的数据。”
上面的话通俗来说,你这时候给寄存器写一个值,他会在下个周期把这个寄存器的值返回给你。
SDI输入字(W0)的MSB位是一个读写位。当W0 = 0时,输入字为写命令。当W0 = 1时,输入字为读命令。
4.3 寄存器
下图为四个寄存器的地址:
4.3.1 状态寄存器
4.3.2 控制寄存器
注:数字上(1)的都是默认值。
过流保护的阈值设置前面已经详细介绍过了,下面是寄存器设置的值:
如果IC预期在6-V至8-V范围内工作,请勿使用设置28、29、30、31。
五、典型应用电路
六、往期回顾
FOC系列(一)----DRV8301芯片的学习
相关文章:

FOC系列(二)----继续学习DRV8301芯片
一、 程序框图 跟随上篇博客咱们继续往下看,下面是芯片内部的程序框图: 1.1 BUCK电路 1.2 内部各电源 1.3 SPI通信、栅极驱动器和时序控制器 1.4 MOSFET驱动电路 1.5 电流采样放大电路 数据手册只是给出了这一部分框图,但是没有更加详细的介…...
A. Directional Increase -前缀和与差分理解 + 思维
题面 分析 观察指针移动的性质,可以发现每一段都是从起点走到终点,在原路返回,这样每一段也就表示,在起点处加一,在终点处减一,形成了很明显的差分结构,思考能否构造出a数组的关键就是他的前缀…...
openpnp - java调试环境 - 最好只保留一套jdk环境
文章目录 openpnp - java调试环境 - 最好只保留一套jdk环境概述END openpnp - java调试环境 - 最好只保留一套jdk环境 概述 没注意做了啥操作, 前天好好的, 昨天下午开始, 编译好的openpnp程序就无法正常打开了. 故障表现: 程序运行后, 最多只能看到欢迎对话框(显示版本和发…...
AI技术的钓鱼邮件有多强
如今,人工智能技术的迅猛发展给各个领域都带来了前所未有的变革和进步。2023年上半年ChatGPT的火爆出圈,让人们看到了AI惊艳表现的光彩一面,但同时黑暗的一面也正在暗自发力,野蛮生长。 AI技术不仅可用于维护网络安全,…...

vue/react项目刷新页面出现404报错的原因及解决办法
Vue项目打包部署到线上后,刷新页面会提示404,下面这篇文章主要给大家介绍了关于vue/react项目刷新页面出现404报错的原因及解决办法,文中将解决的办法介绍的很详细,需要的朋友可以参考下 背景解决办法 法1:将vue/react路由模式由history路由改为has…...

黑客技术(网络安全)——如何高效学习
前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学 今天给大家分享一下,很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习…...
53.MongoDB分片集群高级集群架构详解
MongoDB分片集群架构详解 为什么要使用分片 分片(shard)是指在将数据进行水平切分之后,将其存储到多个不同的服务器节点上的一种扩展方式。 一个复制集能承载的容量和负载是有限的,遇到以下场景就需要考虑使用分片 存储容量需…...

Servlet 上下文参数
7)Servlet上下文对象:ServletContext生活中的例子:张三和李四在不远处窃窃私语,并且频繁的对着你坏笑。你肯定会跑过去问:你们俩在聊什么?注意:此处的聊什么,其实就是你在咨询他们聊天的上下文&…...

ChatGPT正在测试原生文件分析功能,DALL·E 3能P图啦!
10月29日,有部分用户在社交平台上分享,ChatGPT Plus正在测试原生文件上传、分析功能,可以通过文本问答的方式,对上传的PDF等数据文件进行提问、搜索。 例如,上传一份50页的员工手册PDF文件,然后向ChatGPT提…...

三相马达的电机故障维护
目录 电机故障维护编辑 更换电机操作 三相电路 热继电器 今天继续小编的工作经验的分享,今天就说说遇到的问题吧,今天组立熔接机出现故障,后面部分出现了“咕噜噜”的杂声,走到后面一听是电机发出的声音。没有办法了就开始拆…...

【易售小程序项目】后端部署、Uniapp项目Web部署
文章目录 Uniapp项目Web打包部署为什么不部署小程序Web打包前对项目进行调整网站、小程序切换增加constant.js来控制常量将js绑定到main.js的全局变量中 WebSocket差异监听键盘呼出导航条打包部署 后端项目打包部署打包前准备打包部署 Uniapp项目Web打包部署 为什么不部署小程…...

prometheus监控kafka
一、前言 关于对kafka的监控,要求高的话可以使用kafka-exorter和jmx-exporter一起收集监控数据,要求不高的情况下可以使用kafka-exporter收集监控数据即可 二、部署 kafka-exporter 部署kafka-exporter,我是在k8s集群中部署的 编辑yaml文件…...

【STL】:list用法详解
朋友们、伙计们,我们又见面了,本期来给大家解读一下有关list的使用,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结构…...
SQL Wildcards 通配符
SQL Wildcards 通配符 通配符用于替换字符串中的任何其他字符。 通配符与 SQL LIKE 运算符一起使用。在 WHERE 子句中使用LIKE运算符来搜索列中的指定模式。 有两个通配符与 LIKE 运算符一起使用: % - 百分号表示零个,一个或多个字符_ - 下…...
入门必学 | R语言for循环的常规应用
文章目录 何为判断语句在for循环中添加判断语句嵌套循环 在上一节中,我们介绍了迭代与for循环,并对for循环的结构与原理进行了深入的介绍。在这一节中,我们将分享for循环的常规应用,包括在其中加入判断语句与嵌套循环。 何为判断语…...

metaRTC集成flutter ui demo编译指南
概要 Flutter是由Google开发的开源UI工具包,用于构建跨平台应用程序,支持linux/windows/mac/android/ios等操作系统。 metaRTC新增flutter demo,支持linux/windows/mac/android/ios操作系统,此demo在ubuntu桌面环境下测试成功。…...
int怎么转成QString?
2023年10月31日,周二晚上 要将 int 类型转换为 QString,可以使用 QString::number() 方法。 下面是一个示例代码: int number 123; QString str QString::number(number);还可以在转换时指定进制,比如将整数转换为十六进制的字…...
JavaScript进阶(二十九): 走近 es6 之 new.target
文章目录 一、前言二、new.target 重写三、拓展阅读 一、前言 源码阅读过程中,发现以下语句 new.target.prototype鉴于该语法为es6所有,项目在编译过程中,控制台报Unexpected token: punc(.)错误。按照常规处理,应用babel-loade…...

JVM虚拟机:堆结构的逻辑分区
堆内存的逻辑分区 堆内存的逻辑分区如下所示: 堆内存中分为新生代和老年代,二者空间大小1:3。在新生代里面分为两类区域(eden、survivor),三个区域(eden、survivor、survivor),三个区大小比例为8:1:1。 对象存放的位置 栈 当我们new一个对象的时候,首先会将对象…...
RabbitMQ学习02
Hello World(Java) 1.导入依赖 <!--指定 jdk 编译版本--><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration&g…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
从实验室到产业:IndexTTS 在六大核心场景的落地实践
一、内容创作:重构数字内容生产范式 在短视频创作领域,IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色,生成的 “各位吴彦祖们大家好” 语音相似度达 97%,单条视频播放量突破百万…...

2025-05-08-deepseek本地化部署
title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek:小白也能轻松搞定! 如何给本地部署的 DeepSeek 投喂数据,让他更懂你 [实验目的]:理解系统架构与原…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解
文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...