基于ARM与嵌入式Linux的GPRS无线通讯系统.docx
- 文档编号:23972143
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:47
- 大小:992.91KB
基于ARM与嵌入式Linux的GPRS无线通讯系统.docx
《基于ARM与嵌入式Linux的GPRS无线通讯系统.docx》由会员分享,可在线阅读,更多相关《基于ARM与嵌入式Linux的GPRS无线通讯系统.docx(47页珍藏版)》请在冰豆网上搜索。
基于ARM与嵌入式Linux的GPRS无线通讯系统
摘要
随着科学技术的发展,嵌入式系统开发已经进入32位时代。
在当前数字信息技术和网络技术的高速发展的后PC时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业以及人们地日常生活等方方面面中。
随着国内外嵌入式产品地进一步开发和推广,嵌入式技术越来越和人们地生活密切相关。
本文主要介绍了以SAMSUNGARM9(S3C2410)和嵌入式Linux为平台的,基于BenQM22模块的GPRS无线通讯系统的硬件和软件方面的设计。
主要内容包括:
M22通讯电路板的PCB设计;ARM9中Bootloader编程与FLASH烧写;M22和ARM9的外围与内部硬件电路的设计;串口通讯的原理与编程;AT指令的收发等等。
该系统实现了以下功能:
语音通讯;短信服务;电话薄的记录与修改;来电查询;来电显示等等。
关键词:
嵌入式ARMM22GPRSAT
基于ARM与嵌入式
Linux的GPRS无线通讯系统
1、设计题目
基于ARM与嵌入式Linux的GPRS无线通讯系统
2、设计要求
1、利用分组将数据在网络中传送,达到多用户间对网络资源的共享
2、同时网络运营机构可以最大限度地使用现有GSM设备,避免了GSM设备投资的浪费。
3、数据传送使用GPRS,而语音传送使用GSM,使下载资料和通话可以同时进行。
3、设计作业及目的
1、了解什么是GPRS及其体系结构和基本功能
2、了解GPRS的是如何传输数据
3、了解GPRS在当前时代的运用
4、设计所用设备及软件
(1)SAMSUNGST2410ARM9开发板
(2)SHARPTFT_LCD液晶屏
(3)BenQM22GPRS模块
(4)神州行SIM卡
(5)GSM900/1800MHz吸盘天线
(6)BenQM22电路板
五、系统设计
1、ARM处理器选型
ARM微处理器目前包括下面ARM7,ARM9,ARM9E,ARM10E,SecurCore,Xscale,StrongARM等几个系列.鉴于当前电子市场上的情况,在此我主要讨论一下ARM7与ARM9这两种主流处理器的特点及应用领域。
(1)ARM7微处理器系列
ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。
ARM7微处理器系列具有如下特点:
-具有嵌入式ICE-RT逻辑,调试开发方便。
-极低的功耗,适合对功耗要求较高的应用,如便携式产品。
-能够提供0.9MIPS/MHz的三级流水线结构。
-代码密度高并兼容16位的Thumb指令集。
-对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。
-指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
-主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:
工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:
ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。
其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
(2)ARM9微处理器系列
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。
具有以下特点:
-5级整数流水线,指令执行效率更高。
-提供1.1MIPS/MHz的哈佛结构。
-支持32位ARM指令集和16位Thumb指令集。
-支持32位的高速AMBA总线接口。
-全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。
-MPU支持实时操作系统。
-支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型.
由此可见,ARM9对于Linux操作系统的支持性明显强于ARM7。
因此,本系统采的核心微处理器是SAMSUNGS3C2410(以ARM920T为内核)。
2、GSM/GPRS模块选型
目前市面上出现的主流GPRS/GSM模块主要有以下几种:
(1)BenQ公司的M20/M22(A)/M32(A)模块;
(2)SIEMENS公司的TC35i/MC35模块;
(3)SonyEricsson公司的GR47/GR48模块
考虑到市场的普及度与可靠性的要求,我们选择BenQ公司的通讯模块。
下面详细的比较一下BenQ公司的这些系列模块。
(1)从他们能够实现的功能来说,M20只支持GSM功能,而M22,M22A,M32,M32A则支持GSM/GPRS功能,其中M22,M22A支持GPRSCLASS4,M22内置了嵌入式TCP/IP,可以支持数据业务的透明和非透明传输,M22A没有内置嵌入式的TCP/IP;M32,M32A支持GPRSCLASS10,现在都提供了嵌入式TCP/IP功能。
(2)从封装上来说,M20,M22,M22A,M32A使用连接座式接口,模块上自带天线MMCX接头,其中,M20还自带SIM卡座,而M32则是PLCC式封装,不带天线接头。
(3)应用的领域来说,M20可以应用于GSM语音通讯以及短信息通信,譬如路灯管理,道路紧急电话,利用短信息进行实时性要求不高,数据量不大的数据通信,无线商务电话等,M22,M22A,M32A除了实现M20这些功能以外,由于支持GPRS甚至拥有嵌入式的TCP/IP,可以用于实时性要求较高,数据量相对较大,传输速度相对较快的数据通信领域,如电力抄表,无线POS机,工业数据传输,无线上网卡。
鉴于设计成本与功能上的要求,本系统采用BenQM22无线模块。
BenQM22特性如下:
z支持频段:
EGSM900/DCS1800/PCS1900MHZ
z符合ETSIGSMphase2+
z支持SIM接口:
+3V
z工作电压3.2V~4.2V
z通讯功能:
支持GSM语音,数据,传真,短消息及GPRS数据传输等
z软件支持标准ATcommand(3GPP27.07/27.05)
z尺寸:
36.8x35.2x2.85(mm)
z48PINLCC封装
3、系统设计方案总体框架图
6、系统硬件设计
1、ARM硬件结构与外围电路
1.1SAMSUNGS3C2410
S3C2410对于片内的各个部件采用了独立的电源供给方式:
(1)内核采用1.8V供电;
(2)存储单元采用3.3V独立供电;
(3)I/O采用独立3.3V供电
S3C2410的内部结构图如图3.1所示
图1.1S3C2410内部结构图
1.2ST2410开发板的硬件结构
本系统采用的是深圳优龙公司开发的基于SAMSUNGARM9的ST2410开发板。
该开发板的外围电路及功能如下所示:
(1)采用三星公司的S3C2410,主频可达203MHz;
(2)64M字节的SDRAM,由两片K4S561632组成,工作在32位模式下;
(3)64M字节NANDFlash,采用的是K9F1208,可以兼容16M,32M或128M字节;
(4)2M字节的NorFlash,采用的是SST39VF1601,工作在16位模式;
(5)10M以太网接口,采用的是CS8900Q3,带传输和连接指示灯;
(6)LCD和触摸屏接口;
(7)1个USBHOST,S3C2410内置的,符合USB1.1;一个USBDevice,S3C2410内置的,符合USB1.1;
(8)支持音频输入和音频输出,音频模块由S3C2410的IIS音频总线接口和UDA1341音频编码解码器组成,板上还集成了一个MIC,用于音频输入;
(9)2路UART串行口,波特率可高达115200bps,并具有RS232电平转换电路;
(10)SD卡接口,兼容SDMemoryCardProtocol1.0和SDIOCardProtocol1.0;
(11)Embedded-ICE(20脚标准JTAG)接口和并口式JTAG接口,支持ADS,SDT软件的下载和调试以及FLASH的烧写;
(12)串行EEPROM:
AT24C024KbytesEEPROM,IIC接口;
(13)蜂鸣器,4个LED灯;4个按键,开关电源,分布式电源供电,3V锂电池,提供CPU内置RTC操持电源;
图1.2ST2410开发板实物图
1.3ST2410硬件资源分配
S3C2410将系统的存储空间分成8组(Bank),每组的大小是128MB,共1GB。
Bank0到Bank5的开始地址是固定的,用于ROM或SRAM。
Bank6和Bank7用于ROM、SRAM或SDRAM,这两个组可编程且大小相同。
Bank7的开始地址是Bank6的结束地址,灵活可变。
所有内存块的访问周期都是可编程的。
S3C2410采用nGCS[7:
0]8
个通用片选信号选择这些组。
因此,S3C2410支持两种启动模式:
z从NANDFLASH启动
z从外部nGCS0片选的NORFLASH启动
所以在这两种启动模式下,各片选的存储空间分配是不同的,这两种启动模式的存储分配如图3.3所示:
图3.1存储空间分配图
a)图是nGCS0片选的NorFlash启动模式下的存储分配图;
b)图是NANDFLASH启动模式下的存储分配图;说明:
SFRArea为特殊寄存器地址空间
在进行器件地址说明之前,有一个点需要注意,nGCS0片选的空间在不同的启动模式下,映射的器件是不一样的。
由下表可以知道:
(1)在NANDFLASH启动模式下,内部的4KBytesBootSRAM被映射到nGCS0片选的空间。
(2)在NorFlash启动模式(非NANDFLASH启动模式)下,与nGCS0相连的外部存储器NorFlash就被映射到nGCS0片选的空间。
表3.2硬件地址分配表
地址范围
说明
片选信号
0x4800_0000~0x6000_0000
SFR(特殊寄存器)地址空间
0x4000_0000~0x4000_0FFF
NANDFLASH启动模式下,
该空间没有被使用
非NANDFLASH启动模式
下,该空间为BootSRam
0x3000_0000~0x3400_0000
SDRAM空间
nGCS6
0x1900_0300
CS8900的IO基址
nGCS3
0x0000_0000~0x0020_0000
NANDFLASH启动模式下,
BootRam的有效地址:
0x0000_0000~0x0000_0FFF
nGCS0
非NANDFLASH启动模式下,NorFlash的有效地址空间为:
0x0000_0000~0x0020_0000
1.4ST2410接口资源
表3.3跳线分配表
跳线名称
说明
JP1(核心板)
决定S3C2410的启动模式
插上短路块从NandFlash中启动,默认不插上短路块从NorFlash中启动
表3.4核心板按键说明
按键名称
说明
S1(Reset)(核心板)
复位按键,小按键
K1~K4按键
4键盘
表3.5底板接口说明
接口名称
说明
T1(RJ45)
以太网接口(RJ45,带隔离器的)
UART1(J8),UART3(J7)
串行口1,2
U10
红外线IrDA
SD_CARD(J1)
SD卡接口
J17
USBHOST接口
USB_DEVICE(J15)
USBDEVICE接口
J2
音频输出接口
J27
CCFL背光电源输出接口
J6
板子的电源接口
JP2
一些扩展口
JP1(LCDINTERFACE)
LCD和触摸屏接口
1.5ST2410的串口通讯
由于在本系统中ARM与PC机和M22模块都是通过串口进行通讯。
在此,我详细介绍一下S3C2410的串口资源。
串行通信是微计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用,几乎所有的微控制器,PC都提供串行通信接口。
(1)串行通讯传输格式
图3.6串口的帧数据传输格式
开始前,线路处于空闲状态,送出连续“1”。
传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。
每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编
码。
后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。
也可以约定不要奇偶校验,这样就取消奇偶校验位。
最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。
至此一个字符传送完毕,线路又进入空闲,持续为“1”。
经过一段随机的时间后,下一个字符开始传送才又发出起始位。
每一个数据位的宽度等于传送波特率的倒数。
微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600等。
(2)电气特性
RS-232标准采用的接口是9芯或25芯的D型插头,常用的一般是9针插头
(DB-9),表3.5是DB9引脚说明:
表3.7DB9引脚说明
引脚名称
全称
说明
FG
FrameGround
连到及其的接地线
TXD
TransmittedData
数据输出线
RXD
ReceivedData
数据输入线
RTS
RequesttoSend
要求发送数据
CTS
CleartoSend
回应对方发送的RTS的发送许可,告诉对方可以发送
DSR
DataSetReady
告知本机在待命状态
DTR
DataTerminalReady
告知数据终端处于待命状态
CD
CarrierDetect
载波检出,用以确认是否收到Modem的载波
SG
SignalGround
信号线的接地线(严格的说是信号线的零标准线)
图3.8DB9引脚实物图
要完成基本的通信功能,实际上只需要RXD,TXD,GND即可,但是由于BenQ的M22通讯模块需要握手信号(RTS和CTS),所以在本系统中至少要接5根线。
同时又由于RS-232-C标准所定义的高,低电平信号与S3C210X系统的LVTTL电路定义的高,低电平信号完全不同,LVTTL的标准逻辑“1”对应2V~3.3V电平,标准逻辑“0”对应0V~0.4V电平,而RS-232-C标准采用负逻辑方式,标准逻辑“1”对应-5V~-15V电平,标准逻辑“0”对应+5V~+15V。
显然,两者间要进行通信,必须经过电平的转换,转换芯片采用的MAX232。
电路原理图见图3.10:
图3.10串口连接电图
其中J8串口负责与BenQM22通讯,J7串口负责与PC机通讯。
(3)S3C2410的UART操作
S3C2410的UART(通用异步串行口)单元提供三个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下进行。
它们支持最高波特率115.2Kbps。
每个UART通道包含2个16位FIFO分别提供给接收和发送。
S3C2410X的UART可以进行以下参数的设置:
可编程的波特率,红外收/发模式,1或2个停止位,5位,6位,7位或8位数据宽度和奇偶位校验。
1)发送数据
数据发送帧的格式是可编程的,它包含一个开始位,5到8个数据位,一个可选的奇偶位和一个或两个停止位,这些可以通过线性控制器UCONn)来设置。
发送器也能够产生发送中止条件。
中止条件迫使串口输出保持在逻辑0状态,这种状态保持一个传输帧的时间长度。
通常在一帧传输数据完整地传输完之后,在通过这个全0状态将中止信号发送给对方。
中止信号发送之后,传送数据连续放到FIFO中(在不使用FIFO模式下,将被放到输出保持寄存器)。
2)接收数据与数据发送一样,数据接收的帧也是可以编程的,它包含一个开始位,5到8
个数据,一个可选的奇偶位和一位或两位停止位,它们都是通过线性控制器
(ULCONn)来设置的。
接收器能够检测溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都将会将一个错误标志置位。
3)波特率的设置
每个UART的波特率发生器为传输提供了串行移位时钟。
波特率产生器的时钟源可以C、
从S3C2410X的内部系统时钟或UCLK中来选择。
波特率由时钟源(PCLK或UCLK)
16分频和
UART波特率除数寄存器(UBRDIVn)指定的16位除数决定。
UBRDIVn的值可以按照下式确定:
UBRDIVn=(int)(PCLK/(bps*16))-1例如,如果波特率为115200bps且PCLK或UCLK为40MHz,则UBRDIVn为:
UBRDIVn=(int)(40000000)(115200*16))-1
=(int)(21.7)-1
=21-1=20
2、M22通讯电路板的设计
BenQM22通讯电路板主要是由M22无线模块的外围接口电路组成(参见附录
1)。
该电路板主要包括以下几个部分:
(1)电源与整流部分
(2)串口通讯接口
(3)SIM卡电路
(4)差分语音电路
(5)LED信号灯显示电路
(6)蜂鸣器接口
(7)按键输入
(8)天线接口
2.1BenQM22GSM/GPRS无线模块
BenQ的这款M22无线模块能通过手机网络为任何需要语音通讯和数据传输要求的产品提供无线通讯解决方案。
主要用于以下方面:
无线PSTN、车载电话、无线终端、报警或安全系统、远程控制、短信通讯
其管脚(44脚)分配如表3.11所示
表3.11BenQM22管脚分配表
管脚名
管脚数目
描述
UART/RS232
6
RS232接口
UART2
2
软件调试
BU
1
蜂鸣器输出
GPIO
6
通用I/O管脚
PowerOn
1
上电运行
LEDDriver
1
LED驱动
SIM
4
SIM卡接口
VBATRF
3
RF的电源输入
VBATBB
1
BB的电源输入
Audio
7
语音接口
KeypadInterrupt
1
键盘中断接口
BGND
10
地
NC
1
无连接
图3.12M22模块内部结构框图
图3.13M22模块管脚图
2.2BenQM22电源部分的设计
我们知道无线模块的耗电具有不稳定的特点。
在待机状态,在和基站的握手状态,在通话状态,在拨号状态,在信号强弱不同的地方这些因素都会直接的影响无线模块的耗电流,所以无线模块的电源设计非常重要。
M22推荐的电源电压范围为DC3.6-4V,所以我在设计电源的时候取3.8V的电压,模块在工作中最大的瞬间电流能够达到1.7A,所以考虑到大电流的需要,我采用LM2576开关稳压芯片。
又因为较高的输出电压纹波(一般大于20mV)是开关稳压电源设计中不可回避的问题。
在某些对电源纹波电压有特殊要求的场合(如MCU内部有高精度A/D转换器等),可采用开关稳压电源来提高稳压电源的工作效率或采用线性稳压电源来降低稳压电源的输出纹波电压。
因此,采用开关稳压电源与线性稳压电源相结合的形式可为有特殊要求的MCU供电提供一种更好的方法。
因此我的最终电源设计方案采用LM7805和LM2576的联合设计。
直流电源(+12V)输入LM7805,然后输出DC5V,与此同时通过LM2576产生
DC4V电压供给M22。
由于LM2576具有可靠的工作性能、较高的工作效率和较强的
输出电流驱动能力,从而为M22的稳定、可靠工作提供了强有力的保证。
图3.14M22电路板电源部分电路原理图
2.3BenQM22天线的选择
实际上天线的选择总是一个难题。
因为这和整个系统有关系,甚至和不同地区的GSM网络有一定的关系。
BENQ在对天线的选择上推荐了一个如下的参考标准:
表3.15频率波段范围
表3.16VSWR(驻波比)参数表
另外,对Impedance也要求为50ohms。
2.4BenQM22与SIM卡的接口
由于BenQM22必须通过中国电信的GSM/GPRS网络才能够工作,所以必须要用到SIM电话卡。
安装时只要以右上角的缺口为准即可。
图3.17SIM卡接口电路原理图
2.5BenQM22在语音通讯设计
在语音通讯方面,M22提供了两个语音通道:
一个我们叫做差分通道,也就是说无论是MICPHONE信号的输入,还是SPEAKER信号的输出都是采用差分的形式。
也就是我们平时所说的“双端输入双端输出”。
在管脚的定义上MICIP,MICIN就分别是MICPHONE的正输入端和负输入端。
EARP,EARN就分别是SPEAKER的正输出端和负输出端。
另一路语音通道是单端方式。
具体管脚定义为AUXI和AUXOP。
其中AUXI为MICPHONE的正输入端,MICPHONE的负输入端应该对地。
AUXOP为SPERKER的正输出端,SPERKER的另一端应该对地。
当然从外部线路的转换来说在这一路语音通道的使用中,MICPHONE也可以接成差分的形式,但是需要一个转换电路。
SPERKER也可以接成差分输入的形式,也需要一个差分转单端的线路。
图3.18是差分端的MICPHONE输入参考图
图3.18差分方式的MICPHONE电路原理图
图3.19是SPEAKER的线路图
图3.19差分方式的SPE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 嵌入式 Linux GPRS 无线通讯 系统