2

这是我们SegmentFault在开源硬件上追求跨界的努力。《开源硬件通行资料》每篇文章围绕一个话题,集合各种开发板完成同一个需求的方法,去总结各个开发平台之间的共性与区别。

让每种板卡的用户,都能平等的获取资料和知识,而不至于由于板卡的区别而分出阵营,这甚至对我个人都是一项很强的理想和渴望。

所有内容保证在我现有的以下板卡上实测:

  • Raspberry Pi (Model B, UK)
  • CubieBoard 1/2
  • CubieTruck (CB3)
  • pcDuino V3
  • Banana Pi
  • BeagleBone Black (Embest, BB-Black中国版)
  • Arduino Nano (如果相关)

如果其他板卡能够查到资料,也可能会收录一些未经实际测试的内容。同时欢迎其他厂商向SegmentFault提供测试平台,支持本系列文章的创作!


第一篇我们从串口开始。拿到开发板之后,和板子的交互通常是键鼠直接操作,或SSH远程登录。

但如果碰到各种问题需要调试时,使用传统的串口直接强行连接开发板的命令行,在任何时候作为保底方案都是必要的。

本篇文章整理总结各种开发板的串口的位置及资料,以备不时之需。

关于UART串口

一般而言,对UART串口只关心3根线:

  • RXD(数据接收) 一般是白色
  • TXD(数据发送) 一般是绿色
  • GND(地) 肯定是黑色

一定要小心:这里的RXD和TXD的收发,都是对于两侧设备自己的角度而言的
所以两个设备连接时必须GND连GND(共地),RXD和TXD交叉。串口定义如此。

某些设备会自作聪明的标反RXD与TXD,引导用户看似方便的“R连R、T连T”,这其实是完全错误的,请千万小心
如果出现数据接收不到,可以试着翻转一下RXD和TXD,看一下您的模块是否存在这个问题。

一般而言,串口的连接器都是2.54mm的标准插针。如无特别注明,以下串口均为3.3V电平,串口配置均为115200 8N1

USB转TTL可能会有VCC/3.3V/5V等类似的电源接口。这个接口的作用是对外少量供电,不是说两方板子的VCC需要互连——甚至互连了会有危险(电压不同会引起双方电源电流互灌)。请一定要把USB转TTL模块上的VCC留空不接

注:RTS(黄)和CTS(蓝)是UART串口可选的控制信号,在高可靠性应用中可能会用到,平时并非必须。

Raspberry Pi

UART0用于调试,在连接器P1上。RXD:10, TXD:8, GND:6。
Raspberry Pi实际上只有一个UART串口——虽然存在UART1,但和UART0共享同样的引脚位置。

RPi串口位置

CubieBoard 1/2

UART0用于调试,在主板正中间的连接器J3上。RXD:3, TXD:4, GND:1,板子上有直接的文字标注。
另外有UART3,4,5,6四个串口,可以从两侧的GPIO排针上引出。可参阅这个页面

CB1/2串口位置

CubieTruck (CB3)

UART0用于调试,在主板右下角标有UART0的连接器CN7上。RXD:3, TXD:4, GND:1,板子上有直接的文字标注。
另外有UART3,4,7三个串口,可以从两个GPIO双排针上引出。可参阅这个页面

CT串口位置

pcDuino V3

UART0用于调试。在主板加框印字UART_0的旁边的3pin排针上。
另有UART2可以引出,其位置和Arduino一致(0、1号引脚)。

pcD串口位置

Banana Pi

UART0用于调试。位置在J11(相对于Raspberry Pi多出来的2pin排针),需要从J12借用GND共地。
另有UART2和UART3从26pin双排针上引出,UART7从J12双排针引出。

BnnPi串口位置

BeagleBone Black

UART0用于调试。在CPU左侧唯一做成排针(而不是排座)的位置。另有UART1、UART2和UART4可以从左侧双排座引出。

BBB串口位置

Radxa Rock

请参照http://wiki.radxa.com/Rock/extension_header。可使用UART0、UART3和UART1。

Arduino

Arduino系列产品的串口全部在0和1号引脚。(Due等少数型号可能有其他串口,请参阅对应型号的手册)


《开源硬件通行资料》系列文章,周三更新,敬请关注!
SegmentFault原创技术资料,原作者沙渺(shamiao),使用·转载请遵守本站相关版权声明。


沙渺
21.8k 声望1.1k 粉丝

1998年入行,普通的电脑老玩家。Web、嵌入式Linux和电子产品设计研究者。


引用和评论

0 条评论