探索DS4550:I2C与JTAG接口的9位非易失性I/O扩展器

电子说

1.4w人已加入

描述

探索DS4550:I2C与JTAG接口的9位非易失性I/O扩展器

一、引言

在电子设计领域,对于I/O扩展和非易失性存储的需求日益增长。DS4550作为一款具备I2C和JTAG接口的9位非易失性I/O扩展器,同时还带有64字节的非易失性用户存储器,为工程师们提供了一种灵活且强大的解决方案。今天,我们就来深入了解这款芯片的特性、应用及使用方法。

文件下载:DS4550.pdf

二、DS4550的概述

2.1 基本功能

DS4550具有9个双向、非易失性的输入/输出(I/O)引脚,以及64字节的EEPROM用户存储器。这些I/O引脚和用户存储器既可以通过I2C兼容的串行总线访问,也能通过JTAG接口进行操作。它为硬件跳线和机械开关提供了数字化可编程的替代方案,每个I/O引脚都能独立配置,输出为开漏形式且带有可选上拉电阻。

2.2 应用场景

  • RAM-Based FPGA Bank Switching for Multiple Profiles:用于多配置文件的基于RAM的FPGA银行切换。
  • Selecting Between Boot Flash:在启动闪存之间进行选择。
  • Setting ASIC Configurations/Profiles Servers:设置ASIC配置/配置文件服务器。
  • Network Storage Routers:网络存储路由器。
  • Telecom Equipment:电信设备。
  • PC Peripherals:PC外设。

三、关键特性

3.1 可编程替代方案

DS4550可替代机械跳线和开关,提供更灵活的数字控制方式。

3.2 非易失性I/O和存储器

  • 9个非易失性输入/输出引脚,确保设备在掉电后能保持设定状态。
  • 64字节的非易失性用户存储器(EEPROM),可存储重要数据。

    3.3 接口兼容性

    支持I2C兼容的串行接口和JTAG接口,方便与不同的系统进行通信。

    3.4 多设备连接

    在同一I2C总线上最多可进行8个设备的多节点连接。

    3.5 电气特性

  • 开漏输出,带有可配置的上拉电阻。
  • 输出能够吸收高达16mA的电流。
  • 低功耗设计,宽工作电压范围(2.7V - 5.5V)和工作温度范围(-40°C - +85°C)。

四、电气参数

4.1 绝对最大额定值

  • (VCC)、SDA和SCL引脚相对于地的电压范围为 -0.5V 至 +6.0V。
  • A0、A1、A2、TCK、TMS、TDI和I/O_n [n = 0 to 8]引脚相对于地的电压范围为 -0.5V 至 (VCC + 0.5V),但不超过 +6.0V。
  • 工作温度范围为 -40°C 至 +85°C,EEPROM编程温度范围为 0°C 至 +70°C,存储温度范围为 -55°C 至 +125°C。

4.2 推荐直流工作条件

  • 电源电压 (VCC) 范围为 +2.7V 至 +5.5V。
  • 输入逻辑1的电压 (VIH) 为 0.7 x (VCC),输入逻辑0的电压 (VIL) 为 -0.3V 至 0.3 x (VCC)。

4.3 直流电气特性

参数 符号 条件 最小值 典型值 最大值 单位
待机电流 (I_{STBY}) 2 10 (mu A)
输入泄漏电流 (I_{L}) -1.0 +1.0 (mu A)
每个I/O引脚的输入电流 (I_{I/O}) 0.4 < (V{I/O}) < 0.9 x (V{CC}) -1.0 +1.0 (mu A)
低电平输出电压(SDA) (V_{OL SDA}) 3mA灌电流 0.4 V
低电平输出电压(SDA) (V_{OL SDA}) 6mA灌电流 0.6 V
I/O引脚低电平输出电压 (V_{OL I/O}) 16mA灌电流 0.4 V
低电平输出电压(TDO) (V_{OL TDO}) 4mA灌电流 0.4 V
高电平输出电压(TDO) (V_{OH TDO}) 1mA源电流 2.4 V
I/O引脚的上拉电阻 (R_{PU}) 4.0 5.5 7.5
TMS、TDI的上拉电阻 (R_{JPU}) 7.5 10 12.5
I/O电容 (C_{I/O}) 10 pF
上电复位电压 (V_{POR}) 1.6 V

4.4 交流电气特性

4.4.1 I2C接口

参数 符号 条件 最小值 典型值 最大值 单位
SCL时钟频率 (f_{SCL}) 0 400 kHz
停止和启动条件之间的总线空闲时间 (t_{BUF}) 1.3 (mu s)
(重复)启动条件的保持时间 (t_{HD:STA}) 0.6 (mu s)
SCL的低电平周期 (t_{LOW}) 1.3 (mu s)
SCL的高电平周期 (t_{HIGH}) 0.6 (mu s)
数据保持时间 (t_{HD:DAT}) 0 0.9 (mu s)
数据建立时间 (t_{SU:DAT}) 100 ns
启动建立时间 (t_{SU:STA}) 0.6 (mu s)
SDA和SCL的上升时间 (t_{R}) 20 + 0.1(C_{B}) 300 ns
SDA和SCL的下降时间 (t_{F}) 20 + 0.1(C_{B}) 300 ns
停止建立时间 (t_{SU:STO}) 0.6 (mu s)
SDA和SCL的电容负载 (C_{B}) 400 pF
EEPROM写入时间 (t_{WR}) I2C EEPROM写入 10 20 ms

4.4.2 JTAG接口

参数 符号 条件 最小值 典型值 最大值 单位
TCK时钟周期 (t_{1}) 1000 ns
TCK时钟高/低时间 (t{2})、(t{3}) 50 500 ns
TCK到TDI、TMS的建立时间 (t_{4}) 15 ns
TCK到TDI、TMS的保持时间 (t_{5}) 10 ns
TCK到TDO的延迟 (t_{6}) 50 ns
TCK到TDO高阻态的延迟 (t_{7}) 50 ns
EEPROM写入时间 (t_{WR}) JTAG EEPROM写入 10 20 ms

五、引脚描述

引脚 名称 功能
1 (I/O_0) 输入/输出0,双向I/O引脚
2 (I/O_1) 输入/输出1,双向I/O引脚
3 (I/O_2) 输入/输出2,双向I/O引脚
4 (I/O_3) 输入/输出3,双向I/O引脚
5 (I/O_4) 输入/输出4,双向I/O引脚
6 A0 I2C地址输入,与A1、A2共同确定设备的I2C从地址
7 A1 I2C地址输入,与A0、A2共同确定设备的I2C从地址
8 TCK JTAG测试时钟,用于在上升沿将数据移入TDI,在下降沿将数据移出TDO
9 TMS JTAG测试模式选择,在TCK上升沿采样,用于将TAP置于不同的JTAG状态,该引脚有内部上拉电阻
10 (V_{CC}) 电源电压
11 SDA I2C串行数据开漏输入/输出
12 SCL I2C串行时钟输入
13 TDI JTAG测试数据输入,测试指令和数据在TCK上升沿时钟输入该引脚,该引脚有内部上拉电阻
14 TDO JTAG测试数据输出,测试指令和数据在TCK下降沿时钟输出该引脚,若不使用应开路
15 A2 I2C地址输入,与A0、A1共同确定设备的I2C从地址
16 (I/O_5) 输入/输出5,双向I/O引脚
17 (I/O_6) 输入/输出6,双向I/O引脚
18 (I/O_7) 输入/输出7,双向I/O引脚
19 (I/O_8) 输入/输出8,双向I/O引脚
20 GND

六、内存映射和类型

DS4550的内存分为三种类型:EEPROM、SRAM-shadowed EEPROM和SRAM。

6.1 EEPROM

地址范围为 00h 至 3Fh,是64字节的通用用户EEPROM,写入这些位置会触发EEPROM写入周期。

6.2 SRAM-shadowed EEPROM

地址范围为 E8h 至 EFh、F0h、F1h、F2h、F3h、F4h,可通过配置寄存器中的SEE位设置为两种模式。当 (SEE = 0) 时,像EEPROM一样工作;当 (SEE = 1) 时,写入影子SRAM,避免了EEPROM写入时间和磨损问题。

6.3 SRAM

地址范围为 F8h、F9h、FAh 至 FFh,包括I/O状态寄存器和6字节的通用SRAM。

七、I2C和JTAG操作

7.1 I2C操作

7.1.1 基本概念

  • 主设备:控制总线上的从设备,生成SCL时钟脉冲、起始和停止条件。
  • 从设备:根据主设备的请求发送和接收数据。
  • 总线空闲:SDA和SCL都处于高电平的时间段。
  • 起始条件:主设备在SCL为高电平时将SDA从高电平拉低。
  • 停止条件:主设备在SCL为高电平时将SDA从低电平拉高。
  • 重复起始条件:用于在一次数据传输结束后立即开始新的数据传输。
  • 位写入:SDA在SCL低电平时进行转换,数据在SCL高电平期间保持有效。
  • 位读取:主设备在读取位之前需要释放SDA总线。
  • 确认(ACK和NACK):数据传输的第9位用于确认,0表示ACK,1表示NACK。

7.1.2 通信方式

  • 单字节写入:主设备生成起始条件,写入从地址字节( (R / bar{W}=0) )、内存地址、数据字节,最后生成停止条件。
  • 多字节写入:主设备生成起始条件,写入从地址字节( (R / bar{W}=0) )、内存地址,最多写入8个数据字节,最后生成停止条件。
  • 单字节读取:主设备生成起始条件,写入从地址字节( (R / bar{W}=1) ),读取数据字节并发送NACK,最后生成停止条件。
  • 多字节读取:主设备在读取每个字节后发送ACK,直到读取最后一个字节时发送NACK,然后生成停止条件。

7.2 JTAG操作

DS4550的JTAG端口包含测试访问端口(TAP)控制器状态机。TAP控制器是一个有限状态机,根据TCK上升沿时TMS的逻辑电平进行状态转换。

7.2.1 指令寄存器

指令寄存器包含一个4位的移位寄存器和锁存并行输出。DS4550支持多种指令,如SAMPLE/PRELOAD、BYPASS、EXTEST等,每种指令有对应的操作和功能。

7.2.2 测试数据寄存器

  • 旁路寄存器:1位移位寄存器,用于BYPASS、CLAMP和HIGHZ指令。
  • 边界扫描寄存器:33位寄存器,包含移位寄存器路径和锁存并行输出。
  • 识别寄存器:32位寄存器,用于IDCODE指令。
  • 内存地址寄存器:8位寄存器,用于存储要读写的内存地址。
  • 内存读取寄存器:8位只读寄存器,用于读取内存数据。
  • 内存写入寄存器:8位只写寄存器,用于写入内存数据。

八、应用注意事项

8.1 电源去耦

为了获得最佳性能,建议在IC电源引脚使用去耦电容,典型值为0.01uF和0.1uF,使用高质量的陶瓷表面贴装电容,并尽可能靠近IC的 (VCC) 和GND引脚安装,以减少引线电感。

8.2 EEPROM写入

使用I2C或JTAG接口进行EEPROM写入时,即使只修改一页中的一个字节,DS4550也会写入整个EEPROM内存页。在写入EEPROM后,需要等待EEPROM写入时间( (t_{WR}) ),可以通过确认轮询的方式在设备准备好后继续通信。

九、总结

DS4550作为一款功能强大的I/O扩展器,提供了I2C和JTAG两种接口,具有非易失性I/O和64字节的用户存储器,适用于多种应用场景。通过深入了解其电气参数、引脚功能、内存映射和操作方式,工程师们可以更好地利用这款芯片进行电子设计。你在使用DS4550的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

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

全部0条评论

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

×
20
完善资料,
赚取积分