总线接口范文10篇

时间:2023-03-25 00:14:53

总线接口范文篇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

关键词:PCI总线PCI9052TMS320LF2407双端口RAM

PCI总线技术已经应用于形形色色的微机接口中。同在声卡、网卡甚至有些显示都是基于PCI总线技术的,一些高速数据传输系统中也需要用到PCI总线技术。PCI总线技术的出现是为了解决由于微机总线的低速度和微处理器的高速度而造成的数据传输瓶劲问题,PCI局部总线是在ISA总线和CPU总线之间增加的一级总线。由于独立于CPU的结构,该总线增加了一种独特的中间缓冲器的设计,从而与CPU及时钟频率无关,用户可以将一些高速外设直接挂到CPU总线上,使之与其相匹配。PCI局部总线使得PC系列微机结构也随之升级为现在的基于PCI总线的三级总线结构。PC机的三级总线结构如图1所示。

1PCI总线接口卡的开发

PCI局部总线最显著的特征是速度快。ISA总线的传输速率为5MB/s,EISA总线的传输速率为33MB/s,PCI1.0标准定义的总线传输速率为132MB/s,PCI2.0标准定义的总线传输速率为264MB/s,PCI2.1和PCI2.2标准定义的总线传输速率为512MB/s。而新一代PCI-X技术则在原有PCI总线技术的基础上增加了许多新的技术特征,利用PCI-X技术可以为千兆以太网卡、基于UltraSCSI320的磁盘阵列控制器等高数据吞吐量的设备提供足够的宽带。1999年PCISIG(PCI特别兴趣小组的PCI-X1.0标准最高可提供1GB/s的传输速率,而2003年推出的PCI-X2.0标准则最高可提供4.3GB/s的传输速率。

目前,PCI总线接口电路的选择主要有两种方案。一种是选用可编辑逻辑器件(PLD)。使用PLD,用户可以灵活地开发出适合自己需要的具有特定功能的芯片,但PCI总线协议比较复杂,设计PCI控制接口难度较大,对于一般的工程项目来说,成本较大。现在有许多生产可编程逻辑器件的厂商都提供经过严格测试的PCI接口功能模块,用户只需进行组合即可。另一种是选用PCI专用芯片组(又称桥接电路),通过专用芯片来实现完整的PCI主控模块和目标模块的功能,将复杂的PCI总线接口转换为相对简单的用户接口,用户只需设计转换后的总线接口。本设计中选用PCI总线专用接口芯片来开发接口卡。

1.1接口芯片介绍

PCI总线接口电路又分为主控设备和目标设备。主控设备可以控制总线,驱动地址、数据和控制信号;目标设备不能启动总线操作,只能依赖于主控设备从其中读取数据或向其传送数据。主控设备芯片价格比较高,目标设备芯片价格则比较便宜,而且目标设备芯片比较简单、易于操作。

目前两大PCI专用接口芯片生产商是AMCC公司和PLX公司。AMCC公司的PCI接口芯片有S5920、S5933、S5935等。S5920是目标设备芯片;S5933既可以设置为主控设备芯片,又可以设置为目标设备芯片;S5935是S5933的改进版,同样既可以设置为主控设备芯片,也可以设置为目标设备芯片。PLX公司在PCI接口芯片的设置生产中首屈一指,其目标设备芯片产品主要有PCI9030、PCI9052和PCI9050,PCI9050和PCI9052可以运用于ISA卡转接PCI的设计中,PCI9030是专门为嵌入式系统设计的;主控设备芯片产品主要有PCI9054、PCI9080和PCI9060,PCI9060是最早的32位主控设备芯片,PCI9080是PCI9060的后继产品,而PCI9054则是一种性价比很高的芯片,其性能比PCI9080、PCI9052更优越。

由于主控设备芯片比较复杂,而且价格昂贵,所以对处理速度和传输速度要求不是特别高的场合应尽量选用目标设备芯片。本设计中选用PLX公司的PCI9052目标设备芯片来设计PCI接口电路。

1.2PCI9052介绍

PCI9052是PLX公司继PCI9050之后推出的低成本、低功耗、32位PCI总线接口芯片,利用它可以使局部总线快速转换到PCI总线上。

PCI9052芯片的设计符合PCI2.1规范。它支持低成本从属适配器,其局部总线可根据需要配置成复用或非复用模式的8、16或32位的局部总线。PCI总线侧的时钟频率范围为0~33MHz,局部总线与PCI总线的时钟相互独立,局部总线的时钟频率范围为0~40MHz,两种总线的异步运行方便了高低速设备的相互兼容。PCI9052芯片内部有一个64字节的写FIFO和一个32字节的读FIFO,通过读写FIFO,可实现高性能的突发式数据传输,也可以进行连续的单周期操作。

1.3硬件设计

由于PCI9052属于目标设备芯片,只能依赖于主控设备从其中读取数据或向其传送数据,所以需要一个微处理器对通过PCI9052从PCI总线发送到局部总线的命令作出处理响应,或者把用户想要传送的数据以中断的方式通知PCI总线来读取。本设计中微处理器选用TI公司的C2000系列的16位DSP芯片TMS320LF2407。

TMS320LF2407是TI公司推出的定点DSP处理器,是一款性价比较高的芯片。它采用高性能静态CMOS技术,供电电压为3.3V,指令周期可达25ns,片内有高达32K字的FLASH程序存储器、1.5K字的数据/程序RAM、544字双口RAM(DARAM)和2K字的单口RAM(SARAM),可以分别扩展64K字外部程序存储器、64K字外部数据存储器和64K字I/O寻址空间;片内还集成了包括CAN控制器在内的多个模块及存储器,可以运用于电机及逆变电路的控制中;10位16通道的A/D转换器最小转换时间为500ns;内部自带看门狗定时器模块(WDT)和16位的串行外设接口模块(SPI)。另外,该芯片有高达40个可单独编程或复用的通用输入/输出引脚、一个串行通信接口(SCI)、一个并口和5个外部中断。目前投入市场试用的C2000系列的32位DSP芯片TMS320LF2812采用的是150MHz的时钟速率,其指令周期只为6.7ns,存储器可以扩展到1M,速度更快,功能更强大。

PCI接口卡硬件总体设计如图2所示。图中,DB代表数据总线,AB代表地址总线,CB代表控制总线。

图2

PCI9052的PCI总线直接与金手指连接,局部总线与DSP之间的数据传输在双端口RAM中实现。双端口RAM采用两片CYPRESS公司的双端口RAM芯片CY7C131,组成16位存储转接电路PCI9052和CY7C131供电电压均为5V,而TMS320LF2407供电电压为3.3V,所以接口电平不匹配,需要加总线电平转换电路,这里选用16位总线传送接收器74FCT64245来实现。PCI9052的控制信号和TMS320LF2407的控制信号之间的逻辑转换用一片ALTERA公司的PFGA芯片EPM7032LC44来实现。

TMS320LF2407的电路可以根据需要扩展。由于TMS320LF2407内部自带32K字的FLASH程序存储器,程序调试完毕后可以烧写进去,但程序调试过程中需要频繁修改程序,所以可展一片存储器,调试程序时当作程序存储器用,程序调试完毕后再作为数据存储器用,这样既方便又实用。TMS320LF2407有一个串行通信接口和一个16位并行通信接口,串口可以做成RS485、RS232、RS422、SDI总线接口等,并行通信接口可以做成16位并行输入输出接口。

1.4电路板制作

(1)在连线上只要将对应的引脚连在总线上就可以了。由于信号用的是反射波信号,所以驱动的信号只用了要求电压的一半,另一半靠反射来提升,所以对信号线的长度有要求:CLK信号线的长度为2500mil±100mil。如果长度不够可以画蛇行线,另外,CLK信号线要用地线屏蔽。

(2)PCI总线规范要求布四层线,也可以只布两层线。布两层线时,走线难度增大,要做好电源退耦。每个Vcc引脚必须有退耦电容,且容量的平均值至少为0.01μF,从引脚根部到电容焊盘的走线长度不大于250mil,线宽至少为20mil,多个引脚可以并用一个电容,并且参与共用的引脚数不受限制,但必须满足以上条件。

(3)PCI总线信号PRSNT1#的PRSNT2#中必须有一个接地。如果都不接地,系统找不到开发板。它们接地有两个用途,其一,用来表明槽位上实际存在一块板;其二,提供该板对电源要求的有关信息。表1给出了PRSNT#引脚的设备情况。

表1PRSNT#引脚的设置情况

PESNT1#PRSNT2#扩展板配置

开路开路不存在扩展板

地开路有扩展板,最大功耗为25W

开路地有扩展板,最大功耗为15W

地地有扩展板,最大功耗为7.5W

(4)对于不实现JTAG边界扫描的板子,必须把引脚TDI和TDO连接起来,以使扫描链不至于断开。

(5)PCI连接器上的3.3V引脚(即使实际使用中未提供电流)在母板上必须连到一起,最好连到一个3.3V的电源平面上。而且,对3.3V引脚应提供一个交流回路,这时对地去耦应符合高频信号技术的要求。为此,应在3.3V平面上均匀排列12个高速电容,容易为0.01μF。

(6)为了稳定性,局部总线除了少数有特殊要求外,所有的信号线都应加上拉电阻(5kΩ~10kΩ)或下拉电阻(一般选150kΩ)。

(7)为防止干扰,局部总线时钟也应对地屏蔽。

(8)串行EEPROM提供PCI总线和局部总线的部分重要配置信息,EEPROM一定要选支持串行传输方式的,如NM93CS46或者与之兼容的存储器。NM93C46不支持串行读写,所以不能选取。NM93CS46的CS、SK、SDI、SDO和PE端都要接10kΩ的上拉电阻,而PRE端要接150kΩ的下拉电阻。EEPROM的配置至关重要,EEPROM配置不正确可能导致操作系统无法运行。系统启动时自动检测EEPROM的开始48拉是否全为“1”,若全为“1”,则载入PCI9052的默认配置;否则则装载EEPROM中的内容,为板卡分配资源。串行EEPROM可以通过PCI总线直接写入,也可以用编程器直接烧写。

1.5程序调试

1.5.1FPGA程序的开发

可编程器件的设计软件种类很多,各大器件厂家及一些软件公司都开发了一些设计软件。软件的设计根据逻辑功能的描述方法可分为语言描述设计和原理图描述设计两个类。常见的如DATAI/O公司的ABEL语言、四通公司ASIC事业部开发的针对GAL器件的FM(FastMAP)软件等属于语言描述类设计软件;而DATAI/O公司的Synario软件、Orcad公司的PLD等软件属于电路图描述或电路图描述与语言描述相结合设计的软件。

本设计中FPGA的编程只涉及到信号逻辑转换,所以只需选用语言描述类设计软件,这里选用DATAI/O公司的ABEL语言描述设计软件。程序调试结束后用编程器写入FPGA芯片即可。

1.5.2DSP程序开发

TI公司提供了DSP专用仿真器和仿真开发系统,C2000系列的开发系统最新版本为CCS2.2。对于不同的仿真器,只要安装驱动程序即可使用该开发系统进行仿真。仿真器选用最新款的带USB接口的ICETEK51000USBV2.0仿真器。由于该仿真器使用USB接口,所以不需外接供电电源,实用又方便。

由于硬件设计时扩展了可转换的存储器,进行仿真时把存储器接成程序存储器,程序可以直接转载到扩展的存储器中进行调试,免去了往FLASH中烧写的麻烦,程序调试完毕后再固化到FLASH中。

2PCI总线接口卡的软件驱动开发

PCI卡的硬件调试需要结合软件程序的调试来完成。PCI卡的驱动程序开发有多种途径,驱动开发工具也有多种选择。

2.1驱动开发工具的选取

(1)DDK(DriverDeviceKit)

许多VMM服务都使用寄存器的调用方式,使用起来不是很方便,没有4深厚的汇编语言及硬件基础很难在短时间内开发出设备驱动程序。Micorosoft公司提供了设备驱动程序工具箱(DDK),它是基于汇编语言的编程方式的,DDK的优点是可以开发核心态的真正意义上的驱动程序,开发出来的驱动程序效率是最高的。

(2)DS(DriverStudio)

DS是一个驱动程序集成开发包,其中包括了DriverAgent、VtoolsD、DriverWorks、SoftICEDriverEdition、BoundsCheckerDriverEdition、DriverWorkbenc、FieldAgentforDrivers等。几中常见的DS驱动开发工具介绍如下:

·Drivergent为Win32应用程序提供了访问硬件的接口。

·VtoolsD支持Windows95和Windows98的驱动程序开发(VxD)。VtoolsD包括代码生成器、实时接口库和可以作为开发一类驱动程序的例子程序。

·DriverWorks包括为WindowsNT和Win32DriverModel(WDM)开发驱动程序的完整的开发框架,同时也支持Windows98和Windows2000下驱动程序的开发。DriverWorks包含一个复杂的代码生成工具(DriverWizard),其中含有支持C++下编程的类库和例子程序。

(3)WinDriver

WinDriver是KRF-Tech公司的一套PCI驱动程序开发包。它改变了传统驱动程序开发的方法和思路,极大地简化了驱动程序的编制;同时又没有牺牲驱动程序的性能,是一套高效、快捷的PCI驱动程序开发软件包,特别适合专业硬件人员使用。

利用WinDriver开发驱动程序不需要熟悉操作系统的内核,整个驱动程序中的所有函数都是工作在用户态下的,通过与WinDriver的.Vxd或者.Sys文件交互可达到驱动硬件的目的。由于是一个用户态程序,效率的高低也就成了人们选择WinDriver时关心的问题。大量实践数据表明,WinDriver并没有通过牺牲系统性能来换取驱动程序的快速开发。本设计中选用WinDriver来开发驱动程序。

2.2WinDriver开发驱动程序

在WinDriver的体系结构中,WinDriverKernet处于中心位置,它提供的用户态库函数(API)实际就是对WinDriverKernel中实现的功能进行调用。几乎所有用户同硬件的交互都是通过WinDriverKernel来实现的,这样就极大地解放了开发人员。用户的主要任务就是利用WinDriver提供的用户动态函数库(API函数库)在用户态实现自己的驱动程序代码,完成硬件驱动的功能。

总线接口范文篇3

关键词:USB总线接口芯片CH371单片机

1引言

CH371是一种USB总线通用接口芯片。该芯片具有8位数据总线以及读、写、片选控制线和中断输出,可以方便地挂接到单片机、DSP、MCU等控制器的系统总线上;在计算机系统中,通过CH371的配套软件可提供简洁易用的操作接口,从而使其与本地端的单片机通讯就如同读写硬盘中的文件一样简单。由于CH371屏蔽了USB通讯中的所有协议,因而可在计算机应用层与本地端控制器之间提供端对端的连接。在不需要了解任何USB协议或者固件程序甚于驱动程序的情况下,就可轻松地将并口、串口产品升级到USB接口。

CH371的主要特点如下:

●屏蔽了USB协议,可在计算机应用层与本地端之间实现端对端的连接。

●具有单向数据流和请求加应答两种通讯模式,并支持伪中断。

●可自动完成USB配置过程,完全不需要本地端控制器作任何处理。

●采用标准的USB1.1接口,即插即用,D+引脚内置上接电阻。

●内置4个端点,支持USB的控制传输、批量传输、中断传输。

●带有通用Windows驱动程序,可提供设备级接口和应用层接口。

●具有通用本地8位数据总线,可用4线控制读选通、写选通、片选输入和中断输出。

●占用16个地址,可选择直接地址方式或者复用地址方式。

●内置输入输出缓冲区,能以中断方式通知本地端控制器传输数据。

●内置I2C主接口,因而应用层可以直接读写外挂的I2C从设备。

●在主控方式下可以提供16根据输入信号线或12根独立控制的输出信号线。

●内置上电复位电路,可提供高电平有效复位输出和低电平有效复位输出。

●内含可选的看门狗电路Watch-Dog,能为本地端控制器提供监控。

●具有DIP28、SOP28、DIP24、CHIP等多种封装形式。

2引脚功能

CH371的引脚排列如图1所示,表1所列是其引脚功能。

表1CH371的引脚功能

28脚封装

的引脚号24脚封装

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

2824VCC电源电源正端

129GND电源接地

1411XI输入晶体振荡输入端,带偏置电阻

1310XO输出晶体振荡反相输出端

107D+双向USBD+数据线,内置上拉电阻可控

118D-双向USBD-数据线

96OFF输入用于关闭D+上位电阻,高有效,带下拉

22151912D7D0双向8位双向数据总线,带上拉,可直接输入和独立控制输出

44RD输入读选通输入,低有效,带上拉,同时用于看门狗的清除输入

33WR输入写选通输入,低有效,带上拉

2723CS输入片选输入,低有效,带下拉

22ALE输入地址锁存使能,高有效,带上拉,在下降沿可锁存数据总线的复用地址

11INT输出中断输出,传输成功,低有效

585部分支持A3A0双向4位地址输入线,带上拉,可直接输入和独立控制输出

2421SCL输出I2C接口时钟线

2320SDA双向I2C接口数据线,开漏输出,带上拉

2522RST输出上电复位和看门狗复位,高有效

26不支持RST输出上电复位和看门狗复位,低有效

3应用

3.1与USB总线的连接

图2是CH371与USB总线的接口连接电路,CH371芯片可以直接使用USB总线的5V电源。电容C3和C4用于电源退耦;将电阻R1和R2串接在CH371与USB总线之间可进行阻抗匹配;晶振X1、电容C1和C2用于CH371芯片的时钟振荡电路。CH371芯片的SCL和SDA信号线可以直接连接I2C接口的从设备,如连接24COX器件以用来存储系统断电后不能丢失的重要数据,也可以存储身份识别数据、记费数据等,由于24COX中的数据只有计算机应用层才能够存取。

3.2与单片机的接口电路

CH371芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP和MCU。图3所示是CH371与MCS-51系列单片机的接口电路,CH371可通过D7~D0、RD、WR、CS、ALE直接挂接到AT89C51的系统总线上。连接ALE而不连接A3~A0则采用复用地址方式,连接A3~A0而不连接ALE则采用直接地址方式。当采用复用地址方式时,CH371的A3~A0脚空闲,此时可以参考主控方式将A3~A0用于LED驱动或状态输入等;当采用直接地址方式时,应该将CH371芯片的ALE引脚悬空或者接高电平,然后通过A3~A0直接输入地址。该电路中,CH371可向AT89C51提供上电复位信号RST。CH371的中断输出INT连接到U2的外部中断INTO,反相器U5用于简单的地址译码,SRAM器件62256的地址为8000H-FFFFH,CH371的地址为0000H-7FFFH(实际只需要16个地址)。

3.3主控方式应用

图4是CH371在主控方式下的应用电路。该电路实际是基于CH371的主控方式设计的8通道数据采集器。可以看出:包括CH371在内,该电路只用到了三个集成电路,并且不需要任何单片机、DSP、MCU等控制器。CH371芯片的双向引脚A3~A0应该设置为输出,其中A3用于以低电平启动模数转换,A2~A0用于选择采集通道,双向引脚D7~D0应该设置为输入,用于输入采集到的结果,CS、ALE用于输入采集状态。实际电路应该采用精确的参考电压,并添加辅助电路(如电源退耦电容等)。另外,也可以用自带多通道选择器的模数转换芯片来代替U6和U7,如8通道AD芯片MAX158等。

3.4与单片机的接口程序

下面是U2(MCS-51单片机)与U1(CH371)的接口参考程序:

;*********************

;需要主程序定义的参数

;CH371_PAGEEQU00H;CH371所在的页面地址,地址译码后自动片选

;CH371_SYSTEMEQU02H;CH371系统功能设定寄存器的地址偏移

;CH371_CONFIGEQU02H;CH371设备配置信息寄存器的地址偏移

;CH371_INT_SETEQU06H;CH371中断数据设定寄存器的地址偏移

;CH371_STATUSEQU06H;CH371传输状态信息寄存器的地址偏移

;CH371_LENGTHEQU07H;CH371数据长度寄存器的地址偏移

;CH371_BUFFEREQU08H;CH371O数据缓冲区的起始地址偏移

;SAVE_STATUSDATA29H;保存传输状态信息,根据需要可选

;SAVE_LENGTHDATA2AH;当前数据缓冲区中的长度,用于保存下传长度

;SAVE_BUFFERDATA30H;数据缓冲区,用于保存接收到的下传数据

;*********************

;初始化子程序

;USE:ACC,DPTR

CH371_INIT:MOVDPH,#CH371_PAGE

;CH371所在的页面地址,地址译码后自动片选MOVDPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

图3

MOVA,#OFH

MOVX@DPTR,A;置上传数据长度寄存器为15,暂时没有数据上传

CLRA;尚未有数据下传

MOVSAVE_LENGTH,A;保存下传数据长度

SETBITO;置外部信号为下降沿触发

CLRIEO;清中断标志

SETBPXO;置高优先级

SETBEXO;允许中断

RET

;上传数据子程序

;ENTRY:RO指向存放了准备上传数据的缓冲区,R7准备上传的数据长度0至8

;USE:ACC,B,R0,R7,DPTR

CH371_UPLOAD:MOVB,R7;将数据长度暂存到B中

MOVDPH,#CH371_PAGE;CH371所在的页面地址,地址译码后自动片选

MOVDPL,#CH371_BUFFER;CH371数据缓冲区的起始地址偏移

MOVA,R7;上传数据长度

JZCH371_UPLOAD_O;数据长度为0则不必写入

CH371_UPLOAD_1:MOVA,@RO;读取一字节的数据

INCRO;指向下一个数据的地址

MOVX@DPTR,A;写到CH371的上传数据缓冲区

INCDPL

DJNZR7,CH371_UPLOAD-1;继续读取上传数据直至结束

CH371_UPLOAD_0:MOVDPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

MOVA,B

MOVX@DPTR,A;将本次数据的长度置入上传数据长度寄存器

RET

;中断服务子程序

;USE:堆栈6字节,工作寄存器组1的RO,R7

CH371_INTER:PUSHPSW;现场保护

CLRIEO;清中断标志,防止重复执行,对应于INTO中断

PUSHACC

PUSHDPL

PUSHDPH

SETBRSO;PSW.3,切换至工作寄存器组1

MOVDPH,#CH371_PAGE;CH371所在的页面地址,地址译码后自动片选

MOVDPL,#CH371_STATUS;CH371传输状态信息寄存器的地址偏移

MOVXA,@DPTR;读取传输状态信息寄存器

MOVSAVE-STATUS,A;保存传输状态

MOVDPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

JBACC.0,CH371_INT_UP;传输状态信息寄存器位0为1,则指示上传完成

;是数据下传完成中断

MOVXA,@DPTR;读取下传数据长度寄存器

MOVSAVE_LENGTH,A;保持下传数据长度

JZCH371_INT_RET;下传数据长度为0,则直接退出中断

MOVDPL,#CH371_BUFFER;CH371数据缓冲区的起始地址偏移

MOVRO,#SAVE-BUFFER;单片机内部的数据缓冲区,用于存放下传数据

MOVR7,A;用于读取数据的计数

CH371_INT_DOWN:MOVXA,@DPTR;读取一字节的下传数据

INCDPL;指向下一个数据的地址

MOV@RO,A;保存到数据缓冲区

INCRO

DJNZR7,CH371_INT_DOWN;继续读取下传数据直至结束

SJMPCH371_INT_RET;接收完下传数据,退出中断

;是数据上传完成中断

CH371_INT_UP:MOVA,#0FH;15

MOVX@DPTR,A;置上传数据长度寄存器为15,暂时没有后续数据

CH371_INT_RET:;中断返回

POPDPH

POPDPL

POPACC

POPPSW;恢复寄存器并选择工作寄存器组0

RETI;中断返回

;*********************

总线接口范文篇4

关键词:PWMSG3524控制器

带有I2C总线接口的器件可以十分方便地将一个或多个单片机及器件组成单片机系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少,因此其构成的系统价格低、器件间总线连接简单、结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方便地确定总线的时钟。

如今,为了提高系统的数据处理精度和处理速度,在家用电器、通讯设备及各类电子产品中已广泛应用DSP芯片。但大多数的尚未提供I2C总线接口,本文将介绍一种基于CPLD的已实现的高速DSP的I2C总线接口方案。

图1I2C总线接口电路结构

1I2C通信协议

I2C总线是一种用于IC器件之间的二线制总线。它通过SDA(串行数据线)及SCL(串行同步时钟线)两根线在连到总线上的器件之间传送信息,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的扩展与控制。I2C总线接口电路结构如图1所示,I2C总线时序图如图2所示。

I2C总线根据器件的功能通过软件程序使其可工作于发送(主)或接收(从)方式。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路的,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。

在数据传送过程中,必须确认数据传送的开始和结束信号(也称启动和停止信号)。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平则定义为“开始”信号;当SCL为高电平时,SDA由低电平跳变为高电平则定义为“结束”信号。开始和结束信号都由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲状态。

在I2C总线开始信号后,依次送出器件地址和数据,I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位),也叫应答位(ACK)。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。

2设计方案

本文以DSP芯片ADSP21992与时钟芯片PCF8583的控制接口为例,说明基于CPLD的I2C总线接口设计方案。

ADSP21992是2003年最新推出的160MIPS、带CAN通信接口的适合于高精度工业控制和信号处理的高性能DSP芯片。它带有48K片内RAM、SPORT通信接口、SPI通信接口、8通道14位A/D转换器以及PWM等。

PCF8583是一款带有256字节静态CMOSRAM的时钟/日历芯片。地址和数据严格按照双向双线制I2C总线协议传输。内置地址寄存器在每次读/写后自动递增。

2.1系统结构设计

系统的基本功能是通过CPLD的I2C总线接口完成ADSP21992(主控芯片)与PCF8583的数据交换。系统框图如图3所示。

系统主要由两个部分组成:一是DSP与CPLD的接口;另一是I2C核。为了能在DSP指定的时刻读/写PCF8583的数据,使用DSP的读写信号、同步时钟和最高位地址控制数据的传输。最高位地址作为控制信号是因为DSP的I/O口比较少,必须优先供应给其它外设,因此用它来产生DSP提供给I2C核的片选信号。而DSP的地址总线位数较多,最高位一般使用不到,这样正好可以充分利用资源。

2.2I2C核

I2C核原理示意图如图4所示。

整个I2C核由控制模块和I/O模块构成。其中,控制模块包括控制信号发生部分和时钟开关,I/O模块包括数据缓存和同步时钟缓存。

当DSP的最高地址位出现一个有效信号时,便会使I2C核内的触发器产生一个全局使能信号EN?熏它将会启动时钟、计数器和其它控制信号,但数据不会出现交换。如果此时DSP的读/写同步产生,则会启动相应的读/写进程,进行数据传输。

I2C核的关键技术是:

①用计数器和全局使能信号EN配合触发进程。

由于I2C核的片选信号EN是由触发产生的,不能象电平信号一样由DSP的I/O控制,因此只能通过精确的计数器定时和读/写使能信号共同判别控制。

读/写使能信号WR_EN/RD_EN也象EN那样由触发产生,因此也要用同样的方法判别。

②同步时钟的产生。

从图2中可以看到,数据在同步时钟的高电平脉冲时必须保持稳定,如果此时发生变化将会被视为一个控制信号,而通信也会被中断。因此,同步时钟的高电平脉冲一定要在有效数据的中间出现。而所需的控制信号必须在同步时钟正脉冲的时候出现。

③对数据总线进行三态设置。

因为SDA和DSP_DATA都是双向数据线,在写SDA和DSP_DATA的进程中必须设置高阻态,否则会出现数据线状态“不确定”。

图5I2C核工作时序图

2.3DSP与CPLD的接口模块

根据DSP的时序,DSP与CPLD之间必须根据双方(ADSP21992和PCF8583)的时序制定一个握手协议。当读程序时,由于I2C总线协议只能支持最高400kbit/s的传输速率,而DSP的同步时钟可达几十兆赫。因此,DSP必须等到I2C核把PCF8583的数据读到CPLD后才能获得正确的数据(这里可以通过设立一个忙标志来实现)。而当写程序时,为了节约CPLD的资源(数据缓存特别占用资源),可以设置DSP定时输出数据给I2C核,让I2C核的一次只送一个数据。

2.4硬件设计

此I2C核可外挂多个带有I2C总线接口的芯片,可以通过发送不同的器件地址来选择。SDA和SCL线必须接上拉电阻。此外,同步时钟不能太高,否则会影响数据传输的稳定性。

2.5时序

(1)I2C核时序

以写为例,I2C核时序如图5所示。

(2)PCF8583时序

PCF8583的数据是8bit一个存储单元,共256个字节,所以只需要8位地址,而且器件本身有两种寻址方式:一种是从指定地址开始递增寻址,另一种是从首地址开始递增寻址。两种寻址方式的时序是不一样的,如图6所示。

图6PCF8583时序图

3实现方法

总线接口范文篇5

关键词:PCI总线局部总线PCI9050

1.引言

PCI总线是目前应用最广泛、最流行的一种高速同步总线,具有32bit总线宽度,总线时钟频率为0~33MHZ,最大传输速率可以达到132Mbyte/s,远远大于ISA总线5Mbyte/s的速度。而且,它不象ISA总线那样把地址寻址和数据读写控制信号都交给微处理器来处理,而是独立于处理器,所以它可以支持突发传送。PCI总线与CPU无关,与时钟频率也无关,因此它可以应用于各种平台,支持多处理器和并发工作。

PCI总线协议比较复杂,因此它的接口电路实现起来也比较困难。它不但有着严格的同步时序要求,而且为了实现即插即用和自动配置,PCI接口还要求有许多的配置寄存器。对于一般的设计者来说,为了缩短开发周期,没有必要自己去设计所有的接口逻辑,只要利用通用PCI接口芯片就能很好的进行设计开发,大大减小了工作的难度。现在使用较多的是AMCC公司S59XX系列和PLX公司推出的PLX系列。下面将主要介绍PLX公司的PCI9050接口芯片。

2.PCI9050概述

PCI9050是PLX公司为扩展适配板卡推出的能提供一种混合的高性能PCI总线目标模式的接口芯片,可提供用于适配卡的小型高性能PCI总线目标接口。

它的主要特点有下面这些:

l符合PCI2.1规范,支持开发低成本的从模式适配器。该芯片支持从ISA适配器向PCI适配器转换。

l带有五个局域总线地址空间和四个片选。

l支持突发存储器映射和I/O映射方式在PCI总线和局部总线存取数据。双向FIFO可以用于零等待状态突发操作。PCI总线总是工作在突发方式,局部总线可以设置成突发方式或者连续单周期方式。

l可以从两个局部总线中断输入生成一个PCI中断。

l局部时钟与PCI时钟异步工作,允许局部总线独立于PCI时钟工作。

l支持多路复用和非多路复用的8位、16位和32位通用局部总线。

l总线驱动。PCI9050直接生成所有的控制、地址和数据信号,用于驱动PCI总线,不需要额外驱动电路。

3.PCI9050的功能描述

PCI9050为非PCI设备和PCI总线提供数据通道。

(1)初始化

在上电时,PCI9050的内部寄存器由PCI总线的RST#信号复位,在局部总线上输出LRESET#信号并检查EEPROM是否存在数值。若是存在且前48位不全为1,则PCI9050用EEPROM中的值来配置片内寄存器,否则设为缺省值。PCI配置寄存器只能通过EEPROM或PCI主机CPU来进行设置。在串行EEPROM初始化时,PCI9050反馈给PCI总线RETBY信号。

(2)复位

PCI总线的RST#信号有效将引起整个PCI9050复位,输出LRESET#局部复位信号。PCI总线上的主控设备也可以通过设置寄存器中的软件复位比特来对PCI9050进行复位,但是主控设备只能访问配置寄存器,而不能访问局部总线。PCI9050会一直保持这种复位状态直到PCI主控设备清除软件复位比特。

(3)串行存储器接口(EEPROM)

复位后,PCI9050开始读串行EEPROM。START为0表示EEPROM存在,PCI9050用它来进行配置。若读出的第一个字不是FFFF,那么就认为EEPROM是非空的,继续进行操作。串行EEPROM是按重要性顺序先后配置信息的。

PCI总线上的主机可以对EEPROM进行读写,寄存器位[29:24]控制着PCI9050的管脚,对EEPROM位进行读写。将重载配置寄存器位CNTRL[29]置1可以用串行EEPROM重新配置PCI9050。

(4)访问内部寄存器

PCI9050提供一系列的内部寄存器来为总线接口设计与实现提供最大的灵活性。寄存器分为两类:PCI配置寄存器和局部配置寄存器。主要有以下几种:

l设备与厂商寄存器,它用来标识设备类别及生产厂家。

l状态寄存器,它包含与PCI总线有关的事件。

l命令寄存器,控制设备对PCI访问的响应。

l分类码元寄存器,它用来标识设备的一般功能。

l局部配置寄存器存储器访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9050局部配置寄存器的存储器访问分配一段PCI地址空间,范围为128字节,初始化时,主机对寄存器写入FFFFFFFF,读回FFFFFF70,以确定其占用空间为128字节。

l局部配置寄存器I/O访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9050局部配置寄存器的I/O访问分配一段PCI地址空间,范围为128字节,初始化时,主机对寄存器写入FFFFFFFF,读回FFFFFF71,以确定其占用空间为128字节。

l局部地址空间0(地址空间1,2,3类似)访问的PCI基地址寄存器:系统BIOS利用此寄存器为PCI9050局部地址空间0的访问分配一段PCI地址空间。初始化时,主机对寄存器写入FFFFFFFF,读回数值来确定它的范围。

对PCI9050寄存器进行读写操作的单位可以是字节,字,长字。PCI9050的存储器访问可以是突发的或非突发的。

(5)直接数据转换操作

PCI主控设备能够直接对局部总线上的设备进行读写操作。PCI9050内的配置寄存器控制局部地址空间的重新映射。双向FIFO引起局部和PCI总线上高性能的突发。

直接从操作:PCI9050支持突发式内存映射传输和单周期的内存或I/O映射传输。映射在PCI内存和I/O空间中的地址由PCI基址寄存器设置。而且,局部映射寄存器允许将PCI地址空间转换为局部地址空间。

4.PCI9050使用时应该注意的问题

9050内部的寄存器是通过外部串行EEPROM上电加载的。9050会自动根据该EEPROM的状态来决定其内部寄存器的值。如果EEPROM内部没有烧写为有效值,应保证其开始48位全为“1”,否则,系统上电时会出错。

9050有5个本地空间,用户可根据实际的需要来进行配置,并不是要用到所有的。当将本地空间配置成I/O时,对该空间的读写只能单次进行。如果配置成存储器模式,用户会有多种接入模式,大大提高了速度。

突发模式是为了提高本地总线操作速度而设计的。在该模式期间,9050只提供一次传输开始和终止信号。开始信号有效时,地址将以本地时钟的频率递增,可以利用BTERM#引脚是否有效来中止突发操作。

还有一点需要说明的是,Pentium系列的CPU,不支持突发读操作,只可能产生单次读操作。用户如果需要在PCI总线上实现突发操作,应该选用支持DMA传输的芯片,比如PCI9054。但是PCI9050会把PCI总线上的多次单次读操作转化为突发操作。

5.基于PCI9050的PCI接口设计

下面给出的是一个利用PCI9050做接口的PCI插卡。在用户电路上,采用MT90820做交换,实现数字电路的转接和复接。具体电路如下图所示。

(1)硬件设计:

接口芯片PCI9050主要包括PCI总线信号接口和局部总线接口。硬件电路分为三个部分。第一部分是9050和PCI插槽间的连接信号线。这些信号包括地址数据复用信号AD[31:0],总线命令信号C/BE[3:0]#和PCI协议控制信号PAR、FRAME#、IRDY#、TRDY#、STOP#、IDSEL、DEVSEL#、PERR#、SERR#。第二部分是与串行EEPROM的连线。这里有四根信号线:EESK、EEDO、EEDI、EECS,串行EEPROM的数据可以提前烧好,也可以在线烧写。第三部分就是9050与应用电路的连接。在这个例子里,它和MT90820相连,包括LA地址总线,LAD数据总线,LBE#字节使能信号,LW/R读写信号等。

(2)软件设计:

程序主要分为两个部分。一部分为PCI9050各个配置寄存器赋值并初始化,还有一部分为主程序,任务就是把PCM链路上的信号经过MT90820交换矩阵后,再通过PCI9050送到CPU。

总线接口范文篇6

线路倍增设备是针对无线传输信道容量有限,带宽不足而设置的。它可大大提高无线传输信道的传输容量,使宝贵的无线信道资源得到充分利用,可有效解决无线传输瓶颈问题。本文对线路倍增设备的技术体制进行了详细阐述、对语音编码的标准进行了简单介绍;对线路倍增设备的组成、功能进行了介绍。对信元总线交换、中继接口单元、承载接口单元的工作过程及实现方式进行了详细描述。完成了能实现倍增增益为6的线路倍增设备。

2设备基本组成及工作流程

2.1设备的组成

系统要求线路倍增设备(以下简称DCME)支持中继134路,承载134路,l9英寸标准机箱,高度不大于Iu。小型化必须解决结构问题、供电问题,合理划分硬件模块,采用高度集成的芯片。经过多方调研、论证,设备功能模块划分如下:

1)中继接口单元(以下简称TcU)

每个中继接口单元支持1路El接口,在网络应用中和STM交换机连接,完成如下功能:完成El成帧器;G729话音压缩;密话席暗脯内数据检测;微信元打拆包;信元打斥包;.信元去抖动;TCU侧信元总线接口。

2)承载接口单元下简称Bcu)

每个承载接口单元支持4路Eh接口,在网络应用中和户JM交换机连接,完成如下功能:BCU侧信元总线接口;信元缓存;信元到无线信元或标准信元的变换;RS编解码;无线信元接口或标准信元接口;MPC860处理器。

3)背板单元

完成中继接口单元和莉战接口单元信元总线、HDLC通信、时钟传输等功能。

4)电源单元

每台设备配置有4块TCU、1块BCU、两块背板、1块电源模块及1个直流电源滤波器和1个交流电源滤波器。

2.2设备的基本工作过程

定义从中继接口单~fcu)到承载接口单元(Bcu)的方向为发送方向;从承载接口单元(BC到中继接口单~frcu)的方向为接收方向。在发送方向,从STM交换机过来的El信号经过TCU板的E1接口电路,完成El成帧功能,成帧后的数据送入FPGA,经FPGA进行时序调整后送给语音编解码芯片AC48105,MPC860从AC48105读取数据,并进行AALZ适配,产生微信元,再将微信元合成信元后,写入FPGA,再通过信元总线接口传送给BCU模块;通过信元总线接口送给BCU模块的信号,首先进^BCU模块的FP’GA及其缓存RAM中,再由FPGA定时扫描监视其状态,有数据时读取、缓存,根据信头信息写入不同的缓存区,每一个承载接口对应一个缓存区,故共有4个缓存区。MPC860通过FPGA和信元总线连接,且被设定为主方式,主处理器可以发起到各个信元接口的测试。

3信元总线交换技术研究

3.1发送方向接口时序分析

UTOPIALEVELZ发送接口包括如下信号:TxDatat7二01:字节宽度的数据信号,由ATM层传送到物理层。Txsoc:信元起始信号,当TxData上出现信元的第一个有效字节时,由ATM层把Txsoc置为高电平。TxEnb*:传输使能信号,T火Data上包含有效信元数据时,由ATM层把TxEnb*置为低电平。TxFul厂I''''xclav满,信元可用信号,对于字节级流控制,Tx—Ful*是物理层发向ATM层的低电平信号,表明物理层最多还能接纳4个字节。对于信元级流控制,TxClav由物理层发向ATM层,置高表示物理层可以接收一个完整的信元。TxC玫:时钟信号,ATM层发向物理层的数据传输/同步时钟。TxAddI{4=o]:地址信号,是ATM层发向MpHY层的5位信号,用以选择MPHY端口。

3.2接收方向接口时序分析

uT0PIALEVELZ接收接口包括如下信号:RxData[7=0]:字节宽度的数据信号,由物理层传到ATM层。RxS0c:信元起始信号,高电平有效,表示信元的第—个数据已经出现。RxEnb*:传输使能信号,RxData上包含有效数据时,由ATM层把TxEnb*置为低电平。RxEmptyr术/七Clav:空信元可用信号,对于字节级流控制,Rx—Empty*是物理层发向ATM层的低电平信号,表明物理层已经没有有效数据发送。对于信元级流控制,RxClav由物理层发向ATM层,置高表示物理层有—个完整的信元传输给ATM层。RxClc时钟信号,ATM层发向物理层的数据传输,同步时钟。RxAddr[4二0]地址信号,是ATM层发向MPHY层的5位信号,用以选择MPHY端口。另外还有两个可选信号:Rxprty用于奇偶校验,R火Re介为同步设置。

4硬件设计与实现

4.1中继接口单元的设计与实现

4.1.1TCU基本工作过程在发送方向,MPC860从AC48105或PM4351读取数据,先组装成微信元,再把微信元组装成信元,存入双口RAM,最后将信元通过信元总线接口发送到BCU板和其它TCU板;在接收方向,通过信元总线接口接收从BCU板或其它TCU板来的信元,解析信元头取出端口号和VCI值,比较和本TCU的收端口号和收VCI值是否相同,如果不相同则丢弃该信元,如果相同则存入双口RA初,MPC860从双口RAM读取信元,再拆装为微信元,最后恢复成所需的数据包格式,并传给AC48105或PM4351。

4.1.2TCU详细工作过程在发送方向,TCU的E1帧接收器收到某一信道的信号后,对信号进行静音检测f活动性检测)、单音检测(检测到ZIOOHz单音,以判断是否为带内数据),FPGA进行密话检测,有以下几种结果:l1未占用,不做处理fAC48105工作在静音模式下);2馓活态+预指配信道:无论何种业务,直接AALZ适配,透传64kb污,将AC48设置为透传模式,与MPC860交换数据;3)激活态+明话(非预指配):进行G729CS—CELP压缩编码,AAIJZ适配此状态为信道激活后的默认状态;4撇活态+密话#预指配):8取1,AAIJz适配密话检测由TCU板PFGA检测,MPC860定时(5ms1读取FPAG内的密话检测结果,密话经AC48105透传,与MPC860交换数据。密话检测部分下边有详细介绍;5)激活态+带内数据}预指配解调出数据(数据落地),再AALZ适配,内数据由AC48105检测,自动完成带内数据的解调过程。

4.2承载接口单元的设计与实现

4.2.1BCU基本工作过程

在发送方向,通过信元总线接口接收TCU板来的信元,送给双口RAM缓存,无线信元接口再从双口RAM中读取信元,并且完成RS编码、信元到G704帧的映射等功能。在接收方向,如果是无线信元接口则完成:从承载帧中提取数据,经Rs解码,恢复信元,如果是标准信元接口则完成信元定界及恢复信元,无线信元接ts1或标准信元接13恢复的信元写入双口RAM。信元总线接口从双口RAM读取信元,传送给TCU板。承载接口单元完成信元总线仲裁、承载接El级联等功能。

4.2.2BCU单元组成

承载接口单元包括信元总线接口、信元总线仲裁、信元缓存、信元到无线信元或标准信元的变换、Rs编解码、无线信元接13、MPC860处理器等。承载接口单元包括信元总线接口、信元总线仲裁、信元缓存、信元到无线信元或标准信元的变换、Rs编解码、无线信元接口都用FPGA实现,FPGA选用ALTERA公司的EP2530F484C5;承载侧接口电路选用PM4354;CPU选用MPC860,完成HDLC控制器、设备维护等功能。

总线接口范文篇7

系统硬件电路主要包括单片机最小系统、电源模块、烟雾传感器、温湿度传感器、火焰传感器、以太网模块、电动机驱动及直流电动机系统等,其硬件设计框图如图1所示。本环境监测系统主要以STC15F2K60S2单片机为控制核心,由以太网模块、环境参数监测传感器、显示部件和报警装置等设备构成环境监测系统。当环境参数超过用户设定的值时,报警器报警,环境监测数据通过以太网传输到上位机,从而实现远程监控。

2电路设计

2.1按键及显示电路的设计。按键、显示接口电路由STC15F2K60S2单片机最小系统、按键接口电路和液晶显示电路组成。本环境检测系统一共设置5个独立按键,在单片机上电之后,通过按键可以对报警阈值进行适时调整,不需要重新修改程序,这样可以为用户带来极大的方便,简化了操作的过程。LCD1602显示屏同时可以显示两行数据,每行可以显示16个字符,第一行显示报警阈值,用户可以根据自己的需求进行调整,第二行实时显示当前检测到的环境参数值,电路如图2所示。2.2以太网模块电路设计。系统以太网模块电路设计采用的是一种内部集成了10/100Mbps以太网控制器的多功能网络接口芯片W5100,其主要主要特点是高集成度、高稳定性、高性能、低成本,广泛应用于嵌入式系统中。此外W5100在没有操作系统的情况下,亦能实现互联网连接。W5100模块与单片机有三种通信方式,分别为直接总线接口、间接总线接口和SPI总线接口。第一,直接总线接口方式,采用地址总线15根,数据总线8根,还有CS、RD、WR、INT等信号线;第二,间接总线接口方式,采用地址总线2根,数据总线8,还有CS、RD、WR、INT等信号线;第三,SPI总线接口方式,采用信号线4根,分别是SCLK、SCS、MOSI、MISO等信号线。由此可知,前两种总线接口方式较为复杂,且占用的单片机引脚数较多,不利于其他功能的扩展,因此本系统采用SPI总线接口方式与单片机进行通信[2]。W5100的SP1_EN引脚接高电平,选择SPI总线接口方式,与单片机的接口电路如图3所示。2.3温湿度监测电路设计。系统温湿度监测传感器采用的是数字温湿度传感器DHT11。DHT11是一款带有校准数字信号输出的温湿度复合传感器,具有4个引脚,具体引脚功能分别为VDD为电源端,范围为3.3-5.5V;DQ为单线制串行接口数据总线;NC为空管脚,表示未连接;GND为接地端。DHT11与单片机的接口电路电路如图4所示,其中图中电阻R1为上拉电阻。2.4照明灯亮度监测电路设计。火焰传感器由高温固体颗粒组成,如燃烧产物、中间体、高温气体、烃类物质和无机物。火焰的热辐射具有离散的气体辐射谱和连续的固体辐射谱。不同燃烧材料的火焰辐射强度和波长分布不同,但一般来说,火焰温度的近红外波长和紫外区域具有很大的辐射强度。根据这种特性,可以制作火焰传感器。照明灯亮度监测电路如图5所示。2.5可燃气体监测电路设计。系统可燃气体监测模块采用的是MQ-2型烟雾传感器,其属于二氧化锡半导体气敏材料,属于表面离子型N型半导体。当环境的可燃气体浓度变化时,MQ-2型烟雾传感器的输出端电压也会随之发生变化,可燃气体浓度越高,输出电压就越大,系统可燃气体监测电路如图6所示。MQ-2型烟雾传感器的4引脚输出是随可燃气体浓度变化的直流电压,被加到电压比较器LM393的6引脚;电位器R16构成电压比较器的阈值电压,接到电压比较器的5引脚。当可燃气体浓度使MQ2输出电压高于阈值电压时,电压比较器7引脚输出为低电平,此时LED1亮,进行报警;当浓度降低使MQ2传感器的输出电压低于阈值电压时,比较器输出为高电平,LED1熄灭。调节电位器R16可以调节比较器的阈值电压,从而调节报警输出的灵敏度。电阻R5串入MQ2传感器的加热回路,可以保护加热丝免受冷上电时的冲击。

3软件设计

环境监测系统设计软件流程是在系统上电启动之后,首先要对系统各个模块进行初始化处理,然后进入显示界面,单片机读取传感器监测到的数据,判断检测到的数据是否超标,如果超标,报警灯开启,报警器进行报警,否则显示数据,将数据通过以太网模块上传至上位机,如果有按键按下进行参数调节,否则判断上位机是否接收到数据,如果接收到数据与预期指令进行对比判断是否一致,如果一致单片机执行指令,否则重新读取数据。

4结论

本文介绍一个基于以太网的环境监测控制系统的设计及软件设计流程。本环境监测系统拥有可靠的环境信息采集和分析能力,系统的可扩展性比较灵活,有利于降低环境监测成本,能够对环境的信息进行实时监测,并反馈给用户做出相应的调整。

参考文献:

[1]蒋峰.W5100在远程温度采集系统中的应用[J].化工自动化及仪表,2011,38(2):214-217.

总线接口范文篇8

关键词:USB2.0主机适配卡PCIEMC

USB接口可提供双向、实时的数据传输,具有即插即用、性能可靠、价格低廉等优点,目前已成为计算机和通信电子产品连接设备的首选接口。由于高速USB集线器、高速USB功能部件的不断涌现,如数字图像器、扫描仪、视频会议摄像机、大容量数字存储设备等新型USB设备,在计算机和这些复杂的USB外设之间需要建立一个高速、高性能的数据传输。USB2.0正是为了满足这种需求提出的,它的传输速率为480Mbps。高速USB2.0与全速USB1.1和低速USB1.0完全兼容。虽然新式的计算机至少提供两个USB端口,但多数都只能用于USB1.1和USB1.0的数据传输,不能支持USB2.0的数据传输。USB2.0高速主机适配卡,可直接插入计算机的扩充槽内,利用PCI总线接口、可支持USB的操作系统,实现USB2.0的高速数据传输。

USB界面通过USB主控制器与计算机主机系统相连接。USB主控制器不但提供与主机的PCI总线接口,同时也包含根集线器。根集线器可提供一个或多个连接点用于USB设备的连接,从而使主机操作系统与USB设备之间可以彼此通信。USB2.0主控制器是设计USB2.0高速主机适配卡的主要芯片。目前世界上许多大公司如NEC、PHILIPS、VIA等都相继推出USB2.0主控制器。本文采用NEC公司生产的USB2.0主控制器uPD720100,设计出新型USB2.0高速主机适配卡,测量结果良好,满足USB2.0的设计规范,达到USB2.0设计要求,并已经通过EMC国际认证。

1USB2.0高速主机适配卡的设计

1.1USB2.0主机系统与USB设备之间的工作流程

USB主机系统可分成客户、USB系统、USB主控制器三层。USB设备也可分成功能部件、USB逻辑设备、USB总线接口三层,如图1所示。

USB主控制器实际上是主机系统方面的USB总线接口,它主要处理电气层和协议层之间的相互作用。USB系统包括主控制器驱动程序、USB驱动程序、主机软件三部分,利用主控制器管理主机和USB设备之间的数据传输。客户负责管理与USB设备直接作用的全部软件。总之,整个USB主机系统可以提供以下功能:检测USB设备的连接和断开、管理主机与USB设备之间的标准控制流和数据流、收集状态和事务的统计信息、控制主控制器与USB设备之间的电气接口,如数据线有限功率的供给等。

图1也表示出USB主机系统与USB设备之间存在功能层、USB设备层、USB总线接口层三个逻辑层。USB总线接口层代表USB主控制器与USB总线接口之间的传输关系,在主机与设备之间提供物理、信号、信息包的连接;USB设备层代表USB系统软件和USB逻辑设备之间的传输关系,USB系统软件可以执行许多关键的和一般的功能,用于给定设备的传输特性;功能层代表客户软件与功能部件之间的关系,通过相应的匹配客户软件提供给主机额外的功能。虽然在USB设备层和功能层内都有各自的逻辑通信,但是实际的数据传输必须通过USB总线接口层完成。USB总线接口层提供USB数据的底层传输,即USB数据的传输最终还是发生在USB数据线上。

1.2USB2.0高速主机适配卡的设计框图

图2为利用NEC公司的USB2.0主控制器uPD720100所设计的基本电路框图。可以看出,USB2.0主控制器是一个核心芯片,可提供32-bits33MHzPCI总线接口,用于与主机PCI总线接口的连接。它还包含两个开放主控制器OHCI#1、OHCI#2和一个增强主控制器EHCI,支持5个用于连接设备的下游端口。OHCI#1主控制器用于处理1、3、5三个端口全速和低速信号的传输,OHCI#2主控制器用于处理2、4两个端口全速和低速信号的传输,EHCI主控制器用于处理1、2、3、4、5五个端口高速信号的传输。仲裁器(Arbiter)用来选择OHCI#1、OHCI#2主控制器和EHCI主控制器。根集线器完成主控制器内集线器的功能,控制主控制器和5个端口之间的连接。物理层(PHY)包含高速、全速和低速的收发器等。

5V/3.3V的降压调节器用于将PCI总线提供的5V电源转换成主控制器需要的3.3V直流电源;系统时钟由30MHz晶振提供;电源控制开关提供短路和过流保护,而且每个下游端口都有各自的控制开关;串行EEPROM用于存储子系统标识符、子系统厂商标识符等相关信息。

USB2.0高速主机适配卡,通过主控制器和根集线器,使得主机操作系统与下游5个端口的USB设备或集线器之间实现同步通信,可以处理USB1.0、USB1.1、USB2.0三种传输速率。它支持热插拔、总线供电,每个端口最大可有500mA电流。连接USB2.0设备或集线器的USB电缆的最大长度为5m,设备连接采用不超过7层的星形拓扑结构,可连接多达127个USB设备或集线器。

1.3USB2.0高速主机适配卡的设计要点

由于USB2.0高速的传输速率,如何提高USB2.0信号的传输质量,减小电磁干扰(EMI)和静电放电(ESD)成为设计的关键。本文从电路设计和PCB设计两个方面进行分析。

在电路设计中,应在数字电源VDD和数字地VSS之间尽可能多放一些去耦电容,同时在靠近USB2.0主控制器芯片处多放一些旁路电容,以减少耦合,降低高频辐射噪声;在尽可能靠近主控制器信号管脚处放负载电阻,维持对地45Ω的高速负载;在下游每个端口,放15kΩ下拉电阻;在尽可能靠近接插元件处放差分模式阻抗较低的共模扼流元件和ESD抑制元件,如图3所示,以提高差分信号质量,降低干扰,确保在EMI测试中得到足够的余量。

PCB设计采用四层印刷电路板,第一、四层为信号层,第二层为电源层,第三层为地层。第四层为USB2.0最佳布线层,在地层应将模拟地和数字地严格分开。在可能的情况下,不要将USB布线在晶振、时钟和磁性设备或IC的下面。分层厚度和主要信号的走线宽度,都必须采用阻抗控制并进行阻抗匹配,以满足规定的阻抗值,其中包括保持D+和D-两条信号线同样长度且始终平行,以得到D+/D-90Ω的差分对阻抗及45Ω的共模阻抗。时钟电路也是产生电磁辐射的主要来源,故应将晶振元件放在距离USB2.0芯片尽可能远的区域,保证信号线D+/D-和高速时钟线之间的距离越远越好,以减少高频辐射影响。同时还要限定D+/D-以及高速时钟线的长度,使线长最短。尽可能增大每对信号线之间的距离,避免90°直角布线等。

在选择附件时,必须选择USB2.0电缆、USB2.0连接器,并将面板等机械部件正确地与高速主机适配卡、主机相连,保证良好的屏蔽,以减少静电放电干扰。

2测试结果及结论

USB实施者论坛(USB-IF)提供USB设备与主机软件的测试,Microsoft提供Windows硬件品质实验室测试WHQLTesting。对于USB2.0高速主机适配卡,除了上述两个标准测试外,还包括高速信号传输质量的测试、功能测试、电磁兼容国际认证测试等。

利用TektronixTDS694C、TDS544示波器进行高速信号传输质量的测试,其中包括高速差分对D+/D-眼图、信号传输速率、接收灵敏度、振幅、差分对D+/D-输出阻抗等测试。测试结果满足USB2.0主控制器的设计标准,满足USB2.0的设计规范,测试连接见图4。

总线接口范文篇9

关键词:集成;面向对象;虚拟仪器;测试

1引言

人类在从事社会生产、经济交往和科学研究中,都与测试技术息息相关。随着科学技术的发展和生产力水平的提高,测试的重要性日益凸现。现代化的科研工作不仅需要对多参数、相关参数、瞬间信息进行陕速、实时、连续、准确的捕捉和测量,且需完成浩繁的数据处理工作。这些测试任务均非手动或人工测试所能完成的,这就必须采用自动测试手段。国际上发达国家早已在20世纪80g代末就推出了跨世纪的总线测试系统及产品,它采用开放的总线标准,使用户在最短的时间内利用总线式仪器和软件,灵活组建自动测试系统,大大节约了测试时间并降低了测试费用。目前,数字化、模块化、网络化和系统化已成为测试仪器发展的新趋势,采用各种各样先进技术的第3代电子测试仪器将不断问世。

2计算机远程测试平台的组成结构

测试仪器从模拟技术向数字技术过渡,从单台仪器向多种功能仪器组合过渡,从完全由硬件实现仪器功能向软硬件结合方向过渡,从简单的功能组合向以个人计算机为核心构成通用测试平台过渡,从硬件模块向软件包形式过渡是今后电子类测试仪器的发展新动向[1]。一种基于先进PC技术的被人们称之为“2000技术”的新概念[2],被使用在测量仪器上,使测量仪器的性能获得最大程度地提高。这种以计算机软硬件和总线技术为核心的“2000技术”,它包括高速总线技术USB/IEEE1394/Ethemet、仪器总线接口驱动技术IⅥ、Windows2000及其WindowsCE操作系统、简化仪器数据传输的Internet访问技术SocketData、基于元件目标模式(COM)的仪器软硬件互操作技术OPC、软件开发技术等等。图l为计算机测试系统的组成结构。

被测信号(例如温度、流量、压力、动不平衡量,噪声等)经传感器变换为电流或电压信号。如果信号太弱,则应经过前端预处理电路进行放大或滤波等处理,经光电隔离或电磁隔离后,由数据采集子系统将模拟信号转换为数字信号送^、微机处理子系统中。微机根据实际情况对所采集到的信号进行必要的处理,由数据分配子系统和接口输出到执行机构,以实现自动控制,或由基本I/O子系统输出到CRT,打印机或绘图仪等。

2.1微机基本子系统

微机基本子系统可以为普通的PC机,工控机等,这种计算机采用通用型微处理器,具有良好的通用性和兼容性的特点。可以分为硬件系统和软件系统两部分,软件系统采用多任务操作系统系统Windows2000和面向对象开发工具VisualStudio.net。

2.2数据采集子系统

数据采集子系统由传感器,信号调理电路和总线接口芯片组成(如图2)。数据经传感器转换为电信号后,需要进行放大、滤波、隔离等处理,由多路开关选通后,送采样保持器,然后经过A/D转换,通过接口芯片送人计算机进行处理。我们用的接口为PCI总线接口,接口芯片可以为AMCC公司的$5933,PLX公司的9054等。专用芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的用户接口,用户只要设计转换后的总线接口即可。亦可采用可编程逻辑器件(EPLE或FPGA)实现通用PCI总线接口。

2.3数据通信子系统

近年来,网络技术发展十分迅猛,Intemet和PC网络正在逐渐地改变人们的生活和工作方式。为了满足测试系统互连、测试数据共享和提高测试系统工作的可靠眭等方面的需要,网络技术也逐渐地被应用到了测试领域,从而为数据采集、数据分析和数据表达带来了一些新的方法和途径。在系统组建方案中,可以通过配置一个或多个远端测试节点来完成测试任务,并将测试的数据发送回一台本地PC。

2.4数据输出子系统

通过输出信号来推动执行机构,以实现控制的功能。例如停止或启动测试设备等。

3系统网络结构及系统的建立

3.1系统网络结构

计算机远程测试平台是基于客户机/服务器结构和服务器/浏览器结构的[3]。数据采集工作站的任务由客户机来承担。客户机负责数据采集、数据显示、数据处理、数据存储和数据通信的任务。客户机也负责接收用户命令、发送请求和网络通信。服务器存储客户机的地址信息,并用来汇总采集数据,其本身也提供WEB等服务[4][5]。系统结构如图3所示,实线表示物理连接关系,虚线表示网络,虚箭头表示逻辑概念,即请求可以从本机发出,也可能从网上获得;同样,响应既可以回送本机,也可以发到网上。

3.2系统的建立

网络系统的体系结构从应用上划分为3个分系统,1个应用分系统,2个支持分系统,即网络NETS和数据库分系统DBS。其网络体系结构如图4所示。

中心站的网络结构采用的是l00M带宽星型全交换式以太网结构,采用TCP/IP协议作为主要网络通信协议。主要设备如服务器、网络交换机等都支持C/S和B/S结构,并采用先进的虚拟网络技术,将网络按功能模块划分成不同子网,增强网络的安全性。网络操作系统选用WindowsXP。

图5为远程测试平台主界面。进入系统主界面[6][7]后,可以看到用户操作区有三个选项卡:数据采集,数据管理和网络通信。数据采集选项卡主要实现对数据的采集和显示,并且可以对采集信号进行处理。方法为在通道上单击右键,可弹出操作菜单,然后进行各项操作。数据管理选项卡里可以对采集数据进行输出和备份等各项操作。网络通信选项卡可以进行简单的网络通信,包括和服务器,其他用户的通信。

4结束语

计算机远程测试平台是一种超越单一特定对象的通用平台。它不仅可以最大化地减少因测控要求改变、测控环境改变和测控设备变化所带来的系统变化,还能够实现全系统范围内资源的最佳分配,并得到最好的资源共享效果,同时也支持测控设备的即插即用[8]。这种模式的提出无论是对企业生产、测试项目的技术改造,还是对于节约资源,进行可持续发展都具有非常重大的现实意义。

参考文献:

[1]KESSLERGD.Handbookofvirtualenvironmentstechnology,Chapter13.VinualEnvironmentModels[M].LawrenceErlbaumAssociates,Mahwah,NewJersey,2002.

[2]邱公伟.多级分布式计算机控制系统[M].北京:机械工业出版社,1999.

[3]蔡希尧.面向对象技术[M].西安:西安电子科技大学出版社,2003.

[4]郭瑞杰,付桂英,尤向巍.一种远程多点监控装置的实现[J].机械工程师,2007(5):72—73.

[5]蒋凌云,王汝传.基于流量自相似模型的SYN—FloodDDoS攻击防范[J].南京邮电大学学报(自然科学版),2007,27(2):90-94.

[6]张鑫.计分散控制系缀M].北京:水利电力出版社,2002.

总线接口范文篇10

关键词:PCI总线接口控制器S5933甚高速红外控制器HHH(1,13)编解码

PCI(PeripheralComponentInterconnect)局部总线[1]是一种高性能、32位或64位地址数据多路复用的同步总线。它的用途是在高度集成的外设控制器件、扩展卡和处理器/存储器系统之间提供一种内部的连接机构,它规定了互连机构的协议、机械以及设备配置空间。PCI局部总线因具有极小延迟时间、支持线性突发数据传输、兼容性能以及系统能进行全自动配置等特点受到业界青睐。PCI总线规范2.1版本还定义了由32位数据总线扩充为64位总线的方法,使总线宽度扩展,并对32位和64位PCI局部总线外设做到向前和向后兼容。

目前微机之间的红外通信是基于IRDA-1.1标准的红外无线串行SIR通信,参考文献[2]给出了基于ISA总线的红外无线串行通信卡的设计及实现,该通信卡的数据速率为9.6kbps~115.2kbps,工作距离0~3m。但由于RS-232端口的最高数据速率上限为115.2kbps,不能满足IRDA-1.4规范甚高速红外VFIR16Mbps速率要求,所以使用了PCI同步总线扩展外设的方法设计甚高速红外控制器。虽然ISA总线的传输速率能满足甚高速红外控制器设计要求,但目前许多微机系统已经逐渐淘汰ISA/EISA标准总线。原因是高速微处理器和低速ISA总线之间不同步,造成扩展外设只能通过一个慢速且狭窄的瓶颈发送和接收数据,使CPU高性能受到严重影响。

1HHH(1,13)编解码

2001年5月,红外无线数据协会IRDA了红外串行物理层规范IRDA-1.4[4];它与前期的物理层规范的主要区别在于增加甚高速红外VFIR16Mbps数据速率的编解码技术和帧结构,而其它如视角范围、发射器最小(大)光功率和接收器灵敏度等规范基于相同。红外串行物理层规范IRDA-1.4规定数据速率小于4Mbps采用RZI(归零反转)调制,最大脉冲宽度是位周期的3/16或1/4;数据速率4Mbps采用4PPM(脉冲位置调制);数据速率16Mbps采用HHH(1,13)码。

IRDA提出的VFIR编解码技术-HHH(1,13)码是码率为2/3,(d,k)=(1,13)的RLL(run-length-limited)码;它是一种功率消耗和频带利用率相对折中的高效编码,其中参数d、k分别表示在两个''''1''''之间最小和最大的''''0''''的数目,参数d决定接收信号中有无码间干扰ISI,参数k决定接收器能否从接收序列中恢复时钟。HHH(1,13)码的带宽效率使数据通信能够选择成本很低、上升/下降时间为19ns的LED。功率效率避免了LED的热问题,它能保证1m距离范围内保持链接。1m距离16Mbps链路可达到过去4Mbps链路的驱动电流和功耗。HHH(1,13)码和4PPM码(用于4Mbps)的显著区别是HHH(1,13)码决不允许一个红外脉冲紧跟前一个红外脉冲,脉冲之间应该保持一个chip时间差。由于光电管工作区域内有少量载流子的慢辐射,使LED或光电二极光表现出拖尾效应,HHH(1,13)码能够兼容拖尾效应,从而允许在chip时间周期内脉冲的扩展。

虽然HHH(1,13)码的设计过程比较复杂,但IRDA-1.4标准已经详细给出了编译码逻辑方程和电路,所以实现起来比较容易。笔者使用AlteraMAX+plusII进行逻辑功能仿真,并用GW48EDA实验系统进行硬件伪真,验证HHH(1,13)码编译码电路设计的正确性。

2甚高速红外VFIR控制器的硬件设计

由于PCI总线规定了严格的电气特性,开发PCI总线的应用具有很大难度,因此使用AMCC(AppliedMicroCorporation)公司推出的PCI接口控制器S5933实现红外控制器PCI总线接口规范[5]。甚高速红外VFIR控制器原理框图如图1所示。选用Altera公司的FLEX10K系列现场可编程门阵列器件实现S5933与红外TX/RXFIFO、寄存器的传输控制和逻辑时序以及红外接口控制逻辑和红外收发器接口功能模块(CRC校验、编解码以及串/并转换)。甚高速红外VFIR控制器工作原理如下:首先由AMCCS5933外部非易失性串行EEPROMAT24C02下载PCI配置空间,然后主机通过直通(PassThru)寄存器数据访问方式向红外接口控制寄存器写控制命令[3]。红外接口控制逻辑根据控制命令发出控制信号,使整个红外控制器处于准备状态。当上层协议发出数据发送事件时,红外接口控制逻辑发出消息,通知主机启动S5933总线主控读操作,把上层数据写到外部红外TXFIFO数据缓冲器;同时红外接口控制逻辑根据TXFIFO状态把TXFIFO的数据发送到红外收发器接口,进行锁存、并/串转换、CRC校验和编码,最后通过VFIR收发器发送数据。同理VFIR收发器接收到的数据经过译码、CRC校验、串/并转换和锁存,写入RXFIFO数据缓冲器。红外接口控制逻辑触发上层协议发出数据接收事件接收数据,主机启动S5933总线主控写操作向上层协议递交数据,数据传输完成上层协议发回消息,通知数据接收完成。下面重点分析S5933与红外TX/RXFIFO、红外寄存器组访问控制逻辑以及红外接口控制逻辑和红外接发器接口功能。

2.1红外TX/RXFIFO与红外控制寄存器组控制逻辑

AMCCS5933支持3个物理总线接口:PCI总线接口、扩充总线接口和非易失性EEPROM总线接口。非易失性EEPROM用于映射PCI的配置空间及设备BIOS的初始化;扩充总线可以与外设设备互连。主机和外设之间可以利用S5933的邮箱寄存器、FIFO寄存器、直通寄存器(Pass-Thru)数据传输方式双向传输数据。

红外寄存器组包括红外接口控制寄存器和状态寄存器。本文中甚高速红外控制利用S5933直通寄存器单周期数据传送向红外接口控制寄存器写控制字,由Pass-Thru逻辑控制电路把地址和数据分离开,直通地址寄存器(APTA)经374锁存并译码,选通红外接口控制寄存器,同时把直通数据寄存器(PTDA)的低字写入红外控制器;该接口控制寄存器的数据宽度为16位,包括红外控制器始能、工作模式(UART、SIR、MIR、FIR、VFIR)的设置,接收或发送数据的选择以及满足SIR模式下多波特率的分频数。红外接口控制寄存器结构定义如图2。

同理使用直通寄存器方式获取红外接口状态寄存器的状态。红外接口状态寄存器结构定义如图3。

为满足高速数据传输,利用S5933FIFO寄存器总线主控方式下的同步猝发(Burst)操作(DMA传送)完成主机与红外TX/RXFIFO的数据传输。PCI接口首先初始化S5933作为总线主控设备,然后由PCI接口向主控读/写地址寄存器(MRAR/MWAR)写入要访问的PCI存储空间地址,向主控读/写计数器(MRTC/MWTC)写入要传输的字节数。S5933提供了4个专用引脚RDFIFO#、WRFIFO#、RDEMPY#和WREULL#控制内部FIFO与外部FIFO的数据传输接口逻辑。接收/发送FIFO的数据宽度都是32位,分别由4片8位数据总线的IDT72220FFO数据位扩展实现。该FIFO既为PCI接口提供数据缓冲,又为红外收发器接口提供访问数据。S5933与红外TX/RXFIFO、红外寄存器组的数据访问控制逻辑如图4。

2.2红外接口控制逻辑

根据红外接口控制寄存器控制字,红外接口控制逻辑实现外部RX/TXFIFO与红外收发器接口之间的数据传输和逻辑时序。它的工作原理如下:根据控制字,首先启动红外收发器接口CRC校验、编解码器和可编程时钟(RX/TXFIFO读/写时钟RCLK、WCLK和编解码时钟fclock),然后根据控制字的TX/RX位决定是接收还是发送数据。发送数据时,TXFIFO缓冲器不为空,TXFIFO的EF信号就触发红外接口控制逻辑发TXFIFO读操作信号ENR#,读取TXFIFO的数据(数据宽度32位)传给红外收发器接口进行CRC校验、编码以及并/串转换。同理当甚高速红外控制器接收数据时,红外收发器接收到的数据经过译码、串/并转换(数据宽度32位),然后触发红外接口控制逻辑发出红外接收FIFO的写操作信号ENW#,把接收数据写入红外接收FIFO。当RXFIFO写满后,触发控制逻辑发出S5933FIFO写信号WRFIFO#,上层协议启动PCI接口初始化S5933为同步主控写操作实现红外接收FIFO到主机内存的数据传畀。另外红外接口逻辑还实现红外接口状态寄存器状态的配置,以方便上层协议了解红外控制器工作状态。

2.3红外收发器接口

红外收发器接口的设计与实现是红外控制器成功的关键。该接口需要实现各种工作模式(SIR、MIR、FIR、VFIR)的编解码器和硬件CRC校验、设计比较复杂。编码器前、译码器后,数据都要进行硬件CRC校验实现差错控制。SIR模式采用RZI(归零反转)编码,信号为高电平,调制为低电平;信号为低电平,调制为高电平脉冲,最大脉冲宽度是位周期的3/16。MIR模式也采用RZI(归零反转)编码,但最大脉冲宽度是位周期的1/4。FIR模式采用4PPM(脉冲位置调制)调制,它的原理是被编码的二进制数据流每两位组合成一个数据码元组(DBP),其占用时间Dt=500ns,再将该数据码元组(DBP)分为4个125ns的时隙(chip),根据码元组的状态,在不同的时隙放置单脉冲。由于PPM通信依赖信号光脉冲在时间上的位置传输信息,所以解调时先保证收发双方时隙同步、帧同步,然后根据脉冲在500ns周期中的位置解调出发送数据。考虑到红外收发器通信距离突然变化引发脉冲宽度扩展,发生码间干扰,导致译码出错,因此根据HiroshiUno提出的新算法[7]简化4PPM译码过程,并通过实验验证该算法比最大似然译码算法结构更简单,功耗更低,而且更容易实现。

VFIR模式采用HHH(1,13)编解码技术。编码器原理:为了正确实现编码,要求在计算内部码字C=(c1,c2,c3)之前,在nT(T表示一个chip时间)时刻到达编码器输入端的输入数据码元组d=(d1,d2)经过3个编码周期(每个编码周期是3T)的延时后进行逻辑计算,得到下一状态矢量值N=(s1,s2,s3),即与输入数据有关的N出现在(n+9T)时刻;再经过一个编码周期,即(n+12T)时刻,状态N赋给内部状态矢量S=(s1,s2,s3),同时计算与输入数据码元组d=(d1,d2)有关的内部码字矢量C=(c1,c2,c3),再经过一个编码周期,内部码字C赋给输出码字矢量Y=(y1,y2,y3)。由此可见16Mbps的数据速率经过编码器变为24Mchip/s编码速率,整个编码过程延时5个编码周期即15个chip。注意编码器初始状态S应设置为(1,0,0)。译码器原理:输入数据R=(r1,r2,r3)经过锁存器延时得到矢量Y4=(y10,y11,y12),对Y4进行不同的延时得到Y3、Y2及Y1。这里矢量Yi是Y4的4-I次延时(由锁存器实现延时);对Y4进行或非运算得到Zd,再将Zd进行不同的延时得到Zc和Zb。这里Zc、Zb、Zd是变量,然后将Y4、Y3、Y2、Y1、Zb、Zc、Zd进行逻辑运算、延时分别得到矢量X1=(x1,x2)、X2=(x3,x4)、X3=(x5,x6);最后将x1、x2经过锁存器得到译码器输出矢量值U=(u1,u2)。整个译码过程延时4个周期即12个chip。可见HHH(1,13)编译码电路比较简单,利用FPGA基于门级描述即可实现,但必须注意锁存器时钟fclock=1/3fchip。VFIR模式增加线性反馈移位寄存器(LFSR)实现加扰和解扰功能提高系统性能,减少误码。

图4S5933与红外接收/发送FIFO,红外寄存器组数据访问控制逻辑图

3甚高速红外VFIR控制器的软件设计