当前位置:文档之家› 【精品】基于ARM7的无线的无纸化排队叫号系统系统毕业论文设计

【精品】基于ARM7的无线的无纸化排队叫号系统系统毕业论文设计

(此文档为word格式,下载后您可任意编辑修改!) 毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

教研室(或答辩小组)及教学系意见

一:摘要

技术方案:基于ARM的无线的无纸化排队叫号系统采用条形码扫描方式,利用带有条形码的可回收卡片代替打印纸票;采用工作在ISM频段的UHF收发模块LSD-RFC1100C实现前后台的数据传输。柜台点阵显示采用P89LPC932单片机控制,成本低廉。前后台无线数据传输控制器为集成ARM7内核的LPC2132,可利用其富余的RAM和IO引脚;采用工控机或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端通信的有线方式。此时可利用LPC2132 16KB的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-348 MHz、400-464 MHz和800-928 MHz的其他频率。 RF 收发器集成了一个高度可配置的调制解调器。这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。 CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。CC1100的主要操作参数和64位传输接收FIFO(先进先出堆栈)可通过SPI接口控制。在一个典型系统里,CC1100和一个微控制器及若干被动元件一起使用。CC1100基于0.18微米CMOS晶体的Chipcon的SmartRF 04技术。

主要特性:

体积小(QLP 4×4mm封装,20脚)真正的单片UHF RF收发器频率波段:300-348 MHz、400-464 MHz和800-928 MHz 高灵敏度(1.2kbps下-110dBm,1%数据包误差率)可编程控制的数据传输率,可达500kbps较低的电流消耗(RX中15.6mA,2.4kbps,433MHz)可编程控制的输出功率,对所有的支持频率可达+10dBm 优秀的接收器选择性和模块化性能极少的外部元件:芯片内频率合成器,不需要外部滤波器或RF转换可编程控制的基带调制解调器理想的多路操

作特性可控的数据包处理硬件快速频率变动合成器带来的合适的频率跳跃系统可选的带交错的前向误差校正单独的64字节RX和TX数

据FIFO 高效的SPI接口:所有的寄存器能用一个“突发”转换器控制数字RSSI输出与遵照EN 300 220(欧洲)和FCC CFR47 Part 15 (美国)标准的系统相配自动低功率RX拉电路的电磁波激活功能许多强大的数字特征,使得使用廉价的微控制器就能得到高性能的RF系统集成模拟温度传感器自由引导的绿色数据包对数据包导向系统的灵活支持:对同步词汇侦测的芯片支持,地址检查,灵活的数据包长度及自动CRC处理可编程信道滤波带宽 OOK和灵活的ASK整型支持

2-FSK,GFSK和MSK支持自动频率补偿可用来调整频率合成器到接收中间频率对数据的可选自动白化处理对现存通信协议的向后兼容的异步透明接收传输模式的支持可编程的载波感应指示器可编程前

导质量指示器及在随机噪声下改进的针对同步词汇侦测的保护支持传输前自动清理信道访问(CCA),即载波侦听系统支持每个数据包连接质量指示

引脚功能:1:SCLK 数字输入: SO(GD01) 2:数字输出3:GDO2 数字输出4:DVDD 功率(数字)5:DCOUPL 功率(数字): 6:GDO0(ATEST) 数字IO 7:CSn 数字输入8:XOSC_Q1 模拟IO 9:A VDD 功率(模拟)10:XOSC_Q2 模拟IO 11:A VDD 功率(模拟)12:RF_P RF IO 13:A VDD RF IO 1415:A VDD 功率(模拟)

1619:GND 地(模拟) 17:RBIAS 模拟IO 18:DGUARD 功率(数字)20:SI 数字输入

2:接口电路

对于市场上的大多数的集成CC1100的模块,其内部电路图均相差无几。将CC1100芯片的低频引脚全部引出后(主要包括SPI接口),单片机用户和其他用户即可通过SPI接口对CC1100的寄存器进行设置及状态的检测。此时也可以使用普通的IO口模拟SPI 。

无纸化较好系统的无线数据传输部分工作在443MHZ频率范围内。对于工作在315433MHz频段下的典型应用电路如图二。

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数据,用作原型产品测试的模拟测试IO。

线

图三

最终通过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 读入,这样经过816位数据的传输。SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I^2C总线要快,速度可达到几Mbits

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

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

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

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

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

对于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. (void)

{

V AR_Init(); 变量初始化

IO_Init(); 引脚初始化

TI_CC_SPISetup(); SPI初始化

TI_CC_PowerupResetCCxxxx(); Reset CCxxxx

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

TI_CC_SPIWriteBurstReg(TI_CCxxx0_PA TABLE, 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下降沿触发中断#ifdef WATCHDOG

W ATCHDOG_Init(); 看门狗初始化

#endif

UART0_SendBufEx("-begin-",7);

while (1)

{

#ifdef WIRLTEST

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; 从机地址

相关主题
文本预览
相关文档 最新文档