首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
PIC18单片机的RS-485/CAN智能转换器的设计
来源:本站整理  作者:佚名  2010-04-26 11:30:19




    在转换器中所需电源均为+5 V 的直流电源,共需要3个独立的+5 V电源,分别为MCU 的电源VCC1,CAN接口芯片一侧所用电源VCC2。RS-485接口芯片一侧所用电源VCC3。因此可以考虑使用1个输入3个输出的DC/DC模块,实际当中没有找到现成的3输出的DC/DC模块。因此设计中采用金升阳公司的B系列和D系列的DC/DC 模块, 一输入两输出的D050505N-1 W ,再加上一个单输出的B0505D-1 W。DC/DC两侧的电感和电容构成滤波和稳压电路,其大小值均为典型值。最后构成如下图所示的转换器的电源模块。
 
    另外,3组电源不能共地。GND1,GND2,GND3必须相互独立。否则光耦不能起到隔离的作用。

2.2 软件设计
    软件设计通过Microchip的开发工具Mplab用汇编语言编制,主要包括初始化程序,CAN接收中断服务程序,USART接收中断服务程序,主程序。应用层通信协议转换程序等。
    初始化程序用于设置CAN模块的通信波特率,工作方式,接收邮箱和发送邮箱,对应的接收过滤器和接收屏蔽器,以及发送的优先级等。其流程图如图5所示。

  
图5 初始化程序
     CAN接收中断服务程序主要用来接收CAN 总线传输过来的数据帧,并进行帧校验,如果出错则要求重发,若数据帧正确接收,则将完整的数据帧存入到提前开辟的环形缓冲器中,为后面的数据处理和协议转换做好准备。其流程简图如图6所示。
 

图6 CAN接收中断服务程序
    USART接收中断服务程序主要用于接收来自RS-485总线的串行数据。并将完整的数据帧传送到另外一个环形缓冲器。其流程图和设计思想与CAN 接收中断程序类似,不再例举。
    协议转换程序需要参照现场RS-485系统原有的协议,然后由用户通过配套软件对通信帧的格式进行相应的设置。进行配置时PC 机必须通过RS-485接口访问RS-485/CAN智能转换器,通常PC机的RS-232接口必须使用RS-232/RS-485转换器。设置成功后,就可以实现RS-485与CAN通信帧格式的相互转换。
    主程序部分比较简单。主要为调用初始化程序,扫描发送缓冲器是否为空,不空则在空闲时根据其优先级将CAN通信帧或RS-485串行通信帧发送出去。然后不断扫描,等待中断的产生。

3 结语
    利用RS-485/CAN 智能转换器,实现了RS-485网络与CAN网络的互连,而且智能转换器的通信波特率可调,工作模式可以控制,对于不同协议的RS-485网络,只需通过软件对转换器进行相应的初始化设置即可,而不必对硬件进行改动。可以满足绝大多数场合的使用要求。但是这种利用RS-485/CAN智能转换器实现RS-485网络和CAN网络互连的方案只是一种过渡性的方案,互连后整个系统的性能要受限于RS-485网络,不能充分体现CAN系统的优越性。该方案仅适合新系统与旧系统并存,整体性能要求不太高,新旧系统运行机制差别不大的地方。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:5,148.43800 毫秒