什么是外设适配器,为什么要拓展外设?
飞控的外设接口有限,如串口只有8个,I^2C只有一个,CAN口只有一个,这些接口数量如果不能满足预期的传感器数量,那么就需要对这些接口进行拓展,外设适配器可以看做是充当接口拓展功能的存在,当然它本身就是飞控的一个外设。飞控、外设适配器、拓展传感器 他们之间的关系可以用下图来简单概括:
- 飞控先用CAN总线与外设适配器连接,外设适配器再与其他传感器通过CAN、UART、IIC接口连接,达到扩展接口的效果:
- 飞控直接用CAN口与CAN外设(CAN传感器)连接:
目前支持的CAN外设、CAN外设适配器、外设适配器产品列表:
DroneCAN Peripherals
外设固件、外设适配器固件
与ArduPilot一样,可以指定target board、传感器驱动等来进行编译。使用单个配置文件(hwdef.dat)完成的AP_Periph板的所有固件构建配置定义了设备的输入/输出以及将包括哪些设备驱动程序,其方式与飞控板相同!!
- 现有的飞控固件、外设固件:
https://firmware.ardupilot.org/ - 硬件定义文件
hardware definition files - 编译 新飞控、自定义飞控、新外设板、新外设适配器板
Porting to a new flight controller board
以 mRobotics DroneCAN Adapter Node 为例
- mRo CAN Node 是与ArduPilot的合作项目。它最初的愿望是让CAN外围设备在无人机社区中更标准。
- 有了这个板子,您可以很容易地利用ArduPilot驱动程序库支持的GPS、基于I2C和GPIO(如 安全开关)的外围设备转换为DroneCAN总线外围设备。
- 后续再根据参考文献补充完整…
- 参考文献
mRobotics DroneCAN Adapter Node
DroneCAN Adapter Node
DroneCAN Adapter Setup
DroneCAN Setup
DroneCAN Setup