接口芯片

2024-08-15

接口芯片(精选8篇)

接口芯片 篇1

0 引言

串行通信接口在CPU和外部设备或者微处理器与外设进行通信之间扮演着十分重要的角色。其主要基本功能是在系统总线和I/O设备之间传输信号, 提供缓冲作用, 以满足接口两边的时序要求。传统的异步串行通信接口一般采用专用的接口芯片实现。例如串行通信接口8251A, 而在现代数字系统设计中要求相对较少的芯片的数量以减少其硬件开销、缩小系统体积、降低能源消耗、提高系统的性能和可靠性。因此CPLD的出现, 为异步串行通信接口的设计提供了一种新的途径。CPLD具有高速、成本低廉、设计周期短和应用灵活等特点, 可以实现专用集成电路。本设计通过VHDL语言在CPLD上进行编程实现异步串行接口, 实验表明正确可靠, 灵活性强。

1 异步串行接口的CPLD设计及实现方法

数据传输的通信协议是对数据传输的约定, 包括定时、控制、格式化和数据表示法。串行通信是指数据是一位一位按顺序传送的通信方式, 其突出优点是只需要一对传输线 (利用电话线就可作为传输线) , 这样就大大降低了传送成本, 特别适用于远距离通信。其缺点就是传送速度较低。异步传输是把每个字符看作以个独立的信息, 并且字符出现在数据流中的相对时间是任意的。然而在每个字符中的各位以预定的固定时钟传送。因此其实质是在字符内部是同步的, 而在字符间是异步的。

1.1 CPLD简介

复杂可编程逻辑器件CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路, 其基本设计方法是借助EDA软件, 用原理图、状态机、布尔表达式、硬件描述语言等方法, 生成相应的目标文件, 用编程器和下载电缆用目标器件实现设计的数字系统。在互连特性上, CPLD采用连续互连方式, 即用固定长度的金属线实现逻辑单元之间的互连。这种连续式的互连结构能方便的预测设计的时序同时保证了CPLD的高速性能。CPLD的集成度一般可达数千甚至数万门, 能够实现较大规模的数字逻辑电路集成。其前期设计仿真及配置可以在软件平台上完成, 在很大程度上缩短了电路设计周期。本设计采用的芯片是ALTERA公司的MAX7000系列的EPM7256AETC144-10。

1.2 功能模块的划分

许多外设与计算机或者微处理器是按照串行方式进行通信的, 也就是说数据是按照1位1位进行传输的, 在传输过程中, 每1位数据都占据一个固定的时间长度, 这种情况下, 就要用串行接口把这个外设连接到总线上。具体的说一个接口完成的功能主要包括以下几个方面:寻址、输入/输出、数据转换、联络、中断管理、复位、可编程和错误检测功能。同时在接口设计中, 常常要考虑对错误的检测问题, 包括传输错误和覆盖错误。根据这些特点将其分为六部分:接收移位寄存器、输入锁存器、输入控制逻辑、发送移位寄存器、输出锁存器、输出控制逻辑。其功能框图如图1所示。

其中输入锁存器总是和接收移位寄存器配对使用的, 在输入过程中, 数据1位1位从外设进入接口的移位寄存器, 当接收完1个字符以后, 数据就从移位寄存器送到输入锁存器, 同时发出中断和进行错误检测, 通知微处理器来取走数据和是否发送传输错误。这些都是通过输入控制逻辑来控制完成的。输出过程和输入过程类似, 其输出锁存器和发送移位寄存器配对使用, 当微处理器往输出锁存器中输出1个数据后, 数据便传输到移位寄存器, 然后1位1位的通过输出线送到外设, 同时在输出中加入了起始位、校验位和停止位, 这些都是通过输出控制逻辑控制完成。由此可见发送移位寄存器完成了并/串变换, 而接收移位寄存器完成了串/并变换。

1.3 用VHDL语言设计实现异步串行接口

VHDL语言是超高速硬件描述语言, 其优点:具有更高的抽象级别, 它不仅可以从物理上描述电路, 更可以从逻辑上描述电路的功能。VHDL能支持逻辑单元的重用, 支持类属和带参数过程的函数, 当需要改变电路规模时, 只需要改变类属和参数值即可。VHDL可读性好、可移植性强。这种设计方法的引入使系统硬件的升级实现了软件化。

异步串行的数据格式是第一位为起始位 (低电平) , 接下来为5-8个信息位 (由低到高排列) , 信息位后面是校验位, 可设置成奇校验或偶校验。最后的数位为1, 作为停止位。

按照自上而下的设计方法可以将此异步串行接口划分成两个功能模块:接收模块和发送模块。接收模块主要完成将串行的输入数据变成并行的数据, 然后通知微处理器将其读走。在接收线上未出现下降沿时, 接收模块一直处于空闲状态, 一旦出现下降沿, 接收模块进入捕获状态, 寻找正确的起始位, 如果检测到起始位, 则进入移位模式, 如果没有找到正确的起始位, 则返回空闲状态。在接收数据的同时进行奇偶校验和错误检测。当接收到一个完整的数据帧时, 接收模块又返回到空闲状态。复位信号可使接收模块进入空闲状态。因此整个接收过程可分为三个状态:空闲、捕获和移位。

在空闲状态时, 接收移位寄存器全部置1, 接收模块一直在检测输入线是否有表明有新数据帧的下降沿。为了确保不接收到错误的数据, 内部波特率时钟产生器被禁止。在捕获状态时, 当输入数据线出现下降沿, 接收模块开始寻找正确的起始位, 为了正确的采样起始位和接下来的数据位, 应该在其各自的中点进行采样。从而阻止了在接收过程中噪声的干扰。一旦找到了起始位, 则内部波特率时钟开始计数, 产生接收时钟rxclk, 其上升沿同步于起始位的中点。在移位状态时, 在rxclk上升沿的控制下, 数据从接收线上移位进入接收移位寄存器, 并且进行奇偶校验, 当起始位进入移位寄存器第0位时, 下一个rxclk的上升沿将使接收模块进入空闲状态, 并且不产生rxclk。移位完而进入空闲状态后, 移位寄存器中的内容被加载到输入锁存器中, 并产生rxrdy信号以通知锁存器中有新数据, 微处理器可来读取。当接收的数据帧的停止位不为1时, 就会产生帧错误信号frameerr。当接收移位寄存器移入新数据而输入锁存器中的数据仍未被读出时, 就会产生覆盖错误信号, 其数据不会被加载到锁存器中。

发送模块主要完成将并行的数据转换为串行的数据输出, 并加上起始位、校验位和停止位。其过程可分为:空闲、加载和移位。在空闲状态时, 串行输出线输出为高电平状态, 发送模块等待将新数据写入输出锁存器。一旦传输完成和要发送的数据准备好后, 发送模块进入加载模式。在加载模式时, 锁存器中的数据被加载到移位寄存器。同时移入标志位以监视数据的发送过程。起始位首先被输出到输出线上, 当移位寄存器被成功加载时, 会发出中断txrdy, 表明开始传输并且输出锁存器中又可以写入新数据。在移位状态时, 在发送时钟上升沿的控制下数据由移位寄存器发送至输出线。而移位寄存器由0来填充。同时产生校验位。

按照上述对接收和发送模块的状态描述, 通过VHDL语言编程设计出如图2所示的功能模块。

2 仿真结果

本设计采用了波特率因子为16, 即其主时钟的频率是串行速率的16倍。其仿真结果如图3所示。测试时, 接收的数据用来发送。假设接收的第1个数据为F5h, 其在串行线上的格式为:“01010111101”, 采用了偶校验, 则其校验位应为0, 发送是“01010111101”即数据位为F5h, 并且奇偶校验输出上未出现高电平, 即没传输错误。同时在数据接收完时, rxrdy变为高电平, 用来向微处理器发出中断, 通知其可来将数据读走。当微处理器发出read信号时, rxrdy又置于低电平。假设第2个接收数据为F0h, 其在串行线上的格式为应为“01111000001”, 而此接收为“01111000011”, 因此在parityerr上出现了高电平, 出现了传输错误。在发送时, 当微处理器发出写 (write) 信号时, txrdy变为高电平, 当输出线tx上开始发送时, txrdy变为低电平, 表明又可以向输出锁存器中写入数据。最后通过编程下载到芯片中, 从而完成了设计。

3 结论

采用CPLD可编程芯片实现异步串口功能, 取代了专用的异步串口芯片, 使电路设计更加灵活、方便、简洁。减少其硬件开销、缩小系统体积、降低功耗、提高系统的性能和可靠性。因此CPLD的出现, 为异步串行通信接口的设计提供了一种新的途径。S

参考文献

[1]徐飞.EDA技术与实践[J].清华大学出版社, 2011.

[2]罗苑棠.CPLD/FPGA常用模块与综合设计实例精讲[M].电子工业出版社, 2007.

接口芯片 篇2

3 专用键盘接口芯片核心部分的状态描述与实现

为了实现上述专用键盘接口芯片功能结构,利用可编程逻辑技术对各个功能块进行逻辑的序描述和实现。由于键盘扫描控制和去抖的逻辑时序设计较复杂并具典型性,因此下面将对键盘扫描控制和去抖部分的设计思想进行介绍。

键盘扫描时序的基本原理[4]可能用图3所示的状态图表示。状态图的输入变量为RST(复位)、KEY-PRESS(有按键)、TIMER-OVER(去抖动延时结束);输出变量包括EN-SCAN(扫描行转移)、EN-CODED(键盘编码启动)、START-TIMER(开启去抖动延时)。从图3中知道,状态S0→S1→S2为按键扫描状态键,状态S3→S4→S5为去抖延时状态链,状态S6为按键保持期。当按键被按下时,进入启动(S3)去抖延时状态链;去抖延时结束后(S5),若按键没有按下则恢复扫描状态键(S0);若按键确认被按下则进入保持期(S6),并输出按键编码,维持至按键松开。

根据状

接口芯片 篇3

GPIB作为目前许多仪器的通信接口,有着高速、可靠、集成度高、易控制等优点。GPIB高速传输模式可以达到8Mbyte/s。GPIB在多仪器及联网方面非常方便,只要设置不同的地址,总线就能对每个GPIB接口仪器分别进行听说操作。

TNT4882芯片是NI公司开发的一款专门为GPIB通信设计的专用芯片,它内部集成了Turbo488(高速传输电路)、NAT4882(IEEE488.2兼容电路)与IEEE488.1(可兼容收发器),并拥有诸多新的特性,能够兼容ANSI IEEE Standard 488.1和ANSI IEEE Standard488.2规范,因而可以为GPIB系统提供一套完整的解决方案。

1 TNT4882架构与模式

TNT4882内部三部分电路相互连接成两种模式(单芯片与双芯片)中的其中一种,工作模式由内部寄存器设置来决定,不同的工作模式决定FIFO与GPIB的连接方式、寄存器的状态和访问属性。

TNT4882上电默认模式为双芯片模式,为了兼容性,它完全复制Turbo488/NAT4882芯片电路。双芯片模式如图1所示。在双芯片模式下I/O口访问期间,CPU访问Turbo488,并且所有的访问都经过NAT4882内部某一段地址范围。Turbo488管理FIFOs与NAT4882之间的数据传输,仲裁它们之间的数据传输和NAT4882的任何I/O访问。CPU访问NAT4882比访问Turbo488需要花费更长的时间,因为对NAT4882寄存器的访问必须通过Turbo488和它的仲裁器。

为了获得更高的传输速率,TNT4882可以通过软件设计成为单芯片模式,如图2所示。在单芯片模式下,FIFO缓冲器与GPIB收发器相连,CPU能够直接访问所有的寄存器。这种情况下,因为不用通过Turbo488,访问NAT4882的寄存器与访问Turbo488的寄存器花费的时间一样长。

TNT4882有两种不同的引脚配置:Generic配置与ISA配置。TNT4882通过电源VDD与地引脚的定位来决定使用的是哪一种配置。Generic引脚配置提供简单的接口,能够连接任何CPU。ISA引脚配置TNT4882,能够直接连接到ISA总线上,不需要任何外部逻辑电路或者数据收发器。

2 系统原理

本设计采用单芯片模式进行GPIB系统开发,通过GPIB接口实现控制单片机P0口8位I/O的输出。系统结构原理如图3所示,单片机作为控制单元控制TNT4882芯片的读写操作,实现GPIB通信功能。

3 硬件电路设计

电路设计如图4所示。由于TNT4882芯片内部集成度比较高,所以外围电路设计比较简单。51单片机采用锁存器实现地址/数据复用,并配备256K静态RAM存储数据。本设计使用5位波段开关实现GPIB地址设置,地址设置范围为1~32。

4 软件设计

4.1 芯片初始化

本设计采用的是单芯片模式,初始化过程如下:

(1)复位TNT4882芯片中的Turbo488电路。

(2)设置TNT4882芯片在Turbo+7210模式。

(3)配置TNT4882芯片为单芯片模式。

(4)确保Local Power-On信号有效。

(5)配置TNT4882芯片,为GPIB操作作准备:设置GPIB地址;设置初始串行轮询响应;配置初始并行轮询响应;使能中断;设置GPIB握手参数。

(6)清除Local Power-On信号,准备GPIB操作。

其中部分代码如下:

4.2 数据传输

数据传输分为初始准备、传输、结束传输3个阶段:(1)初始准备步骤:等待GPIB控制器完成GPIB地址模式设置,写操作时,设置成说状态,读操作时,设置成听状态;复位FIFO寄存器;配置寄存器(CFG)为需要的控制字;配置计数寄存器(CNTs)为所要传输的数据量;使能IMR0、IMR1和IMR2相应的中断位;给CMDR寄存器送GO指令;如果需要,使能IMR3中断。

(2)初始化完成后,数据传输就能够在系统内存与GPIB之间进行了。TNT4882能够自动管理FIFOs与GPIB之间的数据传输。所要考虑的是如何协调系统内存与FIFOs之间的工作。有两种传输方式:程序I/O与DMA。程序I/O使用轮询检查状态或驱动中断状态来实现,流程如图5所示。

(3)结束传输有3种方式:计数结束、TLCINT信号、软件终止。当满足这3个条件之一时,传输即结束。当传输结束时,还需要进行如下操作:给CMDR寄存器传输STOP指令;如果使用了计时器,则通过写AUXRJ寄存器终止计时器;如果使用了DMA传输方式,则禁止外部DMA控制器;读CNTs寄存器判断已经传输的字节数;读ISR3寄存器判断TL-CINT信号是否输出,如果为1,读ISR0、ISR1、ISR2寄存器判断什么原因导致传输结束;清除期望的中断使能位。

部分代码如下:

5 结语

TNT4882接口芯片功能齐全,能够方便地实现GPIB通信功能,其集成度高,几乎不需要其他辅助电路,大大简化了接口的硬件设计。设计的GPIB硬件电路简单实用,软件控制程序可移植性强。

摘要:介绍GPIB专用接口芯片TNT4882,并使用传统的51单片机设计控制GPIB通信。介绍GPIB接口的硬件设计与TNT4882芯片的下位机控制程序,并以实际应用为目的,给出编程基本框架,列出关键代码。

关键词:TNT4882,GPIB,51单片机,Labview

参考文献

[1]黄崧,储飞黄,杨景署.基于TNT4882GPIB接口设计[J].电子测量技术,2002,(5)

接口芯片 篇4

因此对数据采集系统提出了要求:一方面, 要求接口简单灵活且有较高的数据传输率;另一方面, 由于数据量通常都较大, 要求主机能够对实时数据做出快速响应, 并及时进行分析和处理, 并在单片机和PC机之间进行高速和可靠的通讯。传统的外设与主机的通信接口难以满足上述第一个方面的要求, 一般采用PCI布线或RS-232串行总线, PCI总线虽然有很高的传输率, 还能“即插即用”, 但是它们的扩展槽有限, 且插拔不方便;RS-232串行总线虽然连接方便, 可是它的带宽有限, 传输速度太慢, 而且1条RS-232串口通信电缆只能连接1个物理设备。

USB技术正是顺应这一要求提出的, 它集PCI和RS-232的优点于一身:具有较高的传输速率, 实现了真正意义上的“即插即用”, 同时USB上最多可以连接127个外设, 解决了如资源冲突、中断请求和直接数据通道等问题。因此, USB技术非常适合实时数据采集的场合, 是目前较为流行的通讯方式。

1 USB接口及芯片选择

1.1 USB接口

当今的计算机外设, 都在追求高速度和通用性, 为了满足用户的需求, 以Intel为首的7家公司于1994年推出了USB (Universal Serial Bus通用串行总线) 总线协议, 专用于低、中速的计算机外设。目前, USB端口已成为了微机主板的标准端口。

USB接口和普通并口及串口相比较而言, 主要优势表现在以下几个方面:

(1) 使用方便, 连接外设不必再打开机箱;允许外设热插拔, 而不必关闭主机电源。

(2) 速度快, USB支持3种设备传输速率:1.5Mb/s (低速设备) 、12Mb/s (中速设备) 和480Mb/s (高速设备) 。

(3) 独立供电, USB接口提供了内置电源。

(4) 连接灵活, 1个USB接口可以连接127个USB设备, 既可以使用串行连接, 也可以使用集线器Hub, 把多个设备连接在一起, 再同PC机的USB口相接。

(5) 成本低, 为了把外设连接到PC上, USB提供了一种低成本的解决方案。

1.2 USB100模块与同类产品的比较

USB100模块在传输速率上具有突出优势, 对系统没有特殊的要求, 是其中性价比最高又能实现高速数据传输要求的最佳选择, 见表1。

2 微控制器选型

当今微控制器的种类很多, 从生产厂家来说有几十家, 例如:美国Intel公司、TI公司、美国微芯公司、韩国现代 (LG) 公司、台湾义隆公司和凌阳公司等。下面通过对当前流行的微控制器的介绍, 阐述选择PIC单片机的依据。

2.1 凌阳16位单片机

随着单片机功能集成化的发展, 其应用领域也逐渐地由传统控制扩展为控制处理、数据处理以及数字信号处理等领域;它的CPU内核采用凌阳最新推出的μ′n SPTM (Microcontroller and Signal Processor) 16位微处理器芯片 (以下简称μ′nSPTM) 。围绕μ′nSPTM所形成的16位μ′n SPTM系列单片机采用的是模块式集成结构, 以μ′n SPTM内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件, 借助这种通用结构附加可选结构的积木式的构成, 便可形成各种不同系列派生产品, 以适合不同的应用场合, 这样做使每一种派生产品具有更强的功能和更低的成本。

从目前的应用来看, 凌阳16位单片机的优势在于它具有强大的语音处理功能, 然而, 它在工业控制现场的应用案例较少, 在控制领域并不具备突出的竞争力。

2.2 MCS-51系列单片机

传统的51系列微控制器, 在国内使用时间比较长, 开发产品的资料也比较多, 但其片内资源较少, 在外围电路中需加入多种模块, 如:A/D转换器、PWM、RAM和ROM存储器等。它的优点是外围电路易于扩展, 尤其是存储器的容量可以按需求增大, 缺点是在线调试程序不方便。如果应用到数据采集中, 外围扩展电路比较复杂, 电路板空间和制造成本较大, 而且在硬件电路的制作和调试方面也有一定的困难。

2.3 PIC系列单片机

PIC系列单片机是美国微芯公司 (Microchip) 的主要产品, 有PIC16系列、PIC17系列和PIC18系列等。PIC系列单片机CPU采用RISC结构, 它具有运行速度快、工作电压低、功耗低、较大的输入输出直接驱动能力、价格低和体积小等优点。

选用的PIC16F877单片机是PIC系列的中档产品, 其内部资源非常丰富, 含有8K的FLASH程序存储器、368B的RAM数据存储器、256B的EEPROM数据存储器、8通道10位A/D转换器、3个定时器、2个捕捉/比较/脉宽调制、1个同步串行端口SPI和通用同步/异步收发器?USART等。另外, 它具有外围接口电路简单、工作性能稳定等特点。

选择该芯片作为下位机控制器的核心, 利用上述丰富的资源来完成A/D转换、收发数据和输出显示信号等处理和指定的控制任务。

3 USB100模块的典型应用电路

图1为PIC16F877单片机与USB100模块通信的原理图, 其可取之处在于:

(1) 用USB自带的5V直流电源供电, 减小了系统的硬件电路制作量, 充分利用了现有的系统资源。

(2) USB传输线、电源线 (USBVCC) 与地线之间加两级滤波电容, 能有效的抑制传输过程中的噪声干扰。

(3) USB100模块输出电源VCC先经过电源开关, 接0.3A保险丝后为PIC单片机及其他用电器件供电;这样既为单片机安全用电提供了一定的保证, 又为其他器件用电留下了余量。

(4) PIC单片机的电源线和地线之间接入LED指示电路, 起到工作指示作用。它可以明确的反映出单片机是否有电源接入, 并能起到相当好的电路自检作用。

(5) 复位电路中将电容换成了电阻, 并装上了复位按钮, 可以方便地执行复位操作。

(6) USB100的I/O数据口和标志位控制端子均接入1.8kΩ的电阻, 即使发生短路等严重事故输入输出电流也不会超过3mA, 最大限度保证了电路的安全工作。

4 单片机硬件设计

美国Microchip技术公司的PIC系列单片机采用精简指令集计算机 (RISC———Reduced Instruction Set Computer) 、哈佛 (Harvard) 双总线和两级指令流水线结构的高性能价格比的8位嵌入式控制器;其高速度、低工作电压、低功耗和较大的输入输出直接驱动LED能力、一次性编程芯片的低价位、小体积、指令简单易学易用等特点, 都体现了单片机工业发展的新趋势。在全球都可以看到PIC单片机在不同领域的广泛应用, 它在世界单片机市场份额排名中逐年提前, 以致成为一种新的8位单片机的世界标准和最有影响力的主流嵌入式控制器, 所以选用PIC16F877作为主控制器。

PIC单片机外围电路如图2所示, PIC16F877微控制器的引脚功能配置如下:

(1) 端口D作为LED输出接口显示控制。

(2) RA0口为压力模拟信号输入端。

(3) RA1和RA2为USB100模块的标志位RXF和TXE。

(4) RA3和RC7为USB100模块的存入 (WR) 和读出 (RD) 标志位。

(5) 端口RC0、RC1、RC2、RC3分别为4位LED动态显示的片选控制端。

(6) B口作为USB100模块的数字I/O口。

(7) RA5可以根据编程设置, 起到工作状态监视作用。

5 结论

本文主要介绍了USB100模块的特点, 微控制器PIC16F877单片机的选择及外围电路的设计, 还简要介绍了USB100和PIC16F877单片机的典型应用案例, 在单片机应用中有一定的参考价值。

参考文献

[1]刘和平, 等.单片机原理及应用[M].重庆:重庆大学出版社, 2010.

[2]邹慧君编著机械系统设计原理[M].北京:科学出版社, 2011.

[3]刘启中, 李荣正, 等.PIC单片机原理及应用[M].北京:北京航空航天大学出版社, 2010.

接口芯片 篇5

随着计算机技术和半导体技术的飞速发展,庞大的数据计算和数据分析,复杂的图形分析和科学预算等信息领域对计算机系统的性能要求极高,大型科学、工程计算和大规模数据处理为系统芯片间高速数据传输带来了巨大的挑战。尤其是近几年,半导体技术随着摩尔定律的规律不断向前发展,高速串行总线接口大幅提升了数据传输速率,不断满足计算机系统的性能发展要求,在各种数字处理器、桥片和外设芯片的互连领域中,高速串行总线技术发挥了巨大作用[1]。在半导体技术不断发展和高速LVDS(Low-Voltage Differential Signaling,低压差分信号)实现技术不断进步的基础上,高速串行总线技术发展迅速,相继出现了包括AGP(Accelerate Graphical Port,加速图形接口)、PCIe(Peripheral Component Interconnect Express,高速个人计算机扩展总线接口规范)、SATA(Serial Advanced Technology Attachment,串行高级技术附件)、DDR(Double Data Rate,双倍速率同步动态随机存储器)、Infiniband(支持多并发链接的“转换线缆”)等多个串行互连标准和技术,可以说过去的几十年是高速串行总线技术不断创新的年代[2]。

本文基于高速串行总线技术的研究,充分考虑高速信号传输特点,串行总线传输的带宽优势,以及具体传输协议的研究分析,实现了一种商用处理器接口协议芯片,实现了与处理器互连和芯片间互连,并基于FPGA平台实现调试验证。

1串行链路互连结构实现

在计算机系统中,总线的性能对整个系统的性能和功能都有直接影响。如1图所示为系统处理器等芯片间高速串行总线互连的结构示意图,以协议状态机以及控制模块为核心,通过灵活的硬线连接逻辑机制配合各个感知功能模块和控制单元,以及其他配置存储单元完成高效高可靠的物理链路互连。该串行总线体系结构能够最大限度的兼顾自适应互连需求和高带宽连接需求,能够在数据传输故障时触发带内复位、重新进行链路检测、自适应的剔除故障数据通道或者时钟通道、无故障数据通道自动降宽重组。同时互连协议支持可变位宽和自动位整理功能,有效降低系统功耗,提高了传输性能和稳定性。

在FPGA验证平台结构设计中,如图2所示,设计双路处理器系统验证平台,选择Xilinx Virtex6系列FPGA芯片实现商用处理器接口协议芯片逻辑。

验证系统中实现多条高速串行总线接口,包括:链路0、链路1、链路2、链路3,其中链路0为处理器间互连链路,链路1、2为处理器与FPGA实现的接口协议芯片间互连链路,链路3为接口协议芯片间互连链路,通过该测试结构可有效实现商用处理器接口协议芯片的多种互连测试。

2模块设计

2.1收发模块设计

收发模块是商用处理器接口协议芯片的重要组成部分,负责实现数据和时钟的发送和接收,其中数据通道支持6.4 GT/s高速传输,同时支持慢速100 MHz传输模式,不同传输模式下时钟通道时钟传输频率分别为3.2 GHz、50 MHz[3,4]。

Tx发送器主要由分路调整控制逻辑、乱序扰码逻辑、RocketIO等组成部分。分路调整控制逻辑将收到的上层数据通过分路MUX分配到全宽N通道或者半宽N/2通道,并且在非全宽模式下调整选择使用的数据传输通道组合[5];乱序扰码逻辑负责产生PRBS序列,根据随机数据的长短(如PRBS7、PRBS23等)可选择ROM查表法或LFSR算法实现每周期生成伪随机数据;RocketIO负责高速信号的对外传输。其主要完成如下功能:

(1) 接收本地上层链路层数据并通过N条数据通道完成发送;

(2) 产生PRBS伪随机数据对其传输数据进行扰码,并通过N条数据通道完成发送;

(3) 接收序列产生器模块发出的训练序列,并通过N条数据通路完成发送;

(4) 实现传输模式全宽N通道、半宽N/2通道等传输模式的转化;

(5) 通过时钟通道完成时钟的发送。

Rx接收器主要包括:分路调整控制逻辑、序列解扰逻辑、偏移校正逻辑等组成部分。分路调整控制逻辑通过DEMUX完成链路传输宽度的选择,在非全宽模式下调整选择使用的数据传输通道组合;解扰逻辑与扰码逻辑是一对反操作,目的是将输出的串行数据变为白噪声,消除因为规则数据产生的EMI干扰,扰码原理是将TX发送数据和PRBS并行序列异或,解扰码原理和扰码实现方法相同,将RX接收数据和PRBS序列异或,使数据还原;偏移校正逻辑目的是采用通道自对齐方案去除通道之间的偏差[6]。接收器主要完成如下功能:

(1) 完成各通道数据传输的偏移校正,即实现多通道传输的通道对齐;

(2) 产生PRBS伪随机序列完成对接收数据的解扰码;

(3)实现传输模式全宽N通道、半宽N/2通道等传输模式的转化;

(4)接收远程数据,并组成本地上层链路层逻辑需要的位宽数据;

(5)接收远程时钟信号。

2.2链路检测模块设计

链路检测的设计思想主要是基于链路可用性的考虑提出来的。因高速信号硬件设计和PCB制造工艺的影响,高速串行接口互连硬件平台的链路故障在所难免,为提高硬件平台链路级故障测试效率,协议实现物理链路检测功能。在FPGA实现平台上链路检测分为处理器方向和FPGA方向,如图3所示,处理器探测FPGA电路初始条件下RocketIO为下电状态,其电气特性为高阻态“1”,RocketIO上电时,其工作状态呈现低阻抗状态“0”,因此处理器检测到FPGA逻辑从“1”变为“0”,即物理互连链路的存在,否则便存在链路连接故障。同样的,如图4所示在FPGA探测处理器电路中,通过R3、R4将RocketIO Tx置为高阻态“1”,通过R1、R2连接的双向SelectIO来探测处理器Rx的存在,若SelectIO D+、D-都为“0”,则处理器Rx存在,反之,不存在[7]。

2.3协议状态机模块设计

协议状态机模块控制互连链路的初始化过程,商用处理器接口协议芯片互连初始化过程经过三个阶段,包括:检测、校验、配置,其初始化过程状态如图5所示,Tx发送器和Rx接收器都是由静止状态经过复位进入活动状态。按照状态机状态跳变条件和控制,当满足Next State转换条件时,状态机将由Current State跳转到Next State,并执行该状态下的相应操作。各个阶段的初始化过程由状态机控制,每个阶段又包括多个子状态,其中检测过程包括时钟通道检测子状态、数据通道检测子状态、时钟信号质量检测子状态,主要负责互连双方物理链路的检测,确保数据传输的链路连接和时钟传输的可用性。

2.4序列产生器模块设计

序列产生器模块用来产生TS(Training sequence)序列,并产生各状态下TS序列需要的参数。在互连初始化过程中状态机各个子状态的互锁步进过程中,发送序列和接收序列的判断序列均有序列产生器生成。例如,在环回测试状态下,环回序列由序列产生器产生,并由发送器传输至对方环回,同时序列产生器生成的环回序列交由环回自测单元,以做环回数据的比对判断,计算误码率。为保证初始化过程的稳定性,序列产生器生成各个子状态条件下接收序列的判断数量,以判断互锁握手序列的是否可正确接收。为降低系统功耗,或者链路发生部分故障时,序列产生器产生发送方向和接收方向的Lane Drop序列,用以关闭部分数据传输通道。

2.5配置寄存器模块设计

寄存器(Registers)组用以实现接口协议芯片的功能配置,并且在调试、测试和FPGA实现阶段为系统的可实现操作提供配置支持。寄存器组可通过内部配置、外部软件配置和复位缺省值三种方式取得配置值[8]。内部配置主要是基于FPGA实现和配置选项少等方面考虑的,由于部分配置功能逻辑实现极其复杂,为了提高FPGA资源的利用率,通过内部配置多次综合的方式实现;外部软件配置主要是针对配置选项极其复杂的功能选项配置,通过外部接口软件配置方式快速实现协议芯片的配置操作;复位缺省值是指所有的配置寄存器在接口协议芯片复位操作时均会恢复到缺省配置。配置寄存器组的寄存器类型主要包括如下三类:

(1) 状态机配置寄存器,主要负责完成协议状态机的功能配置;

(2) 测试工具箱寄存器,主要负责完成序列生成、检查配置,以及环回测试控制配置;

(3) 电气参数寄存器,主要负责完成发送端和接收端链路电气参数的配置,包括均衡参数和加重参数。

3仿真验证分析

用Candence NC_Verilog对上述商用处理器接口协议芯片设计进行仿真模拟,基于仿真环境互连拓扑结构设计,构建商用处理器仿真验证环境,通过配置寄存器实现芯片逻辑功能的配置,验证状态机各个状态以及子状态的逻辑功能,判断芯片互连初始化过程是否满足设计要求[9,10]。模拟波形如图6所示,可以看到两个互连协议芯片按照互锁步进机制,由初始状态“00”、复位状态“01”、检测子状态“02、03”、校验子状态“04、05、06”、配置子状态“07、08、09”,最终完成了互连初始化到达“10”状态。

各信号定义说明如下:

系统时钟信号systemCLK,

协议芯片0状态机信号F0_STATE,

协议芯片0复位信号F0_RESET_N,

协议芯片0接收器时钟差分信号F0_RXCLK_N,

协议芯片0接收器时钟差分信号F0_RXCLK_P,

协议芯片0接收器数据差分信号F0_RXCLK_N,

协议芯片0接收器数据差分信号F0_RXCLK_P,

协议芯片0发送器时钟差分信号F0_TXCLK_N,

协议芯片0发送器时钟差分信号F0_TXCLK_P,

协议芯片0发送器数据差分信号F0_TXCLK_N,

协议芯片0发送器数据差分信号F0_TXCLK_P,

协议芯片0链路宽度F0TxWidth,

协议芯片1状态机信号F0_STATE,

协议芯片1复位信号F0_RESET_N,

协议芯片1接收器时钟差分信号F0_RXCLK_N,

协议芯片1接收器时钟差分信号F0_RXCLK_P,

协议芯片1接收器数据差分信号F0_RXCLK_N,

协议芯片1接收器数据差分信号F0_RXCLK_P,

协议芯片1发送器时钟差分信号F0_TXCLK_N,

协议芯片1发送器时钟差分信号F0_TXCLK_P,

协议芯片1发送器数据差分信号F0_TXCLK_N,

协议芯片1发送器数据差分信号F0_TXCLK_P,

协议芯片1链路宽度F0TxWidth。

4FPGA实现

充分考虑FPGA实现平台拓扑结构的特点,实现如图7所示的FPGA验证平台,包括三颗系统关键芯片,两颗处理器芯片C和一颗FPGA芯片F。其中FPGA芯片实现两个商用处理器接口协议芯片逻辑,分别与两颗处理器C实现高速互连(连接速率达到6.4 GT/s),两个商用处理器接口协议芯片在FPGA内部实现内部互连,同时FPGA内部实现测试逻辑,用于监控系统状态,包括处理器状态、接口协议芯片逻辑状态,以及检测高速串行链路初始化过程TS序列并分析,可利用ChipScope或逻辑分析仪等多种测试手段,有效保障了链路的测试与分析[11]。

根据高速串行互连链路的结构特点分析,以及接口协议芯片传输宽度可降级的功能特点,需要综合考虑FPGA芯片高速IO(RocketIO)的数量;因商用处理器接口协议芯片同样支持慢速传输模式的功能特点,因此需要综合考虑FPGA芯片普通IO(SelectIO)的数量;分析测试验证平台的处理期间互连链路、处理器与FPGA实现的协议芯片互连链路、接口协议芯片间互连链路的多方面测试需求,因此需要综合考虑FPGA芯片的逻辑容量要求,以供多个处理器接口协议芯片的逻辑实现,以及部分上层逻辑和测试逻辑的FPGA实现。综合以上分析,选择Xilinx公司的Virtex-6 HX380T,具体的FPGA芯片要求为:温度要求选择普通的商业(C系列),速率要求—2,封装要求FFG1759,最终选择 XC6VHX380T-2FFG1924C芯片。

5结论

本文实现了一种商用处理器互连协议芯片,采用串行高速芯片互连技术实现了高性能高可靠的互连数据传输目的,并基于FPGA平台实现调试测试,最终达到了设计性能要求和可靠性要求,互连接口最高传输速率达到6.4 GT/s,最低100 MHz。解决了高端计算机系统中芯片级高速互连问题,包括链路检测问题、通道对齐问题、自动位整理问题、高速信号传输问题、自适应链路传输宽度降级问题、带内复位故障触发问题等。在高端计算机系统设计领域具有非常广阔的发展前景,具有很高的技术价值。

摘要:在计算机系统中,总线技术对整个系统的性能和功能都有直接影响,通过研究高速信号传输的特点,分析串行高速芯片互连协议,实现了一种串行高速芯片互连接口逻辑,并实现了FPGA平台的与处理器互连和芯片间互连的验证。最终达到了设计性能要求和可靠性要求,互连接口数据传输速率达到6.4GT/s。

关键词:串行总线接口,扰码,FPGA,可靠性

参考文献

[1]郑伟民,汤志忠.计算机系统结构.北京:清华大学出版社,1999

[2]秦济龙,李仁刚,林杨,等.一种自定义高速串口存储网络浅析,计算机研究与发展,2012;49:85—89

[3]毕查德.拉扎维.模拟CMOS集成电路设计.陈贵灿,等译.西安:西安交通大学出版社.2003—2

[4] Yue Y,Lin C,Tan Z.Analyzing the performance and fairness of BitTorrent-like networks using a general fluid model.Journal of Comput-er Communication,2006;29(18):3946—3956

[5]匡昌武,方厚辉.冗余链路技术在工业以太网中的应用分析.工业控制计算机,2007;20(3):18—19

[6]周淼,宋建国.提高系统可靠性的有效办法——容错技术,北京电信科技,1997;3:31—37

[7]李仁刚,王恩东,胡雷钧,等,一种物理链路检测电路设计及仿真模型实现方法,科学技术与工程,2010;10(35):8816—8821

[8] Hosseini A,Mavroidis D,Konas P.Code generation and analysis forthe functional verification of microprocessors.Proceedings of the 33rdannual conference on Design automation conference.New York:ACMpress,1996:305—310

[9]李少青,陈跃跃,张汉林,等.高性能CPU的系统验证规划.第八届计算机工程与工艺全国学术年会论文集.2003:335—338

[10]邬旭永,凌魏,张克亮.利用IP Workbench结合SystemC构建复杂芯片系统验证平台.http://asiapac.synopsys.com/china/e-vents/pdfs/snug03/huawe_ipwb.pdf,2003—9—15

接口芯片 篇6

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规范, 传输率可达480Mbps, 采用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) 3种中断方式, 其中外部中断和快速中断均是硬件中断。对于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到程序状态保存寄存器SP-SR中。由于ARM7TDMI采用了三级流水线结构, 此时的PC值实际上等于当前指令地址加上8 (ARM指令时) , 则返回时还需要将保存的PC值减4, 得到当前指令的下一条指令。

(2) 模式切换。设置当前程序状态CPSR中相应的位, 使处理器进入相应的执行模式。如当进入FIQ模式时, 禁止FIQ中断。

(3) 获取中断源。如IRQ中断, 都从向量地址0x18处开始执行, 通常在此地址处放一条跳转指令, 跳转到中断程序。

(4) 处理中断。获取中断源后, 通过中断向量表获取相应中断的处理程序入口, 调用对应的中断处理函数。

(5) 恢复现场, 中断返回。返回时需要恢复处理器模式, 包括恢复中断处理用到的所有寄存器、恢复被中断的程序状态到当前程序状态CPSR, 并跳转到被中断的主程序。

2 USB设备驱动程序的开发

当外设连接到主机上的USB接口时, 主机会检测到新硬件, 这时需要安装一个驱动程序, 在该驱动程序中包含了一个动态链接库 (DLL) 。该DLL由4部分组成:Classic Interface Functions、EEPROM Interface、Extended API和FT-Win32 API。Classic Interface Functions中包括FT_Open、FT_Read、FT_Write、FT_Close、FT_SetTimeOuts等函数。

基于Windows2000和XP的USB设备驱动程序采用W in32设备驱动模型WDM (Win32 DriverModel) 。USB数据采集系统设备驱动程序处于固件程序和用户态应用程序之间, 帮助操作系统识别USB设备, 同时建立主机与设备之间的通信。WDM驱动程序具有规范的模型, 我们使用开发工具包D riverStudios中的DriverWorks进行USB总线驱动程序的开发, 利用其向导功能生成驱动程序框架, 然后根据具体情况添加适当代码, 经过编译、调试, 构造驱动程序.sys文件。使用D riverWorks还可以生成驱动程序的安装文件 (INF文件) , 用以将USB设备及接口安装在主机上。这个过程是非常方便、快捷的。

3 结束语

随着数据传输技术的飞速发展, 在数据传输系统中采用USB接口进行数据的高速传输已经得到非常广泛的应用。本系统通过ARM芯片S3C44BOX进行USB接口的控制, 在主机端用VB编写了USB软件, 实现了两台设备之间的快速数据传输, 解决了传统通信技术的不足, 具有很好的应用前景。当然, 在基于USB接口的数据传输系统中, 包括固件程序、WDM设备驱动程序以及用户态应用程序等在内的软件设计是非常关键的, 软件系统的设计需要建立在相关硬件系统设计的基础上, 两者只有完美结合才能设计出高效、安全的数据传输系统。

摘要:利用传统的数据传输系统进行数据传输, 存在速度慢、扩展性差、安装麻烦、易受各种环境的干扰, 在许多场合尤其是便携式应用场合不方便等缺点。而基于USB接口的数据传输系统能够较好地解决这些问题。介绍了一种基于USB2.0接口的数据传输系统, 解决了传统通信技术带给我们的不便。

关键词:USB接口,数据传输,ARMS3C44BOX,芯片

参考文献

[1]萧世文.USB2.0硬件设计[M].北京:清华大学出版社, 2002.

[2]周立功.PDIUSBD12USB固件编程与驱动开发[M].北京:北京航空航天大学出版社, 2003.

接口芯片 篇7

关键词:矿用网络摄像仪,无线网络接口,数字视频传输,无线传输,视频监控,IEEE802.11b/g协议

0 引言

随着数字化矿山的推进, 井下的信息传输平台已从传统的有线485通信线缆、传统光纤技术向无线通信技术、无线网络技术和光纤通信技术相结合的传输平台过渡[1], 无线网络的传输已在煤矿领域逐渐使用, 如无线音视频传输[2,3]、无线传感器网络的构建[4]。多元化的传输技术将更好地弥补以前单一传输带来的缺陷, 为煤矿的安全生产提供更好的通道保障。

目前, 煤矿视频监控中有线视频的监控是煤矿视频传输的主流, 但由于煤矿井下工作环境的复杂性, 有线传输由于自身的局限性难以满足移动点监视等铺设线缆困难场所的需求。建立煤矿无线视频传输可以对目前有线视频监控系统难以覆盖的区域实施更加有效、实时和灵活的监控。将有线、无线视频监控相结合, 构造统一、共享的煤矿视频监控系统, 使煤矿视频监控范围进一步地延伸, 极大地提高了煤矿的安全生产水平。本文介绍一种基于AR2524芯片的网络摄像仪无线网络接口的实现, 该无线网络接口符合IEEE802.11 b/g 标准, 能够与无线AP连接并实现视频信号的无线传输。

1 无线网络接口的硬件平台

符合IEEE802.b/g标准的无线网口通常简称为WiFi模块。WiFi模块硬件MAC层的芯片主要生产厂家有Broadcom、Marvell、Ralink与Atheros。Atheros过去一直是WiFi的领导业者, 能提供高度整合的CMOS解决方案。

WiFi模块MAC层采用Atheros的AR2524芯片, 物理层采用UW2453芯片。

1.1 无线网口芯片介绍

AR2524芯片是一块高度集成、低功耗、高安全性的WLAN芯片, 它整合了基带处理器 (BBP) 和媒体接入控制器 (MAC) , 其原理如图1所示。该芯片具有USB2.0接口、16位主接口、EEPROM接口及优化的8 MB外部存储接口, 支持IEEE802.11 b/g协议传输, 内嵌安全加密硬件, 支持WEP64、WEP128、WEP256、AES-CCM、TKIP多种加密方式。

UW2453芯片是一个包含了功率放大器的单芯片收发器, 它完全符合IEEE802.11 b/g无线局域网络的设计及应用要求。在数据传输率方面包含了6、9、12、18、24、36、48和54 Mbits/s的OFDM模式, 5.5和11 Mbits/s的CCK模式, 1和2 Mbits/s的DSSS模式。UW2453整合了接收器、发射器、VCO、PLL, 并且在其中也整合了功率放大器, 外围只需要一个开关, 一个高频滤波器、低频滤波器与一些被动组件就可建立一个兼容于IEEE802.11 b/g的无线系统。

1.2 WiFi硬件的实现

WiFi模块中要区分的各类电源和地较多, 主要有模拟3.3 V、数字3.3 V、射频3.3 V、内核1.8 V、模拟地、数字地、内核地、射频地等。要区分好各种电源和地之间的关系, 各种电源之间、模拟地和数字地之间需要用磁珠隔离。WiFi模块主要原理如图2 所示。

图2中的EEPROM选用24WC32芯片, 通过I2C总线和AR2524通信, 用来存储硬件参数 MAC 地址、设备ID、硬件的一些功能控制之类的信息。

2 无线网络接口的设计

2.1 矿用网络摄像仪平台介绍

矿用网络摄像仪平台采用TI达芬奇的TMS320DM6441作为主芯片, 外扩1片8 MB的S29GL064N FLASH, 2片W9725G6IB的SDRAM, 采用KS8995E交换芯片输出以太网光电口, 软件采用Linux2.6.10的内核实现视频采集、打包压缩及传输的功能, 如图3所示。该网络摄像仪通过CCD摄像头采集视频信号, 视频信号采用H.264压缩技术压缩并转换成以太网信号传输至网络, 支持主机B/S、C/S模式访问, 实现对井下图像的监控;通过交换芯片实现以太网信号的光电转换及各以太网口设备的信息交换。该网络摄像仪平台具有体积小、重量轻、要求照度低、清晰度高、抗干扰性好、能实现以太网光电信号转换、各以太网口设备间信息交换、主机IE浏览等一系列优点, 是煤矿井下工业电视系统的理想配套产品[5]。

2.2 无线网络接口的软件设计

Arthos厂家推荐了成熟的AR2524驱动程序, 通过向Linux内核导入驱动程序便可以通过USB2.0口实现无线网络的传输控制。具体操作如下:

(1) 解压缩AR2524驱动并安装

tar zxvf ZD1211LnxDrv xxxx.tar.gz

由于驱动包中含有的ZD1211 and ZD1211B分别对应linux kernel 2.4 and kernel 2.6驱动, 需在驱动的Makefile文件中增加内核选择定义:

# if the kernel is 2.6.x, turn on this

#KERN_26=y

#KERNEL_SOURCE=/usr/src/linux-2.6.7

# if the kernel is 2.4.x, turn on this

KERN_24=y

KERNEL_SOURCE=/usr/src/linux-2.4.20-8

(2) 安装驱动

make ZD1211REV_B=1

make ZD1211REV_B=1 install

2.3 无线网卡参数的配置

无线网卡驱动安装之后, 通常情况下启动内核会自动调用网卡驱动并利用网卡内的EEPROM信息配置无线网卡, 为保险起见可以在启动时再装载一遍:

#modprobe –v zd1211b

由于无线网卡内的可配置参数较多, 因此, 只开通用户正真关心的参数, 这些参数是网络SSID、网络模式、IP地址设置。

SSID设置:

iwconfig ethX essid

Mode:

iwconfig ethX

固定IP地址设置:

DEVICE='eth1' (设置已有以太网电口, 此处定义无线网口为eth1)

IPADDR='192.168.5.201'

NETMASK='255.255.255.0'

NETWORK='192.168.5.0'

BROADCAST='192.168.5.255'

ONBOOT='yes'

GATEWAY='192.168.5.1'

动态分配IP地址设置 (无线AP侧提供相应的DHCP服务) :

DEVICE='eth1'

BOOTPROTO='dhcp'

ONBOOT='yes'

做好相应的配置界面并调用上述命令便可以通过视频平台实现无线网卡的控制。

2.4 WiFi模块传输视频测试

WiFi模块通过USB2.0接口接入视频网络平台中, 模块整体功耗为1 W, 采用USB上的5 V电源供电, 模块的供电电流为200 mA以下。

测试中采用选择2.4 G的天线传输信号, 天线参数为7 dB的全向天线, 无线AP采用市场上通用的TPlink, 型号为TL-WR340G+。将无线AP连接到台式机上放置于一个房间, 测试的无线WiFi模块和摄像仪平台放置于另一个房间, 无线通信的空间距离为15 m, 中间间隔两堵墙。通过台式机访问无线网络摄像仪平台发现, 视频图像清晰流畅, 图像延时时间不大于1 s, 通过网络流量统计软件NetWorx发现在视频信号传输过程中WiFi模块实时传输带宽在1.5 M左右 (见图4) 。

测试结果表明, 通过AR2524芯片设计的无线网络接口能与无线AP建立连接, 无线链路传输带宽大, 信号穿透能力强, 传输的图像平滑流畅, 能满足矿用视频传输的基本需求。

3 结语

基于AR2524芯片设计的矿用摄像仪无线网络接口是基于TI达芬奇芯片的网络摄像仪平台上的新产品, 实现了网络摄像仪的有线到无线的迈进, 扩大了网络摄像仪的使用范围, 满足了井下视频多种传输方式的要求。

参考文献

[1]杨维, 冯锡生, 程时昕, 等.新一代全矿井无线信息系统理论与关键技术[J].煤炭学报, 2004 (4) :124-127.

[2]郑万波, 吴燕清, 方有令, 等.基于IEEE 802.11 b/g协议的矿井语音视频传输组网研究[J].矿业安全与环保, 2009 (3) :31-35.

[3]张一博, 栾龙发, 张智宇, 等.井下无线技术在煤矿安全生产中的应用分析[J].安全, 2008 (11) :4-8.

[4]尚盈, 魏玉宾, 王昌, 等.无线传感网络在煤矿安全监测中的应用[J].中国仪器仪表, 2008 (增刊) :168-171.

接口芯片 篇8

国内从第三代战斗机航空电子系统开始,在相当长的一段时间里,GJB289A总线占据了统治地位,由于其实时性、数据完整性、可靠性和余度管理等特性都是专门针对军用航空电子系统要求而设计的,因此在第三代战斗机联合式航空电子系统中得到了广泛的应用。

GJB289A是面向军用的数字式时分制指令/响应型多路传输数据总线标准,用来为各电子系统之间的数据和信息的交换提供共享总线,它规定了MILSTD-1553B的技术要求,其基本结构如图1所示[1],还规定了总线的操作方式和总线上的信息流格式,总线上的通信设备--终端按其作用可分为三种类型:总线控制器(BC)、远程终端(RT)和总线监控器(BM)。BC是指在数据总线上被指定执行启动信息传输任务的终端。RT是指所有不作为BC或BM操作的终端。BM是被指定执行接收总线上传输的信息和提取经选择的信息以备后用的终端。

1 改进的静态总线控制技术

在GJB289A总线的传输过程中,大多数消息的处理按照固定的顺序、周期和相位出现,这类消息称为周期消息,对于周期消息的传输采用静态时间表进行,即同步通讯。对于系统中随机突发的事件或者其他事件的请求消息,这些消息称为非周期消息,非周期消息的传输称为异步通讯,异步通讯是在有服务请求的情况下插入同步通讯中的,具有很高的实时性,因此,能够根据用户的需要在同步通讯的同时实现异步通讯具有非常重要的意义。

BC是在总线上唯一被安排为执行建立和启动数据传输任务的终端[2],总线上所有的消息传输都是由BC来控制,为了处理非周期消息,必须对BC原有的静态总线控制协议进行改进,这种改进的静态总线控制技术主要特点是:当消息被更新后才进行传输,其工作机制为更新检测传输。改进的静态总线控制技术实现更新数据传输的机制有两种方法:异步服务请求方式和BC周期查询方式。异步请求方式对于非周期消息的响应必须要在请求RT获得总线使用权时,BC才能响应RT非周期消息的传输,即对消息的及时响应不能保证。相反,BC周期查询方式是BC以某一特定频率定时查询RT是否存在非周期消息的传输,采用该方法可以保证非周期消息响应的确定性和及时性,且由于使用更新检测传输方式,查询开销并不会很大。GJB289A总线主要应用于实时性要求很高的系统中,这类系统主要考虑消息传输的实时性问题,所以本文采用BC周期查询方式实现非周期消息的异步通讯。

2 系统硬件设计

本文设计的GJB289A通信接口采用TI公司出品的TMS320F2812款DSP作为传输层软件运行的平台 , 采用的1553协议芯片 为Aeroflex公司的UT1553BCRTM,该芯片为系统设计者提供了一种智能的MIL-STD-1553B多路数据总线设计解决方案,并在单个芯片上实现了MIL-STD-1553B定义的三种功能--总线控制器BC、远程终端RT以及总线监控器BM[4]。通过VME总线与子系统主机连接,使用双端口存储器DPRAM完成系统之间的数据交互。基于UT1553BCRTM协议芯片实现的GJB289A通信接口硬件结构如图2所示,实现了模块的小型化和通用化设计[3]。

3 系统软件设计

本文设计的软件分为传输层软件和驱动层软件。传输软件驻留在DSP内部FLASH存储器中,主要完成对不同类型消息的处理、出错消息处理、同步、启动测试等功能。

本文设计的传输层软件主要实现了BC和RT的基本功能,下文将着重以BC为例,介绍传输层软件对于不同类型消息传输方式的处理方法。

对于周期消息的同步通信采用传统的静态总线控制协议,对于非周期消息的异步通信采用BC周期查询方式实现更新数据的传输,具体实现方法为:BC周期利用"发送矢量字"方式命令[1],实现RT仅传输刷新数据的功能,实现更新消息的伪实时传输。该协议在总线表中周期插入矢量字的查询命令,及时地获知RT数据是否被更新,从而减小总线负载,提高新数据消息的更新周期,使得1553B这样的静态被动式总线协议在一定程度上获得近似于其他实时消息传输协议的性能。

由于矢量字有效数据位为16位,故本软件仅支持RT中16个子地址消息的更新,软件主要处理分为以下两方面:

(1)RT产生的数据:即RT与RT,或RT与BC之间有更新的消息数据,在整个总线通信过程中,BC周期使用查询矢量字对每个RT的16个子地址是否有新数据进行查询,获知消息的更新情况,若被查询的RT有非周期消息需要传输,即将矢量字的相应位置位通知BC组织非周期消息传输。子地址1~16在该RT的专用矢量字中都有相应的位来表示,每位表示该子地址的消息数据的更新状态,矢量字的最低比特位(bit15)与子地址#16相对应,最高比特位(bit0)与子地址#1相对应,详见图3。

(2)BC产生的数据:即BC有新数据传输给RT,如果传输数据是由BC产生的,BC只需检查该数据块是否刷新,如果被刷新,该消息应立即被组织进行发送。

驱动软件驻留在主机上,为使各个设备的主机方便使用GJB289A总线,驱动层提供统一、标准的驱动服务,以API函数库形式提供透明的应用接口,协助应用软件按照系统的顶层设计与接口控制文件规定的应用层协议,完成通信任务。

4 结语

【接口芯片】推荐阅读:

USB接口芯片05-25

节能芯片07-21

时钟芯片05-10

电机芯片05-19

网络芯片06-07

芯片功能06-08

无线芯片07-01

组织芯片08-04

终端芯片08-04

功率芯片08-05

上一篇:钢架工艺下一篇:铣削参数