MCCS5933在PCI总线接口中的数据传输应用

2012-04-29 00:44金双明
科技资讯 2012年10期
关键词:传输数据字节寄存器

金双明

摘要:对PCI总线接口芯片AMCCS5933的工作原理进行了介绍,并针对该芯片的功能特点,就其三种总线数据传送的应用方式分别加以了详细说明。

中图分类号:TP334文献标志码:A文章编号:1672-3791(2012)04(a)-0000-01

随着计算机信息技术的不断发展,数据传输通信作为其核心环节也变的越来越重要,PCI局部总线作为新一代的总线系统获得了越来越广泛的应用。PCI局部总线是一种高性能的32/64位地址数据复用总线,它使用33MHz时钟并支持猝发传输,32位数据传输可实现132MB/s的最大传送速率,64位数据传输时速率加倍。PCI总线虽然性能出众,但是由于其协议的复杂性,接口电路的直接开发往往比较困难,为了解决这种矛盾,在PCI总线的开发中常常使用总线控制器专用芯片来缩短开发周期。现有的PCI总线接口芯片主要有AMCC公司的AMCCS59XX系列产品和PLXTEGH公司的PLLLX系列产品。本文将就AMCC公司的AMCCS5933芯片的原理及其数据传输的三种方式加以介绍。

1 AMCCS5933的工作原理

AMCCS5933是一款功能强大、使用方便的PCI协议控制芯片。该芯片符合PCI局部总线规范2.1版,可以作为PCI总线目标设备(S1ave),实现基本的传送,也可以作为PCI总线主控设备(Master),访问其他PCI总线设备。它支持8/16/32位数据,并且支持同步/异步外加总线操作等,其结构原理图如图1所示。

由图1可知,S5933起到一个桥路的作用,即它是PCI总线和本地总线之间的一个桥路。S5933提供3个物理总线接口,即PCI总线接口、外加总线接口和可选的nvMemory(non-volatile Memory)接口。数据传送可以在PCI总线和外加总线之间进行,也可以在PCI总线与nvMemory之间进行。通过驱动程序对总线控制寄存器设置,可以完成PCI总线和外加总线之间的数据传送。S5933提供了邮箱(MAILBOX)寄存器、Pass-Thru通道和FIFO三种数据传输方式。

2 邮箱(MAILBOX)寄存器数据传送方式

AMCCS5933内部有8个MAILBOX,4个为输出MAILBOX,4个为输入MAILBOX,PCI方的输入MAILBOX对应于本地的输出MAILBOX,输出MAILBOX则对应于输入MAILBOX,这些信箱可以当作用户命令、状态或者命令参数寄存器使用,其用途可以由用户自己定义。邮箱寄存器结构框图如图2所示。

邮箱寄存器为两总线间的数据传送提供了一条方便的路径,通过询问一个对PCI和外部总线都可以访问的状态寄存器,决定每个邮箱的字节级的空/满指示。字节级的空/满指示大大增加了8位/16位/ 32位系统接口的灵活性,也就是说,传递该外加总线的一个单字节的8位数据,并不需要32位数据的组装和分解。

主机对MAILBOX的访问是通过I/O读写来完成,本地逻辑对MAILBOX的访问则通过本地控制寄存器的方式来完成。S5933内的操作寄存器通过不同位的配置选中一个邮箱和一个邮箱字节,当邮箱满或被查询时邮箱字节产生中断。邮箱中断控制寄存器用于产生中断允许信号并决定是否在PCI或外加总线上产生中断。外部总线的输入邮箱将外加总线的数据直接锁入邮箱寄存器,并且在允许的情况下产生一个PCI总线中断。邮箱寄存器中的数据也可以用相同的方法读出。

3 Pass-Thru数据传送方式

Pass-Thru通道为PCI总线提供一种寄存的访问端口,通过握手协议访问外加总线,它允许PCI传送和外加接口操作同时进行。Pass-Thru操作与外加总线一同实时执行PCI总线周期。这允许PCI总线直接读写外加总线资源。S5933允许设计者声明四个独立的Pass-Thru区域,每个区域都可以定义为8位、16位或32位,映射入主存储器或I/O空间,最大可达512Mbytes。Pass-Thru的结构图如图3所示。

Pass-Thru数据通道使用独立外加总线以反映PCI总线的读写请求,外加逻辑对这些信号编码以决定是否必须满足读S5933的读写请求。编码信息包括PCI请求的发生、包含的字节通道、特定的Pass-Thru被访问区域,以及是否该请求为突发传输或单周期访问。所有的被请求的Pass-Thru地址和数据信息由外加总线操作寄存器进行传递。

4 FIFO PCI总线控制的数据传送方式

在S5933内部有两个独立的、深度为32×8的FIFO数据通道。一个是用于PCI总线到外加数据总线的数据传送,另一个是用于外加总线到PCI总线的数据传送。两个FIFO都可以支持PCI主控及突发传输。每一个FIFO有一个地址指针和传送计数器,用来实现PCI数据传送。总线控制的结构如图4所示。

FIFO PCI总线主设备数据传输是通过两个双字节的FIFO中的一个进行的。在一次数据传输中,哪个FIFO被选中,仅决定于数据流动的方向,并且对用户来说是透明的。S5933内部的编码逻辑会选择FIFO,由它来负责传输数据到另外的总线。FIFO传输数据的路径是由S5933内的操作配置寄存器决定的。

通过使用可编程字节,特权外加总线宽度,初始化总线控制,FIFO可以被PCI或外加总线配置。可编程字节允许FIFO以8位、16位或32位的宽度运行。主CPU或外加逻辑可以配置S5933,从而使独立的地址寄存器和数据寄存器工作,它们将会载入PCI存储器地址指针和读写的字节数目。数据可以在两总线间传输,并且对PCI主处理器是透明的。

FIFO配置位可以决定进出数据位16位、32位或64位的Endian转换,Endian转换允许外加的处理器和主设备以本身的Endian格式传输数据。另外一些配置位决定外加总线是8位、16位还是32位。16位总线配置内部控制了对FIFO数据先DWORD的高16位,后DWORD的低16位的交替访问。当接近的字节被访问时,FIFO指针就会更新,保证数据的有效传递。

5 结语

AMCCS5933是一种功能强大的PCI总线接口控制芯片,它所提供的三种数据传送方式可以在多种场合下加以总线的应用,通过简单的编程、配置,可以方便地完成PCI总线的扩展开发,简化开发过程并能提高可靠性,具有一定的开发应用价值。

参考文献

[1] 张平,刘寄,伍卫华.S5933专用芯片应用于数据采集系统研究与设计[J].重庆大学学报(自然科学版),2006,29(10):69-73.

[2] 杨光,万振凯.基于S5933芯片的PCI总线的接口设计[J].仪器仪表用户,2008,15(6):120-122.

[3] 王生祥,勾瑞.基于PCI局部总线的数据采集卡的设计[J].仪表技术与传感器 2001(10):21-24.

[4] 沈发江,王英民,郑琨.PCI总线接口S5933外加FIFO的连续数据发送板设计[J].微型电脑应用2005,1(10):27-29.

[5] AMCC S5933 PCI Controller Data Book, Applied Micro Circuits Corporation,1996.

猜你喜欢
传输数据字节寄存器
基于单片机的物联网传输数据高并发读写系统设计
No.8 字节跳动将推出独立出口电商APP
基于深度强化学习的物联网传输数据实时调度方法
Lite寄存器模型的设计与实现
No.10 “字节跳动手机”要来了?
苹果专利可采用光纤输出灯光并传输数据将光纤隐藏于车辆部件内
简谈MC7字节码
分簇结构向量寄存器分配策略研究*
高速数模转换器AD9779/AD9788的应用
一种可重构线性反馈移位寄存器设计