基于CAN总线的船舶智能控制系统设计

2007-01-28 06:51
船海工程 2007年3期
关键词:数码管低电平寄存器

武汉理工大学 现代教育技术中心 武汉 430063

1 分布式控制系统

系统采用现场总线集散系统FDCS(field distributed control system)结构,由服务器,CAN智能单元,以及CAN局域网总线组成。服务器完成系统的数据管理与分析计算系统计算。CAN智能单元完成本地现场的数据处理、显示、报警和控制。各个节点的数据通过CAN总线实现互相传输,见图1。

图1 分布式控制系统图

2 智能单元的设计

2.1 系统结构

对应每个CAN节点要完成的控制、显示等功能,就必须要有一个最小系统。根据现场的要求,采用SAMSUNG S3C44B0X微处理器。它使用ARM7TDMI核,工作在66 MHz,带有8 kB CACHE,外部存储器控制器,LCD控制器,71个通用I/O接口,SPI接口等。可以很方便地进行最小系统的构建。见图2。

图2 智能单元模块

LCD、FLASH、SDRAM在S3C44B0X中都有对应的接口引脚与控制器,实现方便。

2.2 键盘与LED

键盘与LED由一块单片机89C2051统一控制。89C2051通过扫描方式点亮数码管和扫描按键。电路框图见图3。

图3 键盘与LED电路框

电路框图中包括,98C2051,两片移位寄存器74HC164,用作对键盘和数码管的扫描,8个9012接5V电源用作对数码管的驱动。89C2051通过串口接收每个数码管要显示的数据。同时将扫描到的按键,进行编码后,通过串口发送到S3C44B0X。

2.3 数码管与键盘扫描的实现方法

源代码是扫描第一个按钮和点亮第一个数码管。第一个数码管的片选引脚和第一个按键一端的引脚都连接在第一个74HC164出来的第一个引脚。当P3.7置高电平,让74HC164出来的第一路得到高电平,与其相连的9013与地接通,那么第一个数码管就被选中(数码管选用共阴极的)。并且如果此时按下第一个按键,P3.4(P3.4与第一个按键相连)得到低电平,就扫描到这个按键按下。

P1 = 0XFF;

DOUT = 1; //DOUT = P3^ 7

塑料排水板伸出级配砂砾垫层不小于0.5m,施工完成后可将排水板露出端弯折埋置于砂垫层中,同时在砂垫层中埋设盲沟和集水井,井壁随着土层的填高而随之砌高,确保软土地基中空隙水由塑料排水板排到级配砂砾垫层中,再由盲沟汇总到集水井,从而达到加速软基固结的目的。

CLK = 1; //CLI = P3^ 8

CLK = 0;

P1 = dispDataBuf[0]; // dispDataBuf[8]保存了每个数码管要显示数据的对应16进制数

preTemp = P3;

dltime();

nextTemp = P3;

if((preTemp & 0x1C) == (nextTemp & 0x1C))/*去抖动 */

{

keytime ++;

if(keytime >= 10)

{

keytime = 0;

if((nextTemp & 0x1c) == 0x0c)//P3.4得到低电平

get_keyset = 1;

if((get_keyset == 1)&&((nextTemp & 0x1c) != 0x0c))//该段代码实现按键松下后才算一次按键作用

{

get_keyset = 0;

sendkeynum();//通过串口发送按键编码

}

}

2.4 CAN通讯模块

S3C44B0X芯片含有SPI接口,基于此,选用MICROCHIP的MCP2510控制器、CAN驱动器PHILIPHS的TJA1050。MCP2510是一种带有串行外围接口SPI的独立CAN控制器,它支持CAN技术规范V2.0A/B;并能够发送的接收标准的和扩展的信息帧,同时具有接收滤波和信息管理的功能。MCP2510通过SPI接口与MCU进行数据传输,最高数据传输速率可达5 Mb/s。S3C44B0X可通过MCP2510与CAN总线上的其它MCU单元通讯见图4。MCP2510有配置、正常、睡眠、监听、反馈等五种工作模式,内含三个发送缓冲器、两个接收缓冲器,同时还具有灵活的中断管理能力,这些特点使得S3C44B0X对CAN总线的操作变得非常简便。

图4 CAN通讯接口电路图

S3C44B0X通过SPI接口与MCP2510相连并对其进行控制。MCP2510的控制见表1。

表1

2.5 读取和写入时序说明

图5 MCP2510读、写时序图

如图5所示,在读操作开始时,CS 引脚将被置为低电平。随后读指令和8 位地址码(A7 至A0)将被依次送MCP2510 。在接收到读指令和地址码之后, MCP2510 指定地址寄存器中的数据将被移出通过SO 引脚进行发送。每一数据字节移出后, 器件内部的地址指针将自动加一以指向下一地址。因此可以对下一个连续地址寄存器进行读操作。通过该方法可以顺序读取任意个连续地址寄存器中的数据。通过拉高CS 引脚电平可以结束操作。写操作时,置CS 引脚为低电平启动写操作。启动写指令后,地址码以及至少一个字节的数据被依次发送到MCP2510 。只要CS 保持低电平,就可以对连续地址寄存器进行顺序写操作。在SCK 引线上的上升沿,数据字节将从D0位开始依次被写入。如果CS 引脚在字节的8 位数据尚未发送完之前跳变到高电平,该字节的写操作将被中止,而之前发送的字节已经写入。

3 与服务器通讯

通过一块RS232-CAN的控制卡与服务器相连接,这样就组成了CAN控制的局域网。在服务器上通过VC+PCOMM控件实现对CAN转换卡的控制。由于数据量大,而且实时性要求高,所以采用两个线程。一个线程负责串口数据的接收和相应的数据处理,将处理后的数据送到数学模型中计算得到结果,即要发送的数据,保存到一个全局链表中;另外一个线程专门负责数据的发送。

4 结论

系统采用了总线拓扑结构,在实际应用中不但节约了大量的导线,更重要的是方便了布线,能在较短的时间里安装调试完毕,非常适用于在航船舶;作为设备级网络,CAN所具有的一些良好性能,使其能够满足船舶实时通信的要求,CAN 网络在船舶的应用也为船舶综合通信系统的设计提供了一种新的方法。

[1] 蒋健文.CAN总线测控节点智能核心的研究[J]. 盐城工学院学报,2000,13(3):11-13.

[2] 满庆丰.现场总线技术的应用及发展[J].石油化工建设,2006(3):22-23.

[3] 张端阳, 郑华耀, 黄学武.CAN总线在嵌入式船舶仿真系统中的应用[J].系统仿真技术 ,2006(2):108-111.

[4] 吴团结.基于CAN总线技术的舰船动力系统综合控制[J].中国舰船研究,2006(2):70-74.

[5] 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996:240-255.

猜你喜欢
数码管低电平寄存器
基于51单片机的分数计数器设计
微课教学设计之“数码管动态显示”
Lite寄存器模型的设计与实现
一种实用的电脑接口判断方法
Arduino编程
MC9S08FL16单片机数码管静态显示分析
二进制翻译中动静结合的寄存器分配优化方法
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
移位寄存器及算术运算应用
数字电子技术的应用