1. 引言

可编程逻辑器件 PLD(Programmable logic Device)就是由用户进行编程实现所需逻辑功能的数字专用集成电路 ASIC。可编程逻辑器件在现代电子工程设计中得到了广泛应用。它是在 PAL,GAL 等逻辑器件的基础上发展起来的,具有高密度,高速度,低功耗体系结构和逻辑单元,灵活以及运用范围宽等特点,同时还具有设计周期短,制造成本低,开发工具先进,标准产品无需测试,质量稳定及可实时布线检验等优点。


现场总线技术广泛应用于工业和军用测控局域网中,它可以实现较远距离、较快速度的信息传输,而且只需要双绞线作为传输媒介,简单可靠。但是,在该技术应用中总线控制器与微机之间的接口电路一般采用单片机来实现。采用这种方式将导致较长的研发周期和庞大的电路,且难于实现高速数据传输。本文利用 CPLD 成功地实现了嵌入式系统与 CAN 总线网络的通信,速度快,易于实现,而且非常稳定。

 

本系统采用的器件是 Altera 公司的 CPLD,属于 MAX7000 系列。Altera 公司的 CPLD 器件主要包括 MAX 系列、ACEX 系列、FLEX 系列和 APEX 系列。其中 MAX 系列器件为高速实

 

际应用提供了非常高的性价比,这基于它先进的 MAX 架构。MAX7000 系列提供了速度最快的可编程逻辑器件解决方案,它基于 CMOS EEPROM 工艺,传播延迟最小为 3.5ns。

 

2.CPLD 实现接口电路

实时控制系统中,测控局域网利用 CAN 控制器实现微机间的数据传输。其基本的设计思想是:由于 PC 总线协议与 CAN 控制器不一致,因而在它们中间设计了一个硬件电路作为接口来实现转换。PC 地址与数据总线是分离的,而 CAN 控制器数据与地址线通过分时复用来实现地址与数据分离,刚好与单片机一致。单片机技术虽然较成熟,但是,由于涉及单片机编程和开发的周期较长,且采用单片机系统需要较庞大的外围电路,不利于研制系统应用于嵌入式系统中。因此,用可编程逻辑器件设计接口电路,可以有效解决这些问题。

 

本系统采用“主 - 从”式点对点通信。系统硬件由两台 PC104 主机和两块 CAN 总线通信模块组成,如图 1 所示。主机采用 CPU 主频为 300MHz 的奔腾处理器;CAN 总线控制器位 SJA1000T;一带屏蔽的双绞线作为系统总线;通信波特率可用软件设置为 1Mbps;为了提高通信的可靠性,用 CAN 控制器的报文筛选器对报文进行筛选,来对由于干扰而产生的错误报文进行滤波。

 

图 1 系统硬件组成

 

本系统主要是利用主机 PC(PC104)采集多个下位机从被控对象得到的数据,并进行实时控制和综合调度,其原理框图如图 2 所示。

 

图 2 原理框图

 

其中 CPLD 完成从 CAN 控制器到 PC 总线的数据转换。CAN 控制器负责从总线上采集数据。总线驱动部分由 89C250 完成总线驱动;光电隔离器完成 CAN 控制器与传输电缆的信号隔离,防止电缆上的非规则信号对 CAN 控制器产生干扰。

 

3.MAX+PLUSⅡ程序设计

Altera 公司的 MAX+PLUS Ⅱ是一个高效实用的工具。直接采用原理图输入方式,进行编译后写入器件中;同时可在线更改写入内容,修改和调试简单易行。利用 MAX+PLUS Ⅱ可以对输入输出关系进行在线调试和仿真,开发和调试周期短而高效。MAX+PLUSⅡ的软件设计的流程包括设计输入、功能仿真、编译、后仿真、编程验证几个部分。

 

本文所论述的系统已经实现并进行通信测试,在最高通信速度、通信距离、热冗余和冷冗余实验等测试中都取得了良好的表现。这里仅论述逻辑设计输入和功能仿真。

 

CPLD 主要用于实现 PC 接口板的地址选择比较器和 CAN 控制器到 PC 总线的数据转换,其设计输入如图 3 所示。

 

 

图 3 设计输入

 

其中 compare 完成选址功能,MUX2×8 完成总线转换。

 

4. 仿真实验

为简明起见,这里仅给出核心的部分时序仿真图形,如图 4 所示。

 

图 4 核心的部分时序仿真图形

 

由仿真波形可知,在 PC 总线的读写操作进行时,地址和数据很好的实现了转换,读写的周期完整,触发迅速,保证转换的准确和迅速,满足了设计的要求。

 

5. 结论

可编程逻辑器件的应用已经成为现代电子电路设计中的高效方式,它可以实现高效率、可靠的设计,也可以进一步提高电路的集成度;使用它设计的 CAN 通信卡可以作为通信接口而满足嵌入式系统的要求。同时,基于 PC104 系统的 CAN 通信的通信效率较高,具有较强的实时性,可以满足工业现场高速通信的需要,也可为复杂控制系统实现实时控制提供强有力的工具。