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

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

时间:2022-11-08 13:12:03浏览次数:49  
标签:USB IIC UART 适配器 接口 SPI 模块 芯片 I2C

开发调试工具: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驱动,随便打开一个照葫芦画瓢,然后另存就行。

标签:USB,IIC,UART,适配器,接口,SPI,模块,芯片,I2C
From: https://www.cnblogs.com/wenkon/p/16869332.html

相关文章

  • 基于PCM2706的USB-DAC(支持同轴、I²S输出)
    基于PCM2706的USB-DAC(支持同轴、I²S输出)简介:PCM2706是德州仪器公司的一款经典立体声16bitDAC解码芯片,集成HID人机控制接口与USBinterface,支持同轴信号输出(SPDI/F)、IIS数......
  • USBD_CUSTOM_HID_SendReport 发送报文
    data_buff[0]=0x01;data_buff[1]=0x00;data_buff[2]=0x00;//USBD_CUSTOM_HID_SendReport(&hUsbDeviceFS,data_buff,CUSTOM_HID_EP......
  • uart驱动框架及编程方法
    一、UART介绍UART(UniversalAsynchronousReceiver/Transmitter),中文全称为通用异步收发传输器,是一种异步收发传输器,它将要传输的数据通过并行到串行转换后再进行传输。该总......
  • STM32 UART学习
    UART配置步骤:1、初始化串口所需要的GPIO2、初始化串口,USART_InitTypeDef3、中断配置(接收中断,中断优先级)4、使能串口5、编写接收和发送函数6、编写中断服务函数 ke......
  • usb hid处理pc 往设备发数据的
        这个地方就是处理pc往设备发数据的 注意out是从pc往设备in是从设备往pc 就是接受后简单写一下led......
  • Usb HID report descriptor22
      /**UsbHIDreportdescriptor.*/__ALIGN_BEGINstaticuint8_tCUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE]__ALIGN_END={0x06,0x00,0xFF,......
  • 浅谈PHP设计模式的适配器模式
    简介:适配器模式属于结构型设计模式。将一个类的接口转换成可应用的兼容接口。适配器使原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有两种实现方......
  • 【设计模式】适配器模式
    适配器模式的意图将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作(就是把接口不兼容的问题抹平,但不......
  • spring-boot-2.0.3之quartz集成,最佳实践
    开心一刻快过年了,大街上,爷爷在给孙子示范摔炮怎么放,嘴里还不停念叨:要像这样,用劲甩才能响。示范了一个,两个,三个...孙子终于忍不住了,抱着爷爷的腿哭起来:爷呀,你给我剩......
  • spring-boot-2.0.3之quartz集成,数据源问题,源码探究
    开心一刻着火了,他报警说:119吗,我家发生火灾了119问:在哪里?他说:在我家119问:具体点他说:在我家的厨房里119问:我说你现在的位置他说:我趴在桌子底下......