3线扩展系统信息总线(ESIB)功能允许在单个读取周期内访问多个单芯片收发器(SCT)的中断状态或其他用户可选报警状态信息。
介绍
本应用笔记旨在说明3线扩展系统信息总线(ESIB)功能如何在单个读取周期内访问多个单芯片收发器(SCT)的中断状态或其他用户可选报警状态信息。这允许从一组最多八个 SCT 端口简化对某些状态寄存器的访问,主机不需要单独轮询每个端口。ESIB功能最初在DS2155和DS21Q55上提供,但任何具有此功能的产品都可以加入ESIB组,因为ESIB组内的所有SCT都是相互独立的。
扩展系统信息总线 (ESIB)
ESIB 允许多达 8 个 SCT 端口共享一条 8 位 CPU 总线,以便通过单个总线读取将警报和中断状态报告为一个组。有两个控制寄存器(ESIBCR1和ESIBCR2)和四个信息寄存器(ESIB1,ESIB2,ESIB3和ESIB4)。例如,可以将8个DS2155(或2个DS21Q55)分组到一个ESIB组中。对 ESIB 组任何成员的 ESIB1 寄存器的单次读取都会生成所有八个端口的中断状态。通过 ESIB2,主机可以收集组所有成员的同步状态。ESIB3 和 ESIB4 可以编程为逐端口报告各种警报。形成 ESIB 组涉及三个器件引脚:ESIBS0、ESIBS1 和 ESIBRD。ESIBS0、ESIBS1 和 ESIBRD 必须提供 10kΩ 上拉电阻。图1所示为四个DS2155器件连接在一个ESIB组中的示例。
ESIB Pins | |
信号名称: | ESIBS0 |
信号说明: | 扩展系统信息总线选择 0 |
信号类型: | 输入/输出 |
用于将 2 到 8 个 SCT 分组到总线共享 模式,以进行报警和状态报告。 |
信号名称: | ESIBS1 |
信号说明: | 扩展系统信息总线选择 1 |
信号类型: | 输入/输出 |
用于将 2 到 8 个 SCT 分组到总线共享 模式,以进行报警和状态报告。 |
信号名称: | 埃西卜德 |
信号说明: | 扩展系统信息总线读取 |
信号类型: | 输入/输出 |
用于将 2 到 8 个 SCT 分组到总线共享 模式,以进行报警和状态报告。 |
图1.ESIB 引脚连接。
中断处理
状态寄存器是具有 ESIB 功能的设备中唯一的中断源。上电时,全部可写 寄存器会自动清除。由于 IMRx 寄存器中的位必须设置为 = 1 以允许特定事件引起中断,因此在主机选择哪些事件是产品中断之前,不会发生中断。由于可能有许多中断源,因此可以使用多个 ESIB 函数来帮助整理和识别导致中断的事件。发生中断时,主机应首先读取 IIR1 和 IIR2 寄存器(中断信息寄存器),以确定哪个(或多个)状态寄存器正在产生中断。一旦确定,就可以检查单个状态登记册以确定确切的来源。发生中断后,中断处理程序例程应设置 INTDIS 位 (CCR3.6) 以停止中断引脚上的进一步活动。确定并处理所有中断后,中断处理程序例程应通过设置 INTDIS 位 = 0 来重新启用中断。
ESIB 寄存器 | |
寄存器名称: | ESIBCR1 |
寄存器说明: | 扩展系统信息总线控制寄存器 1 |
注册地址: | B0小时 |
位# | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名字 | -- | -- | -- | -- | ESIBSEL2 | ESIBSEL1 | ESIBSEL0 | ESIEN |
Default | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位 0/扩展系统信息总线使能 (ESIEN)
0 = 禁用
1 = 启用
位 1 至 3/输出数据总线线路选择(ESIBSEL0 至 ESIBSEL2)。这些位告诉SCT在访问其中一个ESIB信息寄存器时输出ESIB数据的数据总线位。ESIB 组中的每个端口都必须选择唯一的位。
ESIBSEL2 | ESIBSEL1 | ESIBSEL0 | 总线位驱动 |
0 | 0 | 0 | AD0 |
0 | 0 | 1 | AD1 |
0 | 1 | 0 | AD2 |
0 | 1 | 1 | AD3 |
1 | 0 | 0 | AD4 |
1 | 0 | 1 | AD5 |
1 | 1 | 0 | AD6 |
1 | 1 | 1 | Default |
位 4 到 7/未使用,必须设置为 0 才能正常运行
寄存器名称: | ESIBCR2 |
寄存器说明: | 扩展系统信息总线控制寄存器 2 |
注册地址: | B1小时 |
位# | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名字 | -- | ESI4SEL2 | ESI4SEL1 | ESI4SEL0 | -- | ESI3SEL2 | ESI3SEL1 | ESI3SEL0 |
Default | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位 0 至 2/地址 ESI3 数据输出选择(ESI3SEL0 至 ESI3SEL2)。这些位选择状态是什么 SCT 在总线读取操作期间解码 ESI3 地址时的输出。
ESI3SEL2 | ESI3SEL1 | ESI3SEL0 | 状态输出 | |
T1 模式 | E1 模式 | |||
0 | 0 | 0 | RBL | RUA1 |
0 | 0 | 1 | RYEL | RRA |
0 | 1 | 0 | LUP | RDMA |
0 | 1 | 1 | LDN | V52LNK |
1 | 0 | 0 | SIGCHG | SIGCHG |
1 | 0 | 1 | ESSLIP | ESSLIP |
1 | 1 | 0 | -- | -- |
1 | 1 | 1 | -- | -- |
位 3/未使用,必须设置为 0 才能正常运行
位 4 至 6/地址 ESI4 数据输出选择(ESI4SEL0 至 ESI4SEL2)。这些位选择状态是什么 SCT 在总线读取操作期间解码 ESI4 地址时的输出。
ESI4SEL2 | ESI4SEL1 | ESI4SEL0 | 状态输出 | |
T1 模式 | E1 模式 | |||
0 | 0 | 0 | RBL | RUA1 |
0 | 0 | 1 | RYEL | RRA |
0 | 1 | 0 | LUP | RDMA |
0 | 1 | 1 | LDN | V52LNK |
1 | 0 | 0 | SIGCHG | SIGCHG |
1 | 0 | 1 | ESSLIP | ESSLIP |
1 | 1 | 0 | -- | -- |
1 | 1 | 1 | -- | -- |
Bit7/未使用,必须设置为 0 才能正常运行
寄存器名称: | ESIB1 |
寄存器说明: | 扩展系统信息总线寄存器 1 |
注册地址: | B2小时 |
位# | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Name | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn |
Default | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位 0 到 7/设备中断状态 (DISn)。使参与 ESIB 组的所有设备输出其 由 ESIBCR1 的 ESIBSEL0 至 ESIBSEL2 位选择的相应数据总线上的中断状态 注册。
寄存器名称: | ESIB2 |
寄存器说明: | 扩展系统信息总线寄存器 2 |
注册地址: | B3小时 |
位# | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名字 | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn | DRLOSn |
违约 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位 0 至 7/设备接收同步丢失 (DRLOSn)。使参与 ESIB 组的所有设备在由 ESIBSEL0 到 ESIBCR1 寄存器的 ESIBSEL2 位选择的相应数据总线上输出其帧同步状态。
寄存器名称: | ESIB3 |
寄存器说明: | 扩展系统信息总线寄存器 3 |
注册地址: | B4小时 |
位# | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名字 | UST1n | UST1n | UST1n | UST1n | UST1n | UST1n | UST1n | UST1n |
违约 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位 0 到 7/用户选择状态 1 (UST1n)。使参与 ESIB 组的所有设备在 ESIBCR2 寄存器的 ESIBSEL0 到 ESIBSEL2 位选择的相应数据总线上输出由 ESIBCR2 配置寄存器中的 ESI3SEL0 到 ESI3SEL2 位选择的状态或警报。
寄存器名称: | ESIB4 |
寄存器说明: | 扩展系统信息总线寄存器 4 |
注册地址: | B5小时 |
位# | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
名字 | UST2n | UST2n | UST2n | UST2n | UST2n | UST2n | UST2n | UST2n |
Default | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位 0 至 7/用户选择状态 2 (UST2n)。使参与 ESIB 组的所有设备在 ESIBCR2 寄存器的 ESIBSEL0 至 ESIBSEL2 位选择的相应数据总线上输出由 ESIBCR2 配置寄存器中的 ESI4SEL0 至 ESI4SEL2 位选择的状态或警报。
结论
本应用笔记展示了ESIB如何在预定义的单芯片收发器组中轻松更新某些寄存器的状态,以及其他用户可选择的报警状态信息。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !