基于单片机的智能协议转换器毕业设计论文概要.docx
《基于单片机的智能协议转换器毕业设计论文概要.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能协议转换器毕业设计论文概要.docx(49页珍藏版)》请在冰豆网上搜索。
![基于单片机的智能协议转换器毕业设计论文概要.docx](https://file1.bdocx.com/fileroot1/2023-2/25/026aada2-d8ea-4c82-b944-c69c27d64b9c/026aada2-d8ea-4c82-b944-c69c27d64b9c1.gif)
基于单片机的智能协议转换器毕业设计论文概要
摘要
随着计算机在工业的广泛应用,控制局域网络也深入应用到各行各业中,现行的诸多控制系统,若采用单机控制方式已难以满足设备控制的要求。
而随着通信行业的发展,为了保证通信设备的正常运行,采用了大量的配有智能监控接口的动力设备和专用空调设备,而为了有效的管理这些支撑设备,需要将这些设备纳入统一的监控平台,实现集中远程监控管理。
本文主要介绍了一个基于AT89C51单片机的智能协议转换器设计方案。
用该方案设计的智能协议转换器,已经在实际中应用并达到了预期目的系统同样可以应用到其他类似的工业控制和数据采集系统中。
我们所控制的设备只是整个系统的一个基本单元,它既需要外部输入一些必要的信息,同时,也需要向外部输出自身的运行参数和状态,这就要求我们采用控制网络技术,将众多设备有机地连成一体,以保证整个系统安全可靠地运行。
本文还介绍了基于单片机的智能协议转换器的工作原理、硬件电器设计及其软设计,并在文章的最后给出了设计中应注意的问题及解决方法。
该协议转换器成功地解决了两种不同控制网络之间的通信问题。
在本次设计中,还添加了USB接口设计,USB通用串行总线是计算机外设接口的发展趋势,将逐渐取代PC机上的RS232协议串口,因此,很多传统的RS232接口设备都将面临一个向USB接口转换的问题。
USB是近年来应用在PC领域的新型接口技术,一些PC大厂商、流行操作系统都增加了对USB的支持。
现在,工业现场有大量采用RS485传输数据的采集设备。
RS485有其固有的优点,它的传输距离可以达到1200m以上,并且可以挂接多个设备。
其不足之处在于传输速度慢,若采用总线方式,则设备之间相互影响,可靠性差,需要板卡的支持,成本高,安装麻烦等。
RS485的这些缺点恰好能被USB所弥补,而USB传输距离的限制恰好又是RS485的优势所在。
如果能将两者结合起来,优势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。
关键词:
单片机;通讯协议;串口;监控;协议转换器
ABSTRACT
Asthecommunicationsindustry,inordertoensurethenormal
operationofcommunicationsequipment,theuseofalargenumberof
interfaceswithintelligentmonitoringandspecialair-conditioningequipment,powerequipment,andsupportforeffectivemanagementofthesedevices,youneedtomonitorthesedevicesintoaunifiedplatformtorealizecentralizedmanagementofremotemonitoring。
Thispaperdescribes
a89C52microcontroller-basedintelligentprotocolconverterdesign.Withthedesignofintelligentprotocolconverter,hasbeenappliedinpracticeandachievethedesiredpurpose.Thesystemcanalsobeappliedtoothersimilarindustrialcontrolanddataacquisitionsystem.
Inthisdesign,alsoaddaUSBinterfacedesign,USBuniversalserialbusisthetrendofthedevelopmentofcomputerperipheralsinterface,willgraduallyreplacethePCRS232serialportagreement,therefore,manytraditionalRS232interfacedeviceswillbefacedwithaUSBinterfacetoconvertproblem.USBisinrecentyearsinthefieldofapplicationinPCnewinterfacetechnology,somePCmanufacturers,popularoperatingsystemsareaddedtotheUSBsupport.Now,theindustrialfieldwithRS485transmissionofdatacollectionequipment.RS485hasitsinherentadvantages,itcanachievethetransmissiondistance1200mabove,andcanbearticulatedmoreequipment.Itsshortcomingsinthetransmissionspeedisslow,ifyouusebusway,themutualinfluencebetweendevices,poorreliability,needthesupportofthecard,thecostishigh,theinstallationoftrouble,etc.TheseshortcomingsofRS485justcanbemadeupforUSB,andUSBtransmissiondistancelimitofjustanotherRS485advantage.
KeyWords:
SCM;Communicationprotocol;Serialport;MonitoringProtocol
2.2.1主要芯片介绍............................................3
2.2.2硬件设计原理............................................9
2.2.4抗外界干扰设计.........................................12
2.2.5USB接口连接设计........................................12
3系统软件设计....................................................16
3.2软件设计...................................................17
3.2.1主程序流程设计.........................................17
3.3数据帧传输设计.............................................19
4系统调试与仿真..................................................25
参考文献...........................................................32
附录I.............................................................33
附录II............................................................40
1概述
1.1课题的意义
所有的通讯设备需要可靠的动力系统进行支撑,这些动力设备包括开关电源、高低压电源开关柜、蓄电池组、机房智能空调等等。
通讯行业的本身的人力资源和客观的管理水平发展,要求实现设备间的互连互通,但长期以来不同企业出于自身利益的考虑定了互不兼容的总线标准,使得处于不总线网络中的设备通信难。
本系统正是基于这种需求而提出的解决方案。
RS232是一个电气接口规范,他定义了一个基于单对平衡线的多点、双向(半双工)通信链路,只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议,在当时看来是一种相对经济具有相当高噪声抑制相对高的传输速率传输距离远和宽共模范围的通信平台,因此基于RS232总线的通讯方法得到了广泛的应用。
CAN(控制器局域网)总线以其高性能、高可靠性及独特的设计,越来越受到人们的重视和青睐,不但在汽车行业中应用广泛,而且在工业控制、机器人、医疗器械、传感器等领域发展迅速。
为了扩展CAN总线的功能,与计算机相联,可设计具有CAN接口和PC接口的CAN适配卡,用来收集CAN总线上各个节点的信息,转发给PC机,并可将PC机的命令和数据转发给各个节点以及完成对CAN总线上的用户系统的部分监控和管理工作。
串行通信接口RS-232C作为一种标准,目前已在微机通信接口中广泛采用。
但由于它在数据传输的传输距离与速度方面要低于其他通信方式,阻碍了它在很多方面的应用,因此设计高性能的RS-232与CAN总线的接口卡以代替传统的PC机的RS-232总线通信具有重要意义。
1.2设计的任务和要求
1、设计一套协议转换器系统,RS_232与CAN接口卡的设计与开发。
2、能够实现将不同设备厂家的数据通讯协议转换成统一的通讯协议。
3、能够实现USB的连接。
2系统实现原理及硬件设计
2.1系统实现原理
2.1.1设计原理介绍
该系统由多个节点组成,节点按构造可分为两类:
一类是可与CAN总线直接相连的总线节点;另一类是不与CAN总线直接相连的扩展节点.扩展节点与总线节点的区别是不带CAN控制和驱动模块,它与总线节点相连,通过RS-232通信.总线节点和扩展节点按功能也可分为两类:
一类是PC机节点;另一类是检测报警节点.PC机节点由PC机担任,用于整个系统的监视控制及系统的状态显示和参数设置等.检测报警节点用于检测、控制和报警.CAN接口卡是系统的主要环节,它与传感器监测装置直接相连并接入CAN总线.
CAN(控制器局域网)总线以其高性能、高可靠性及独特的设计,越来越受到人们的重视和青睐,不但在汽车行业中应用广泛,而且在工业控制、机器人、医疗器械、传感器等领域发展迅速。
为了扩展CAN总线的功能,与计算机相联,可设计具有CAN接口和PC接口的CAN适配卡,用来收集CAN总线上各个节点的信息,转发给PC机,并可将PC机的命令和数据转发给各个节点以及完成对CAN总线上的用户系统的部分监控和管理工作。
在其集中监控系统中,一方面要与被监控设备通信,发送各种控制命令和数据采集命令以便获取当前设备的运行参数;另一方面与中央监控主机通信,单片机不但完成对上层控制命令的解析,并将上层命令转换成被监控设备的通信协议,同时也要讲采集到的数据进行分析,按照中央监控软件协议对数据进行打包处理。
2.1.2通讯协议
通讯协议是应用于电子控制器上的一种通用语言,规定了电子设备之间进行通讯的格式及方式,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
智能协议转换器的作用就是将不同厂家的设备通信协议转换为中央监控主机的通信协议。
CAN(控制器局域网)总线以其高性能、高可靠性及独特的设计,越来越受到人们的重视和青睐,不但在汽车行业中应用广泛,而且在工业控制、机器人、医疗器械、传感器等领域发展迅速。
为了扩展CAN总线的功能,与计算机相联,可设计具有CAN接口和PC接口的CAN适配卡,用来收集CAN总线上各个节点的信息,转发给PC机,并可将PC机的命令和数据转发给各个节点以及完成对CAN总线上的用户系统的部分监控和管理工作。
串行通信接口RS-232C作为一种标准,目前已在微机通信接口中广泛采用。
但由于它在数据传输的传输距离与速度方面要低于其他通信方式,阻碍了它在很多方面的应用,因此设计高性能的RS-232与CAN总线的接口卡以代替传统的PC机的RS-232总线通信具有重要意义。
2.1.3数据交换流程
中央监控主机发送广播指令协议转换器接收指令,判断是否需要回复数据按照协议转换格式对指令进行转换由协议转换器将转换后的数据帧发送到被监控设备被监控设备按照私有的通讯协议返回数据或执行动作由协议转换器将被监控设备返回的数据按照协议转换格式进行转换并回复到中央监控主机完成。
根据以上的分析,该系统完成的主要任务是进行协议转换。
为了完成协议转换,需要进行相应的硬件设计和软件设计。
2.2系统硬件设计
2.2.1主要芯片介绍
(1)AT89C51
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图2.2所示。
图2.2AT89C51引脚排列
主要特性:
与MCS-51兼容,4K字节可编程FLASH存储器,寿命:
1000写/擦循环,数据保留时间:
10年,全静态工作:
0Hz-24MHz,三级程序存储器锁定,128×8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道低功耗的闲置和掉电模式,片内振荡器和时钟电路
特性概述:
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
(2)MAX232
MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
MAX220–MAX249系列线驱动器/接收器,专为EIA/TIA-232E以及V.28/V.24通信接口设计,尤其是无法提供±12V电源的应用。
这些器件特别适合电池供电系统,这是由于其低功耗关断模式可以将功耗减小到5µW以内。
MAX225、MAXX233、MAX235以及MAX245/MAX246/MAX247不需要外部元件,推荐用于印刷电路板面积有限的应用。
关键特性:
1.对于低电压、集成ESD应用MAX3222E/MAX3232E/MAX3237E/MAX3241E/MAX3246E:
+3.0V至+5.5V、低功耗、最高1Mbps、真正的RS-232收发器,使用4个0.1µF外部电容(MAX3246E提供UCSP™封装);2.对于低成本应用MAX221E:
±15kVESD保护、+5V、1µA、单路RS-232收发器。
图2.3MAX232引脚图标及内部电路构成
上图2.3引脚介绍:
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出第三部分是供电。
15脚GND、16脚VCC(+5v)。
主要特点:
符合所有的RS-232C技术标准;只需要单一+5V电源供电;片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-;功耗低,典型供电电流5mA;内部集成2个RS-232C驱动器;高集成度,片外最低只需4个电容即可工作。
(3)PCA82C205
PCA82c250是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接收能力。
这是全世界使用最广泛的CAN收发器同时,相近的型号还有C251。
它有更高的击穿电压,因此可以在电源电压范围内驱动低至45Ω的总线负载。
而且PCA82C251在隐性状态下的拉电流更小,在掉电情况下的总线输出特性有一定改善。
它可以与C250在同一网络中通信。
基本参数:
工作温度范围:
-40°Cto+125°C;针脚数:
8;封装类型:
SOIC;工作温度最低:
-40°C;工作温度最高:
125°C;器件标号:
82;电源电压,最大:
5.5V;电源电压,最小:
4.5V;电源电流:
100μA;芯片标号:
82C250;表面安装器件:
表面安装;控制接口:
CAN;数据率,最高:
1Mbaud;波特率,比特/秒:
1Mbps;电压Vcc最低:
4.5V;电压,Vcc最大:
5.5V;输入/输出数:
2;通信功能:
CAN控制器符合标准:
完全符合ISO11898标准,其中PCA82C251符合ISO11898-24V标准其他特性:
抗瞬间干扰,保护总线;斜率控制,降低射频干扰(RFI)。
(4)SJA1000
SJA1000是一种独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制.它是Philips半导体公司PCA82C200CA控制器(BasicCAN)的替代产品,而且它增加了一种新的操作模式——PeliCAN,这种模式支持具有很多新特性的CAN2.0B协议。
SJA1000在软件和引脚上都是与它的前一款PCA82C200独立控制器兼容的在此基础上它增加了很多新的功能为了实现软件兼容SJA1000增加修改了两种模式BasicCAN模式与PCA82C200兼容PeliCAN模式扩展特性工作模式通过时钟分频寄存器中的CAN模式位来选择复位默认模式是BasicCAN模式与PCA82C200兼容性在BasicCAN模式中SJA1000模仿PCA82C200独立控制器所有已知的寄存器在6.2.1.1到6.2.1.4节中所描述的特性不同于PCA82C200这主要是为了软件上的兼容性同步模式在SJA1000的控制寄存器中没有SYNC位在PCA82C200中是CR.6位同步只有在CAN总线上弱势-支配控制的转换时才有可能发生写这一位是没有任何影响的为了与现有软件兼容读取这一位时是可以把以前写入的值读出的对触发电路无影响时钟分频寄存器时钟分频寄存器用来选择CAN工作模式BasicCAN/PeliCAN它使用从PCA82C200保留下来的一位象在PCA82C200中一样写一个0-7之间的值就将进入BasicCAN模式默认状态是12分频的Motorola模式和2分频的Intel模式保留的另一位补充了一些附加的功