当前位置: 主页 > 电脑系统维修 > ARM和LINUX系统下嵌入式USB长机的设想

ARM和LINUX系统下嵌入式USB长机的设想

发布时间:02-03 19:30点击:

  撮要:依据实践使用中常需求具有性能而大少数微解决芯片没有集成这一性能的实践状况,提出了一套基于S3C44B0X 和SL811HST 的零碎处理计划。本零碎以ARM7 中心板加USB扩大板为软件完成办法;正在ucLinux 零碎下完成USB驱动顺序的编写和加载。该零碎利润昂贵,运转稳固,适宜使用于手持式设施上及郊外任务场所。

  白文援用地点:小引

  通用串行总线(Universal Serial Bus,即USB)是一种新式的高速串行总线,作为一种快捷、灵敏的总线接口,曾经正在电子货物中宽泛使用。同声众人对于USB的期冀也越来越高,指望USB能使用正在各族电脑畛域中。然而,因为USB通讯模子是一种Host/Slave主从式构造,经由USB总线停止通讯的单方必需有一方正在通讯掌握中承当长机,而两个USB设施之间则无奈间接停止基于USB的数据交流。这就大大了USB正在嵌入式设施中的使用。

  ARM( Advanced RISC Machine)作为一种低功耗、高功能的32位嵌入式微解决器,正在中高端嵌入式设施开拓中有着宽泛的使用。有些ARM芯片的消费厂商正在以ARM为内核的微解决器中集成了USB长机掌握器,然而,更多的ARM解决器是没有带USB长机性能的。处理这一成绩的办法就是正在需求运用USB设施的嵌入式零碎中外扩一片USB长机掌握器芯片,使之存正在与USB设施停止数据传输的威力。本设想思忖设想一种USB主、从机一体化的内部扩大模块,经过容易地改观跳线,使得ARM中心的嵌入式设施既可作为USB长机,又能够作为USB从机。

  2 总体设想

  因为眼前USB从机的软件及硬件范围的开拓曾经比拟幼稚,能够间接运用现部分资源,因为本设想次要议论USB长机性能的完成,指标使命是ARM中心板可以读写外接USB设施,那里取舍最罕用的U盘,完成读、写U盘数据。

  零碎分成ARM中心板和SL811HST扩大板两大全体。中心板是一度由ARM7微解决器、FLASH、SDRAM 、JTAG口和串口组成的最小零碎。ARM解决器选用的是三星公司的S3C44B0X,这是一款基于ARM7TDMI内核的微解决器,存正在低功耗、高功能的特性。Flash用于寄存ucLinux操作零碎和一些非常主要的数据,SDRAM则是操作零碎和使用顺序的运转时间、数据及堆栈区,JTAG口和串口用来键入和调剂。扩大板次要由USB主控芯片及其核心电和USB主、从接菱形成。USB主掌握芯片选用的是Cypress公司的SL811HST,这是一款双性能的掌握芯片,经过安装电门既能够用于做长机又能够做从机。USB接口分成长机接口和从机接口,与主控芯片性能配系。

  3 软件电

  Flash存储器是一种可正在零碎停止电擦写,掉电后消息没有迷失的存储器。罕用的Flash为8位或者16位的数据幅度,编程电压为单3.3V。零碎当选用一片16位的Flash存储器SST39VF1601,单片存储定量2M,用来寄存操作零碎和顺序代码,零碎上电或者复位后从此失掉第一条训令并开端施行,因而,应将Flash存储器配置到BANK0,行将S3C44B0X的nGCS0接到其片选引脚CE#端;将S3C44B0X的OM[1:0]置为10,取舍BANK0为16位任务形式。与Flash存储器没有同,SDRAM没有存正在掉电维持数据的特点,但其存取进度大大高于Flash存储器,因而,它正在零碎中次要用作顺序的运转时间、数据及堆栈区,零碎及用户堆栈、运转数据也都寄存正在内中。零碎当选用一片HY57V641620HG,它的存储定量为8M,任务电压为3.3V,16次数据幅度。1620的CS与S3C44B0X的nGCS6联接。

  JTAG接口次要是用于完成芯片的嵌入式调剂及正在零碎编程的性能,如对于Flash机件停止编程等。串口的次要作用是向电脑传输消息,该署消息能够正在电脑的超级终端上显现,再不于调剂顺序时监测顺序的外部变量值;正在ucLinux操作零碎运转时,串口将用于显现它的发动消息和运转形态,向操作零碎发送通知对于其停止掌握也需求经过串口来实现。ARM中心板的软件组成如图1所示:

  图1 ARM 中心板的形成

  Cypress公司的SL811HST芯片是一款嵌入式的USB长机/从机掌握器,它的双性能端口既可作为USB长机又可作为从机来支撑全速或者低速的USB机件,可以与单片机、DSP和ARM等完成无缝接口。数据线为8位,只要要9根线用来零碎的数据通信,16个外部存放器,能够对于USBHost停止充足的掌握。外部多达256字节的RAM,为USB传输构建了剩余的缓冲区。它的次要长处有:经过其M/S引脚对于主/从形式便当的停止取舍;需要全速和低速2种USB总线进度形式;软件主动发生帧起始包SOF和CRC5/16校验;片上集成了接口引擎(SIE)、单端口根Hub、USB收发器和256B的SRAM,内中0x00~0x0F共16个字节是存放器区,其他的240B是数据缓冲区。

  SL811HS只要一根地点线A0。A0=1用来设定偏偏移量,A0=0用来读写数据。读写数据该当率先指名偏偏移量,而后完成读取时序。A0与ARM的ADDR0相连。nCS和ARM的nGCS2相连,即把SL811HST调配到ARM的内部I/O口02。SL811HST与S3C44B0X的联接如图2所示:

  图 2 SL811HST 与S3C44B0X 联接图

  4 硬件零碎

  本设想的硬件零碎是正在Linux下编写调剂运转的,后期任务为键入ucLinux内核包,打布条包等。ucLinux是特地对准于如ARM7这类无MMU的CPU而设想的,它次要由以次多少个全体形成:BootLoader、内核初始化、零碎调用因变量/拿获因变量、设施驱动和资料零碎。内中BootLoader被用于初始化零碎板上的软件资源,必需依据零碎板上没有同的软件资源停止呼应的配置。本零碎中次要是更改了FLASH和SDRAM的定量及数据幅度,了内部I/O口2并设定为8次数据幅度以用于配置SL811HST,并把它的址设定为0x012000000实现对于源代码的修正以后就能够停止内核的意译。意译是正在装有Linux及所需的穿插意译机器链的电脑下去停止的,意译生成的image.ram资料能够键入到SDRAM两头接运转,image.rom资料能够烧写到FLASH中,零碎上电或者重启后,将从FLASH的0x0地点处开端施行,对于软件资源停止初始化后进入ucLinux。

  从Linux2.4内核当前,Linux的设施驱动中退出了对于USB的支撑,ucLinux也禀承了这一特性。本设想采纳内核意译的形式加载USB驱动,将驱动顺序的源代码加进ucLinux零碎内核,意译移栽到嵌入式零碎,零碎发动后将主动加载驱动。

  意译进程如次:

  1:正在ucLinux内核的USB驱动节目中增添如次三个资料:s181lh-usb.c、sl8llh.h、s1811husb.h。;

  2:编者资料。修正某个资料的形式退出对于SL811HST的形容语句:

  USB 设施驱动顺序被意译进ucLinux 内核,蕴含正在image.bin 资料中。正在零碎发动时,USB 设施驱动就主动施行了。

  5 小结

  白文笔者翻新点:拙劣应用ucLinux 内核模块,简化开拓进程,浪费利润。本设想以uclinux 嵌入式操作零碎为阳台,充散发挥了SL811HST 芯片的Host/Slave 两种形式的作用, 整套零碎上电运转后果证实,本零碎设想可以成功的读写U 盘数据,况且到达USB1.1的全速。此零碎价钱昂贵,完成容易无效。为嵌入式零碎增添USB 长机接口,使得USB 能使用正在没有PC 的畛域中,真正完成USB 点对于点的通信。正在需求郊外少量搜罗记载数据的场所,如勘测,气候等畛域,嵌入式USB 长机便当照顾;正在需求远间隔传输数据的场所,正在USB 设施上增多无线网卡,数据就能够实时传递,之类。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
电脑维修