基于单片机的CAN总线数据通信系统设计

0 下载量 75 浏览量 更新于2024-06-23 收藏 792KB DOC 举报
CAN总线数据通信系统的设计 CAN总线数据通信系统是一种高效、可靠的数据通信系统,广泛应用于自动化领域。该系统的设计主要涉及到CAN总线控制器的设计、微控制器的设计、PC机的设计、CAN总线收发器的设计等多个方面。 1. CAN总线控制器的设计 CAN总线控制器是CAN总线数据通信系统的核心组件之一。它负责实现CAN总线的初始化、数据发送和接收等通信任务。在该系统中,使用了独立的CAN通信控制器SJA1000,该控制器具有高速度、可靠性高、性价比高等特点。微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。 2. 微控制器的设计 微控制器是CAN总线数据通信系统的另一个核心组件。该系统中使用了微控制器80C51,该微控制器负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。 3. PC机的设计 PC机是CAN总线数据通信系统的重要组件之一。该系统中使用了PC机作为主机,负责对微控制器的控制和数据的处理。 4. CAN总线收发器的设计 CAN总线收发器是CAN总线数据通信系统的重要组件之一。该系统中使用了CAN总线收发器PCA82C250,该收发器负责实现CAN总线的数据发送和接收。 5. 软件设计 该系统的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。软件设计的主要任务是实现CAN总线的初始化、数据发送和接收等通信任务。 6. 硬件设计 该系统的硬件设计主要包括四个部分:PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。硬件设计的主要任务是实现CAN总线的接口,并且编写了SJA1000的驱动程序。 7. 系统实现 该系统的实现主要涉及到CAN总线控制器的设计、微控制器的设计、PC机的设计、CAN总线收发器的设计等多个方面。系统实现的主要任务是实现CAN总线的接口,并且编写了SJA1000的驱动程序。 8. 结果分析 该系统的实现结果表明,CAN总线数据通信系统具有高效、可靠的特点,可以实时、可靠地实现数据通信。 9. 心得体会 该系统的设计和实现过程中,遇到了许多问题和挑战。例如,CAN总线控制器的设计、微控制器的设计、PC机的设计等方面都需要进行周密的设计和测试。通过该系统的设计和实现,我们获得了许多宝贵的经验和教训。 10. 应用前景 CAN总线数据通信系统具有广泛的应用前景,例如自动化领域、工业控制领域、交通管理领域等。该系统的设计和实现为这些领域的发展提供了强有力的技术支持。
2023-05-26 上传
机电工程学院 毕业设计说明书 设计题目: CAN总线通信接口及程序设计 2012 年 5 月 21 日 目 次 1 CAN总线介绍 1.1 CAN总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种 电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成 本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以 满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司 着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这 一崭新的网络协议使得汽车产业得到了飞速的发展。 CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另 外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于 各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并 且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无 疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束 的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠 性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方 面。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。 CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控 制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高 ,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相 收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收 到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来 非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CA N总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据的自由 通信。 1.2 CAN总线的通信层介绍 CAN总线是串行通信协议,可以实现各个节点在数据传输时的自由通信及互不影响, 因此CAN总线应具有标准的通信协议,这样可以使CAN总线更加方便的应用于控制系统中 。为了实现这样的设计理念,根据ISO/OSI参考模型,CAN总线包含ISO/OSI参考模型中的 数据链路层(Data Link Layer)和物理层(Physical Layer)。 (1)数据链路层 数据链路层连接硬件和软件的结合层,主要作用是通过各种数据协议而实现数据的传 输。CAN总线中的数据链路层又可以分为两个子层:逻辑链路控制子层(LLC)和介质方 向控制子层(MAC)。逻辑链路控制子层是数据链路层的核心层,它为远程数据的传输提 供服务,控制数据的逻辑传输。 (2)物理层 物理层是OSI参考模型中的最底层,主要作用是规定节点电气方面的特征。为了实现 数据的自由收发,在同一网络中的物理层应该是处处一样的。 1.3 CAN总线报文帧格式 CAN总线上的数据信息都是以报文的形式发送的。报文的格式并不唯一,而是有几种 不同的格式,但是报文的长度却受到电气及内部控制的限制。CAN总线的报文传输也就是 帧的传输,帧是CAN总线传送数据单位。帧也有不同的格式,主要区别在于标识符长度不 同。在CAN2.0A协议下帧具有11位标识符,叫作标准帧;而在最新的CAN2.0B协议下具有 29位标识符的帧叫作扩展帧。 为了实现数据的传输和控制,CAN总线报文传输具有4种不同类型的帧结构:数据帧、 远程帧、错误帧、过载帧。其中数据帧的结构图如图1-1所示。 详细的CAN总线报文帧结构可以参阅参考资料[6]. 1.4 CAN总线的优势 CAN总线已经成为现在控制领域最流行的控制方案,只所以从CAN总线诞生以来仅仅二 十年间便已成为公认的最好的工业生产控制方案,是因为CAN总线相比其他控制总线在通 信能力和速度方面具有明显的优势。虽然现在还有很多基于R线组建的工业控制系统,但 它不具备CAN总线的诸多优点。相比于其他的控制系统,CAN的优势在于:(1)CAN总线 是多主工作方式,CAN总线舍弃了传统控制系统中站地址编码方法,而是对通信的数据进 行编码,也就是说,CAN总线的节点是根据传输数据信息确定是否接收数据。这样可以简 化控制系统。从面增强了CAN总线网络的数据通信能力,也提高了系统的可靠性。(2) CAN总线的多个节点同时向总线上发送数据时,不会致使总线出现短路现象。因为CAN总 线是通过CAN收发器