基于DSP28335的飞控计算机DAC扩展电路设计

时间:2014-07-08来源:网络

  unsigned int*DAOUT1=(unsigned int*)(0x004000;

  *DAOUT1=daout_w[0];

  上例中,首先为DAOUT1通道定义一个指针变量,指向该通道所分配的地址,也就是0x004000;数组元素daout_w[0]存放该通道参与转换的数字量。DSP执行上述写指令时,XINTF的地址总线会送出0x004000,将DAOUT1通道选通,工作于直通模式;控制信号XR/W会送出低有效脉冲,使能本次写操作;数据总线会送出daout_w[0]里存放的数字量。至此,DAOUT1通道的刷新操作全部完成。

  4.2 转换通道数据回读的程序设计

  数据回读功能是DAC7725N芯片的特色之一。DAC7725N允许在转换过程中读出当前正参与转换的数字量,DSP据此可以获取所有D/A转换通道输出的模拟信号的幅值,而无需使用额外的传感器和A/D转换电路。与数据给定(刷新)操作类似,数据回读操作只需从相应的端口地址读出数据即可。以DAOUT1通道为例,给出示例代码如下:

  daout_r[0]=*DAOUT1;

  上例中,存入数组元素daout_r[0]中的数据,即是该通道当前正在参与转换的数字量。DSP执行上述写指令时,XINTF的地址总线会送出0x004000,将DAOUT1通道选通;控制信号XR/W保持高电平,使能本次读操作;DAC7725N将该通道当前正参与转换的数字量送至数据总线,供XINTF读取。至此,DAOUT1通道的数据回读操作全部完成。

  5 系统性能验证

  D/A转换通道在飞行控制系统中负责给出代表舵面位置的模拟信号。刷新速率不低于50 Hz,精度不低于200 mV。图7是DAC扩展模块实物图。

  

 

  D/A转换通道的验证方案设计如下:

  每一路D/A转换通道均要求输出正弦波信号,使用定时器定时刷新的方式,将定时器的定时周期设为1 ms,刷新频率可达1 000 Hz;将-10~+10 V的输出幅值离散为1 000个点,这样,理论上的转换精度可达20 mV;用示波器实时监测每一通道的输出信号,看输出正弦波的频率是否稳定为1 000 Hz,波形是否有明显的异常抖动,每隔一段时间读取正弦波的振幅值,从而验证在1 000 Hz的刷新频率下,转换精度是否满足要求。参考以上论述,先以通道E—D/A1参与测试,结果显示,E—D/A1通道能够输出预期的正弦波信号,证明此D/A转换通道能正常工作。剩余7通道也按相同方式验证,在确知所有的D/A通道已调通之后,对各通道的转换精度进行了静态测试,测试方案如下。

  在程序中向每路D/A转换通道写入相同且固定的数字量,并以20 ms为周期进行刷新。使用高精度直流电压表对各通道输出的模拟信号进行测量。由于数字量固定且已知,可由相关公式计算得到理论上输出模拟量幅值,将其作为基准参考与实际测得的模拟信号幅值进行比较,可较为准确地得到各路D/A转换通道的转换精度。测试结果表明,所有D/A转换通道精度能够达到5.8 mV,可满足无人机飞行控制系统的应用需求。

  6 结论

  文中以DSP作为中央处理单元(CPU),使用两片DAC7725N扩展得到8路模拟量输出通道。DSP使用XINTF接口实现对DAC7725N的驱动,驱动程序简单,接口逻辑可靠。使用CPLD实现DSP与TL16C754之间的接口逻辑,简化了电路设计,进一步提高了系统的可靠性。实验证明,所有D/A转换通道在1 000 Hz的刷新频率下,精度能够达到5.8 mV,完全能够满足飞控系统实际应用的要求。

1 2

关键词: 数模转换 DAC7725N DSP28335 复杂可编程逻辑器件

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版