主控制器使用Atmel 9261,工作频率为180 MHz,具有16 KB数据高速缓存和16 KB指令高速缓存,外部64 MB NAND FLASH和64 MB SDRAM,外设接口通过10/100 Mb / s自适应以太网卡,3个USB 2.0接口,两个通用异步收发器(UART),LCD接口和串行外设接口(SPI),可以轻松连接到工作设备。操作系统使用Linux 2.6.15;引导程序使用U-boot;根文件系统使用ramdisk。
系统启动后会挂载yaffs文件系统。该系统使用Ateml的Atmel 9261开发板。
外围接口包括两个USB主机接口,其中一个是外部USB无线网卡。无线路由器采用Cisco-Linksys WRTl60N,支持802.11g标准,TCP协议和TFTP协议,如图1所示。
对于接入系统中的USB无线网卡,首先从CPU的角度看USB总线,然后是网卡芯片,所以USB驱动必须在网卡驱动之前实现。 USB设备接口具有主机设备和设备设备之间的差异,因此USB驱动器还具有USB主机驱动器和USB设备驱动器。
就主控制单元而言,主要有两种规格的UHCI和OHCI。上层应用软件通过文件系统访问系统的USB设备。
连接到系统总线的每个USB设备可以同时对应于一个或多个驱动器,也就是说,每个USB设备可以设置为由Linux系统上的一个或多个节点提供者使用。由于USB接口是树状网络结构,其中主从模式和多设备连接,因此USB主机必须具有配置和管理连接到总线的所有类型的USB设备的功能。
LinuxUSB主机驱动程序可以同时支持多个USB总线功能,每个USB总线独立工作。 USB主机驱动程序包括USB主机控制器驱动程序(HCD),USB驱动程序(USBD)和不同的USB设备类型驱动程序。
图2描述了Linux USB驱动程序的结构。 Linux定义了Universal Reqlaest Block(URB),用于USB设备类驱动程序与USBD,USBD和HCD之间的数据传输。
该系统的Linux内核版本是2.6.15。内核在主机上配置。
通过“make menuconfig”删除内核中不必要的函数。增加对WLAN的支持。
单击De-Vice Driver→网络设备支持→无线LAN(非hamradio)→检查Wireless Lan driner(非hamradio)和无线扩展;然后进入通用USB-WLAN驱动程序源,修改makefile,并重新创建内核文件夹选项。位于刚刚编译的Linux内核中,由“make”编译而成。
在此文件夹中生成rt73。 Ko驱动模块。
在ARM嵌入式Linux开发中有很多方法可以传输文件,例如TFTP服务和NFS文件系统。这里采用的是rt73。
ko驱动程序模块下载到开发板。由于Linux支持模块的动态加载,因此方便的是用“insmod”将模块加载到内核中,并通过“lstood”查看加载的模块,之后rt73模块已成功加载。
将无线管理应用程序添加到开发板文件系统,以及iwconfig,iwapy,iwlist等,用于配置频率,网络,ID,ES-SID,接受灵敏度,访问模式,无线网络标准和加密交换机。最后,编写无线网络启动和自配置程序,自动配置IP地址和无线网卡。
此时,整个无线网卡驱动程序已完全编译。 Linux是目前市场上使用最广泛的嵌入式系统操作系统。
其驱动模式支持模块堆叠技术,内核开发人员提供了一些通用模块。基于工程应用,研究并移植了Linux下USB无线网卡的设备驱动程序。
基于此,它可以构建嵌入式无线局域网,可以用于有线网络,无法扩展或难以安装,具有灵活的移动性和临时性对于外部摄像头和图像处理芯片等应用,也可以使用用于工业现场的远程无线视频监控。
欢迎来到我司Viking代理产品网站!
