基于CC2541的分布式控制系统
2018-01-09张守坤项一丹
张守坤+项一丹
摘要:随着工业科技的发展,生产规模逐渐扩大,人力已经无法满足需求,使得在一些大型自动化控制设备中需要实时监控,引用分布式控制。分布式控制系统因其具有控制分散和管理集中的显著特点被作为当今工业过程控制领域的主要控制系统之一。由于分布不集中、集成难度大,分布式控制系统可以很好地解决这些问题。介绍了一种基于CC251蓝牙芯片控制的分布式系统,系统以一颗CC2541芯片作为主机,其他分布式控制节点采用从机模式,它主要负责处理数据、运行控制算法,控制执行部件。
关键词:分布式控制;CC2541;主机;从机
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)34-0027-02
1 概述
分布式控制系统随着计算机技术与网络通讯技术的不断发展,已经广泛应用于大型的生产制造工作中,是先进制造技术与信息化技术相结合的典型应用实例。蓝牙属于近场通讯,应用场合一般为室内等近距离通信,因此我们使用PCB天线,相较于陶瓷天线来,PCB天线具有传输距离远的优点。蓝牙通信协议使用的是协议栈BLE-CC254x-1.4.0。
标准蓝牙技术是一种“面向连接”的无线技术,具有固定的连接时间间隔,因此是移动电话连接无线耳机等高活动连接的理想之选。相反,蓝牙低能耗技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(节省能源),此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。
CC2541是一款针对Bluetooth低功耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络点成为可能。CC2541将领先RF收发器的出色性能和一个业界标准的增强型8051MCU、系统内可编程闪存存储器、8KBRAM和很多其他功能强大的特性和外设组合在一起。
蓝牙通信通过射频电路将信号发射出来,从机接收信号,进行解码,然后执行相应的硬件动作,从而达到了主机发布命令,从机接收命令,执行动作,上传信号,通知主机目前状态。蓝牙主机主要执行任务调度以及任务分配,和完成一个任务需要的流程,以及检测各个子机状态已确保发布任务是否会冲突,子机主要负责完成相应的硬件动作任务以及回传相应的状态的信息,完成动作的算法。通过主机发送任务信号,子机通过射频电路接收到主机发送的命令,执行相对应的硬件动作,达到分布式控制的目的。
2 系统设计
系统主机为TI公司的CC2541芯片以及外设构建的主机模式,从机同样是由CC2541为核心芯片构建的从机模式,通过RF电路,将信号辐射成电磁波,子机接收到已经绑定的设备发送的信号,就可以执行相应的动作,如图1所示。
2.1 CC2541连接
CC2541在没有配对绑定的情况下,一直处于广播状态,等到主机发送连接请求,从机接收到连接请求之后,发送扫描相应到主机,主机发送一个连接请求,和从机进行配对绑定。主机可以对从机的蓝牙名和服务进行过滤,,过滤掉一些不是在整个系统网络中的设备,导致发送命令之后,对应的子机没有动作响应,出现错误现象。所以在配对过程中,主机会过滤掉一些其他设备,保证在整个网络系统中都是在设计的环境中的设备。
在整个设备初始的过程中,设备会对硬件进行一系列初始化,还会对连接过程进行初始化,会进行连接参数设置,包括蓝牙设备名称、蓝牙发射功率、蓝牙最大连接数、蓝牙在未连接的状态下的超时时间、蓝牙设备连接时间、蓝牙设备要执行动作的优先级顺序。在整个蓝牙连接过程中,蓝牙从机从未连接的状态变成已连接的状态,在设备发生连接绑定的过程之后,设备不会被发现,只有主动断开连接,设备才会重新被发现,可以进行下一次的连接。蓝牙设备在被发现和到连接的状态,时间很短这就可以保证每一次设备关机之后,设备断开连接之后,在新一次开机后,设备又会被快速连接,在设备连接成功之后,就可以执行分布式控制的任务。蓝牙设备的连接工程如图2所示。
2.2 CC2541操作系统
CC2541是采用的OSAL类操作系统执行任务的调度分配,osal包括任务、事件、消息机制、回掉函数、HAL。一台设备中有多个任务,一个任务中有16个事件,消息用于不同任务之间的传递。SimpleBLEPeripheral工程中从底层的LL层到应用的Application层,一共分为有12个任务,每个任务会分配一个事件管理的变量,变量统一存在。其中,越底层的优先级越高,应用层的优先级是最低的。在应用层可以添加各种自定义的动作,来满足程序的设计要求,满足系统的控制要求,使得硬件完成指定动作。
2.3 CC2541软件流程
CC2541的软件流程是基于OSAL操作系统,遍历所有的任务,查看是否有事件发生,然后执行相应的动作。在Osal系统初始化完毕之后,可以对整个系统中的人物执行操作,执行事件,在整个系统中没有任何事件执行的时候,系统会自动进入休眠状态,知道外部唤醒整个系统。外部中断唤醒系统,通过HAL层检测到了按键,osal会自动将按键信息打包,通过消息的形式发往引用层,最终在引用层对案件进行处理,唤醒系统。如图4所示。
3 系统实现
整个系统以CC2541为主控芯片,以及一系列外设辅助完成。在整个系统中,主机主要负责任务的分配,让相应的子机完成对应的动作。子机主要处理硬件驱动方案、控制算法、返回控制命令到主机以及接收主机发送的命令。主机和子机之间的消息发送通过RF电路,发送和接收指令,以达到整个系统的设计功能。在整个系统中,主机和子机之间没有用实际的信号线进行连接,而是用电磁信号进行连接,在整个设计中能够减少很多由线路带来的问题。
4 结束语
在整个分布式控制系统中,传统方式主要是用can总线,can总线在整个工业设计中经过长时间的使用,稳定性非常高,但是在较大的分布式空间中,需要布can总线,也是比较麻烦,采用射频电路会减少很多布线的问题,会在很大的空间上能够很稳定的信号传输,在现代硬件智能化时代,蓝牙设备使用的次数越来越多,使用范围越来越广。用蓝牙通信做分布式控制是一个比较好的解决大空间分布式控制的方案。
参考文献:
[1] 李子强. 分布式数字广播系统的设计[J/OL]. 机电工程技术,2017(S2):353-356.
[2] 曲祉双. 基于ARM的分布式控制系统控制器的硬件設计[D].哈尔滨理工大学,2017.
[3] 李有文,余建华,胡琳. 基于CC2541蓝牙技术的双向防丢器设计[J]. 机械工程与自动化,2016(4):194-195+197.
[4] 吴钊炯. 基于CC2541的蓝牙电子标签的设计[J/OL]. 机电工程技术,2016,(Z1):67-70.
[5] 许毅强,樊明辉,王量弘. 基于蓝牙4.0的心电信号采集和处理系统设计[J]. 单片机与嵌入式系统应用,2016,16(7):57-59.
[6] 王旭东,朱蕴璞. 基于ARM多处理器的CAN总线分布式控制系统设计[J]. 国外电子测量技术,2015,34(5):52-55.
[7] 费继友,冷万龙,白鑫. 基于CAN总线的ARM分布式数控系统的设计[J]. 数字技术与应用,2010(10):67-69.
[8] 张岩,马旭东,张云帆. ARM与DSP的SPI通信设计实现[J]. 工业控制计算机,2008(9):56-57+66.