标题:
DSP+FPGA在高速高精运动控制器中的应用(2)
[打印本页]
作者:
yuyang911220
时间:
2016-11-21 11:13
标题:
DSP+FPGA在高速高精运动控制器中的应用(2)
LAB主要用于逻辑电路设计,一个LAB包括8个逻辑单元LE,每一个LAB提供4个控制信号及其反相信号,其中两个
可用于时钟信号。每一个LE包括组合逻辑及一个可编程触发器。触发器可被配成D,T,JK,RS等各种形式。IOE提供全局的时钟及清零信号输入端口,还提供具有可编程性的各种输入输出端口,如低噪声端口、高速端口等。
FLEX10K系列芯片是ALTERA公司新近推出的PLD产品。与ALTERA公司先前推出的MAX7000系列EPLD相比,FLEX10K(以下简称10K)系列具有更加丰富的内部资源(最多可达10万门),更加充裕的可配置的I/O管脚(最多达406条)。再加上其低廉的价格,使得10K系列芯片受到越来越多用户的欢迎。
基于以上原因,我们在本方案中采用ALTERA FLEX10K10,并且考虑到以后设计的连续性,我们可以无需更改硬件电路,就可以更换性能更高的、相同尺寸、相同管脚配置的ALTERA FLEX10K20。
1.3 PC通信接口模块
该模块选用16位的ISA总线与PC相连,CY7C133双口RAM用作数据缓冲。
ISA总线的使用十分灵活、方便,而且I/O操作比较简单。虽然ISA总线的引脚多但并不是都要用到的,关键是几个固定引脚的应用,例如:I/O CH RDY、I/OR、I/OW、ALE、数据线和地址线,结合起来实现通信。
在本系统中,双口RAM的 PC端地址线并没有直接采用ISA过来的地址线,而是由FPGA内部地址计数器给定。这是因为,ISA总线上大部分地址都已经被PC系统分配好,直接把2K的双口RAM数据空间映射到ISA总线上并不现实;而且控制系统与PC交换的数据基本上是一系列加工点的坐标参数,采用顺序访问对性能没有影响。因此采用地址计数器方式的顺序访问,完全能够达到设计的要求。
具体做法是:ISA地址线的A2~A9接到地址比较器74LS688,与设定好的地址作比较,74LS688的片选信号由ISA的IOR和IOW的“与”提供(IOR和IOW在ISA总线访问端口时低有效),A0,A1接到FPGA,用于选择FPGA内部4个功能不同的寄存器。ISA的ALE用于触发FPGA 内部逻辑功能,锁存ISA总线过来的信号,如图2所示。
当访问地址清零寄存器时,地址计数值清零;当访问地址增加寄存器时,地址计数值增加“1”。如此类推,访问不同的寄存器就对地址计数值完成不同的操作,把地址计数值直接作为地址送给双口RAM,就可以实现ISA总线访问双口RAM了。
1.4 输出模块
输出模块采用模拟输出,经外部放大驱动电机的方案。D/A转换芯片选择DAC7744。
DAC7744是高性能的4通道16位高速D/A,主要特点如下:
● 输出通道:独立4 路
● 输出信号范围:0~5V;0~10V;±5V;±10V
● 输出阻抗:≤2Ω
● D/A转换器件:DAC7744
● D/A转换分辨率:16位
● D/A转换码制:二进制原码(单极性) 二进制偏移码(双极性)
● D/A转换时间:≤1μs
● D/A转换综合误差:≤0.02% FSR
● 电压输出方式负载能力:5mA/路
1.5 存储模块
存储模块用于存储系统程序和数据,主要由SRAM(2片CY7C1021)和FLASH(AM29F40
0B)组成。外围存储电路如图3所示。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0