基于ARM7的无线的无纸化排队叫号系统系统.docx

上传人:b****6 文档编号:6937366 上传时间:2023-01-12 格式:DOCX 页数:33 大小:178.69KB
下载 相关 举报
基于ARM7的无线的无纸化排队叫号系统系统.docx_第1页
第1页 / 共33页
基于ARM7的无线的无纸化排队叫号系统系统.docx_第2页
第2页 / 共33页
基于ARM7的无线的无纸化排队叫号系统系统.docx_第3页
第3页 / 共33页
基于ARM7的无线的无纸化排队叫号系统系统.docx_第4页
第4页 / 共33页
基于ARM7的无线的无纸化排队叫号系统系统.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

基于ARM7的无线的无纸化排队叫号系统系统.docx

《基于ARM7的无线的无纸化排队叫号系统系统.docx》由会员分享,可在线阅读,更多相关《基于ARM7的无线的无纸化排队叫号系统系统.docx(33页珍藏版)》请在冰豆网上搜索。

基于ARM7的无线的无纸化排队叫号系统系统.docx

基于ARM7的无线的无纸化排队叫号系统系统

一:

摘要

技术方案:

基于ARM的无线的无纸化排队叫号系统采用条形码扫描方式,利用带有条形码的可回收卡片代替打印纸票;采用工作在ISM频段的UHF收发模块LSD-RFC1100C实现前后台的数据传输。

柜台点阵显示采用P89LPC932单片机控制,成本低廉。

前后台无线数据传输控制器为集成ARM7内核的LPC2132,可利用其富余的RAM和I/O引脚;采用工控机或PC机作为服务器,用于播放视频,语音报号及后台数据库。

主要内容:

无线数据传输的无纸化银行叫号系统是一个高可靠性、高效率的、节能创新的银行叫号系统系统,它使用可回收的条形码卡片代替现在的打纸票的方式,采用无线数据传输模块实现了工程布线的简洁和移动性,并且可以用成语、景点名称等代替单调的数字叫号,使之更加人性化。

本设计着重介绍LPC2132ARM控制器利用SPI串行总线控制无线传输模块实现柜台和PC机之间的无线数据传输过程,特别介绍了无线模块集成的CC1100芯片和SPI串行总线。

实现了利用ARM控制器外界无线传输芯片实现无线数据传输。

二:

概述:

嵌入式系统的发展前景和意义:

嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。

嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件和软件的协同性与整合性,并且其软件与硬件可裁剪,以满足系统对功能、成本、体积和功耗等的要求。

通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。

而嵌入式计算机系统的技术要求则是对象的智能化控制能力,嵌入式计算机系统要嵌入到对象体系中;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。

因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。

嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。

它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。

随着信息化,智能化,网络化发展,嵌入式系统技术也将获得广阔发展空间。

信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也地嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势;

①、嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。

②、网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂

③、网络互联成为必然趋势。

未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。

④、精简系统内核,算法,降低功耗和软硬件成本。

⑤、提供友好的多媒体人机界面。

嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面

无线排队叫号系统诞生背景:

随着科技的进步,运用于现实生活中的科技产品就变得更加的大众化起来。

科技的进步使得我们的生活更加的简洁,方便,快捷。

科技在现实中得到了更多的实现,我们在科技的支持下,生活变得更加的节省资源,更加的环保,更加的人性化。

排队叫号系统先是在发达国家的有了十分广泛的应用,近年来开始流行于我国的银行、医院、电信、领事馆、公安、税务及企事业服务机构。

随着这一技术的普及,逐渐解决了更多的行业问题。

系统完全模拟了人群排队全过程,通过取票进队、排队等待及叫号服务等功能代替了人们站队的辛苦,减少了人们一直等待的最大问题,减少了时间的浪费,把顾客排队等待的烦恼变成一段难得的休闲时光,使客户拥有一个自由的空间和一份美好的心情。

无线的无纸化排队叫号系统诞生目的:

现今的排队叫号系统几乎都是用打纸票的方式,造成资源的浪费以及对环境的污染,并且大厅的排队叫号机与柜台的显示系统的数据传输多为有线数据传输方式,增加了施工布线,移动性比较差。

因此,无限的无纸化排队叫号系统的诞生就显得十分的重要了。

无线的无纸化排队叫号系统解决了纸张的浪费问题,避免了对环境的污染;同时减少了施工布线,增加了系统的灵活性和机动性。

无线的无纸化排队叫号系统使得这一应用更加的方便与实用。

无线的无纸化排队叫号系统是基于ARM无线数据传输的无纸化排队叫号系统,与传统的排队叫号系统相比,本系统不仅大大节省了打印纸票的成本,而且显得环保且节省资源,布线简洁,移动性强;更为人性化的是系统可以采用吉祥成语、地名等词语代替单调的数字叫号。

这样的排队叫号系统就能更加的贴近我们的生活,让使用者更加的舒心,更加便捷,更加的人性化。

系统总体方案设计:

 

图一:

无线叫号系统总体框图

三:

系统实现方案

1:

柜台点阵显示(单片机部分)

单片机部分主要负责显示点阵汉字,用4块8*8的点阵可构成一个16*16的点阵,用以显示汉字,柜台点阵可以显示4个汉字,总共用16块8*8点阵。

控制器采用NXP的P89LPC932单片机,俩片74HC573锁存16位的点阵行数据,通过4片74HC154选通64列的列,74HC573和74HC154的片选信号通过一片74HC138进行控制,以节省单片机的引脚。

通过MAX3232吧单片机的串口TTL电平转换RS232点平,通过RS232与无线控制部分通信,因为柜台点阵只是接受点阵数据进行显示,故多个柜台点阵的单片机可同时通过地线和接收线的双两根线连接到无线控制部分。

ARM部分(无线数据转发)

ARM部分主要负责无线数据的收发,柜台按键扫描,把按键的柜台号发送至PC机,以及向柜台点阵控制部分转发点阵数据。

无线控制部分要转发大量的点阵数据,并保留与PC端通信的有线方式。

此时可利用LPC213216KB的RAM和富余的引脚,通过SPI方式与无线模块通信。

无线模块采用集成CC1100芯片的LSD-RFC1100C。

PC机部分

PC机部分主要负责可回收卡片的条形码扫描、语音报号、视频播放及发送点阵数据等总体协调作用。

该部分采用Delphi语言,视频播放采用TMediaPlayer控件,数据库采用ADO+Access本地数据库,串口采用MSCOMM控件,配置文件采用INI文件,通过RS232与无线控制部分进行数据交互。

四:

硬件电路设计

系统硬件主要是LPC2132控制器与LSD-RFC1100C模块的接口设计,先介绍CC1100芯片。

1:

CC1100是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。

电路主要设定为在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348MHz、400-464MHz和800-928MHz的其他频率。

RF收发器集成了一个高度可配置的调制解调器。

这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。

通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。

CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。

CC1100的主要操作参数和64位传输/接收FIFO(先进先出堆栈)可通过SPI接口控制。

在一个典型系统里,CC1100和一个微控制器及若干被动元件一起使用。

CC1100基于0.18微米CMOS晶体的Chipcon的SmartRF04技术。

主要特性:

体积小(QLP4×4mm封装,20脚)真正的单片UHFRF收发器频率波段:

300-348MHz、400-464MHz和800-928MHz高灵敏度(1.2kbps下-110dBm,1%数据包误差率)可编程控制的数据传输率,可达500kbps较低的电流消耗(RX中15.6mA,2.4kbps,433MHz)可编程控制的输出功率,对所有的支持频率可达+10dBm优秀的接收器选择性和模块化性能极少的外部元件:

芯片内频率合成器,不需要外部滤波器或RF转换可编程控制的基带调制解调器理想的多路操作特性可控的数据包处理硬件快速频率变动合成器带来的合适的频率跳跃系统可选的带交错的前向误差校正单独的64字节RX和TX数据FIFO高效的SPI接口:

所有的寄存器能用一个“突发”转换器控制数字RSSI输出与遵照EN300220(欧洲)和FCCCFR47Part15(美国)标准的系统相配自动低功率RX拉电路的电磁波激活功能许多强大的数字特征,使得使用廉价的微控制器就能得到高性能的RF系统集成模拟温度传感器自由引导的绿色数据包对数据包导向系统的灵活支持:

对同步词汇侦测的芯片支持,地址检查,灵活的数据包长度及自动CRC处理可编程信道滤波带宽OOK和灵活的ASK整型支持2-FSK,GFSK和MSK支持自动频率补偿可用来调整频率合成器到接收中间频率对数据的可选自动白化处理对现存通信协议的向后兼容的异步透明接收/传输模式的支持可编程的载波感应指示器可编程前导质量指示器及在随机噪声下改进的针对同步词汇侦测的保护支持传输前自动清理信道访问(CCA),即载波侦听系统支持每个数据包连接质量指示

引脚功能:

1:

SCLK数字输入:

SO(GD01)2:

数字输出3:

GDO2数字输出4:

DVDD功率(数字)5:

DCOUPL功率(数字):

6:

GDO0(ATEST)数字I/O7:

CSn数字输入8:

XOSC_Q1模拟I/O9:

AVDD功率(模拟)10:

XOSC_Q2模拟I/O11:

AVDD功率(模拟)12:

RF_PRFI/O13:

AVDDRFI/O14/15:

AVDD功率(模拟)

16/19:

GND地(模拟)17:

RBIAS模拟I/O18:

DGUARD功率(数字)20:

SI数字输入

2:

接口电路

对于市场上的大多数的集成CC1100的模块,其内部电路图均相差无几。

将CC1100芯片的低频引脚全部引出后(主要包括SPI接口),单片机用户和其他用户即可通过SPI接口对CC1100的寄存器进行设置及状态的检测。

此时也可以使用普通的I/O口模拟SPI。

无纸化较好系统的无线数据传输部分工作在443MHZ频率范围内。

对于工作在315/433MHz频段下的典型应用电路如图二。

LSD-RFC1100C中CC1100的引脚具体功能说明:

(1)VDD脚,接电压范围为1.9----3.6V,若超过3.6V将会烧毁模块。

推荐电压为3.3V左右。

(2)除电源VDD和接地端,其余脚均可直接和普通的5V单片机IO口直接相连,无需电平转换。

当然,对3V左右的单片机更加适用。

(3)硬件上没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口即可,当然,使用串口也可。

(4)GND脚为接地脚,需要和母板逻辑地连接起来。

(5)排针间距为100mil,标准DIP插针。

(6)SI数字输入,连续配置接口,数据输入。

(7)SCLK数字输入,连续配置接口,时钟输入。

(8)CSN数字输入,连续配置接口,芯片选择。

(9)SO(GDO1)数字输出,当CSN为高时为可选的一般数据输出脚。

(10)GDO2数字输出,一般用途的数字输出脚:

测试信号,FIFO状态信号时钟输出,从XOSC向下分割并连续输入TX数据。

(11)GOD1数字输出,一般用途的数字输出脚:

测试信号,FIFO状态信号,时钟输出,从XOSC向下分割并连续输入TX数据,用作原型/产品测试的模拟测试I/O。

图三

最终通过HEADER与LCP2132连接的系统图如图三所示,CLK与P0.4引脚相连,P0.4是SPIO的SCK0;SI与MCU的P0.6引脚相连,P0.6是SPIO的MOSI;SO与MCU的P0.5引脚相连,P0.5是SPIO的MOSI;CS是CC1100芯片的片选引脚,与GPIO相连即可,也可与P0.13相连;GDO0作为CC1100的中断引脚,需要与具有中断功能的引脚相连,此时可与P0.16相连,此引脚可配置为外部中断EINT0。

GDO2与P0.15相连,在本系统中此引脚未用到。

无纸化银行叫号系统的ARM控制部分系统原理图如图三所示。

LPC2132对模块的控制采用的是SPI串行总线,SPI(SerialPerripheralInterface)是一种串行同步通信协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通信,从而完成数据交换。

SPI借口由SDI(串行数据输入)、SDO(串行数据输出)、SCK(串行移位时钟)、CS(从使能信号)4种信号构成,CS决定了唯一的与主设备通信的从设备,如没有CS信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通信。

当进行通信时,数据由SDO输出,SDI输入,数据在时钟的上升或下降沿由SDI读入,这样经过8/16位数据的传输。

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I^2C总线要快,速度可达到几Mbit/s

SPI接口是以主从方式工作的,该模式通常有一个主器件和一个或多个从器件,其接口包括以下4种信号:

(1)MOSI——主器件数据输出,从器件数据输入。

(2)MISO——主器件数据输入,从器件数据输出。

(3)SCLK——时钟信号,由主器件产生。

(4)/SS——从器件使能信号,由主器件控制。

对于LPC2132控制器的SPI功能引脚,则是通过管脚连接模块进行配置的,管脚俩接模块可以使微控制器的所选管脚具有1个以上的功能。

配置寄存器控制多路开关来连接管脚与片内外设。

所有配置字都是通过SPI接口送给CC1100。

LPC2132的SPI控制寄存器介绍:

LPC2132主要通过以下5个读写寄存器来实现SPI串行口数据传输:

(1)控制寄存器SPCR,包含一些可编程位,用于控制SPI模块的功能。

(2)状态寄存器SPSR,包含只读位,用于监视SPI接口的状态,包括一般性功能和异常状况。

该寄存器的主要用途是检测数据传输的状态,该操作通过SPIF位来实现。

其他位用于指示该异常。

(3)数据寄存器SPDR,用于提供发送和接收的数据字节。

(4)中断寄存器SPINT,包含SPI接口的中断标位。

(5)状态寄存器SPCCR,用于控制主机的SCK的频率。

在本系统中,LPC2132作为SPI主机,无线模块作为SPI从机。

将LPC2132作为SPI主机操作步骤如下:

(1)将SPI时钟计数寄存器设置为所需要的值。

(2)将SPI控制寄存器设置为所需要的设定。

(3)将要发送的数据写入SPI数据寄存器。

此写操作将启动SPI数据传输。

(4)等待SPI状态寄存器中的SPIF位置。

SPIF为将在SPI数据传输的最后一个周期后置位。

(5)读取SPI状态寄存器,并从SPI数据寄存器中读出接收到的数据。

(6)如果有更数据需要发送,则跳到第(3)步。

五:

软件设计

对于单片机控制点阵部分,较为简单的就是串口接收数据,定时器服务程序按列扫描,进行汉字显示。

当接收数据时,数据前两个字节是关键字0xaa(10101010)、0x55(01010101),第3个字节为柜台号,后面跟128个字节的点阵数据和固定字节的0Xff。

对于PC机部分,首先要建好数据库,在Access数据库dbBankCall.mdb的表bBarCode中建好条形码号码和成语,在表tbChineseAudio建好条形码号码和语音路径、汉字字模的映射关系,在表tbdesk建好柜台号和关于柜台语音的映射关系,在表VediotbVedioInformation建好播放视频文件的相关信息。

程序主要完成以下功能:

(1)接收红外条形码扫描枪的扫描码,通过Tedit控件的EditSendChange事件获得,并把所扫描到的号码存入队列。

该程序中具有过滤重复扫描功能。

(2)通过无线串口接受柜台发送过来的数据,判断柜台号,并将等待队列中的条形码号码按FIFO分配给柜台,进行语音报号,然后将相关的点阵数据通过无线发送给柜台端。

(3)根据条形码号码在数据库中检索相关数据,并存入数组。

同时根据扫描到的条形码号码和已经播放完的号码进行数据指针的移动,以保持数据的先入先出。

(4)进行视频播放,可按循环、随即和固定的方式播放视频文件

程序流程图如下:

 

 

#include"config.h"

#include"include.h"

intmain(void)

{

VAR_Init();//变量初始化

IO_Init();//引脚初始化

TI_CC_SPISetup();//SPI初始化

TI_CC_PowerupResetCCxxxx();//ResetCCxxxx

writeRFSettings();//写入无线模块配置寄存器

TI_CC_SPIWriteBurstReg(TI_CCxxx0_PATABLE,paTable,paTableLen);//写入能量控制寄存器

UART0_Init(UART_BPS,set);//串口初始化

TC0_Init();//定时器0初始化

VIC_Init();//中断初始化

TI_CC_SPIStrobe(TI_CCxxx0_SFSTXON);//开启和校准频率合成器

TI_CC_SPIStrobe(TI_CCxxx0_SRX);//初始化模块为接收模式.

//数据包接收结束后,GDO0下降沿触发中断

#ifdefWATCHDOG

WATCHDOG_Init();//看门狗初始化

#endif

UART0_SendBufEx("-begin-",7);

while

(1)

{

#ifdefWIRLTEST

if(TimerSend_ID==1)

{

TimerSend_ID=0;

/*IO1CLR=IO1CLR|LED1;

DelayNS(20);

IO1SET=IO1SET|LED1;

DelayNS(20);

IO1CLR=IO1CLR|LED1;

DelayNS(20);

IO1SET=IO1SET|LED1;

RcvBuf[0]=0x05;*///从机地址

RcvBuf[0]=0x05;

for(i=1;i<16;i++)

{

RFSendPacket((char*)RcvBuf,17);

if(DeskDriver[i].allow10s==1)

{

DeskDriver[i].allow10s=0;//开始限定时间,在限定时间内不接受按键

DeskDriver[i].keyScaned=1;//接受按键,并置按下标志

DeskDriver[i].timeCnt=0;//计数归零

DeskDriver[i].enable=1;//开启允许无线发送

DeskDriver[i].sendCount=0;//初始值0表示发送次数为0,发送一次加1

DeskDriver[i].sendOK=0;//初始值0表示没发送成功

}

}

}

#endif//task1接收完成,发送数据

if(RCVCOMP_ID==1)

{

IO1CLR=IO1CLR|LED1;

DelayNS(20);

IO1SET=IO1SET|LED1;

DelayNS(20);

IO1CLR=IO1CLR|LED1;

DelayNS(20);

IO1SET=IO1SET|LED1;

RCVCOMP_ID=0;

UART0_SendBuf();

UART0_SendBufEx(RcvBuf,RCV_LEN1+2);

RcvBuf[0]=0x05;//从机地址

RFSendPacket((char*)RcvBuf,17);

}

//task2按键扫描

if(SCAN_ID==1)

{

SCAN_ID=0;

KeyScan();

}

//task3发送柜台号

if(SendDesk_ID==1)

{

SendDesk_Pro();

SendDesk_ID=0;

}

#ifdefWATCHDOG//看门狗喂狗

IRQDisable();//关中断

WDFEED=0xAA;//第一次喂狗启动WDT

WDFEED=0x55;//喂狗序列

IRQEnable();//开中断

#endif

}

return0;

}

voidDelayNS(uint32dly)

{

uint32i;

for(;dly>0;dly--)

for(i=0;i<50000;i++);

}

//短延时子程序

voiddelay(uint8t)

{uint8i,j;

for(i=0;i

for(j=0;j<10;j++);

}

voidVAR_Init(void)

{

uint8i;

set.datab=8;//串口数据位

set.stopb=1;//串口停止位

set.parity=0;//串口校验位

rcv_new=0;//串口接收完数据标志

RSMCHR=0;//接收数据暂存变量

RSMCHR=0;//判断接收数据用标志

RSSMS_ID=0;//直接接收数据标志

RCVCOMP_ID=0;//接收完成标志

SCAN_ID=1;//按键扫描定时标志

INPUT1=0;//按键扫描去抖动计数

INPUT1_ID=1;//按键按下放开标志

Desk_NUM=0x50;//柜台号,初始值为无效柜台号

SendDesk_ID=0;//发送柜台号标志

timerCount=0;//定时器计数变量

for(i=0;i

{

DeskDriver[i].allow10s=1;//初始值1为10秒已经过去,可以接受按键柜台号

DeskDriver[i].keyScaned=0;//初始值0表示还没有按键柜台号被接受

DeskDriver[i].sendCount=0;//初始值0表示发送次数为0,发送一次加1

DeskDriver[i].sendOK=0;//初始值0表示没发送成功

DeskDriver[i].timeCnt=0;//初始值0,定时计数为0,每秒加1

DeskDriver[i].enable=1;//初始值1表示允许发送

}

}

voidIO_Init(void)

{

PINSEL0=0x00000005;//设置I/O连接到UART0

PINSEL0=PINSEL0|0x00050000;//配置UART1引脚功能

PINSEL0=PINSEL0|0x00005500;//配置SPI总线引脚0.4sck

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1