在饭店吃饭时,发现现在的服务员都不用笔和纸,都在用无线点菜系统。由于职业的关系,便激发了我的兴趣。
一个完整的无线点菜系统,应该有以下几部分构成:
1.一台主机电脑,按照现在市场基本配置,便可满足系统要求。
2.若干个现场点菜终端,用于现场点菜和传递菜单。
3.无线接收器,用于电脑和现场点菜终端的连接,最好用USB接口供电和传输。
4.主机电脑无线点菜系统应用软件,用于实现对数据接收.发送和存储等功能。
5.一个完善的无线系统通讯协议。
其中1-3系硬件部分,4-5属于软件部分。对于下位机设计,我们能做的主要是设计现场点菜终端和无线接收器,并主持无线系统通讯协议的制定。
通讯协议要素:
1.数据传输形式为ASII格式。
2.通讯格式为 10位异步通讯:1个起始位、8个数据位、无奇偶校验位、1个停止位。
3.传输标准:2.4G/485。
4.通讯波特率为 2400、4800、9600、19200bps。
5.地址范围:0x00~0xFF
6.校验和
a、功能:校验和帮助检测系统内数据通讯是否错误,校验和功能只是在命令和回答字符串外加2 个字符,不影响传送速率。
b、格式:校验和范围从00—FFH,在命令或回答的结束符(0d)前发送。如果校验和不正确,设备将不予回答。
c、计算:命令的校验和等于所有命令ASCII 码值的和,超过F F 时保留后两位。回答的校验和等于所有回答ASCII码值的和,超过FF时保留后两位。
d、相互之间的通讯均需要进行校验和的计算。
关于传输协议,这个后面将做详细解释。
通讯握手流程
当服务员点好菜,确认后,无线终端要发送前,先询问主机是否忙,确定不忙后,才开始传递数据,直至传完为止,松开握手。若其他无线终端正在发送,此时处于排序等待状态,当主机不忙时,发送给握手信号,双方对接后,开始传输数据。
现场无线终端发送协议
起始码+终端地址+传输数据个数+传输数据序号1+传输菜单编码......+传输数据序号N+传输菜单编码+校验和+回车结束
起始码(固定格式) ! 占用一个字节
地址 (AA) 占用两个字节
传输数据个数(C) 占用两个字节
传输数据序号1 占用2个字节
传输菜单编码 占用三个字节
。
。
。
。
传输数据序号C 占用2个字节
传输菜单编码 占用三个字节
传输校验和 占用两个字节
结束标志 回车(0D 0A) 占用两个字节
整个设计时围绕主机和多个终端来实现的,也就是典型的一对多的星型通讯模式,设计的关键在于如和顺利的实现通讯握手信号的连接和断开,如何尽可能的消除通讯中的误码率,通讯频率可以选用2.4G/10mW,这样基本可以满足距离的要求。
通讯分析:
1.一开始,所有的都处于空闲状态,主机给每一个终端都发一个空闲信号,所有的终端在同一时刻都收到这一信号,但收到不算,还得告诉主机,“我收到了!”,所有的终端按照内部不同的延迟给主机发送报到信号,并且自身处于待机工作状态。
2.当某一时刻,X号机准备点菜,首先他得确认之前是否收到主机的空闲/忙信号,若是空闲信号,便向主机报告申请握手,当主机判断可以握手时,先广播给所有机忙信号,收到各个确认后,再给给X号机发同意握手信号。然后便开始按照流程图进行传输和确认,当传输完毕后,再广播给所有终端空闲信号,收到回复后待机。
文章评论(0条评论)
登录后参与讨论