《基于单片机AT89C52的CAN总线分布式测控系统的研制.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C52的CAN总线分布式测控系统的研制.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机AT89C52的CAN总线分布式测控系统的研制基于单片机AT89C52的CAN总线分布式测控系统的研制mahaiyan导语:将先进的现场总线技术CANBUS应用于智能测控系统,大大进步了系统的可靠性;自主开发了符合国际标准的基于单片机的智能节点,不仅大量节约了资金,而且可以购置通用的同类设备,可节约大量的研发费用1CAN总线网络的技术特点用通讯数据块编码,可实现多主工作方式,数据收发方式灵敏,可实现点对点、一点对多点及全局播送等多种传输方式;可将DCS构造中主机的常规测试与控制功能分散到各个智能节点,节点控制器把收集到的数据通过CAN适配器发送到总线,或向总线申请数据,主机便从原来繁
2、重的底层设备监控任务中解放出来,进展更高层次的控制和治理功能,比方故障诊断、优化协调等;采用非破坏性基于优先权的总线仲裁技术,具有暂时错误和永久性故障节点的判别及故障节点的自动脱离功能,使系统其它节点的通讯不受影响;同时,CAN具有出错帧自动重发功能,可靠性高;信号传输用短帧构造8字节,实时性好;不关闭总线即可任意挂接或者撤除节点,增强了系统的灵敏性和可扩展性;采用统一的标准和标准,使各设备之间具有较好的互操纵性和互换性,系统的通用性好;通讯介质可采用双绞线,无特殊要求;现场布线和安装简单,易于维护,经济性好。总之,CAN总线具有实时性强、可靠性高、构造简单、互操纵性好、价格低廉等优点,克制了
3、传统的工业总线的缺陷,是构建分布式测控系统的一种有效的解决方案。2系统总体硬件设计方案首先,定义各节点的功能,确定各节点检测或者控制量的数目、类型、信号特征。这是进展微机测控系统网络化的第一步。原那么是尽量防止重复测试。智能节点模块绝大局部是输入输出模块,调节回路可以跨模块构成回路。但考虑到调节回路的平安性,为了保证在上位机或者整个通讯线路出现重大故障时回路调节不受到影响,设计了隔离型、自整定PID、隔离型温度调节器等带有调节功能的模块。它们的输入输出通道都在同一模块中,其底层软件的功能很强,所有的输入处理、输出增量的计算多种调节算法可通过组态选择,包括串级调节、输出,包括自整定模块的经过参数
4、的自动识别都在本模块实现,保证了调节回路的平安性、可靠性。其次,选择各节点控制器和相应的CAN适配元件。由于各测控节点功能相对单一,数据量少,因此对CPU的要求大大降低,采用8051系列单片机即可知足要求。CAN总线适配器件主要有:控制器接口、总线收发器和I/O器件。采用Philips公司消费的82C200CAN控制器和与其配套的82C250CAN收发器。82C200具有完成高性能通讯协议所要求的全部必要特性。具有简单总线连接的82C200可完成物理层和数据链路层的所有功能。最后,按照CAN总线物理层协议选择总线介质,设计布线方案,连接成CAN总线分布式测控网络。3系统的硬件组成1CAN总线接
5、口模块微处理器目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如82C200,SJA1000及Intel82526/82527等;另一类是带有芯片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。根据当前市场、开发工具和课题的实际需要,系统的智能节点均选用ATMEL8位单片机AT89C52为微处理器。CAN控制器CAN控制器选用SJA1000作为控制器。SJA1000是高集成度CAN控制器。具有多主构造、总线访问优先权、成组与播送报文功能及硬件滤波功能。输入时钟频率为16MHh时钟,输出可编程控制。由以下几局部构成:接口治理逻辑、发送缓存器、接收缓存器
6、、位流处理器、位定时逻辑、收发逻辑、错误治理逻辑、控制器接口逻辑等。SJA1000有很多新功能:标准构造和扩展构造报文的承受和发送;64字节的接收FIFO;标准和扩展帧格式都具有单/双接收滤波器;可进展读/写访问的错误计数器;可编织的错误报警限制:最近一次的错误代码存放器;每一个CAN总线错误都可以产生错误中断;具有丧失仲裁定位功能的丧失仲裁中断;单发方式当发主错误或者丧失仲裁时不重发;只听方式监听CAN总线,无应答,无错误标志;支持热插拔无干扰软件驱动位速率监测。因此,系统的智能节点均选用SJA1000作为CAN控制器。CAN总线收发器CAN总线收发器选用PCA82C250作为总线收发器。P
7、CA82C250是CAN协议控制器和物理总线之间的接口。82C250可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能。而且它与“ISO11898标准完全兼容。PCA82C250的目的是为了增大通讯间隔,进步系统的瞬间抗干扰才能,保护总线,降低射频干扰RFI实现热防护等。为了进一步进步抗干扰措施,在两个CAN器件之间使用了由高速隔离器件6N137构成的隔离电路。硬件电路的设计并不太困难,但有几点应引起留意:总线两端两个120的电阻,对于匹配总线阻扰,起着相当重要的作用。忽略掉它们,会使数据通讯的抗干扰性及可靠性大大降低,甚至无法通讯。82C50第8脚与地之间的电阻Rs称为斜率电阻,
8、它的取值决定了系统处于高速工作方式还是斜率控制方式。把该引脚直接与地相连,系统将处于高速工作方式,在这种方式下,为防止射频干扰,建议使用屏蔽电缆作总线;而在波特率较低、总线较短时,一般采用斜率控制方式,上升及下降的斜率取决于民的阻值,实验数据说明15200k为Rs较理想的取值范围,在该方式下,可以使用平行线或者双绞线作总线。SJA1000的TX1脚悬空,RX1引脚的电位必须维持在约0.5Vcc上,否那么,将不能形成CAN协议所要求的电平逻辑。假如系统传输间隔近,环境干扰小,可以不用电流隔离,这样可直接把82C250的VREF端约为0.5Vcc与RX1脚相连,进而简化了电路。在系统中,SJA10
9、00的片选信号一般由地址总线经译码获得,并由此决定出CAN控制器各存放器的地址。实际应用中,采用单片机AT89C52的P2.7为片选信号。所以,SJA1000的地址为:7F007F32H。当上电复位时,AT89C52的上电复位,需要从低到高的电平变化来激活,而SJA1000的17脚RST被激活,需要出现一个由高电平到低电平的跳变,因此,这必须加一个反相器。2数据收集模块数据收集模块用来将各类传感器的数据传送到CAN总线上。整个电路包括:看门狗X5045,单片机89C52,锁存器74LS373,A/D转换器ADC0809以及CAN控制器SJA1000和收发器82C250。数据收集模块的工作原理:
10、各类传感器收集到数据后将05V的模拟量传送到ADC0809,0809将转换成的数字量传给89C52,最后单片机将收集到的数据送到SJA1000通过CAN总线收发器82C250传上总线,完成数据收集工作。3控制模块是一个带有CAN通讯功能的隔离型控制器。该模块有一个数据输入点,可以是命令或者其他信号,有一个模拟量输出,供输出执行机构是连续变化的控制系统使用,例如控制步进电机;还有一路是数字量输出,供执行机构是两位式的控制系统使用,例如开关设备。这个控制器可以单独作为一个调节器使用,由于在该模块上提供了完好的显示窗口和操纵按钮,可以设定温度设定值、PID调节参数等运行经过中可以显示被控对象的PV值
11、和SV值。该模块可以根据设定的控制点及升、降的时间实现自动调节。带有CAN通讯口,可以与微机实现通讯,也就是讲控制模块可以接入CAN网络系统。通过上位机实现对多个节点上的控制模块设定各控制点的上下限控制点、PID值、实现时间等控制参数,并实时记录各控制器的测量值,描绘出变化曲线,供实验人员对实验结果进展分析。4系统软件设计1CAN总线通讯模块CAN总线测控系统的通讯软件分为3局部:CAN初始化、数据发送和数据接收。CAN初始化其主要是设置CAN的通讯参数。需要初始化的存放器有:形式存放器PeliCAN形式、时分存放器、接收代码存放器、屏蔽存放器、总线定时存放器、输出控制存放器等。需要留意的是,
12、这些存放器仅能在复位期间可写访向,因此,在对这些存放器初始化前,必须确保系统进入了复位状态,并且系统中各CAN控制器的总线定时存放器的初始化字必须一样。数据发送现场的各传感器把环境多参数的检测信号数字量、模拟量、开关量进展转换处理后,发向CAN控制器的发送缓冲区,然后启动CAN控制器的发送命令,此时CAN控制器将自动向总线发送数据,不再需传感器的微控制器进展干预。假设系统中有多个传感CAN控制器同时向总线发送数据,那么CAN控制器通过信息帧中的标识符来进展仲裁,标识符数值最小的CAN控制用具有对总线的优先使用权。数据接收整个温室微机测控系统中的CAN控制器检测到总线上有数据时会自动接收总线上的
13、数据,存入其接收缓冲区,并向89C52微控制器发送接收中断,启动中断接收效劳程序,89C52通过执行中断接收效劳程序,从CAN控制器的接收缓冲区读取数据,并对其进展进一步处理工作。2监控模块集成了所有的数据收集、参数设定、数据统计分析等功能。同时,为了实现操纵人员对消费经过的人工干预,如修改给定值、控制参数和报警限等,添加了参数的修改功能;为了建立人机信息联络,并且能将各节点传输来的数据以图形、图表或者其它动态方式显示出来,本系统可以使用任何具有DDEDynamicDataExchange接口的MMIMan-Machineinterface软件;为了更好的治理各种数据,采取了组态控制方式,可以接收来自MMI软件以及用户软件的DDE连接恳求,并将该恳求传递给通讯驱动局部,由通讯驱动转换为通讯信号通过传输媒体传递给智能模块的固化软件。并将模块的应答作为DDE操纵的结果返回给MMI软件及用户软件。5结论将先进的现场总线技术CANBUS应用于智能测控系统,大大进步了系统的可靠性;自主开发了符合国际标准的基于单片机的智能节点,不仅大量节约了资金,而且可以购置通用的同类设备,可节约大量的研发费用;基于工控机的上位机提供了良好的人机界面,使操纵更加方便,直观。0
限制150内