c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A
全球首颗超小封装的串口(UART)转PWM控制芯片SOC。
功能概述
● PWM输出特性
- PWM输出范围150HZ-200KHZ。
- PWM频率为16位精度。
-占空比调节方式(0-255)。
● 高精度内部振荡器
-出厂时精度校准为 ±1%。
-内部带晶振故障检测电路。
● 超宽的工作电压
-宽工作电压范围。(1.8V-5.5V)。
-工业级和扩展级温度范围。
-上电自复位无需外部电路。
-上电电压检测电路,低电压自锁电路。
● 超低的功耗
- 3V 25条件下的功耗
-工作模式2.2mA。
-空闲模式0.5mA。
-掉电模式<1 uA。
-当电压为2.0V时,典型值为3 μA。
● I/O和封装
-超小的封装SOT23-6,8脚UDFN封装。特别适合便携式低功耗的应用。
● 电气特性
-工作温度-55°C到+125°C。
-存储温度-65°C到+150°C。
-各个引脚对地的电压VCC+0.5V。
-最大工作电压6.0V。
-每个I/O引脚的DC电流40.0 mA。
- VCC与GND引脚的DC电流200.0 mA。
引脚定义
脚位
标识
功能
1
RX
UART异步串行口RX接收脚。
2
GND
数字及模拟地
3
PWM
PWM输出口
4
NC
保留其他功能
5
VCC
VCC(2.0-5.5V)
6
/EN
使能脚:
0:芯片正常工作。
1:芯片进入休眠。
UART接口协议
芯片内部集成了串口通信协议。符合通用的TTL电平(3.3V-5V),波特率固定为4800,
1位开始,数据位8位,1位停止,没有校验位。因为芯片引脚不多,芯片只有RX引脚作为接收指令。指令的格式如下:
帧头+命令字+数据H+数据L+CRCH+CRCL
帧头
命令
数据H
数据L
CRCH
CRCL
0xA5
0x01
0x1F
0x40
0XC2
0XEB
0xA5
0x02
0x00
0xFF
0X6F
0X72
帧头:固定值为0xA5。
命令字:1:0x01更改输出PWM频率。2:0x02更改占空比。
数据:数据是一个int整形共16bit。分开两个字节发送,前面一个字节为数据的高字节,后一个字节为数据的低字节。当命令字
为0x01时数据对应的为一个16位的PWM频率的整数。频率的计算公式为:freq=8000000/data。Data为需要传输的16位int。
需要拆分成2个字节发送。譬如想要输出1kHZ的频率。1000=8000000/data,Data=8000,转成十六进制后为:0x1F40则
DataH=0x1F,DataL=0x40。如果命令字为0x02,数据对应的就是PWM的高电平的占空比,占空比目前只支持0-255可调。
0对应的就是全部为低电平。255表示全部为高电平。
CRC:为16位的CRC-16/CCITT 多项式系数x16+x12+x5+1。多项式为0x1021。初始值为:0x0000;CRC也是分开2个字节传输。前
面为高字节。后面为低字节。CRC计算前面所有字节的一共4字节。
C语言实现代码:
/******************************************************************************
* Name:
CRC-16/CCITT x16+x12+x5+1
* Poly:
0x1021
* Init:
0x0000
* Refin:
True
* Refout:
True
* Xorout:
0x0000
* Alias:
CRC-CCITT,CRC-16/CCITT-TRUE,CRC-16/KERMIT
*****************************************************************************/
uint16_t crc16_ccitt(uint8_t
*data, uint8_t length)
{
uint8_t i;
uint16_t crc = 0; // Initial value
while(length--)
{
crc ^= *data++; // crc ^= *data;
data++;
for (i = 0; i < 8; ++i)
{
if (crc & 1)
crc = (crc >> 1) ^
0x8408;
else
crc = (crc >> 1);
}
}
return crc;
}
串口通信因为存在一定的波特率误差,一旦CRC16校验不通过,芯片会抛弃该指令。所以为了保证系统的能得到正确的控制指令MCU主控端需要考虑多发几次指令,或者相隔一定的时间循环发送,每次指令和指令直接的延时不能少于20ms。推荐50ms一次。
串口的典型应用电路:
电脑通过USB控制LED的调光
▇
c语言 串口 封装,首颗超小封装的串口(UART)转PWM转换芯片ZWI10A相关推荐
- getprofile()获取不到路径_钰泰推出ETA4098,充电+路径管理+锂电保护三合一,超小封装...
ETA4098是钰泰最新推出的小封装超强功能充电IC!不仅带有输入路径管理功能,还集成了锂电保护功能.其特色如下: 1.集成了锂电保护功能,可以省锂电保护芯片: 2.带输入路径管理,合理的管理电池和系 ...
- 超小封装体积8点/八段液体水位检测专用触控芯片VK36W8I
型号:VK36W8I 品牌:VINKA/永嘉微电 封装形式:SOP16/QFN16L 年份:新年份 概述 VK36W8I具有8个触摸检测通道,可用来检测8个点的水位.该芯片具有较高的集成度,仅需极少的 ...
- 首个单芯片超小封装I2C转PWM解决方案
ZW10I8X系列 高性能工业级16位高精度I2C转PWM接口SOC芯片 ● 接口标准 - 符合飞利浦的I2C标准规范,目前支持的速度为小于100kbit.建议使用50k - 1个使能脚(ZW10I8 ...
- 首款超小体积、免插卡、蓝牙配置的新款4G DTU来了!
通讯终端作为物联网的核心部件,其表现直接关系到应用方案在市场中的整体竞争力.随着物联网应用大规模落地,物联网设备微型化.集成化趋势明显. 超小体积 以市场需求为驱动,有人物联网推出超小体积导轨式4G ...
- 推荐一款串口TCP协议调试利器-小平TCP串口调试特工
小平TCP串口调试特工 下载地址: https://download.csdn.net/download/zyhlove813/13128830 介绍(附件) 小平TCP串口调试特工是一款免费的软件, ...
- VKD233HS是一款超小体积单键/1路单通道触摸触控IC DFN6封装2*2mm,适用TWS蓝牙耳机入耳检测/单键触摸,定位手环手表等
产品品牌:永嘉微电/VINKA 产品型号:VKD233HS 封装形式:DFN6 产品年份:新年份 概述: VKD233HS DFN6具有1个触摸按键,可用来检测外部触摸按键上人手的触摸动作.该芯片具 ...
- 永嘉原*厂-144段超低功耗LCD液晶显示驱动芯片VKL144B QFN48(6*6MM)超小体积封装,水表专用段式LCD液晶低功耗显示驱动IC
产品型号:VKL144B 产品品牌:永嘉微电/VINKA 封装形式:QFN48L(6*6MM) 产品年份:新年份 VKL144B概述: VKL144B是字段式液晶显示驱动芯片. 功能特点: ★ 液晶驱 ...
- 永嘉原*厂-VK1Q68D 是低功耗LED显示/数码管显示驱动IC,带键盘扫描电路,4~7 位,10~13 段 显示,QFN24 4*4MM超小体积封装
型号:VK1Q68D 品牌:VINKA/永嘉微电 封装:QFN24L(4*4MM) 概述 VK1Q68D 是1/5-1/8 占空比的 LED 显示控制驱动电路.由 10 根段输出.4 根栅输出.3 根 ...
- 88段显示-VINKA/永嘉原*厂-LCD段码液晶显示驱动芯片VK1088B QFN32,超小体积封装4MM*4MM,工作电压2.4-5.2V
型号:VK1088B 品牌:永嘉微电/VINKA 封装:QFN32 (4mm×4mm) 年份:新年份 VK1088B概述: VK1088B 是一个22*4的LCD驱动器,可软件程控使其适用于多样化的L ...
最新文章
- 用Redis存储Tomcat集群的Session(转载)
- mysql5.5+版本与mysql5.5之前版本部署主从的一些差异
- 属性定义为 not null unique_土味情话为你倾尽天下,你共赏盛世繁华
- sql,插入最大值加1
- flush mysql_请教一下,mysql什么时候需要flush privileges?
- C语言丨求两个正整数的最大公约数
- OpenSCAD设计的3D打印智能路由器盒子(V1.1)
- POJ 1740 A New Stone Game(博弈)题解
- Java-实现异地登陆和超时登陆
- 示波器同步的调节方法
- Python中URL的编码和解码:quote, unquote, urlencode
- 仁人帮探索大数据技术
- Excel文件加密后忘记密码 - 破解方法
- php组合图片代码,使用php shell命令合并图片的代码
- 云计算技术学习书籍推荐
- 三种振幅调制AM、DSB、SSB
- 百济神州港交所上市:募资9亿美元 高瓴曾参与7轮融资
- 偶尔也需要强烈的孤独
- 【产品笔记】2.互联网产品修炼
- mc服务器ip是网站,我的世界服务器地址大全