历史上的今天
返回首页

历史上的今天

今天是:2025年04月12日(星期六)

2018年04月12日 | 基于P87C591单片机的信号采集节点的设计

2018-04-12 来源:21ic

  1 引言

  在工程机械液压系统状态监测与故障诊断中,传感器信号的调理、采集和信号的特征提取,以及把采集的数据发送给主机(中心处理单元)要由信号采集单元实现。本文介绍了基于P87C591的CAN总线系统信号采集节点的设计。


  CAN是1986年2月在SAE (汽车工程人员协会)大会上, 由Rober Bosch公司提出的新总线系统,称之为“汽车串行控制局域网”(Automotive Se.rial Controller Area Network),它是最主要的总线协议之一。由于CAN总线采用了许多新技术及独特的设计,使得它与一般的通信总线相比具有突出的可靠性、实时性和灵活性,从而使其应用范围不断扩展。目前,CAN已经形成国际标准,并被公认为是最有前途的现场总线之一。

  P87C591是Philips半导体公司推出的单片8位高性能微控制器,具有片内CAN控制器,是从80C51微控制器家族派生而来。它采用80C51指令集并包括了Philips公司SJA1000 CAN控制器的PelICAN功能。P87C591微控制器采用先进的CMOS工艺,设计用于汽车和通用的工业应用。 P87C591组合了P87C554 (微控制器)和SJAIO00(独立的CAN控制器)的功能,还具有以下增强型特性:

  增强的CAN接收中断

  扩展的验收滤波器

  验收滤波器可动态变化

  2 信号采集节点硬件电路设计

  2.1 硬件电路设计

  信号采集节点直接固定在工程机械液压系统的主要测点上,主要由MCU、信号调理、A/D转换、数字量输入模块、存储器和CAN总线接口组成。信号采集节点选择具有片内CAN控制器的高性能8位单片机P87C591作为处理器,可以完成基本的模拟量和数字量的采集及CAN总线通讯。该采集模块有8路模拟输入和4路光电耦合数字(开关)量输入,模拟输入前3路是专为ICP振动传感器设计,其余5路均可通过跳线选择0 V~5 V电压输入或4mA~20 mA电流环输入.以适应不同类型传感器的需要。图1为信号采集节点硬件结构示意图。

  
图1 信号采集节点硬件结构。

  信号采集单元与主机(中心处理单元)之间通过四芯电缆连接,其中两芯为CAN总线信号线(CANH和CANL).另外两芯为电源线,可为信号采集单元各部分提供电源。

  2.2 电路设计需要注意的问题

  TJA1050是高速CAN收发器.是控制器区域网络(CAN)协议控制器与物理总线之间的接口。

  TJA1050可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能O TJA1050可以选择两种工作模式:高速模式和静音模式。高速模式是普通的工作模式,将引脚8接地可以进入高速模式,如果引脚8没有连接.高速模式则为默认的工作模式。将引脚8连接到VCC可以进入静音模式,静音模式可以防止在CAN控制器不受控制时对网络通讯造成堵塞,在静音模式中,发送器是禁止的,但是器件的其他功能可以继续使用。

  总线的两端要连接两个120 n 的电阻,对匹配总线阻抗起着重要的作用。如果忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低,甚至无法通信。

  3 信号采集节点软件设计

  信号采集节点的软件设计主要有:节点初始化、报文发送、报文接收、CAN总线错误处理、CAN总线中断处理等。本文重点介绍节点初始化、报文发送和报文接收。

  3.1 节点初始化

  在上电或硬件复位后,CAN控制器处于复位模式。如果CAN控制器不处于复位模式,置位模式寄存器RM位使其进入复位模式。CAN控制器复位后,必须初始化实现CAN通信,其内容主要有:操作模式、验收滤波器、总线定时及中断等。其中,定时器用来设置CAN总线上数据传输的波特率,注意总线上各节点的波特率须一致,否则将导致数据传输错误。信号采集节点初始化流程如图2所示。



图2 初始化流程图。

  3.2 报文发送

数据的发送由CAN控制器根据CAN协议规范自动完成。CPU将要发送的数据传送到发送缓冲区并置位命令寄存器的TR(发送请求)位,发送处理可以通过中断请求或查询状态标志进行控制。报文发送流程如图3所示。


  
图3 报文发送流程图。

  3.3 报文接收

  CPU以一定周期读取CAN控制器的状态寄存器,检查RBS(接收缓冲器状态)。如果RBS指示0(空),则没有接收数据;如果RBS指示1(满),则R)(nFo中有一个或多个完整的可用信息。报文接收流程如图4所示。

  
图4 报文接收溉程图

  其他子程序的设计这里不再介绍。

  4 结束语

  CAN以其独特的设计思想、良好的性能、极高的可靠性受到了业界青睐;具有片上CAN控制器的P87C591具有功能强大、设计方便等特性。可广泛应 用于工业领域。基于P87C591的信号采集节点充分利用了CAN以及P87C591的优良特性,很好地实 现了数据采集功能。


推荐阅读

史海拾趣

Highland Electronics Co Ltd公司的发展小趣事

在公司快速发展的过程中,High Tech Chips Inc深刻认识到单打独斗的局限性。因此,公司积极寻求与全球知名科技企业的战略合作。通过与华为、三星等手机制造商的合作,High Tech Chips Inc的芯片产品被广泛应用于这些企业的旗舰机型中,极大地提升了产品的知名度和市场占有率。同时,公司还与英伟达、英特尔等芯片巨头建立了技术合作关系,共同推动芯片技术的创新和发展。

Deltrol Controls公司的发展小趣事

在电子设备的制造过程中,螺线管是不可或缺的元件之一。然而,传统的螺线管生产方式存在效率低下、质量不稳定等问题。Deltrol Controls通过引进先进的生产设备和技术,实现了螺线管的精细化生产。这一举措不仅提高了生产效率,而且保证了螺线管的质量稳定性。凭借这一优势,Deltrol Controls在电子行业中的竞争力得到了显著提升。

Electronic Concepts Inc公司的发展小趣事

进入21世纪后,ECI开始将目光投向国际市场。在海外市场部经理赵先生的努力下,ECI成功打入欧洲和北美市场。面对不同的文化背景和市场需求,ECI积极调整策略,提供符合当地需求的产品和服务。通过不懈努力,ECI在国际市场上的份额逐年增长,为公司的发展注入了新的动力。

聚洵(Gainsil)公司的发展小趣事

作为一家有社会责任感的企业,ECI始终关注环境保护和社会公益。公司积极参与各种环保活动,如节能减排、废物回收等。此外,ECI还设立了公益基金,资助贫困地区的教育事业和医疗事业。这些举措不仅提升了ECI的社会形象,也为公司赢得了更多客户的信任和支持。

ABI Electronics公司的发展小趣事

为了进一步拓展业务,ABI Electronics公司开始积极寻求全球市场的布局。通过与各地的电子分销商、代理商建立合作关系,ABI的产品逐渐进入了全球各地的市场。同时,ABI还积极参加各类国际电子展会,展示其最新技术和产品,与全球同行建立了广泛的联系和合作。

启珑(CHIPLON)公司的发展小趣事

为了进一步拓展业务,ABI Electronics公司开始积极寻求全球市场的布局。通过与各地的电子分销商、代理商建立合作关系,ABI的产品逐渐进入了全球各地的市场。同时,ABI还积极参加各类国际电子展会,展示其最新技术和产品,与全球同行建立了广泛的联系和合作。

问答坊 | AI 解惑

问soso个问题

我怎么样才能快点升级啊?为什么每发一贴都要输验证码?能不能不输呢?感觉挺麻烦的。刚到此地,万分喜欢!…

查看全部问答>

从51到ARM. 32位嵌入式系统入门

从51到ARM. 32位嵌入式系统入门…

查看全部问答>

请教:关于51单片机P0口上拉至6.5V问题

哪位大虾有什么好方法使51单片机的P0口上拉到6.5V(单片机供电为3.3V,P0口用作输出口,产生0~6.5V的方波,无需驱动能力)。 我试过直接用10K电阻上拉的方式,由于PAD上有ESD结构,结果PIN脚上的电压被钳位置3.8V了。 不知哪位大虾能帮忙解决一 ...…

查看全部问答>

EVC下窗口切换

小弟我最近在测个功能.我们在GPS应用程序.由我们的程序创建了一个新的进程也就是地图导航软件.这时有个硬件开关.我想在按的时候能够切换回我们的应用程序.再按下又返回到地图软件.可是老是实现不了. 注:这个硬件开关在GPS应用程序里可以返回到主窗 ...…

查看全部问答>

STM32的串口与USB OTG连接问题

STM32中PA10、PA9 是USART1 同时也是 USB OTG的ID、VBUS,但做为ISP下载的情况下又十分重要,能同时连接吗?还是能有什么更好的建议呢? ISP 和USB OTG 都能满足…

查看全部问答>

字符串定义到FLASH中去问题!

字符串如何定义到FLASH中去呢? 以前用KEIL 51 只需在字符串前面加code关键字就行了! STM32 mdk 下该怎么定义呢?…

查看全部问答>

一些AVR资料

1、 2、 3、 4、 5、 6、…

查看全部问答>

用Atxmega32a4接收48000波特率的数据

当时为了利用U转串调试方便,引出两根导线(GND和RX),如图所示,结果在74LVC4245的接收端产生了方波,方波会引起单片机不断地进中断,影响其它中断的进入。把导线去掉之后,问题就解决了,是不是导线接法的问题啊,对干扰什么的不太懂,就想知道 ...…

查看全部问答>