这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 测试测量 » 可编程USB转串口适配器开发板USB转UARTI2C应用

共2条 1/1 1 跳转至

可编程USB转串口适配器开发板USB转UARTI2C应用

工程师
2022-09-01 09:42:49     打赏

可编程 USB 转串口适配器开发板 USB 转 UART  I2C 应用 


可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S   USB 转 UART 应用 

可编程USB转串口适配22.jpg

1.1驱动安装 

USB2S 内置了 USB 转UART 芯片,可使用CH340/CH341 驱动程序。驱动安装步骤如下: 双击运行“CH341SER\SETUP.exe”,打开驱动安装窗口。 

点击【安装】按钮,稍后会提示“驱动安装成功”。如下图示。 

USB 转 UART 应用 驱动安装.jpg

驱动安装成功后,若将 USB2S 插入计算机 USB 接口,在“设备管理器”中会发现新的 COM 接口, 如下图示。 

USB 转 UART 应用 驱动安装后.jpg

1.2 USB 转UART 原理

驱动程序安装后,计算机通过 COMx 与 MCU 进行通讯,当 USB2S 的 UART 透明传输功能为开启状态时(默认),MCU 可将 UART1 与UART2 的双向数据进行透明转发,即:实现了计算机的COMx 端口与 USB2S 的对外 UART2 端口的双向数据传输。工作原理示意图如下: 

USB 转 UART 原理.jpg

上面的方法是通过 MCU 固件程序实现UART1 与 UART2 之间数据透明传输。 

下面的连接方法可实现真正的 USB 转 UART 功能,方法是通过跳线禁用 MCU,外部UART 设备直接连接到 UART1 接口。

USB 转 UART 原理2.jpg

对于绝大部分应用,第一种连接方法即可。



可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S   UART 转 I2C 应用 


1.1 AT24CxxEEPROM 芯片 

1.1.1 芯片介绍 


AT24Cxx 是可擦写 EEPROM 存储芯片,xx 表示容量,单位为 Kbits。USB2S 板上已有 1 片 AT24Cxx

(默认为 AT24C02),设备地址为 0xA0。 


通过 AT24Cxx 的数据手册可知,读写时序如下: 写时序: 

(1) 向 IIC 总线发送开始信号 

(2) 向 IIC 总线发送芯片写地址(0xA0) 

(3) 向 IIC 总线发送要操作的 EEPROM 地址 

(4) 向 IIC 总线连续发送多个要写入的字节数据 

(5) 向 IIC 总线发送停止信号,结束本次通讯读时序: 

(1) 向 IIC 总线发送开始信号 

(2) 向 IIC 总线发送芯片写地址(0xA0) 

(3) 向 IIC 总线发送要操作的 EEPROM 地址 

(4) 向 IIC 总线发送开始信号 

(5) 向 IIC 总线发送芯片读地址(0xA1) 

(6) 从 IIC 总线连续读取芯片输出的数据 

(7) 向 IIC 总线发送停止信号,结束本次通讯 


 

1.1.2 向 AT24C02 写入数据 

向 AT24C02 的地址 0~3 写入 4 个字节(30 31 32 33) 

向 UART1 发送字符串:[IIC][START][WT6H]A0 00 30 31 32 33[STOP] 

[IIC] 数据帧的目标是 IIC 接口 

[START] 从目标接口输出开始信号 

[WT6H]  从目标接口输出 6 个字节,后续数据类型为 16 进制。 

A0 00 2 字节数据,AT24C02 芯片地址+要操作的EEPROM 地址 

00 01 02 03 向 AT24C02 写入的 4 个字节数据[STOP] 从目标接口输出停止信号,结束本次通讯 

 

1.1.3 从 AT24C02 读取数据 

从 AT24C02 读取 4 个字节数据,数据起始地址为 0。 

向 UART1 发送字符串:[IIC][START][WT2H]A0 00[START][WT1H]A1[RD4N][STOP] 

从 UART1 返回 4 个字节(16 进制):30 31 32 33 [IIC] 数据帧的目标是 IIC 接口 

[START] 从目标接口输出开始信号 

[WT2H] 从目标接口输出 2 个字节,后续数据类型为 16 进制。 


A0 00 2 字节数据,AT24C02 芯片地址+要操作的EEPROM 地址 

[START] 从目标接口输出开始信号 

[WT1H] 从目标接口输出 1 个字节,后续数据类型为 16 进制。 

A1 AT24C02 芯片的读地址 

[RD4N]  从目标接口连续读取 4 个字节数据 [STOP] 从目标接口输出停止信号,结束本次通讯 

 可编程USB转串口适配33.jpg

1.1.4 跨页写入数据 


AT24C02 每页为 8 字节,EEPROM 地址 0~7 为第 1 页、8~15 为第 2 页,以此类推。当向芯片连续写入数据时,在写完每页最后 1 个字节后必须向其发送停止信号,以使芯片对当前页进行存储,继续写入后续数据时需要重新开始写入时序。 

芯片存储数据需要一定时间,向其发起新的通讯前应有适当延时。也可以直接向其继续写入若返回了[ERRxxx]表示芯片正忙,重新发送直到无错误返回。 

例如:从 EEPROM 地址 0 开始写入 10 个字节数据,则应先写入 0~7,延时,再写入 8~9。 


[IIC][START][WT10H]A0 00 00 01 02 03 04 05 06 07[STOP][DELAY50][IIC][START][WT4H]A0 08 08 09[STOP] 


例如:直接向芯片写入字符串数据 


[IIC][START][WT2H]A0 00[WT8S]87654321[STOP][DELAY50][IIC][START][WT4H]A0 08 38 39[STOP] 





关键词: USB     串口适配器          可编程     开发     设备开发     接口    

院士
2022-09-01 09:55:50     打赏
2楼

 这是卖硬件,还是卖软件呀?!


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]