当前位置:首页 > 物联网 > 工程监测仪器
[导读]发个方便测试I2C、SPI、1Wire接口的工具模块 总的思路是通过USB或者UART接口发送一些协议字符串,由模块转换成上面几种接口的硬件时序电信号,实现与这几种接口芯片、设备的快速测试。 首先声明一下,大家都是搞硬件开发的,这几种接口当然是很简单的事,但有些时候对于一个新的设备或者芯片的测试,有个现成的工具当然更顺手,节省时间,也更可靠嘛。

开发调试工具:USB转IIC/I2C/SPI/UART适配器模块可编程开发板

发个方便测试I2C、SPI、1Wire接口的工具模块
总的思路是通过USB或者UART接口发送一些协议字符串,由模块转换成上面几种接口的硬件时序电信号,实现与这几种接口芯片、设备的快速测试。
首先声明一下,大家都是搞硬件开发的,这几种接口当然是很简单的事,但有些时候对于一个新的设备或者芯片的测试,有个现成的工具当然更顺手,节省时间,也更可靠嘛。

直接说用法
I2C应用的例子:
字符串指令:[IIC][START][WT6H]A0 00 30 31 32 33[STOP]
表示从IIC接口依次发出开始信号、写6个Hex字节、发送停止信号
字符串指令:[IIC][START][WT2H]A0 00[START][WT1H]A1[RD4N][STOP]
表示从IIC接口依次发出开始信号、写2个Hex字节、开始信号、写1个Hex字节、读取4个字节并发送非应答信号、发送停止信号
上面的时序大家可能已经想到了,是AT24C02的读写时序,地址0写入“1234”然后再读取出来。


SPI接口也是类似的,只是字符串开始换成[SPI]而已,例如:
字符串指令:[SPI][SSL][WT14H]02 00 00 00 30 31 32 33 34 35 36 37 38 39[SSH]
上面的指令是向GD25QFlash芯片写入“0123456789”

再来一个1Wire的例子:
字符串指令:[WIRE][START][WT2H]CC BE[RD2N]
表示向DS18B20发送2个字节,并读取2字节返回值

另外,这个模块还提供了几个GPIO,使用[IO2L]、[IO3H]这样的字符串指令可以控制电平高低。

使用任何一个串口助手就能实现测试,对一个芯片的测试,估计几分钟就能测完(看完芯片手册的前提下)。

既然是个成品,对应的更加友好的专用工具是不能少的,模块有PC端和手机端的专用工具,用起来更顺手,甚至不需要输入只需要点点鼠标就能完成芯片测试。
下面的图就是用这个工具自带的SHT3x温湿度指令集的测试。

工具自带的某些芯片的指令集是一个个的xml文件,每个人都可以编写自己的xml,放到chips文件夹里就会出现在界面的下拉框里,这对于需要频繁的测试某个芯片来说特别方便。


下面主角出场,先上张模块图

USB供电,即插即用。
电平兼容:用跳线切换工作电平,可调试3.3V和5V芯片。
板载AT24C02、GD25Q64、SHT3温湿度传感器、DS18B20,方便快速演示。
UART通讯速率1200~921600bps、I2C/SMBus通讯速率0.33kHz~1.8MHz、SPI通讯速率2.75kHz~5.5MHz。
可设置时钟极性和相位。
可设置MSB或者LSB。
公开PCB原理图及Keil工程测试源码
主打透明、灵活、可控、通用、兼容,所以不会有其它同类转换方案黑盒子一样的兼容性问题。

实测UART921600bps,SPI5.5MHz时,通讯、读写正确(GD25Qxx芯片)。
5.5MHz确实要超出单片机的处理能力了,理论上的方波已经变成了“正弦波”,不过通讯还是正常的。
下面是比较700kHz时的方波。

模块套件可编程的含义
(1)自由输入字符串指令控制不同接口数据交互,指令时序的编程。
(2)通讯速率、管脚相位可通过参数控制。
(2)公开原理图和测试源码,可以Keil编写自己的固件程序。
模块手册里里有比较详细的说明。


上面写的东西不少,其实这个模块用法特别简单,拿到套件和专门的工具软件后一分钟都不需要就完全明白了,如果想编写自己的xml驱动,随便打开一个照葫芦画瓢,然后另存就行。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

串行通信是一种通信方式,数据在通信线上按位进行传输。每位数据占据固定的时间长度,使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

关键字: 串行通信 UART

虽然 USB 几乎完全取代那些旧电缆和连接器,但 UART 绝对不会成为过去。您会发现许多 DIY 电子项目都使用 UART。

关键字: UART 串口通信 USB

UART(通用异步收发器),这是用于全双工串行通信的最常见协议。它是设计用于执行异步通信的单个LSI(大规模集成)芯片。该设备将数据从一个系统发送到另一系统。

关键字: 数据通信协议 UART 异步收发器

SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。

关键字: I2C 总线通信 时钟线

SPI,Serial Peripheral Interface,串行外围设备接口,是一种同步通信协议,通常用于芯片间进行数据交互。

关键字: SPI 通信协议 外围设备

UART将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: UART 通信协议

单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。简单双向串口通信有两根通信线(发送端TX和接收端RX);TX与RX要交叉连接;当只...

关键字: 串行通信 SPI

今天,小编将在这篇文章中为大家带来I2C总线的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: I2C 总线

在这篇文章中,小编将对I2C总线的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: I2C 总线

今天,小编将在这篇文章中为大家带来SPI总线和I2C总线的有关报道,通过阅读这篇文章,大家可以对二者具备清晰的认识,主要内容如下。

关键字: SPI I2C 总线
关闭