1. 简介
本系统是针对医院病床呼叫系统开发的具有有线、无线两种连接方法的系统。有线通信使用USB总线,通过USB Hub集线器将各路(实际设计两路)从机连接在一起;无线通信为基于蓝牙4.0的通信;主机没有选用单片机系统,而是使用自己开发的电脑上位机作为主机。
2. 方案设计论证
1)有线连接:有线连接我们考虑了多种方案:USB、RS485、I2C、CAN,因为距离较(5m以上),I2C通信无法保障其可靠性;再考虑到我们目前持有的硬件资源,最终选了USB总线方案。使用USB Hub(可以多个,级联)可以将各路子机连接成网络,USB Hub使用外部供电以增大驱动能力。
在速率较低(并不是使用文件传输时的**M/s)时,在保障可靠性的前提下,USB总线通信距离完全可以达到5m以上,如果使用USB延长线等,甚至可以将距离提高到35m以上。
常用USB线内部有四根线:VCC、GND、D+、D-;VCC和GND主要是为了供电,D+、D-是差分数据传输,这可以保障远距离通信的可靠性。
2)无线连接:无线也有很多Zigbee(低功耗无线)、BLE(低功耗蓝牙)、WiFi。我们选择BLE很大程度上也是受硬件限制(在目前有的开发器件中,同时具有两块(两个从机)的只有BLE)。
对于本系统,蓝牙的缺点在于它只能一对一保持连接,这对于开发组网通信并不利。但为了克服这个问题,我们的设计是使用不断检测的连接方式。
从机在接受到呼叫(按键被按下)请求后,就进行广播操作,主机会不断扫描,当扫描到从机的广播请求后,就建立连接,完成数据传输和通信。然后再次进入扫描。这样就可以实现一个主机和多个从机的分时连接。
3)主机选择:一开始也打算使用单片机作为主机,使用OLED和按键来进行显示与人机交互。后来觉得,一方面手里只有两个模块,必须全部用于从机(呼叫终端),;另一方面,觉得使用单片机系统作为主机太“小气”了,并且不利于系统的进一步拓展(增加从机数量、进行远程连接与操作、数据库信息存储等。注:不是我们实现的内容,只是考虑系统的后续拓展)。
于是,我们决定使用电脑(可以是台式机,也可以是笔记本)作为主机,自己开发上位机。相比于单片机,电脑的处理能力相当强大,并且可以直接和以太网进行连接,可拓展性强。
3. 硬件资源
如图1、图2、图3所示,我们选用的是TI公司的CC2541模块,两个呼叫终端都是使用该模块。
图1 模块整体(1)
图2 资源介绍
图3 模块整体(2)
CC2541 = BLE + 51。
也就是说,在这个芯片里,既有单片机(基于51),又有蓝牙通信,可以理解为将两个功能器件做在一个芯片里。
如果选择外部的通信模块,那么还必须使用一个单片机芯片。所以CC2541的有点就在于此。
4. 电路简介
虽然不是自己设计的电路,但还是想和大家分享一下该模块的电路设计。
1)CC2541
CC2541小模块的电路如图4所示,小模块很简单,主要有供电和外部发射天线电路
图4 CC2541小模块
2)五向键
在模块上有一个五向键,可以向上、下、左、右、中五个方向进行按键。电路如图5所示,使用或门进行统一中断管理,再由电压不同来区分不同的按键动作
图5 五向键电路
3)串口转USB
使用CH340G芯片来进行实现串口转USB操作(与MAX485等芯片类似),电路图6所示。
图6 串口转USB
4)LED
模块上有三个LED(其实屏幕背光还有一个),可以作为呼叫提示。电路如图7所示。
图7 LED电路
5. 系统结构图
系统结构如图8所示,有线方案通过USB总线连接,无线方案通过蓝牙扫描连接。
图8 系统结构图
6. 程序流程图
图9为系统程序流程图。
图9 系统流程图
7. 上位机
使用自己开发的上位机作为系统的主机,如图10所示。可以选择连接方式为有线(Wire)和无线(Wireless)。
“当前处理”和“等待处理”两栏分别显示正在被响应的终端请求,和已经发出请求但还处于等待列表没有被响应的请求。
“下一个”按钮可以清除当前请求信息,并响应等待列表中第一个请求,同时等待列表中其他请求上前移动一个位置。
具体操作请看视频。
图10 上位机界面
8. 实现功能
a)、两个终端与主机基于USB总线的有线连接通信;
b)、两个终端与主机基于蓝牙的无线扫描式通信;
c)、主机能够区分终端请求的先后顺序,并在上位机显示请求发生的时间;
d)、新的请求到来时,上位机会发出“嘟”的声音提示,同时将请求添加到“等待处理”栏中;
e)、上位机将请求分为“当前处理”和“等待处理”两栏,“当前处理”为目前正在处理的终端请求,“等待处理”为已经请求了但还没有被上位机响应的终端请求;
f)、上位机能够发出语音播报,来提示当前处理的请求;
g)、终端按下请求按键后,一个LED(LED1)会一直处于闪烁状态,直到请求被主机响应,同时另一个LED(LED2)会闪亮三次,蜂鸣器会发声提示。
h)、上位机可以通过点击“下一个”按键,来处理排在最前面的“等待处理”请求,同时清除当前处理的请求。
i)、低功耗模式下工作电流约2.62mA(5V供电状态)。(详见测试视频)
9. 视频链接
请移步观看,好像优酷打开较慢,请耐心等待一下(广告太长了。。):
http://v.youku.com/v_show/id_XMTI2NzI0NzU2NA==.html
wow~