基于DSP28335的飞控计算机DAC扩展电路设计
摘要:为了实现UAV的舵机和油门调节控制的需要,飞控计算机系统采用BURR—BROWM公司的D/A芯片DAC7725N来设计D/A扩展模块。使用CPLD实现接口逻辑,简化了电路设计,后续的系统调试验证表明,D/A转换通道在1 000 Hz的刷新频率下,精度能够达到5.8 mV,完全能够满足UAV飞行控制系统实际应用的要求,具有较高的实用性。
关键词:数模转换;DAC7725N;DSP28335;复杂可编程逻辑器件
模拟量控制和PWM控制是当前无人机舵机控制系统最常用的两种控制方式。其中模拟量控制作为一种传统控制方式,至今仍被广泛应用,绝大多数的飞行控制计算机都提供模拟量输出通道,因此,D/A转换模块是飞行控制计算机中必备的功能模块之一。DSP28335片上没有DAC模块,所以必须使用片外扩展。
DAC模块设计涉及D/A转换芯片的选择、参考电压源的配置、数字输入码与模拟输出电压的极性等问题,而其中最核心的问题是D/A转换芯片的选择与应用问题,主要需要考虑的技术指标有分辨率和建立时间等。本文选用BURR—BROWM公司的D/A转换芯片DAC7725N实现此功能。
DAC7725是一款高输出电压和低功耗的D/A转换器件,产品功耗低(最多250 mW)、建立时间快(10μs)、线性度和单调性为12 bit,接收12位并行输入数据,采用双缓冲输入逻辑,提供数据回读模式。DAC的低功耗,小体积使DAC7725特别适合于闭环伺服控制系统。
1 总体设计方案
本系统采用TI公司的高性能数字信号处理器(DSP28335)作为中央处理单元。该款DSP芯片提供高性能并行外设扩展接口XINTF,对外提供具有标准时序的片选、读/写控制信号;同时提供32位数据总线、20位地址总线,并且提供3个独立的片选信号,扩展能力强,使用方便。
因为单片DAC7725N提供4通道模拟量输出,本系统使用两片DAC7725N扩展得到8路模拟量输出通道。DSP将代表舵面位置的数字量通过并行数据接口送至DAC7725N,DAC7725N将其转换成相应的模拟电平信号后送至舵控电路,从而完成本次舵面刷新操作。结构图如图1所示。
2 DAC转换精密基准电路设计
基准电路具有稳定性好,对系统的操作环境(如电源电压、工作温度、输出负载)变化不敏感的特点,可以为其它电路模块提供较为精确的参考点,因此它是模拟集成电路和数模混合电路中不可缺少的基本单元电路。DAC7725N精密基准电路如图2所示。
3 DSP与DAC7725N接口电路的设计
比较DSP的XINTF接口与DAC7725N的并行端口可知,两接口具有良好的兼容性,只需少量接口逻辑电路的配合即可建立起DSP与DAC7725N之间的通信连接。为提高逻辑电路设计的灵活性和可靠性,所有的逻辑电路全部使用1片CPLD实现。DSP与DAC7725N接口电路如图3所示。
图3给出了1片DAC7725N与DSP实现通信连接的电路原理图。本系统共使用2片DAC7725N,另一片使用相同的接口电路,这里不再重复给出。
3.1 DAC7725N片选译码逻辑设计
1#DAC7725N芯片提供第1#~4#模拟量输出通道,2#DAC7725N芯片提供第5#~8#模拟量输出通道,DSP要选通某一通道,首先要通过CPLD的片选译码逻辑选通提供该通道的DAC7725N芯片。本系统中采用部分译码的方式提供每个DAC7725N芯片的片选信号。逻辑电路如图4所示。
地址分配情况如表1所示。
3.2 DAC7725N写使能信号R/W的逻辑设计
DAC7725N使用R/W信号使能本次写操作。写操作是D/A转换芯片的基本操作,DSP将待转换的数字量写入DAC7725N,在DAC7725N的模拟量输出端即可得到相应幅值的模拟信号。读操作是DAC7725N的特色之一,DAC7725N支持数字量回读功能,使得DSP能够方便地获取当前正在参与转换的数字量的值。下面以D/A转换芯片的写操作为例,详细分析芯片DAC7725N写操作时序设计,由于读操作与写操作时序设计类似,这里不再累述。
DAC7725N执行写操作时对R/W信号和CS信号的时序关系有一定的要求,如图5所示。
只要DSP在对DAC7725N执行写操作时,以CPLD为核心的接口电路能够提供符合上述标准的逻辑时序,就能确保DSP对DAC7725N的写操作正确执行。
XINTF在执行写操作时XR/W信号时序图示如下:
通过对DAC7725N与XINTF的接口时序作定性对比可知,令
保持一致,总体上可满足DAC7725N的接口时序要求。
4 D/A转换驱动程序设计
4.1 转换通道刷新的程序设计
刷新操作是指该D/A转换通道能够及时锁存来自CPU的数字量输入,并输出相应幅值的模拟信号。刷新操作是D/A转换通道的基本操作。对于本系统来讲,DSP想要刷新某一D/A转换通道的模拟量输出,只需向相应的端口地址写入数据即可。以DAOUT1通道为例,给出示例代码如下:
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码