【经验】 USB转UART芯片CP2102N识别信息的修改配置方法
SILICON LABS 的USB转UART芯片CP2102N,当我们把CP2102N芯片连接到电脑上自动识别的是"CP2102N USB to UART Bridge Controller"这个信息。如下图1所示:
但有些客户想识别出自己公司的信息不想使用默认识别信息,如下图显示"Sekorm"公司信息。
我们有两种形式可以实现:
第一种,我们的可以用Silicon Labs 的Simplicity Studio 软件直接配置:
在这里配置我们只要修改 Product String 里面的信息,要注意"Use Internal Serial Number"这个选项不能选。如果选上我们的信息修改是不成功的,会一直提示厂商出厂的信息。
第二种,如果用户想把CP2102N修改信息打包到自己产品的软件里面需要调用API函数方式,使用最新的CP210xManufacturingDLL_v6.7.5软件包里面的CP210xManufacturing.dll,CP210xManufacturing.lib,CP210xManufacturingDLL.h三个文件。
现在针对CP2102N应该调用CP210X_GetConfig 和 CP210X_SetConfig。
厂商提供了一个configStruct.xlsx电子表格,里面描述了所有CP2102N bytefields信息,用户必须先通过CP210X_GetConfig获取整个cp2102n配置内容,然后指定要改修改地址,把要修改的信息进行填写,然后将这些数据整体通过调用cp210x_setconfig函数把整体信息再写进去,完成对CP2102N信息的配置。
通过在configStruct.xlsx这个点子表格里面我们查到cp2102N 全部bytefields 是678 字节,"product String"偏移量为193,大小为256 byte(s);"Serial String"偏移量为452,大小为128 byte(s);"Use Internal Serial"偏移量为449,大小为1 byte(s); "Fletcher Checksum "偏移量为676,大小为2 byte(s),对这几个部分进行配置就可以实现信息的修改。
下面是测试通过的代码可以参考。
// test1.cpp : 定义控制台应用程序的入口点。
//
#include <windows.h>
#include "CP210xManufacturingDLL.h"
#include <stdint.h>
#include <stdio.h>
uint16_t fletcher16(uint8_t *dataIn, uint16_t bytes)
{
uint16_t sum1 = 0xff, sum2 = 0xff;
uint16_t tlen;
while (bytes) {
tlen = bytes >= 20 ? 20 : bytes;
bytes -= tlen;
do {
sum2 += sum1 += *dataIn++;
} while (--tlen);
sum1 = (sum1 & 0xff) + (sum1 >> 8);
sum2 = (sum2 & 0xff) + (sum2 >> 8);
}
/* Second reduction step to reduce sums to 8 bits */
sum1 = (sum1 & 0xff) + (sum1 >> 8);
sum2 = (sum2 & 0xff) + (sum2 >> 8);
return sum2 << 8 | sum1;
}
#define TOTAL_SIZE 678
//#define TOTAL_SIZE 1016
int main()
{
DWORD num;
CP210x_STATUS status = CP210x_GetNumDevices(&num);
HANDLE h;
status = CP210x_Open(0, &h);
if (status == 0)
{
char buffEntire[TOTAL_SIZE];
status = CP210x_GetConfig(h, (BYTE*)buffEntire, TOTAL_SIZE);
if (status != 0)
{
printf("read data error 2");
}
char buff2[1024];
memset(buff2, 0, 1024);
strcpy(buff2, "Sekorm");
int towrite = strlen(buff2)+1;
//product string
memcpy(buffEntire + 193, (char*)buff2, towrite);
//serial string
memcpy(buffEntire + 452, (char*)buff2, towrite);
//use serial internals
unsigned char c = 0x0;
memcpy(buffEntire + 449, &c, 1);
//sum
uint16_t sum = fletcher16((uint8_t*)buffEntire, TOTAL_SIZE - 2);
memcpy(buffEntire + TOTAL_SIZE - 2, &sum, 2);
buffEntire[TOTAL_SIZE - 1] = (BYTE)sum;
buffEntire[TOTAL_SIZE - 2] = (BYTE)(sum>>8);
status = CP210x_SetConfig(h, (BYTE*)buffEntire, TOTAL_SIZE);
if (status != 0)
{
printf("write data error ");
CP210x_Close(h);
return 0;
}
}
if (status == 0)
{
char buffEntire[TOTAL_SIZE];
status = CP210x_GetConfig(h, (BYTE*)buffEntire, TOTAL_SIZE);
if (status != 0)
{
printf("read data error 2");
}
char* productstring = (char*)(buffEntire + 193);
char* serialstring = (char*)(buffEntire + 452);
char* use = (char*)(buffEntire + 449);
uint16_t sum = fletcher16((uint8_t*)buffEntire, TOTAL_SIZE - 2);
int stop = 1;
}
CP210x_Close(h);
return 0;
}
相关资料链接如下:
Silicon labs CP210x USB-UART API规范说明(AN978):
https://www.sekorm.com/doc/49408.html
Silicon LabsCP2102N SetConfig GetConfig Array Structure:
https://www.sekorm.com/doc/118834.html
CP210x适用于Windows的驱动程序:
https://www.sekorm.com/doc/118835.html
世强元件电商版权所有,转载请注明来源及链接。
- |
- +1 赞 0
- 收藏
- 评论 3
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】USB转串接口芯片CP2102N的硬件电路设计注意事项
Silicon Labs推出的USB转串口芯片CP2102N具备功能强大、无需固件开发、简单易用等显著特点,深受广大工程师喜爱。被广泛用于医疗设备、手持设备、测试设备等。但CP2102N在硬件设计中,会有诸多注意事项,为避免工程师少走弯路,本文做了详细整理,供大家参考。
设计经验 发布时间 : 2020-10-10
【经验】USB转UART接口芯片CP2102N替换CP2102的注意事项
本文介绍Silicon Labs最新USB转UART器件CP2102N与CP2102的区别及替换的注意事项。
设计经验 发布时间 : 2019-07-16
【经验】USB转UART接口芯片CP2102N使用命令行软件设置方法
Silicon Labs USB转UART接口芯片CP2102N,这是一款高集成度的桥接芯片,开发不需要其他外部USB组件,可使用GUI软件对芯片进行简单的自定义和配置选项,简单易用。本文介绍Silicon Labs USB转UART芯片CP2102N使用命令行软件设置方法。
设计经验 发布时间 : 2020-04-06
Silicon Labs(芯科科技)CP2112 USB转I2CSMBUS windows调试助手
描述- 本资料以压缩包的形式呈现,包内附有Silicon Labs(芯科科技)CP2112的USB转I2CSMBUS windows调试助手安装包。
型号- CP2112
USBXpress™ Family CP2102N Data Sheet
型号- CP2102N-A01-GQFN20R,CP2102N-A02-GQFN28,CP2104,CP2102N-A02,CP2109,CP2102N-A02-GQFN24,CP2102N-A02-GQFN20,CP2102N,CP2102,CP2101
【产品】低成本USB桥接芯片,即连即用的接口管家-Silicon labs CP2104,CP2105,CP2110
Silicon labs CP21xx USB桥接系列产品共有四种USB转串口的解决方案:包括USB转UART接口芯片CP2104、USB转双UART接口芯片CP2105、HID-USB转UART接口芯片CP2110和HID-USB转SMBus及I2C接口芯片CP2112。该系列芯片能够广泛应用于个人医疗设备、手机、智能卡和存储卡阅读器、无线调制解调器等系统中。
新产品 发布时间 : 2016-02-17
CP2102N在PLC应用中的卓越表现与优势分析
在实现PLC与其他系统或设备高效通信的过程中,一款优秀的接口转换芯片显得尤为重要。Silicon Labs的CP2102N USB-UART桥接芯片,凭借其出色性能和高度集成性,正在成为PLC应用领域的一颗璀璨明星。
应用方案 发布时间 : 2024-04-13
Silicon Labs(芯科科技) CP2105 单芯片USB转UART桥接器数据手册(英文)-CP2105
描述- Silicon Labs(芯科科技) CP2105 单芯片USB转UART桥接器数据手册(英文)-CP2105,CP2105,silabs CP2105,CP2105数据手册,CP2105 datasheet,CP2105规格书,CP2105手册,CP2105技术资料,CP2105资料,CP2105方案,CP2105供应,CP2105库存,CP2105价格,单芯片USB转UART桥接器,UART桥接器,MCU
型号- CP2105,CP210X,CP2105-F01-GMR,CP2105-F01-GM
【经验】CP2102N驱动安装失败问题的分析与解决
在不重新安装Windows的情况下,讨论分析和解决Silicon Labs的USB-to-UART桥接器芯片CP2102N驱动安装失败的问题。
设计经验 发布时间 : 2022-02-12
【经验】USB转UART桥接芯片CP2102与CP2110的编程区别
Silicon Labs的CP21XX系列芯片是USB转UART功能的桥接芯片,这个系列的芯片可实现即插即用接口解决方案,可方便的实现产品的USB通信功能,芯片内部集成有振荡器,封装最小只有4mm*4mm,同时内部有可编程存储器,可以极大的降低产品的成本,简化产品设计并缩短产品的开发时间。CP21XX系列的主要有CP2102及CP2110两个产品,本文介绍这两个产品的编程区别。
设计经验 发布时间 : 2019-12-27
【经验】单芯片USB转UART桥接器CP2105用于USB转双路485协议的操作步骤
CP2105是Silicon Labs的一款方便、高性价比的单芯片USB转UART桥接器,其实CP2105不仅仅只支持串口,CP2105还支持USB转485/232。本文主要针对CP2105的USB转485的相关操作进行介绍,让各位读者熟悉整个配置过程。
设计经验 发布时间 : 2019-09-25
【应用】芯科USB转UART单芯片桥接器助力一拖四烧录器,最高可提供4个独立UART接口
烧录器系统使用的USB转UART单芯片桥接器为:CP2108-B03-GM,包括一个USB 2.0全速功能控制器,USB收发器,振荡器,EEPROM和四个异步串行数据总线,在一个紧凑的9毫米x 9毫米64引脚QFN包中具有完整的调制解调器控制信号。
应用方案 发布时间 : 2022-11-03
【经验】如何固定CP2102N接入电脑的串口号?
Silicon Labs提供了一个虚拟串口(VCP)驱动程序,它允许基于USB转UART功能桥接芯片CP2102N的产品以串口的形式出现在PC应用软件中。在项目上针对不同设备需求及生产测试,需要固定CP2102N的COM端口号来简化产品操作,本文将讲解如何实现操作方法。
设计经验 发布时间 : 2020-10-21
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 104,128
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
世强深圳实验室提供Robei EDA软件免费使用服务,与VCS、NC-Verilog、Modelsim等EDA工具无缝衔接,将IC设计高度抽象化,并精简到三个基本元素:模块、引脚、连接线,自动生成代码。点击预约,支持到场/视频直播使用,资深专家全程指导。
实验室地址: 深圳 提交需求>
整体外形尺寸小至0.6*0.3*0.3mm (DFN0603),工作电压范围覆盖2.5V~36V,电容值低至0.2pF,浪涌能力最高可达240安培,静电等级可达空气放电、接触放电±30KV。提供免费浪涌测试仪、静电测试仪测试。
提交需求>
查看全部2条回复