以下是小编精心整理的多USB接口的局域网接入技术的实现,本文共5篇,仅供参考,希望能够帮助到大家。

篇1:多 USB 接口的局域网接入技术的实现
多 USB 接口的局域网接入技术的实现
摘要:提出了一种全新的计算机接入局域网的方案,使多台计算机可以方便地使用各自的USB接口接入局域网,并提供了该方案的实现方法。关键词:通用串行总线(USB) 局域网
目前,在局域网内部,计算机接入局域网的传统方法是通过在计算机主板上安装以太网卡来实现网络的互联。这种接入方式需要计算机主板上有闲置的ISA或者PCI插槽,还需要上级网络设备有足够的接口支持。当上级网络设备的下行接口数量不够时,必须在这个网络设备下面添加集线器(HUB)或者交换机(Switcher)。
针对这种情况,本文提出了一种多通用串行总线(USB)接口的局域网接入适配器。它将传统意义上的多块以太网卡和集线器的功能集于一身,使多台计算机可以用各自的USB接口连接到上级网络设备的一个下行接口,并在内部采用了比集线器功能更为更强大交换控制器,对各接口的数据流量加以控制,保证可靠地运行。
与传统的通过以太网卡的局域网接入方式相比较,这种通过USB接口的局域网接入方式具有很多优点:安装简便,支持热插拔,而且不需要在计算机内部安装以太网卡,尤其在主板插槽紧张时节省了资源。
(本网网收集整理)
1 系统硬件组成
本文所述的系统实现了对四路USB接口的局域网接入。图1是整个系统的硬件组成框图。
1.1 物理层
物理层芯片连接上级网络设备的下行RJ45接口和交换控制器。本文所述系统用台湾REALTEK公司的RTL8204芯片实现。这块芯片是一块高度集成的10BASE-T/100BASE-TX/FX的以太网收发芯片。RTL8204包括了四个独立的通道,可以同时收发四路以太网信号,每路通道都集成了4B5B编解码器、曼彻斯特编解码器、加扰器、解扰器、输出驱动、输出波形形成、滤波、数字自适应均衡和锁相环模块。但在本系统中只用了一路连接外部局域网。与普通物理层芯片所具有的质独立(MII)接口相比较,RTL8204使用了相对简单的简化介质独立(RMII)接口向上与MAC层进行连接。这种RMII接口省掉了MII接口中的许多控制信号和数据信号,将15位信号减到了7位,简化了硬件的设计工作[3]。
1.2 交换控制器
本系统采用的交换控制器是台湾REALTEK公司的RTL8308B芯片。这是一块具有8端口10Mbps/100Mbps的交换控制器。它对各个端口的数据进行处理并交换,并对各端口的流量加以控制。RTL8308B每个端口都能够处理10Mbps或者100Mbps的数据,可以工作在全双工或者半双工模式下。与RTL8204一样,RTL8308B的接口也是RMII接口,硬件设计非常方便。
RTL8308B片内集成有2MB的DRAM。可以用作数据包的缓存。RTL8308B支持IEEE802.3x全双工流量控制和半双工后退压力算法、地址学习算法、广播风暴控制和环路测试功能。RTL8308B片外用一片串行EEPROM 24LC02B实现对芯片的配置[4]。
1.3 USB转换芯片
USB转换芯片对USB接口的数据、控制信号和RMII接口的数据、控制信号进行转换。本系统采用台湾ASIX公司的AX88170作为USB协议转换芯片。这块芯片片内5KB×16bit的SRAM,内部对数据进行USB协议和网络协议转换。它支持USB1.1标准,并可连接基于IEEE 702.3或IEEE 802.3u以太网协议下的10Mbps/100Mbps网络,而且在支持MII接口的同时,还支持简单的RMII接口,方便硬件的设计。
AX88170片外用一片串行EEPROM 93LC56实现对芯片的'配置[5]。
1.4 通用串行总线(USB)接口
通用串行总线(USB)设备在即插即用的特性上能够较好地满足用户使用方便的要求。USB规范目前有两个版本:1.1和2.0。目前,绝大多数计算机主板还只是支持USB 1.1规范的最高12Mbps速率,所以本系统是针对USB 1.1规范进行的[1]。
2 硬件配置
2.1 RTL8308B的配置
交换控制器RTL8308B的配合是通过芯片在上电时读取串行EEPROM 24LC02B及某些控制引脚的电平来实现的。这其中包括广播控制使能、半双工后退压力函数使能、全双工流量控制、环路监测函数使能位、CRC校验允许位、Hash算法使能位等。对这些控制位的使能,本系统视需要而定,这里不再一一叙述。
此外,非常重要的是选择好RTL8308B的物理端口,并设置好其对应的物理地址。如果物理地址没有设置正确,交换控制器将能正常地从连接端口交换数据。在本系统中,根据芯片手册要求及实际需要,选取C端口连接RTL8204的C端口,E、F、G、H分别连接4片USB转换芯片AX88170。在EEPROM 24LC02B内设置好物理端口对应的物理地址,使RTL8308B的A端口到H端口对应着物理地址08H~0FH。
2.2 RTL8204的配置
RTL8204的系统配置通过读取某些控制引脚上电时刻的电平来实现。RTL8204在上电时读取对应的引脚电平,并将其状态写入自己的内部寄存器中。这些控制引脚包括速率的选择(10Mbps/100Mbps)、全双工/半双工的选择以及自动协商的使能。本系统选择了自动协商工作方式,使RTL8204可以自动地与传输方式未知的上级网络设备协商物理层信号的传输方式。
降此以外,对RTL8204最重要的配置是其端口的物理地址的设备。本系统用RTL8204的C端口连接RTL8308B的C端口,要求这两个端口的物理地址一致。前文所述,RTL8308B的C端口地址应为0AH,所以,应该将该RTL8204的C端口地址设置成为0AH,具体设备方法可以参考文献[3]。
2.3 AX88170的系统配置
USB转换芯片AX88170的数据接口可以选择MII接口或者RMII接口,本系统选择了设计较为简单的RMII接口。AX88170还可以工作在PHY模式或者MAC模式下,在本系统中,RTL8308B工作在MAC层,对其他芯片的传输方式进行控制。所以,这里需要将MX88170设置为工作在PHY模式下。
和前所述的REL8204、RTL8308B一样,AX88170的物理地址的设置也要与RTL8308B的设置相一致。本文中的4片AX88170分别与RTL8308B的E、F、G、H端口连接,所以对应的物理端口地址应该分别设置为0CH、0DH、0E和0FH。
除此之外,在存储AX88170控制信息的EEPROM93LC56中,还存储这个端口的MAC地址。这里4个MAC地址和RTL8308B的MAC地址的选择应该避免自身的重复,并且不应与现有局域网里的MAC地址重复。
2.4 其它控制信号
整个系统的复位信号的重要性不言而喻,除了每片芯片都有各自最小时间的要求外,交换控制器RTL8308B还要求在复位后完成重新配置的时间不能早于其他物理层芯片(即RTL8204和4片MX88170)的配置暗。也就是说,RTL8308B的复位时间不能短于其他物理层芯片的复位时间。所以本系统还采用了MAXIM的MAX809芯片用作所有芯片的复位信号,既保证了复位信号的单稳的可靠性,也保证了RTL8308B和其他物理层芯片的复位时间是相等的。
在本系统中,时钟信号成为重要,特别是50MHz的时钟信号。50MHz时钟信号需要连接到RTL8308B、RTL8204和4片MX88170的RMII接口,需要足够的驱动能力,并且它们之间的相位差要足够小才可以保证传输的可靠性。本系统采用了IDT公司的49FCT3805(1:5时钟驱动芯片)对时钟信号增加了驱动力,并增大了扇出。
3 测试程序和驱动程序
为了方便硬件的调试,还需要编写简单的测试程序来调试系统。除标准USB指令外,AX88170厂家提供了关于MX88170的特殊指令,包括读写EEPROM、读写片内收发存储器、读写内部其他控制寄存器等,方便了系统的调试。由于MX88170芯片的厂商免费提供了其在Windows 98、Windows 和Windows Me下的驱动程序,所以本系统仅仅编写了简单的USB设备的测试程序,主要用来调试AX88170的工作状态。图2给出了程序的流程图。程序初始化后打开目标设备,然后读取设备标识和配置标识并判断。如果正确,则继续读取设备标识和配置标识并判断。如果正确,则继续读取EEPROM里的MAC地址和物理端口地址,之后向MX88170的片内发送SRAM和接收SRAM读写数据,如果结果正确即证明AX88170已经能够正常工作。MX88170完整的驱动程序由芯片厂端免费提供。
经过测试,本系统工作性能稳定。
本系统用于办公室或实验室环境下的计算机组网,支持IEEE 802.3的10Mbps/100Mbps以太网标准,兼容全双工和半双工网络。图3为它的应用实例,它可以将4台电脑通过USB接口连接在一起,并与局域网相连,从而实现多台计算机的信息交换、资源共享。各用户终端可以通过本设备连接至局域网,进而与Internet网络相连。
系统下一步的改进主要针对两个方面:一是高速的USB 2.0协议;二是增加USB接口数量,使其能适应更高速更复杂的网络。
与传统的用以太网卡的局域网接入方式相比较,利用本文的USB接口以太网适配器接入较为灵活、方便,而且成本低廉,具有良好的市场前景。
篇2:多USB接口的局域网接入技术的实现
多USB接口的局域网接入技术的实现
摘要:提出了一种全新的计算机接入局域网的方案,使多台计算机可以方便地使用各自的USB接口接入局域网,并提供了该方案的实现方法。关键词:通用串行总线(USB) 局域网
目前,在局域网内部,计算机接入局域网的传统方法是通过在计算机主板上安装以太网卡来实现网络的互联。这种接入方式需要计算机主板上有闲置的ISA或者PCI插槽,还需要上级网络设备有足够的接口支持。当上级网络设备的下行接口数量不够时,必须在这个网络设备下面添加集线器(HUB)或者交换机(Switcher)。
针对这种情况,本文提出了一种多通用串行总线(USB)接口的局域网接入适配器。它将传统意义上的'多块以太网卡和集线器的功能集于一身,使多台计算机可以用各自的USB接口连接到上级网络设备的一个下行接口,并在内部采用了比集线器功能更为更强大交换控制器,对各接口的数据流量加以控制,保证可靠地运行。
与传统的通过以太网卡的局域网接入方式相比较,这种通过USB接口的局域网接入方式具有很多优点:安装简便,支持热插拔,而且不需要在计算机内部安装以太网卡,尤其在主板插槽紧张时节省了资源。
1 系统硬件组成
本文所述的系统实现了对四路USB接口的局域网接入。图1是整个系统的硬件组成框图。
1.1 物理层
物理层芯片连接上级网络设备的下行RJ45接口和交换控制器。本文所述系统用台湾REALTEK公司的RTL8204芯片实现。这块芯片是一块高度集成的10BASE-T/100BASE-TX/FX的以太网收发芯片。RTL8204包括了四个独立的通道,可以同时收发四路以太网信号,每路通道都集成了4B5B编解码器、曼彻斯特编解码器、加扰器、解扰器、输出驱动、输出波形形成、滤波、数字自适应均衡和锁相环模块。但在本系统中只用了一路连接外部局域网。与普通物理层芯片所具有的质独立(MII)接口相比较,RTL8204使用了相对简单的简化介质独立(RMII)接口向上与MAC层进行连接。这种RMII接口省掉了MII接口中的许多控制信号和数据信号,将15位信号减到了7位,简化了硬件的设计工作[3]。
1.2 交换控制器
本系统采用的交换控制器是台湾REALTEK公司的RTL8308B芯片。这是一块具有8端口10Mbps/100Mbps的交换控制器。它对各个端口的数据进行处理并交换,并对各端口的流量加以控制。RTL8308B每个端口都能够处理10Mbps或者100Mbps的数据,可以工作在全双工或者半双工模式下。与RTL8204一样,RTL8308B的接口也是RMII接口,硬件设计非常方便。
RTL8308B片内集成有
[1] [2] [3] [4]
篇3:咳嗽录音装置USB接口设计与实现
咳嗽录音装置USB接口设计与实现
摘 要: 相比于门诊聆听和观察咳嗽病患者的传统方法,直接分析长时段咳嗽录音的方法对咳嗽患者的诊断更为高效、客观。该类型录音装置接口设备较少,需具备简单的`判断和识别功能,同时,原始录音数据要求传输到计算机上,以供存档及进行更为细致的诊疗处理。目前,基于DSP和USB实现这类便携式咳嗽录音装置是较为合理的方案。以TI C5000低功耗DSP为核心,结合大存储容量的SDHC卡为存储介质,并通过USB接口实现离线数据高速提取。详细介绍了USB的软硬件结构原理、USB的枚举、Bulk?Only传输服务和SDHC卡的初始化识别过程。最后通过实验验证了该方案的可行性。 关键词: 数字信号处理器; 咳嗽录音装置; USB接口; 离线数据提取 中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X04?0009?04
篇4:USB接口的高速数据采集卡的设计与实现
摘要:讨论了基于USB接口的高速数据采集卡的实现。该系统采用TI公司的TUSB3210芯片作为USB通信及主控芯片,完全符合USB1.1协议,是一种新型的数据采集卡。
关键词:USB A/D FIFO 固件
现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。现在通用的高速数据采集卡一般多是PCI卡或ISA卡,存在以下缺点:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。
通用串行总线USB是1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统高速数据采集卡的缺陷。
1 USB数据采集卡原理
1.1 USB简介
通用串行总线适用于净USB外围设备连接到主机上,通过PCI总线与PC内部的系统总线连接,实现数据传送。同时USB又是一种通信协议,支持主系统与其外设之间的数据传送。USB器件支持热插拔,可以即插即用。USB1.1支持两种传输速度,既低速1.5Mbps和高速12Mbps,在USB2.0中其速度提高到480Mbps。USB具有四种传输方式,既控制方式(Control mode)、中断传输方式(Interrupt mode)、批量传输方式(Bulk mode)和等时传输方式(Iochronous mode)。
考虑到USB传输速度较高,如果用只实现USB接口的芯片外加普通控制器(如8051),其处理速度就会很慢而达不到USB传输的要求;如果采用高速微处理器(如DSP),虽然满足了USB传输速率,但成本较高。所以选择了TI公司内置USB接口的微控制器芯片TUSB3210,开发了具有USB接口的高速数据采集卡。
1.2 系统原理图
系统原理图如图1所示。
(本网网收集整理)
整个系统以TUSB3210为核心,负责启动A/D转换,控制FIFO的读写及采样频率的设定,与主机之间的通信及数据传输。
2 USB数据采集卡硬件
2.1 TUSB3210芯片
TUSB3210是TI公司推出的内嵌8052内核并带有USB接口的微控制器芯片。TUSB3210有256字节的内部RAM,8K字节的程序RAM,512字节的USB数据缓冲和端点描述块EDB(Endpoint Descriptor Blocks),4个通用的GPIO端口P0、P1、P2、P3,I2C接口电路,看门狗电路等。
TUSB3210的USB接口符合USB1.1协议,有4个输入端点(Input Endpoint)和4个输出端点(Output End-Point),支持全速和低速传输速率,并具有USB协议所规定的4种传输方式。TUSB3210的USB接口采用串行接口引擎(SIE)编码和解码串行数据,并且进行校验、位填充,执行USB所需要的其他信号。这样采用硬件完成USB协议,简化了固件代码的编制。
TUSB3210采用基于内部RAM的解决方案,允许通过I2C总线从串行EEPROM中读入固件或从主机中下载固件程序。这项功能便于设备的开发与在线升级。
2.2 A/D芯片MAX1449
MAX1449是MAXIM公司生产的10位、105MSPS、单3.3V电源、低功耗的高速A/D芯片。它采用差分输入,带有高宽带采样/保持(T/H)的10阶段流水线(pipeline)型结构的ADC,如图2。采样信号每半个时钟周期通过一个流水线段,完成连续转换到数据输出共需5.5个时钟周期。每个流水线首先通过一个1.5位的闪速ADC对输入电压量化,由DAC产生一个对应于量化结果的电压并与输入电压作差,输出电压放大2倍后送到下一级流水线处理。每级流水线提供1位的分辨率,并进行差错校正,得到良好的线性和低失调。
MAX1449提供一个2.048V的精确带隙基准源,用来设定ADC满量程范围,也可以用外部基准源改变量程范围。MAX1449的最大差分输入电压范围为2V。
2.3 输入信号处理电路
MAX1449芯片的输入信号为差分输入时有最佳的采样效果。在本系统中用TI的HTS4503作为单端输入到差分输出的转换电路。THS4503高性能的全差分运放,带宽可达270MHz,具有非常好的线性,在100MHz下可支持11位的A/D转换要求,适合作为A/D变换的前端接口电路。具体电路见图3所示。
2.4 FIFO和时钟发生电路
高速A/D变换的数据不能直接通过USB送入主机,系统中通过FIFO来缓冲数据。本系统采用TI公司SN74V293芯片。它的容量为65536×18或131072×9,最快读写周期为6ns,可以满足100MHz采样数据的存储。用户可以选择输入、输出宽度,当选择输入、输出宽度为18时,可存储64K×10位的数据。如果选择输入、输出为9位,则可使存储容量扩大到128×9位,这样对精度要求不高的用户可以获得更多数据。
SN74V293有独立的读写时钟控制电路,允许读写操作同时进行。SN74V293内部有满、空、半满输出信号以及可编程设定的几乎满和几乎空输出信号,通过这些信号控制器可以灵活控制FIFO的读写操作。
对于高速数据采集系统,时钟信号很重要。在本系统中选用DALLAS公司的DS1073时钟芯片。DS1073是无需外部元件的频率振荡器。通过DALLAS独有的1-wire技术,可以设定内部的分频器数值,实现输出频率从27.3kHz~100MHz可调,从而方便地改变采样时钟,简化电路设计。MAX1449数据输出时下降沿有效,而FIFO写入时上升沿锁存数据。系统中采用DS90LC028A实现对时钟信号的取反。
2.5 PCB板制作
由于是高速A/D采集,在制作PCB板时有一些需要注意的地方。电路板最好使用多层板,元件尽量选用表面封装器件。这样可以减小元器件之间的距离,减小寄生电感、寄生电容,同时减小电路板的'尺寸。所有的旁路电容都要尽量靠近芯片的电源管脚。模拟公共地和数字公共地要分开,选一点通过低值表贴电阻(1~5Ω)、磁珠或直接连接,以免数字地电流干扰模拟地。电源最好用线性稳压电源,A/D和前端处理电路要用同一电源地输出,减小电源波动对采集的影响。
篇5:USB接口的高速数据采集卡的设计与实现
开发一个USB设备,软件设计是必不可少的。USB应用系统软件设计分为三部分:USB外设端的固件(Firmware)、主机操作系统上的客户驱动程序以及主机应用软件。主机应用软件通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作;固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。
3.1 USB接口编程
固件程序主要是实现USB通信。TUSB3210采用SIE来管理USB通信。当主机与芯片进行USB通信时,会产生外部中断0,通过中断矢量寄存器判断。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这三个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。在固件中分别执行不同的中断程序来实现USB的数据传输。
Void EX0_int(void) interrupt 0 //外部中断0
{
EA=DISABLE; //关中断
switch (bBECINT)(//确定中断ID
case VECINT_OUTPUT_ENDPOINT0:
bVECFINT=0x00;
Ep0QutputInterruptHandler();
break;
case VECINT_INPUT_ENDPOINT0:
bBECINT=0x00;
Ep0InputInterruptHandler();
break;
case VECINT_OUTPUT_ENDPOINT1:
bVECINT=0x00;
Ep 1 OutputInterruptHandler();
Break;
case VECINT_INPUT_ENDPOINT1:
bVECINT=0x00;
Ep1Inpu
tInterruptHandler();
break;
case VECINT_SETUP_PACKET_RECEIVED:
SetupPacketInterruptHandler();
bUSBSTA=USBSTA_SETUP;
bVECINT=0x00;
break;
default:break; //不知道中断ID
EA=ENABLE; //开中断
}
3.2 主机软件设计
笔者首先开发TUSB3210在主机中的驱动程序。用WinDK3.0开发了Win2000下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。
在应用程序开发中,可用VC++编制应用程序。可以把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DeviceIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。程序实例如下:
HANDLE m_hUsbSample; //USB句柄
m_hUsbSample=CreateFile(.USBSampl0,GENERIC_READ|
GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULI,OPEN_EXISTING,0,NULL); //打开USB句柄
DeviceIoControl(m_hUsbSample,IOCTL_USBSAMPL_REBOOT, NULL,0,NULL,0,&length,NULL); //控制传输
WriteFile(m_hUsbSample,pBuffer,writelength,&writelength,NULL); //批量输出传输
ReadFile(m_hUsbSample,pBuffer,64,&lgngth,NULL); //批量输入传输
CloseHandle(m_hUsbSample); //关闭USB句柄
使用上述函数编制USB高速数据采集卡的主机软件。
通过以上设计实现了基于USB数据采集卡的基本功能。但还有一些如信号的触发、事件的捕获功能还需完善;需开发基于USB2.0的系统,进一步提高数据传输的速率。
★基于ActiveForm技术的企业B/S模式管理信息系统的实现
文档为doc格式