基于PIC32的无线自助点菜系统的实现,包含原理图及电路图
个Samsung KS0066 CD控制器的Sunlike LCD板, 而无线通信模块则是基于CC2430搭建的ZigBee局域网络,这些模块正好利用Cerebot 32MX4开发板的PMOD扩展接口进行搭建,做到了资源的充分利用。整个无线点菜终端的硬件结构图如图3所示:
图3 终端硬件结构
1.4前台系统
前台系统由三部分构成:上位机Visual C界面、无线通信中心节点板以及打印机。上位机(PC端)用MFC搭建人机交互界面,用于各个桌号菜单账目统计,并控制打印机打印账单。Visual C通过串口控件与中心节点板连接,保持与多个终端的通信。CC2430中心节点板的串口模块可直接将接收到的数据传到上位机,并将反馈数据传回各个终端。点菜结束后,顾客可从打印机中得到消费账单,快捷方便。
2.技术特点
1)灵活高效的PIC32解决方案
PIC32作为一款高性能32位单片机,它是以MIPS32架构为基础设计的,具有高频、小芯片尺寸和超低功耗的特点。本课题以PIC32MX460为核心部件,完成并实现了ZigBee无线点菜系统的设计,在终端中,采用PIC32来控制发射信号的种类和对信号编码的控制。采用PIC32解决方案,方便灵活的扩展系统,满足复杂的外设要求。
2)最具性价比的ZigBee技术
一般而言,随着通信距离的增大,设备的复杂性、功耗以及系统成本都在增加。相对于现有的各种无线通信技术,ZigBee技术是最低功耗和成本的技术。ZigBee技术也存在着自身的缺点,该技术的数据速率比较低和通信范围较小。但由于本系统所承载数据流量较小,所以ZigBee就非常适合,具有最佳的性价比。
3)Cerebot 32MX4丰富的外设接口
本课题所使用的Digilent Cerebot™ 32MX4开发板是一个功能强大的微控制器开发板,它拥有九个Digilent Pmod™外围模块连接器。本课题需要用到的Digilent Pmod模块有按键开关、字符LCD、以及SD卡插槽,开发板还可以用来连接H-bridge驱动、模数和数模转换器、蜂鸣器、滑动开关、LED指示灯等,其提供了丰富的外设资源。
3.软件流程介绍
3.1无线网络软件设计
系统中通过简单的无线星型网络实现了前台的PC机和PIC32点菜节点的双向通信。无线网络系统初始化时将各节点的通信频率固定在2.48G频点上,通过中心节点轮询各子节点的方式时分复用实现组网及双向通信。
中心节点和子节点的CC2430均通过中断接收串口数据与无线传输的数据。如果PC机通过串口向中心节点发送数据,则中心节点首先解析数据包(33个字节,首字节为地址,其余为数据),并根据地址设置相应的节点标志位。当中心节点对子节点进行询问时首先查询该节点的标志位,若没有数据传输则将发送数据报首位设置为DATA_REQ(0x0F),表明该数据报没有数据内容;若有数据传输则将发送数据报首位设置为DATA_TRANS(0xF0),表明该数据报有数据内容。传输结束后中心节点进入接收状态,接收子节点回传的数据报。接收到的数据报首位为ACK_NO_DATA(0x30)表明数据报中没有数据内容,中心节点不作处理;若数据报首位为ACK_WITH_DATA(0x33),则将子节点号和数据内容通过串口传给PC机,接开始新的询问操作。若中心节点没有收到相应的回传数据报,则中心节点会重复询问子节点,重复询问最高次数为3次。中心节点通过对子节点地址进行计数实现对各个子节点的轮询。
子节点的无线模块一般处于接收状态,当接收到数据报时首先解析数据报的目的地址字节,若目的地址和自身地址不匹配则不作处理;若目的地址和自身地址匹配则对接收到的数据报进行解析,若包头为DATA_TRANS(0xF0)则将数据内容传给终端的PIC32系统,接着查询串口标志位(子节点串口中断接收程序在接受到PIC32发送的数据后设置串口标志位),若有数据发送则将数据报首位置为ACK_WITH_DATA(0x33),并将其和数据内容一起回传给中心节点;若没有数据发送则首位标志置为ACK_NO_DATA(0x30)。
3.2前台人机交互界面设计
点菜系统的前台需要构建操作友好的人机交互界面,考虑到CC2430中心节点板的串口模块可直接将接收到的数据与上位机通信,选用VC搭建该界面。VC提供了MSComm(microsoft communications control)控件,通过串行口进行数据传输和接收,为应用程序提供串行通信功能。MSComm控件通信功能的实现实际上是调用了API函数,而API函数是由Comm.drv解释并传递给设备驱动程序进行的,即MSComm控件的属性提供了通信接口的参数设置,能实现串行通信。
终端与前台通信遵循一定的协议格式,头一个字节是节点号(即就餐桌号),紧接着两个字节是传输命令,最后才是所传输的内容。终端传到前台的命令共有5类:传送菜单(MENU_CMD)、催菜(HUSH_CMD)、加菜(
PIC32 无线自助点菜系统 人机交互 MSComm控件 相关文章:
- 基于PIC32的环境质量监测系统(03-18)
- DIY之乐:基于PIC32的以太网音箱设计案例,硬件框图、器件选型、数据结构、软件流程(04-09)
- 工业磁条导引送料车(06-29)
- 基于PIC32上实现TCP/IP网络协议和zigbee无线传感器网络的智能家(11-29)
- DIY一部够炫酷的自由落体电子鼓(11-25)
- 基于PIC32的居室智能化平台的设计与实现(10-15)