毕业设计(论文)-嵌入式系统在船舶监控系统中的应用研究.doc_第1页
毕业设计(论文)-嵌入式系统在船舶监控系统中的应用研究.doc_第2页
毕业设计(论文)-嵌入式系统在船舶监控系统中的应用研究.doc_第3页
毕业设计(论文)-嵌入式系统在船舶监控系统中的应用研究.doc_第4页
毕业设计(论文)-嵌入式系统在船舶监控系统中的应用研究.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录一、设计要求1二、设计的作用与目的1三、系统控制方案论证23.1 单片机控制23.2 嵌入式系统控制23.3 嵌入式船舶监控系统架构33.4 嵌入式系统特点4四、船舶监控系统硬件设计54.1嵌入式系统总体结构54.2 系统各模块硬件电路设计64.2.1 Flash存储电路设计64.2.2 RS232接口电路设计74.2.3 RS-485接口电路设计84.2.4 CAN总线接口电路设计94.2.5 以太网接口电路设计9五、船舶监控系统软件设计105.1 I/O模块串口控制原理105.2 Windows CE平台下串口通信的实现115.3基于串口通信的数据采集及输出控制的流程14六、系统仿真与调试156.1 Platform Builder软件平台156.2 客户端TCP网络通信测试166.2.1 客户机/服务器模式166.2.2 基于TCP/IP的网络通信编程实验16七、总结与展望18致 谢19参考文献20附录1:CS8952与EP9315接线原理图21附录2:程序清单22嵌入式系统在船舶监控系统中的应用研究嵌入式系统在船舶监控系统中的应用研究一、设计要求本设计是基于嵌入式系统在船舶监控系统中的应用研究,需要完成系统的软件和硬件设计,其具体设计内容如下:(1)控制器硬件功能及原理设计。主要针对船舶机舱中大多数机电设备的控制特点和发展趋势,分析嵌入式系统的功能需求,选择EP9315片上系统处理器,进行外围接口电路的设计。设计的嵌入式系统包括以太网通信接口、CAN总线通信接口、RS232/485通信接口、NAND Flash数据存储以及LCD和触摸屏接口等多种功能。(2)以船舶监控系统为对象,分析嵌入式系统在船舶监控系统中应用的架构和特点。(3)建立基于嵌入式系统的船舶监控系统试验测试平台,选择监控系统的一个控制节点,利用Embedded Visual C+为开发环境,介绍了Windows CE平台下通过串口通信编程控制I/O模块实现数据采集和信号输出、以及基于TCP/IP协议的以太网通讯程序的具体设计方法。二、设计的作用与目的我国是世界造船大国,造船产量位于世界第一方阵。但同时,我国船舶配套业的本土化率较低,国产化比例甚至不足20%。特别是在一些中高档的船舶配套设备及系统方面,如主机遥控系统、机舱监测报警系统、自动化电站系统等机舱自动化装备均为国外设备。因此,探索和跟踪国外船舶自动化领域的最新发展趋势,应用新技术和手段来提高我国中高档船舶配套设备的自主开发能力具有重要的现实意义。本文基于一种片上系统处理器EP9315,和Windows CE嵌入式操作系统平台,设计了应用于机舱监控系统的核心装置嵌入式系统,并以船舶为对象,提出了基于嵌入式系统的船舶监控系统的架构,并在搭建的试验平台上进行了相关的应用程序设计。三、 系统控制方案论证船舶监控系统中的核心控制器可以由单片机、PLC、嵌入式处理器构成,本设计主要对单片机控制器和嵌入式处理器构成的系统做了一定的论述,最终提出来由嵌入式处理器构成的系统的基本架构模型。3.1 单片机控制单片机的使用开始于20世纪80年代。单片机控制技术已经渗透到包括船舶自动控制系统在内的各个领域,给工业生产和管理带来极大的方便。以FCS结构的控制系统为例,设备层的现场控制器可基于单片机进行开发。但用单片机作为下位机,由于采用了大规模集成电路和分立元件组成模拟量和开关量采集电路,使得这种实现方法的软硬件开发工作量十分巨大,而且通过船级社认证的过程十分漫长。另外,随着船舶自动化水平的进一步发展,现场的控制器需要更强的通信功能及数据处理和计算能力,甚至需要丰富的图形界面等。采用低端单片机进行的开发工作将变得越来越复杂、庞大,甚至无法实现,从而越来越不能满足船舶自动化系统的需求。3.2 嵌入式系统控制嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统涵盖了硬件和软件两个层面,建立在一个高性能的微处理器(相对于单片机)的硬件基础上的,以一个成熟的实时多任务操作系统(RTOS)为软件平台。其软硬件结构如图3.1所示 。嵌入式系统软硬件是可裁减的,并具有软硬件一体化、低功耗、体积小、可靠性高、技术密集等特点。一个典型的嵌入式系统是由以下几个部分组成的:硬件平台;板级支持包 (BSP,Board Support Package);实时操作系统(RTOS,Real Time Operating System);应用程序。硬件平台主要包括嵌入式微处理器和控制所需要的相关外设,微处理器是嵌入式系统的硬件核心。嵌入式操作系统是嵌入式系统的灵魂,它大大提高了嵌入式系统开发的效率,减少了系统开发的工作量,而且操作系统使得应用程序具有了较好的可移植性。图3.1 嵌入式系统的软/硬件框架目前,嵌入式系统技术在船舶自动控制系统中的应用尚处于研究发展阶段,但可以预见,嵌入式系统将在船舶自动化系统中的到广泛的应用。3.3 嵌入式船舶监控系统架构基于嵌入式系统的网络型船舶监制系统架构如图3.2所示。图3.2 嵌入式船舶监控系统架构系统除了包括发电机组、调速装置、同步装置、功率调节装置、卸载装置等船舶的基本组成以及各类传感器、执行器外,还包括以下的控制及通信网络部分:1)嵌入式系统2)I/O模块3)控制层通信网络4)控制层人机界面5)数据库6)监控浏览器3.4 嵌入式系统特点1)更为精简的硬件的结构嵌入式系统功能强大,软件功能丰富,传统控制系统中的很多必须由专用的硬件实现的功能,在新控制方式下可以精简硬件结构,而主要通过软件实现。在软件上,可以通过Windows CE操作系统优先级的设置来实现对重要操作实现高实时性的响应。2)数字化、网络化的管控一体化系统现场控制节点的控制器使得电站监控系统形成数字化管控系统。高速的工业以太网通信解决数据传输过程中的出现“瓶颈”,实现从设备层到管理层数据的无缝连接。并且系统可以很方便的接入整个机舱乃整个船舶的综合信息管理系统中。3)控制器通用、标准由于I/O模块和控制器模块单独设计,同时同一条船上的不同控制对象的控制网络采用同一标准,就可使控制器在硬件上具有通用性,因而在实际应用中可大大减少船舶电气产品备件,针对不同的控制对象只需要将应用程序下载到控制器上运行即可,即备件形式为“软件备件”。4)可靠性高控制层的嵌入式系统采用大容量Flash进行操作系统启动及数据存储,避免了采用传统采用的硬盘存储方式,适合船舶这一特殊环境。此外,由于硬件结构的精简,因而大大减少数据线布设。过去每采集一个变量到集控室、轮机长室、驾驶室都需要平行两条线,数据多达数千根,现在只要一根网络线就可以,安全性大大提高。同时,系统在硬件上的简单化,也使得系统安装调试、维护检修变得简单四、 船舶监控系统硬件设计船舶监控系统硬件设计包括嵌入式系统总体结构设计与各模块硬件设计,这是系统设计的核心部分。4.1嵌入式系统总体结构设计的嵌入式系统结构组成如图4.1所示,主要包括:1)微处理器嵌入式系统的核心。2)数据存储电路包括SDRAM和Flash。SDRAM是程序的运行空间;Flash存储器主要用于存放启动代码、系统内核、应用程序以及设备运行的历史数据。3)外部总线接口包含RS232、RS485、CAN、工业以太网等接口。RS232用作调试串口,RS485及CAN可用来连接I/O模块;CAN及工业以太网可作为现场控制总线。图4.1 控制器结构框图4)内部总线接口PC104总线。可连接I/O模块;也可进行其他功能模块扩展。5)JTAG接口调试接口,支持SDT2.51,ADS1.2等软件调试。6)人机交互接口LCD+触摸屏。7)其它辅助功能电路等部分包括电源、复位、报警、指示、保护等电路。4.2 系统各模块硬件电路设计与控制器接口的电路包括Flash、SDRAM、JTAG调试接口、以太网接口、RS232接口、RS485接口、CAN总线接口、LCD接口、触摸屏接口、CF卡扩展接口、PC104总线,以及复位、电源、指示、报警等其他辅助电路。以下主要介绍FLASH、以太网接口、RS232接口、RS485接口以及CAN接口部分的电路原理设计。4.2.1 Flash存储电路设计设计采用三星公司生产的超大容量的NAND Flash存储器K9F2G08UOM,其存储容量可达256M。虽然K9F2GO8UOM的容量和寻址范围远远超过常见单片机的容量和寻址范围,但由于芯片上的写控制器能自动控制所有编程和擦除功能,提供必要的重复脉冲、内部确认和数据空间,而且只通过I/O接口接收单片机的命令和数据而不需要地址线,因此实际操作起来非常方便。另外芯片是通过“与非”单元结构增大容量,所以没有因此而削弱自身性能。K9F2G08UOM由存储阵列、输入输出缓冲及锁存、命令寄存器、地址锁存与译码、控制逻辑及高电压发生器等五部分组成,有效引脚为17个,其功能如下:CLE:命令允许(锁存),平时为低电平,当为高电平时,在WE的上升沿将I/O端口上的命令信息输入并锁存到命令寄存器。ALE:地址锁存,平时为低电平,当ALE为高电平时,在WE的上升沿将I/O端口上的地址信息输入并锁存到地址寄存器。/CE:片选,低电平有效,用于器件的选择控制,当变为高电平时,器件返回到备用状态。/WE:写控制,平时为高电平,在WE的上升沿,将I/O端口上的命令、地址和数据信息分别输入到相应寄存器。/RE:读控制,平时为高电平,在它的下降沿tREA时间后,I/O端口上的输出数据有效,同时内部列地址自动加1。I/O端口:用于命令、地址和数据的输入及读操作时的数据输出。当芯片未选中时,I/O端口为高阻态。/WP:写保护,低电平有效。当它为低电平时,内部的高电压发生器将停止工作,实现禁止写和擦除操作。:当前器件的工作状态。当它为低电平时,表示正在进行写、擦除以及随机读操作。当它为高电平时,表示这些操作已经完成。K9F2G08UOM与EP9315的接口电路如图4.2所示:图4.2 Flash存储电路4.2.2 RS232接口电路设计EP9315自带有3个个UART接口,通过TTL到RS232的电平转换,即可实现RS232接口。RS232的实现较为简单,采用MAXIM公司的MAX232,完成MAX232电平转换芯片即可实现。由于本设计中的RS232仅需要完成最基本的串行通信功能,因此只需要RXD、TXD和GND即可,但由于RS-232-C标准所定义的高、低电平信号微处理器的LVTTL电路所定义的高、低电平信号不相同,因此,两者间必须经过信号电平的转换才能进行通信。MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容,其取值均为0.1Uf,MAX232的引脚T1IN、T2IN、R1OUT、R2OUT为接TTL/CMOS电平的引脚。引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚。MAX232与EP9315的接口如图4.3所示。选用其中一路发送/接收,R1OUT接EP9315的RXD,T1IN接EP9315的TXD,T1OuT、R1IN,在加一个地线GND即实现RS232通信。因为MAX232具有驱动能力,所以不需要外加驱动电路。图4.3 RS232接口电路图4.2.3 RS-485接口电路设计RS485的实现通过对EP9315的UART接口进行信号转换,由MAX485芯片完成。MAX485是用于支持RS485/RS422通信的低功耗收发器,内含一个独立的驱动器和接收器,支持半双工收发。采用MAX485芯片时,RS485所支持的网络节点为32个。如需要更多的节点容量采用MAX487,其引脚与接口方法与MAX485完全相同,但可支持的网络接点达128个。EP9315与RS485接口电路如图4.4所示。图4.4 RS485接口电路图4.2.4 CAN总线接口电路设计CAN(控制器局域网)总线采用了OSI中的三层网络结构物理层、数据链路层和应用层。当前流行的应用层协议主要有DeviceNet和CAN OPEN两种协议。EP9315自带SPI(SSP)接口,它和MCP2515的四根SPI口连接,MCP2515的/CS和EP9315的SFRMI连接,MCP2515的SO和EP9315的SSPRX1连接,MCP2515的/INT和EP9315的INT1连接。其接口电路如图4.5所示:图4.5 CAN接口电路4.2.5 以太网接口电路设计EP9315微处理器内部集成了一个高性能1/10/100Mbps以太网媒体访问控制器(MAC),因此在控制器硬件开发时只需要外接物理层接口芯片,即可实现以太网接入。EP9315微处理器内嵌的以太网控制器是AHB与MII之间的逻辑接口,包含本地存储器、DMA控制器,并支持带流控的全双工操作。以太网控制器的结构如图4.6所示。图4.6 以太网控制器结构图图4.7 RJ45的连接电路图设计采用J0026D21B网络变压器,适用于10/100Base-tNIC参数要求,符合IEEE802.3 ANSI X3263要求,OCL电感(100KHz,0.1V,8mA)为350uH MIN,隔离电压为1500Vrms Min。RJ45的连接电路如图4.7所示。五、船舶监控系统软件设计船舶监控系统软件设计主要是针对串口通讯的数据采集和信号输出程序设计,其中包括I/O模块串口控制原理、Windows CE平台下串口通信的实现、基于串口通信的数据采集及输出控制的流程。5.1 I/O模块串口控制原理测试系统所用的I/O模块都是通过RS485总线连接到控制器的。输入模块将发电机的电压、电流、功率、功率因素,以及电动机的频率等信号传递到控制器后进行数据处理,输出模块负责将控制器的指令(如起停控制命令,频率调节命令)传递到继电器或变频器。采用RS485总线进行I/O模块控制的方式在工业控制系统中是常见的。测试系统采用的I/O模块的控制都是通过接受ASC码命令来响应的。因此,要对I/O模块进行控制,必须通过串口通信编程,对模块的串口进行读写操作。具体的实现方法就是:通过读串口操作进行数据采集控制,通过写串口操作进行输出控制。在读串口之前要通过写串口操作发送采样命令,写串口成功后要通过读串口接收模块应答信号。RS485为半双工通讯方式,每个I/O模块都可设置互不相同的地址,并联在RS485总线上。在对I/O模块进行控制时,只需要按照I/O模块ASC码响应的协议对串口进行命令写入,即可获得模块按照要求响应。ARK24017控制示例如下:串口发送命令:“$014”模块响应:“!10F0000”功能:成功实现对模块(地址为01)发送同步采样命令。此时串口即可通过读串口操作接收相应模块的信号输入。ARK24063D开关量输出模块控制示例:串口发送指令:“#010003”模块响应:“m_ExitThreadEvent, 0) = WAIT_OBJECT_0) break;if (pDlg-m_hComm != INVALID_HANDLE_VALUE)BOOL fReadState = ReadFile(pDlg-m_hComm, recvBuf, 1024, &dwLength, NULL); /从串口读取数据if(!fReadState) /无法从串口读取数据相应处理elseif(dwLength != 0)OnCommRecv(pDlg, recvBuf, dwLength);/接收成功调用回调函数delete recvBuf;return 0;串口回调函数:typedef void (CALLBACK *ONCOMMRECV)(CWnd* pWnd, char *buf, int buflen);static void CALLBACK OnCommRecv(CWnd* pWnd, char *buf, int buflen);void CALLBACK CSerialPortDlg:OnCommRecv(CWnd* pWnd, char *buf, int buflen)/数据处理过程/基于TCP的以太网通信部分程序代码:服务器端:WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 2, 2 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ) return;if ( LOBYTE( wsaData.wVersion ) != 2 |HIBYTE( wsaData.wVersion ) != 2 ) WSACleanup( );return; SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(6000);bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR);listen(sockSrv,5);SOCKADDR_IN addrClient;int len=sizeof(SOCKADDR);while(TURE)SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);char sendBuf100;/发送数据缓冲区 /提取需要向客户端发送的数据inet_ntoa(addrClient.sin_ad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论