├── Readme.md ├── img ├── cdbus_logo.svg ├── cdctl01a.jpg └── x1600.jpg └── intro_zh.md /Readme.md: -------------------------------------------------------------------------------- 1 | 2 | [[Chinese / 中文]](./intro_zh.md) 3 | 4 | cdbus_logo 5 | 6 | A New Generation of Fieldbus Integrating Simplicity, Versatility, 7 | High Performance, Reliability, Openness, and Low Cost 8 | 9 | 10 | ## Make UART / RS-485 Great Again 11 | 12 | CDBUS is based on and compatible with the UART / RS-485 protocol and hardware, introducing mechanisms like hardware packetization and arbitration. This allows each node to freely send and receive data packets, breaking the traditional polling limitation of UART / RS-485 buses. The software layer can treat the half-duplex bus as if it were full-duplex. 13 | 14 | The CDBUS controller, CDCTL01A, comes in a 3x3mm QFN package, supports communication rates up to 50 Mbps (50,000,000 bps), interfaces with the user's controller via SPI, and operates in a temperature range from -40°C to 125°C. It is simple to get started with. 15 | 16 | cdctl01a x1600 17 | 18 | Some MCUs / CPUs also come with built-in CDBUS controllers. 19 | 20 | ## Application Scenarios 21 | 22 | - Industrial automation, robotics, smart cities, automotive electronics, consumer electronics, modular toys, IoT, video transmission, etc. 23 | - For more complex applications, such as humanoid robots, traditional CAN and RS-485 performance is no longer sufficient, 24 | while industrial Ethernet protocols like EtherCAT are overly complex. CDBUS perfectly fills this gap. 25 | - For joint motor control in robotic arms, CDBUS allows direct debugging through the user communication interface. 26 | Waveform data and logs can be sent back to the base proactively without conflicting with user-issued commands. 27 | You can select and debug any one or multiple joints via software, even after the enclosure is assembled, 28 | without the need to add a USB debug port for each motor driver. 29 | - Many servo products do not support broadcast reply, preventing efficient host-side status retrieval of each servo on the bus. 30 | With CDBUS, all servos can reply to broadcast packets together, and the bus automatically handles scheduling to avoid conflicts. 31 | (The host side can use traditional hardware.) 32 | - Some devices using RS-232 are not convenient for bus connections, and communication speed and distance are limited. 33 | Why not switch to RS-485? Traditional RS-485 is half-duplex, which prevents slave devices from sending data proactively, 34 | making it quite inconvenient. However, CDBUS can overcome this limitation, potentially phasing out RS-232 over time. 35 | - For applications involving low-speed data acquisition, such as temperature monitoring or fire alarm systems, 36 | traditional RS-485 polling cycles can be very long. Switching to CDBUS with proactive reporting can significantly increase 37 | data collection efficiency and shorten alarm response times. 38 | 39 | ## Resource List 40 | 41 | - CDBUS Protocol and IP Core: https://cdbus.org 42 | - CDCTL01A Datasheet: https://dukelec.com/en/download.html 43 | - CDNET: https://github.com/dukelec/cdnet 44 | CDNET Protocol and CDBUS / CDNET C Library 45 | - CDBUS-Bridge: https://github.com/dukelec/cdbus_bridge 46 | USB to RS-485 (CDBUS) Converter 47 | - CDSTEP: https://github.com/dukelec/cdstep 48 | Stepper Motor Controller 49 | - CDFOC: https://github.com/dukelec/cdfoc 50 | FOC Motor Controller 51 | - CDCAM: https://github.com/dukelec/cdcam 52 | RS-485 / CDBUS JPEG Camera 53 | - CDPNP: https://github.com/dukelec/cdpnp 54 | Compact desktop semi-automatic SMT prototyping machine 55 | - CDBUS-GUI: https://github.com/dukelec/cdbus_gui 56 | Serial / CDBUS / CDNET GUI Tool 57 | - PYCDNET: https://github.com/dukelec/pycdnet 58 | CDBUS / CDNET Python Library 59 | - CDNET-TUN: https://github.com/dukelec/cdnet_tun 60 | Virtual IP/UDP network interface for CDNET 61 | - More resources: https://github.com/dukelec?tab=repositories 62 | 63 | -------------------------------------------------------------------------------- /img/cdbus_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 23 | 25 | 44 | 49 | 53 | 57 | 61 | 65 | 68 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /img/cdctl01a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dukelec/cdbus_doc/1867f10674b1cbe194957c8f512444db86bf128e/img/cdctl01a.jpg -------------------------------------------------------------------------------- /img/x1600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dukelec/cdbus_doc/1867f10674b1cbe194957c8f512444db86bf128e/img/x1600.jpg -------------------------------------------------------------------------------- /intro_zh.md: -------------------------------------------------------------------------------- 1 | 2 | cdbus_logo 3 | 4 | 简单通用、高性能、高可靠性、开放 和 低成本 为一体的新一代现场总线 5 | 6 | ## Make UART / RS-485 Great Again 7 | 8 | CDBUS 基于且兼容 UART / RS-485 协议和硬件,引入了 硬件分包 和 硬件仲裁 等机制,各节点可以自由收发数据包, 9 | 打破传统 UART / RS-485 总线只能轮询的限制。软件层可以把半双工总线当作全双工使用。 10 | 11 | CDBUS 控制器 CDCTL01A 为 QFN 3x3mm 封装,通讯速率高达 50 Mbps (50000000 bps),SPI 口接用户主控,工作温度范围 -40~125°C,上手简单。 12 | 13 | cdctl01a x1600 14 | 15 | 另有一些 MCU / CPU 自带 CDBUS 控制器。 16 | 17 | ## 应用场景 18 | 19 | - 工业自动化、机器人、智慧城市、汽车电子、消费电子、模块化玩具、IoT 物联网、视频传输 … 20 | - 对于机器人等稍复杂的应用,特别是人型机器人,传统 CAN、RS-485 的性能已经不够用,而 EtherCAT 等工业以太网又太过繁杂。而 CDBUS 正好填补了这之间的空白。 21 | - 对于机械臂等关节电机驱动,使用 CDBUS 可以直接通过用户通讯接口进行调试,波形数据、调试打印可以上报到底座, 22 | 不会和用户下发的命令冲突,可软件选择调试任意一个或多个关节,即便装配了外壳也丝毫不影响调试,完全没有必要为每个电机驱动增加一个 USB 调试口。 23 | - 舵机等产品,普遍不支持广播包回包,导致主机无法高效获取总线上各舵机的状态。使用 CDBUS 所有舵机可以一起回复广播包,总线会自动调度,避免冲突。(主机端可以使用传统硬件。) 24 | - 一些使用 RS-232 的设备,不方便总线连接,通讯速度和距离也受限,为何不改用 RS-485 通讯? 25 | 因为传统 RS-485 是半双工,从机设备不能主动发送数据,十分不便。而使用 CDBUS 可以打破这种限制,让 RS-232 慢慢退出历史舞台。 26 | - 一些低速数据采集的应用,譬如 温度采集 和 消防系统,传统 RS-485 轮询一个周期时间很长,改用 CDBUS 主动上报可以大幅提升采集效率和缩短报警时间。 27 | 28 | ## 资源列表 29 | 30 | - CDBUS 协议及 IP 核: https://cdbus.org 31 | - CDCTL01A 芯片手册: https://dukelec.com/en/download.html 32 | - CDCTL01A 芯片 FAQ: https://github.com/dukelec/cdbus_doc/wiki/CDCTL01A-芯片-FAQ-中文版 33 | - CDNET 协议及代码库: https://github.com/dukelec/cdnet 34 | - CDBUS-Bridge: https://github.com/dukelec/cdbus_bridge 35 | USB 转 RS-485 (CDBUS) 36 | - CDSTEP: https://github.com/dukelec/cdstep 37 | 步进电机控制器 38 | - CDFOC: https://github.com/dukelec/cdfoc 39 | FOC 无刷电机控制器 40 | - CDCAM: https://github.com/dukelec/cdcam 41 | RS-485 / CDBUS JPEG 摄像头 42 | - CDPNP: https://github.com/dukelec/cdpnp 43 | 半自动桌面贴片机 44 | - CDBUS-GUI: https://github.com/dukelec/cdbus_gui 45 | Serial / CDBUS / CDNET 图形界面上位机工具 46 | - PYCDNET: https://github.com/dukelec/pycdnet 47 | CDBUS / CDNET Python 库 48 | - CDNET-TUN: https://github.com/dukelec/cdnet_tun 49 | 用于 CDNET 的 IP/UDP 虚拟网口 50 | - 更多资源: https://github.com/dukelec?tab=repositories 51 | 52 | --------------------------------------------------------------------------------