新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CPLD应用于嵌入式系统与CAN总线网络通信

CPLD应用于嵌入式系统与CAN总线网络通信

作者:时间:2011-01-12来源:网络收藏

1.引言

本文引用地址:http://www.eepw.com.cn/article/151106.htm

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

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

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

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

2.CPLD实现接口电路

实时控制中,测控局域网利用控制器实现微机间的数据传输。其基本的设计思想是:由于PC总线协议与控制器不一致,因而在它们中间设计了一个硬件电路作为接口来实现转换。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所示。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭