最新-高速PCI总线接口卡的开发 精品
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高速PCI总线接口卡的开发
摘要从系统的角度介绍高速总线接口卡开发的整个过程,其中包括硬件电路的设计制作和软件驱动的开发。
介绍一些从实际设计过程中得出的应该注意的细节等。
关键词总线90523202407双端口
总线技术已经应用于形形色色的微机接口中。
同在声卡、网卡甚至有些显示都是基于总线技术的,一些高速数据传输系统中也需要用到总线技术。
总线技术的出现是为了解决由于微机总线的低速度和微处理器的高速度而造成的数据传输瓶劲问题,局部总线是在总线和总线之间增加的一级总线。
由于独立于的结构,该总线增加了一种独特的中间缓冲器的设计,从而与及时钟频率无关,用户可以将一些高速外设直接挂到总线上,使之与其相匹配。
局部总线使得系列微机结构也随之升级为现在的基于总线的三级总线结构。
机的三级总线结构如图1所示。
1总线接口卡的开发
局部总线最显著的特征是速度快。
总线的传输速率为5,总线的传输速率为33,10标准定义的总线传输速率为132,20标准定义的总线传输速率为264,21和22标准定义的总线传输速率为512。
而新一代-技术则在原有总线技术的基础上增加了许多新的技术特征,利用-技术可以为千兆以太网卡、基于320的磁盘阵列控制器等高数据吞吐量的设备提供足够的宽带。
1999年特别兴趣小组发布的-10标准最高可提供1的传输速率,而2019年推出的-20标准则最高可提供43的传输速率。
目前,总线接口电路的选择主要有两种方案。
一种是选用可编辑逻辑器件。
使用,用户可以灵活地开发出适合自己需要的具有特定功能的芯片,但总线协议比较复杂,设计控制接口难度较大,对于一般的工程项目来说,成本较大。
现在有许多生产可编程逻辑器件的厂商都提供经过严格测试的接口功能模
块,用户只需进行组合即可。
另一种是选用专用芯片组又称桥接电路,通过专用芯片来实现完整的主控模块和目标模块的功能,将复杂的总线接口转换为相对简单的用户接口,用户只需设计转换后的总线接口。
本设计中选用总线专用接口芯片来开发接口卡。
11接口芯片介绍
总线接口电路又分为主控设备和目标设备。
主控设备可以控制总线,驱动地址、数据和控制信号;目标设备不能启动总线操作,只能依赖于主控设备从其中读取数据或向其传送数据。
主控设备芯片价格比较高,目标设备芯片价格则比较便宜,而且目标设备芯片比较简单、易于操作。
目前两大专用接口芯片生产商是公司和公司。
公司的接口芯片有5920、5933、5935等。
5920是目标设备芯片;5933既可以设置为主控设备芯片,又可以设置为目标设备芯片;5935是5933的改进版,同样既可以设置为主控设备芯片,也可以设置为目标设备芯片。
公司在接口芯片的设置生产中首屈一指,其目标设备芯片产品主要有9030、9052和9050,9050和9052可以运用于
卡转接的设计中,9030是专门为嵌入式系统设计的;主控设备芯片产品主要有9054、9080和9060,9060是最早的32位主控设备芯片,9080是9060的后继产品,而9054则是一种性价比很高的芯片,其性能比9080、9052更优越。
由于主控设备芯片比较复杂,而且价格昂贵,所以对处理速度和传输速度要求不是特别高的场合应尽量选用目标设备芯片。
本设计中选用公司的9052目标设备芯片来设计接口电路。
129052介绍
9052是公司继9050之后推出的低成本、低功耗、32位总线接口芯片,利用它可以使局部总线快速转换到总线上。
9052芯片的设计符合21规范。
它支持低成本从属适配器,其局部总线可根据需要配置成复用或非复用模式
的8、16或32位的局部总线。
总线侧的时钟频率范围为0~33,局部总线与总线的时钟相互独立,局部总线的时钟频率范围为0~40,两种总线的异步运行方便了高低速设备的相互兼容。
9052芯片内部有一个64字节的写和一个32字节的读,通过读写,可实现高性能的突发式数据传输,也可以进行连续的单周期操作。
13硬件设计
由于9052属于目标设备芯片,只能依赖于主控设备从其中读取数据或向其传送数据,所以需要一个微处理器对通过9052从总线发送到局部总线的命令作出处理响应,或者把用户想要传送的数据以中断的方式通知总线来读取。
本设计中微处理器选用公司的2000系列的16位芯片3202407。
3202407是公司推出的定点处理器,是一款性价比较高的芯片。
它采用高性能静态技术,供电电压为33,指令周期可达25,片内有高达32字的程序存储器、15字的数据程序、544字双口和2字的单口,可以分别扩展64字外部程序存储器、64字外部数据存储器和64字寻址空间;片内还集成了包括控制器在内的多个外围模块及存储器,可以运用于电机及逆变电路的控制中;10位16通道的转换器最小转换时间为500;内部自带看门狗定时器模块和16位的串行外设接口模块。
另外,该芯片有高达40个可单独编程或复用的通用输入输出引脚、一个串行通信接口、一个并口和5个外部中断。
目前投入市场试用的2000系列的32位芯片3202812采用的是150的时钟速率,其指令周期只为67,存储器可以扩展到1,速度更快,功能更强大。
接口卡硬件总体设计如图2所示。
图中,代表数据总线,代表地址总线,代表控制总线。
图2
9052的总线直接与金手指连接,局部总线与之间的数据传输在双端口中实现。
双端口采用两片公司的双端口芯片7131,组成16位存储转接电路9052和7131供电电压均为5,而32024
07供电电压为33,所以接口电平不匹配,需要加总线电平转换电路,这里选
用16位总线传送接收器7464245来实现。
9052的控制信号和3202407的控制信号之间的逻辑转换用一片公司的芯片703244来实现。
3202407的外围电路可以根据需要扩展。
由于3202407内部自带32字的程序存储器,程序调试完毕后可以烧写进去,但程序调试过程中需要频繁修改程序,所以可展一片存储器,调试程序时当作程序存储器用,程序调试完毕后再作为数据存储器用,这样既方便又实用。
3202407有一个串行通信接口和一个16位并行通信接口,串口可以做成485、232、422、总线接口等,并行通信接口可以做成16位并行输入输出接口。
14电路板制作
1在连线上只要将对应的引脚连在总线上就可以了。
由于信号用的是反射波信号,所以驱动的信号只用了要求电压的一半,另一半靠反射来提升,所以对信号线的长度有要求信号线的长度为2500±100。
如果长度不够可以画蛇行线,另外,信号线要用地线屏蔽。
2总线规范要求布四层线,也可以只布两层线。
布两层线时,走线难度增大,要做好电源退耦。
每个引脚必须有退耦电容,且容量的平均值至少为001μ,从引脚根部到电容焊盘的走线长度不大于250,线宽至少为20,多个引脚可以并用一个电容,并且参与共用的引脚数不受限制,但必须满足以上条件。
3总线信号1#的2#中必须有一个接地。
如果都不接地,系统找不到开发板。
它们接地有两个用途,其一,用来表明槽位上实际存在一块板;其二,提供该板对电源要求的有关信息。
表1给出了#引脚的设备情况。
表1#引脚的设置情况
1#2
#扩展板配置
开路开路不存在扩展板地开路有扩展板,最大功耗为25开路地有扩展板,最大功耗为15地地有扩展板,最大功耗为75
4对于不实现边界扫描的板子,必须把引脚和连接起来,以使扫描链不至于断开。
5连接器上的33引脚即使实际使用中未提供电流在母板上必须连到一起,最好连到一个33的电源平面上。
而且,对33引脚应提供一个交流回路,这时对地去耦应符合高频信号技术的要求。
为此,应在33平面上均匀排列12个高速电容,容易为001μ。
6为了稳定性,局部总线除了少数有特殊要求外,所有的信号线都应加上拉电阻5Ω~10Ω或下拉电阻一般选150Ω。
7为防止干扰,局部总线时钟也应对地屏蔽。
8串行提供总线和局部总线的部分重要配置信息,一定要选支持串行传输方式的,如9346或者与之兼容的存储器。
9346不支持串行读写,所以不能选取。
9346的、、、和端都要接10Ω的上拉电阻,而端要接150Ω的下拉电阻。
的配置至关重
要,配置不正确可能导致操作系统无法运行。
系统启动时自动检测的开始48拉是否全为1,若全为1,则载入9052的默认配置;否则则装载中的内容,为板卡分配资源。
串行可以通过总线直接写入,也可以用编程器直接烧写。
15程序调试
151程序的开发
可编程器件的设计软件种类很多,各大器件厂家及一些软件公司都开发了一些设计软件。
软件的设计根据逻辑功能的描述方法可分为语言描述设计和原理图描述设计两个类。
常见的如公司的语言、四通公司事业部开发的针对器件的软件等属于语言描述类设计软件;而公司的软件、公司的等软件属于电路图描述或电路图描述与语言描述相结合设计的软件。
本设计中的编程只涉及到信号逻辑转换,所以只需选用语言描述类设计软件,
这里选用公司的语言描述设计软件。
程序调试结束后用编程器写入芯片即可。
152程序开发
公司提供了专用仿真器和仿真开发系统,2000系列的开发系统最新版本为22。
对于不同的仿真器,只要安装驱动程序即可使用该开发系统进行仿真。
仿真器选用最新款的带接口的5100020仿真器。
由于该仿真器使用接口,所以不需外接供电电源,实用又方便。
由于硬件设计时扩展了可转换的存储器,进行仿真时把存储器接成程序存储器,程序可以直接转载到扩展的存储器中进行调试,免去了往中烧写的麻烦,程序调试完毕后再固化到中。
2总线接口卡的软件驱动开发
卡的硬件调试需要结合软件程序的调试来完成。
卡的驱动程序开发有多种途径,驱动开发工具也有多种选择。
21驱动开发工具的选取
1
许多服务都使用寄存器的调用方式,使用起来不是很方便,没有4深厚的汇编语言及硬件基础很难在短时间内开发出设备驱动程序。
公司提供了设备驱动程序工具箱,它是基于汇编语言的编程方式的,的优点是可以开发核心态的真正意义上的驱动程序,开发出来的驱动程序效率是最高的。
2
是一个驱动程序集成开发包,其中包括了、、、、、、等。
几中常见的驱动开发工具介绍如下
·为32应用程序提供了访问硬件的接口。
·支持95和98的驱动程序开发。
包括代码生成器、实时接口库和可以作为开发一类驱动程序的例子程序。
·包括为和32开发驱动程序的完整的开发框架,同时也支持98和2000下驱动程序的开发。
包含一个复杂的代码生成工具,其中含有支持++下编程的类库和例子程序。
3
是-公司的一套驱动程序开发包。
它改变了传统驱动程序开发的方法和思路,极大地简化了驱动程序的编制;同时又没有牺牲驱动程序的性能,是一套高效、快捷的驱动程序开发软件包,特别适合专业硬件人员使用。
利用开发驱动程序不需要熟悉操作系统的内核,整个驱动程序中的所有函数都是工作在用户态下的,通过与的或者文件交互可达到驱动硬件的目的。
由于是一个用户态程序,效率的高低也就成了人们选择时关心的问题。
大量实践数据表明,并没有通过牺牲系统性能来换取驱动程序的快速开发。
本设计中选用来开发驱动程序。
22开发驱动程序
在的体系结构中,处于中心位置,它提供的用户态库函数实际就是对中实现的功能进行调用。
几乎所有用户同硬件的交互都是通过来实现的,这样就极大地解放了开发人员。
用户的主要任务就是利用提供的用户动态函数库函数库在用户态实现自己的驱动程序代码,完成硬件驱动的功能。
基于的设备驱动程序主要分为驱动程序和应用程序两部分。
利用生成驱动程序,安装该驱动程序后,系统就根据中的配置信息给板卡分配资源,接下来就可以进行应用程序的开发了。
利用生成应用程序框架后,用户把生成的框架整理到自己的程序中,再添加实际应用中需要的功能就完成了软件的开发。
总线是计算机总线的枢纽,其速度是一般总线望尘莫及的,其应用也十分广泛。
利用本文介绍的方法开发出的板卡可以运用于各种高速数据传输场合中,发雷达系统仿真控制、工业总线控制、高速数据采集、图像采集等。
本设计在对芯片的选型时本着经济实用的原则,开发出的板卡性价比较高。