历史上的今天
返回首页

历史上的今天

今天是:2024年12月26日(星期四)

正在发生

2019年12月26日 | 过程分析仪器CAN网络通信设计

2019-12-26 来源:elecfans

  引言


  现代流程工业的过程控制中,分析检测具有在线、多组分、实时检测的特点,对分析仪器在稳定、可靠、快速、准确等方面有着严格的要求。而广泛使用的工业色谱仪采用色谱分离原理,分析周期长达数分钟至数十分钟,难以实现过程的直接质量控制。过程拉曼光谱仪和激光调制光谱仪等新技术目前价格昂贵,关键技术尚在研究阶段,难以普及。利用技术成熟的单检测器单组分过程分析仪器,通过分析传感器组合技术和嵌入式计算机技术,实现多组分实时检测和建立简便快捷的分析仪器通信网络系统已成为近期国内外分析仪器研发的热点之一。


  基于单片机(80C196)或微处理器(DSP、ARM 等)的多组分气体分析仪采用功能强大的CPU,可实时快速测定各种燃烧设备的各项热工参数。根据测量数据,通过自动调节装置调整风量,保持适当的空气/燃料比,使燃料系统达到最佳运行状态,以获得最高的燃烧效率和最低的燃料消耗。仪器还可以测定CO、SO2、NO、NO2、烟气黑度等参数,并配有液晶屏、键盘等外设。


  CAN(Controll Area Network)是国际上应用最广泛的现场总线之一,使用了一种串行多控制方通信协议,可以有效地支持分布式实时控制,并且具有很高的安全性和高达1Mbps的通信速率。


  一个包含PC 机和n-1(n≤110)个智能节点的CAN 总线网络结构图如图1 所示。

 


图1 n 个节点的CAN 网络结构图


  信息的传输采用CAN 通信协议,传输介质采用双绞线,如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC 变换器等措施。


  1 分析仪器CAN 网络应用层协议的制定

  CAN 的国际标准中只定义了物理层和数据链路层的规范,由于本项目构建的CAN 总线网络节点数目不多,所有节点都由项目组自行设计,不需要与国际标准设备进行接口,所以,这里根据本项目的具体情况,制定了一个简易的CAN 应用层协议。


  根据厂方要求,网络初步规划应至少可容纳16 个节点。上位机收集各分析仪器的信息,包括气体组分分析含量、出错信息和被测气体的一些参数,如温度、压力、流量等,也返回一些控制信息给智能节点。在每个分析周期从节点的气体组分分析结果送往主节点,主节点待收到所有待测组分含量后,将所有信息一并送往上位机。网络中的任一台分析仪器均可做为主节点或从节点,甚至在没有上位机的情况下也可以做为上位机。


  在CAN 系统中,以11 位(标准帧)或29 位(扩展帧)的标识符来标识数据的含义,标识符决定了信息的优先权和等待时间,同时也影响信息滤波的适用性。因而,合理、高效的信息标识符ID 分配方案是充分发挥CAN 总线性能的前提条件。


  分析仪器主控制器之一F2812 DSP 片上共有32 个邮箱,在SCC 模式下0-15 邮箱可用,在eCAN 模式下,32 个邮箱全部可用,可以很方便地实现主节点对从节点信息的接收和存储。故推荐采用主控制器为F2812 的分析仪器作为该网络中的主节点,选择eCAN 模式,使用标准标识符(11 位),对其进行如表1 所示的静态分配策略,即可满足上位机和主节点识别帧来源和帧意义的要求。


  2 网络通信程序

  2.1 上位机端初始化

  上位机端主要完成对各分析平台分析结果的采集、显示,使用PC 机加CAN 通讯卡KPCI-8110。KPCI-8110 上集成了独立的CAN 控制器SJA1000。SJA1000 用于移动目标和一般工业环境中的区域网络控制(CAN),在使用前要先对其进行初始化。


  上位机显示界面采用适合快速开发的可视化面向对象高级语言VB 来编写。KPCI-8110CAN 适配卡提供.dll 驱动和.lib 库函数,通过在VB 程序中调用相关的驱动函数就可以实现CAN 适配卡的配置和数据的读写。


  上位机端接收数据的流程如图2 所示。

 


图2 上位机接口函数使用流程图


  数据接收到上位机之后保存在一个大容量的内存缓冲池内,用户只需实时通过函数CAN_ReadDataNum(mindex) 查询缓冲池内的数据量, 再通过函数CAN_ReadBlockData(mindex,num,obyte)及时读走保存即可。其中obyte 为接收数据起始指针。


  CAN_ClearBlock(mindex,num,obyte)为清空从obyte 指针开始的缓冲池空间。


  注意:由于SJA1000 CAN 控制器每个地址存储8 位数据,而F2812 内置CAN 控制器每个地址存储16 位数据,而且标准数据帧的标识符也不是从字节的起始位开始的,所以定义标识符的时候要按照不同控制器的要求来定义。例如F2812 内置CAN 控制器定义数据帧标识符为344 0000(bit28-bit18 为标识符位),SJA1000 独立控制器对应的标识符应为1A20(bit15-bit5 为标识符位)。

推荐阅读

史海拾趣

AZM [Arizona Microtek, Inc]公司的发展小趣事

AZM公司成立于电子行业的蓬勃发展时期,创始人凭借对微电子技术的深刻理解和敏锐的市场洞察力,决定投身于这一领域。创业初期,公司面临着资金短缺、技术瓶颈和市场认可度低等多重挑战。然而,创始人凭借坚定的信念和不懈的努力,带领团队攻克了一个又一个技术难题,成功研发出了具有竞争力的微电子产品,并逐渐在市场上获得了认可。

CHERRY公司的发展小趣事

90年代初,薄膜键盘凭借其低廉的价格和轻便的特性迅速占据了市场主导地位,机械键盘一度被边缘化。然而,Cherry并未放弃机械键盘业务,而是不断进行技术创新和产品升级。随着电竞行业的兴起和消费者对高品质输入设备的需求不断增加,机械键盘市场逐渐复苏。Cherry凭借其深厚的技术积累和品牌优势,成功抓住了这一市场机遇,实现了机械键盘业务的复兴。

Cressall Power Resistors公司的发展小趣事

Cressall一直注重企业文化建设和团队建设。公司倡导“创新、协作、诚信、责任”的核心价值观,鼓励员工勇于创新、敢于担当。同时,公司还加强了对员工的培训和激励,为员工提供了良好的职业发展平台。这些措施有效提升了员工的凝聚力和归属感,为公司的持续发展提供了有力的人才保障。

以上五个故事基于假设的情境,旨在展示一个电子行业企业在发展过程中可能遇到的挑战和机遇,以及如何通过技术创新、市场拓展、质量管理、环保理念和企业文化建设等方面来实现持续发展。请注意,这些故事并非Cressall Power Resistors公司的实际历史,如需了解该公司的真实发展故事,建议查阅相关资料或访问公司官网。

无锡友达公司的发展小趣事

无锡友达电子有限公司自2002年成立以来,就致力于半导体集成电路设计领域。在初创阶段,公司凭借对高性能模拟和数模混合集成电路的深刻理解,迅速推出了多款性能优异的功放、电源等系统方案。这些产品在电视机、音响设备等领域的广泛应用,为公司赢得了市场的初步认可。通过不断的技术创新,无锡友达逐渐在电子行业崭露头角。

东晨(DC)公司的发展小趣事

东晨(DC)公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和引进工作。公司建立了完善的培训体系,为员工提供全面的职业发展和技能培训。同时,公司还积极引进优秀人才,通过股权激励等措施留住人才。这些措施为公司的持续发展提供了有力的人才保障。

巨盛电子(Chesen)公司的发展小趣事

随着环保意识的提高,消费者对环保产品的需求也越来越高。巨盛电子(Chesen)积极响应环保号召,将环保理念融入产品设计和生产过程中。公司采用环保材料、优化生产工艺、加强废弃物处理等措施,减少了对环境的污染。同时,公司还积极开展环保宣传活动,提高了消费者对环保产品的认识和接受度。这些举措不仅塑造了巨盛电子的环保品牌形象,还为企业赢得了更多消费者的支持。

问答坊 | AI 解惑

protel元件封装总结

零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元 ...…

查看全部问答>

联发科PK晨星,谁将是台股股王

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 联发科作为台股股王,是全球前五大IC设计公司,而作为新兴的台湾未上市公司的股王晨星的实力也不容小看,笔者现将两大公司进行一个简单的对比。  联发科 晨星    董事长蔡明介 ...…

查看全部问答>

ce6 支持最大内存

我想问下ce6支持多大的物理内存? 在下面的链接中说是512MB,但我不是很明白他说的原因 麻烦各位帮帮忙 http://hi.baidu.com/even_xf/blog/item/cb7841b4b352a6758bd4b2ae.html…

查看全部问答>

请教MAX267滤波器芯片应用问题

    MAX267是专用的带通滤波器芯片,我想要得到中心频率信号10000倍的增益,所以用两片267级联,每片有两个二阶滤波器,每个的Q都是10,时钟信号都一样1.83KHz,中心频率为11Hz,结果得到一放大的正弦波,放大倍数差不多是10000,但是幅值 ...…

查看全部问答>

请问一下,有用单片机专用语音芯片的仁兄么?

本人菜鸟,想问一下坛子里高手们跟单片机专门配套的语音芯片都用什么啊? 要求不用高,只是能说“一”到“十”的十个数,还有“厘米”,“个”“每秒”就行。。。。。…

查看全部问答>

PCB连线

请问高手们   其他元件是可以连线的 可是自己制作的封装  焊盘的线 竟然只能在封装里面画  不能划到外面去 为什么呢?…

查看全部问答>

请教5509的bootloader问题

使用5509,通过MCBSP0以SPI外接一个串行flash 程序硬件仿真正常, 但却无法将已经转换为hex格式的程序下载到flash里面, 报错是flashburn显示flash和ccs没有联通。 我想请教的包括: 以mcbsp0口链接flash的时候, flash的逻辑地址,物理地址 ...…

查看全部问答>

【求助】f149的SPI收数据问题请教大家!

我写了个SPI的程序来读MMC卡,用软件模拟SPI读写正常,用硬件SPI口能发送数据,就是不能收到数据不知道为什么,下面是我的软件SPI程序和硬件SPI程序和初始化,希望大家能帮忙看看出了什么问题,非常感谢,程序如下!(都采用SPI0口的三根线)P3.3,P ...…

查看全部问答>

【信号处理】基于FPGA的高动态范围图像信号处理

视频图像信号处理(ISP)从模拟信号时代发展而来,已经经历了很长一段时期。今天,数字信号处理实现了可以在位级进行图像数据处理,为图像质量提供了前所未有的控制。数字信号处理显然不等同于数字信号处理器或DSP.虽然DSP已经被广泛用于视频图像信 ...…

查看全部问答>

MLX90615与MSP430单片机连接

RT,哪位大哥用过MLX90615红外温度传感器与MSP430单片机,求连接图和驱动代码,不胜感激!…

查看全部问答>