ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

基于DSP28335的单相功率分析仪设计:从ADC采样到FFT谐波分析

基于DSP28335的单相功率分析仪设计:从ADC采样到FFT谐波分析 简介本资源是2024年全国大学生电子设计竞赛B题‘单相功率分析仪’的完整实现方案面向计算机、电子信息类专业学生及电赛备赛群体解决单相交流信号下电压、电流、有功/无功功率、功率因数等参数的实时采集、计算与显示问题适用于毕业设计、课程设计及期末大作业等实战场景。压缩包共190个文件含21个C源文件核心算法与外设驱动、32个头文件模块化接口定义、26个OBJ目标文件及16个XML配置文件CCS工程配置另有PDF说明文档、启动脚本与调试配置文件整体5.62MB结构清晰、层次分明便于理解TI C2000系列DSP如TMS320F28335平台下的嵌入式电力参数分析开发流程。已有373人学习下载代码经导师指导并获评审99分高分包含FPU数学表、ADC校准、系统时钟配置、菜单交互等关键模块小白可直接编译运行附带变量声明备份与监控函数源码显著降低调试门槛。1. 项目概述与核心需求解析最近在整理硬盘翻出来一个老项目——2024年电赛B题的单相功率分析仪。当时带着几个学生一起搞的虽然比赛已经过去一段时间了但里面的技术点、踩过的坑现在看依然很有价值。这个项目本质上是一个基于DSP28335的精密测量系统核心任务是对单相交流电的电压、电流进行高速采样然后实时计算出电压有效值、电流有效值、有功功率、无功功率、视在功率、功率因数、频率等一系列关键参数并能在液晶屏上显示波形和数值。听起来像是电力仪表的简化版但要在资源受限的嵌入式平台上实现高精度、实时性里头的门道可不少。为什么说它值得拿出来聊聊呢因为“功率分析”这个需求太普遍了。从实验室里的电源测试、电机驱动评估到工业现场的能耗监测、设备状态诊断甚至家里的智能插座底层逻辑都绕不开对电参数的准确测量。很多初学者一上来就想用STM32的ADC直接干结果发现测出来的功率飘忽不定波形失真严重最后只能归咎于“芯片性能不行”。其实问题往往出在方案设计和细节处理上。这个基于DSP28335的项目虽然主控相对“古老”但其设计思路、算法处理、抗干扰措施对于使用STM32、GD32乃至其他带FPU的ARM Cortex-M系列芯片的开发者都有直接的借鉴意义。它完整地展示了从模拟信号调理、ADC采样、数字信号处理DSP算法到人机交互的整个链路是一个非常好的教学和实战参考案例。2. 硬件平台选型与核心架构设计2.1 为什么是DSP28335拿到“单相功率分析仪”这个题目主控芯片的选择是第一道坎。当年电赛的推荐平台之一是TI的C2000系列我们最终选择了TMS320F28335这颗芯片主要基于以下几点考量强大的数字信号处理能力这是最核心的原因。F28335是一款32位浮点DSP主频150MHz内置硬件FPU浮点运算单元。功率计算涉及大量的乘加运算和三角函数如FFT、求相位差如果用定点CPU软件模拟浮点速度会慢得多且精度难以保证。硬件FPU能单周期完成浮点乘加为复杂的实时算法提供了可能。高性能的ADC模块F28335集成了16通道、12位精度的ADC采样率最高可达12.5MSPS共享于所有通道。虽然12位分辨率在今天看来不算高但其采样保持电路设计优秀差分非线性DNL和积分非线性INL指标好通过过采样和软件校准可以有效提升有效位数ENOB。更重要的是它的ADC支持同步采样我们可以用两个ADC模块A和B在同一时刻分别采集电压和电流信号这对于计算瞬时功率、避免因采样时间差引入的相位误差至关重要。丰富的外设与确定性时序芯片内置了ePWM增强型脉宽调制、eCAP增强型捕获等模块可以用来产生精确的ADC采样触发信号。例如我们可以将ePWM配置为向上-向下计数模式在其周期匹配点触发ADC采样这样就能实现严格等间隔采样这是进行FFT等频域分析的基础。这种硬件级的时序控制比用软件定时器中断触发要稳定、精确得多。成熟的生态与资料TI提供了完整的库函数DSP2833x Library和大量应用笔记。虽然寄存器配置略显复杂但一旦掌握对底层硬件的控制力非常强有利于优化性能。当然现在很多STM32H7、GD32F4系列MCU性能也非常强悍同样有FPU和高性能ADC。选择DSP28335一部分是比赛要求另一部分也是想深入理解一款经典DSP的开发模式。其设计思想是相通的。2.2 系统整体架构设计整个功率分析仪的硬件架构可以划分为几个关键部分信号调理前端这是保证测量精度的“门户”。电网电压220V AC和电流通过电流互感器或采样电阻获取信号不能直接接入ADC。电压通道通常采用电压互感器PT或高精度电阻分压网络将高压信号按比例衰减到ADC的输入范围例如0-3V。电路中必须加入低通滤波器和钳位保护电路滤除高频噪声并防止过压损坏ADC。电流通道常用方案有电流互感器CT、霍尔电流传感器或精密采样电阻。我们当时选用的是穿心式电流互感器副边接一个采样电阻将电流信号转换为电压信号。同样需要滤波和保护。运放调理衰减后的信号可能需要运放进行缓冲、放大或电平偏移以匹配ADC的输入要求。这里要特别注意运放的选型带宽、压摆率、噪声、PCB布局减少寄生电容和电源去耦。核心处理单元DSP28335。负责配置ADC设置采样率、触发源如ePWM、通道序列SEQ1采电压SEQ2采电流。运行采样中断服务程序在ADC采样完成后读取结果存入双缓冲区。执行核心算法在后台主循环或定时任务中对缓冲区内的数据进行处理计算各项电参数。管理外设驱动液晶屏如320x240 TFT、按键、LED指示灯等。人机交互界面我们使用了一块SPI接口的TFT液晶屏用于显示实时波形电压、电流、数字表头各参数值以及谐波分析柱状图等。几个独立按键用于切换显示页面、设置参数。电源与时钟为整个系统提供稳定、干净的电源和时钟基准。模拟部分ADC、运放和数字部分DSP、液晶的电源最好隔离采用磁珠或0Ω电阻单点连接并布设充足的去耦电容。注意信号调理电路的设计直接决定了系统的测量精度上限。务必使用高精度、低温漂的电阻和电容。在PCB设计时模拟地AGND和数字地DGND的处理是关键推荐采用“分地-单点连接”的方式避免数字噪声串扰到敏感的模拟信号路径。3. 软件核心ADC采样策略与数据获取3.1 ADC模块的精密配置DSP28335的ADC模块功能强大但配置稍显繁琐。我们的目标是实现电压、电流通道的严格同步、等间隔、高速采样。时钟与采样窗口ADC模块的工作时钟ADCCLK由系统时钟分频得到。为了保证ADC的转换精度ADCCLK通常不超过25MHz。我们设置为12.5MHz。采样窗口时间ACQ PS是关键参数。它决定了ADC内部采样保持开关闭合的时间必须足够长让信号源通常是运放输出有足够时间为采样电容充电。这个时间取决于信号源阻抗和采样电容大小。如果时间太短采样值会不准确。可以通过公式估算但最好通过实验确定。我们设置为至少10个ADCCLK周期。触发模式与同步采样我们采用ePWM定时器触发而非软件触发。将ePWM1配置为对称的向上-向下计数模式当计数器等于周期寄存器TBPRD时产生一个触发信号EPWM1_SOCA给ADC。这样采样间隔完全由ePWM的周期决定非常精确。例如要实现10kHz的采样率即每周期100us系统时钟150MHzePWM时钟预分频设为1则TBPRD (150MHz / 1) / (10kHz * 2) 7500。因为对称模式一个完整周期是2*TBPRD个时钟。配置ADC工作在同步采样模式SMODE1。在此模式下ADCINA0和ADCINB0可以同时被采样使用同一个采样保持器然后依次转换。这完美满足了电压、电流同步采样的需求。序列器与中断我们使用两个序列器SEQ1和SEQ2来管理通道。一个简单的配置是SEQ1负责转换电压通道ADCINA0SEQ2负责转换电流通道ADCINB0。使能序列器转换完成中断EOS。当一组转换电压和电流完成后ADC会产生中断。在中断服务程序ISR中我们需要快速读取ADC结果寄存器ADCRESULT0和ADCRESULT1并将其存入一个循环缓冲区双缓冲区机制。// 示例代码片段ADC及ePWM配置核心思路 void Init_ADC(void) { // 1. 上电并延时等待ADC稳定 AdcRegs.ADCTRL3.bit.ADCBGRFDN 0x3; // 开启带隙和参考电路 DELAY_US(1000); // 等待至少5ms此处延时更长确保稳定 AdcRegs.ADCTRL3.bit.ADCPWDN 1; // 开启ADC模拟电路 DELAY_US(100); // 短延时 // 2. 配置ADC时钟与采样窗口 AdcRegs.ADCTRL1.bit.CPS 0; // 内核时钟分频 ADCCLK HSPCLK / (2*CPS) 75MHz (假设HSPCLK150MHz) AdcRegs.ADCTRL1.bit.ACQ_PS 0xF; // 采样窗口大小 (ACQ_PS1)个ADCCLK周期这里设为16 AdcRegs.ADCTRL3.bit.SMODE_SEL 1; // 选择同步采样模式 // 3. 配置序列器 AdcRegs.ADCMAXCONV.bit.MAX_CONV1 0; // SEQ1转换1个通道 AdcRegs.ADCCHSELSEQ1.bit.CONV00 0x0; // SEQ1的CONV00选择ADCINA0 (电压) AdcRegs.ADCMAXCONV.bit.MAX_CONV2 0; // SEQ2转换1个通道 AdcRegs.ADCCHSELSEQ3.bit.CONV08 0x8; // SEQ2的CONV08选择ADCINB0 (电流)注意同步模式下地址偏移 // 4. 配置中断 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 1; // 使能SEQ1中断 AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 0; // 每个序列结束都产生中断 AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 1; // 允许EVAePWM触发SEQ1 AdcRegs.ADCTRL2.bit.RST_SEQ1 1; // 复位序列器到初始状态 } void Init_ePWM_for_ADC_Trigger(void) { // 配置ePWM1产生周期性的SOC触发信号 EPwm1Regs.TBPRD 7500; // 设置周期寄存器对应10kHz采样率对称模式 EPwm1Regs.TBPHS.half.TBPHS 0; // 相位寄存器清零 EPwm1Regs.TBCTR 0; // 计数器清零 EPwm1Regs.TBCTL.bit.CTRMODE TB_COUNT_UPDOWN; // 对称向上-向下计数模式 EPwm1Regs.TBCTL.bit.PHSEN TB_DISABLE; // 禁止相位加载 EPwm1Regs.TBCTL.bit.PRDLD TB_SHADOW; // 周期寄存器影子模式 EPwm1Regs.TBCTL.bit.SYNCOSEL TB_SYNC_DISABLE; // 同步输出禁止 EPwm1Regs.TBCTL.bit.HSPCLKDIV TB_DIV1; // 高速时钟预分频 EPwm1Regs.TBCTL.bit.CLKDIV TB_DIV1; // 时基时钟预分频 // 配置SOC触发 EPwm1Regs.ETSEL.bit.SOCAEN 1; // 使能SOCA EPwm1Regs.ETSEL.bit.SOCASEL ET_CTRU_CMPA; // 当计数器等于CMPA时触发SOCA EPwm1Regs.ETPS.bit.SOCAPRD ET_1ST; // SOCA在第一次事件时产生 EPwm1Regs.CMPA.half.CMPA EPwm1Regs.TBPRD; // 将CMPA设置为周期值这样在计数到峰值时触发 }3.2 双缓冲区与数据流管理在高速采样中中断服务程序ISR的执行时间必须极短不能在里面进行复杂的计算如FFT。因此我们采用生产者-消费者模型。生产者ADC中断服务程序。它只做一件事将ADCRESULT0和ADCRESULT1读取出来分别存入两个数组VoltageBuffer[BUFFER_SIZE]和CurrentBuffer[BUFFER_SIZE]中。我们使用两个缓冲区BufferA和BufferB和两个索引指针writeIndex和processIndex。消费者后台主循环中的一个处理任务。它定期检查writeIndex。当writeIndex达到一个预设的块大小例如1024个点对应一个完整的工频周期或多个周期时就将processIndex指向的缓冲区“交换”出来进行处理同时writeIndex继续向另一个缓冲区写入新数据。这种双缓冲区机制避免了数据处理过程中数据被覆盖的问题保证了数据流的连续性。在DSP28335上由于有FPU我们可以直接使用float类型的数组来存储转换后的电压/电流实际值单位V和A。4. 核心算法实现与参数计算这是项目的“大脑”。我们拿到了一组同步采样的电压、电流瞬时值序列u[n]和i[n]如何计算出所有需要的参数4.1 从ADC码值到实际物理量首先ADC读取到的是0-409512位的码值需要转换为电压值。// 假设电压通道输入范围0-3V对应0-4095。实际电压 码值 * 3.0 / 4095.0 // 但之前经过互感器衰减假设衰减比为Kv如220V-3V Kv220/3则电网电压瞬时值 float voltage_inst ((float)adc_voltage_code) * (3.0f / 4095.0f) * Kv; // 电流通道类似假设电流互感器变比Ki如5A-0.1V采样电阻Rs如1Ω则电网电流瞬时值 // 电流传感器输出电压 V_sensor I * Ki * Rs // ADC码值对应 V_sensor所以 I (adc_current_code * (3.0/4095.0)) / (Ki * Rs) float current_inst ((float)adc_current_code) * (3.0f / 4095.0f) / (Ki * Rs);这里的Kv和Ki*Rs是标定系数需要通过校准获得不能仅靠理论计算。校准方法给系统输入一个已知精度的标准电压和电流记录ADC输出反算出系数。4.2 基础参数计算有效值、有功功率、功率因数对于标准的正弦波计算相对简单。但电网中常有谐波因此采用适用于任何周期信号的通用算法。电压/电流有效值RMS 有效值是均方根值。对于一个包含N个采样点的序列计算公式为U_rms sqrt( (1/N) * Σ(u[n]^2) )电流同理。 在DSP中我们用一个循环计算平方和最后开方。注意求和与平方运算最好用float类型避免累加误差。有功功率P和视在功率S有功功率瞬时功率在一个周期内的平均值。P (1/N) * Σ(u[n] * i[n])。这个公式是核心它直接反映了电压和电流同相部分做的功。视在功率S U_rms * I_rms。功率因数PFPF P / S。对于正弦波它也等于cosφφ是电压电流相位差。无功功率Q计算 对于非正弦情况无功功率的定义有多种。一种常用的方法是利用功率三角形Q sqrt(S^2 - P^2)。这种方法计算简单但仅当电压或电流是正弦波时物理意义明确。另一种更严谨的方法是使用频域分析计算基波的无功分量。4.3 进阶分析频率测量与谐波分析频率测量 高精度的频率测量是后续谐波分析的基础。我们采用了过零检测法的改进版。原理寻找电压波形连续两个由负到正或由正到负的过零点。挑战采样点不一定刚好落在零点上直接判断符号变化会引入误差。改进算法假设在过零点附近波形近似为直线。找到符号变化前后两个采样点(x1, y1)和(x2, y2)利用线性插值计算精确的过零时刻t_zero x1 - y1 * (x2 - x1) / (y2 - y1)。测量连续两个同方向过零点的时间差Δt则频率f 1 / Δt。为了提高抗干扰能力可以测量多个周期取平均。谐波分析FFT应用 要分析电压电流中的谐波含量必须使用快速傅里叶变换FFT。DSP28335的库函数中提供了优化的FFT例程。数据预处理对u[n]或i[n]的一个完整周期序列点数N最好是2的整数幂如1024应用窗函数如汉宁窗以减少频谱泄漏。执行FFT调用DSP2833x_FFT库函数得到复数频谱X[k]。计算谐波幅值和相位Mag[k] sqrt(Re(X[k])^2 Im(X[k])^2) * (2/N) / WindowGain。其中WindowGain是窗函数的幅度恢复系数。k1对应基波k2,3,4...对应2、3、4...次谐波。总谐波畸变率THDTHD sqrt( Σ(Mag[2]^2 Mag[3]^2 ... Mag[M]^2) ) / Mag[1]。通常计算到40次谐波M40或根据标准要求。谐波有功功率可以分别计算各次谐波的有功功率P_h U_h * I_h * cos(φ_h)其中φ_h是第h次谐波电压和电流的相位差。总的有功功率等于各次谐波有功功率之和这验证了时域算法的正确性。实操心得FFT运算量很大即使有FPU对1024点进行FFT也需要数万个时钟周期。因此不能在每个采样中断或每个数据块到达时都做一次完整的FFT。我们的策略是基础参数RMS P PF每1-2个工频周期计算一次在后台任务中。而谐波分析作为一个“高级功能”由用户按键触发或者以较低的频率如每秒1次在系统空闲时执行。同时可以合理降低FFT点数如256点以换取速度但会降低频率分辨率。5. 关键问题排查与性能优化实录在实际调试中我们遇到了不少问题这里记录几个典型的及其解决方法。5.1 测量精度不达标读数跳动大现象计算出的电压、电流有效值在小数点后第二位不停跳动功率因数测量不稳定。排查与解决检查信号调理电路用示波器直接观察ADC输入引脚处的波形。发现上面有高频毛刺。这是数字开关噪声通过电源或地耦合进来的。解决方案在运放输出和ADC输入之间增加一个RC低通滤波器如1kΩ 100pF截止频率约1.6MHz能滤除大部分高频噪声而不影响50Hz工频信号。同时加强模拟部分的电源滤波使用LCπ型滤波。检查ADC参考电压测量DSP的ADCREFP和ADCREFM引脚电压应为1.5V和2.0V左右。发现略有波动。在ADCREFP和ADCREFM引脚对地增加10μF钽电容和0.1μF陶瓷电容并联稳定参考源。优化软件滤波除了硬件滤波在软件上对ADC原始码值进行滑动平均滤波。例如对每个新采样点取它和前7个点的平均值作为当前值。这能有效抑制随机噪声但会引入微小延迟。对于50Hz信号8点滑动平均在10kHz采样率下对应0.8ms的延迟影响可以接受。校准校准校准发现最大的误差来源是标定系数不准。我们使用了一个高精度的可编程交流电源和一台六位半的数字万用表作为标准。在多个典型输入点如100V 200V 1A 5A下记录ADC输出和标准表读数用最小二乘法拟合出最佳的Kv和Ki系数。校准后精度显著提升。5.2 功率因数在轻载或容性负载下测量异常现象当负载很轻如一个小灯泡或负载是容性如补偿电容时功率因数显示值异常有时甚至大于1。排查与解决分析算法功率因数PF P / S。当P和S都很小时除法的舍入误差和测量噪声会被放大。检查代码发现在计算P和S时使用的是float类型但累加过程在大量采样点后可能损失精度。改为使用double类型进行累加最后再转换为float。检查相位同步这是根本原因。在轻载或纯容/感性负载时电流很小电流通道的信号可能被噪声淹没导致过零检测不准进而影响基于过零的相位差计算如果用了这种方法。此外电压和电流通道的硬件延迟运放、滤波器如果不一致也会引入固定的相位误差。解决方案硬件上尽量使电压和电流调理通道的运放型号、电路参数如滤波器截止频率一致以减少群延迟差异。软件上放弃过零法测相位采用更鲁棒的互相关法。计算电压和电流序列的互相关函数寻找其峰值位置该位置对应的时延就是相位差。这种方法抗噪声能力强精度高。或者直接使用FFT计算出基波电压和电流的相位角然后求差。设置阈值当电流有效值低于某个阈值如0.01A时认为负载极轻此时直接显示功率因数为0.00或“--”而不是显示一个无意义的数值。5.3 液晶显示刷新导致采样中断丢失现象系统运行一段时间后波形显示卡顿同时测量参数更新变慢。排查与解决使用逻辑分析仪或DSP的GPIO翻转调试在ADC中断入口和出口用GPIO输出一个脉冲。发现当液晶屏在刷新大块区域如绘制波形时ADC中断响应时间变长有时甚至错过了一个中断。原因分析液晶屏的驱动特别是并口或SPI写数据是耗时操作可能会长时间关闭中断或占用总线导致ADC中断无法及时响应。解决方案优化液晶驱动将打点、画线函数优化使用DMA传输数据到液晶屏的GRAM。对于DSP28335可以利用其SPI模块的DMA功能。任务优先级与分时确保ADC中断具有最高优先级。将液晶刷新任务拆分成小块。例如不在中断中刷新整个屏幕而是建立一个显示缓冲区。主循环中每次只刷新屏幕的一小部分如一行文本或一段波形保证每次刷新的时间很短不会阻塞中断太久。双缓冲区绘图对于波形显示先在内存中的一个数组缓冲区里计算好要显示的所有点然后一次性将这个缓冲区的数据通过DMA发送到液晶屏。这样耗时的计算过程在后台完成发送数据时虽然可能占用总线但时间相对集中且可控。5.4 常见问题速查表问题现象可能原因排查步骤与解决方法ADC采样值全为0或固定值1. ADC模块未正确上电或时钟未配置。2. 采样触发信号未产生。3. 输入信号超出范围或调理电路故障。1. 检查ADCTRL3电源配置位用示波器测ADC输入引脚时钟。2. 检查ePWM配置用示波器看EPWM1_SOCA输出。3. 用万用表或示波器测量ADC输入引脚电压。测量值存在固定偏差1. 标定系数不准确。2. 运放存在输入失调电压。3. ADC自身存在偏移误差。1. 进行多点校准重新计算系数。2. 选择Vos小的运放或软件补偿。3. 测量ADC输入接地时的输出码值不应为0在代码中减去这个偏移量。高频噪声干扰严重1. 电源纹波大。2. 数字信号线离模拟线太近。3. 未使用滤波电路。1. 增加电源滤波电容模拟数字电源隔离。2. 检查PCB布局模拟部分用地线包围。3. 在ADC输入端增加RC低通滤波。FFT结果频谱杂乱1. 采样序列非整数个周期频谱泄漏。2. 未加窗函数。3. 信号本身噪声大。1. 使用锁相环PLL或软件同步技术使采样频率自动跟踪信号频率保证截断的序列是整数个周期。2. 对数据加汉宁窗或海明窗。3. 先进行滑动平均等时域滤波。系统运行一段时间后死机1. 堆栈溢出。2. 中断嵌套或优先级配置错误。3. 看门狗未喂狗。1. 增大.cmd文件中的堆栈段大小。2. 检查中断向量表配置避免在中断中调用耗时函数。3. 确认看门狗定时器被正确清零。6. 项目总结与扩展思考回过头看这个单相功率分析仪项目它麻雀虽小五脏俱全。它强迫你去深入理解模拟电路设计信号调理、嵌入式系统外设驱动ADC ePWM SPI、实时操作系统概念任务、中断、缓冲区、以及核心的数字信号处理算法RMS FFT 相关分析。每一个环节的疏忽都会在最终的测量精度上体现出来。我个人最大的体会是精度是设计出来的不是调出来的。在项目开始时的方案选型、器件选型、PCB布局阶段就必须把噪声、温漂、时序这些因素考虑进去。比如选择低温漂的金属膜电阻、高PSRR的LDO给模拟部分供电、严格区分模拟地和数字地。这些工作比后期在软件里加各种滤波补偿算法要有效得多。这个项目的代码和框架完全可以移植到其他平台上。如果你用的是STM32H7它的ADC可能支持更高的采样率和分辨率但同步采样可能需要使用双ADC模式或交替触发。其FPU性能更强可以运行更复杂的算法如实时全周期谐波分析。如果你用的是没有FPU的M0/M3内核单片机那么就需要使用定点数Q格式库来进行运算或者降低性能要求如只计算有效值和有功功率。进一步的扩展方向也有很多三相系统原理类似但需要同时采样三路电压和三路电流对ADC通道数和采样同步性要求更高。算法上需计算三相功率、不平衡度等。电能计量在功率计算的基础上对有功功率进行积分得到电能值kWh。需要注意长时间积分的累加误差处理和防掉电存储。无线传输与云平台增加Wi-Fi或4G模块将测量数据上传到云服务器实现远程监控和数据分析。标准合规性测试集成更多的分析功能如闪变测量、间谐波分析以满足特定的电能质量国家标准如GB/T 12325 IEC 61000-4-30。最后分享一个调试小技巧在DSP的RAM中开辟一段空间将关键的中间变量如原始的ADC码值、计算出的瞬时功率、FFT结果等实时存储下来。然后通过JTAG仿真器使用CCSCode Composer Studio的Graph功能将这些数据以波形形式显示出来。这比单纯看数字直观得多对于分析算法问题、验证数据正确性有奇效。本文还有配套的精品资源点击获取
返回列表