- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多通道实时CAN总线模拟器设计
摘 要:为了满足CAN总线在实际通信应用中高实时性和高可靠性的要求,通过对CAN总线通信协议的研究,提出并设计一种由单片机负责控制的多通道实时CAN总线模拟器的设计方案。该方案在硬件设计上以可编程逻辑技术为基础,采用复杂可编程逻辑器件(CPLD),结合硬件描述语言VHDL,实现了单片机与CAN控制器之间逻辑控制单元的设计。通过在Xilinx ISE平台下对该程序进行编译和综合,在Modelsim 环境下进行仿真测试,证实了该方案的可行性。通过实际工程的验证和使用结果表明,该设计方案满足实际通信的要求。着重阐述整个系统的设计过程,并给出了关键技术的设计思路与重要部分代码。??
关键词:CAN;实时性;单片机;CPLD;Xilinx ISE??
中图分类号:TP274
CAN总线与一般的串行通信总线相比,它的数据通信具有可靠性高,实时性高,灵活性强等优点,不仅广泛应用于汽车行业,而且扩展到了机械工业、机器人、数控机床等诸多领域。尤其在大量数据通信处理中,高可靠性及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时CAN模拟器的设计方案。??
1 CAN总线技术介绍??
1.1 CAN总线特性??
CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通信可靠性和实时性,并且简单实用,网络成本低。它主要用于各种过程监测及控制的一种网络。CAN最初是由德国BOSCH公司为汽车的监测、控制系统而设计的。由于CAN总线具有卓越的特性和极高的可靠性,特别适合于工业过程中监控设备的互连,具体来说,CAN具有如下特性:??
(1) CAN可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活;??
(2) CAN可以点对点、点对多点(成组)及全局广播方式传送接收数据;??
(3) CAN网络上的节点信息可分成不同的优先级,可以满足不同的实时要求;??
(4) CAN采用非破坏性总线仲载技术。当两个节点是向网络上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响地继续传输数据,大大节省了总线仲载冲突时间,在网络负载很重的情况下也不会出现网络瘫痪;??
(5) CAN的直接通信距离最大可达10 km(速率小于5 Kb/s),最高通信速率可达1 Mb/s。??
1.2 CAN通信协议??
在CAN 2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称为标准帧,而含有29位标识符的帧称为扩展帧。扩展格式是CAN 2.0B协议新增加的特性。在报文传输时,不同的帧具有不同的传输结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。下面将分别介绍四种传输帧的结构:??
(1) 数据帧(Data):数据帧将数据从发送器传输到接收器。CAN协议有两种数据帧类型标准??2.0A??和标准??2.0B。?? 两者本质的不同在于ID的长度不同。在??2.0A??类型中,ID的长度为11位;在2.0B类型中,ID的长度为29位。它由7个域组成:帧起始、仲裁域、控制域、数据域、CRC校验码域、应答域、帧结束。??
(2) 远程帧(Remote):总线单元发出远程帧,请求发送具有同一标识符的数据帧。接收数据的节点可通过发远程帧请求源节点发送数据。它由6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。??
(3) 错误帧(Error):任何单元检测到总线错误就发出错误帧。由错误标志和错误分界两个域组成。接收节点发现总线上的报文有误时,将自动发出“活动错误标志”,其他节点检测到活动错误标志后发送“错误认可标志”。??
(4) 过载帧(Overload):过载帧用在相邻数据帧或远程帧之间提供附加的延时。由超载标志和超载分隔符组成。超载帧只能在一个帧结束后开始。当接收方在接收下一帧之前,需要过多的时间处理当前的数据,或在帧间空隙域检测到显性电平时,则导致发送超载帧。??
1.3 CAN协议控制器??
目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(MCP2515等)与处理器进行通信。该设计采用SJA1000控制器。??
SJAl000是一款独立CAN控制器,应用于移动目标和工业局域网控制领域。SJAl000具有两种工作模式:BasicCAN和PeliCAN。该设计采用PeliCAN工作模式。SJA1000用来完成CAN协议所规定的物理
原创力文档


文档评论(0)