改基于LinuxARM平台的3G无线联网方
时间:2020-08-29 09:36:19 来源:潞城环保厂家 浏览量:4
基于Linux-ARM平台的3G无线联方案设计
摘要:本研究的目的是实现一个具有3G无线络接入功能的嵌入式系统。系统的硬件平台是基于ARM系列的S3C2410微处理器。文章简要介绍了该系统的体系结构,给出USB主机接口硬件电路。研究基于USB接口的3G无线卡的无线络接入功能实现,包括研究Linux USB设备驱动程序、实现USB Serial设备的驱动、定制Cramfs文件系统。最后移植和配置PPP拨号程序,实现嵌入式系统通过3G无线卡接入无线络的功能。
0 引言
目前,嵌入式技术已广泛应用于工业控制、无线通讯、络应用、消费类电子产品、成像和安全产品等各类产品。随着3G牌照的发放,无线络的带宽大幅扩展,具有3G无线络接入功能的嵌入式系统更加具有发展前景。本文将介绍中兴的AC580无线卡在以S3C2410微处理器为核心的嵌入式系统上的应用。
1 终端系统的硬件平台
1.1 系统体系结构
S3C2410处理器作为核心芯片集成了许多重要功能模块,本系统主要用到以下部分:NandFlash控制器、SDRAM控制器、3个通道的UART、2个USB主机接口、1个USB设备接口、JTAG。NandFlash作为存储器,用于存储支撑整个系统软件的BootLoader、Kernel、文件系统。在开发调试时串口作为控制台起作用,USB设备接口起到与PC机连接并下载传输数据的作用,而USB主机接口用于连接3G无线卡设备,Embedded-ICE(20脚标准JTAG)接口和并口式JTAG接口则支挣ADS软件的下载、调试以及Flash的烧写。系统结构图如下:
1.2 USB主机接口硬件电路
中兴的AC580无线宽带上卡是基于CDMA20001X/EV-DO REVA络的数据卡产品。它采用USB接口进行连接,支持Linux操作系统。其传输速率为上行(反向链路)最高到1.8Mb/s,下行(向前链路)最高3.1Mb/s,工作频段为CDMA800MHz。卡可以直接通过S3C2410集成了的USB HOST控制器接入,不需要附加额外的芯片,非常方便。USB总线协议定义了四条信号线,其中两条负责供电,另外两条负责数据的传输。USB HOST接口硬件电路如图2所示。
2 系统的3G无线络接入功能实现
系统软件包括以下三个部分:vivi作为BOOTLOADER(引导启动程序);Linux-2.6.24作为嵌入式操作系统;Cramfs作为系统的文件系统。系统将采用PPP拨号的方式接入无线络。[page]
2.1 设备驱动与KERNEL
Linux内核采用的是2.6.24版本,需要移植到ARM平台。设备驱动程序可以被看作操作系统的一部分。设备驱动既可以交叉编译到内核镜像中,也可以以模块的形式存放在文件系统中,并在运行时加载模块
。本系统采用的方式是编译到镜像文件中。
USB驱动程序分为主机控制器驱动程序(HostController Driver,HCD)、主机端设备驱动程序(USBD)和不同的USB设备的设备类驱动(Sla-ve Device Driver)。USB的HCD是USB主机驱动程序中直接与硬件交互的软件模块,USBD是整个USB主机驱动程序的核心,而USB设备类驱动则是最终与应用程序交互的软件模块。
USBD和HCD需在配置内核编译选项时选择编译进内核。对于USB设备类驱动,AC580使用的是高通公司的MSM6085芯片,这款芯片能在USB下仿真出串口,并通过它来完成拨号工作。将中兴的USB Serial驱动源码加入内核源码中,修改Makefile和Kconfig,将USB Serial驱动编译进内核。
另外AC580是一个多合一设备,有CDROM、USBMASS Storage、USB Serial三部分,因此还需添加对SCCICDROM、USB MASS Storage的支持。同时为了实现拨号,编译的内核还应添加对PPP协议的支持。
2.2 建立Cramfs文件系统
Cramfs文件系统是专门针对闪存设计的只读压缩的文件系统。当系统需要访问Cramfs文件系统中某个位置的数据时,计算出该数据在文件系统中的位置,并实时解压到内存中。文件系统中的系统基本应用程序可以使用Busybox来定制。
本系统中使用的AC580无线卡连接到主机时,USB缺省工作方式是USB存储设备,在Linux下显示为CDROM和USB Storage两个设备,拨号需要找到USB Serial设备。首先需要安装好USB Serial驱动,其次使用eject/dev/srl命令弹出USB存储设备。这时AC580中的高通芯片将翻转为串口模式(在/dev目录下显示为/ttyUSB0、/ttyUSBl、/ttyUSB2、/ttyUSB3几个设备),可以用于拨号及无线络数据传输。因此在配置编译BusyBOX时,除必须的系统基本应用程序外,还必须置eject命令。
在/lib目录下添加共享链接库。添加内核模块和配置脚本,包括rt73.ko、/linuxrc、/etc目录下的配置文件等。在/dev目录下创建设备节点。字符设备的设备文件由字符“c”来识别,块设备由字符“b”来识别。通常而言,主设备号标识设备对应的驱动程序,大多数设备按照“一个主设备号对应一个驱动程序”的原则组织,次设备号由内核使用,用于正确确定设备文件所指的设备。以下几个节点是必须的
2.3 PPP拨号接入CDMA2000 lx/EVDO无线
PPP是简单链路设计的链路层协议,设计目的主要是用来建立点对点连接进行数据收发。一个PPP会话分为四个步骤:连接建立、连接质量控制、络层协议配置、连接终止。PPP协议作为链路层协议,它是在Linux内核中实现的。
PPP拨号需要拨号程序及拨号脚本。拨号程序选择的是PPP-2.4.1,将交叉编译生成的chat、pppd、pppdump、pppstats程序文件添加至系统文件系统的/usr/sbin目录下。
拨号脚本及所需文件存放在文件系统的/etc/ppp/目录下:pap-secrets、chap-secrets、PPP-off、resolv.conf、chat-connect、/peers/cdma3g。其pap-secrets、chap secrcts是chap和pap认证文件;resolv.conf是域名服务器配当当大部分家电类商品价格比京东便宜。其中置文件;chat-connect是chat脚本;PPP-off是下线脚本;cdma3g是pppd脚本,里面配置了pppd程序参数。以下是主要的PPPd程序参数:
/dev/ttyUSB0 Modem在ttyUSBO上;115200串口的速率;noipdefault不使用指定ip;defaultroute加入缺省路由;scr“vnet干细胞研究人员在经历了10多年的挫折和丑闻后终于迈出了里程碑式的一步。但是实用性、伦理和法律障碍依旧难以逾越。.mobi”用户名;connect‘/usr/sbin/chat-S-V-f/etc/ppp/cbat-connect’调用chat程序并使用chat-connect脚本。
用mkcramfs工具生成Cramfs文件系统。至此,可以利用PPP拨号来实现3G无线络接入功能了:#pppd calledma3g
3 结束语
本文详细介绍了基于S3C2410微处理器的嵌入式Linux系统接入3G无线络的方法,对系统的硬件架构及软件实现进行了详细介绍。3G无线宽带接入功能使得嵌入式系统在无线通讯、络应用、消费类电子等方面具备广阔的发展前景和强大的竞争力,给嵌入式系统带来更广泛的应用。
小孩不爱吃饭缺什么荨麻疹是不是越抓越厉害
铁岭白癜风专科医院是哪个

-
一定要警惕苏格兰牧羊犬健康的危险信号位置
苏格兰牧羊犬和我们一样在成长的过程中都避免不了生病,即使我们很用心的去照顾呵护它们,还是免不了一些意外的发生,一些大的问题我们必须要去...[详细]
2022-06-11
-
几天的萨摩耶眼白处微红怎么回事位置
大概10天前我家可乐眼白处微红,当时没在意.后来开始有少量眼屎,仍然没在意.现在眼白比之前更红了,还是有少量眼屎.其他生活起居一切正常,不耽误吃不...[详细]
2022-06-11
-
以上的猫死于肾衰竭治疗及预防位置
>猫只拥有两个肾脏,每个肾脏皆有输尿管连接膀胱器官。两个肾脏的合共功能通常都会较其在身体所需正常工作的功能为高,因此它们的肾脏功能非常好...[详细]
2022-06-11
-
都看的边境牧羊犬修剪大全集位置
想要自家的边境牧羊犬成为别人眼中的小明星吗,成为明星的首要条件就是要有一个美丽的外表,因此定期给边境牧羊犬美容修剪毛发是很重要的事情,...[详细]
2022-06-11
-
都在看的美容术如何给马尔济斯犬梳位置
训练狗狗是非常开心的事情,如今主人们也注意提高狗狗的生活质量,大家想要科学的对待马尔济斯犬的成长问题,那么就要给狗狗养成良好的生活习惯...[详细]
2022-06-11
-
种常见虫咬问题京巴狗请注意位置
京巴狗得了肺炎、喘气困难、怎么办?月蓝蓝:京巴犬发烧是因为有炎症,建议楼主赶快去医院打吊瓶消炎,一边用物理退烧.多喝水.如果不喜欢喝可以加一...[详细]
2022-06-11