接口范文10篇

时间:2023-03-15 07:45:08

接口范文篇1

1MSC下行内核结构及工作原理

1.1TC1796简介

英飞凌公司生产的TriCore系列中的TC1796是一款专门针对汽车应用而设计的功能强大的处理器芯片。TC1796中集成了一个MSC(微秒总线接口)模块]。该模块专门为驱动功率设备而设计。该模块的数据信息和控制信息通过高速同步串行下行通道与功率设备通讯,MSC中内置了SPI的所有引脚,同时做了些扩展,具有四个片选通道,而且具有N型与P型输出通道。

1.2下行通道结构

MSC内核分下行通道与上行通道,这里主要介绍下行通道。下行通道由32位移位寄存器、下行通道控制模块、lfO控制模块,下行数据寄存器DD、下行控制寄存器DC以及两个多路复用器组成。下行通道模块结构如图1所示。

1.3下行通道工作原理

在下行通道控制模块的控制下,将32位移位寄存器内存放的值通过s0端输出。32位移位寄存器中存放的值主要有以下四个来源:

(1)由TC1796内部GPTA(局部定时器阵列)模块产生,经ALTIN输入;

(2)同样由TC1796内部GPTA模块产生,经ALTIN反相后输入;

(3)由MSC内部的下行数据寄存器DD产生;

(4)由MSC内部的下行控制寄存器DC产生。

2下行控制

32位移位寄存器分为SRH与SRL两部分,所以下行控制SRH与SRL也分为两部分。由于SRH与SRL相似,这里以SRL控制为例进行讲述。MSC下行控制是通过三个控制寄存器(DSC.CP,DSDSL.SLx,ESR.ENLx)与一个控制信号(EMGSTOPMSC)实现的,将上述的四种数据来源载入到32位移位寄存器。控制情况如表1所示。

接口范文篇2

论文摘要:本文论述了激光探测系统信息接口技术;讨论了激光探测接口的一般设计思想。

1引言

激光具有波长单一和良好的方向性,所以和传统的探测方法相比,激光探测具有精度高,抗干扰能力强等特点,在激光测距、激光雷达、激光告警、激光制导、目标识别等军事领域,都得到了广泛应用。针对不同武器系统的需求,激光探测系统接口呈现出多样性。

近年来,随着应用需求和集成化度的增加,激光探测系内部、激光探测系统和各武器平台之间集成了不同厂商的硬件设备、数据平台、网络协议等,由此带来的异构性给探测系统的互操作性、兼容性及平滑升级能力带来了问题。

对激光探测系统而言,接口技术的设计是整个系统集成的关键技术。一个激光探测系统的设计、实施,有很大的工作量是在接口的处理上,好的接口设计可以提高系统的稳定性、运行效率、升级能力等,本文以激光探测系统接口技术为研究对象,着重分析其接口技术类型、设计考虑因素和验证方法。

2激光探测系统几种主要接口技术

接口是多要素或多系统之间的公共边界部分,对激光探测系统的接口包括机械接口、电气接口、电子接口、软件接口等,本文着重讨论电子接口。按物理电气特性划分,常用的激光探测系统接口类型可分为以下几类:

1TTL电平接口:最通用的接口类型,常用做系统内及系统间接口信号标准。驱动能力一般为几毫安到几十毫安,在激光探测系统中主要应用是作为长距离的总线数据和控制信号的传输

2CMOS电平接口:速度范围与TTL相仿,驱动能力要弱一些。

3ECL电平接口:为高速电气接口,速率可达几百兆,但相应功耗较大,电磁辐射与干扰与较大。

4LVDS电平接口:在标准中推荐的最大操作速率是655Mbps,电流驱动模式,信号的噪声和EMI都较小。

5GTL接口电平:低电压,低摆幅,常用作背板总线型信号的传输,虽然使用频率一般在100MHz以下,但上升沿一般都比较陡,特别是对沿敏感的信号,如时钟信号。

6RS-232电平接口:为低速串行通信接口标准,电平为±12V,用于DTE与DCE之间的连接。RS-232接口采用不平衡传输方式,收、发端的数据信号是相对于信号地的电平而言,其共模抑制能力低,传输距离近,多用于点对点接口通讯。

7RS-422/RS-485接口:采用平衡方式传输,采用差分方式,使其在通讯速率、抗干扰性和传输距离较RS-232接口有较大改善。多用于多点接口通迅。RS485电平接口可驱动32个负载,忍受-7V到12V共模干扰。

9光隔离接口:能实现电气隔离,更高速率的器件价格较昂贵。

10线圈耦合接口:电气隔离特性好,但允许信号带宽有限

11以太网:经常采用的是10Base-T和100Base-T两种主流标准,主要应用激光探测系统和分系统之间的接口通讯和数据传输。以太网接口具有性价比高、数据传输速率高、资源共享能力强和广泛的技术支持等众多优点。

12USB接口:USB总线接口是一种基于令牌的接口,USB主控制器广播令牌,总线上的设备检测令牌中的地址是否与自身相符,通过发送和接收数据对主机作出响应,其最大的优点是安装配置简单。

3激光探测系统接口方案设计考虑因素

随着大规模数字处理芯片和高速接口芯片的迅猛发展,激光探测系统也呈现出智能化、小型化、模块化的趋势。在激光探测系统中,信息接口的设计逐渐向标准化、网络化、多节点、高速等方向展

3.1接口信号传输中的干扰噪声

3.1.1接口信号传输中的主要干扰形式

a)串模干扰:杂散信号通过感应和辐射的方式进入接口信道的干扰。串模干扰的产生原因主要是传输中插件等所产生的接触电势、热电势等噪声引起的。

b)共模干扰:干扰同时作用在两根信号往返线上,而且幅指相同。共模干扰产生的原因,主要是传输线路较长,在发送端和接收端之间存在着接地的电位差。

3.1.2接口信号传输中的抗干扰措施

a)传输线的选择

为了抑制由于杂散电磁场通过电磁感应和静电感应进入信道的干扰,接口传输线应尽量选用双绞线和屏蔽线,并将屏蔽层接地,而且屏蔽层的接地要于激光探测系统一端浮地的结构形式配合,不要将屏蔽线层当作信号线和公用线。

b)传输线的平衡和匹配

采用平衡电路和平衡传输结构是抑制共模干扰的有力措施。目前广泛使用的是差分式平衢性线电路,例如RS-422/RS-485标准串口电路。

接口信号传输时还要考虑与传输线特性阻抗的匹配问题。一般长线传输的驱动器接收器都适用于驱动特性阻抗为50Ω—150Ω的同轴电缆和双绞线,一般接口接收器的输入阻抗要比传输线的特性阻抗大,因此要设法将两者匹配,最好将发送端和接收端匹配。

控制信号线的具体配置:控制信号线要和强电、数据总线、地址总线分开,尽量选用双绞线和屏蔽线,并将屏蔽层接地。

c)隔离技术:电位隔离是常用的抗干扰方法,接口信号采用光电隔离和电磁隔离可以切断接口内外线路的电气连接,从而减弱露流、地阻抗耦合等传导性干扰的影响。3.2接口硬件的选择原则:

3.2.1为各类接口选择合适的总线接口芯片、接口总线,并设计具体的接口电路。

3.2.3选择接口芯片时应根据激光探测系统CPU/MPU类型,总线类型/宽度和系统所完成的功能并按照高效、经济、可靠,方便、简单的原则来确定。

3.2.4设计具体的接口电路应具体考虑电源问题

3.2.5数据/命令的锁存和驱动

激光探测系统内部及激光探测系统和其他系统间实施数据/命令传输时,一般采用数据锁存技术来适应双方读写的时间要求。

3.3接口的实时性

由于激光探测系统对数据处理和传输的实时性要求很高,设计时要使时钟抖动、通道间时延、工作周期失真以及系统噪声最小化,所以设计接口时尽量选用高通讯速率和同步工作方式。

接口软件的设计原则

同步通讯系统软件设计要充分考虑数据流量的控制,最好在数据发送方发送数据时每隔一段时间插入一段空闲时间,从而保证数据同步传输的可靠性。

异步通讯系统软件设计要充分考虑合理的数据校验方式,可以根据系统要求选择冗余校验、校验和、冗余校验的方法。

4激光探测系统接口方案设计验证

构建高速有效的激光探测系统接口是非常有挑战性的,并且设计者需要在设计接口前后就考虑多个因素,详细的系统级的验证都是必须的。

4.1设计前的验证

基于指令集模拟器和硬件模拟器软硬件模拟技术是一种高效、低代价的系统验证方法。接口设计软件采用汇编,C,C++等语言编写,用户编写的接口源程序经过交叉编译器和连接器编译,输入到软件指令集模拟器进行软件模拟。而接口硬件验证则采用硬件描述语言如VHDL设计,经过编译后由硬件模拟器模拟。但设计前的验证也有一定的局限性,比如只能验证数字接口和验证环境理想化等缺点。这些都需要设计后的验证

4.2设计后的验证

最常见的验证方法是制作模拟激光探测系统内部接口和系统间外部接口的通用信号源,通用信号源可以模拟探测系统内部的如主回波、时统、显示、键盘等信号,也可以模拟输入外部操控命令,并将激光探测系统状态、测量数据等信息显示输出。

4.3通过验证,发现问题,修改设计,然后再模拟,最终完成满足要求的软硬件接口设计。

接口范文篇3

关键词:微型弹药接口;AEIS;多路复用;隔离网络

现代战争大多为局部战争,且多发生在人口较为密集的城市之中。用于单兵或小分队作战的先进的侦查、监视和精确打击武器装备需求日益迫切。其中,微型灵巧弹药[1]及其小型化的无人运载系统技术迅猛发展。近年来,微小型无人机技术已日趋成熟。这些小型无人机在战术性能方面,大多具有10~15千米航程、60分钟以上续航能力、配备先进的数据链,战术型无人机还挂载智能微型灵巧弹药。小型无人机在多国已实现批产和装备部队。微型弹药发展的主要驱动力来自满足战术无人机精确打击的作战需求。目前,国外在研或装备的微型弹药主要供战术无人机使用,如美国的“短柄斧”微型制导弹药、“毒蛇出击”反坦克导弹。为了提高飞机与悬挂物的电气连接系统兼容性,降低武器系统的集成成本,美国颁布了MIL-STD-1760《飞机/悬挂物电气连接系统接口要求》,国内参照该标准颁布了GJB1188[2]。借鉴上述两项标准发展的经验和教训,随着微型弹药及作为其运载平台的无人机系统的种类及数量的不断增多,开展微型弹药接口标准及其应用技术的研究工作需求迫切且意义重大。

1飞机/悬挂物电气连接系统标准簇

不同重量级别的悬挂物的体积、功耗和成本需求相差很大。因此,需要制定多样化的飞机/悬挂物电气连接系统(Aircraft/StoreElectricalInterconnectionSystem,AEIS)接口标准。微型弹药是指一种悬挂物,其典型特征是重量不超过25千克,且外径不小于38毫米。微型弹药接口标准就是为了适应微型灵巧弹药及小型化运载平台的迅猛发展而产生的。20世纪80年代初,美国机动车工程师协会(SocietyofAutomotiveEngineers,SAE)编制了MIL-STD-1760,截止目前,最新版本已发展到E版[3]。为了满足小型及微型武器及运载平台的应用需求,SAE又补充了AS5725《小型任务悬挂物接口》标准[4](最新版本为B版)和AS5726《微型弹药接口》标准[5](最新版本为A版)。三项标准共同组成常规、小型和微型互相搭配的飞机/悬挂物电气连接系统标准簇。三项标准相应规定的三种标准电气接口信号规模依次减小,既有继承也有演进。三项标准分别应用于指导不同级别的悬挂物和运载系统的开发与验证[6]。图1三种标准接口信号组演变过程Fig.1Processofevolvementonthreestandardizedinterfacesignalset如图1所示,从电气接口信号功能的角度分析,信号组规模不断缩小。微型弹药接口在满足微型武器使用需求的前提下,使信号数量尽可能地最小化。

2微型弹药接口组成及要求

2.1接口组成。处于运载系统一侧的电气接口称为微型弹药运载系统接口(MicroMunitionsHostInterface,MMHI)。处于微型弹药一侧的电气接口称为微型弹药接口(InterfaceforMicroMunitions,IMM)。AS5726定义了两类IMM接口:I类接口的工作电源为直流28V;II类接口的工作电源为直流56V。这两类使用相同型号的连接器。AS5726中的微型弹药接口信号定义部分继承了AS5725中的小型任务悬挂物接口。IMM主要包括数字数据总线、离散量和电源三种信号类型,具体的信号定义如图2所示。2.2工作电源图。Fig.3Isolationnetworkschematic/UFC接口功能及要求工作电源接口和上行光纤通道(UpFiberChannel,UFC)接口是复用的,为微型弹药提供工作用电源和上行数字数据总线接口。工作电源用于微型弹药内部电子设备基本操作和非安全关键性功能。I类接口通过工作电源接口提供28VDC±5%电源。II类接口通过该接口不仅能提供56VDC±5%电源,还能够提供28VDC。UFC满足AS5653B《MIL-STD-1760用高速网络》要求[7]。2.3安全允许电源。/DFC接口功能及要求安全允许电源接口和下行光纤通道(DownFiberChannel,DFC)接口是复用的,为微型弹药提供工作用电源和下行数字数据总线接口。安全允许电源用于微型弹药安全关键性功能,提供28VDC±5%电源。安全使能电源单次应用的最大持续时间不超过2秒。DFC满足AS5653B《MIL-STD-1760用高速网络》要求。2.4匹配状态接口功能及要求。匹配状态接口用于运载系统和微型弹药确认彼此的电气接口匹配状态。当匹配状态接口与工作电源回线之间的电压超过工作电源电压值的20%时,运载系统认为两者是匹配的。当微型弹药的工作电源接口和内部电源交叉点与匹配状态接口之间的电压超过工作电源电压值的80%时,微型弹药认为两者是不匹配的。2.5安全允许离散接口功能及要求。安全允许离散作为微型弹药的安全关键性功能联锁条件。当且仅当安全允许离散为有效状态时,微型弹药才能够执行来自DFC的安全关键性控制指令。

3微型弹药接口新特性分析

AS5726是飞机/悬挂物电气连接系统标准簇中时间最晚且适用对象更加强调小型化、低功耗和低成本的一项标准。因此,微型弹药接口与1760标准接口、小型任务悬挂物接口相比,呈现出以下几个独有的特点:1)直流功率信号与高频数字数据信号复用。为了减少信号线数量,采用频分复用的方式使得直流电源信号与高频的数字数据信号共用传输线对。每一对信号线两端通过图3所示的3端口隔离网络与光纤驱动器和工作电源接口连接。2)采用FC作为唯一的数字数据总线。在1760接口和小型悬挂物接口中,除了光纤通道还有专门的数字数据总线接口,如1553B总线和10Mb/s1553B总线。在微型弹药接口中,只能在光纤通道上使用FC-AE-1553协议传输命令和控制数据。由于取消了HB3和LB接口,光纤通道上还应能够使用FC-AV协议传输数字化的音频和视频数据。3)不同电源电压共用工作电源接口。在1760接口和小型悬挂物接口中,不同的电源均采用独立的接口。而在II类微型弹药接口中,28V和56V的工作电源是兼容的。当给II类接口提供28V工作电源时,II类微型弹药可当作I类微型弹药使用,可实现其全部或部分功能。当I类微型弹药连接到II类运载系统上时,应确保微型弹药不被损坏。这就要求微型弹药上做好过压保护。4)采用模拟信号实现匹配控制。在小型悬挂物接口中,使用两个不同方向的单向数字开关信号完成运载系统和悬挂物之间的匹配确认。而在微型弹药接口中,通过图4所示的两个串联电阻分压,运载系统和悬挂物分别采集匹配状态接口上的模拟电压值,完成匹配确认。减少了一根信号线且匹配起来更加简单。微型弹药接口的上述四个新特性均体现了接口规模最小化的设计原则,很好地契合了微型弹药和小型运载系统的设计需求。

4微型弹药接口应用技术

针对AS5726定义的标准微型弹药接口新的特性,相较于传统的悬挂物管理系统和悬挂物接口电路设计技术,应着重考虑以下几项特殊的设计问题。4.1隔离网络设计与分析。频分复用是一种典型的多路复用方式。直流电源信号作为低频分量,光纤数字信号作为高频分量,两者的复合信号采用铜缆传输。图3所示的隔离网络由高通滤波器和低通滤波器构成。内部电源端口处,低通滤波器将高频分量滤除,剩下的电源信号分量连接到DC电源或负载。内部FC端口处,高通滤波器将低频分量滤除,剩下的光纤数字信号分量连接到FC发送器或接收器。图3中的低通滤波器由一个高频扼流电感线圈组成,利用其通直流且阻交流的特性实现低通滤波。图3中的高通滤波器是一种工程中广泛应用的一阶RC无源滤波器[8],其传递函数为()221jfHfjfπτπτ=+(1)式中,f为频率,τ=RC。其幅频特性公式为()()()2212fAfHffπτπτ==+(2)若A(f)=2/2,则截止频率为12cfπτ=(3)依据AS5726规定,高通滤波器的截止频率为10MHz。当R1=R1=75Ω时,由式(3)计算可得,C1=C2=212pF。此时,即可实现满足标准要求的截止频率为10MHz的高通滤波器。4.2匹配状态接口电路设计。当微型弹药与运载系统连接后,匹配状态接口对运载系统和微型弹药匹配电路均呈现的为模拟电压信号。可采用模/数转换采集电压或电压比较器两种设计方案。由于匹配状态接口的标准电压值偏高,故需要使用运放电路将电压比例衰减。匹配状态接口电路的主控制CPU采用飞利浦公司的ARM7架构微控制器芯片LPC2294。当采用模/数转换方案时,使用12位ADC芯片AD7892,控制CPU根据匹配状态接口上实际采集到的电压值与工作电源的20%作比较,即可获得匹配结果。当采用电压比较器方案时,使用电压比较器芯片LM393,控制CPU直接读取电压比较器的输出,获得匹配状态。4.3控制流程设计。在向微型弹药工作电源接口施加实际电源之前,标准中允许在工作电源接口暂时施加3~12VDC的低电压电源,该临时电源仅用作匹配状态的确认。一旦确认了匹配状态,即可施加正常的工作用电。之后,运载系统就可以完成微型弹药的识别、初始化、准备和发射/投放控制[9],[10]。图5给出了一种典型的微型弹药控制流程。

5结束语

接口范文篇4

1多个外设的情况

当DSP与低速器件接口时,可以通过设置DSP片内的等待状态产生控制寄存器(WSGR),在相应的程序空间、数据空间或I/O空间产生1~7个等待周期,以使DSP的访问速度能和低速器件相匹配。当在同一空间内既有低速器件又有高速器件时,通常WSGR的延时值被设置成与速度最慢的器件相一致,以保证DSP对所有的器件都能进行正确的访问。若对高速器件的操作很频繁,则这种对整个空间的延时将极不合理地降低系统速度。例如,有些系统在程序空间同时扩展有RAM和ROM。而ROM的速度一般远远低于RAM,其访问周期一般为100~200ns,即使DSP和RAM的访问速度均可达到25ns,但对整个数据空间进行延时后,DSP也只能以ROM的访问速度(100~200ns)对RAM进行访问。

在这种情况下,首先应考虑使用软件方法提供效率。其方法是默认的情况下将WSGR设置成与高速器件一致,当要访问低速器件时再修改WSGR的值。DSP常常对外部件进行连续操作,在这种情况下,软件方法还是比较有效的。但最大问题在于增加了软件负担和不稳定因素。

显然,效率最高的情况是,既不需要修改WSGR,DSP又能以外部器件本身的速度对它们进行访问。事实上,只要能够产生适当的信号控制DSP的READY端,就可以达到这个目的。DSP在开始一个外部总线的操作后,会在每一个CLKOUT信号(DSP的时钟输出)的上升沿时刻对READY端进行查询,若READY为低,则保持总线的状态不变,然后在下一个CLKOUT上升沿时刻两次查询,直至查询到READY为高时结束本次总线访问。

下面的设计实例中介绍的硬件等待电路(见图1)能够实现这个功能。它针对不同的外部器件产生相应的等待信号送到DSP的READY端,实现硬等待。其核心器件采用了广泛应用的通用逻辑阵列(GAL),GAL的引脚定义与图1相对应。使用GAL器件使硬件设计变得简单而灵活,可以完成比较复杂的逻辑关系。

例如,频率为50MHz的DSP在数据空间外扩有RAM和ROM各一片,访问周期分别为70ns和150ns,地址空间分别为0x8000~0x8fff和0x9000~0x9fff。由DSP的主频可知,对RAM和ROM的访问各需插入3个和7个等待周期。下面给出GAL源文件的关键部分(它们使用汇编程序FM的格式编写):

Q0:=/Q0/RD+/Q0/WR

Q1:=/Q0Q1/RD+Q0/Q1/RD+/Q0Q1/WR

+Q0/Q1/WR

Q2:=/Q1Q2/RD+/Q0Q1Q2/RD+Q0Q1/Q2/RD

+/Q1Q2/WR+/Q0Q1Q2/WR+Q0Q1/Q2/WR

;构成一个三位的二进制计数器

;Q2为最高位、Q0为最低位

;对读信号或写信号的宽度进行计数

GAL_READY.OE=VCC

/GAL_READY=/DSA15/A14/A13/A12/Q1+/DSA15/A14/A13A12Q1/A0

;为RAM的访问插入3个周期

+/DSA15/A14/A13A12/Q0

+/DSA15/A14/A13/Q1

+/DSA15/A14/A13A12/Q2

;为ROM的访问插入7个周期

图2是一个与写时序对应的时序图,其中在下三角符号标出的时刻,DSP对READY端进行查询。

这种方法能够充分使用硬件的速度,并且对软件是透明的,不会增加编程人员的负担。

图3DSP与SJA1000的接口原理图

2总线不兼容的情况

有一类芯片的总线接口是分时复用的,如CAN总线控制器SJA1000。SJA1000有8位的数据和地址复用的总线,可以和多种MCU直接相连。一次总线操作开始时,总线先传递此次操作访问的地址,在ALE信号将地址锁存后,再进行数据读写。而DSP的数据总线和地址总线被并行地引出,这种并行结构比分时复用的串行结构先进,有着高一倍的带宽。但DSP被设计时并没有考虑过会在芯片外将并行的总线再串行化,也就是没有设计相应的辅助信号来完成这种转换。这使得完全使用硬件方法进行串行转换比较困难。

此类问题通常使用软件和硬件配合解决,并不真正地靠硬件进行园,而是把一次总线操作分解成两步。先把此次操作的目标地址作为数据送到总线上,同时通过硬件产生一个锁存信号将其锁存。然后再进行读写操作,读写操作的目标地址就是上一步被锁存的地址。

使用这种办法,硬件和软件都不需要进行复杂的变换。唯一的缺点是指令的效率变低了。由于SJA1000的读写周期一般是DSP的指令周期的几倍,一次访问被分解成两次后多消耗的时间不能忽略。还有一个更重要的影响是,这种转换方法在寻址时无法使用DSP的并行寻址功能,必须使用另外的变量独立运行。在多数的CAN总线应用中,这种处理方法不会对系统的整体性能产生太大的影响。但在有的系统中,这种低效是不可容忍的,如由DSP和SJA1000组成的CAN总线网关,它含有多个SJA1000芯片,并且在SJA1000之间需要经常进行数据块的搬移。对于次数频繁并且寻址有规律的操作,利用DSP的并行寻址功能将极大地提高程序的效率。以下程序段可在两个同网段的SJA1000之间完成一帧消息搬移功能(它在每次操作的同时对下次操作的地址进行并行寻址):

Larar0,mlength;取消息的长度

Larar1,#SJA1_A;一个SJA1000中接收邮箱的首地址

Larar2,#SJA2_S;另一个SJA1000中发送邮箱的首地址

Mar,ar0

Mar-,ar1

Loop:;复制一帧消息

Lacl+,ar2

Sacl+,ar0

Banzloop,-,ar1

如果按下述方法改写这段程序,不仅对SJA1000的操作时间要增加倍,而且每次操作前都要对地址进行运算,使得完成同样功能的程序运行时间要增加到原来的3~4倍。

这时,只有使用纯硬件的解决方法才能获得理想的效果。设计的关键是生成合适的锁存信号ALE,使它能够满足SJA1000的时序要求。通过研究DSP控制信号的时序要吧发现,从地址建立到读写控制信号有效大约要经历二分之一个CPU时钟的时间,而SJA1000的ALE信号要求的最小宽度为8ns,因此对于主频在50MHz(CPU时钟为20ns)以下DSP,可以利用这二分之一个CPU时钟的时间间隔生成ALE信号。图3给出了含两片SJA1000的接口电路图。除了片选信号外,这两片SJA1000的总线和其它控制信号都连在一起。

假设SJA1000的片选地址为0X8xxx和0x9xxx,各引脚定义与图中对应,则GAL中的逻辑关系如下:

/ADDR_G=DSP_RDDSP_WRRDWR

/DATA_G=/DSP_DSDSP_A15/DSP_A14/DSP_A13ADDR_G

/WR=/DSP_WR/ALE

/RD=/DSP_RD/ALE

ALE=/DSP_DSDSP_A15/DSP_A14/DSP_A13

DSP_RDDSP_WR

/CS1=/DSP_DSDSP_A15/DSP_A14/DSP_A13

/DSP_A12ADDR_G

/CS2=/DSP_DSDSP_A15/DSP_A14/DSP_A13DSP_A12ADDR_G

对其中一片进行读写操作,则时序关系如图4所示。

其中,twr、tww分别为DSP读、写时的ALE信号宽度,它们都接近1/2个CLKOUT的周期。T为ALE的下降沿到RD、WR有效的时间,它由GAL翻转的延时产生,为10ns以上(注:本图中DSP的时序来自TMS320C24xxA系列,不同系列的DSP产品之间时序可能有细微的差别)。

接口范文篇5

关键词:PCI总线;CH361;I/O端口映射;扩展ROM映射

1主要特点

CH361是一个简便易用的PCI总线通用接口芯片。该器件在本地端提供了通用的8位数据总线。由于其支持I/O端口映射和扩展ROM映射,因而可广泛应用于制作低成本的基于PCI总线的计算机板卡,或者用于将原先基于ISA总线的板卡移植到PCI总线上。

CH361的主要特点如下:

●带有通用8位主动并行接口:包括8位数据、16位地址、I/O读和写以及存储器读和写;

●可以设定PCI设备的设备标识(VendorID,DeviceID,ClassCode等);

●支持长度达240字节的I/O端口;

●允许本地硬件地址实现专用I/O端口,可直接移植ISA板卡到PCI总线;

●具有两种I/O端口存取速度:分别为60ns和240ns;

●支持直接映射容量为8kB或者32kB的扩展ROM(BootROM);

●支持通过8kB或者32kB扩容窗口映射的、容量为64kB/128kB的扩展ROM;

●支持扩展ROM(BootROM)的写操作,同时支持存储器SRAM和闪存Flash-Memory;

图2

●内置预引导Mini-Boot-ROM,可支持扩展ROM模拟;

●内置I2C主设备接口,可挂接I2C从设备;

●支持本地设备数据等待,并可提供本地数据输入缓存;

●内置4μs~1ms的硬件计时单元,用于延时;

●采用80个脚的LQFP80和PQFP80两种形式;

●采用了4项专利技术和多项专有技术,低成本,简便易用。

2引脚功能

CH361接口芯片的引脚排列如图1所示。各引脚功能如表1所列。

表1CH361的引脚功能描述

引脚号引脚名称类型引脚说明

20,61,80VCC电源+5V电源

1,21,60GND电源接地

64PCI_RST输入系统复位信号线

65PCI_CLK输入系统时钟信号线

2~5,14~19,22~23,

25~32,66~73,76~79PCI_AD31~PCI_AD0三态输出及输入地址、数据复用信号线

6,13,24,74PCI_CBE3~PCI_CBE0输入总线命令、字节使能复用信号线

12PCI_PAR三态输出奇偶校验信号线

75PCI_IDSEL输入初始化设备选择信号线

7PCI_FRAME输入帧周期开始信号线

8PCI_IDRY输入发起设备准备好信号线

9PCI_TRDY三态输出目标设备准备好信号线

10PCI_DEVSEL三态输出目标设备选中信号线

11PCI_STOP三态输出可用于INTA中断请求信号线,一般不连接

51~58D7~D0三态输出及输入8位数据信号线,各带40kΩ上拉电阻,D7同时是I2C接口的SDA信号线

33~39,42~50A15~A0输出16位地址信号线,A15~A8可以独立控制输出,A15同时可以设定为I2C接口的SCL信号线

40IOP_RD输出I/O端口的读选通/使能,低电平有效

41IOP_WR输出I/O端口的写选通/使能,低电平有效

62MEM_RD输出扩展ROM或存储器的读选通/使能,低电平有效

63复用MEM_WR输出扩展ROM或存储器的写选通/使能,低电平有效

IOP_HIT输入本地硬件地址请求,低电平有效,带上拉

59复用SYS_EX输出可以独立控制的输出信号线,可以设定为I2C接口的SCI信号线

IOP_WAIT输入本地设备数据等待请求,低电平有效,带上拉

EXT_WR输入本地数据输入缓存写使能,上升沿有效,带上拉

INT_REQ输入本地中断请求输入,低电平有效,带上拉

3工作模式

为了在不增加引脚的前提下提供更多可用功能,CH361对部分引脚进行了复用,并可通过“工作模式设定”进行功能选择。“工作模式设定”的具体方法如下:首先将本地端8位数据信号线采用上拉或者下拉的方式设定为所需的高电平或者低电平,以便在CH361被复位后根据这些信号线的默认状态来设定工作模式以及参数;这些信号线在作为8位数据总线被驱动时,由于一般外部设备的驱动电流不小于1mA,所以,上拉或者下拉不会影响其对数据总线的驱动;另外,CH361仅在复位后的1μs内一次性设定工作模式及参数,所以,如果外部设备的驱动能力很小或者是采用OC集电极开路驱动,那么,系统仅在复位后的短时间内实现下拉,而在其余时间屏蔽下拉或者转换成上拉。表2和表3所列为设定工作模式和参数时所对应的数值(1即高电平,0即低电平)。

表2工作模式设定表

数据线数据线的设定说明设定值=0设定值=1

D0设定系统复位后A15地址线的默认值复位后为0复位后为1

D1选择PCI设备标识(ID)外部提供IDCH361默认1D

D4选择复用引脚63的功能IOP_HITMEM_WR

D5设定I/O端口存取速度、扩展ROM容量60ns、8kB240ns、32kB

D7和D6提供给产品制造商使用,数据线的状态从PCI设备配置空41H中读取

表3引脚复用设定表

数据线D4-D3-D2的设定值选择复用引脚59引脚功能说明

D4-D3-D2=000或者100INT_REQ本地中断请求输入

D4-D3-D2=001IOP_WAIT本地设备数据等请求

D4-D3-D2=010EXT_WR本地数据输入缓存写使能

D4-D3=011或者110或者111SYS_EX独立控制输出,复位后为0

D4-D3-D2=101独立控制输出,复位后为1

4CH361的典型应用

4.1与PCI总线的连接电路

图2所示是CH361与PCI总线进行连接的接口电路,图中,电容C1~C4用于电源退耦,而C2~C4应分别并联在CH361的三对电源引脚上。图中,PCI总线的电源线引脚可以自由选择,但数量不得少于4对。CH361属于高频数字电路,因此,设计PCB板需要参考PCI总线规范。

4.2与存储器的连接电路

图3是CH361与SRAM62256存储器的接口电路。图中,CH361通过MEM_RD和MEM_WR与存储器U2(型号是SRAM62256)连接。因为CH361只在PCI设备配置空间中提供扩展ROM基址寄存器,而计算机BIOS通常不会为SRAM设置扩展ROM基址,所以在读写存储器U2前,需要设置扩展ROM基址寄存器,以将存储器U2映射到存储器空间。也就是说,向CH361的扩展ROM基址置入地址值0E0000001(该地址不能与其它设备的存储器地址相冲突,最低位置1是为了启用扩展ROM)后,U2即被映射到0E0000000H至0E0007FFFH的地址空间,这样,当计算机读写0E0001234H地址的存储器时,实际上就是读写存储器U2的1234H地址的内容。

如果将普通的SRAM换成双端口SRAM,则CH361可以通过双端口存储器与外部的单片机或者DSP交换数据。CH361使用8位数据总线,所以,向SRAM写入数据只能以字节为单位进行,但从SRAM读出数据则能够以字节、字、双字为单位进行。CH361通过存储器与外部电路交换数据的实测速度可以达到每秒1.5M字节。

4.3连接扩展ROM

图4是CH361与扩展ROM的接口电路。CH361可通过MEM_RD与ROM芯片U3(型号是27C512)进行连接。它支持EPROM和闪存Flash-Memory,容量可以是32kB或者64kB。如果将SYS_EX用于A16地址线,则最大容量可达128kB。一般情况下CH361可以直接支持32kB容量的扩展ROM(即27C256芯片的容量),也可以在扩展ROM的程序中通过控制A15地址线支持64kB容量的ROM芯片。下拉电阻R1用于CH361的工作模式设定,因为图中的数据线D0连接了下拉电阻,所以,系统复位后,地址线A15为低电平以选择U3的低32kB(地址为0000H-7FFFH),而在需要读取U3的高32kB时(地址为8000H-0FFFFH),可以通过写芯片控制寄存器的位0来重新设定A15地址线,SYSEX连接A16地址线时与A15的用法类似。另外,由于PCI扩展ROM中的内容通常被BIOS复制到RAM内存中,所以需要设置CH361的扩展ROM基址以重新将U3映射到存储器空间。CH361的A15引脚不仅能用作地址线,还可以自由控制,例如在需要同时连接SRAM和ROM时,可通过A15切换两者的片选。PC机中的扩展ROM相当于一个电子盘,如果在其中写入引导程序和应用程序,那么,即使计算机没有硬盘和操作系统,扩展ROM中的引导程序和应用程序也能够控制计算机以实现某些特定的功能。如,无硬盘PC机用于工业控制或控制作业流程等。

接口范文篇6

软件模拟引言随着信息社会的发展,网络和信息家电越来越地出现在人们的生活中。人们普通要求将家庭内的所有家用电器与Internet连接起来,实现主人在远方用计算机或电话通过Internet对象家庭电设施进行监控。家用电器制造商可以通过网络对其生产的设备进行售后跟踪服务;家用电器是故障时能自动按预设的邮件地址来发送电子邮件进行报警。这就需要有一个“家庭网络中央控制器”。它对外与Internet连接,对内通过家庭内部无线局域网将所有家用电器连接成一体,从而确保信息家电安全地接入Internet。当前,多数研究单位推出的家庭网络智能控制器,均以PC或准PC机作为硬件平台,由于价位高而均未被市场容纳。嵌入式Internet是近几年发展起来的一项新兴技术。以32位ARM嵌入式微处理器为硬件平台,通过移植嵌入式操作系统uClinux内核,开发相应的硬件驱动、微型GUI和上层应用软件,最终实现产品化的嵌入式家庭网络中央控制器。该系统具有体积小、功耗低、价格便宜的特点。

1系统的硬件组成本系统以高性能、低价格的S3C4510B为主CPU。它是Samsung公司推出的基于ARM7TDMI核,精简指令系统的32位高速微处理器。工作电压为3.3V,内核ARM7TDMI的工作电压为2.5V,大大降低了芯片的功耗。S3C4510B片上资源:一个总线仲裁器可以根据总线仲裁优先级在片上功能模块和设备之间进行系统总线控制权分配;8KB指令、数据复用Cache,每128bit为1页,并可全部或部分设置为SRAM;1个主I2C总线控制器,可作为主发送器或主接收器,能连接多个从设备;2个通用DMA;18个通用I/O口;2路4线UART口,其中一个支持IrDA1.0,可用于红外通信;6组ROM/SRAM/Flash用于管理外部存储器。另外,可扩展4组动态存储器和4BANK扩展I/O设备;2通道带有DMA传送方式的HDLC口;1个10M/100M自适应以太网控制器。图1为家庭网关的硬件框图,以S3C4510B为基本核心系统,扩展一系列功能模块。有4×4键盘及以屏幕LCD显示构成良好的人机界面,用于手动本地参数查询和设定。家庭网关基本系统以SPI接口与PTR3000无线收发模块相连,同时家庭内部家电控制器也通过SPI接口扩展PTR3000无线模块。这样,家庭网关的无线模块以轮询的方式与家庭内各家电控制器上无线模块进行通信,从而组成家庭内部无线子网。家庭网关基本系统只需对SPI口进行操作即可实现与家电通信。实现了家电以家庭网关为中介与Internet在物理层互联的三个通路:PC通过LAN经由Internet连接到基本系统的以太网口、PC通过Modem经由公司电话网与嵌入式Modem相连再到UART1、电话机经过公用电话网经语音卡连到UART1。

2uClinux嵌入式操作系统操作系统选用uClinux。它是一个完全符合GNU(GNU’sNotUnix,自由软件基金会)/GPL(GeneralPulicLicense,通用公共许可证)公约的完全开放代码项目,是标准Linux的一个分支,现在由Lineo公司支持维护。它专门针对没有MMU的CPU,并且专为嵌入式系统做了许多小型化的工作。UClinux经过对标准Linux内核的改动,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,但uClinux仍然保留了Linux的大多数的优点,稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持以及标准丰富的API。它的主要特片如下:①在linux-2.4.x/driver/char/Makefile添加1行:obj_$(CONFIG_SPI)+=SPI.0。在24行obj-y+=mem.otty_io.o后加PI.o。②在linux-2.4.x/driver/char/Config.in,添加1行:bool''''SPI''''CONFIG_SPI便于在makemenuconfig时选择。③在linux-2.4.x/driver/char/mem.c在文件头部添加:#ifdefCONFIG_SPI/*编译时选择该项就执行SPI的初始化函数*/externvoidSPI_init(void);#endif在chr_dev_init()函数添加:#ifdef

CONFIT_SPISPI_init();#endif④修改vendor/Samsung/4510b/Makefile,建立起设备节点。在12~35行间,DEVICE部分添加内容SPI,c,29,0。SPI是设备名,c代表字符设备,29是SPI的主设备号,0是SPI的次设备号。⑤makemenuconfig时选中SPI编译,然后直载。启动后,会看到/proc/devinces中字符设备多了一项SPI29。S3C4510B有18个通用I/O口,其中高10位可设置为其它功能口。在该系统中,设置P8为中断接收线,P11模拟主机输出线MOSI,P12模拟主机时钟SCK,P13模拟主机输入线MISO。P8口用于接收PTR3000的发送请求信号。当P8口接收到请求信号时,系统进入中断处理。中断处理进程唤醒睡在睡眠队列SPI_WAIT上的读进程,读进程由P12口输出SCK信号并由P13口读入数据。值得说明的是,SPI不带中断线,在此用P8口做中断接收线是为了避免操作系统在没有进行SPI操作时不断向SCK线发时钟信号。因此,MSP430F147IPM必须另外与S3C4510B连一个引脚在请求发送数据时发出中断接收线是为了避免操作系统在没有进行SPI操作时不断向SCK线发时钟信号。因此,MSP430F147IPM必须另外与S3C4510B连一个引脚在请求发送数据时发出中断请求信号。实现过程如下:Staticwait_queue_head_wait;//休眠队列//读函数staticssize_tSPI_onlyread(structfile*file,char*buf,size_tcount,loff_t*ppos){interruptible_sleep_on(&SPI_wait);//读进程睡眠等待读中断信号if(count>BUFNUM)count=BUFNUM;for(num=0;num>(12-i));//数据输入}}if(copy_to_user(buf,&SPI_read,count))//数据从内核空间拷贝到用户这间return-EFAULT;returncount;}//写函数staticssize_tSPI_onlywrite(structfile*file,constchar*buf,size_tcount,loff_t*ppos){if(count>BUFNUM)count=BUFNUM;if(copy_from_user(&SPI_write,buf,count))//数据从用户空间拷贝到内核空间return-EFAULT;for(num=0;num>1;iopdata=iopdata^0x1000;//时钟输出}}returncount;}//中断响应函数staticintSPI_irq(intirq,void*dev_id,structpt_regs*regs){intpnd=intpnd|0X1;//清中断位wake_up_interruptible(&SPI_wait);//唤醒睡眠队列return1;}//字符设备驱动接口staticstructfile_operationsSPI_fops={owner;THIS_MODULE,read:SPI_onlyread,write:SPI_onlywrite,};//初始化函数int_initSPI_init(void)register_chrdev(29,"SPI"&SPI_fops);//设备注册函数init_waitqueue_head(&SPI_wait);if(!request_irq(0,SPI_irq,SA_SAMPLE_RANDOM,"SPI"NULL)){//中断申请return-EFAULT;}iopmod=(iopmod&0xffffe7ff)=0x1800+iopmod;//设置通用I/O口模式iopcon=(iopcon&0xffffffe0)+0xle+iopcon;//设置通用I/O模式enable_irq(0);//开中断return0;}module_init(SPI_init);MODULE_LICENSE("GPL);EXPORT_NO_SYMBOLS;结语实验证明,模拟的SPI口接收发送数据准确可靠。用户程序可以以设备文件的形式进行访问,与标准的SPI接口无异。该方案对于嵌入式家庭网关的研究,以及运用uClinux作为操作系统的嵌入式模拟通信接口,有一定的参考价值

接口范文篇7

关键词:雷达极坐标指示器ARINC429总线适配器

直升机自动导航系统与机上设备的交连关系如图1所示。它主要由多卜勒雷达、导航计算机、自动驾驶仪、真空速度计算机、极坐标指示器导航信号适配器和多卜勒导般信号适配器以及各种仪表、指示器构成。本文主要介绍多卜勒导航信号适配器和极坐标指示器导航信号适配器的设计。

1接口适配器的研制

1.1多卜勒导航信号适配器

1.1.1接口信号分析

多卜勒转达输出模拟和数字两种制式的导航信息。模拟信号相对于水平面,它包括雷达输出的速度信息(以直流电压形式提供给速度指示器、400Hz交流电压形式提供给自动驾驶仪)、导航信息(纵向和横向速度的交流模拟电压);数字信号是相对于机体坐标的纵向和横向速度的数字信号。由于数字信号的脉冲宽度和信号灵敏度不符合导航计算机的要求,又因为多卜勒雷达给出的模拟信号质量优于数字信号,因此,将多卜勒雷达输出的模拟信号进行交换,实现与导航计算机的脉冲数字接口相匹配。

1.1.2适配器完成以下功能:

·将多卜勒雷达输出的以灵敏度为30mV/Kt的400Hz交流信号表示的飞机纵向(Vy)、横向(Vx)速度信号转换为以脉冲频率数表示的导航计算机的输入信号;

·将雷达输出的表示速度方向的离散信号转换为满足导航计算机需要的离散信号;

·将直升级真空速表输出的以交流模拟电压表示的真空速信号转换为以直流模拟电压表示的真空速信号送给导航计算机;

·将导航计算机输出的侧向控制信号和有效信号以及自动驾驶仪输出的巡航功能控制信号转换为自动导航的控制信号,实现自动驾驶仪的自动导航。

1.1.3适配器设计

适配器主要由A/D转换电路、AD/DC转换电路、离散信号转换电路、状态控制电路和电源电路等组成。

A/D转换电路由低通滤波器、缓冲隔离、梯度控制、A/D转换、钳位隔离等部分组成,如图2(a)所示。该电路的输入信号为雷达输出的模拟信号,制式为400Hz交流,灵敏度为30mV/Kt;输出为0.8V的脉冲信号,频率灵敏度为35.7Hz/Kt(可调)。

AC/DC转换电路由低通滤波、缓冲隔离、AC/DC转换、梯度控制电路构成,如图2(b)所示。该电路的输入信号为真空速表的输出,信号制式为400Hz交流、灵敏度为90mV/Kt;输出为直流电压、灵敏度为75mV/Kt(可调)。

离散信号转换电路由整形钳位、电平转换、反向器、缓冲器离电路组成,如图2(c)所示。该电路的输入信号为多卜勒雷达输出的代表速度方向(相对机体)的离散量,其输入高电平为+3.5V、低电平为+0.8V,输出高电平为+8V,低电平为+2V。

自动导航信号处理及控制电路包括信号控制电路和状态控制电路。信号控制电路由低通滤波、梯度控制、缓冲隔离电路等组成;而状态控制电路由电平钳位、逻辑控制、缓冲隔离及控制继电器等组成,如图2(d)所示。

上述所有功能电路,均经反复调试,优化设计,最后固化成模块。整个电路由六个模块组成,分别安装在两个印刷电路板上,如图3(a)和3(b)所示。

图中RGX-1A、RGX-1B为多卜勒雷达纵向速度信号和横向速度信号的预处理电路,包括低通滤波、缓冲隔离和梯度控制;RGX-IC为真空速信号的AC/DC变换;RGX-2为多卜勒雷达速度信号的A/D转换模块;RGX-3为离散信号的处理模块。

1.2极坐标指示器导航信号适配器

1.2.1适配器功能

该适配器完成导航计算机输出的地速串行数据(12.5±0.1kbit/s)中的目标方位、偏流角和待飞距离信号计算,并将目标方位和偏流角信号调整为极坐标指示器能够接收的符合ARINC407标准的同步器信号,将等飞距离信号调整为四位LED显示器的显示信号。

1.2.2硬件设计

以8031单片机为信心,结合相应的电路设计,构成一个ARINC429总线信号的求解和信号匹配系统。硬件设计框图如图4所示。

图中,8031作为核心芯片,它与27256程序存储器和61256数据存储器组成单片机最小应用系统,完成对导航计算机输出的ARINC429总线信号进行采集、转换、计算和信号匹配等操作并进行控制。

3282板以HS-3228、8255等芯片构成处理电路,现将导航计算机的32位ARINC429串行数据转换为符合8031单片机8位数据总线要求的并行数据,由单片机最小系统控制,实现数据的转换和采集。

SZZ板以高精度数字/轴角转换模块和8155等芯片为核心,构成目标方位角和偏流角的数字/轴角转换电路,实现将3282板采集来的目标方位角和偏流角的数字量转换为符合ARINC407标准的同步器信号,送给极坐标指示器,使其指示相应的参数。

8279板以8279芯片为核心,构成键盘和显示器驱动电路,实现待飞距离的显示数据的处理和四位LED显示器的功率驱动。

1.2.3软件设计

为了便于程序的调试和修改,软件设计采用模块化设计方法。程序模块主要包括主程序模块、中断服务(数据采集)子程序模块、数据转换子程序模块、信号匹配子程序模块、数码显示子程序模块等。其中数据采集子程序和数据转换子程序流程图如图5(a)、(b)所示。

接口范文篇8

关键词:USB终端人机接口设备(HID)列举

引言

USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效、便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。因此,越来越多的开发者欲在自己的产品中使用这种标准接口。而RS232是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在传统的设备中有很多采用了这种通信方式。一般的IC卡门禁考勤系统也使用RS232接口与PC机通信。如果将USB技术应用于IC卡门禁考勤系统与PC机之间的数据通信,这样,不仅能使IC卡门禁考勤设备具备USB通信的诸多优点,而且对PC机而言还可以节余1个RS232串口为其它通信所用。

1USB系统概述

USB规范描述了总线特性、协议定义、编程接口以及其它设计和构建系统时所要求的特性。USB是一种主从总线,工作时USB主机处于主模式,设备处于从模式。USB系统所需要的唯一的系统资源是,USB系统软件所使用的内存空间、USB主控制器所使用的内存地址空间(I/O地址空间)和中断请求(IRQ)线。USB设备可以是功能性的,如显示器、鼠标或者集线器之类。它们可以作低速或者高速设备实现。低速设备最大速率限制在1.5Mb/s,每一个设备有一些专有寄存器,也就是端点(endpoint)。在进行数据交换时,可以通过设备驱动间接访问它。每一个端点支持几种特殊的传输类型,并且有一个唯一的地址和传输方向。不同的是端点0仅用作控制传输,并且其传输可以是双向的。

系统上电后,USB主机负责检测设备的连接与拆除、初始化设备的列举过程,并根据设备描述表安装设备驱动后自动重新配置系统,收集每个设备的状态信息。设备描述表标识了设备的属性、特征并描述了设备的通信要求。USB主机根据这些信息配置设备、查找驱动,并且与设备通信。

典型的USB数据传输是由设备驱动开始的,当它需要与设备通信时,设备驱动提供内存缓冲区,用来存放设备收到或者即将发送的数据。USB驱动提供USB设备驱动和USB主控制器之间的接口,并将传输请求转化为USB事务,转化时需要与带宽要求及协议结构保持一致。某些传输是由大块数据构成的,这时需要先将它划分为几个事物再进行传输。

具有相似功能的设备可以组成一类,这样便于分享共有的特性和使用共同的设备驱动程序。每个类可以定义其自己的描述符,如:HID类描述符和Report描述符。HID类是由人控制计算机系统的设备组成的,它定义了一个描述HID设备的结构,并且表明了设备的通信要求。HID设备描述符必须支持端点输入中断,固件也必须包括一个报告描述符,表明接收和发送数据的格式。在IC卡门禁考勤系统引入RS232到USB的接口转换模块后,从系统所具有的特性来看,应该属于HID设备。因此,两种特殊的HID类请求必须被支持:SetReport和GetReport。这些请求使设备能接收和发送一般的设备信息给主机。在没有中断输出终端时,SetReport是主机发送数据给HID设备的唯一方式。

2系统要求

为了实现IC卡门禁考勤系统中RS232-USB的接口转换,需要1台支持USB的主机,同时还要提供主机上用于与外设通信的驱动,一般由操作系统提供。此外,还需开发在主机上执行的客户端应用程序。在设备端,需要提供具有USB接口的主控制器芯片,以及编写主控制器上执行的USB通信代码和用于执行外设功能的相关代码。

2.1主机要求

主机必须能够通过设备驱动接收USB数据,并且使这些数据对处理这些请求的应用程序有效。在主机中必须有一个驱动负责处理USB传输、辨识设备、向USB设备收发数据;同时,还需要有一个设备驱动-虚拟化串行口,仿效真实的串口。这个驱动必须能够像真实的串口接收和发送USB数据。

从应用的观点,设备驱动必须能收发数据,可以通过使用一个虚拟化的串口或通过转化为USB数据实现。微软提供了一个叫作USBPOS的设备驱动,它允许应用程序访问USB设备时,好像它们连接到标准串口上一样。系统大致结构方框图如图1所示。

2.2设备要求

在定义即将使用的微控制器时,必须说明一些通信要求,如:通信速率、频率、传输的数据量等。考虑到IC卡门禁考勤系统有效的通信速率,可以把转换器作为一个低速的设备使用,低速设备通信速度可以在10~100Kb/s的范围变化。考虑到传输的数据量和传输的频率,此系统中使用中断的传输类型。中断传输可以在2个方向进行,但不能同时进行,这种类型的传输要求在规定的时间里完成相当大数据量的传输任务。

对于转换模块,它可以用于PC机的数据收发,操作系统提供了HID驱动,允许使用中断传输模式。对于低速设备的一个事务,中断传输最大的包容量是8字节,如果需要发送大量的数据,则必须把它分割为很多事务。

转换模块要定义的另一个特性是所需端点数。如上所述,端点是微控制器在USB通信过程中所用来发送和接收数据的缓冲区。此系统中,该转换器定义了2个端点:一个端点(端点0)用来控制传输,另一个端点是中断输入端点,定义为发数据给PC机。

根据以上要求,通过研究比较现有的微控制器,考虑到如内存空间、价格和开发包等因素,我们选用Cypress家族的一种8位RISC微控制器CY7C634XX/5XX。它使用哈佛总线结构,是对较高I/O要求的低速应用设备的低价解决方案。

图2为IC卡门禁考勤系统USB通信实现硬件方框原理图。

3软件设计和执行

系统软件由6部分组成:定义描述符、设备检测和列举、端点中断服务程序、USB数据交换模块、串行口数据交换模块、USB/Serial模块接口。下面简要描述其中部分模块程序的功能和实现思想。

3.1描述符定义

描述符是数据结果或信息的格式化块,它可以使主机知道这个设备。每个描述符包含了这个设备整体的信息或者某个元素的信息。所有的USB外设必须响应对标准的USB描述符的请求。

该系统中使用了1个接口和2个终端(控制和中断输入)。由于受Win98的限制还不能使用中断输出终端,因此为了解决这个问题,我们通过在端点0中使用SetReport传输PC机欲送往IC卡门禁考勤设备的数据。

数据接收是在OutputReports中完成的。它根据送往IC卡门禁考勤设备最大的数据量,系统定义为16K个8位域。发送数据给主机是在输入报告中完成的,它是8K个8位域。

3.2设备检测和列举

当1个USB人机接口类(HID)设备第一次连接到总线,它将被总线供电但仍然非功能性等待1个总线复位。D-端的上拉电阻通知Hub连接上了新的设备,主机也同时知道了新连接的USB设备,并将它复位。紧跟输入包之后,主机发送1个配置包,从缺省地址0处读取设备描述符。读到描述符后,主机将分配一个新的地址给设备,并继续查询关于设备描述、配置描述、人机报告描述的信息,设备将开始对新分配的地址作出反应。根据从设备处返回的信息,主机知道了被设备支持的数据终端的数量,完成列举过程。列举结束后,Windows将把新的设备加入到控制面板的设备管理器中显示。

为此,在微控制器中必须写入访问描述符的代码,这样便于对主机在列举设备时发送的请求作出有效的辨识和响应。在设备方面需要创建一个INF文件,使Windows能够辨识设备,并且为设备找到其驱动。由于操作系统提供了简单的INF文件,因此,开发中只需要编写写入到微控制器中的程序。

3.3数据发送和接收过程

发送数据到门禁考勤系统是通过控制端点0中使用SetReport来完成的。主机先向门禁考勤系统请求发送数据,设备响应请求后,主机便开始执行。当有数据到达设备的终端0时,将对设备产生一个中断。此时,相应的中断服务程序便将数据复制到数据缓冲区。一旦进入端点0的中断服务程序,所有的中断必须关闭,确保能够正确地复制数据。

微处理器的数据缓冲区编程为可以接收64个字节,这个值是存放在设置包的包头请求信息中。从主机处接收到的最大包大小,是根据它将发送给门禁考勤系统的最大数据量来决定的。

系统还使用了Put_command线程,通过1个I/O端口引脚,向门禁考勤系统串口发送数据。在执行此线程时,根据串口通信协议插入了起始位、停止位以及相应的延时。

从门禁考勤系统接收数据的过程是利用端点1完成的。端点1配置为1个中断输入端点,当有1个起始位到达引脚时,GPIO中断必须打开,并关闭所有其它类型中断。设计中通过使用1个Get_Serial线程来收集I/O引脚发出的串行数据,并把它存入数据缓冲区。同时该线程负责检验接收到的起始位和停止位的正确性。当收到8个字节时,将接收缓冲区中的数据复制到终端1的缓冲区,并且允许微处理器响应中断输入请求。

接口范文篇9

关键词:PCIWDMs5935

PCI局部总线由于具有高速率以及支持即插即用等特点在微机系统中得到广泛应用。利用PCI接口芯片可以方便地设计PCI规范板卡。s5935是AMCC公司s59xx系列PCI接口芯片中的一种。该芯片功能强大,可用于高速数据采集处理卡、视频加速卡以及多媒体通信等。其主要特点如下:

●兼容PCI2.1规范,可实现PCI总线主设备和从设备功能;

●具有高达132MB/s的传输速率;

●支持8/16/32位外加用户总线;

●可选nvRAM和扩展BIOS;

●具有直通、邮箱、FIFO/DMA三种工作方式;

●适于32位5V电平PCI卡,具有160脚PQFP和208脚TQFP两种封装。

1s5935的结构

图1所示是s5935的内部结构框图。s5935中的寄存器分为PCI配置寄存器组和操作寄存器组。前者可从nvRAM的40h~7fh位载入,也可以是默认值,s5935只能实现首部类型0和单功能设备配置。后者用于s5935与外加总线的操作配置和数据传输(如中断控制,邮箱入口等),从PCI总线访问时称为PCI操作寄存器组,地址为PCI操作寄存器基址加各寄存器偏移地址;而从外加总线访问时,称为外加总线操作寄存器组,可通过ADR[6:2]选择。

s5935的引脚接口分为PCI总线接口、外加总线接口和nvRAM接口。外加总线接口包括中断、复位输出、数据总线及控制引脚,这三种工作方式各有其独立的控制引脚。

2s5935的工作方式

s5935具有直通、邮箱和FIFO三种工作方式,其中直通方式(Pass-Thru)可以实现PCI总线对外加总线的实时读写,它可对PCI总线读写时序直接响应;邮箱方式(MAILBOX)可通过PCI总线与外加总线的一方读/写邮箱,另一方接收中断/查询并写/读邮箱;以上两种工作方式只能在s5935作为PCI从设备时实现。而FIFO方式则可使其作为总线主设备来启动DMA数据传输。在典型的PCI数据处理卡中,可用s5935作为PCI接口通过DSP处理数据,同时使用FPGA完成DSP与s5935间的逻辑转换;邮箱或直通方式用于主机和DSP之间的命令和参数传输,FIFO/DMA方式则可完成高速批量数据传送。下面是s5935的PCI配置及三种工作方式在Win-dows2000下的WDM驱动程序(DDK编程)。

2.1s5935的PCI配置

PCI配置寄存器格式可参考PCI协议文档。如果不使用nvRAM加载s5935的PCI配置寄存器,将无法实现FIFO和直通工作方式。PCI配置寄存器中的基址寄存器BASEADDRESS0对应于PCI操作寄存器的基地址;BASEADDRESS1至4则分别对应于四个直通通道地址(无nvRAM时默认为0)。上述基址寄存器的内容可由系统在初始化时查询以确定映射方式(I/O或内存映射)、直通通道位宽和地址范围,然后由系统写入物理地址,这种具体配置方法比较麻烦(见参考文献1和2)。同时,nvRAM的45h字节的第5、6位必须置0以使能FIFO操作。

2.2直通方式

s5935提供有四条直通通道,可以实现单周期和突发数据传送。在主机驱动程序中,读写直通通道地址可实现数据传输,如:

WRITEPORTUSHORTBASEADDRESS3+OFF-SETADDRESS,DATA;

s5935外加总线接口部分相关引脚:

PTATN:输出,直通周期开始;

PTNUM10:输出,指示四个直通通道之一;

PTBE30:输出,DQ310字节使能;

PTWR:输出,读写选择;

PTADR:输入,OFFSETADDRESS从直通地址寄存器驱动至DQ310;

PTRDY:输入,表明外加总线完成传输;

ADR62:输入,选择外加操作寄存器;

2.3邮箱方式

s5935有输入、输出邮箱各四个,多采用中断/查询方式传输数据,外加总线则可由ADR6:2和IRQ等引脚实现。中断控制/状态寄存器用于实现中断的使能配置、查询和清除,邮箱状态寄存器可查询邮箱状态,通过控制/状态寄存器可使邮箱复位。还可以通过EA08脚直接读写外加总线4号输出邮箱的第三字节,这也是直连外部中断的一种简单方法。在Windows2000下,其典型WDM驱动程序中断相关部分模型如下(地址I/O映射):

AddDevice()//加载设备

……

IoInitializeDpcRequest();

……

DispatchPNP//

……

caseCmResourceTypeInterrupt:

GetInterruptRes;//取得中断资源

……

WRITEPORTULONG(BASEADDRESS0+INTCSR,DISABLEINTDWORD);//禁止中断

IoConnectInterrupt

……

DeviceControl()//实现应用程序中DeviceIOCon-trol函数对设备的读写

……

switchCONTROLCODE……

caseENABLEINTERRUPT://使能和配置

中断方式

WRITEPORTULONG(BASEADDRESS0+INTCSR,INTMASKDWORD);

caseWRITEDATA:

WRITEPORTULONG(BASEADDRESS0+INCOMINGMBOX2ADDRESS,DATA);

}

……}

InterruptHandler//中断服务函数

{……

DWORD=READPORTULONG(BASEAD-DRESS0+INTCSR)//查询是否使本设备产生的中断及本设备以何种方式产生中断

……

DWORD=READPORTULONG(BASEAD-DRESS0+PCIINCOMINGMBOX2);//假设2号邮箱收到数据产生此中断

WRITEPORTULONG(BASEADDRESS0+INTCSR,DEASSERTINTERRUPTWORD);//清中断

……

IoRequestDpc();//调用DpcForISR函数,完成可推迟的中断服务

……

DpcForISR……

接口范文篇10

关键词:GPIB接口TNT4882

1概述

TNT4882是美国NI公司的一款单芯片、高速、听/讲功能的兼备的GPIB(Generalpurposeinterfacebus)接口专用芯片。它内部集成了Turbo488(高速传输电路)以及NAT4882(IEEE488.2兼容电路),并拥有诸多新的特性,能够兼容ANSIIEEEStandard488.1和ANSIIEEEStandard488.2规范,因而可以为GPIB系统提供一套完整的解决方案。为了达到更高的传输速率。TNT4882采用了单芯片FIFO缓存电路设计,其内置的16个增强型IEEE488.1兼容收发器可以直接连接GPIB总线,以实现HS488传输模式(一种新的GPIB高速传输模式)。在兼容性方面,它与以往使用的μPD7210、TMS9914A中的寄存器设置完全兼容,用户可以将以前所用的代码直接移植到TNT4882上。同时,它所包含的Turbo488电路及其诸多新特性也可以在一定程度上减少软件的开销。另外,TMT4882还具有灵活的CPU接口,可以方便地连接各种16位或8位微处理器,并将CPU发出的消息和信号转化成相应的GPIB消息和信号,以使实现GPIB设备和CPU及内存之间的通信。

图1双芯片模式结构框图

2内部结构和时钟电路

2.1TNT4882的内部结构

TNT4882的内部结构以其工作模式的不同而有所不同。工作模式可分为单芯片模式和双芯片模式两种,而双芯片模式又可分为Turbo+7210模式和Turbo+9914模式。工作模式的选择和转换由寄存器的设置来决定,不同的工作模式决定着FIFO与GPIB的连接方式、寄存器的状态和访问属性。

在双芯片工作模式下,NAT4882相当于μPD7210(Turbo+7210模式)或TMS9914A(Turbo+9914模式),但功能更加强大。此时的结构及工作过程如图1所示。当前GPIB写数据时,CPU首先将数据写入TNT4882的FIFO里,并由传输状态机将数据从FIFO传至NAT4882电路,再由NAT4882电路将数据传送至GPIB上;而当从GPIB上读数据时,过程则正好相反。

在单芯片工作模式下,FIFO可直接与GPIB相连而不需要传输状态机,其结构如图2所示。此时,TNT4882中寄存器的设置与Turbo+7210模式类似。

由于单芯片模式采用的是最简单且最快速的结构,且是NI公司推荐的TNT4882工作模式,因此,本文主要讨论这种模式。

2.2时钟电路

TNT4882工作时需要40MHz的驱动时钟,产生时钟信号的方法有两种:一是采用40MHz的CMOS晶振,将晶振的输出接至TNT4882的XTALI管脚,并将XTALO管脚悬空;二是采用如图3所示的时钟电路。

图2单芯片模式结构框图图3TNT4882时钟电路

3寄存器简介

TNT4882内部寄存器的数量和种类都很多,而且在不同的工作模式下,寄存器的情况又不尽相同。本文只对单芯片模式以及与最基本的GPIB操作有关的一些寄存器进行简要地介绍。

需要注意的是,TNT4882内部的寄存器都是8位的。所以,每个寄存器的控制字也必须是8位。寄存器的地址通常是TNT4882的基地址加上各个寄存器所对应的偏移量。TNT4882的基地址由硬件电路决定,而每个寄存器对应的偏移量则是固定的,其范围从0至0x1F。寄存器有三种类型:只读、只写和读/写。表1列出了一些比较重要的寄存器类型。

表1TNT4882的部分寄存器

寄存器英文缩写偏移量类型

命令寄存器CMDR1C只写

辅助模式寄存器AUXMR0A只写

连续轮询模式寄存器SPMR06只写

握手选择寄存器HSSEL0D只写

高速使能寄存器HIER13只写

多功能寄存器MISC15只写

地址模式寄存器ADMR08只写

地址寄存器ADR0C只写

中断寄存器0IMR01D只写

中断寄存器1IMR102只写

配置寄存器CFG10只写

总线控制寄存器BCR1F只写

总线状态寄存器BSR1F只读

地址状态寄存器ADSR08只读

FIFO缓存AFIFOA19读/写

FIFO缓存BFIFOB18读/写

计数寄存器0CNT014读/写

计数寄存器1CNT116读/写

计数寄存器2CNT209读/写

计数寄存器3CNT30B读/写

4软件编程

TNT4882是一种需要软件编程的集成电路。其内部各个寄存器的状态决定或标志着芯片及GPIB的工作状态。在GPIB接口设计中,只有通过编程对寄存器进行正确设备,才能实现对GPIB的各种操作。以下是编程的基本思路和注意事项。

4.1芯片初始化

最典型的初始化程序需完成以下工作:

(1)复位TNT4882器件中的Turbo488电路;

(2)将TNT4882设置成Turbo+7210模式;

(3)将TNT4882设置成单片机模式;

(4)使LocalPower-On信号有效;

(5)配置TNT4882以为GPIB操作作准备,其具体任务是设置TNT4882的GPIB地址、设置初始串行轮询响应、设置初始并行轮询响应、清除或设定中断、设置GPIB握手参数等。

(6)清除LocalPower-On信号,开始GPIB操作。

上述工作只是编程时考虑实现各种功能的基本原则,设计得可以根据自己的实际需要,对TNT4882进行适当的编程,而没有必要完成每种功能的设置。

4.2GPIB数据传输

用TNT4882进行GPIB数据传输时,需经历初始化、数据传输和传输终止三个阶段,传输初始化步骤如下:

(1)正确设置TNT4882的地址模式。在GPIB写操作之前,应将TNT4882设置成讲状态;而在GPIB读操作之前,要将TNT4882设置成听状态;

(2)清空FIFO,为数据传输作准备;

(3)向配置寄存器中写入正确的控制字以设定传输参数;

(4)将欲传输字符个数的二进制补码写入计数寄存器;

(5)如果需要的话,可以设置DMA参数并使用DMA方式进行传输;

(6)根据需要,合理设置或清除中断;

(7)向TNT4882发送传输命令。

在传输初始化完成之后,就可以在系统内存和GPIB之间传输数据了。此时,所要考虑的只是如何协调内存和FIFO间的工作,而TNT4882会自动管理FIFO与GPIB间的数据传输。通常可以选择两种传输方式:DMA方式和程序控制方式。若使用DMA方式,则必须在传输初始化时对TNT4882进行正确设定。如果使用程序控制方式,则需设计控制程序来对数据传输进行管理。控制程序的基本流程如图4所示。

当数据传输终止时,还应进行以下几步操作:

(1)向TNT4882发送停止命令;

(2)若使用了DMA方式,还需禁止外部的DMA控制器;

(3)清除所有的中断设置。