这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 毕业设计专区 » 基于STC15F2K61单片机的MBUSRS232转换器设计

共2条 1/1 1 跳转至

基于STC15F2K61单片机的MBUSRS232转换器设计

专家
2014-03-08 11:41:46     打赏

作者:山东理工大学 王子铭 王松 王文松

指导教师:袁玉英 罗永刚


  作品简介

  一、开发背景

  随目前,我国城市居民的水表和热量表数据基本上都是人工抄收,然后月底结算。这种方式不仅要消耗大量的人力物力,而且抄收时间长,精度低,不利于管理部门实时掌握用户的用水或用热情况。集中器在抄表系统中占有非常重要的地位,现有市场上的集中器大部分带负载能力差,每个通信线路负载带有60个,一个集中器有2路MBUS最多带120个表。随着高层建筑越来越多,每户使用的表计数量不断增加,集中器带负载能力差的缺点越来越突出,这大大增加了抄表系统的设备成本,因此设计一种带负载能力强的集中器非常有必要。

  二、结构说明

  本系统主要完成mbus信号与rs232信号的相互转换,该模块自适应能力强,能够根据mbus总线负载大小动态调整比较电压,从而增加转换器的使适应能力。

  三、功能与使用说明

  该模块完成对mbus信号与rs232信号的转换,模块12伏直流供电,一端接mbus总线,一端接计算机rs232接口。完成信号的透明传输。

  四、作品特色

  本设计应用单片机实现了mbus总线和rs232总线的转换,由于采用单片机根据从站无数据返回时总线电流实时调整比较器电压,大大增加了转换器的可靠性和适应性。同时根据确定的通信协议可以控制干扰信号,当rs232没有发数据到mbus总线时,单片机控制转换器不主动向rs232接口发送数据。


  平台选型说明(略)


  设计说明

  该转换器主要实现mus信号与rs232信号的相互装换,由于采用了单片机控制,因此该转换器有很强的适应性以及大的驱动能力,如果每个从站静态电流为1.5mA,该转换器可以带100个从站可靠通信。

  一、 MBUS总线

  由于水表或者热量表都是电池供电,为了延长电池使用寿命,表内主电路使用光电隔离器和通信电路隔离。通信电路由总线供电。水表或热表抄表系统通信大部分采用MBUS总线,它是一种二线制无序总线,既给表计提供电源又用来传输信号,大大节省了布线成本。图2是MBUS总线连接图,通信系统分为从站和主站,从站并接到总线上。

  图2 MBUS总线连接图

  MBUS总线协议规定了通信协议的物理层,对其他通信层没有涉及。它是一种半双工通信总线;通讯时采用主从方式,MBUS 总线上传输的数据位定义如下: (1) 由主站向从站传输的信号采用电压值的变化来表示, 即主站向从站发送的数据码流是一种电压脉冲序列, 用+36 V 表示逻辑1,用+ 24 V 表示逻辑 0。在稳态时,线路将保持逻辑1状态,图3 (a)部分是由主站向终端从站传输的数据码流图。(2) 从站向主站传输的信号采用电流值的变化来表示, 即由从站向主站发送的数据码流是一种电流脉冲序列, 通常用1.5mA的电流值表示逻辑1,当传输0时,由从站控制使电流值增加11-20mA。图3(b)部分所示是由从站向主站传输数据的码流图。

  图3 MBUS物理层信号

  二、 主站信号收发电路

  由于总线需要给从站节点供电,因此电源需要有足够的驱动能力。如果每个节点消耗2-3mA,当100个节点时需要的电流在0.2-0.3A。

  系统采用12伏直流供电,通过LM7805降压到5伏直流;将12伏直流升压到36伏,通过78M24得到24伏。升压电路采用电压芯片FP5138,配合几个元器件就可以升压到36伏。该芯片输入电压1.8-15伏。提供高精度的电压输出,输出误差在2%之内。工作频率在50kHz到1MHz,并且有短路保护功能。

  如图4所示,Out 引脚为PWM波形输出,直接驱动MOS管;FB引脚为电压反馈输入;CTL 引脚为输出电流大小控制,电阻越大,输出电流越小,当断开时,芯片不工作,可以用该电阻控制芯片处于正常工作模式或待机模式;SCP引脚外接电容电阻来决定内部振荡频率;COMP引脚用来对内部比较器补偿;COSC引脚连接电容,用于电源的软启动,系统上电后开始给电容C2充电,当充电电压到达0.8伏时,引脚OUT开始输出。图4中输出电压为

  VOUT=(1+R4/R3)*0.5=(1+69)*0.5=35伏

  图4升压电路

  集中器的主要功能是通过MBUS总线连接智能表计,采集仪表内存储的数据,因此能否正确与表计通信是整个系统的核心。发送电路如图5所示:

  图5 MBUS主站信号发送电路

  如图所示,Vout为12伏直流升压后得到的35伏直流,然后通过78M24转换为24伏。TXD为单片机串行口发送引脚,当TXD为高电平时,三极管Q102导通,场效应管Q105导通,总线上输出35伏直流,为逻辑高电平。当TXD为低电平时,Q102不导通而Q105截止,24伏直流经过D102连接总线,总线为逻辑低电平。MBUS采用两线制,MBUS发送电路接一根线,另外一根线连接MBUS接收电路。

  三、 MBUS接收部分电路

  MBUS从站到主站发送的数据码流是一种电流脉冲序列。逻辑1对应的最大电流可达到1.5mA的稳态电流,逻辑0对应的电流是在逻辑1对应的稳态电流基础上额外增加11-20mA。如何识别电流脉冲序列是成功接收从机回传数据的关键。

  接收电路如下图所示:

  图6 MBUS主站信号接收电路

  接收电路中MBUS总线经过R5、R6电阻分压之后连接到单片机的AD1引脚,单片机通过测量分压点的电压得到稳态时比较器反相端2引脚的电压。比较器的同相端3引脚连接电容然后通过R1连接单片机的PWM引脚,并通过电阻R2,R3分压后接单片机的AD2引脚,用于测量比较器同相端3引脚的电压。

  系统上电后,总线给从机通信电路供电,由于负载的个数以及负载的特性等原因,在R7上的压降会不同,这也是很多MBUS接收电路当负载特性或个数有变化的时候不能正确抄收数据的原因。该电路上电后,先测量R4与R7之间的电压,计算出比较器2引脚的电压。然后控制PWM输出给电容C1充电,并不断采集AD2点的电压,使比较器3引脚电压大于比较器2引脚电压,而略小于当总线中传输数字0时比较器2引脚的电压。该电压作为比较器的基准电压。基准电压根据AD1点的电压不同而不同,建立一个表格存储到单片机存储器中,以备查询。当从站返回电流脉冲序列时,改变了比较器2引脚的电压,通过与基准电压相比较,OUT1引脚输出电压脉冲序列。经过电平转换为0-5伏信号后,接单片机的串口接收引脚。由于软件根据AD1点的电压实时调整比较器3引脚的基准电压,使该接收电路适应能力大大增强。在通信过程中,因为AD1点电压值不断改变,因此当集中器通过总线向表计发送数据前,停止AD1点的电压采样。当接收到从站数据返回之后,重新启动对AD1点的电压采样。每隔一秒根据AD1点不同的电压,更新一次基准电压。由于系统根据MBUS稳态电压动态地调整比较器基准电压,从而避免了由于负载个数或负载特性导致的MBUS负端压降变化的弊端,使接收电路的适应性大大增强。本设计已经在抄表系统中应用,运行表明该设计稳定性好,可靠性高,收到了良好的效果。

  四、上位机测试软件

  为了测试转换器,编写计算机程序如下,分别用于读取表计表号和数据。

此文档的相关视频来自:http://v.eepw.com.cn/video/play/id/13406




关键词: 转换器     MBUSRS232     单片机     比较器    

菜鸟
2015-01-22 14:16:16     打赏
2楼

根据你的介绍自己做了电路,发送正常,接收不行,能否指教下。

 


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]