微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP 的PCI 通用运动控制卡的硬件设计

基于DSP 的PCI 通用运动控制卡的硬件设计

时间:10-23 来源:互联网 点击:

,其余两路与此类似。XD0~XD7为DSP 的低八位数据线,LM628 所需的32 位数据由其经总线驱动芯片SN74LVC4245 分四个写周期写入。DSP 经CS-1 选通LM628 后,再结合XA0 就可实现对其读写。为了提高控制精度,这里采用12 位输出模式,即在每一个采样周期,LM628 的18~23 脚输出两个周期,前一个输出低6 位数据,后一个输出高6 位数据。为了让12 位数据能同时输入到后续的DAC芯片中,这里采用了一片6 位数据锁存器74LS378。当LM628 输出低6 位时,DA0 是输入触发器的时钟信号,DA1 是触发器的允许信号,此时,锁存器的G 端为高,数据锁存,接着LM628 输出高6 位数据,此时DA0 是给DAC 芯片的写信号,DA1 是片选信号,锁存器的G 端为低,数据不锁存。这样便从8 位输出合成了12 位的DAC 输入信号DAC0~DAC11。

图 4 运动控制卡的一路实现原理图

2.4 数/模转换和放大电路

如图 4 中虚线框(2)所示,DAC 参考电压Vref 由Maxim 公司的MAX680 提供,而LM358的±12V电源则可直接从PCI 插槽获得。LM628 输出的12 位数字量经AD7545A 转换为相应的模拟量,再由LM358 两级运算放大成-10V~+10V 电压信号送往交流伺服驱动器,从而驱动电机运转。电阻R26 和R27 用来调整满刻度输出电压和抑制零点漂移,电容C38 则用来加快DAC变换速度和对其输出进行频率补偿。最终输出电压Vout1 可由式(1)计算得出:

2.5 差分电路

在噪声比较大的环境中,为了解决干扰和远距离传输等问题,通常采用差动信号传输,如图4 中虚线框(3)所示。为了进一步消除干扰,在每个输入端都接入一个滤波电容,同时在每一对差动信号输入线之间接一个用于线路阻抗匹配的电阻。差动信号(IN+、IN-、A+、A-、B+、B-)经差动线路接收器SN75175 和高速光电耦合器6N137 转换为单端信号(IN、A、B)输入到LM628 中,以实现闭环控制。

2.6 译码电路

如图 4 中虚线框(4)所示,采用一片3/8 译码器74LS138 对地址译码,实现对控制卡3路伺服单元的片选,而XA0 则专门用于对LM628 进行读写控制,这样得出的地址信号是连续的(0XF60~0XF65)。另外,采用一片四位二进制码比较器74LS85 实现DSP 对双口RAM的读写片选。片选地址信号范围为0~7FF,这刚好寻址双口RAM 2K 范围内的所有空间。

此外,由于TMS320F2812 要从双口RAM 读出大量的运动轨迹数据并存储,而其片内只有18KB 的空间,远不能满足要求,同时为了方便程序调试和修改,均需要DSP 扩展一片存储器。这里选用CYPRESS 公司的256K×16 位的SRAM CY7C1041CV33,其读写周期时钟最快可达12ns,因此可与DSP 进行零等待状态接口,保证了DSP 的运算速度。

3 运动控制卡的配置

配置空间是 PCI 总线所特有的一个空间,其通常与接口芯片相关,包括一系列的PCI配置寄存器。PCI9052 的配置寄存器分为PCI 配置寄存器和局部配置寄存器,两者都可以由PCI 总线和串行EEPROM 访问。

3.1 PCI 配置寄存器及其配置

在 PCI 配置寄存器中的设备ID、制造商ID、版本号、首区类代码、类别代码、指令寄存器和状态寄存器等在所有的PCI 设备中都必须实现。操作系统通常使用其内容来决定为该PCI 设备加载驱动程序。此外,PCI 配置寄存器还提供6 个基地址寄存器,其中BASE0 和BASE1 是分别映射到内存和I/O 的基地址,可固定用于对PCI9052 的寄存器操作。而BASE2~BASE5 最多可访问局部端所接的4 个设备,实现其局部地址空间的访问。PCI 总线对局部端设备的局部地址映射是通过1 个寄存器组(包括PCI 基地址寄存器、局部范围寄存器、局部基地址寄存器和局部总线区域描述符)来实现的。它定义了每个空间及其特性,并将局部端设备通过局部端地址翻译为PCI 总线地址,即将本地设备映射到系统的内存或I/O端口。而片选信号寄存器则用来选定这些设备。这样,用程序操作这一段内存(或I/O)实际上就是对本地设备的操作。这些寄存器的内容必须在设备复位时通过串行EEPROM 加载。

3.2 局部配置寄存器及其配置

在这里,选取 LAS0(Local Address Space 0)访问局部端双口RAM,与其相关的寄存器为LAS0 范围寄存器、LAS0 局部基地址寄存器、LAS0 局部总线区域描述符和片选0 基地址寄存器。LAS0 范围寄存器用于定义板卡上资源所占地址空间的大校由于板卡需要2KB的内存空间,而计算机预留了32KB 空间(即8000H),因此写入寄存器的值为0xFFFF8000H;LAS0 局部基地址寄存器用来定义板卡资源所占的基地址,它将其重新映射到PCI 地址空间中,以使PC 机能对板卡进行访问。由于基地址必须是地址空间范围的整数倍,又因局部地址空间位0 为使能位,因此

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top