首页 > 范文大全 > 正文

基于ARM6410的WIFI实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ARM6410的WIFI实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】为了满足ARM6410接入WIFI无线网络,本文提出了一种采用AW-GH381作为接口芯片,并采用SDIO作为接口方式与ARM6410进行硬件连接的方法。并对操作系统和驱动软件进行了说明。

【关键词】ARM6410;AW-GH381;SDIO;WIFI

Abstract:This paper prived a new method based the sdio interface using the AW-GH381 as peripheral connector core to fulfil the ARM6410 system accessing the wifi network,and described the operation system and driver software.

Keywords:ARM6410;AW-GH381;SDIO;WIFI

1.绪言

WiFi技术已经问世10余年了。起初,WiFi技术作为无线连接计算机和互联网的途径被引入,现在已经取得长足的进展。如今,广泛应用于各种各样的移动终端、电视机、摄像机,甚至画框等。WiFi技术在物联网中广泛应用于电力监控、油田监测、环境监测、气象监测、水利监测、热网监测、电表监测、机房监控、车辆诱导、供水监控,带串口或485接口的PLC,RTU无线功能的扩展。

对于目前主流的内含ARM11内核的32位的嵌入式微处理器ARM6410的最高频率为667MHZ,内部采用64/32位的总线结构,其内部总线分为AXI,AHB和APH三部分。ARM6410拥有两个外部存储器接口,DRAM和FLASH/ROM。试验中的ARM6410具有128M的SDRAM和128M的Nor FLASH。ARM6410具有许多外设,支持16位的真彩640*480的LCD触摸屏,具有VGA接口,另外具有4通道的UART接口,高速的USB接口,可以外接鼠标和键盘。ARM6410具有低成本,低功耗,高性能的优点。并不集成WIFI模块,因此有必要扩展WIFI模块,使得ARM6410系统能够接入WIFI无线网络。

2.硬件实现

目前wifi模块有USB/MINI PCI-E/SDIO/SPI/等接口形式。主流的WIFI芯片包括atheros公司的AR5007AP-G,marvell公司的88W8686,88W8688,broadcom公司的bcm94318E,在此基础上各芯片设计公司又设计出各种WIFI模块,支持各种接口形式。在此类公司中尤其以海华科技为甚,设计出一系列WIFI模块和芯片,例如同时支持IEEE 802.11 b/g WLAN和Bluetooth的AW-GH600A,AW-GH611,AW-GH610,AW-GH580,AW-GH387,AW-GH389,AW-GH381,以及支持IEEE 802.11b/g WLAN的AW-GH321和AW-GH630。考虑到以后的功能和扩展性,采用AW-GH381作为ARM6410的WIFI扩展芯片,其特性如下所示:

支持SDIO,G-SPI接口

蓝牙支持高速UART,PCM/I2S和SDIO接口。

支持音频接口

支持手机共存

多媒体应用QoS支持

支持多种操作系统:WinCE,LINUX,u-Itron,ThreadX

先进加密技术:WEP/WPA/WPA2/IEEE

ARM6410T通过SDIO0接口与AW-GH381相连,硬件设计如图1所示。

图1 ARM6410与AW-GH381硬件连接

3.软件设计

对于arm6410的WIFI应用主要包括三个部分:操作系统的移植,WIFI无线模块驱动移植以及应用软件设计。

3.1 操作系统的选择和移植

考虑到公司操作系统的延续性,操作系统采用嵌入式linux2.6.39.4。操作系统移植包括引导加载程序(Bootloader)、内核裁剪、配置与编译、根文件系统移植。引导加载程序负责在上电时初始化目标,装载内核到内存,把引导参数传递给内核,然后执行内核。内核裁剪和配置要满足系统的基本功能和应用的基本需求,然后保准各硬件电路正常运行,包括I/O端口操作,串口,SDIO,USB和WIFI无线模块驱动。ARM6410采用NAND FLASH作为存储,因此采用YAFFS2作为文件。根文件系统中的/bin、/dev、/etc、/lib、/sbin、/proc、/tmp以及/usr都是必需的。根文件系统目录如图2所示:

图2 根文件系统

3.2 Wifi无线模块驱动设计

WIFI无线模块采用的是海华科技的AW-HW381,其内部集成了WLAN & Bluetooth SoC-88W8688,而且与ARM6410采用SDIO接口,因此也就驱动88W8688及其SDIO接口。LINUX2.6.39.4内核驱动中libertas已经完美支持了88W8688。只需要在内核配置上按图3配置就可以了。

图3 8688内核配置

由于ARM6410通过mmc0与AW-HW381进行连接,以及考虑到实际上的硬件连接选择,要需要设置检测方式和对应管脚,修改s3c_hsmmc0_def_platdata如下所示:

struct s3c_sdhci_platdata s3c_hsmmc0_def_platdata={

.max_width=4,

.host_caps=(MMC_CAP_4_BIT_DATA|

MMC_CAP_MMC_HIGHSPEED|MMC_CAP_SD_HIGHSPEED),

.clk_type=S3C_SDHCI_CLK_DIV_INTERNAL,

.cd_type=S3C_SDHCI_CD_GPIO,

.ext_cd_gpio=S3C64XX_GPL(12),

};

4.结论

ARM6410通过SDIO接口连接AW-HW381模块,使得ARM6410具备了接入无线WIFI网络功能。该设计已经应用于广州某环境仪器公司,使得用户或者测试者能够通过手机或者pad,pda设备进行监控,取得良好效果!

参考文献:

[1]曾磊,张海峰,侯维岩.基于WIFI的无线测控系统设计与实现[J].电测与仪表,2011(7):81-85.

[2]刘红义,赵方,李朝晖.一种基于WIFI传感器网络的室内外环境远程监控系统设计与实现[J].计算机研究与发展,2010,47(增刊):361-365.

[3]李晓阳.WIFI技术及其应用与发展[J].信息技术,2012(2):

196-199.

[4]张明勇,马洪连,丁男.基于arm6410的便携式无线医疗检测系统的设计与实现[J].软件,2010(12):23-27.

[5]李颀,边青.基于PXA322的wifi手持终端研究与设计[J].化工自动化及仪表,2012(9):1181-1185.

[6]SAMSUNG ELECTRONICS.USER'S MANUAL S3C6410X RISC Microprocessor,2008(rev1.10).

[7]AzureWave.AW-GH381-DS-Rev0.8.2009(rev0.8).

作者简介:

李南安,男,福建上杭人,硕士,工程师,研究方向:嵌入式系统、工业控制、通信技术。

王力,男,广东梅州人,硕士,研究方向:通信技术。

梁芳芳,女,广东梅州人,硕士,讲师,研究方向:电子技术、信息处理。