论文部分内容阅读
【摘要】CAN总线具有性能稳定、传输距离远、传输速度快等优点而被广泛的运用各领域的现场总线,本文主要是介绍C8051F040控制器在测井仪器中的应用,以及实现应用的硬件和软件设置。
【关键词】CAN;控制器;程序
CAN(Cont roller area network)——控制器局域网络最早出现在20世纪80年代末德国Bosch公司最先提出。随着石油测井仪器的逐步发展,对遥传传输的速度要求提高到了300kbit甚至500kbit,而测井仪器井下系统中常用的DTB总线只能支持100kbit就无法满足需求了,所以CAN总线在测井现场总线将有着广阔的前景。
1、CAN总线介绍及特点
作为一种多方式的串行通信总线,成本低、利用率高,最远传输距离可达10KM,最快传输速率可达1Mbit/S;CAN的速位率,抗电磁干扰能力都特别高。本文选用带有CAN核的C8051F040单片机作为分系统的cpu,简化CAN总线的接入方式。
1.1控制器介绍
C8051F040内部集成Bosch CAN控制器,此CAN控制器主要是一下几个部分构成:CAN内核、与C8051 RAM相互独立的报文RAM、报文处理状态机制以及CAN控制寄存器。CAN核提供CANTX和CANRX移位、串并转换消息和其他与协议相关的任务。消息RAM可存32个接受和发送的消息对象。CAN控制器与CIP-51之间的属于传送和状态通知靠CAN寄存器和消息处理器提供接口。
1.2内部寄存器的分类及主要功能
CAN核内部寄存器主要是分为CAN控制类寄存器、报文接口寄存器组、报文处理寄存器3类,其中CAN控制类寄存器用来配置CAN控制器,监控总线状态,处理各种中断以及控制器的工作模式;报文接口寄存器组为两组,通过接口寄存器缓冲数据可以避免cpu存取包围RAM和报文接受发送之间发生冲突;报文处理寄存器为只读寄存器,它提供中断、错误、接收、发送请求和新数据信息。
1.3CAN总线在测井仪器中的应用
CAN总线将各个功能模块连接组成一个现场通信网络,每支井下仪器必须配备相应的CAN总线子节点接口来保证其与告诉电缆遥传的CAN通信:绞车面板、通用信号处理卡、声波卡、电极卡、直流高压等。主计算机的控制信息经声波卡节点接收后转发至其他节点,作为下位机的各信号处理板卡通过CAN总线接收上位机声波卡的指令,完成各种控制和数据采集任务,然后再通过CAN总线把处理过的数据发给上位机。
2、CAN总线的外围硬件电路
C8051F040内嵌的CAN核只是为CAN控制提供协议,在应用的过程中就需要另外添加CAN总线接收器。本文中讨论选用MAX3050作为接收器。协议控制器和屋里传输线路之间的接口就是MAX3050收发器。在CAN收发器和CPU的CAN核之間加入光电隔离(6N137)能提高系统的抗干扰能力和对CAN控制器的保护,保证了总线上各CAN节点之间的电气隔离。另外在MAX3050的CANH和CANL引脚各自并接一个60W的电阻,再连接到一个47nf的电容导入地,能起到抗匹配和抗干扰的作用
3、CAN通信软件设计
CAN的通讯软件设计主要是包括系统初始化程序、发送程序和接受程序三个模块。
3.1初始化程序
初始化程序需要将所有的报文对象进行初始化所有值归零,设置CAN控制寄存器和位定时寄存器,分别初始化发送报文对象和接受报文对象。具体的CAN初始化程序如下:
3.2发送程序
CAN报文发送通过CAN控制器来自动完成,是在用户接受到远程帧的识别符后将对应的数据转移到发送缓冲寄存器,再将报文对象的编码写入命令请求寄存器最后由硬件来完成发送。具体的发送程序如下
应用此方案的测井仪器系统可以做到集成度高、性能稳定且抗干扰能力强,在高速传输的过程中相对比DTB总线显示出了很多优势,在国内许多高性能测井系统中已经得到应用,相信会因为其特点而能做更广泛的应用。
参考文献
[1]饶运涛主编.现场总线CAN原理与应用技术[M].北京航空航天大学出版社
[2]张培仁主编.CAN总线设计及分布控制[M].清华大学出版社
【关键词】CAN;控制器;程序
CAN(Cont roller area network)——控制器局域网络最早出现在20世纪80年代末德国Bosch公司最先提出。随着石油测井仪器的逐步发展,对遥传传输的速度要求提高到了300kbit甚至500kbit,而测井仪器井下系统中常用的DTB总线只能支持100kbit就无法满足需求了,所以CAN总线在测井现场总线将有着广阔的前景。
1、CAN总线介绍及特点
作为一种多方式的串行通信总线,成本低、利用率高,最远传输距离可达10KM,最快传输速率可达1Mbit/S;CAN的速位率,抗电磁干扰能力都特别高。本文选用带有CAN核的C8051F040单片机作为分系统的cpu,简化CAN总线的接入方式。
1.1控制器介绍
C8051F040内部集成Bosch CAN控制器,此CAN控制器主要是一下几个部分构成:CAN内核、与C8051 RAM相互独立的报文RAM、报文处理状态机制以及CAN控制寄存器。CAN核提供CANTX和CANRX移位、串并转换消息和其他与协议相关的任务。消息RAM可存32个接受和发送的消息对象。CAN控制器与CIP-51之间的属于传送和状态通知靠CAN寄存器和消息处理器提供接口。
1.2内部寄存器的分类及主要功能
CAN核内部寄存器主要是分为CAN控制类寄存器、报文接口寄存器组、报文处理寄存器3类,其中CAN控制类寄存器用来配置CAN控制器,监控总线状态,处理各种中断以及控制器的工作模式;报文接口寄存器组为两组,通过接口寄存器缓冲数据可以避免cpu存取包围RAM和报文接受发送之间发生冲突;报文处理寄存器为只读寄存器,它提供中断、错误、接收、发送请求和新数据信息。
1.3CAN总线在测井仪器中的应用
CAN总线将各个功能模块连接组成一个现场通信网络,每支井下仪器必须配备相应的CAN总线子节点接口来保证其与告诉电缆遥传的CAN通信:绞车面板、通用信号处理卡、声波卡、电极卡、直流高压等。主计算机的控制信息经声波卡节点接收后转发至其他节点,作为下位机的各信号处理板卡通过CAN总线接收上位机声波卡的指令,完成各种控制和数据采集任务,然后再通过CAN总线把处理过的数据发给上位机。
2、CAN总线的外围硬件电路
C8051F040内嵌的CAN核只是为CAN控制提供协议,在应用的过程中就需要另外添加CAN总线接收器。本文中讨论选用MAX3050作为接收器。协议控制器和屋里传输线路之间的接口就是MAX3050收发器。在CAN收发器和CPU的CAN核之間加入光电隔离(6N137)能提高系统的抗干扰能力和对CAN控制器的保护,保证了总线上各CAN节点之间的电气隔离。另外在MAX3050的CANH和CANL引脚各自并接一个60W的电阻,再连接到一个47nf的电容导入地,能起到抗匹配和抗干扰的作用
3、CAN通信软件设计
CAN的通讯软件设计主要是包括系统初始化程序、发送程序和接受程序三个模块。
3.1初始化程序
初始化程序需要将所有的报文对象进行初始化所有值归零,设置CAN控制寄存器和位定时寄存器,分别初始化发送报文对象和接受报文对象。具体的CAN初始化程序如下:
3.2发送程序
CAN报文发送通过CAN控制器来自动完成,是在用户接受到远程帧的识别符后将对应的数据转移到发送缓冲寄存器,再将报文对象的编码写入命令请求寄存器最后由硬件来完成发送。具体的发送程序如下
应用此方案的测井仪器系统可以做到集成度高、性能稳定且抗干扰能力强,在高速传输的过程中相对比DTB总线显示出了很多优势,在国内许多高性能测井系统中已经得到应用,相信会因为其特点而能做更广泛的应用。
参考文献
[1]饶运涛主编.现场总线CAN原理与应用技术[M].北京航空航天大学出版社
[2]张培仁主编.CAN总线设计及分布控制[M].清华大学出版社