reference: https://blog.csdn.net/shanghaiqianlun/article/details/50545581

1.      PCIe信号

名称

类型

描述

PCTP[3:0]

PCTN[3:0]

PCIE_O

PCIe端口的差分发送数据

PCRP[3:0]

PCRN[3:0]

PCIE_I

PCIe端口的差分接收数据

PCCLKP

PCCLKN

DIFF_I

PCIe参考时钟输入

当在PCIe公共时钟模式(CLKMODE为高),PCCLKP/N要求时钟频率是100MHz

当在PCIe非公共时钟模式(CLKMOD为低),PCCLKP/N要求的时钟频率由CLKSEL[1:0]来选择,且在REFCLKP/N上的时钟频率也应该与PCCLK一样。

PCRSTOn

IO

正常模式是输出模式,在测试模式是输入。

作为一个异步有效为低的复位输出,在下面两种情况下这个脚输出低:

l PCIe端口检测到热复位

l PCIe端口是DL_DOWN

PCCLK可来自于PCIe接口上的参考时钟信号,也可以来自:

ICS841N254I的QB0、QB1的输出时钟是一样的。

2.S-RIO信号

名称

类型

描述

SRTP[3:0]

SRTN[3:0]

SRIO_O

S-RIO端口的差分发送数据

SRRP[3:0]

SRRN[3:0]

SRIO_I

S-RIO端口的差分接收数据

SRRSTOn

IO

正常操作的时候,是输入;测试模式时为输入

作为一个有效为低的异步复位输出,在下面两种情况下输出为低:

l 当接收到4个连续的S-RIO复位符号的时候,这个脚为低。SELF_RST

l RapidIO PLM端口实现规定的控制寄存器SELF_RST置为1时。

MECS

IO-PD

异步S-RIO多播事件控制符号。它的方向由设备控制寄存器MECS_O位来控制。

作为输入,一个上升沿或者下降沿触发S-RIO MECS在S-RIO链路上发送。使用RIO_SP0_MECS_FWD.SUBSCRIPTION/MULT_CS和RIO_EM_MECS_TRIG_EN.CMD_EN来选择CMD域,应当与MECS一起设置。多MECSs与CMD域不同,它可以通过设置相应的这些域来产生。

作为输出,这个信号在收到S-RIO MECS是触发,为了触发MECS输入,仅需一个MECS_CMD值被选择。设置RIO_EM_MECS_CAP_EN.CMD_EN来选择CMD值将被传播到MECS脚,注意:在CMD_EN里,仅1bit应该被使能。

2.      通用信号

名称

类型

描述

RSTn

I-PU

器件复位,如果断言这个信号,则Tsi721芯片的所有逻辑都会被复位。

REFCLKP

REFCLKN

DIFF_I

S-RIO参考时钟输入,REFCLK要求的时钟频率是由CLKSEL选择的

REFCLK的产生:

复位信号是上电复位与按钮复位的组合:

3.      I2C信号

I2C接口用于:

  • 作为一个master,从EEPROM中下载配置

  • 作为一个master,允许PCEe RC或者S-RIO host配置其它I2C扩展器件

  • 作为一个slave,将内部寄存器空间呈现给I2Cmaster(注意:用于实验室调试,或者另一个master-driven初始化)

名称

类型

描述

I2C_SCL

IO-OD

I2C接口的时钟脚,最大100KHz

I2C_SDA

IO-OD

I2C接口的数据脚

在评估板上,是通过一个FT2232接口芯片来制造一个I2C接口。

4.      JTAG和测试接口信号

名称

类型

描述

TCK

I-PD

IEEE 1149.1/1149.6测试存取端口,时钟输入

TDI

I-PU

IEEE 1149.1/1149.6测试存取端口,串行数据输入

TDO

O

IEEE 1149.1/1149.6测试存取端口,串行数据输出

TMS

I-PU

IEEE 1149.1/1149.6测试存取端口,测试模式选择

TRSTn

I-PU

IEEE 1149.1/1149.6测试存取端口,复位输入

在RSTn断言期间,这个输入必须被断言,然后它可以处于其它状态

TEST_ON

I-PD

测试模式脚,为低或者NC是正常操作模式

TEST_BCE

I-PU

边界扫描兼容使能模式,这个输入辅助1149.6测试,在器件的正常操作模式,它必须系到VDDIO(或NC,因为这个脚内部有上拉)

0=JTAG链包括SerDes寄存器,SerDes寄存器可通过JTAG脚来存取。用于在ATE期间和实验室调试时使用一个外部JTAG控制器对SerDes寄存器调试。

1=JTAG链不包括SerDes寄存器,SerDes寄存器可存取,是通过BAR0存取内部寄存器总线

TEST_BIDIR_CTL

I-PU

测试模式脚,为高或者NC是正常操作模式

TDO、TCK、TDI、TMS、TRST是JTAG信号,在评估板里是通过一个FT2232接口芯片来制造一个JTAG接口的。

TEST_ON接地或悬空;TEST_BIDIR_CTL悬空或接3.3V电源;TEST_BCE可以悬空(为1)或接地,通过一个跳线器来选择。

5.      GPIO信号

名称

类型

描述

GPIO[15:0]

IO

异步通用IO。

l 每个GPIO可配置为通用目的的IO脚

l 每个脚都能配置为输入或者输出

l 当配置为输出时候,当BDMA/SMSG/PC2SR/SR2PC遇到一个不可纠正的ECC错误或者S-RIO MAC有一个非数据内存不可纠正的ECC错误时,GPIO[0]断言为高。

l 当配置为输出时,当Tsi721 PCIe端口不在数据链路有效状态的时候,GPIO[1]断言为高。

l 当配置为输出时,当Tsi721有一个有效的中断的时候,GPIO[2]断言为高。

l 当配置为输出时,GPIO[15:3]的状态可以用软件编程。

GPIO[12:0]用于上电脚,见下一个表,这些信号在RSTn解除断言后,它们必须保持状态稳定并持续4000 REFCLKP/REFCLKN时钟周期。复位后,它们的状态被忽略。

GPIO映射为上电信号:

GPIIO主功能

上电脚(次功能)

GPIO[3:0]

I2C_SA[3:0]

GPIO[4]

I2C_DISABLE

GPIO[5]

I2C_SEL

GPIO[6]

I2C_MA

GPIO[7]

SP_SWAP_RX

GPIO[8]

SP_SWAP_TX

GPIO[9]

SP_HOST

GPIO[10]

SP_DEVID

GPIO[12:11]

CLK_SEL[1:0]

6.      上电信号

名称

类型

描绘

CLKMOD

I-PU

时钟模式,为高的时候,Tsi721使用“PCIe common clocked mode”,当为低的时候,使用“PCIe non-common clocked mode”,这是个静态信号

CLKSEL[1:0]

IO

REDCLKP/REFCLKN时钟频率选择;在PCIe non-commom clock mode下,PCCLKP/PCCLKN时钟频率选择。

l 0b11 = 125MHz

l 0b10 = 100MHz

l 001 = 156.25MHz

l 其他:保留

当使用100MHz的时候,S-RIO SerDes支持1.25/2.5/5Gbaud速率。

当使用125/156.25MHz的时候,S-RIO SerDes支持1.25/2.5/3.125/5Gbaud速率

如果使用100/125/156.25MHz时钟速率的时候,PCIe的SerDes支持2.5/5Gbaud速率

这个信号与GPIO[12:11]复用,是一个静态信号。

I2C_DISABLE

IO

禁止I2C寄存器复位后加载,当断言的时候,Tsi721并不企图通过I2C总线把EEPROM的内容加载到寄存器。

0=使能从EEPROM中加载

1=禁止从EEPROM中加载

这个信号与GPIO[4]复用,是一个静态信号。

I2C_MA

IO

I2C多字节地址模式,如果I2C_DISABLE=0(也就是说,从EEPROM中下载),那么:

0=Tsi721使用1个字节EEPROM地址

1=Tsi721使用2个字节EEPROM地址

否则,I2C_DISABLE=1(不从EEPROM中加载)

0=Tsi721复位后由PCIe RC加载

1=Tsi721复位后由外部I2C master加载

这个信号与GPIO[6]复用,是一个静态信号。

I2C_SA[3:0]

IO

I2C从地址,当Tsi721作为I2C slave的时候,这些脚的值代表I2C的7bit地址

这些地址,与I2C_SEL信号一起,确定引导EEPROM的地址。

这些脚的值复位后可以通过I2C Slave configuration Register来重新编程。

这个信号与GPIO[3:0]复用,是一个静态信号。

I2C_SEL

IO

I2C脚选择,与I2C_SA[1,0]脚一起确定Tsi721引导EEPROM的7位地址中的低2位。

当断言的时候,I2C_SA[1:0]代表EEPROM从地址的低2位,Tsi721作为I2C master从EEPROM中下载,EEPROM从地址如下:

A[6..2]=10100,A1=I2C_SA[1],A0=I2C_SA[0]

当解除断言的时候,I2C_SA[1:0]被忽略,EEPROM的低两位为缺省的00,EEPROM地址可以由软件来重载初始化

这个信号与GPIO[5]复用,是一个静态信号。

SP_DEVID

IO

S-RIO base deviceID控制

当SP_HOST脚为高的时候,它配置RapidIO Base deviceID CSR的复位值:CSR的BASE_ID的最低位LSB和LAR_BASE_ID域被设置为SP_DEVID,而这些域的其它位设置为0。

当SP_HOST脚为低,SP_DEVID为高的时候,它配置RapidIO Base deviceID CSR的复位值:CSR的BASE_ID和LAR_BASE_ID域被设置为1。

当SP_HOST脚为低,SP_DEVID为低的时候,它配置RapidIO Base deviceID CSR的复位值:CSR的BASE_ID域设置为0xFE,LAR_BASE_ID域被设置为0x00FE。

这个信号与GPIO[10]复用,是一个静态信号。

SP_HOST

IO

S-RIO host/slave控制,这个信号决定RapidIO端口通用控制CSR的HOST位:

0=Tsi721是S-RIO slave

1=Tsi721是S-RIO host

这个信号与GPIO[9]复用,是一个静态信号。

SP_SWAP_RX

IO

S-RIO接收Lane交换,这个信号确定RapidIO PLM端口实现规定控制寄存器的SWAP_RX位的复位值:

0=禁止S-RIO端口接收Lane交换,也就是说设置SWAP_RX[1:0]寄存器位为0b00。

1=使能S-RIO端口接收4x Lane交换,也就是说设置SWAP_RX[1:0]寄存器位为0b10。

这个信号与GPIO[7]复用。

SP_SWAP_TX

IO

S-RIO发送Lane交换,这个信号确定RapidIO PLM端口实现规定控制寄存器的SWAP_TX位的复位值:

0=禁止S-RIO端口发送Lane交换

1=使能S-RIO端口发送Lane交换

这个信号与GPIO[8]复用,是一个静态信号。

SR_BOOT

I-PD

从S-RIO中Boot,当I2C_DISABLE也为高的时候,这个信号断言为高。

1=Tsi721 S-RIO链路在基础复位之后能立即启动训练,Tsi721自动设置器件控制寄存器的SRBOOT_CMPL位。

0=Tsi721 S-RIO链路在软件设置SRBOOT_CMPL位之后能立刻启动训练。

它是一个静态信号。

STRAP_RATE[2:0]

I-PU

S-RIO链路速率,这些信号控制RapidIO端口控制2 CSR的BAUD_SEL域的复位值。注意,BAUD_SEL编码不同于STRAP_RATE:

l 0b111=5Gbaud

l 0b110=2.5Gbaud

l 0b101=1.25Gbaud

l 0b010=3.125Gbaud

l 其它:保留

这是静态信号。

7.电源

名称

类型

描述

VDD

电源

1.0V核电源

VDDIO

电源

3.3V/2.5V电源,用于LVTTL IO

AVDD10

电源

1.0V PCIe和S-RIO SerDes模拟电源

AVDD25

电源

2.5V PCIe和S-RIO SerDes模拟电源

AVTT

电源

1.5V PCIe和S-RIO SerDes发射器模拟电源

VSS

数字和模拟共同的地

PCBIAS

IO

对应的PCIe SerDes偏置电流参考。PLL矫正电路,需要通过200欧姆1% 100ppm/C精密电阻将这个脚连接到地,并要远离任何噪声源

SRBIAS

IO

对应的S-RIO SerDes偏置电流参考。PLL矫正电路,需要通过200欧姆1% 100ppm/C精密电阻将这个脚连接到地,并要远离任何噪声源

VDD和AVDD10必须是两个电源平面,通过磁珠隔开:

Tsi721信号及处理(转)的更多相关文章

  1. Boost信号/槽signals2

    信号槽是Qt框架中一个重要的部分,主要用来解耦一组互相协作的类,使用起来非常方便.项目中有同事引入了第三方的信号槽机制,其实Boost本身就有信号/槽,而且Boost的模块相对来说更稳定. signa ...

  2. 为什么房间的 Wi-Fi 信号这么差

    最近把家里主卧整成了个小影院,由于之前房子装修时网线端口与电源插口布置太少,导致家庭网络架设变得麻烦起来,最后终于通过「无线中继」技术达到了全屋满格 Wi-Fi 的效果. 在 Wi-Fi 架设过程中, ...

  3. qt5中信号和槽的新语法

    qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget). connect(s ...

  4. C# - 多线程 之 信号系统

    基础概览 多线程之信号系统命名空间 using System.Threading; 线程同步类的继承层次关系图 终止状态和非终止状态 在终止状态下,被WaitOne()阻塞的线程会逐个得到释放.如果一 ...

  5. Qt信号与槽自动关联机制

    参考链接1:http://blog.csdn.net/skyhawk452/article/details/6121407 参考链接2:http://blog.csdn.net/memory_exce ...

  6. Linux 信号(二)—— signal 函数

    弗洛伊德认为:要解决这些苦恼,当事人就要通过回忆并理解自己早期的童年经历,来获得对潜意识冲突的顿悟.弗洛伊德的疗法被称为“精神分析” (psychoanalysis),在 20 世纪的很长一段时间被心 ...

  7. Linux 信号(一)—— kill 函数

    世事并无好坏之分,全看我们怎么去想.—— 哈姆雷特·第二幕第二景 ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 #include <signal.h ...

  8. django 缓存、中间件、信号、CSRF 详解

    中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项 ...

  9. PHP进程通信基础——信号

    PHP进程通信基础--信号 使用信号通信.可以使用kill -l 来查看当前系统的信号类型. 每个信号所代表的的详细含义,请查看我的这篇博客:http://www.cnblogs.com/roverl ...

随机推荐

  1. C#打印格式

    一:C#代码直接打印pdf文件(打印质保书pdf文件) 引用: 代码注释很详细了. private void btn_pdf_Click(object sender, RoutedEventArgs ...

  2. 非常棒的——python Deep learning 学习笔记

    https://www.cnblogs.com/zhhfan/p/9985991.html

  3. p1460 Healthy Holsteins

    列举所有的子集找最优就行. #include <iostream> #include <cstdio> #include <cmath> #include < ...

  4. Search中的剪枝-奇偶剪枝

    设有一矩阵如下: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 从为 0 的格子走一步,必然走向为 1 的格子 .//只能走四 ...

  5. python3 mail

    # !usr/bin/python3# -*-coding=UTF-8-*-import smtplib # python 对SMTP的支持,smtplib这个库负责发送邮件from email.mi ...

  6. 『TensorFlow』SSD源码学习_其八:网络训练

    Fork版本项目地址:SSD 作者使用了分布式训练的写法,这使得训练部分代码异常臃肿,我给出了部分注释.我对于多机分布式并不很熟,而且不是重点,所以不过多介绍,简单的给出一点训练中作者的优化手段,包含 ...

  7. Matlab-2:二分法工具箱

    function g=dichotomy(f,tol) %this routine uses bisection to find a zero of user-supplied %continuous ...

  8. 伪分布式&&完全分布式&&高可用(zookeeper)的配置文件内容

    [伪分布式] ①[core-site.xml] <configuration> <property> <name>fs.defaultFS</name> ...

  9. (三)使用链式数据实现包(java)

    目标: 1) 描述数据的链式组织方式 2) 描述如何在链式节点链的开头添加新节点 3) 描述如何删除链式节点链的首节点 4) 描述如何在链式节点链中找到某个数据 5) 使用链式节点链实现ADT包 6) ...

  10. java 大数处理

    头文件:import java.util.*; import java.math.*; Scanner cin = Scanner (System.in);//读入 while(cin.hasNext ...