位置:51电子网 » 技术资料 » 接口电路

PCI多轴运动控制卡的VHDL-CPLD接口设计标题

发布时间:2008/6/3 0:00:00 访问次数:673

pci多轴运动控制卡是精密伺服驱动控制系统中的主要部件,传统设计多采用pci桥件和运动控制器件构建,这样虽然开发周期短,但成本却非常高。用"cpld做pci接口 + tms320c2400系列dsp做运动控制器?quot;的设计,构成的系统简洁可靠,成本低廉,开发周期短,是一种行之有效的板卡开发途径。根据pci总线的传输时序和运动控制器件的读写时序要求,以altera的cpld器件和开发工具,使用vhdl语言,进行状态机构造,很快地实现了多轴运动控制卡的pci接口设计,并进行了功能模拟和定时分析,很好地达到了欲期目的。在系统编程、下载器件、测试,工作效果很好。以下,介绍整个设计思想,供广大同行参考。


接口系统模型简介

用cpld做多轴运动控制卡的pci接口,所构成的板卡系统用图1描述。

图1 pci-cpld接口系统模型图(略)

这里,cpld/fpga完成pci主/从传输时序的逻辑构成与变换,并直接对专用运动控制器件或tms320c2400系列dsp进行适当操作。整个系统的设计中,cpld使用pci总线的33mhz时钟,以简化pci传输的逻辑设计。


总线传输时序分析

运动控制器件采用日本nova的mcx314专用器件。mcx314是一款能够同时控制4个伺服马达或步进马达的运动控制芯片,它以脉冲串形式输出,能对伺服马达和步进马达进行位置控制、插补驱动、速度控制等实时监控。mcx314单独使用16mhz晶振时钟。通过mcx314进行运动监控,主要是下达命令,进行运动状态参数的读取或运动参数的发送。在mcx314中,这些命令和参数对应不同地址的寄存器,每个寄存器字宽16位,这些寄存器共用16个地址。对mcx314进行写操作后,最大四个clk周期内不能再连续读写操作,以使mcx314有足够时间处理数据,外部表现为mcx314的busy#线在wr#写信号的上升沿后最大二个sclk周期期间保持低激活,sclk芷谑荂lk的两倍。下面图2~4是mcx314的读写时序图。表1是图2~4中标示的时间要求范围。

进行pci总线传输,至少需要40条信号接口,包括数据/地址线、接口控制线、仲裁、总线命令及系统线等。每次数据传输由一个地址脉冲和一个或几个数据脉冲组成。一次传输一个地址和一个数据称为常规传输;一次传输一个地址和一批数据称为猝发传输。根据mcx314的使用特点和读写时序,进行pci传输,最适宜采用常规传输。pci常规传输常用的控制信号是:帧同步信号frame#、主设备准备好信号irdy#、从设备准备好信号trdy#、从设备选通信号devsel#、命令/字节信号c/be#等。下面图5~6是pci常规传输的典型时序图。

根据mcx314器件和pci总线传输的特点,采用16位数据总线使mcx314与pci低端地址/数据线直接相连,可以有效地简化设计和硬件结构。
⑴每次数据传输,主机通过pci首先传出地址和命令字,pci接口逻辑要能从地址中确定是不是对本机的访问,并锁存地址;同时pci接口逻辑还要能从命令字中识别访问是读操作还是写操作。

⑵进行读写操作,pci接口逻辑要向pci总线产生适当的trdy#、devsel#信号,只有在irdy#、trdy#、devsel#都为低状态时,pci操作才能完成;同时,pci接口逻辑还需要向mcx314产生适当的片选cs#、读rd#或写wr#信号。

⑶对mcx314的读操作,rd#信号的低有效时间要大于trd的最大值29ns。

⑷对mcx314的写操作,要保证wr#信号的低有效脉宽tww不小于50ns,输入数据的设定时间tdw不小于30ns,片选cs#与地址保持时间要不小于5ns。

⑸对mcx314写操作后,在逻辑设计上要保证至少8个pci时钟周期(33mhz)内主机不再对它进行读写操作,以使mcx314有足够时间处理数据。即要插入适当时间的trdy#信号,以使主机能够产生等待,不操作mcx314器件。

⑹片选cs#、读rd#、写wr#有效期间,地址信号要始终有效并确定为某一值。


cpld实现的状态机构设

状态机的构造

根据上述时序图的分析,完成此特定pci总线传输需要设计七个状态:状态s0标识pci总线空闲时期;状态s1标识地址与总线命令识别阶段;状态s2、s4、s6、s7完成写操作及其写后的适当等待周期;状态s3、s5完成读操作。

状态功能的确定

设计各状态执行以下功能:
状态s0~s1:对pci总线,置高信号trdy#、devsel#;对mcx314,置高片选信号cs#、读信号rd#、写信号wr#,地址呈现三态。在s1态还要完成:依据地址信号确定是不是对本机的选择,并识别是不是读或写操作,锁存访问地址。
状态s3、s5:对mcx314,产生低有效的片选信号cs#、读信号rd#,并确定读写访问的地址。在s5态,对pci总线,置低信号trdy#、devsel#,以完成pci读操作。
状态s2、s4、s6、s7:对mcx314的片选信号cs#在s2态产生,在s4、s6态保持,进入s7态结束;s2、s4态写信号wr#低有效;s6态产生8个pci周期长的等待时期;s7态置低信号trdy#以结束pci写操作;在s2、s4、s7态,产生低有效的devsel#。

状态变化的确定

根据对pci总线传输时序的分析,影响设想的各个状态相互转化的因素是:帧同步信号frame#、主设备准

pci多轴运动控制卡是精密伺服驱动控制系统中的主要部件,传统设计多采用pci桥件和运动控制器件构建,这样虽然开发周期短,但成本却非常高。用"cpld做pci接口 + tms320c2400系列dsp做运动控制器?quot;的设计,构成的系统简洁可靠,成本低廉,开发周期短,是一种行之有效的板卡开发途径。根据pci总线的传输时序和运动控制器件的读写时序要求,以altera的cpld器件和开发工具,使用vhdl语言,进行状态机构造,很快地实现了多轴运动控制卡的pci接口设计,并进行了功能模拟和定时分析,很好地达到了欲期目的。在系统编程、下载器件、测试,工作效果很好。以下,介绍整个设计思想,供广大同行参考。


接口系统模型简介

用cpld做多轴运动控制卡的pci接口,所构成的板卡系统用图1描述。

图1 pci-cpld接口系统模型图(略)

这里,cpld/fpga完成pci主/从传输时序的逻辑构成与变换,并直接对专用运动控制器件或tms320c2400系列dsp进行适当操作。整个系统的设计中,cpld使用pci总线的33mhz时钟,以简化pci传输的逻辑设计。


总线传输时序分析

运动控制器件采用日本nova的mcx314专用器件。mcx314是一款能够同时控制4个伺服马达或步进马达的运动控制芯片,它以脉冲串形式输出,能对伺服马达和步进马达进行位置控制、插补驱动、速度控制等实时监控。mcx314单独使用16mhz晶振时钟。通过mcx314进行运动监控,主要是下达命令,进行运动状态参数的读取或运动参数的发送。在mcx314中,这些命令和参数对应不同地址的寄存器,每个寄存器字宽16位,这些寄存器共用16个地址。对mcx314进行写操作后,最大四个clk周期内不能再连续读写操作,以使mcx314有足够时间处理数据,外部表现为mcx314的busy#线在wr#写信号的上升沿后最大二个sclk周期期间保持低激活,sclk芷谑荂lk的两倍。下面图2~4是mcx314的读写时序图。表1是图2~4中标示的时间要求范围。

进行pci总线传输,至少需要40条信号接口,包括数据/地址线、接口控制线、仲裁、总线命令及系统线等。每次数据传输由一个地址脉冲和一个或几个数据脉冲组成。一次传输一个地址和一个数据称为常规传输;一次传输一个地址和一批数据称为猝发传输。根据mcx314的使用特点和读写时序,进行pci传输,最适宜采用常规传输。pci常规传输常用的控制信号是:帧同步信号frame#、主设备准备好信号irdy#、从设备准备好信号trdy#、从设备选通信号devsel#、命令/字节信号c/be#等。下面图5~6是pci常规传输的典型时序图。

根据mcx314器件和pci总线传输的特点,采用16位数据总线使mcx314与pci低端地址/数据线直接相连,可以有效地简化设计和硬件结构。
⑴每次数据传输,主机通过pci首先传出地址和命令字,pci接口逻辑要能从地址中确定是不是对本机的访问,并锁存地址;同时pci接口逻辑还要能从命令字中识别访问是读操作还是写操作。

⑵进行读写操作,pci接口逻辑要向pci总线产生适当的trdy#、devsel#信号,只有在irdy#、trdy#、devsel#都为低状态时,pci操作才能完成;同时,pci接口逻辑还需要向mcx314产生适当的片选cs#、读rd#或写wr#信号。

⑶对mcx314的读操作,rd#信号的低有效时间要大于trd的最大值29ns。

⑷对mcx314的写操作,要保证wr#信号的低有效脉宽tww不小于50ns,输入数据的设定时间tdw不小于30ns,片选cs#与地址保持时间要不小于5ns。

⑸对mcx314写操作后,在逻辑设计上要保证至少8个pci时钟周期(33mhz)内主机不再对它进行读写操作,以使mcx314有足够时间处理数据。即要插入适当时间的trdy#信号,以使主机能够产生等待,不操作mcx314器件。

⑹片选cs#、读rd#、写wr#有效期间,地址信号要始终有效并确定为某一值。


cpld实现的状态机构设

状态机的构造

根据上述时序图的分析,完成此特定pci总线传输需要设计七个状态:状态s0标识pci总线空闲时期;状态s1标识地址与总线命令识别阶段;状态s2、s4、s6、s7完成写操作及其写后的适当等待周期;状态s3、s5完成读操作。

状态功能的确定

设计各状态执行以下功能:
状态s0~s1:对pci总线,置高信号trdy#、devsel#;对mcx314,置高片选信号cs#、读信号rd#、写信号wr#,地址呈现三态。在s1态还要完成:依据地址信号确定是不是对本机的选择,并识别是不是读或写操作,锁存访问地址。
状态s3、s5:对mcx314,产生低有效的片选信号cs#、读信号rd#,并确定读写访问的地址。在s5态,对pci总线,置低信号trdy#、devsel#,以完成pci读操作。
状态s2、s4、s6、s7:对mcx314的片选信号cs#在s2态产生,在s4、s6态保持,进入s7态结束;s2、s4态写信号wr#低有效;s6态产生8个pci周期长的等待时期;s7态置低信号trdy#以结束pci写操作;在s2、s4、s7态,产生低有效的devsel#。

状态变化的确定

根据对pci总线传输时序的分析,影响设想的各个状态相互转化的因素是:帧同步信号frame#、主设备准

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!