历史上的今天
返回首页

历史上的今天

今天是:2026年01月06日(星期二)

正在发生

2023年01月06日 | 基于S3C2410处理器实现USB网卡无线网络功能的实现

2023-01-06 来源:elecfans

目前,嵌入式技术已广泛应用于工业控制、消费类电子产品、通信系统等各类市场产品。并且随着互联网的日益发达,具有无线接入功能的嵌入式系统更加具有发展前景。本文将介绍支持IEEE 802.11g协议的54M USB无线网卡在嵌入式系统上的应用,嵌入式系统使用了ARM9系列的S3C2410处理器。


1 系统硬件体系结构

1.1 系统结构

系统总体结构如图1所示。

系统核心芯片采用三星公司的S3C2410处理器,该处理器是三星公司的一款基于 ARM920T内核的16/32位RISC嵌入式微处理器,主要面向手持设备以及高性价比,低功耗的应用,运行的频率可以达到203MHz。该处理器集成了很多重要的功能模块,并且支持多种总线。处理器集成了USB HOST控制器,并支持两个USB HOST通讯端口。


系统使用64M NAND FLASH作为仔储器,存储了系统软件部分必需的BOOTLOADER、LINUXKERNEL、FILESYSTEM。系统中的串口、 USBDEVICE接口、JTAG接口主要在开发调试时使用。系统通过TOUCH&LCD进行人机信息交换,满足广大消费类电子产品的需求。


无线网卡是这个移动终端的关键设备,鉴于市面上大部分的llM无线网卡已经停产或者即将停产,以及社会对具有更高网络接入性能的嵌入式设备的需求,我们选择芯片组型号为rt2573的54M无线网卡。由于S3C2410处理器已经集成了USB HOST控制器,所以不需要附加额外的芯片,网卡可以直接通过USBHOST PORT接入,非常方便。


1.2 USB主机接口的硬件实现

在USB系统中,各种USB设备要与主机相连,就必须通过一个共同的接口接入丰机。这个接口就是USB丰机控制器(USB Host Controller)。USB总线协议定义了四条信号线,其中两条信号线负责供电,而另外两条信号线负责数据的传输。USB通信模型是一种Host- Slave(主机——外设)主从式结构,因此经由USB总线进行通信的双方必有一方在通信控制中担当主机(HOST)的角色。


USB接口可从主机上获得500mA的电流,并且支持热插拔,真正做到即插即用。一个USB接口可同时支持高速和低速USB外设的访问,有一条4芯电缆连接,其中2条是正负电源,传送的是5V的电源,2条是数据传输线,数据线是单工的,在整个的一个系统中的数据速率是一定的,或者是高速,或者是低速。


S3C2410处理器内部集成了USB HOST控制器,可以直接从CPU引线出来,而不需要添加额外的控制芯片,图2为系统的USB HOST接口扩展。S3C2410处理器可以支持两个USB HOST通信端口。

2 USB网卡无线网络功能的实现

2.1 无线网卡的软件管理层实现

嵌入式系统硬件部分建立好后,需要建立软件系统。本系统中采用了vivi做为BOOTLOADER(引导启动程序),嵌入式Linux作为操作系统,以Cramfs作为主文件系统,为支持可读写功能还添加了Jffs2文件系统。 接着,需要软件上实现无线网卡的功能。

无线网卡的软件包括无线网卡固件(Firmware)、无线网卡驱动程序(Driver)和无线网卡配置管理程序三部分。


无线网卡的软件实现结构图如图3所示。固件是无线网卡上最基本的控制系统,主要基于MAC芯片来实现对整个网卡的控制和管理,并向下提供与物理层的接口,向上提供一个程序开发接口,为程序开发附加的移动主机应用程序提供支持。在嵌入式系统中,IEEE802.11提供的服务,包括认证、解除认证、登录、重登录等均由固件完成。

无线网卡的驱动程序使用固件提供的软件编程接口,对无线网卡进行控制,配合固件完成数据的收发以及对信息帧的处理。无线网卡驱动程序主要是针对相应的无线网卡芯片进行设计的,不同的芯片,它们的固件和寄存器相关设置存在很大的差异。除了要完成对下层的控制外,无线网卡驱动还要向上层应用程序和管理程序提供操作和配置无线网卡的应用程序编程接口,以实现其网络传输功能。


所有的Linux网络驱动程序遵循通用的接口。设计时采用的是面向对象的方法。一个设备就是一个对象(device结构),它内部有自己的数据和方法。每一个设备的方法被调用时的第一个参数都是这个设备对象本身,这样这个方法就可以存取自身的数据(类似面向对象程序设计时的this引用)。一个网络设备最基本的方法有初始化、发送和接收。如图4所示。

初始化程序完成硬件的初始化,device中变量的初始化和系统资源的申请,发送程序是在驱动程序的上层协议层有数据要发送时自动调用的。一般驱动程序中不对发送数据进行缓存,直接使用硬件的发送功能把数据发送出去。接收数据一般是通过硬件中断来通知的。在中断处理程序里,把硬件帧信息填入一个 skbuff结构中,然后调用 netif_rx()传递给上层处理。


本系统的无线网卡驱动接口主要实现了以下接口函数:

无线网卡配置管理程序利用驱动程序提供的信息查询和设置接口,向用户实时提供无线网卡的状态,同时利用该管理软什可以实现对IP、 SSID等无线刚卡参数进行必要的配置。常见的无线网卡配置管理程序有iwconfig、iwlistt、iwspy、iwpriv等。这里介绍几个主要的无线网卡配置管理程序:

·Iwconfig:主要的无线管理工具,用来查看设备配置以及大部分的无线刚络参数。

·Iwlish:用来查看大部分iwconfig工具不能显示的参数,如:比特率,频率等。

·Impriv:操作无线网卡驱动程序提供的特有的管理控制功能。

·Iwgetid:输出指定设备的ESSID或NWID。


2.2 无线网卡的配置和激活使用

要完成无线网卡的配置和激活使用,首先,应设置配置文件和编译驱动程序,生成无线网卡的固件和驱动程序模块。把固件和配置文什放到文件系统的/etc/Wireless/RT73STA/文件夹上。

Rt73sta.dat的主要配置如下:

·NetworkType=Infra/*由于选择AP接入模式,网络类型选择Infra*/

·SSID=TPLINK/* SSID/ESSID(Service SetIdentifier)是“服务区标识符匹配”、“业务组标识符”的简称,最多可以有32个字符。它就好比有线局域网中的“工作组”标识一样或好比是无线客户端与无线路由器之间的一道口令一样,只有在完仝相同的前提下才能让无线网卡访问无线路由器,这也是保证无线网络安全的重要措施之一。这里设置为你的AP 上的SSID就可以。*/

·WirelessMode=0/*数字0表示选择同时支持11b/g协议。*/

·TxRate=12/*数字12表示选择54M的传输速度。*/

除通过修改配置文件外,大部分的参数可以通过iwconfig工具直接设定。至此,可以通过ifconfig来启动无线网卡了。Ifconfig usb0 192.168.100.99 up。启动后可以通过ping命令查看网络连接状态。

详细介绍了实现基于S3C2410处理器的嵌入式Linux系统无线接入网络功能的扩展方法,对硬件和软件的实现进行了详细的描述。无线接入功能的实现使得嵌入式系统在网络应用高速发展的电子消费世界有着广阔的发展空间和应用前景。系统采用54MBPS无线网卡,大大增强了嵌入式系统网络接入能力,使其更具有竞争力。


推荐阅读

史海拾趣

ATO SOLUTION公司的发展小趣事

随着公司规模的扩大,ATO SOLUTION公司开始实施全球化战略布局。公司先后在多个国家和地区设立了研发中心和生产基地,充分利用当地资源和市场优势,提升整体竞争力。同时,公司还加强了与国际知名企业的合作,共同推动电子行业的发展和创新。

Diamond SA公司的发展小趣事

在电子行业竞争日益激烈的背景下,Diamond SA公司开始寻求通过并购来实现规模扩张和资源整合。他们精心挑选了一些具有潜力的目标企业,通过谈判和交易成功完成了并购。这些并购不仅为Diamond SA公司带来了更多的技术资源和市场份额,还增强了公司的整体竞争力。

Communications & Power Industries公司的发展小趣事

面对日益激烈的市场竞争,CPI意识到单纯的产品创新已经不足以支撑公司的持续发展。于是,公司开始着手进行产业链整合,通过收购、兼并等方式,将上下游相关企业纳入自己的业务体系。这一举措不仅加强了CPI在产业链中的话语权,还提高了公司的生产效率和成本控制能力。通过整合产业链资源,CPI成功打造了一个高效、协同的供应链体系,为公司的长远发展奠定了坚实的基础。

Data Delay Devices公司的发展小趣事

在DDD公司的发展历程中,技术创新一直是其核心竞争力。公司不断投入研发资金,引进高端人才,推动产品升级换代。特别是在模拟和数字延迟线技术方面,DDD公司取得了多项重要突破。这些技术创新不仅提高了产品的性能和质量,也为公司赢得了更多客户的信任和认可。

DYMO公司的发展小趣事

DYMO公司成立于20世纪XX年代,由发明家XXX创立。XXX先生对标签打印技术的潜力有着深刻的洞察,他相信这项技术将极大地提高办公效率。他带领团队研发了第一款便携式标签打印机,这款产品以其易用性和便携性迅速赢得了市场的认可。DYMO公司的成功,从创始人XXX的远见和决心开始。

Clever Little Box公司的发展小趣事

Clever Little Box公司成立于1964年,当时正值电子行业的蓬勃发展时期。创始人凭借对音频和电子技术的深厚理解,以及对市场的敏锐洞察,决定成立这家公司,专注于音频和电子组件的分销。创业初期,公司面临着资金短缺、市场竞争激烈等诸多挑战,但创始人凭借坚定的信念和不懈的努力,逐渐在市场中站稳了脚跟。

问答坊 | AI 解惑

36V/30A镍氢电池充电电源的设计和实现

高频开关电源由于具有更高的效率、更小的体积和重量以及更快的动态响应,而被广泛地应用在各种领域。镍氢电池是性能优异的绿色环保产品,是电池发展的新潮流,需求前景十分看好。本文介绍的充电电源就是针对一种机器人使用的大容量镍氢电池设计的, ...…

查看全部问答>

一种新型高频大电流电感器的研究

一种新型高频大电流电感器的研究…

查看全部问答>

噪音变燃料

每一滴水都饱含环保的燃料-氢,但是,怎样能把它从水里拿出来是一个挑战。利用噪音污染-例如,在主要道路上,一种新材料有了可利用的希望。威斯康星-麦迪逊大学的一个研究小组,做出了氧化锌晶体,当把它沉浸在水中时,它就会吸收振动并创建出强大 ...…

查看全部问答>

WINCE下10Mbps的SPI数据流采用中断的接收工作方式(等到了中断然后一个个地读接收SFR)能不能处理的过来?难道必须用DMA工作方式吗?

WINCE下10Mbps的SPI数据流采用中断的接收工作方式(等到了中断然后一个个地读接收SFR)能不能处理的过来?难道必须用DMA工作方式吗?…

查看全部问答>

eeworld给的分,慰劳慰劳弟兄们!(3)

eeworld给的分,慰劳慰劳弟兄们!(3) 以后咱好好干活... 我们得好好加油哈!!! 为了中国软件的明天还有,eeworld的未来!!! 呵呵…

查看全部问答>

sql同步问题

我在VS2005和SQL2005平台上,开发mc3000应用程序,该程序在WM5上运行正常,但在mc3000上同步数据有问题,如下: string SQL        = \"\"; SqlCeConnection cn; SqlCeCommand cmd; SqlCeRemoteDataAccess RDA = null; ID ...…

查看全部问答>

diy光控LED照明灯电路图

这是一款具有光控功能的LED照明灯,它白天不工作,晚上自动点亮。该灯共用42个高亮白光发光二极管,每3支串联,然后再相互并联后接于电源两瑞,适用于楼梯、过道等作照明。 220V交流电经电容限流、桥式整流、滤波、稳压,在A、B两端获得稳定的12V ...…

查看全部问答>

提问+MSP403的data问题

MSP430好像就ROM和FLASH,其中FLASH分了好几块。我现在用C语言写程序,有些搞不明白data/code/xdata/pdata等是什么意思,要怎么用,有大神帮解释下,有资料看一下也行啊!…

查看全部问答>