扩展系统信息总线控制应用程序

描述

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如何在预定义的单芯片收发器组中轻松更新某些寄存器的状态,以及其他用户可选择的报警状态信息。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分