PCI SPEC 学习(1)
这里写自定义目录标题
PCI SPEC 学习(1)
该系列文章的的内容主要是针对PCI SPEC的理解和翻译的内容,本人属于硬件领域的小白,出入半导体行业,文章内肯定又很多错误之处,请各位看官,大牛们多多指教。
PCI 基本介绍了解
为什么会有PCI总线出现,主要是为了应对现代社会的计算的不断发展中的图像显示,音频等需要高速存储的一些device,传统的数据传输方式已经无法满足使用,因此提出了PCI,CPU可以通过PCI与电脑的外设等进行高速传输数据。
PCI的优点:
1.高速传输性能,33bit的传输数据位数和33MHZ的传输数据带宽。
2.能够实现处理器和系统设备的并发工作
3.PCI总线的设备在接入总线时候会完全自动配置
4.可以与现有的各个软件兼容
5.等
引脚定义
(先说明一下信号引脚上的in out t/s s/t/s o/d的各个引脚的作用)
in:标注的输入引脚
out:标注的输出引脚
t/s:标注的三态引脚,分别为低电平,高电平和高阻态三个状态
s/t/s:持续三态引脚,与三态引脚类似,但是有一点不一样的功能是当一个device使用完该引脚之后,在释放该信号之前必须驱动至少一个周期的高电平。
AD[31::00]:PCI总线复用引脚,当在地址周期的时候输入地址,当在数据周期的时候是输入数据
C/BE[3::0]#:PCI控制信号引脚,同样是复用引脚,地址周期的时候是bus command,而数据周期的时候充当的是bity enble的作用
FRAME#:总线使用引脚,当FRAME#引脚asserted的时候表明,该设备可以在总线上开始transaction了
TRDY#:在 read transaction时候,该引脚asserted表明,目标设备已经准备好需要被读取的数据了。当在写事务的时候,表明目标设备可以接受数据了。
IRDY#:在read transaction时候,该引脚asserted表明,主设备已经可以读取数据了,当在写事务的时候表明目标设备可以准备好写入的数据了。IRDY#和TRDY#需要相互结合使用,两个引脚同事asserted的时候才能表示进行数据传输。
STOP#:表明该事务可以停止
IDSEL:主要是在配置读写事务中指明选择好的设备
DEVESEL#:当该信号被asserted表明该设备被总线事务选择,可以开始事务
REQ#、GNT#:这两个都是仲裁信号,一个是设备请求使用总线,一个是设备被PCI总线授权可以使用总线
INx#:中断信号,主要用于设备中断(听说被淘汰了,效率低,现在都是用MSI-X和MSI)
上述是32bit的引脚,由于后面还要学习PCI-E所以就不看64Bit的引脚作用了。
边带信号:主要是用于special cycle时候的信号,可以遍历PCI上的所有设备。
由于本人原来从来没做过该方面的内容,也是公司需要才刚开始学习,还有很多不足之处,还需要多多学习。加油!!!