前言
学习 KNX 的 USB 规范很久了,只是工作上没有用上,一直没有深入。最近有空,打算做一个产品来试试。
目标:
- 可以在现场上使用
- 支持ets4、ets5、ets6
- 支持eitt
- 支持长帧
选型
- 外壳
要想 可以在现场上使用 肯定要有外壳,开模是不可能的了,就按照公模设计吧,在淘宝上找了一圈,最终选定了这一款
外壳有了就可以继续下一步了。
-
主芯片选型
具有usb功能的芯片很多。由于各种原因,打算用国产芯片。工作中用过国民技术、雅特力、兆易创新。初步选定雅特力。由于只是简单的协议转换不需要太多的资源,选择超值系列的最新型号 AT32F423
高达256KB闪存48KB SRAM 和 5-7 rmb 左右的价格还是很合适的 -
KNX接口芯片选型
常用的KNX接口芯片 其实也不多。ncn5120、ncn5121、ncn5130、tpuart2、E981.03、stknx 等
tips:
E981.03 --------支持 254 byte payload
ncn512x -------也能发送 263
tpuart2 ---------只能 63
最后选择 ncn5120 -
隔离芯片
由于usb直接和电脑相连,所以必须做些隔离,万一接错线,强电进来了,烧模块不能烧电脑啊。
CA-IS3722HS ---------- 信号传输速率: DC to 150Mbps
ADUM1201ARZ ---------- High data rate: dc to 25 Mbps (NRZ)
π122U31 ---------- Ultra low power consumption (150Kbps):
其实KNX接口芯片和MCU通讯 最高也就 115200bps,那个都可以。因为手里有CA-IS3722HS这个型号,就先用这个吧
-
usb 的静电保护芯片
经常插拔数据线,静电可能会影响到芯片,所以添加一个保护芯片还是必要的
UET14A05L03-BK -------------- 8KV接触, 15KV空隙放电 -
指示灯
两个指示灯用于指示usb总线和KNX总线的状态 -
按键
按键当前没有用,留着备用 -
usb母座
lcsc 和淘宝上很多选择,价格也不一样。后来看到富士康的这个比较特别,就用他了
买回来之后看起来确实比较有质感,但是磁铁能吸(…) -
最终的板子
使用嘉立创 的eda 画的,3D渲染还不错
- 实物图
软件识别
- ets5 识别
说明一下:因为要想ETS等软件识别,必须是通过他们认证的,分配有序列号的,所以现在只能借用其他厂家的序号。
-
ets6识别
-
eitt识别
功能测试
-
使用ETS5收发数据 、ETS6收发数据
-
使用EITT进行性能测试
测试方法,使用两个usb转knx设备互发数据,计算丢包率。
A选手我们的模块
B选手西门子的KNX接口模块
1:分别打开两个EITT软件界面,配置参数
:2:添加发送帧
3:选择循环发送,点击 开始
4:测试过程
测试视频
红色的是接收B选手的数据
黑色的是A选手发送的数据
1秒之内来回26包数据(有一包没有截图)
5:测试结果
A选手:Tx:31026,Rx:30990
B选手:Tx:30990,Rx:31026
刚好发送的等于接收的,目测没有丢包 。
后续
- 外壳增加贴纸,可以更加直观一点
闲鱼:搜索用户 knx鱼塘,会有其他东西哦