

Ekdome
easy link protocol by homebus
- Size
- 87 × 72 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 118
- Nets
- 113
- Pads
- 363
- Tracks, vias
- 958, 157
- Pours
- 6
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 17 Nov 2022
- Updated
- 18 Sep 2024
Overview
Ekdome is an open-source printed circuit board by KrogeChen, from the KrogeChen/EASYLINK repository on GitHub. It is a 2-layer board of 87 × 72 mm with 118 parts on 113 nets, routed with 958 tracks and 157 vias.
It is built around the CH32V203C8T6, CH340E and SP3485CN-L, with the RS485, MS1192 and XL1509-3.3 among its other parts. Its parts include 42 resistors, 30 capacitors, 20 diodes, 7 ICs and 6 connectors. It belongs with the RISC-V boards of this library.
Main components
10CH32V203C8T6
LQFP-48(7x7)144MHz 64KB FLASH Others LQFP-48(7x7) Microcontrollers (MCU/MPU/SOC) ROHSWCH (Nanjing Qinheng Microelectronics)Microcontrollers (MCU/MPU/SOC)CH340E
MSOP-10150uA 20mA 2Mbps 3.3V、5V Transceiver USB 2.0 MSOP-10 USB Converters ROHSWCH (Nanjing Qinheng Microelectronics)USB ConvertersSP3485CN-L
SOIC-80℃~+70℃ 1 1 10Mbps 3V~3.6V Transceiver SOIC-8 RS-485 / RS-422 ICs ROHSMaxLinearRS-485 / RS-422 ICsRS485
SOP-81 1 1.2mA 2.5Mbps 256 5V Half-Duplex Transceiver ±4kV SOP-8 RS-485 / RS-422 ICs ROHSGRRS-485 / RS-422 ICsMS1192
SOP-16-20℃~+70℃ 4.5V~5.5V 75mA 8mA SOP-16 Interface - Specialized ROHSHangzhou Ruimeng TechInterface - SpecializedXL1509-3.3
SOP-8-40℃~+125℃@(TJ) 1 150kHz 2A 2mA 3.3V 4.5V~40V Buck Buck Built-in Fixed No SOP-8 DC-DC Converters ROHSUMWDC-DC ConvertersAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSS14
SMA(DO-214AC)-55℃~+150℃ 1A 25A 300uA@40V 40V 550mV@1A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky DiodesMB10S
MBS-55℃~+150℃ 1.1V@400mA 1A 1kV 35A 5uA@1kV Single-Phase Rectifier MBS Bridge Rectifiers ROHSMDDBridge RectifiersSS8050
SOT-323-55℃~+150℃ 1 NPN 1.5A 100MHz 100nA 200 25V 300mW 500mV 5V NPN SOT-23 Bipolar (BJT) ROHSJiangsu Changjing Electronics Technology (CJ)Bipolar (BJT)
README
README.mdTOPOLOGY
FAlink----------------------------------------------------------------------------------------------------------------(Max..30) | | | | | | | | | | | | | | | |-------| |-------| |--------| |--------| |--------| | NODE | | NODE | |NODE(EX)| |NODE(EX)| |NODE(WL)| |-------| |-------| |--------| |--------| |--------| WIRELESS WIRELESS MQTT . . @ . . @ ................. ................. %%%%%%%%%% . . . . % REMOTE % . . . . % SERVER % |--------| |---------| |--------| |---------| %%%%%%%%%% | SENSER | | SENSER | | LINKAGE| | LINKAGE | |--------| |---------| |--------| |---------|
注:每个节点分配64bit(8byte)的虚拟ID
EASYLINK
easy link protocol by cdbus
承担任务: 1、帧同步、寻址控制 2、数据的发送流、接收流 3、数据的差错控制 4、数据的流量管控 5、帧冲突管理
源地址|目标地址|长度|报文类型 |报文负载|校验 SRC DST LEN TPE PAY FCS 1 1 1 1 n 2
LEN 帧长度 TPE+PAY的字节数 FCS CRC16 由PHY芯片自动完毕。
//-------------------------------------------------------------------------------------------------- //特殊地址分配 //0x20 租约中心地址 //0xF0--0xFE 空地址 //0xFF 广播地址 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NETWORK
ELAP 地址租约,
承担任务: 1、数据链路层的节点地址分配 2、虚拟ID和节点地址关联的租约表 3、生成64bit的网络随机标识 3、子集管理,扩展MAP管理
TPE: 0x01 地址租约服务 租约中心(地址:0x20) 首租流程 续租流程 租约中心申请流程
上电-->首租-->首租请求报文,SRC 0xFE DST 0x01-->租约中心应答-->获取租期和地址-->确认租约-->完毕 -->租约中心无应答-->重试3次-->申请为租约中心 -->续租-->续租请求报文,SRC 0xFE DST 0x01
-->发布租约中心公告3次-->无冲突反馈-->正式成为租约中心,赋地址0x20
-->有冲突反馈-->退出租约中心申请-->进入地址租赁申请流程//--------------------------------------------------------------------------------------------------
消息ID 命令 虚拟ID 节点地址
MSGID CMD VUID NADDR
2 1 8 1
//--------------------------------------------------------------------------------------------------
CMD1:0x01 首租请求
35 AE | 01 | 89 76 73 87 AE 83 78 4A AE 83 78 4A | FE
0x81 请求应答
35 AE | 81 | 89 76 73 87 AE 83 78 38 AE 83 78 4A | 03
0xA1 租约失败,(一般是系统地址容量已满)
35 AE | A1 | 89 76 73 87 AE 83 78 38 AE 83 78 4A | FE
0xC1 租约确认
35 AE | C1 | 89 76 73 87 AE 83 78 4A AE 83 78 4A | 03CMD2:0x02 续租请求
35 AE | 02 | 89 76 73 87 AE 83 78 4A AE 83 78 4A | 03
0x82 请求应答
35 AE | 82 | 89 76 73 87 AE 83 78 38 AE 83 78 4A | 03
0xA2 租约失败,(一般是地址冲突)
35 AE | A2 | 89 76 73 87 AE 83 78 38 AE 83 78 4A | 03
0xC2 租约确认
35 AE | C2 | 89 76 73 87 AE 83 78 4A AE 83 78 4A | 03CMD3:0x03 租约中心公告, 空地址时,10秒内公告5次,无应答,本机成为租约中心,获得0x20地址。 已经成为租约中心,每2小时,公告一次,1秒内连续发送3个报文。 03 48 | 01 | 89 76 73 87 AE 83 78 31 AE 83 78 31 | FF 03 48 | 01 | 89 76 73 87 AE 83 78 31 AE 83 78 31 | 01 本机ID
0x83 公告应答,收到应答,租约中心冲突,放弃成为租约中心。
03 48 | 81 | 89 76 73 87 AE 83 78 38 AE 83 78 39 | FFCMD4:0x04 地址和ID的关系表发布,ID MAP按序列排布,地址隐含表达,一个报文241byte,30个节点Id,1个字节的地址偏移
CMD5:0x05 扩展ID MAP发布,由NODE(EX)节点发布到总线上面,管理无线设备子集
格式: 消息ID 命令 MSGID CMD 2 1 CMD4:0x04 租约表请求 03 48 | 04 |
格式: 消息ID 命令 节点数量 节点表
MSGID CMD NODE [NADDR+VUID] ...
2 1 1 1 12
CMD5:0x05 租约表公布
03 48 | 05 | 03 | 01 | 89 76 73 87 AE 83 78 31 AE 83 78 31 | 02 | 89 76 73 87 AE 83 78 31 AE 83 78 32 | 03 | 89 76 73 87 AE 83 78 31 AE 83 78 35
CMD6:0x06 扩展备案
CMD7:0x07 扩展表公布
CMD16: 0x10 获取VUID命令,返回设备的VUID //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ##EOTA 固件升级 TPE: 0x02 固件升级
开始 --> 接受到触发升级的信号及"固件资源位置"
--> 向"固件资源位置"请求文件
--> BOOT状态 -->发送升级数据包-->END//-------------------------------------------------------------------------------------------------- KV值 KEY-VALUE 文件的关键标识 64BIT
格式: 消息ID 命令 状态 资源位置
MSGID CMD STU VUID + FLKV
2 1 1 8 12
CMD1: 0x01 触发升级
03 48 | 01 | FF |89 76 73 87 AE 83 78 31 AE 83 78 39 | 34 D3 81 47 E3 4D 71 30
0x81 应答
03 48 | 81 | FF |89 76 73 87 AE 83 78 31 AE 83 78 39 | 34 D3 81 47 E3 4D 71 30格式: 消息ID 命令 状态 资源KV 块序列 块内容(请求时内容为空) MSGID CMD STU FLKV BKSEQ DETAILS 2 1 1 12 2 128 CMD2:0x02 传输请求 03 48 | 02 | FF |34 D3 81 47 E3 4D 71 30 | 00 00
0x82 传输应答
03 48 | 82 | FF |34 D3 81 47 E3 4D 71 30 | 00 00 |93 94 ..(128B).. 23 54
0xA2 错误报告
03 48 | A2 | FE |34 D3 81 47 E3 4D 71 30 | 00 00
需要设计OTA报文传输间隔 msCMD3:0x03 连续报文传输请求 状态码: 0x00 填充 0xFD 块请求超出文件范围 0xFE 未知错误 0xFF 填充
//----------------------------------------------------------------------------------------------------
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TPE: 0x03 公告发布,节点数据发布 节点关联列表
联动状态
资源方数据点,AAAAAAAABBBBBBBB.23
联动方数据点,CCCCCCCCDDDDDDDD.02//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TPE: 0x04 控制数据点传输 格式: 消息ID | 命令 | 数据点归属UID |数据点序列 | 2 1 ... CMD1: 0x01 数据广播发布,无需应答,至多到达一次 CMD2: 0x02 数据单播发布,需要应答,至少到达一次 CMD3: 0x03 数据写入,需要应答,至少到达一次
CMD4: 0x04 数据读取,需要应答
格式: 消息ID | 命令 | 数据点数量 | 数据点内容 |
2 1 1 ...
CMD5: 0x05 数据写读,写入目标设备数据点的同时,读取目标设备的数据点
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TPE: 0x10 控制数据传输协议(是否直接采用字符传输??)
1 1 2 8 8 1 8 |版本|异常报告|保留|源UID | 目标UID | 命令.请求PID | 归属UID | 源UID | 目标UID | 命令.请求PID应答 | 归属UID |PID |
SOFTVER
HARDVER
| 命令.请求数据点 | 归属UID |数据点ID |
REPLY | 归属UID |数据点序列|
| 命令.修改数据点 | 归属UID |数据点序列|
| 归属UID |改后的数据序列|
| 命令.上报数据点 | 归属UID |数据点序列|
数据点序列排布方法
${数据点ID}{DP长度}{DP内容}{数据点ID}{DP长度}{DP内容}....
1 1 VAR 1 1 VAR//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 资源定位方式 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 消息服务质量 QoS 0: 消息至多传送 1 次。 QoS 1: 消息至少传送 1 次。 QoS 2: 消息仅仅传送 1 次。
Parts
118| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 100nF | kicad_footprint_general:C_0603_1608Metric | C12, C13, C14, C15, C16, C17, C18, C20, C26, C34, C38, C50 |
| 9 | 5.1k | kicad_footprint_general:R_0603_1608Metric | R40, R41, R42, R43, R44, R45, R46, R47, R48 |
| 9 | RED | kicad_footprint_general:LED_0603_1608Metric | D1, D2, D3, D4, D40, D41, D42, D43, D44 |
| 5 | 0R | kicad_footprint_general:R_0805_2012Metric | R31, R32, R33, R38, R39 |
| 5 | SS14 | kicad_footprint_general:D_SMA | D30, D33, D34, D35, D36 |
| 4 | 1uF | kicad_footprint_general:C_0603_1608Metric | C19, C25, C35, C37 |
| 4 | 3.9V | kicad_footprint_general:D_SOD-123F | D20, D21, D22, D23 |
| 4 | L | TestPoint:TestPoint_Loop_D2.50mm_Drill1.0mm | TL10, TL11, TL20, TL21 |
| 4 | NP | kicad_footprint_general:R_0805_2012Metric | R34, R35, R36, R37 |
| 3 | 10k | kicad_footprint_general:R_0603_1608Metric | R10, R11, R13 |
| 3 | 4.7k | kicad_footprint_general:R_0603_1608Metric | R50, R52, R56 |
| 3 | NP | kicad_footpring_general:R_1206_3216Metric | R21, R201, R202 |
| 2 | 0R | kicad_footprint_general:R_0603_1608Metric | R22, R23 |
| 2 | 1.0R | kicad_footpring_general:R_0603_1608Metric | R27, R28 |
| 2 | 10R | kicad_footprint_general:R_1206_3216Metric | R53, R54 |
| 2 | 18pF | kicad_footprint_general:C_0603_1608Metric | C10, C11 |
| 2 | 220uF | kicad_footprint_general:CP_Elec_6.3x5.4 | C33, C36 |
| 2 | 22nF | kicad_footprint_general:C_0603_1608Metric | C21, C22 |
| 2 | 22uF | kicad_footprint_general:CP_Elec_6.3x5.4 | C23, C24 |
| 2 | 330uH | Inductor_SMD:L_Bourns-SRN4018 | L20, L21 |
| 2 | 33k | kicad_footprint_general:R_0603_1608Metric | R24, R25 |
| 2 | HBS | kicad_footprint_general:PhoenixContact_MCV_1,5_2-G-3.81_1x02_P3.81mm_Vertical | J20, J21 |
| 2 | NP | kicad_footprint_general:SOT-23 | Q20, Q21 |
| 2 | RST | kicad_footprint_general:SW_KAN0541 | SW1, SW2 |
| 1 | 100R | kicad_footprint_general:R_0603_1608Metric | R12 |
| 1 | 100nF | kicad_footpring_general:C_0603_1608Metric | C27 |
| 1 | 10k | kicad_footpring_general:R_0603_1608Metric | R204 |
| 1 | 12M | kicad_footprint_general:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y10 |
| 1 | 15R | kicad_footprint_general:R_Axial_DIN0411_L9.9mm_D3.6mm_P18mm_Horizontal | R30 |
| 1 | 1k | kicad_footprint_general:R_0603_1608Metric | R55 |
| 1 | 1uF | kicad_footprint_general:C_0805_2012Metric | C32 |
| 1 | 220R | kicad_footprint_general:R_0603_1608Metric | R20 |
| 1 | 22uF | kicad_footprint_general:C_1206_3216Metric | C39 |
| 1 | 47uF | kicad_footprint_general:CP_Elec_8x6.5 | C30 |
| 1 | 68uH | kicad_footprint_general:L_Bourns_SRN6045TA | L30 |
| 1 | AMS1117-3.3 | kicad_footprint_general:SOT-223 | U31 |
| 1 | CH32V203C8T6 | kicad_footprint_general:LQFP-48_7x7mm_P0.5mm | U10 |
| 1 | CH340E | kicad_footprint_general:MSOP-10_3x3mm_P0.5mm | U11 |
| 1 | DBG | kicad_footprint_general:USB_C_Receptacle_14Pin | J11 |
| 1 | DCDC_SIP8 | kicad_footprint_general:TDKSIP8 | U1 |
| 1 | MB10S | kicad_footprint_general:Diode_Bridge_MB10S | D31 |
| 1 | MS1192 | kicad_footpring_general:SOIC-16_3.9x9.9mm_P1.27mm | U20 |
| 1 | NP | kicad_footpring_general:C_1206_3216Metric | C28 |
| 1 | NP | kicad_footpring_general:C_0603_1608Metric | C201 |
| 1 | NP | kicad_footprint_general:R_0603_1608Metric | R51 |
| 1 | NP | kicad_footpring_general:R_0603_1608Metric | R203 |
| 1 | POWER | kicad_footprint_general:PhoenixContact_MCV_1,5_2-G-3.81_1x02_P3.81mm_Vertical | J30 |
| 1 | RS485 | kicad_footprint_general:PhoenixContact_MCV_1,5_3-G-3.81_1x03_P3.81mm_Vertical | J40 |
| 1 | SAMBJ28A | kicad_footprint_general:D_SMB | D32 |
| 1 | SP3485CN | kicad_footprint_general:SOIC-8_3.9x4.9mm_P1.27mm | U50 |
| 1 | SS8050 | kicad_footprint_general:SOT-23 | Q50 |
| 1 | USB_P | kicad_footprint_general:USB_C_Receptacle_14Pin | J10 |
| 1 | XL1509 | kicad_footprint_general:SOIC-8_3.9x4.9mm_P1.27mm | U30 |
Questions
How big is the Ekdome PCB?
It measures 87 × 72 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Ekdome use?
118 parts, built around the CH32V203C8T6, CH340E, SP3485CN-L and RS485. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Ekdome KiCad files?
From the KrogeChen/EASYLINK repository on GitHub, at the commit this page was made from: the board is hard/ekdome/ekdome.kicad_pcb and its schematic hard/ekdome/ekdome.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Ekdome design in my own project?
Its repository states no licence, so its author keeps all rights: ask KrogeChen before reusing the design.
Similar boards
- 2 layers87 × 72 mm

- 2 layers50 × 50 mm

- 2 layers204.5 × 113 mm

- 2 layers80 × 100 mm

Ultimate temp controller
Technariumas/ultimate-temperature-controller
Thermocouple based kiln/oven temperature controller accessable via RS485 or LCD/keypad. Supports temperature profiles on a SD card.
76 parts4Apache-2.0 - 2 layers66 × 81.3 mm

- 2 layers16.9 × 14.4 mm

Rs485-ch340e
TG9541/rs485-ch340e
A small CH340E based configurable RS485 or TTL 2/3-wire USB dongle
17 parts15MIT - 2 layers100 × 100 mm

SmoothieMachinePCB
gendeh/Automatic-Smoothie-Maker
ECE 445 - Team 49's KiCad project for Automatic Smoothie Maker.
104 parts - 4 layers32.8 × 36.3 mm

Esp32
gdoor-org/gdoor
Wifi adapter and bus protocol documentation for the Gira TKS Door System
68 parts57GPL-3.0