资讯动态

TMS320F28335 DSP实战:电机FOC与数字电源设计核心要点

发布时间:2026/10/17 4:43:49 来源:尧图企业网站定制
TMS320F28335PGFA这颗DSP在实时控制领域的地位不需要我再多加介绍。每次参与电机驱动或数字电源项目的选型评审总有人会问这颗料是不是太老了可真正到了评估控制时延、采样精度和PWM分辨率的环节它的出镜率依然很高。150MHz的C28x浮点内核、片上ADC与ePWM的硬件联动、高分辨率PWM扩展这套架构不是单纯拼主频而是围绕确定性实时响应来组织的。这篇文章我不打算对着数据手册念参数而是从一个做过多个电机驱动和数字电源项目的工程师视角拆解TMS320F28335PGFA的核心外设、典型应用和选型边界。如果你正在评估这颗芯片能不能用在你的控制器方案里或者想知道它在FOC矢量控制、LLC谐振电源中到底怎么搭流程那这篇内容应该能帮你省下不少翻文档的时间。1. 芯片定位与技术起点1.1 不靠主频堆料靠实时性吃饭先说清楚一件事TMS320F28335PGFA的150MHz在今天的MCU市场里已经不算突出很多通用MCU轻松跑到200MHz以上。但它的核心价值从来不是算术跑分而是中断响应时间可预期、外设事件可硬件联动、控制周期可精确执行。C28x内核加上FPU32浮点扩展单元单周期乘法、硬件除法、快速中断保存机制这些特性组合起来让一个完整的FOC电流环ADC读取、坐标变换、两个PI调节、SVPWM计算、占空比更新可以压缩到几微秒内完成。更关键的是它没有复杂的分支预测和大规模的Cache结构极端情况下代码执行时间基本固定不会因为数据命中率波动导致控制周期抖动。这种可预测性在通用MCU上很难复刻因为有Cache跑分虽然高但最坏执行时间会随着代码和数据分布摇摆对控制环路来说是隐形风险。我用一个生活化的类比来解释通用MCU像一台跑车直线车速确实快但每脚油门下去发动机响应要看路况和变速箱心情F28335更像一台手动挡的工程车速度不快但是每个操作对应明确的机械反馈你踩多少就给多少。实时控制要的就是这种确定性。1.2 浮点单元带来的工程效率红利F28335在C2000系列中的标志性升级就是带FPU32浮点单元。在它之前做电机算法的兄弟大多在定点DSP或MCU上写Q格式变量放大多少倍、溢出怎么处理、乘完之后要不要移位每一步都要小心翼翼。换个电机参数重调算法光数值格式就能熬掉几个晚上。FPU32让算法开发可以回到数学本身直接写浮点变量。速度环、电流环的PI参数就是天然的浮点小数观察控制波形时不需要在心里把数值除以65536换算。对工程团队来说这直接缩短了算法验证周期。实测下来单精度浮点在FOC场景下是完全够用的坐标变换中的sin/cos计算误差、PI运算中的累积误差控制到千分之一以内没压力。但要提醒一句FPU32是单精度浮点不是64位双精度。如果你用double写积分项或者做长时间累加编译器虽然能编译过底层性能会大打折扣而且某些C28x工具链对double的处理未必达到你预期的精度。涉及积分饱和、非常慢的电压外环、高精度传感器校准时不要盲目依赖浮点可以混合使用定点累加来补偿。2. 硬件资源逐项拆解别只看主频和内存2.1 存储、启动与程序运行策略TMS320F28335PGFA片上集成了256KB的Flash和34KB左右的SRAM按字计算。这个容量放在今天的主控里不算大但对于纯实时控制算法来说完全够用。电机FOC加通信协议栈加监控逻辑Flash占用通常在二三十KB到六七十KB之间不会太紧张。SRAM相对偏紧尤其是你要开多个环形缓冲区或者做大数据量录波时要精打细算。真正需要设计考虑的是程序的存放位置和执行速度。F28335从Flash执行时受等待周期影响速度会打折扣我常见的做法是把启动初始化代码放在Flash进入主循环前把高频中断服务函数和关键算法搬运到RAM中执行用链接脚本的段分配来实现。这算C2000平台上的标准操作不是可选项而是实践中必须掌握的能力。启动流程也要留意。芯片支持从Flash、RAM、SCI、SPI等不同引导模式启动由GPIO引脚在上电时的状态决定。量产板上如果不小心把这些引脚复用成普通IO或者上电瞬间电平不确定会出现设备没反应的诡异故障。我习惯在原理图上给引导选择引脚增加明确的上拉/下拉电阻并在初始化代码里打印启动模式信息。中断响应方面F28335采用PIE外设中断扩展架构外设中断被分组映射到CPU中断。初次接触时容易踩的坑是写好了外设中断服务函数但忘了在PIE向量表里正确注册结果中断来了程序却跳不到你的函数里。我的调试习惯是先跑一个最小中断示例把PIE配置流程跑通再叠加算法代码避免一开始就把问题混在一起。2.2 ADC与ePWM的硬件协同实时控制的核心骨架这颗芯片的ADC是12位精度带两个采样保持器转换时间大约是80ns的量级。如果只看位数和现在那些16位的高精度ADC没法比但在电机控制场景下系统的噪声水平和开关尖峰往往才是限制因素12位配合合理的采样窗口和硬件滤波实际性能足够做高精度电流环。ADC真正值钱的是它和ePWM模块的硬件触发链路。ePWM时基计数器产生事件后可以直接触发ADC启动转换不需要CPU干预。这意味着电流采样时刻可以和PWM载波精确对齐采样点固定放在PWM计数器的谷底或峰值处避开开关器件的开通关断尖峰。对FOC来说这不仅是方便更是精度的重要保障。我见过有人用定时器独立触发ADC结果采样点与PWM边沿的相位关系随温度、占空比漂移电流波形上会多出一层莫名其妙的毛刺。ePWM模块本身的功能也相当全。每个模块可以产生两路互补输出带死区生成、比较器、相位控制、跳周期、故障封锁TZ子模块等功能。电机驱动的三相桥臂用三个ePWM模块配合TZ信号就能搭建出硬件级的过流保护链路。TZ触发后在硬件层面直接封锁PWM输出不需要等CPU跑到故障处理函数再去操作寄存器这个响应时间差距在故障场景下是毫秒级和微秒级的差别。2.3 通信接口与系统扩展能力F28335的通信外设列表在今天看依然不寒酸3组SCIUART、2组CAN、1组SPI、1组I2C、2组McBSP还有外部存储器接口EMIF和DMA控制器。伺服驱动产品中CAN几乎是标配用CANopen协议做多轴同步很成熟如果走EtherCAT路线可以通过SPI或并行接口扩展外部从站协议栈芯片F28335的GPIO吞吐和中断响应能撑住这类硬实时光通信。GPIO数量有88个之多大部分外设引脚都是复用关系。需要花时间核对的是GPIO复用配置GPxMUX寄存器和输入限定GPxCTRL寄存器。输入限定功能可以滤掉机械触点和长走线上的毛刺但如果限定的采样周期设置过长会把真实的边沿信号也延迟掉。电机编码器信号我通常会采用异步模式或很短的最小化滤波避免位置信息的相位滞后。DMA也是容易被低估的模块。它可以在ADC转换完成后自动把结果搬到内存或者把通信接收FIFO里的数据批量转移不需要CPU逐字搬运。在既有控制环路计算、又有大规模数据记录的调试阶段DMA能省下不少CPU开销。2.4 封装、电源与硬件设计细节TMS320F28335PGFA后缀对应的是176引脚的LQFP封装另外还有BGA封装版本ZWT后缀。选封装时不只是体积问题BGA的焊接检测难度和PCB走线层数都会影响成本。LQFP在中小批量产品里其实是更务实的选择手工返修、飞线调试都方便。需要注意的是引脚间距和相邻引脚之间的信号串扰PWM输出线和编码器信号线尽量分区域走不要平行长距离并线。供电结构上内核电压约1.9V和IO电压3.3V分离内部还有模拟电源引脚和Flash专用电源引脚。硬件设计时数字3.3V、模拟3.3V、模拟1.8V这些电源域要分开滤波常用磁珠加去耦电容的方式隔离。很多量产的稳定性问题最后都能追溯到模拟电源噪声。我见过一个逆变器项目ADC采样数值在低频段一直有规律波动怎么查算法都没问题最后发现是模拟电源和开关管的驱动电源共了磁珠开关毛刺直接串进了参考电压。上电时序也要提前考虑。内核供电和IO供电之间虽然没有特别苛刻的要求但复位脚和引导模式引脚的电平状态要先稳定。如果系统里有外部复位芯片复位延迟建议设置得比电源稳定时间更长大约几十到几百毫秒避免芯片在电源爬升过程中就开始执行并跑飞。3. 电机控制场景从FOC到伺服开发全流程要点3.1 FOC环路的数据流与中断划分以典型的永磁同步电机PMSMFOC控制为例控制结构通常分两层内层电流环外层速度环。电流环频率常用10kHz到20kHz速度环可以放低到1kHz到5kHz。在F28335上我习惯把电流环放在最高优先级中断保证每次PWM周期都能完成一次完整的采样-变换-调节-PWM更新速度环和位置环在较低优先级或者主循环中周期调用。电流环中断内部的处理顺序几乎是固定的读取ADC电流结果做坐标变换先后经过电流PI调节器再做逆变换最后更新PWM比较寄存器。每一步都有严格的因果关系顺序不能乱。更新PWM比较值时要用影子寄存器机制在当前PWM周期结束的装载点统一生效避免在一个周期内忽然跳变否则波形上会出现明显的半周期畸变。F28335没有独立的CLA协处理器F2806x、F2837x系列才有所以电流环计算的负担完全压在CPU上。150MHz主频下一个标准的电流环函数优化到几百纳秒到一两微秒内是可行的前提是避免在中断里调用浮点库的通用函数、避免大规模循环和除法指令滥用。除法可以用查表或倒数近似代替三角函数可以用查表加插值。3.2 电流采样时刻怎么定一半的精度问题出在这里电流采样是FOC里最容易出问题也最容易被轻视的环节。三相电流理论上只需要采两相第三相可以用KCL推算。实际项目中我倾向于至少采两相并且把采样时刻放在PWM载波的谷底。原因是此时开关管刚刚切换完毕电流回路中的di/dt噪声最小采样值最能代表一个PWM周期的平均电流。采样窗口的宽度也要仔细设置。ADC内部等效源阻抗和外部电路阻抗会影响采样电容的充电速度。如果采样窗口时间太短内部电容还没来得及稳定到输入电压转换结果就会偏低或波动。这个问题的典型特征是低占空比或小电流时误差明显大信号时反而正常。配置ADC的采样窗口ACQ_PS时要结合前端运放的输出阻抗和滤波电容值来计算不要照搬例程。电流信号调理的硬件设计同样关键。低端采样电阻方案成本和抗共模能力不错但采样点参考地会被开关电流抬起对运放的共模抑制比要求高高端采样或隔离式电流传感器在噪声表现上更好但成本更高、面积更大。具体选型看产品定位但无论哪条路都要在软件里做零漂校准。我的做法是上电时封锁PWM输出把电机电流钳到零连续采样多次求平均作为偏置值存入全局变量之后每次ADC读数都先减去这个偏置。SVPWM的线性区利用率也要心里有数。当调制比超过线性区上限实际输出电压会进入过调制电流波形会有畸变电流环的控制性能和噪声都会变差。如果项目要求在很宽的电压范围内工作就要考虑注入三次谐波或改用其他调制策略。3.3 位置反馈增量编码器与绝对值编码器的接口处理位置闭环和速度闭环依赖转子位置信息F28335的eQEP模块就是为了编码器接口设计的。ABZ增量编码器接入后eQEP内部可以四倍频计数方向判断也可以硬件完成。软件里需要处理的核心是单圈计数到机械角度的换算这要结合编码器每转脉冲数、倍频系数和减速比来做归一化。索引脉冲Z信号对增量编码器非常重要。上电后控制器不知道转子在什么位置必须依赖Z信号建立绝对零位。我通常配置eQEP的索引事件触发一次校准流程把Z信号到达时的角度清零然后把计数器的值同步为设定的零位偏置。如果电机负载较重、经常堵转还要考虑Z信号丢失或抖动的情况做一个上电后规定时间内未找到Z信号的报警状态。对于绝对值编码器协议型或多圈类型eQEP就不够用了。F28335的资源通常通过SPI、UART或专用的BiSS/SSI接口芯片来读取位置信息。这时候要注意绝对位置数据和FOC算法中角度变量的同步问题。位置更新中断和电流环中断如果频率不同会出现角度滞后——一个常见做法是把位置读取放在低速任务中但用外设捕获的方式记录读取时刻的角度然后在电流环中做角度外推补偿。速度测量的方法也有门道。低速时用M/T法同时测脉冲数和时间高速时可以直接用脉冲频率法。纯靠编码器脉冲间隔计时低速下分辨率严重不足速度环会抖动。如果项目有低速高精度的需求我建议增加每转脉冲数更高编码器或在软件里用较短的时间窗口做多次测量取平均。3.4 死区时间和硬件保护链路三相桥臂上下管不能同时导通死区时间必须有。死区太小会直通炸管太大则增大电流失真和功率损耗。实际值取决于功率器件型号、驱动电路特性、母线电压和负载电流IGBT通常在1us到3us低压MOS管通常在200ns到800ns。这个参数要在实际波形上用示波器验证不要把手册值直接抄进去。F28335的ePWM死区模块支持上升沿延迟、下降沿延迟和多种组合模式本质是把PWM输出波形在时间轴上移动。需要注意的是死区不只是简单地增加一个时间延迟它会影响输出电压的等效值尤其是在死区时间与PWM周期比例较大的高频应用里。传统的补偿方式有软件补偿根据电流极性修正占空比和硬件方案如加入电流检测的自动补偿在FOC架构里可以通过电流环的PI调节自然吸收一部分误差但如果死区过大电流波形的畸变会让系统发出明显的噪声。更关键的是硬件保护链路。TZ子模块可以接收外部故障信号比如过流比较器输出、过压、过温信号一旦触发PWM输出在硬件上立即被锁到安全状态不需要软件参与。我习惯在每个功率级设计里把过流保护做成两路一路进TZ封锁PWM另一路进GPIO触发中断做故障记录。故障恢复逻辑也要精心设计不允许故障信号还在时软件自动重启要有明确的故障清除流程和延时条件。4. 数字电源场景高频环路下的应对思路4.1 为什么数字电源也用DSP而不是MCU数字电源和电机控制看似不同但对主控的要求方向高度一致高精度PWM、高同步性ADC、低延迟控制运算。以LLC谐振变换器为例开关频率通常在100kHz到1MHz范围死区时间和占空比分辨率都极其敏感移相全桥和PFC电路对PWM相位和占空比的精细调节也有类似要求。通用MCU虽然也能输出PWM、也能采样电压但PWM模块和ADC模块之间的同步机制、占空比更新机制、以及控制中断的确定性通常达不到高性能电源的要求。F28335的高分辨率PWMHRPWM和ADC同步SOC功能正是为这类高频控制而设计的。简单说闭环品质不只看你每秒能执行多少条指令更要看PWM边沿能不能精确到皮秒量级、ADC采样能不能在一个确定的时间点发生。数字电源相比模拟方案的另一个好处是灵活。调试Release版本时发现环路有隐患可以直接修改参数重新编译验证不用换电阻电容。在线通信和监控功能也让量产后的故障分析方便不少。F28335的CAN和UART资源足以支撑电源模块的通信管理功能。4.2 HRPWM与ADC同步数字电源的核心设计点F28335的HRPWM基于MEP微边沿定位技术它把一个普通PWM时钟周期细分成更多的小步长让占空比的边沿位置可以进行更精细的调整。150MHz的PWM时钟一个周期约6.67ns而MEP可以达到皮秒级的边沿调节步长。对LLC或移相全桥来说占空比调整不够精细意味着输出电压纹波大并联模块的均流性能也会变差。使用HRPWM有一个必须了解的隐藏问题MEP的步长会随工艺、电压、温度漂移。原厂提供了SFO等校准软件库用来动态测量和校准MEP步长。我的经验是不要跳过这个校准步骤否则高温下PWM精度会大幅下降。校准例程会周期性运行并修正一个全局比例因子你的占空比计算要通过这个因子换算成HRPWM的寄存器值。ADC同步触发在数字电源中同样关键。我的配置思路是用PWM时基事件作为ADC的SOCA或SOCB触发源然后将ADC转换结果的完成中断设置为控制中断标志。ADC采样时刻放在PWM高电平的中点或者在开关边沿之后加上一段固定死区时间这样采到的电压/电流值不受开关振铃影响。如果采用多路ADC引脚轮换采样来获取多路电压电流要注意不同通道的采样时刻会有微小偏移通道间相位补偿可以在软件里做也可以用多个采样保持器尽量同步。数字控制环路的延迟预算也要提前算。电流或电压采样转换时间、控制算法计算时间、PWM影子寄存器装载时间三者之和必须小于控制周期。电源环路的带宽越高对延迟越敏感实际上延迟会限制可实现的相位裕量。我通常会在设计初期画一张时间线图把采样触发点、ADC转换完成中断、算法计算完成、PWM更新点按时间顺序放好确认最坏情况下时序不重叠。4.3 环路算法中的工程细节数字电源控制器的典型结构是电压外环加电流内环或者单电压环加前馈。相比电机控制电源环路的动态指标更依赖于相位裕量和带宽PI参数的设计往往先用仿真工具离线计算再到实板上微调。积分抗饱和绝对要重视。电源启动瞬间、负载急剧跳变时误差信号很大积分项会累积到非常高的值一旦误差反转输出要很久才能拉回来表现为严重的过冲。我常用的处理方式有两种一是条件积分法误差超限时冻结积分二是输出限幅时同步钳位积分累积量。代码实现简单但对电源动态响应的改善立竿见影。前馈环节在数字电源里很值得做。以PFC为例母线电压、输入电压可以直接前馈到占空比计算中大幅减轻反馈环路的负担。F28335的浮点运算能力让你可以轻松实现这些数学运算不需要为了省时间把算法砍到最简单。环路调试时我还习惯在软件里输出占空比给定值、采样值等内部变量通过DAC引脚或通信接口实时观察。CCS里也支持图形观察窗口直接以波形形式看这些值对确认环路工作状态非常有帮助。一个实用的技巧是在控制ISR里设置一个计数器把中断执行时间的最大值记录到全局变量实时读取它就能判断运算是不是在最坏情况下超时了。5. 工程选型指南合适比高级更重要5.1 用场景清单来校验你的选择多年接触各类控制器项目我总结出一个判断原则不是芯片不够好而是匹配度不够高。我习惯用下面的场景清单来快速筛选。应用场景F28335适用性选型关注点伺服驱动器、变频器非常合适FOC性能、编码器接口、CAN通信光伏逆变器、储能PCS合适多路ADC、PWM同步、可靠性数字电源模块、DCDC非常合适HRPWM精度、环路延迟、ADC同步UPS、OBC车载充电合适温度等级、保护链路、安全冗余低功耗传感类产品不合适功耗过高考虑低功耗MCU带复杂界面的产品不合适需要运行系统级应用另配主控消费级低成本电机控制性价比一般可考虑F28004x或M0/M4内核MCU5.2 同系列和替代芯片的对比选F28335时别忽略同系列的加减档。F28069同样有浮点单元主频90MHz无外部存储器接口适合成本敏感的中小功率驱动F28377D则是双核架构性能和片上资源更强适合更复杂的多电机或多电源拓扑F280049C这类新器件集成了片内运放和比较器、逻辑可配置模块CLB在许多新设计中能替代F28335并降低成本。在做选型时我被问得最多的一个问题是为什么不用STM32或GD32对很多应用尤其是消费级的简单电机控制通用MCU生态确实更繁荣代码示例多、工程师更熟悉。但一旦进入上百kHz的电源环路、需要HRPWM的皮秒级占空比调节、需要ADC与PWM严格同步的场景通用MCU的外设和专业技术支持就不太够用了。另一个实际因素是参考设计原厂在电机和数字电源领域提供了大量成熟的软件库和硬件方案设计风险更可控工程师的调试效率也会更高。需要特别说清楚的是管脚兼容这个词。F28335和其他系列芯片并不一定Pin-to-Pin兼容不同版本、不同封装之间要仔细核对数据手册。如果项目有备选替代需求必须在原理图阶段就规划好兼容焊盘和旁路配置而不要指望事后换芯片改软件就完事。5.3 成本、供应链和长期维护视角TMS320F28335PGFA因为生命周期长、出货量大价格相对透明供应链比一些新料更稳定。对小批量研发和样机验证来说开发板和库函数支持的完善程度能节约大量时间。量产时则要关注芯片温度等级PGFA对应工业级温度范围如果需要温度范围更宽的选项要确认具体后缀。长期维护方面建议认真管理好固件版本和硬件版本。C2000平台有自己的代码结构和库依赖升级编译器版本时浮点运算结果、PIE初始化时序都可能有微妙变化。我见过因为升级集成开发环境导致老项目PWM相位配置异常的事故排查了很久才发现是库函数的默认初始化逻辑变了。所以量产项目在工具链升级上要格外保守。6. 实战中常见的坑与排查记录6.1 JTAG连不上和上电时序问题一个新板子做回来第一步就是连接调试器。如果CCS能识别到设备但连接失败我首先排查的是复位引脚电平、电源稳定性和JTAG信号线。TCK频率过高是常见原因在线调试时把TCK降到几MHz往往就好了。上电时序的坑我踩过一次。某次设计的电源电路是先上3.3V、后上1.9V结果总有一批板子在上电时程序异常最终在复位芯片上增加了延时并让内核电源先稳定输出再释放复位问题就消失了。C2000虽然不强制要求复杂的时序关系但复位释放晚于电源稳定永远是更稳妥的设计原则。JTAG信号里的TRST管脚也容易被忽略。TRST在扫描链中有特殊作用某些调试器要求这个引脚有下拉电阻某些仿真器则自己驱动。如果默认状态不对会出现检测不到设备或者连接后立刻断开的现象。我在原理图阶段就按调试器规范把JTAG管脚电阻配置到位避免后面飞线补电阻。6.2 程序不按预期执行的惯常原因程序烧进Flash后重新上电却没反应第一检查项总是引导模式引脚。之前说过GPIO引导模式选择引脚的电平决定启动源如果上电瞬间这些引脚的电平处于未定义状态芯片可能从SCI或SPI启动而那里并没有有效程序。PIE中断向量表注册错误也会造成中断没反应。F28335的外设中断要通过PIE多级跳转向量表初始化顺序、使能位、清除标志位的顺序都必须正确。常见问题是在中断服务函数里只清除了CPU中断标志却忘了清除外设中断标志导致中断退出后立刻再次进入看起来像死循环。如果程序跑飞要知道是不是看门狗没喂。C2000的看门狗一旦超时没有正确服务会强制复位。调试时一但有两个以上的中断同时执行或者某个等待循环时间过长就很容易触发。我把调试阶段的看门狗服务放到了最低优先级任务里并加一个独立的看门狗喂狗次数计数变量用于在异常复位后排查是哪段代码卡住了。6.3 ADC和PWM配置中的高频误区ADC采样结果波动大不一定就是算法问题。除了采样窗口过短外GPIO引脚复用状态也会影响模拟输入。初始化时如果忘了把ADC引脚从GPIO复用状态切换到模拟模式结果是采样值完全乱套。另外ADC参考电压的稳定性极其重要板级参考源噪声大再好的ADC也白搭。PWM输出的坑非常隐蔽多个ePWM模块要同时启动必须先配置好各自的周期和比较值最后统一使能TBCLKSYNC。我之前写过一个三相驱动的初始化三个模块的PWM输出一个先跑、两个后跑导致启动瞬间电机抽动了一下查到最后就是TBCLKSYNC同步使能时机不对。影子寄存器装载也是高频问题。ePWM的比较寄存器支持影子装载如果不注意装载条件配置寄存器更新可能不会在预定时刻生效。调试时如果遇到PWM波形变化滞后一个周期或者随机跳变先检查影子装载机制是否按要求配置。6.4 一些值得保留的调试习惯我的习惯是尽量在PCB上预留几个测试点PWM输出、ADC触发信号、故障信号和DAC监控输出。调试时直接看这些信号的时序关系能很快判断是软件没配置好还是硬件有问题。F28335虽然没有很多现代MCU那样的内部信号路由跟踪功能但通过GPIO翻转来标记中断运行时间点也能达到类似的效果。寄存器保护是另一个容易忽略的知识点。C2000的部分系统配置寄存器需要先执行EALLOW指令才允许写入写完再执行EDIS关闭。如果初始化时忘了写EALLOW寄存器值写不进去程序不会报错但功能完全不生效。遇到寄存器明明设置了却没用的问题第一件事就是检查EALLOW/EDIS是否配对。最后说说我个人的项目经验。F28335这类传统DSP资料虽老但门类齐全遇到问题时搜索历史讨论往往能找到答案。但更要紧的是不要依赖网上零散的代码片段最好以官方例程为基线理解之后改成自己的工程。很多所谓灵异问题追到最后都是初始化时序或模块联动配置不符合手册要求。调试时多点耐心看数据手册少点浮躁地改代码反而更容易快速收敛。项目方如果从零开始评估我建议先把两块核心外设玩透ePWM和ADC。这两个模块用好了TMS320F28335PGFA在电机和数字电源项目里的大部分价值就已经发挥出来了。剩下的资源和工作都是在它们之上做锦上添花。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑