工程实践与科技创新4A-第7大组-本地主系统设计报告1.doc

上传人:豆**** 文档编号:17571500 上传时间:2022-05-25 格式:DOC 页数:45 大小:407.50KB
返回 下载 相关 举报
工程实践与科技创新4A-第7大组-本地主系统设计报告1.doc_第1页
第1页 / 共45页
工程实践与科技创新4A-第7大组-本地主系统设计报告1.doc_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《工程实践与科技创新4A-第7大组-本地主系统设计报告1.doc》由会员分享,可在线阅读,更多相关《工程实践与科技创新4A-第7大组-本地主系统设计报告1.doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流工程实践与科技创新4A-第7大组-本地主系统设计报告1班级学号具体负责的工作联系方式薛缘F11030135110309435软件编程18817561105冯忠伟F11030135110309425焊接电路吴添奇F11030215110309632报告撰写徐继明F11030135110309438焊接电路摘 要: 在整个的远程测控系统中,本地主系统起到了一个信息枢纽的作用。采用全双工的异步串行通信方式,通过RS-422 总线和无线局域网成功实现了与三个功能子系统以及全局控制总系统之间的通信。本报告阐述了本地子系统硬件与软件的设计原理与实现方式,

2、并给出了控制整个系统信息传输的通信协议的设定和实现。关键词:本地主系统;通信协议;RS-422 总线ABSTRACT In the remote measurement and control system, local main system acts as an administrator of communication information. It uses full-duplex asynchronous serial communication and build a successful communication between the three subsystems an

3、d the global control system through RS-422 bus and wireless local area network. This report explains the hardware structure and software design of local main system and gives the setting and realization of communication protocol .KEYWORDS Local main system; Communication protocol; RS-422 bus.精品文档.姓名

4、目录1. 概述11.1 编写说明11.2 名词定义11.2.1 RS-422【1】11.2.2 RS-232【2】12. 系统总体说明22.1 系统总体设计概述22.2 本地主系统实现后功能22.2.1 获取子系统的状态22.2.2 设置子系统的参数32.2.3 错误命令的检测与报告33. 系统的硬件结构43.1 硬件总体结构43.2 集线板模块描述43.2.1 功能描述43.2.2 接口定义53.2.3 技术要求53.2.4 实现方式53.3 通信接口转换电路描述84. 主从通信协议【6】94.1 信息帧的基本结构94.2 起始标识和结束标识(SOI和EOI)94.3 通信协议版本号(VER

5、)104.4 目的地址(ADR)104.5 命令码1、命令码2 (CMD1、CMD2)104.6 响应标识码、返回码(RSPD、RTN)104.7 参数段长度LENGTH114.8 CHKSUM的计算:114.9 参数段INFO114.10 下行命令帧形式114.11 上行响应帧形式124.12 通信时序特性145. 主从通信协议的程序实现145.1 功能描述155.2 常量定义155.3 变量定义156. 开发工具156.1 硬件开发工具166.2 软件开发工具167. 调试过程167.1 本地主系统调试设置177.2 本地主系统功能展示177.3 通信协议调试177.3.1 本地主系统与从

6、机通信177.3.2 从机对错误帧的响应197.3.3 主机对错误响应的处理198. 课程心得体会和建议209. 参考资料2110. 附录2210.1 程序清单231. 概述1.1 编写说明远程测控系统的实现用到了数据采集测量、信号传输及主从系统通信等多方面的知识,具有一定的复杂程度。本报告为远程测控系统的本地主系统设计报告。本报告主要介绍了本组解决方案中本地主系统的硬件及软件的实现方法以及用于信息交互的通信协议的设计与实现的方法。本报告可为本项目各子系统开放人员提供参考让其了解各系统间的协作关系,也可作为相关系统设计人员和科技爱好者的参考资料。1.2 名词定义1.2.1 RS-422【1】

7、RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是104k+100(终接电阻)。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)。1

8、.2.2 RS-232【2】个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常RS-232 接口以9 个引脚(DB-9) 或是25 个引脚(DB-25) 的形态出现,一般个人计算机上会有两组RS-232 接口,分别称为COM1 和COM2。2. 系统总体说明2.1 系统总体设计概述本远程测控系统由五大模块组成,这五大模块分别是全局主系统、本地主系统、超声波测距子系统、水温测量控制子系统、电机转速测量控制子系统。全局主系统是在远程通过无线局域网控制本地主系统从而实现对各个子系统的测量和控制,全局

9、主系统是整个系统的控制终端和数据处理终端。整个系统的总体架构如图2.1所示。 图2.1 总系统架构框图【3】2.2 本地主系统实现后功能本地主系统的逻辑功能通过计算机上的操作界面上操作实现。2.2.1 获取子系统的状态用户在本地主系统的操作界面上可以获得以下关于各个子系统的信息:1. 各个子系统是否在线;2. 用户可以对在线的子系统实现控制,如控制电机的转动与停止、以多大的转速正转反转,控制水温子系统的加热与停止加热,控制超声波子系统的测量。用户同时可以在操作界面上获得测量得到的数据,如转速、水温和距离等;3. 获得各个子系统的实时状态和测量数据。只要打开对应子系统的实时测控功能,用户便可免去

10、手动问询的操作,由系统定时的发送问询命令获得动态变化的数据并反映在操作界面上。2.2.2 设置子系统的参数本地主系统的操作界面上有对应于各个子系统的参数设置窗口,用户可以在对应的参数窗口设置或更改参数来控制对应子系统的工作状态。2.2.3 错误命令的检测与报告通过对通信协议中帧结构的设计,使得主机与从机之间能够相互检测命令的错误与否,并且把出错的原因报告给出错的一方。3. 系统的硬件结构3.1 硬件总体结构本部分主要介绍的是本地主系统的硬件组成,硬件总体可以分为本地无线通信模块和本地通信网络模块。其中本地的无线通信模块的通信器材和全局主系统通信模块的基本一致,所以无线通信模块的硬件实现请参见全

11、局主系统的设计报告部分。本地通信网络具体包括集成板模块和子系统通信转换接口电路,具体实现会在后面详细介绍。本地主系统的结构框图如图3.1所示。 图3.1 本地主系统的结构框图3.2 集线板模块描述3.2.1 功能描述本模块的功能是对本地主系统接受到的各个信号,如我们组用的是PC机,输出的信号是RS-232信号,将其转换成RS-422信号然后通过电话线下传到各个子系统;同时要接收到各个子系统上传的RS-422信号并转换成RS-232信号被本地主系统读取进而实现本地主系统与其他子系统的主从多机通信。3.2.2 接口定义该模块有2个RS-232接口,一个用于本地主系统与其他子系统的通信另一个用于对本

12、地主系统发出信号的监听;另外的3个RS-422接口用于实现与3个从机子系统的通信。3.2.3 技术要求集线板模块主要用于本地主系统(PC机)与3个子系统之间RS-232电平信号和RS-422总线电平的转换,从而实现主从多机的信号交换和通信功能。3.2.4 实现方式3.2.4.1 芯片介绍3.2.4.1.1 MAX483芯片介绍本次实验中主要采用了MAX483芯片,该芯片的作用是可以制作总线的收发器,该芯片的管脚定义如图3.2所示。图3.2 MAX483芯片管脚定义41脚为MAX483作为接收器的信号输出端RO,2脚为接收使能端 /RE,低电平有效 4脚为MAX483作为发送器信号的输入端DI,

13、3脚为发送使能端DE,高电平有效6、7两脚为483输出给RS232的差分信号输入输出线。5脚GND接地。8脚VCC接5V电源。3.2.4.1.2 MAX232芯片介绍MAX232芯片的管脚定义、内部结构与外围电路如图3.3所示。 图3.3 MAX232芯片的管脚定义、内部结构与外围电路图51脚和3号脚接电容C1,大小为1.0uF,其中1号脚接正极,3号脚接负极4脚和5号脚接电容C2,大小为1.0uF,其中4号脚接正极,5号脚接负极2脚和6号脚接电源,差分输入,大小为10V,其中2号脚接+10V,6号脚接-10V11脚和10号脚分别TTL/CMOS电平输入14脚和7脚分别RS232信号输出13脚

14、和8号脚分别RS232电平输入12脚和9脚分别TTL/CMOS电平输出15脚GND接地16脚VCC接5V电源。3.2.4.2 实现电路本模块基本实现的是从本地主系统输入的RS-232电平信号,既要通过电路转换成RS-422信号下行传给给下位机即各子系统,又要传给监听电路部分来监听本地主系统输出的RS-232信号。本模块的实现框图如图3.4所示。 图3.4 集成板模块电路的实现框图3本模块内部具体的实现电路如图3.5 所示。它主要通过1块MAX232芯片和2块MAX483芯片实现RS-232信号和RS-422信号之间的电平转换,并在2块MAX232芯片工作下实现本地主系统和各个子系统的全双工通信

15、。图3.5中给出了外围电路以实现芯片的工作。 图3.5 集成板模块内部电路具体实现图33.3 通信接口转换电路描述该电路可以实现将集成板模块输出的RS-422的差分信号与单片机所能接受的电平信号的转换实现双工通信,从而实现本地主系统与各子系统之间的信息交换。该电路利用两块MAX483芯片和外围电路实现,具体电路如图3.5所示。 图3.5 发射机和接收机实现电路图接收机功能是把RS-422从7号和6号脚输入的差分信号转换成1号管脚输出的单片机电平实现接收功能,外围电路如图3.5所示。发射机功能是把4号管脚输入的单片机电平信号转换成一对差分信号从7号和6号管脚输出给RS-422总线。与此同时为了防

16、止上行通道发送信息产生冲突,要对3号管脚的DE另外设计,通过代码实现让RS422发送信息时,先在3号脚产生一个高电平,然后给4号脚发送信息,等发送信息结束,在3号脚产生一个低电平,这样就不会使得RS422的总线的上行通道中出现信息冲突。4. 主从通信协议【6】4.1 信息帧的基本结构 通信主机和从机间信息传输,以信息帧(数据包)方式进行,信息帧的组成结构应符合表4.1。 信息帧在传输时采用全ASCII字符方式,使其具有较好的可显性和易读性。 由通信主机发往从机的信息帧,称为命令帧;由通信从机发往主机的信息帧,称为响应帧。由通信主机发往某特定从机的命令帧,称为单播命令帧;由通信主机发往所有从机的

17、命令帧,称为广播命令帧。响应帧是对确定的单播命令帧的回复,两者有一一对应关系;从机收到广播命令帧,不回复任何响应帧。 表4.1信息帧的基本结构传输时字符(ASCII代码)数编码段表示意义命令帧响应帧1SOI起始标识2注1VER通信协议版本号2注1ADR目的地址2注1CMD1RSPD命令码1/响应标识码2注1CMD2RTN命令码2/返回码2注1LENGTH参数段字节长度2注1 * LENGTHINFO参数段2注1CHKSUM校验和1EOI结束标识注1:传输时使用2倍的字符数,例如若编码段VER的编码为0x10,则传输时使用字符1和0表示,即ASCII代码0x31,0x30(高位数字对应的字符在先

18、,低位在后)。4.2 起始标识和结束标识(SOI和EOI)起始标识采用字符,相应ASCII代码为0x7E。结束标识采用字符r (回车符),相应ASCII代码为0x 0D。4.3 通信协议版本号(VER)V1.0对应为0x10。4.4 目的地址(ADR)在本应用的通信系统中,无论通信主机还是任何一个确定的从机,都具有确定的唯一性标识,称通信机的地址。以下说明地址编码的分配情况。0:分配给通信主机的地址码。1254(0x010xFE):分配给各通信从机的地址码,从ADR的地址容量角度看,本应用中最多可同时容纳254个通信从机。255(0xFF):保留,拟作通信主机向所有通信从机传输广播信息时的地址

19、标识。4.5 命令码1、命令码2 (CMD1、CMD2)在命令帧中,命令码CMD1和CMD2组合表示一条命令代码。CMD1是主码,表示一类命令,一般同类命令的CMD1相同;CMD2是辅码,与主码配合,构成命令的唯一性标识。CMD1和CMD2的编码方式,由协议使用者根据业务需要自行确定。4.6 响应标识码、返回码(RSPD、RTN)在响应帧中,通过响应标识码RSPD指示所对应的命令帧情况,RSPD取所对应命令帧的CMD1的值。通信主机收到该响应帧时,可通过阅读RSPD段,检验是否是与所发命令帧相对应的响应,减少错误响应对通信系统正常工作的影响。当目的接收机(某通信从机)正常接收命令帧(基本结构要

20、素完整,即SOI和EOI存在,长度符合要求),并正确解析命令后,应按要求回复响应帧,且在RTN段中指示“正常回复”。通信从机应按以下顺序,依次对命令帧进行解析:4. 检查VER段;5. 检验CHKSUM;6. 判断CMD1、CMD2的合法性和有效性;7. 检验LENGTH与INFO段实际长度是否相符;8. 判断INFO段中各参数的合法性和有效性。若命令帧解析失败,通信从机通过响应帧的RTN段编码(见表3),向主机指示按以上顺序检验到的第1种错误。表3返回码意义编码正常回复00VER错01CHKSUM错02非法或无效命令03参数段长度错04非法或无效参数054.7 参数段长度LENGTHLENG

21、TH:0255(00H0FFH)4.8 CHKSUM的计算:除SOI、EOI和CHKSUM外,其他字节累加求模256和,取结果的补码(原码取反加1)。换言之,除SOI、EOI外,其他字节(包括CHKSUM)的原码的模256和应为0。4.9 参数段INFOINFO段格式及编码,由协议使用者根据业务需要自行定义。信息帧可以没有参数段(相应LENGTH取0)。4.10 下行命令帧形式在命令帧中,命令码CMD1和CMD2组合表示一条命令代码。CMD1是主码,表示一类命令,一般同类命令的CMD1相同;CMD2是辅码,与主码配合,构成命令的唯一性标识。LENTH表示数据位的字节长度,INFO用以传递命令中

22、必要涉及的数据,如设定水温目标值,设定电机转速,获取超声测距的结果等,当命令中不必要传输数据时(如要求读取电机转速命令)则INFO为空。下行命令帧(全局主系统对本地主系统,或本地主系统对子系统)中的CMD1和CMD2的编码方式,以及LENGTH和INFO的使用实例,参见表4.5。表4.5 本地主系统命令帧的格式和内容序号通信对象功能描述命令帧SOIVERADDRCMD1CMD2LENGTHINFOCHECKSUMEOI1水温控制检测状态0x100x010x000x000x00无程序自动计算/r设定温度0x100x010x010x01:开始加热0x01温度/r0x00:停止加热读取温度0x100

23、x010x020x000x00无/r重启系统0x100x010x030x000x00无/r2电机转速检测状态0x100x020x000x000x00无/r写工作方式0x100x020x010x00:正转停转0x01转速/r0x01:正转开转0x02:反转停转0x03:反转开转读取状态0x100x020x020x000x00无/r重启系统0x100x020x030x000x00无/r3超声波测距检测状态0x100x030x000x000x00无/r写工作方式0x100x030x010x000x01工作方式/r读取测量值0x100x030x020x000x00无/r重启系统0x100x030x03

24、0x000x00无/r4.11 上行响应帧形式当目的接收机(某通信从机)正常接收命令帧(基本结构要素完整,即SOI和EOI存在,长度符合要求),并正确解析命令后,应按要求回复响应帧,且在RTN段中指示“正常回复”。通信从机应按以下顺序,依次对命令帧进行解析:9. 检查地址位是否针对本机10. 检查VER段;11. 检验CHKSUM;12. 判断CMD1、CMD2的合法性和有效性;13. 检验LENGTH与INFO段实际长度是否相符;14. 判断INFO段中各参数的合法性和有效性。从机根据解析结果确定响应帧的RTN位,若命令帧无错误,则执行该命令。无论命令帧是否合理,从机一定会根据命令帧给出相应

25、的响应帧。从机给本地主系统响应帧结构如表4.6所示。对于本地给全局的上行数据帧,其格式与从机给本地的响应帧完全相同表4.6 从系统响应帧格式与内容序号通信对象功能描述响应帧SOIVERADDRRSPDRTNLENGTHINFOCHECKSUMEOI1电机转速状态检测0x100x000x000x00:无错误0x01:VER错误0x02:CHKSUM错0x03:非法命令0x04:参数段长度错0x05:非法或无效参数0x010x00:在线程序自动计算/r0x01:不在线写工作方式0x100x000x010x010x00:设定成功/r0x01:设定失败读取状态0x100x000x020x010x00:

26、正向停转不稳定转速/r0x01:正向停转稳定0x02:正向运转不稳定0x03:正向运转稳定0x04:反向停转不稳定0x05:反向停转稳定0x07:反向运转不稳定0x08:反向运转稳定2水温控制状态检测0x100x000x030x010x00:在线/r0x01:不在线设定温度0x100x000x040x010x00:设定成功/r0x00:设定失败读取温度0x100x000x050x020x00:温度不稳定温度/r0x01:温度稳定3超声波测距状态检测0x100x000x060x010x00:在线/r0x01:不在线写工作方式0x100x000x070x010x00:设定成功/r0x00:设定失败

27、读取状态0x100x000x080x020x00:结果稳定厚度值/r0x01:结果不稳定4.12 通信时序特性异步通信字节格式:9600 Baud,8位数据,无奇偶校验位,1位停止位;Tbb:帧内字节间隔时间;Tcr:命令帧-响应帧间隔时间;Trc:响应帧-下一命令帧间隔时间。表4通信时序特性符号最小值MIN最大值MAXTbb020 msTcr0500 msTrc0注:若TbbTbbMAX,则通信接收方可判定帧传输中止;若TcrTcrMIN或TrcTcrMAX,则通信主机可判定目的从机不在线。图1 通信时序特性5. 主从通信协议的程序实现本地主系统的上、下行控制模块以及各个子系统的接口模块通过

28、通信协议进行数据通信。本部分以本地主机的下行通信控制模块的程序模板为例来说明主从通信协议的实现过程。其他子系统的通信协议可以参照此模板实现各个子系统的控制功能。5.1 功能描述本地主系统下行通信控制模块可以实现以下几种功能:15. 本地主系统在不与全局主系统相连时可以发送一些命令帧。16. 实现通信协议内容。17. 对三个下属从机进行轮询操作,通过串行通信端口与从机通信,向下传递命令并获得相应响应帧。18. 可以实现通信时序。5. 可对命令帧及响应帧进行命令解析。5.2 常量定义6. private System.Windows.Forms.Button btn1;7. private Sys

29、tem.Windows.Forms.PictureBox pictureBox1;8. private System.Windows.Forms.GroupBox groupBox1;9. private System.Windows.Forms.RadioButton radioButton2;10. private System.Windows.Forms.RadioButton radioButton3;11. private System.Windows.Forms.Panel panel1;12. private System.Windows.Forms.Label label1;1

30、3. private System.Windows.Forms.Panel panel2;14. private System.Windows.Forms.Panel panel3;15. private System.Windows.Forms.TextBox textBox1;16. private System.Windows.Forms.Label label2;17. private System.Windows.Forms.Label label3;18. private System.Windows.Forms.Label label4;19. private System.Wi

31、ndows.Forms.TextBox textBox2;20. private System.Windows.Forms.GroupBox groupBox2;21. private System.Windows.Forms.TextBox textBox4;22. private System.Windows.Forms.TextBox textBox3;23. private System.Windows.Forms.Label label8;24. private System.Windows.Forms.Label label7;25. private System.Windows.

32、Forms.Label label6;26. private System.Windows.Forms.Label label5;27. private System.Windows.Forms.Button button2;28. private System.Windows.Forms.Button button1;29. private System.Windows.Forms.GroupBox groupBox3;30. private System.Windows.Forms.Label label13;31. private System.Windows.Forms.Progres

33、sBar progressBar1;32. private System.Windows.Forms.Label label12;33. private System.Windows.Forms.Label label11;34. private System.Windows.Forms.Label label10;35. private System.Windows.Forms.Label label9;36. private System.Windows.Forms.TextBox textBox6;37. private System.Windows.Forms.TextBox text

34、Box5;38. private System.Windows.Forms.Button button4;39. private System.Windows.Forms.Button button3;40. private System.Windows.Forms.Label label16;41. private System.Windows.Forms.Label label15;42. private System.Windows.Forms.Label label14;43. private System.Windows.Forms.CheckBox checkBox1;44. pr

35、ivate System.Windows.Forms.CheckBox checkBox2;45. private System.Windows.Forms.GroupBox groupBox4;46. private System.Windows.Forms.Button button7;47. private System.Windows.Forms.Button button6;48. private System.Windows.Forms.Button button5;49. private System.Windows.Forms.PictureBox pictureBox4;50

36、. private System.Windows.Forms.PictureBox pictureBox3;51. private System.Windows.Forms.PictureBox pictureBox2;52. private System.Windows.Forms.GroupBox groupBox5;53. private System.Windows.Forms.Label label19;54. private System.Windows.Forms.Label label18;55. private System.Windows.Forms.Label label

37、17;56. private System.Windows.Forms.PictureBox pictureBox7;57. private System.Windows.Forms.PictureBox pictureBox6;58. private System.Windows.Forms.PictureBox pictureBox5;59. private System.Windows.Forms.Label label20;60. private System.Windows.Forms.Label label21;61. private System.Windows.Forms.La

38、bel label22;62. private System.Windows.Forms.Label label23;63. private System.Windows.Forms.GroupBox groupBox6;64. private System.Windows.Forms.Button button9;65. private System.Windows.Forms.Button button8;66. private System.Windows.Forms.Label label24;67. private System.Windows.Forms.Label label25

39、;68. private System.Windows.Forms.Label label26;69. private System.Windows.Forms.TextBox textBox7;70. private System.Windows.Forms.Label label28;71. private System.Windows.Forms.Label label27;72. private System.Windows.Forms.TextBox textBox8;73. private System.Windows.Forms.Label label29;74. private

40、 System.Windows.Forms.Button button10;75. private System.Windows.Forms.Button button11;76. private System.Windows.Forms.Button button12;77. private System.Windows.Forms.CheckBox checkBox3;78. private System.Windows.Forms.Button button13;79. private System.Windows.Forms.Label label30;80. private Syst

41、em.Windows.Forms.Button button14;81. private System.Windows.Forms.TextBox textBox9;82. private System.Windows.Forms.Label label31;83. private System.Windows.Forms.Label label32;83.1 变量定义84. public static byte wlansend;85. public static byte wlanget;86. public static TcpListener serve_listener;87. public static string ip_addr;88. public static Socket serve_socket;89. public static bool is_controled = false; /用于控制线程判断是否连接上主机90. public static bool is_connected = false; /用于轮询同步接收数据91. public static int com_id=6;92. public static int data_wlan;93. p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁