2020年 01月 18日 星期六
您的位置: 威廉希尔主页 > 单片机技术 >

基于PIC18单片机的RS-485CAN智能转换器的设计策

来源:未知     作者:威廉希尔     发布时间:2020-01-18 12:43         

  RS-485是一个电气接口规范,它定义了一个基于单对平衡线的多点、双向(半双工)通信链,只对接口的电气特性做出,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议,在当时看来是一种相对经济具有相当高噪声相对高的传输速率传输距离远和宽共模范围的通信平台,因此基于RS-485总线的通讯方法得到了广泛的应用。

  由于RS-485总线本身存在的许多局限性,随着科技的发展RS-485的总线效率低,系统的实时性差、通讯的可靠性低、后期成本高、网络工程调试复杂、传输距离不理想、单总线可挂接的节点少、应用不灵活等缺点慢慢的出来。虽历经多次改进但均是治标不治本。

  CAN-bus是一种多主方式的串行通讯总线。具有较高的位速率,高抗电磁干扰性,而且能够检测出通信过程中发生的任何错误。当信号传输距离达到10 km 时CAN-bus仍可提供高达5 kb/s的数据传输速率。他在通信能力、可靠性、实时性、灵活性、易用性、传输距离、成本等方面有着明显的优势,从而成为了业界最有前途的现场总线之一。

  基于RS-485网络在现场的广泛应用,完全放弃RS-485网络系统是不现实的。但可以考虑一种折衷的办法,就是在保留现有RS-485系统硬件结构的基础上给系统添加一个CAN-bus接口,RS-485/CAN智能转换器的设计就具有了现实的意义。他可以实现RS-485网络与CAN网络的互联。系统原理框图如图1所示。

  在该设计中采用了带CAN控制器的PIC18F258芯片,其特点如表1所示。与传统的MCU再加上的CAN控制器的设计方法相比,可以使设计大大简化,同时也增加了系统的可靠性。

  表1 PIC18F258单片机的性能参数 名称 特性高性能RISC CPU 2MB的程序存储器。4kB的数据RAM。16位宽指令,高达10 MIPS的执行速度。8×8单周期硬件乘丰富的外围功能模块 4个内部定时器,PWM/CCP模块,USART模块,10位8通道A/D。CAN 总线模块,异步串行通信SPI方式,I2C模式特殊的单片机特性 SLEEP方式,带有片内RC振荡器的定时器(WDT),可编程代码功能,通过两个引脚可进行在线串行编程(ICSP)FLASH 技术 低功耗,高速增强型FLASH 技术

  RS485总线工作于半双工模式,内部包含一个发送器和一个接收器,在工作时需要通过使能端来控制“收”和“发”,将其使能端RE和DE连接到一起,然后接到PIC单片机的RC4,在软件中通过对RC4的置位和复位来控制MAX487的收和发。

  RS-485标准采用差分传输,本身已具有一定的抗干扰能力,在其传输通道的两端分别加上一个6N137芯片,可以进一步增强转换器的抗干扰能力。可以避免由传输问题而引起的死机现象。

  CAN总线,接口电比较简单。同样也在其传输通道加上两个高速光耦6N137,实现总线和转换器的电气隔离。

  在硬件设计中需要特别注意电源部分的设计,因为光耦隔离两侧必须采用的电源供电,否则将不能起到隔离的作用。转换器在现场应用的时候不是采用电池供电,而是采用现场CAN总线的电源来供电,而这个电源是不稳定的电源,而且存在很多干扰量,不能直接应用到转换器当中,必须经过隔离,滤波以及稳压处理。

  在转换器中所需电源均为+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所示。

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

  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系统的优越性。该方案仅适合新系统与旧系统并存,整体性能要求不太高,新旧系统运行机制差别不大的地方。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  通过光敏电阻输入模拟信号,得到相应的数字信号,通过数字量的大小设置阈值,通过阈值可以控制灯泡等设备的开关模拟信号输入口为AN0,模拟电压的产生由外围电搭建,参考电压为内部的VCC和VSS通过串行口连接上位机显示转换后的数字信号主程序#include “p18f4620.h”//初始化,可不需要void initial(){INTCON = 0x00; //位7~0:关总中断ADCON1 = 0x07; //设置数字输入输出口PIE1 = 0;PIE2 = 0;}//串行口初始化void EUSART_Init(){TXSTA = 0xA4; //选择异步高速方式传输8位数据RCSTA = 0x90; //允许串行口工作

  通过借鉴嵌入式系统在电子技术、信号处理以及计算机等领域应用的成功经验,在分析目标检测与算法的基础上,将目标检测与算法与嵌入式技术相结合,设计一种基于嵌入式PIC32单片机的目标检测与系统,可以实现目标检测系统的小型化,智能化,并以具体飞行目标为例进行了目标的识别和。研究目的随着现代社会对军用和民用设备需求的不断扩大及要求的不断提高,运动目标的识别和技术已经迅速发展成为现代信息处理领域中一项非常重要的技术,也是无人机野外战场侦察技术中的重点和难点,并在许多领域内发挥着不可替代的作用。目前,基于PC 机的目标检测与技术已趋于成熟,但其在嵌入式平台的应用研究还处于初级阶段。由于嵌入式系统具有体积小巧,便于携带

  1PIC12的结构Microchip公司的单片机率先采用RISC(精简指令集计算机)结构的高性能价格比的嵌入式控制器。该PIC单片机具有高速度、低工作电压、低功耗、较大的输入输出直接驱动能力、在线串行编程、芯片的低价位和小体积等特点。为此,Microchip开发了高档、中档、低档不同层次系列多种型号的产品,PIC12是一款基于EEPROM的8位微控制器的中档PIC单片机,具有高性能的RISCCPU、特殊单片机功能、低功耗功能、增强型Timer 1外设功能,为单片机的精确延时技术提供可靠保障。其内部结构如图1所示。1.1 外部结构特点其引脚具有高灌/拉电流能力,可直接驱动LED。模拟比较器模块带有

  见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。1.什么是ID区域?ID区域是于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。2.ID码怎么烧录到ID区域里面去?可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作

  出被测对象上以应力集中区为特征的部件和部位,是迄今为止对金属部件进行早期诊断唯一行之有效的NDT方法。与现有的漏磁检测方法相比,磁记忆方法利用构件或设备在地中的自磁化现象而不需要专门的磁化设备,不须对被检工件的表面进行清理或其他预处理,提离效应的影响很小,设备轻便、操作快速便捷、灵敏度高,重复性与可靠性好, 可快速确定应力集中区域,适用于大面积的普查。本文采用PIC单片机,设计了高性价比的便携式磁记忆检测仪,具有低成本、低功耗和快速检测等特点,可以满足各种场合,特别是难以到达部位的应力集中区检测。PIC单片机(Peripheral Intece Controller)是一种用来开发的去控制外围设备的集成电(IC)。一种具有

  PIC16F87X系列单片机的复位功能设计得比较完善,引起单片机内部复位的条件和原因可以大致归纳成以下5种.1.上电复位每次单片机加电时,上电复位电都要对电源电压VDD的上升过程进行检测,当VDD值上升到值1.6~1.8V时,就产生一个有效的复位信号,需经过72ms加1024个时钟周期的延时,才会使单片机复位。2.人工复位(单片机在执行程序期间)无论是单片机在按预先设定的正常顺序运行程序,还是出现单片机进入不可预知的某一个死循环,都必须认为单片机在执行程序。单片机在执行程序期间,只要在人工复位端MCLR加入一个低电平信号,就会令其复位。3.人工复位(单片机在睡眠期间)单片机处在睡眠状态之下(时钟停振,单片机停止执行

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔