I2C Host Adapter (1)
是一家领先的嵌入式系统工具供应商,可简化各种通信协议的开发和调试。公司提供一系列产品,旨在帮助工程师和开发人员更高效地使用 I3C、I2C等协议。
I2C协议诞生到现在已经快50年了,然而现有市面上的I2C Adapter还没有简单好用,可以测试I2C timing 和测试 Filter的解决方案,现有的解决一般都是通过DTG或者ATE来测试,繁琐,成本高,或者有些公司就放弃了对这些参数的测试,基本上靠Designer 设计经验来保证上面的参数的正确性,对客户来说,凡是没有经过I2C timing 和 Filter 有效性测试的芯片产品,其实都可能会有潜在的问题,产品可靠性不能保证。正是为了解决客户的这些痛点,我们推出了自主研发的I2C Adpter。为了帮助客户更快熟悉我们的产品,我们通过专栏的一些列文章进行讲解。
一 产品设计介绍
为了解决上面的用户痛点,我们对产品设计做了独特创新,设计了两个I2C master controller同时放置于Adapter中,如下图:
Easyi3C Tower I2C Host Adapter包括两个 I2C 主控制器。一个是主Controller;另一个是 Debug Controller。两个控制器位于同一总线上。您可以调用其中一个控制器的任何 API 来发送 I2C 协议。主控制器专为正常运行而设计,保证Host能正常完成如读写等操作。Debug controller 旨在测试特定的协议参数。可以使用 Debug controller 设置不同的时序参数,通过 Debug controller API 写入数据,然后通过 Main controller API 回读数据进行验证。通过这种独特的创新设计,可以促使验证时许参数过程能通过自动化 python 脚本完成,从而简化验证过程,迅速可以扫描到不同时序参数的上下边界,从而可以迅速得到slave芯片的能正常的工作timing 时序范围。
下面为 Main Controller 可以用使用的一些API:
1, 配置API
2. 读写API
这些 API 提供的读/写功能遵循原始的 I2C 读/写协议。地址字节之后的所有数据仅被视为数据EasyI3C API 中没有引入寄存器概念。这是为了给不同的使用提供更多的自由。用户可以使用Easyi3C 读/写 API 和适当的读/写标志,根据他们的设备规范来编写寄存器读/写 API。
上面都是一些比较常规的操作,市面上的产品基本上都已经有的常规功能,大家应该比较熟悉了,我们介绍的比较简,想了解更详细的介绍,可以到我们官网上下载更完整的文档。
下面重点介绍我们和其他产品不一样的地方。
Debug Controller APIs:
为了测试在MIPI协议中I2C不同的timing 参数和 filter,如下图所示:
I2C Mode Timing
我们的debug controller提供支持对下面的参数进行配置:
为了设置上面参数,我们提供了下面的API,可以进行动态设置:
同时我们提供了和标准的读写的类似的一组读写API供用户使用:
具体详细使用,我们会在后面介绍,如果想更多了解,可以去官网下载产品相关资料。
为了降低客户使用我们产品的门槛,上面测试的功能,可以通过我们的Tower Console GUI实现调试,下面我们介绍Tower Console GUI中如何调试。