D223的DDS信号发生器:10000点查找表与4通道16位DAC波形输出

📅 2026/8/13 12:15:23
D223的DDS信号发生器:10000点查找表与4通道16位DAC波形输出
采集卡只会采集D223内置4通道16位DAC支持正弦、三角、方波和自定义DDS波形输出。本文从代码层面解析DDS波形合成的完整实现。一、硬件基础TI-REF5050 4通道16位DACD223的模拟输出AO模块采用TI-REF5050基准源驱动的4通道16位DAC芯片[note_63]。DAC芯片通过SPI2与STM32H743连接由TIM14定时器中断驱动波形输出[note_63]。与早期产品DABL7606使用PWM RC低通滤波实现10位DAC不同D223使用的是真正的16位DAC芯片输出精度和建立时间都有质的提升[img_147]。DAC输出范围0-5V由REF5050提供高精度基准电压[note_63]。二、DDS波形合成的六种模式D223固件定义了6种DAC工作模式[note_63][word_3]enum_ddsDacWorkMode{_ddsDacWorkMode_Stop0x00,// 停止输出_ddsDacWorkMode_Dc0x01,// 直流输出_ddsDacWorkMode_Sin0x02,// 正弦波_ddsDacWorkMode_Triangle0x03,// 三角波_ddsDacWorkMode_Square0x04,// 方波_ddsDacWorkMode_Dds0x05,// 自定义DDS波形查表_ddsDacWorkMode_Calib0xff,// 校准模式};DDS核心数据结构[note_63]typedefstruct{u8 ddsDacWorkMode[4];// 各通道工作模式u32 dacIndex[4];// 相位累加器DDS核心u32 dacMaxIndex[4];// 一个周期的最大索引u16 dacCCR[4];// TIM5 CCR输出值计算结果u16 ddsDatas[10000];// 自定义波形数据10000点查找表u16 ddsDatasLen;// 自定义波形长度}ddsDac;重要D223支持10000点自定义DDS波形查找表[note_244]。注意不是500点——500点是内部正弦波的固定查找表自定义DDS波形支持最多10000点。三、正弦波相位累加器 500点固定查找表正弦波使用500点内部查找表 相位累加器实现[note_63]// 相位步进_ddsDac.dacIndex[i]freq*500000/interruptFreq;// 模500000500点 × 1000精度_ddsDac.dacIndex[i]%500000;// 查表索引dacIndexInt_ddsDac.dacIndex[i]/1000;// 查表 幅度 偏置_ddsDac.dacCCR[i]sinTable[dacIndexInt]*amp/65536bias;这里的关键设计500000 500查找表点数× 1000小数精度3位相位累加器为32位无符号整数通过取模实现周期循环除以1000去掉小数部分得到查找表索引最终输出值 查表值 × 幅度 / 65536 偏置多通道相位同步同频通道共享通道0的相位累加器仅叠加相位偏移phase_offsetphase*500000/360;通过这种方式实现多通道相位同步输出[note_63]。四、自定义DDS波形10000点查找表自定义DDS模式从ddsDatas[]数组循环查表输出[note_63]。用户可以上传最多10000点的任意波形数据固件按设定的频率循环输出。这比早期DABL7689采集卡的200点查找表[note_69]和DABL7606的查找表容量大幅提升可以表达更复杂的波形细节。五、三角波与方波三角波线性上升→线性下降直接通过数学计算生成不需要查找表[note_63]。方波根据占空比判断高低电平直接输出对应DAC值[note_63]。可调参数包括[word_3]频率freq幅度volt占空比duty偏置bias六、DAC输出率与资源调度DAC输出率由TIM14定时器控制范围1000~10000Hz[note_63]。当DAC和PWM同时工作时在线ADC采集的采样率会被限制在30kHz以下以出让资源给DAC和PWM外设[note_63]。这是D223固件层面的资源调度策略——在多功能并行时主动降速确保系统稳定性优先。七、与其他型号的对比型号DAC方案通道数分辨率输出范围自定义波形点数DABL7606PWM RC低通滤波410位0-5V-DABL-G511TI-REF5050 DAC416位0-10V-DABM-D223TI-REF5050 DAC416位0-5V10000点D223在DAC方面相比DABL7606有显著提升从10位PWM滤波升级为16位真DAC芯片并支持10000点自定义DDS波形[img_147][note_244]。八、总结D223的DDS信号发生器实现了4通道独立控制每个通道可独立设置波形类型、频率、幅度、偏置6种波形模式直流、正弦、三角、方波、自定义DDS、校准10000点自定义查找表远超早期产品支持复杂波形多通道相位同步同频通道共享相位累加器可设置相位偏移16位真DAC输出TI-REF5050基准源0-5V可编程输出一块采集卡既能采又能发这才是一块板子干一个实验室的活。下篇预告《D223的SRAM硬件记录仪外部触发与瞬态波形捕获》