论文部分内容阅读
工业控制系统从传统相对独立的控制单元发展到现在的网络集成化,而且随着对控制系统要求的不断提高,这种网络化的要求也越来越高。CAN总线作为现场总线的一种,是在工业控制系统发展的推动下逐步建立起来的,它的高稳定性、高抗干扰性和简单结构等特点使得它被广泛的应用到工业控制系统领域,并在其它分布式控制系统中得到应用。现在嵌入式技术被广泛的应用到各个领域中,在工业控制领域也被普遍的采用,随着嵌入式系统向网络化、智能化、可视化和高速度的方向发展,嵌入式系统中需要用到嵌入式操作系统。嵌入式Linux操作系统是一个多任务并发的、源代码开放的、可裁剪的高性能嵌入式操作系统,在很多嵌入式开发项目中,嵌入式Linux操作系统被用作系统的软件开发平台。本文提出了一种基于嵌入式Linux操作系统的CAN总线智能节点的设计方案,该智能节点可以检测CAN总线上的节点数和通信波特率等功能,同时可以发送和接收指定节点的信息,从而检测该节点的工作状态。该智能节点特点是携带方便,接入总线方便和交互界面友好。本设计主要完成了硬件平台的搭建、嵌入式Linux操作系统开发环境平台的构建和CAN总线智能节点的用户图形界面的开发。在硬件平台上,硬件电路由主控制器的硬件电路和CAN总线节点硬件电路两个基本要素组成,具体介绍了主控制器开发板在本设计中被用到的硬件资源,其次就是设计了CAN总线智能节点的硬件电路,并说明其中采取的抗干扰措施;接着在嵌入式Linux操作系统开发环境搭建过程中,介绍了主控器S3C2410引导程序的移植过程,嵌入式Linux操作系统内核的裁剪、优化以及根文件系统和用户文件系统的建立,完成本设计中涉及到的硬件设备的驱动程序开发;最后在完成硬件平台和操作系统平台基础上,开发了基于MiniGUI的CAN总线智能节点的用户交互界面。CAN控制器在Linux操作系统下的驱动开发和基于MiniGUI的图形界面开发是本设计的两个重点,也是本设计的两个难点。在CAN控制器驱动程序的开发中,首先研究了CAN总线协议的基本知识,包括CAN总线的特点和报文格式;接着介绍了驱动程序中CAN控制器的读写函数;最后实现基于嵌入式Linux操作系统的SPI子系统上的CAN控制器驱动开发。在图形界面开发章节中,首先介绍MiniGUI编程环境的搭建,其中重点介绍了MiniGUI输入引擎的开发;接着讲解MiniGUI应用程序的基本框架,并基于这个框架完成了MiniGUI图形界面的应用程序的编写,该应用程序不仅要实现用户信息的交互,而且还要实现应用层对CAN总线智能节点的控制。完成整个设计的基本内容后,对整个设计的功能和性能进行了测试,其中主要完成触摸屏的校准,CAN物理总线稳定性检测,测试CAN总线智能节点设备的加载,调试CAN总线其它控制功能,最后完善CAN总线智能节点接收数据文件的管理。