OpenCM9.04硬件
内存映射
框架
OpenCM9.04的框架图如下所示。OpenCM9.04的原理图基于32位Cortex-M3核心STM32F103CB微控制器。
电源原理图设计为通过5V和3.3V调节器级联。5V电压提供给TTL总线,3.3V电压提供给微控制器、5针端口和4针通信端口。
OpenCM9.04支持USB2.0 Micro-B连接器用于下载程序或执行数据通信。
引脚11(TX1)和引脚12(RX1)不能同时使用,因为引脚11和引脚12属于USART通道1,而该通道已分配给Dynamixel TTL总线。
管脚布局
电源开关
电源开关用于控制电路板的电源和DYNAMIXEL电源的开关。(注意:连接USB电缆时,电路板始终通电。)
串行电池插座
连接两节LBS-04 锂电池。(适用于XL-320舵机供电,当然,用其他符合舵机电压标准的电源也是可以的)
警告:当电池连接到电路板时,不要给电池充电,会导致短路。在给电池充电时,务必断开与电路板的连接。
DYNAMIXEL TTL 3 PIN管脚
用于3pin TTL接口的舵机(DYNAMIXEL TTL 总线)。
通信接口
外围设备使用有线/无线的方式进行通信 (比如BT-410, BT-210, BT-110A, ZIG-110A, LN-101等). OpenCM9.04的4-pin通信端口使用的是 Serial2(USART2)。
4-pin 通信端口线序
例子:通过蓝牙无线方式与手机端进行连接
例子:OpenCM9.04和RC-100遥控器通过蓝牙方式进行连接
例子:OpenCM9.04通过LN-01串口模块与PC连接
用户按钮(USER SW)
可由用户控制/编程的按钮。可用作插脚23或线路板按钮插脚。它可以在setup()中初始化pinMode(23, INPUT_PULLDOWN)。
如果OpenCM9.04正常情况下无法下载程序,请按住“用户按钮”的同时连接USB电缆,黄色状态指示灯将点亮,这时候可以尝试下载程序。如果是更新或恢复固件,请使用此按钮下载方式进行操作。
OpenCM9.04可以通过使用“用户按钮”进入“紧急恢复模式”
Micro-B USB接口
用于将程序下载到OpenCM9.04上,并用于通过USB与其他设备通信,同时向电路板提供5V电压。
连接电池后,USB的5V电源将自动断开,并由电池供电。
如果电流过大,内部保险丝会切断5V USB连接的电流,以保护用户的电脑免受损坏。
[Status LED]
用于测试OpenCM9.04程序的LED。当引脚14或BOARD_LED_PIN拉高时,LED点亮,当引脚拉低时,LED熄灭。也可以使用PWM进行控制。
Status LED 位置
RESET按钮
模拟CPU复位。
JTAG/SWD 4 PIN 接口
用于连接ST-LINK或其他电路调试器/编程器。
JTAG/SWD 4针端口可用于高级用户的各种开发。ST-LINK连接示例如下所示:
例子: ST-LINK 和 OpenCM9.04 连接
ROBOTIS 5-Pin接口
用于连接ROBOTIS 5-pin 设备模块 。
5-pin 端口和管脚说明
5-pin 连接线
5-pin 设备 | Port 1 | Port 2 | Port 3 | Port 4 |
---|---|---|---|---|
IR Sensor | O | X | X | O |
DMS Sensor | O | O | O | O |
Gyro Sensor | O | O | O | O |
Touch Sensor | O | O | O | O |
Color Sensor | X | O | O | X |
Magnetic Sensor | O | O | O | O |
Temperature Sensor | O | O | O | O |
Passive IR Sensor PIR-10 | O | O | O | O |
LED Module | X | O | O | X |
ROBOTIS 适配传感器和LED模块
I/O 管脚接口
OpenCM9.04的CPUSTM32F103CB可以通过GPIO引脚访问。
26个GPIO引脚(0~25)为数字输入/输出,工作电压为3.3V。数字输入高(3.3V)或低(0V)。
数字输入的最大切换速度为18Mhz。(引脚22和23除外,其最大切换速度为2Mhz)。
数字管脚只能承受高达3.3V的电压;任何大于3.3V的电压输入都可能损坏OpenCM9.04。
5V容差引脚:10、11、12、13、14、15、16、17、18、19、20、21
这些引脚可承受的最大电流为25mA。(例外情况:针脚22和23只能耐受3mA。)
OpenCM9.04的所有GPIO引脚都可以在内部“上拉”或“下拉”,并且可以通过软件进行修改。“上拉”和“上拉”电阻为40KΩ(典型)。
OpenCM9.04 GPIO 管脚布局
名称 | 对应的Arduino管脚 | 描述 |
---|---|---|
Serial/SerialUSB | USB Port | |
Serial1 | N/A | DXL Port |
Serial2 | A4, A5 | 4PIN UART |
Serial3 | D24, D25 | OpenCM485 EXP DXL Port |
SPI1 | A1, A6, A7 | |
SPI2 | D19, D20, D21 | |
PWM | A2 ~ D14 | |
ADC | A0 ~ A9 | |
LED | D14 | |
EXTI | A0 ~ D25 | |
I2C | D24, D25 | |
BUTTON | D23 | |
5PIN #1 | D2, D6, D7 | |
5PIN #2 | D3, D8, D9 | |
5PIN #3 | D0, D10, D11 | |
5PIN #4 | D1, D12, D13 | |
4PIN UART | D1, D12, D13 | Serial2 |
- Serial(USART) : 11(TX1), 12(RX1), 4(TX2), 5(RX2), 24(TX3), 25(RX3)
- PWM : 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
- SPI : 0(SS1), 1(SCK1),6(MISO1) ,7(MOSI1), 18(SS2) ,19(SCK2) ,20(MISO2) ,21(MOSI2)
- LED : 14 (BOARD_LED_PIN 被定义为14)
- BUTTON : 23 (BOARD_BUTTON_PIN 被定义为23)
- TWI(I2C) : 24(SCL2), 25(SDA2)
- RST : 该引脚连接到CPU复位信号。
- 5V : 当电池连接到电路板时,输出5V。(仅连接USB电缆时,不输出5V。)
- 3.3V : 通过电池或USB电缆向电路板供电时,输出3.3V。
- GND : GROUND(-) 接地。
- A0 : 数字I/O和模拟输入。
- A1 : 数字I/O和模拟输入。可用于SPI通道1的SCK时钟引脚。
- A2 : 数字I/O和模拟输入, & PWM 输出。
- A3 : 数字I/O和模拟输入, & PWM 输出。
- A4 : 数字I/O和模拟输入, & PWM 输出。USART2(串行2)TX引脚,并连接到4-pin通信端口的TX2。
- A5 : 数字I/O和模拟输入, & PWM 输出。USART2(串行2)RX引脚,并连接到4-pin通信端口的RX2。
- A6 : 数字I/O和模拟输入, & PWM 输出。可以用作SPI通道1的MISO引脚。
- A7 : 数字I/O和模拟输入, & PWM 输出。可以用作SPI通道1的MISO引脚。
- A8 : 数字I/O和模拟输入, & PWM 输出。
- A9 : 数字I/O和模拟输入, & PWM 输出。
- D10 : 数字I/O和PWM输出。
- D11 : 数字I/O和PWM输出。USART1 TX pin.
- D12 : 数字I/O和PWM输出。USART1 RX pin.
- D13 : 数字I/O和PWM输出。
- D14 : 数字I/O和PWM输出。连接到状态指示灯的针脚。它被预先定义为BOARD_LED_PIN。
- D15 : 数字I/O。
- VCC(+) : +电路板的正极电压。有2个VCC(+)引脚,连接到蓄电池插座的正极端子。
- GND(-) : -电路板的负极电压。有2个GND(-)引脚,连接到蓄电池插座的负极端子。
- TTL : Dynamicxel TTL总线的数据线。用于与3pin的TTL DYNAMIXEL舵机进行通信。
- D : DYNAMIXEL TTL总线的方向控制引脚,用于控制发送和接收选择。
- X : DYNAMIXEL TTL 总线的TX pin管脚 (Serial1)。
- L : DYNAMIXEL TTL 总线的RX pin管脚 (Serial1)。
- D16 : 数字I/O管脚。
- D17 : 数字I/O管脚。
- D18 : 数字I/O管脚。
- D19 : 数字I/O管脚,可用于SPI通道2的SCK时钟引脚。
- D20 : 数字I/O引脚,可用于SPI通道2的MOSI引脚。
- D21 : 数字I/O引脚,可用于SPI通道2的MOSI引脚。
- D22 : 数字I/O引脚。最大输出电流为3mA,最大切换速度为2Mhz。
- D23 : 数字I/O引脚。它连接到USER按钮。如果在按下USER按钮时给电路板供电或插入USB口,则电路板将启动紧急恢复(下载)模式。最大输出电流为3mA,最大切换速度为2Mhz。
- D24 : 数字I/O引脚。可以用作OpenCM485 EXP的I2C通道2或USART3的TX(串行3)的SCL引脚。
- D25 : 数字I/O引脚。可以用作OpenCM485 EXP的I2C通道2或USART3的RX(串行3)的SDA引脚。
- 5V : 5V输出引脚。JP2跳线可以修改为连接到AREF引脚,并将默认电压更改为5V。
- AREF : 连接到CPU的模拟参考引脚。通过更换JP2跳线(最大5V),可以从3.3V调整电压。有关规格,请参阅STM32F103CB数据表。)
JP2跳线位置和说明
示例:通过修改JP2将默认模拟参考电压(AREF)更改为5V
警告:当模拟参考管脚(AREF)被修改为5V时,请检查支持5V的引脚。
管脚名称定义
1 |
管脚功能定义
1 | extern const Pin2PortMapArray g_Pin2PortMapArray[]= |