该系统通信协议采用“ID+命令+数据+校验”的形式,其中,ID为网络设备标识符,采用ID.18~ID.20。标识符ID.21~ID.28作为固定命令,不参与验收滤波。数据表示通信的具体内容,校验采用校验和的形式,为1个字节。由于CAN总线本身有15位CRC校验,并且本系统节点数较少,竞争不会十分激烈,所以通信可靠性较高。
软件设计思路如下:系统上电后,S1C33209先对自身和SJA1000初始化,以确定工作主频、波特率及输出特性等,然后接收来自上位机的控制命令,同时将获取的采用数据通过SJA1000传送到CAN总线上或备份到Flash存储器中。其中对SJA1000初始化是设计的重点,必须对写入每个寄存器的内容进行仔细和全面考虑,否则系统将无法正常工作。设上位机SJA1000适配卡的ACR为xx20,AMR为FF00,下位机测控中心SJA1000的ACR为xx40,AMR为FF00。下面是初始化程序:
由于测控系统对通信实时性要求较高,一旦接收到来自上位机的控制命令必须及时响应,为此CAN总线上接收信息采用中断方式,即SJA1000无错地接收到信息后使INT变为低电平,下降沿触发S
图2 接收流程图
如果要向CAN控制器发送数据,则必须将符合PeiCAN帧格式的一组数据写入SJA1000的发送缓冲区,然后调用发送子程序,我们采用查询方式实现发送,如图3流程所示。
图3 发送流程图
4. 结束语
为了进行资源开发,对海洋油田进行探测及对污染进行监测和预防,本文采用EPSON公司的32位单片机S
本文作者创新点:本文结合EPSON公司的32位单片机S