当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]嵌入式无线局域网设备的设计与实现

1 嵌入式系统简介

  嵌入式系统是指以计算机技术为基础、以应用为中心、软件硬件可裁剪,功能、可靠性、功耗、体积、成本有着严格要求的专用计算机系统。追求“短、小、轻、薄,省电、快、成本低”的目标。嵌入式系统设备已广泛应用于制造工业、过程控制、仪器仪表、军事装备、消费类产品等领域。嵌入式系统由软硬件组成,一般分为五个部分:处理器、存储器、输入输出、操作系统和应用软件。如图1所示:

  嵌入式系统最初的应用是基于单片机的,它只是使用8位的芯片执行一些简单的单进程的程序,没有多进程的任务调度,还谈不上系统。随着16/32 位嵌入式微处理器的出现,嵌入式系统开始引入嵌入式操作系统,从而使得应用开发人员从小范围的开发中解放出来,也使嵌入式有了更广阔的应用空间。比较著名的嵌入式操作系统有ISI的pSOS、WindRiver的VxWorks、QNX的QNX、微软的WinCE、以及源代码开放的Linux和uC/os 等。

图1:嵌入式系统组成结构图

  2无线局域网概述

  无线局域网(Wireless Local Area Network ,WLAN)属于一种短距离无线通信技术,是现代计算机网络与无线通信技术相结合的产物。通过无线射频(RF)或红外(Infra Red ,IR)技术在空中传输数据、语音和视频信号等。无线局域网可在一些特殊的应用环境中弥补依靠线缆或光缆构成的有线以太网的不足,实现网络的延伸。

  无线局域网标准的物理层定义了两种射频传输方式和一种红外传输方式。RF方式使用的频段有三个:L频段(902MHz~928MHz)、S频段(2.4GHz~2.4835GHz)、C频段(5.725GHz~5.85GHz)。一般使用S频段,该频段被叫做ISM(Industry Science Medical)频段即工业科学医疗频段,ISM频段不受美国联邦通信委员会(FCC)的限制,属于工业自由辐射频段。工作在此频段的无线局域网有直接序列扩频(Direct Sequence Spread Spectrum, DSSS)和跳频扩频(Frequency Hopping Spread Sprectrum ,FHSS)两种扩频方法。

  1997 年6 月, IEEE 通过了无线局域网的标准,即802.11标准。IEEE 802.11无线局域网标准的制定是无线网络技术发展的一个里程碑, 标准主要是对网络的物理层(PHY)和媒质访问控制层(MAC) 进行了规定,其中对MAC 层的规定是重点。

  802.11速率最高只能达到2Mbps ,不能满足人们的需要, IEEE小组又推出了802.11b标准。IEEE802.11b工作在2.4GHz频段,采用直接序列扩频DSSS技术和补偿码键控CCK调制方式,可提供11Mb/ s、5.5Mb/s、2Mb/s、1Mb/s多种速率,且在2Mb/s、1Mb/s 速率时与IEEE802.11 兼容。802.11b是目前技术最成熟且使用最多的无线局域网标准。本文采用的就是IEEE-802.11b无线网卡。

  目前,人们对无线局域网技术的应用仅局限在PC机和笔记本,且一般用于热点(Hot Spot)分布地区。而嵌入式系统整合无线局域网技术实现无线通信和数据传输将成为今后应用的热点。例如无线数字机顶盒、计算机、无线网关和家用电器等可构成家庭无线局域网,同时经过AP、无线路由器或无线网桥可以连接到Internet;无线仪表进行数据采集和无线传输;无线仪器设备在工作现场布置自组织网络(Ad Hoc网络)相互进行信息传递、远程无线监控,减少布线的麻烦和不便,将极大地提高工业生产效率,方便人们的生活。

  3 嵌入式无线局域网模块的硬件设计

  本文以三星S3C2410X为嵌入式微处理器,结合无线局域网技术,设计了一款嵌入式无线局域网设备,实现数据采集和无线传输。设备硬件结构图如图2所示。

图2:系统硬件结构图

  NAND FLASH用于存放启动程序、操作系统、TCP/IP协议栈、驱动程序和相关应用程序。S3C2410X支持NAND FLASH Boot Loader,系统上电后,S3C2410X通过内置的NAND FLASH CONTROLLER将NAND FLASH中的启动代码加载到其内部叫“Steppingstone”的4KB SRAM buffer执行启动任务,而不需要经过外部的SDRAM进行系统启动,从而加快整个系统的启动过程。等启动完成后,运行操作系统,这时的代码以及后来的应用程序都在外部的SDRAM执行。操作系统启动完成后,就可以执行设计的应用程序,通过RS232/485接口进行数据采集,再通过802.11b无线网卡将数据传输出去。S3C2410X的所有GPIO都被引出来,以备将来系统功能的扩展。
[!--empirenews.page--]技术分类: 通信  | 2009-02-23
黄学雷 陈祖爵
   S3C2410X是一款基于ARM920T内核的16/32位RISC嵌入式微处理器,该处理器是为手持设备以及高性价比、低功耗微控制器而设计的。它采用了一种叫做AMBA(Advanced Microcontroller Bus Architecture)的新总线架构。S3C2410X内部的主要资源有内存管理单元MMU、系统管理器、各为16KB的指令和数据缓存、LCD控制器(STN& TFT)、NAND FLASH Boot Loader、3通道UART、4通道DMA、4个PWM时钟、1个内部时钟、8通道10为ADC、触摸屏接口、多媒体卡接口、I2C和I2S总线接口、 2个USB主机接口、1个USB设备接口、SD主接口、2SPI接口、PLL时钟发生器以及通用I/O端口等。

  S3C2410X内部包含一个叫MMU的内存管理单元,可以实现虚拟存储空间到物理存储空间的映射。通常嵌入式系统的程序存放在 ROM/FLASH中,系统断电后程序能够得到保存,但ROM/FLASH与SDRAM相比,速度要慢的多,而且嵌入式系统中通常把异常中断向量表存放在 RAM中,利用内存映射机构可以解决这种需要。

  NAND FLASH采用三星公司64MB的K9S1208VOM。它可进行10万次的编程/擦除,数据保存长达10年,被用来装载操作系统镜像和大容量的数据。

  SDRAM是用来运行操作系统和存储程序运行过程中所需要的数据, 采用三星公司的K4S561632C,它是4M*16bit*4bank的同步DRAM,容量为32MB。用两片K4S561632C实现位扩展,使数据总线宽度为32bit.

  S3C2410X自带USB主从接口,不需要专门的USB芯片支持,只要对其安装驱动程序即可进行USB传输数据。

  4软件系统设计

  软件系统主要包括操作系统、TCP/IP协议的移植、驱动程序的安装以及用户应用程序的编写等。

  S3C2410X集成了内存管理单元,因而可以实现嵌入式操作系统中更多的功能。在本文中采用Linux作为嵌入式操作系统。

  Linux是从UNIX发展而来,继承了UNIX大多数的优点且弥补其不适合在PC机上运行的缺点,Linux公开的内核源代码使得它成为目前最流行的操作系统。

  Linux是真正的多用户、多任务、多平台操作系统,可运行于许多硬件平台,具有内置安全措施的分层的文件系统,支持多达32种文件系统,支持大量的外部设备。

  定制操作系统的步骤如下:(1)编写板基支持包BSP;(2)裁剪和配置操作系统的各个部件,并修改相应的配置文件;(3)编译Kernel、组件和BSP,生成操作系统镜像文件;(4)将镜像文件下载到目标板上,进行调试。

  将操作系统下载到目标板上有如下几种方法:通过BDM或JTAG接口下载、USB下载、网络接口下载和串口下载等。后面几种方法都要先通过JTAG接口将相应的监控程序下载到Flash中,然后CPU从Flash启动。

  要在操作系统支持下实现TCP/IP协议,就需要进行任务划分,可以将TCP/IP的实现划分为4个任务来实现:①IP任务,主要用来解决IP 分片的重组;②TCP输入任务,主要用来处理接收到的TCP报文段;③TCP输出任务,主要用来将要输出的数据打包、发送;④TCP定时器任务,主要用来为各种时延事件(如重发事件)提供时钟。它们之间的关系可用图3来表示。

图3 任务关系

  USB驱动程序设计采用WDM(Winddows Drive Mode)。WDM设备驱动程序提供了一个参考框架,大大降低了由DDK书写驱动程序带来的难度。

  USB驱动程序包含如下几个部分:

  (1)创建设备

  创建设备函数带两个参数调用,一个参数是指向驱动程序对象的指针,另一个参数是指向物理设备对象的指针。

  (2)关闭设备

  (3)读取设备数据

  当客户应用程序有读取设备数据的要求时,系统将此要求以IRP_MJ_READ的IRP形式传递给功能驱动程序,由设备的D12Meter_Read程序执行,然后再由D12Meter_Read指定USB总线驱动程序直接与设备实现信息交互。

  (4)对设备写入数据

  当客户应用程序有写设备数据的要求时,系统将此要求以IRP_MJ_WRITE的IRP形式传递给功能驱动程序,并由D12Meter_Write执行,然后再由D12Meter_Write指定USB总线驱动程序直接与设备实现信息交互。

  USB驱动程序通过安装文件(.inf文件)中PID(产品识别号)和VID(厂商识别号)识别USB设备。

  一旦操作系统装载完成后,就可以安装无线网卡的驱动程序和其他相应的应用程序。将无线网卡的驱动程序作为一个模块打包到操作系统中,可避免系统掉电后每次都要重装无线网卡驱动程序


  用户应用程序要针对具体的应用情况而定,一般都用C语言编写。

  5 总结

  嵌入式无线局域网设备可以用于有线网络无法延伸或难以安装、有可灵活移动和临时性使用等要求的场合。可以数据的采集和无线传输、可以用于嵌入式手持移动终端、可以用来构建家庭无线局域网,若加摄像头和图象处理芯片,还可以用于工业现场中的远程无线视频监控。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

我们知道 Flash 读时序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡讲过《串行NOR Flash的Continuous read模式》,Continuous r...

关键字: CMD ADDR Flash

Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。

关键字: Flash 存储器 嵌入式系统

(全球TMT2022年8月2日讯)7月28日,为期三天的2022全球闪存峰会(Flash Memory World)召开。期间,2022年闪存风云榜榜单正式发布,忆联一举斩获"十大闪存控制器企业金奖"荣誉称号。...

关键字: 控制器 PCIE 电脑 Flash

(全球TMT2022年6月28日讯)浪潮存储基于大量的NAND测试数据,在反复探索和实践推理过程中发现了企业级固体硬盘普遍面临三个挑战: 首先,NAND特性会影响数据的可靠性。例如NAND中未写满数据的块因数据保...

关键字: NAND 闪存盘 电压 Flash

摘 要:从硬件与软件方面介绍了基于PXI技术的1553B总线通讯模块的设计,并对PXI总线接口设计、驱动程序的开发、 SDRAM存储器的控制和1553B总线通信协议实现等关键技术进行了详细的阐述,为航空领域测控系统开发P...

关键字: PXI技术 驱动程序 SDRAM存储器 1553B总线

WLAN是Wireless Local Area Network的简称,指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。无线局域网本质的特点是不再使用通信电缆将计算机与网络连接起来,而是...

关键字: WLAN 无线局域网 基站 组网

因为台湾英语里把固体电容称为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上基本与普通硬盘一致(新兴的...

关键字: 电容 SSD Flash

PnP全称Plug-and-Play,译文为即插即用。PnP的作用是自动配置低层计算机中的板卡和其他设备,然后告诉对应设备都做了什么。PnP的任务是把物理设备和软件设备驱动程序相配合,并操作设备,在每个设备和它的驱动程序...

关键字: PnP 驱动程序 操作设备

WLAN是Wireless Local Area Network的简称,指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。无线局域网本质的特点是不再使用通信电缆将计算机与网络连接起来,而是...

关键字: WLAN 无线局域网 AP

作 者:道哥,10年嵌入式开发老兵,专注于:C/C、嵌入式、Linux。关注下方公众号,回复【书籍】,获取Linux、嵌入式领域经典书籍;回复【PDF】,获取所有原创文章(PDF格式)。目录kill命令和信号使用kill...

关键字: 信号 应用程序 驱动程序

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭