基于ARM与嵌入式Linux的GPRS模块课程设计报告.doc
《基于ARM与嵌入式Linux的GPRS模块课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于ARM与嵌入式Linux的GPRS模块课程设计报告.doc(23页珍藏版)》请在咨信网上搜索。
. . . 课程设计说明书 基于ARM的GPRS模块的设计 目 录 摘要1 1绪论1 1.1 嵌入式系统1 1.1.1 嵌入式系统概述1 1.1.2 嵌入式处理器1 1.2 ARM处理器2 1.3 GPRS无线通讯2 1.3.1 GPRS定义2 1.3.2 GPRS的技术特点2 2 系统选型与设计3 2.1 硬件选型3 2.2 模块总体框图3 3 系统硬件设计3 3.1 ARM硬件结构与电路概述3 3.1.1 SANSUNG S3C2410概述3 3.1.2 ST2410硬件资源分配4 3.1.3 ST2410接口资源6 3.1.4 ST2410 的串口通讯7 3.2 M22通讯电路板的设计10 3.2.1 BENQ电源部分设计11 3.2.2 BENQ M22 与 SIM 卡的接口11 3.2.3 BENQ M22 在语音通讯设计方面的问题11 3.2.4 BENQ M22 通讯板的串口12 4 系统软件设计13 4.1引导加载程序的设计14 4.1.1 BOOTLOADER 的基本概念14 4.1.2 ST2410 的 BOOTLOADER 功能说明16 4.2 串口通讯程序的设计17 4.3 BENQ M22 模块部的软件特性17 5 模块软件运行流程图17 6 模块设计总结19 20 / 23 基于ARM与嵌入式Linux的GPRS模块 摘要 随着科技的高速发展,嵌入式系统已经进入 32 位时代。在当前数字信息技术和网络技术的高速发展的后 PC 时代,嵌入式系统已经广泛地应用于各类产业。随着国外嵌入式产品地进一步开发和推广,嵌入式技术和人类生活的联系越发紧密。 本文介绍了在 SAMSUNG ARM9和嵌入式 Linux 平台上的,基于 BenQ M22 模块的 GPRS 无线通讯模块的软硬件设计。主要容包括: M22 通讯电路板的 PCB 设计;ARM9 中 Bootloader 编程与 FLASH 烧写;M22 和 ARM9 的外围与部硬件电路的设计;串口通讯的编程;AT 指令的收发等等。该系统能够实现语音通讯、短信服务、来电查询、来电显示等功能 关键词:嵌入式;ARM;Linux;GPRS 1绪论 1.1 嵌入式系统 1.1.1 嵌入式系统概述 嵌入式系统(Embedded System),是一种嵌入机械或电气系统部、具有专一功能和实时计算性能的计算机系统。嵌入式系统常被用于高效控制许多常见设备,被嵌入的系统通常是包含数字硬件和机械部件的完整设备,例如汽车的防锁死刹车系统。相反,通用计算机如个人电脑则设计灵活,可以智能处理各式各样的运算情况,以满足广大终端用户不同的需要。 现代嵌入式系统通常是基于微控制器(如含集成存和/或外设接口的中央处理单元)的,但在较复杂的系统中普通微处理器(使用外部存储芯片和外设接口电路)也很常见。通用型处理器、专门进行某类计算的处理器、为手持应用订制设计的处理器等,都可能应用到嵌入式系统。常见的专用处理器有数字信号处理器。 1.1.2 嵌入式处理器 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。可以分为:嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器等。 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。 1.2 ARM处理器 ARM处理器是一种32位嵌入式RISC处理器。ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。 1.3 GPRS无线通讯 1.3.1 GPRS定义 通用分组无线服务(英语:General Packet Radio Service,缩写:GPRS)是GSM移动用户可以使用的一种移动数据业务/技术。它经常被描述成“2.5G”,意指这项技术介于第二代(2G)与第三代(3G)移动通讯技术之间。它是利用GSM网络中未使用的TDMA信道,提供中速的数据传输服务。起初有人想通过扩展GPRS来覆盖其他标准,只是这些网络都正在转而使用GSM标准,这样GSM就成了GPRS唯一能够使用的网络。GPRS在Release 97之后被集成进GSM标准,起先它是由ETSI标准化,但是现在已经移交3GPP负责。 1.3.2 GPRS的技术特点 数据实现分组发送和接收,按流量计费;56~115Kbps的传输速度. GPRS的应用,迟些还会配合Bluetooth(蓝牙技术)的发展。到时,数码相机加了bluetooth,就可以马上通过手机,把像片传送到遥远的地方,也不过一刻钟的时间。 相对于GSM的9.6kbps的访问速度而言,GPRS拥有171.2kbps的访问速度;在连接建立时间方面,GSM需要10-30秒,而GPRS只需要极短的时间就可以访问到相关请求;而对于费用而言,GSM是按连接时间计费的,而GPRS只需要按数据流量计费;GPRS对于网络资源的利用率而相对远远高于GSM。 2 系统选型与设计 2.1 硬件选型 由于ARM系列处理器中 ARM9 对于 Linux 操作系统的支持性明显强于 ARM7。 因此, 本模块采用的核心微处理器是属于ARM9系列微处理器的SAMSUNG S3C2410 出于成本和功能的考虑,本模块中选用的GPRS/GSM选用的BenQ的M22无线模块。 主要仪器设备如下: ①SAMSUNG ST2410 ARM9 开发板 ②SHARP TFT_LCD 液晶屏 ③BenQ M22 GPRS 模块 ④SIM 卡 ⑤GSM 900/1800 MHz 吸盘天线 ⑥BenQ M22 电路板 2.2 模块总体框图 3 系统硬件设计 3.1 ARM硬件结构与电路概述 3.1.1 SANSUNG S3C2410概述 S3C2410A 采用了 ARM920T 核, 0.18um 工艺的 CMOS 标准宏单元和存储单元。它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样它还采用了一种叫做 Advanced Microcontroller Bus Architecture(AMBA) 新型总线结构。 S3C2410 的显著特性是它的 CPU 核心, 是一个由 Advanced RISC Machines(ARM) 设计的 16/32 位 ARM920T RISC 处理器。ARM920T 核由ARM9TDMI、存储管理单元(MMU)和高速缓存三部分组成。其中,MMU 可以管理虚拟存。ARM920T 实现了 MMU,AMBA BUS 和 Harvard 高速缓冲体系结构。这一结构具有独立的 16KB 指令 Cache 和 16KB 数据 Cache,每个都是由 8 字长的行构成。ARM920T 有两个部协处理器:CP14 和 CP15。CP14 用于调试控制,CP15 用于存储系统控制以与测试控制。 S3C2410 的部结构图如图 3.1 所示 图 3.1 S3C2410 部结构图 3.1.2 ST2410硬件资源分配 S3C2410 将系统的存储空间分成 8 组(Bank),每组的大小是 128MB,共 1GB。 Bank0 到 Bank5 的开始地址是固定的,用于 ROM 或 SRAM。Bank6 和 Bank7 用于 ROM、 SRAM 或 SDRAM,这两个组可编程且大小一样。Bank7 的开始地址是 Bank6 的结束 地址,灵活可变。所有存块的访问周期都是可编程的。S3C2410 采用 nGCS[7:0]8 个通用片选信号选择这些组。因此,S3C2410 支持两种启动模式:从 NAND FLASH 启动和从外部 nGCS0 片选的 NOR FLASH 启动。 所以在这两种启动模式下, 各片选的存储空间分配是不同的, 这两种启动模式的存储分配如图 3.3 所示: 图3.3 存储空间分配图 a)图是 nGCS0 片选的 Nor Flash 启动模式下的存储分配图;b)图是 NAND FLASH 启动模式下的存储分配图;说明:SFR Area 为特殊寄存器地址空间。 在进行器件地址说明之前,有一个点需要注意,nGCS0 片选的空间在不同的。 启动模式下,映射的器件是不一样的。 由下表可以知道:在 NAND FLASH 启动模式下,部的 4K Bytes BootSRAM 被映射到 nGCS0片选的空间。在 Nor Flash 启动模式(非 NAND FLASH 启动模式)下,与 nGCS0 相连的外部存储器 Nor Flash 就被映射到 nGCS0 片选的空间。 地址围 说明 片选信号 0x4800_0000~0x6000_0000 SFR(特殊寄存器)地址空间 0x4000_0000~0x4000_0FFF NAND FLASH 启动模式下, 该空间没有被使用 非 NAND FLASH 启动模式 下,该空间为 BootSRam 0x3000_0000~0x3400_0000 SDRAM 空间 nGCS6 0x1900_0300 CS8900 的 IO 基址 nGCS3 0x0000_0000~0x0020_0000 NAND FLASH 启动模式下, nGCS0 BootRam 的有效地址: 0x0000_0000~0x0000_0FFF 非 NAND FLASH 启动模式 下,Nor Flash 的有效地址空 间为: 0x0000_0000~0x0020_0000 表3.1 硬件地址分配表 3.1.3 ST2410接口资源 跳线名称 说明 JP1(核心板) 决定 S3C2410 的启动模式 插上短路块从 Nand Flash 中启动,默认不插 上短路块从 Nor Flash 中启动 表 3.2 跳线分配表 按键名称 说明 S1(Reset)(核心板) 复位按键,小按键 K1~K4 按键 4 键盘 表 3.3 核心板按键说明 接口名称 说明 T1(RJ45) 以太网接口(RJ45, 带隔离器的) UART1(J8), UART3(J7) 串行口 1,2 U10 红外线 IrDA SD_CARD(J1) SD 卡接口 J17 USB HOST 接口 USB_DEVICE(J15) USB DEVICE 接口 J2 音频输出接口 J27 CCFL 背光电源输出接口 J6 板子的电源接口 JP2 一些扩展口 JP1(LCD INTERFACE) LCD 和触摸屏接口 表 3.4 底板接口说明 3.1.4 ST2410 的串口通讯 由于在本系统中 ARM 与 PC 机和 M22 模块都是通过串口进行通讯。在此,我详细介绍一下 S3C2410 的串口资源。 串行通信是微计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用,几乎所有的微控制器,PC 都提供串行通信接口。 (1)串行通讯传输格式 图 3.4 串口的帧数据传输格式 开始前,线路处于空闲状态,送出连续“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 引脚说明: 引脚名称 全称 说明 FG Frame Ground 连到与其的接地线 TXD Transmitted Data 数据输出线 RXD Received Data 数据输入线 RTS Request to Send 要求发送数据 CTS Clear to Send 回应对方发送的RTS的发送许可,告诉对方可以发送 DSR Data Set Ready 告知本机在待命状态 DTR Data Terminal Ready 告知数据终端处于待命状态 CD Carrier Detect 载波检出,用以确认是否收到Modem的载波 SG Signal Ground 信号线的接地线(严格的说是信号线的零标准线) 表3.5 DB9引脚说明 图 3.5 DB9 引脚实物图 要完成基本的通信功能,实际上只需要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.6: 图 3.6 串口连接电路图 其中 J8 串口负责与 BenQ M22 通讯,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 3.2 M22通讯电路板的设计 BenQ M22 通讯电路板主要是由 M22 无线模块的外围接口电路组成(参见附录1)。该电路板主要包括以下几个部分: (1)电源与整流部分 (2)串口通讯接口 (3)SIM 卡电路 (4)差分语音电路 (5)LED 信号灯显示电路 (6)蜂鸣器接口 (7)按键输入 (8)天线接口 其管脚(44 脚)分配如表 3.6 所示 管脚名 管脚数目 描述 UART/RS232 6 RS232 接口 UART2 2 软件调试 BU 1 蜂鸣器输出 GPIO 6 通用 I/O 管脚 Power On 1 上电运行 LED Driver 1 LED 驱动 SIM 4 SIM 卡接口 VBATRF 3 RF 的电源输入 VBATBB 1 BB 的电源输入 Audio 7 语音接口 Keypad Interrupt 1 键盘中断接口 BGND 10 地 NC 1 无连接 表 3.6 BenQ M22 管脚分配表 3.2.1 BenQ电源部分设计 我们知道无线模块的耗电具有不稳定的特点。在待机状态,在和基站的握手状态,在通话状态,在拨号状态,在信号强弱不同的地方这些因素都会直接的影响无线模块的耗电流,所以无线模块的电源设计非常重要。 因此我的电源设计方案采用LM7805和LM2576的联合设计。 直流电源(+12V)输入LM7805,然后输出DC5V,与此同时通过LM2576产生DC4V电压供给M22。由于LM2576具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为M22的稳定、可靠工作提供了强有力的保证。 图 3.9 M22 电路板电源部分电路原理图 3.2.2 BenQ M22 与 SIM 卡的接口 由于 BenQ M22 必须通过中国电信的 GSM/GPRS 网络才能够工作, 所以必须要用到 SIM 卡。安装时只要以右上角的缺口为准即可。 图 3.10 SIM 卡接口电路原理图 3.2.3 BenQ M22 在语音通讯设计方面的问题 在语音通讯方面,M22 提供了两个语音通道: 一个我们叫做差分通道,也就是说无论是MICPHONE信号的输入,还是SPEAKER信号的输出都是采用差分的形式。也就是我们平时所说的“双端输入双端输出”。在管脚的定义上MICIP,MICIN就分别是MICPHONE的正输入端和负输入端。EARP,EARN就分别是SPEAKER的正输出端和负输出端。另一路语音通道是单端方式。具体管脚定义为AUXI和AUXOP。 其中AUXI为MICPHONE的正输入端,MICPHONE的负输入端应该对地。AUXOP为SPERKER的正输出端,SPERKER的另一端应该对地。当然从外部线路的转换来说在这一路语音通道的使用中,MICPHONE也可以接成差分的形式,但是需要一个转换电路。SPERKER也可以接成差分输入的形式,也需要一个差分转单端的线路。 以上说了关于单端语音通道的一些问题。下面我们叙述一下差分语音通道的一些问题。 图3.11是差分端的MICPHONE 输入参考图 图 3.11 差分方式的 MICPHONE 电路原理图 图3.12是SPEAKER 的线路图 图 3.12 差分方式的 SPEAKER 电路原理图 需要说明的是,由于单端输入单端输出的语音通道特别容易受到辐射干扰,从而对语音的质量产生了很大的影响,所以在本系统中只采用了差分语音通道。 3.2.4 BenQ M22 通讯板的串口 前面已经提到了由于 RS-232 电平的问题,M22 不能直接和 PC 机通讯,但是可以直接和 ARM 或单片机通讯,不需要任何电平转换芯片。那为什么这里却又需要一个电平转换芯片(SP3238)呢? 主要是由于 ST2410 上的串口已经通过了 MAX232,转换成了 RS-232-C 电平。 为了能够与其通讯,必须也要将由 M22 出来的串口信号转换成 RS-232-C 电平。 在此,我们采用的是另一种电平转换芯片 SP3238。因为此芯片可以一次转换 9 个信号线,与 MAX232 相比更方便。 图 3.20 M22 与 ARM 进行串口通讯原理图 图 3.21 SP3238 与 M22 接口的电路原理图 4 系统软件设计 该GPRS通讯程序是在ARM ADS 1.2(ARM Developer Suite。是ARM 公司推出的新一代ARM 集成开发工具。)集成开发环境中编译通过后,然后产生可以直接烧写在FLASH 中的.bin 格式的二进制可执行文件,最后进行下载运行的。 4.1引导加载程序的设计 引导加载程序(Bootloader)是嵌入式系统的重要组成部分。 4.1.1 Bootloader 的基本概念 一个嵌入式 Linux 系统从软件的角度看,通常可以分为四个层次: (1)引导加载程序:包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。 (2)Linux 核:特定于嵌入式板子的定制核以与核的启动参数。 (3)文件系统: 包括根文件系统和建立于 Flash 存设备之上文件系统。 (4)用户应用程序。特定于用户的应用程序,有时在用户应用程序和核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式 GUI 有:MicroWindows和 MiniGUI 等。 引导加载程序是系统加电后运行的第一段代码。我们熟悉的 PC 中的引导程序一般由 BIOS 和位于 MBR 的 OS bootloader(例如 LILO 或者 GRUB)一起组成。然而在嵌入式系统常没有像 BIOS 那样的固件程序(有的嵌入式 CPU 有),因此整个系统的加载启动任务就完全由 bootloader 来完成。在嵌入式 Linux 中,引导加载程序即等效为 bootloader。 简单地说,bootloader 就是在操作系统核运行前运行地一段小程序。通过这段小程序,我们可以初始化必要的硬件设备,创建核需要的一些信息并将这些信息通过相关机制传递给核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统核,真正起到引导和加载核的作用。 bootloader 是依赖于硬件而实现的,特别是在嵌入式系统中。每种不同的 CPU 体系结构都有不同的 Boot Loader。有些 Boot Loader 也支持多种体系结构的 CPU,比如 U-Boot 就同时支持 ARM 体系结构和 MIPS 体系结构。除了依赖于 CPU 的体系结构外,Boot Loader 实际上也依赖于具体的嵌入式板级设备的配置。也就是说,对于两块不同的嵌入式板而言,即使它们基于一样的 CPU构建,运行在其中一块电路板上的 bootloader,未必能够运行在另一块电路开发板上。尽管如此,我们仍然可以对 Bootloader 归纳出一些通用的概念来,以指导用户特定的 Bootloader 设计与实现: (1)Boot Loader 的安装媒介 系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。比如,基于 ARM7TDMI core 的 CPU 在复位时通常都从地址 0x00000000 取它的第一条指令。而基于 CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM 或 FLASH 等)被映射到这个预先安排的地址上。因此在系统加电后,CPU 将首先执行 Boot Loader 程序。 (2)用来控制 Boot Loader 的设备或机制 主机和目标机之间一般通过串口建立连接,Boot Loader 软件在执行时通常会通过串口来进行 I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。 (3)Bootloader 的启动方式 Bootloader 的启动过程可以是单阶段的,也可以是多阶段的。通常多阶段的 bootloader 能提供更为复杂的功能,以与更好的可移植性。从固态存储设备上启动的 bootloader 大多数是二阶段的启动过程,也即启动过程可以分为 stage1 和 stage2 两部分。 Boot Loader 的 stage1 通常包括以下步骤: 1)硬件设备初始化。 2)为加载 Boot Loader 的 stage2 准备 RAM 空间。 3)拷贝 Boot Loader 的 stage2 到 RAM 空间中。 4)设置好堆栈。 5)跳转到 stage2 的 C 入口点。 Boot Loader 的 stage2 通常包括以下步骤 1)初始化本阶段要使用到的硬件设备。 2)检测系统存映射(memory map)。 3)将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。 4)为核设置启动参数。 5)调用核。 (4)Bootloader 的操作模式 大多数 bootloader 都包含两种不同的操作模式:“启动加载”模式和“下载”模式,这种区别对于开发人员才有意义。但从最终用户的角度看,bootloader的作用永远就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。 启动加载模式:这种模式也称为“自主”模式,即 bootloader 从目标机上的某个固体存储设备上将操作系统加载到 RAM 中运行,整个过程没有用户的介入。这种模式是 bootloader 的正常工作模式,因此当以嵌入式产品发布的时候,bootloader 必须工作在这种模式下。 下载模式:在这种模式下,目标机上的 bootloader 将通过串口或者网络连接或者其它通信手段从主机下载文件,比如:下载核镜像和根文件系统镜像等。从主机下载的文件通常首先被 bootloader 保存到目标机的 RAM 中,然后被 bootloader 写到目标机上的 FLASH 类固态存储设备中。 Bootloader 的这种模式通常在第一次安装核与根文件系统时使用;此外,以后的系统更新也会使用 bootloader 的这种工作模式。工作于这种模式下的 bootloader 通常都会向它的中断用户提供一个简单的命令行接口。 (5)Bootloader 的功能扩展 Bootloader 最主要的功能是引导加载核镜像。但是随着嵌入式系统的发展,bootloader 已经逐渐在基本功能的基础上,进行了扩展,bootloader 可以更多地增加对具体系统的板级支持,即增加一些硬件模块功能上的使用支持,以方便开发人员进行开发和调试。从这个层面上看,功能扩展后的 bootloader 可以虚拟地看成是一个微小的系统级的代码包。 4.1.2 ST2410 的 Bootloader 功能说明 以上介绍了一般嵌入式系统中的 Bootloader 的特点。 如前所述,对于不同的目标板和外围硬件电路,Bootloader 的设计是不一样的。本系统的 Bootloader 除了具有一般的功能外,还具有以下扩展功能: (1) USB 口文件下载 (2) 串口文件下载 (3) NOR 和 NAND FLASH 的烧写 (4) 运行存储在 FLASH 中的程序 (5)针对Linux设置启动参数 (6)设置Wince或Linux的自启动 (7)运行BenQ M22 GPRS通讯系统 ST2410 的 Bootloader 的流程图,如图 4.1 所示 图4.1 Bootloader流程图构 如前所述,此核心板一共由三大存储设备 ① Nor Flash(2M) ② Nand Flash(64M) ③ SDRAM(64M)。 前两个 Flash 设备就犹如 PC 机的两块硬盘,(由于 Nand Flash 无论在价格与性能上都优于 Nor Flash,因此现在一般都采用 Nand Flash。)而 SDRAM 就犹如 PC 机的存设备。 4.2 串口通讯程序的设计 如前所述,本系统有三大模块: PC 机:主要负责人机交互。在 PC 机上运行 DNW(一种串口调试软件),从而可以显示和接受来自 ARM 的数据。 ARM 微处理器:核心处理器。将已经编写成功的 GPRS 通讯程序烧写到其 Nand Flash 中。 M22 通讯模块:GPRS 通讯的具体实现。接受来自 ARM 的 AT 指令,从而进行 GPRS 通讯,并将有用的信息反馈给 ARM。 4.3 BenQ M22 模块部的软件特性 下面我们来描述一下 BenQ M22 模块部集成的软件系统。对于无线 PSTN 的用户,BenQ 提供 AT 指令的支持。 BenQ M22 的部集成的软件包括以下 3 个部分: Layer 1 驱动 协议栈/AT 命令 基本接口 由于在无线 PSTN 和 BenQ M22 模块中都有微处理器,在这两者之间的接口通常是 AT 指令。当然由于协议栈(TCP/IP)的存在,我们也可以通过发送 AT 指令达到联通 GSM/GPRS 网的目的。 5 模块软件运行流程图 图 5.1 软件主菜单流程图 图 5.2 外电呼入时流程图 图 5.3 发送短信流程图 图 5.4 本查询流程图 图 5.5 主动呼叫流程图 6 模块设计总结 计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式系统是构成未来世界的“数字基因”。嵌入式系统与无线通讯网络的有机结合,构成了最具吸引力的嵌入式通讯设备:设计应用到车载 GPS 系统,手持 PDA,智能手机等各方面。本文针对 BenQ M22 无线模块在无线通讯方面的应用,对基于 ARM9 与嵌入式 Linux 的 GPRS 无线通讯系统的软件和硬件方面的设计进行了研究,并对可以实现的语音通讯、短信控制、本记录、来电查询、来电显示等功能进行了验证。 (1)硬件设备和开发平台的选择是嵌入式开发中的关键环节。硬件发面,本文对三星公司的各种 ARM 系列进行了分析分析比较,选取了性价比更高,应用更广泛,对 Linux 操作系统支持性更好的 ARM 构架的为处理系列的芯片S3C2410X。同样,在 GSM/GPRS 通讯模块的选择上,选取的是明基公司的 M22 无线通讯模块。开发平台方面, Linux 的可靠性、开源性、低成本以与丰富的开发工具和开发资源,使得选择嵌入式 Linux 系统成为必然。 (2)引导装载程序(Bootloader)的开发是嵌入式开发中非常重要的环节。本文充分利用嵌入式 Linux 系统的开源特性,先对业界标准的引导装载程序 vivi 进行了分析,然后再针对 ST2410 开发板的外围电路设计了相应的 Bootloader,并在此基础上增加了 M22 无线通讯功能。在通过 ADS 1.2 调试通过后,便直接下载到 ARM 中运行。因此,简化了开发流程,缩短了开发周期。 (3)M22 模块通讯电路板的设计是本系统的关键部分。本文首先就 M22 外围电路中的几个具体问题做了详细的说明与解释:如电源部分的设计、差分语音通讯的电路、M22 与 SIM 卡的接口设计、天线的选择等等。又因为此 PCB 是高频电路板,与其他的 PCB 设计有很多的不同之处。本文也同时详细的讨论了高频 PCB 设计的方法与注意事项,从而为后续工作搭建了一个很好的平台。 (4)本系统 3 个模块之间都是采用串口进行通讯的。本文先分别对 PC 机、ARM、M22 模块的串口接口电路进行了深入比较与研究,然后针对 AT 指令,对具体的串口通讯的接口编程的步骤和方法进行了详细的讨论。 ARM 与嵌入式 Linux 搭配的开发是目前嵌入式开发领域最热门的话题,也是嵌入式开发未来的重要方向。在对基于 ARM 微处理器和嵌入式 Linux 的 GPRS 通讯系统进行研究之后,本文认为该系统能够很好的满足嵌入式设备在无线通讯和远程控制领域的要求。由于 Linux 系统中软件驱动部分的可扩展性,我们可以想象该系统还有很大改进与上升空间。如为了满足可视化的需要或加强人机交互,可以将 Linux 系统中的 GUI 移植到本系统中。由此可见,这是一个值得深入研究的课题。 参考文献: [1]俞昌忠. 基于嵌入式Web服务器的GPRS无线数据传输系统的设计[D].工程大学,2012. [2]钦伟. 基于嵌入式Linux与GPRS的无线销售系统设计与实现[D].中南大学,2011. [3]王栋. 基于GPRS的嵌入式系统无线通信技术的研究[D].理工大学,2008. [4]朝. 基于嵌入式与GPRS技术的无线监测终端研究[D].西北工业大学,2007.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 嵌入式 Linux GPRS 模块 课程设计 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文