PCI总线实现论文_张忠琪

PCI总线实现论文_张忠琪

(天津凯发电气股份有限公司 300000)

摘要:PCI总线,即外围部件互联总线,是一种高性能的32/64位地址数据服用局部总线。可以提供高达132MB/S的数据传送速率。他具有严格的规范,只要符合PCI规范的扩展卡插入任何PCI系统就能可靠工作。但PCI总线协议较为复杂。

使用CPLD进行IRIG-B格式的解码,利用可编程语言灵活设计解码电路,确保对B格式解码的准确性和精度

关键词:CPLD;CAN;IRIG-B;PCI;ISA

0引言

本文介绍了一种基于PCI总线和复杂可编程器件CPLD设计实现的IRIG-b格式对钟解码的方法,使用标准PCI接口,已成功应用于产品中。

1ISA总线介绍

ISA总线是八十年代中期出现的工业现场控制总线,它具有20 位地址及8 位数据总线,可寻址1M 存贮空间,其工作频率为8.33MHz,数据传输率为8.33Mb/s;

2PCI总线介绍

PCI总线,是一种高性能32/64位地址数据复用局部总线。PCI总线与处理器和时钟频率无关,可以提供高达132MB/s的数据传送速率:它具有严格的规范,只要符合PCI规范的扩展卡插入任何PCI系统就能可靠地工作。但由于PCI总线协议的复杂性,其接口的实现比VESA,ISA等总线要困难得多。

3ITE8888应用介绍

目前实现PCI接口的有效方案主要有使用可编程逻辑器件或使用专用总线接口器件。采用可编程逻辑器件实现PCI接口的最大好处是比较灵活,用户可以根据自己的需要开发出适合于特定功能。但难度较大,设计周期较长。专用接口芯片具有较低的成本和通用性,能够有效降低接口设计的难度,可靠性高。现有的PCI接口芯片主要有AMCC公司的AMCCS59xx系列和PL×公司的PCI905x系列,近年来ITE公司的ITE8888 凭借着其低廉的价格和易用性能也得到了广泛应用。

ITE8888支持PCI主从模式,支持PCI2.1 协议,支持完整的ISA总线接口,全面兼容SM BUS,可连接E2PROM进行参数配置,支持串行中断,并且可以支持最高为1Mbbytes的FLASH ROM。

IT8888提供的Serial IRQ 符合 Serialized IRQ Support for PCI system R6.0 规范,能将ISA总线的多个中断组合并以串行帧的方式送入中断处理器。

IT8888支持正向译码和反向译码。典型PCI系统中,当PCI上的主设备寻址PCI目标设备时,由PCI主设备发出寻址地址,PCI目标设备进行译码,被选中的目标设备和主设备进行交互。这一过程叫做正向译码。但是,如果PCI主设备要寻址一个驻留在ISA总线上的设备时,桥就带来了问题。主设备不知道是否有设备安装在ISA扩展槽上,即使知道,它也没有途径知道存储器或I/O所用地址的范围。在这种情况下,就引出了由桥执行负向译码的概念。

当一个主设备寻址一个驻留在ISA总线上的设备,桥执行负向译码操作。在一个指定的时间周期内,如果没有其他PCI设备声明交易,PCI的扩展总线桥驱动DEVSEL#有效,并且将交易转送到扩展总线上。扩展总线桥可以通过监督其他PCI设备产生的DEVSEL#信号状态,来确定有没有其他PCI设备声明交易,如果扩展总线桥在一个交易的地址段之后的4个时钟周期没有采样到有效的DEVSEL#,就说明没有其他PCI设备声明交易,扩展总线桥在交易的第五和第六个时钟周期之内驱动DEVSEL#有效来声明交易。这就称作负向译码。

期刊文章分类查询,尽在期刊图书馆然后扩展总线桥启动 ISA 总线上的访问。本设计中也使用IT8888的反向译码模式来设计,应用时会自动把访问地址转换到ISA侧。

4利用CPLD实现IRIG-B对时功能

IRIG时间码标准有二大类。一类是并行时间码格式,传输距离较近,因此应用不广泛。另一类是串行时间码,共有六种格式,即IRIG—A、B、D、E、G、H。它们的主要差别是时间码的帧速率不同,由于IRIG—B格式时间码是每秒一帧的时间码,最适合使用的习惯,传输也较容易,应用最为广泛。

根据B码规范,每个码元占时10ms,时间格式是脉宽码。二进制“1”和“0”的脉宽分别为5ms和2ms。时帧的参考标志是由一个位置识别标志(P0)和相邻的参考码元(PR)组成。参考码元的码宽为8ms。时帧的“准时”参考点是参考码元的前沿。

解码就是要识别时间帧中的各码元,从而判断帧标志,各个码位的值。解码使用两个时钟来完成,一个100kHz,一个1kHz。

使用100kHz的时钟监测脉宽,用该时钟作为计数脉冲,检测每个码元高电平持续时间,检测值在5ms左右时表示码元“1”,检测值在2ms左右时表示码元“0”,检测值在8ms左右时表示码元“P”。考虑到实际应用环境中B格式信号与理想格式的差异,检测脉宽是计数值不能严格的定为5ms,2ms,8ms,要给计量值设定一个合理范围。计数值落在这个范围内,就判定为相应的码值。

为了能准确检测到秒起始时刻,发送出PPS信号,当连续监测到2个8ms高电平脉宽后,启动一个PPS计数器,当检测处这第二个8ms的脉宽时,此时该时间帧信息已经发送10ms,距离下一个PR,也就是下一秒的起始时刻还有990ms。为了保证能准确捕捉到秒起始时刻,利用PPS计数器,当计数器累计至989ms时,可以置位一个PPS捕获使能信号信号PPS_En,在捕获信号置位的时间段内,使用B码的上升沿触发一个寄存器,此时段发生的B码的上升沿只能为下一秒的起始沿,即PR沿,利用此B码上升沿触发一脉冲信号即可以作为PPS秒脉冲信号。

在B格式的信息中,能解读的最小的时间单位是秒。但实际应用中,以秒为计时单位精度是远远不够的,并为了尽可能消除非实时系统中软件定时器精度较差的问题,可以利用1khz的时钟信号在CPLD中设计一个硬件毫秒定时器。该定时器在每次检测到一个秒的起始时刻(PR上升沿)时清零,当累积到1000ms时也自行清零,毫秒定时器清零后重新开始计数。

因为每次检测完B码信息后,检测时间都已经落后1s,软件在读取B码的时间信息后要加1s补时,同时读取硬件毫秒计时器,将获得的时间作为系统时间对自身进行更新。

5结束语

将计算机的PCI扩展槽利用硬件设备扩展出来,为外部信号进入计算机提供了一个高速通道,通过与CPLD的配合,可以实现灵活的功能配置,通过选择合适的外围器件,在此主体方案上还可以灵活的实现其他功能。

本方案已成功应用于产品方案中,该装置通过了动态模拟试验,并应用到现场环境中。试验和运行证明,产品运行可靠,对时准确。

参考文献:

[1]ITE Tech.Inc.《IT888G Preliminary Specification V0.9》。

[2]Compaq Computer Corporation..《Serialized IRQ Support for PCI Systems》。

[3]中华人民共和国国家发展和改革委员会。《电力系统时间同步技术规范》

[4]雷伏容.清华大学出版社。《VHDL电路设计》。

[5]刘晖等译.PCI系统结构.北京:电子工业出版社,2000

作者简介:

张忠琪,男,天津人,哈尔滨工程大学 学士 工程师,单位:天津凯发电气股份有限公司,研究方向,电子电气,轨道交通产品。

论文作者:张忠琪

论文发表刊物:《电力设备》2016年第16期

论文发表时间:2016/11/10

标签:;  ;  ;  ;  ;  ;  ;  ;  

PCI总线实现论文_张忠琪
下载Doc文档

猜你喜欢