Skip to the content
PCBKitNew board
2 layers87 × 72 mmEkdome, the printed circuit board in 3D

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

10

README

README.md

TOPOLOGY

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

text
-->发布租约中心公告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

text
 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 | 03

CMD2:0x02 续租请求
35 AE | 02 | 89 76 73 87 AE 83 78 4A AE 83 78 4A | 03

text
 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 | 03

CMD3: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

text
 0x83 公告应答,收到应答,租约中心冲突,放弃成为租约中心。
      03 48 | 81 | 89 76 73 87 AE 83 78 38 AE 83 78 39 | FF

CMD4: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 固件升级

开始 --> 接受到触发升级的信号及"固件资源位置"

text
 --> 向"固件资源位置"请求文件

 --> 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

text
  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

text
 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报文传输间隔 ms

CMD3:0x03 连续报文传输请求 状态码: 0x00 填充 0xFD 块请求超出文件范围 0xFE 未知错误 0xFF 填充

//----------------------------------------------------------------------------------------------------

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

TPE: 0x03 公告发布,节点数据发布 节点关联列表

text
	  联动状态
	  
	  资源方数据点,AAAAAAAABBBBBBBB.23
	  联动方数据点,CCCCCCCCDDDDDDDD.02

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TPE: 0x04 控制数据点传输 格式: 消息ID | 命令 | 数据点归属UID |数据点序列 | 2 1 ... CMD1: 0x01 数据广播发布,无需应答,至多到达一次 CMD2: 0x02 数据单播发布,需要应答,至少到达一次 CMD3: 0x03 数据写入,需要应答,至少到达一次

text
 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 |

text
													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
QtyValueFootprintReferences
12100nFkicad_footprint_general:C_0603_1608MetricC12, C13, C14, C15, C16, C17, C18, C20, C26, C34, C38, C50
95.1kkicad_footprint_general:R_0603_1608MetricR40, R41, R42, R43, R44, R45, R46, R47, R48
9REDkicad_footprint_general:LED_0603_1608MetricD1, D2, D3, D4, D40, D41, D42, D43, D44
50Rkicad_footprint_general:R_0805_2012MetricR31, R32, R33, R38, R39
5SS14kicad_footprint_general:D_SMAD30, D33, D34, D35, D36
41uFkicad_footprint_general:C_0603_1608MetricC19, C25, C35, C37
43.9Vkicad_footprint_general:D_SOD-123FD20, D21, D22, D23
4LTestPoint:TestPoint_Loop_D2.50mm_Drill1.0mmTL10, TL11, TL20, TL21
4NPkicad_footprint_general:R_0805_2012MetricR34, R35, R36, R37
310kkicad_footprint_general:R_0603_1608MetricR10, R11, R13
34.7kkicad_footprint_general:R_0603_1608MetricR50, R52, R56
3NPkicad_footpring_general:R_1206_3216MetricR21, R201, R202
20Rkicad_footprint_general:R_0603_1608MetricR22, R23
21.0Rkicad_footpring_general:R_0603_1608MetricR27, R28
210Rkicad_footprint_general:R_1206_3216MetricR53, R54
218pFkicad_footprint_general:C_0603_1608MetricC10, C11
2220uFkicad_footprint_general:CP_Elec_6.3x5.4C33, C36
222nFkicad_footprint_general:C_0603_1608MetricC21, C22
222uFkicad_footprint_general:CP_Elec_6.3x5.4C23, C24
2330uHInductor_SMD:L_Bourns-SRN4018L20, L21
233kkicad_footprint_general:R_0603_1608MetricR24, R25
2HBSkicad_footprint_general:PhoenixContact_MCV_1,5_2-G-3.81_1x02_P3.81mm_VerticalJ20, J21
2NPkicad_footprint_general:SOT-23Q20, Q21
2RSTkicad_footprint_general:SW_KAN0541SW1, SW2
1100Rkicad_footprint_general:R_0603_1608MetricR12
1100nFkicad_footpring_general:C_0603_1608MetricC27
110kkicad_footpring_general:R_0603_1608MetricR204
112Mkicad_footprint_general:Crystal_SMD_3225-4Pin_3.2x2.5mmY10
115Rkicad_footprint_general:R_Axial_DIN0411_L9.9mm_D3.6mm_P18mm_HorizontalR30
11kkicad_footprint_general:R_0603_1608MetricR55
11uFkicad_footprint_general:C_0805_2012MetricC32
1220Rkicad_footprint_general:R_0603_1608MetricR20
122uFkicad_footprint_general:C_1206_3216MetricC39
147uFkicad_footprint_general:CP_Elec_8x6.5C30
168uHkicad_footprint_general:L_Bourns_SRN6045TAL30
1AMS1117-3.3kicad_footprint_general:SOT-223U31
1CH32V203C8T6kicad_footprint_general:LQFP-48_7x7mm_P0.5mmU10
1CH340Ekicad_footprint_general:MSOP-10_3x3mm_P0.5mmU11
1DBGkicad_footprint_general:USB_C_Receptacle_14PinJ11
1DCDC_SIP8kicad_footprint_general:TDKSIP8U1
1MB10Skicad_footprint_general:Diode_Bridge_MB10SD31
1MS1192kicad_footpring_general:SOIC-16_3.9x9.9mm_P1.27mmU20
1NPkicad_footpring_general:C_1206_3216MetricC28
1NPkicad_footpring_general:C_0603_1608MetricC201
1NPkicad_footprint_general:R_0603_1608MetricR51
1NPkicad_footpring_general:R_0603_1608MetricR203
1POWERkicad_footprint_general:PhoenixContact_MCV_1,5_2-G-3.81_1x02_P3.81mm_VerticalJ30
1RS485kicad_footprint_general:PhoenixContact_MCV_1,5_3-G-3.81_1x03_P3.81mm_VerticalJ40
1SAMBJ28Akicad_footprint_general:D_SMBD32
1SP3485CNkicad_footprint_general:SOIC-8_3.9x4.9mm_P1.27mmU50
1SS8050kicad_footprint_general:SOT-23Q50
1USB_Pkicad_footprint_general:USB_C_Receptacle_14PinJ10
1XL1509kicad_footprint_general:SOIC-8_3.9x4.9mm_P1.27mmU30

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 mmEasyprb, the printed circuit board in 3D

    Easyprb

    KrogeChen/easyprintf

    easy printf debug box for small mcu

    104 partsGPL-3.0
  • 2 layers50 × 50 mmSeriallight, the printed circuit board in 3D

    Seriallight

    eurovibes/seriallight

    Enlight the shiny Berlin S-Bahn character lights

    71 parts
  • 2 layers204.5 × 113 mmSTM, the printed circuit board in 3D

    STM

    Noraiz963/Mini-PLC-

    Compact industrial mini PLC designed in KiCad

    139 parts1
  • 2 layers80 × 100 mmUltimate temp controller, the printed circuit board in 3D

    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 mmMmnet base 00, the printed circuit board in 3D

    Mmnet base 00

    dzavalishin/hardware

    Misc smart house hardware

    60 parts3
  • 2 layers16.9 × 14.4 mmRs485-ch340e, the printed circuit board in 3D

    Rs485-ch340e

    TG9541/rs485-ch340e

    A small CH340E based configurable RS485 or TTL 2/3-wire USB dongle

    17 parts15MIT
  • 2 layers100 × 100 mmSmoothieMachinePCB, the printed circuit board in 3D

    SmoothieMachinePCB

    gendeh/Automatic-Smoothie-Maker

    ECE 445 - Team 49's KiCad project for Automatic Smoothie Maker.

    104 parts
  • 4 layers32.8 × 36.3 mmEsp32, the printed circuit board in 3D

    Esp32

    gdoor-org/gdoor

    Wifi adapter and bus protocol documentation for the Gira TKS Door System

    68 parts57GPL-3.0