作者:龚乾春
【摘 要】数据传输是现代通信过程中的一个重要环节。在数据传输过程中,不仅要求数据传输的准确率要高,而且要求速度快、连接过程简单。传统的通信技术是通过数据线和串口/并口将设备连接在一起,这样就存在连接不方便、受限条件较多等因素;并且传统的RS232串口通讯和并口通讯都存在传输速度低、接口的连接过于复杂等不足之处。而基于USB接口的数据传输系统能够较好的解决这些问题。本文所介绍的一种基于USB接口的数据传输系统,利用了USB接口的高传输速率、安全性高、即插即用等优点,并结合了现代数据传输技术,实现了计算机之间的高速安全的数据通讯,解决了传统通信技术带给我们的不便。
【关键词】USB接口 数据传输 ARMS3C44BOX 芯片
现代社会生产的各行业和日常生活都需要对各种数据进行传输。利用传统的数据传输系统进行数据传输,存在速度慢、扩展性差、安装麻烦、易受各种环境的干扰,在许多场合尤其是便携式应用场合不方便等缺点。目前广泛应用的USB2.0接口技术具有安装方便、带宽高、成本低、可靠性高、易于扩展等优点。目前USB2.0支持的最高传输速度可达到480Mbps,基本能够满足日益复杂的高级外设与PC机之间的高性能连接需求,正逐渐成为现代数据传输发展的必然趋势之一。鉴于此,本系统采用USB2.0技术运用ARM芯片进行通信接口的设计。
1 数据传输系统的结构设计
基于USB接口的数据传输系统总体方案如下图所示,该系统主要由发射和接收两部分组成。其中,发射系统由ARM芯片控制射频发射模块和ARM控制USB芯片两部分组成。系统的工作过程为:主机将数据通过USB接口传给ARM,数据通过ARM的SPI口再传给射频发射模块,最后由射频发射模块把数据发射出去。射频接收端接收到符合的数据包后,通知ARM读取数据,ARM将数据通过USB接口送给主机,这样就完成了一个数据包从发射端到接收端的传输。
1.1 USB接口芯片和主控制器芯片的选择
USB控制器有2类,一种是集成了USB接口的单片机,如Cypress公司生产的EZ2USB (基于8051)系列芯片CY7C68013、CY7C64613等;另一种是单独的USB控制器,如Philips公司的PDIUSBD12、ISP1581 ,NetChip公司的NET2888 ,National公司的USBN9603、USBN9604等。第一种开发工具虽然编程简单,但需要购置专门的开发系统,投资较大,并且单片机性能有限;后种芯片的特点是价格低廉、连接方便、可靠性高,但其片上不带CPU ,必须选择微处理器来进行协议处理和数据交换。本系统选择了片上不带CPU的性价比较高的USB 2. 0控制芯片ISP1581 ,它完全符合USB 2. 0规范,传输率可达480 Mbps ,采用ISP1581可以快速开发出高性能的USB2. 0设备,同时为了满足速度要求,主控器芯片选择了高性能、低功耗的ARM芯片S3C44BOX。
1.2 ARMS3C44BOX的工作原理
S3C44BOX微处理器是由Samsung Electronics Co.,Ltd为手持设备设计的低功耗、高度集成的基于ARM7TDMI核的微处理器。S3C44BOX具有丰富的内置部件,包括:8KBcache,内部SRAM,LCD控制器,带自动握手的2通道UART,4通道DMA,系统管理器(片选逻辑,FP/EDO/SDRAM控制器),代用PWM功能的5通道定制器,I/O端口,RTC,8通道10位ADC,ⅡC-BUS接口,ⅡS-BUS接口,同步SIO接口和PLL备频器。S3C44BOX采用了一种新的总线结构,即SAMBAⅡ(Samsung ARM CPU 嵌入式微处理器总线结构)和0.25um工艺的CMOS标准宏7单元和存储编译器。它的低功耗精简和出色的全静态设计特别适用与对成本和功耗敏感的应用。
1.2.1 S3C44BOX中断概述
ARM7TDMI具有外部中断(IRQ)、快速中断(FIQ)和软件中断(Software Interrupt)三种中断方式,其中外部中断和快速中断均是硬件中断。对于ARM7TDMI内核的微处理器来说,中断是作为一种异常来处理的。S3C44BOX的中断控制器可以接收来自30个中断源的中断请求。这些中断源来自DMA、UART、SIO等芯片内部外围或接口芯片的外部引脚。
中断控制器的任务是在片内外围和外部中断源组成的多重中断发生时,经过优先级判断选择其中的一个中断,通过FIQ(快速中断请求)或IRQ(通用中断请求)向ARM7TDMI内核发出FIQ或IRQ中断请求。
实际上最初ARM7TDMI内核只有FIQ和IRQ两种中断,其他的中断都是各芯片厂家在设计芯片时定义的,这些中断根据中断的优先级高低来进行处理。特别的是,为了解决一般的中断模式在进入所需的服务程序前需要很长的中断反应时间的问题,S3C44BOX提供了一种新的中断模式——矢量中断模式。它具有CISC结构微控制器的特征,能够缩短中断反应时间。
1.2.2 S3C44BOX中断处理流程
S3C44BOX处理器的中断处理与其他处理器的处理模式基本上是一致的,只是由于引入了几种不同的处理器模式,使中断处理变得更容易。中断处理的典型步骤如下:
第1步:保存现场。当系统出现中断时,处理器首先要做的就是保存现场,这一过程包括:
保存当前的PC值到lr(链接寄存器)中,保存当前程序运行状态CPSR到程序状态保存寄存器SPSR中。由于ARM7TDMI采用了三级流水线结构,此时的PC值实际上等于当前指令地址加上8(ARM指令时),则返回时还需要将保存的PC值减4,得到当前指令的下一条指令。
第2步:模式切换。设置当前程序状态CPSR中相应的位,使处理器进入相应的执行模式。如当进入FIQ模式时,禁止FIQ中断。
第3步:获取中断源。如IRQ中断,都从向量地址0x18处开始执行,通常在此地址处放一条跳转指令,跳转到中断程序。
第4步:处理中断。获取中断源后,通过中断向量表获取相应中断的处理程序入口,调用对应的中断处理函数。
第5步:恢复现场,中断返回。返回时需要恢复处理器模式,包括恢复中断处理用到的所有寄存器、恢复被中断的程序状态到当前程序状态CPSR,并跳转到被中断的主程序。
2 USB 设备驱动程序的开发
当外设连接到主机上的USB接口时,主机会检测到新硬件,这时需安装一个驱动程序,在该驱动程序中包含了一个动态链接库(DLL)。该DLL由四部分组成:Classic Interface Functions、EEPROM Interface、Extended API和FT-Win32 API。Classic Interface Functions中包括FT_Open、FT_Read、FT_Write、FT_Close、FT_SetTimeOuts等函数。
基于W indows2000和X P的U SB设备驱动程序采用W in32设备驱动模型WDM (W in32 D riverModel)。U SB数据采集系统设备驱动程序处于固件程序和用户态应用程序之间,帮助操作系统识别U SB设备,同时建立主机与设备之间的通信。WDM驱动程序具有规范的模型,我们使用开发工具包D riverStudio s中的D riverWo rk s进行U SB总线驱动程序的开发,利用其向导功能生成驱动程序框架,然后根据具体情况添加适当代码,经过编译、调试,构造驱动程序. sys文件。使用D riverWo rk s还可以生成驱动程序的安装文件( IN F文件) ,用以将USB设备及接口安装在主机上。这个过程是非常方便、快捷的。
3.结论
随着数据传输技术的飞速发展,在数据传输系统中采用USB接口进行数据的高速传输已经得到非常广泛的应用。本系统通过ARM芯片S3C44BOX进行USB接口的控制,在主机端用VB编写了USB软件,实现了两台设备之间的快速数据传输,解决了传统通信技术的不足,具有很好的应用前景。当然,在基于USB接口的数据传输系统中,包括固件程序、WDM设备驱动程序以及用户态应用程序等在内的软件设计是非常关键的,软件系统的设计需要建立在相关硬件系统设计的基础上,两者只有完美结合才能设计出高效、安全的数据传输系统。
参考文献:
[1]黄凤辰,周海亮,周文君.EZ-USB单片机的开发[J].国外电子测量技术,2003,(01).
[2]李映超.基于USB接口的锂离子电池充电电路设计与实现[J].广西民族学院学报(自然科学版),2004,(S1).
[3]蒯锐.USB在测量仪器中的应用[J].上海应用技术学院学报(自然科学版),2006,04.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。