新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线分布式系统适配卡和控制单元设计

CAN总线分布式系统适配卡和控制单元设计

作者: 时间:2012-02-29 来源:网络 收藏
3 设计
的任务就是对现场环境参数进行采集并从上接收上位机的命令。根据上位机的要求,对设备进行控制或将采集的数据通过传给上位机。现以温室为例说明控制单元设计方法。温室控制单元的结构原理如图8所示。以AT89C52为核心,采用2片8255扩展I/O端口,其中2个PA口和1个PB口用来检测天窗、遮阳伞、补光灯、通风机等21路开关量的状态。由于8255的PC口的各位通过置复位控制字可以单独置位或复位,AT89C52的P1口可以按位寻址,所以用8255的2个PC口和AP89C52的P1口来控制继电器的吸合。3片8位A/D转换器ADC0809实现对温度、湿度、pH值、CO2浓度、光照强度、液位等20路模拟量的数据采集。

控制单元的控制软件采用汇编语言编程,主要包括初始化、数据采集、数据通信、I/O接口控制等功能。初始化包括对8255和的初始化,使8255的PA、PB口作为输入口,PC口各位通过置复位控制字可以单独置位或复位,从而开启或停止一个继电器的动作。数据采集采用查询方式工作,每一路模拟量连续采集3次,中值滤波后作为该传感器的数据存入相应的内部RAM中,全部数据采集完后再检测开关状态并存入相应RAM中。随后开CPU中断,进入数据循环采集状态,等待CAN通信中断的产生。本系统采用中断方式实现AT89C52与之间的通信。

需要说明的是,CAN2.0A或CAN 2.0B协议只是一个低层的规范,用户还需要定制简单的应用层协议。应用层协议的任务一方面是将要发送的数据分类、拆卸、合并,确定发送对象,再根据CAN的数据链路层协议规范填写CAN的各个信息帧;另一方面是根据应用层协议解释接收数据的具体含义,并进行相应的处理。
上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭