找回密码
 注册
关于网站域名变更的通知
查看: 294|回复: 3
打印 上一主题 下一主题

iTOP-4412开发板-串口基础知识和测试方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-26 10:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本文档介绍嵌入式上串口通用的基础知识和测试方法。
% Y! l8 Q4 A+ b+ B  M% u请注意文档中,关于硬件的很多描述都带有“一般情况”这样的字样,表明是有特殊情况2 r$ U: E; l/ R* z" }, Y7 p1 v
的,但是在大多数情况下,去掉“一般情况”都是正确的。硬件很多情况下是“模糊”,偏向
1 O* s' H$ y8 h) g0 O  u$ w( T, M于“差不多”,执着于“硬件系统长时间在特定环境下稳定运行最重要”,在设计上一定有/ \1 K2 F" a. ^: n5 F" \/ b# D
“取舍”,虽然有一个“最优解”,我们只能尽量接近“最优解”,但是永远不能到达。
9 t1 _' i. o9 O/ ?# A9 l硬件不像软件,每一个接口都是严格定义,不允许有差不多的情况。* B; v4 ?0 w) q7 _8 p
1 基础电平知识
/ T& |; d. `2 W2 c% T1.1 TTL 电平和 CMOS 电平! j/ ]" J+ V* s  x" D. Y
在大学电子专业课《数字电路分析》中,有提到电平的概念,通常有 TTL 和 CMOS 电
: P& h* ]) I' Y0 e" g平,TTL 和 CMOS 又各自细分为多种电平,这里为了方便文字描述,统称为 TTL 电平。TTL3 m& ~  T9 V3 R& w& _2 d
和 CMOS 是有很大区别的,但是对于纯粹的数字电路,区别不是很大,唯一要注意的是信号
" s9 P1 a* G, K8 l; u/ Q' P的电压值,电压不一样则需要使用电平转换芯片,抬高或者降低信号的电压。$ n- J& e/ a' ~5 W* n! y
另外为了达成文档目标--为了让大家能够快速掌握串口的快速测试,这里将 TTL 根据电平
3 C2 }( }" f* m! Y值分为 1.8VTTL 电平、3.3VTTL 电平和 5VTTL 电平。% w) @1 D* M) ^. a& J. Q
TTL 电平在一般情况下,高电平(1.8V、3.3V 或者 5V)表示逻辑 1,0V 表示逻辑 0。
% c0 ]" n7 K- ]  J! P3 }一般情况下,CMOS 和 TTL 进行数据传输的时候,只要电平相同和 IO 的类型,就可以正
. Y2 L7 ^5 F, `, |8 Z9 g/ P常通信。
8 a  n3 a/ R4 `9 v) X, V: {# {6 O那么这里有一个基本的结论:TTL 电平的串口,无论是只要开发板和模快的 TTL 电平值相
  ?3 x5 G. n0 T* c' W同。开发板的 TX 和测试模组 RX 相接,开发板的 RX 和测试模组 TX 相接,共 GND 地,就可# W. c$ H# e/ p& R. ~8 }' z0 d
以正常通信。
+ k+ Y) ^7 a5 F1.2 RS232 电平* G& h8 A- s1 T: @. H; s: h
接着来介绍 RS232 电平,关于 RS232 的知识,网上非常多,作者只介绍大家在使用过程
5 P$ c% `6 G) P( T& n; n中最不容易和最重要的部分。
  U2 h. z: D  Q; v0 o0 i) ARS232 的电平要表示逻辑 1,电平是在-3V~-15V 之间,逻辑 0 的电平是在 3V~15V 之2 D! P; f7 M5 l+ [
间,如果电平在-3V~3V 之间,是没有任何意义的。* Z1 c! ]$ v/ A  t
那么显然,无论是什么电平的 TTL 都是无法直接和 RS232 通信,一个用高电平表示逻辑
( ~5 k* ~/ T7 b8 {, K1,一个用高电平表示逻辑 0。
- i4 ]" Q) x. c+ p: U1.3 232 电平转换芯片-TTL 串口和 RS232 的通信
9 I9 V7 c' z$ m0 c为了能够让 TTL 的串口和 RS232 串口通信,则需要将 TTL 电平的串口转化为 RS232 电+ Q3 P/ G5 m/ L
平。* h: q. K- I8 I0 Y) L% x2 m
将 TTL 的 5V 串口转换为 RS232 串口信号,需要 MAX232 芯片(MAX 是美信的意思,5 o4 k. c- S0 ]3 l$ `. _: W
是一个家公司的简写),将 TTL 的 3.3V 串口转化为 RS232 串口信号,需要 MAX3232。
9 Q; ]* o/ c+ Z% j现在很多 PC 上没有串口接口,但是可以使用 USB 转串口,一般情况下,我们默认 USB6 h" X4 T3 O3 i' t" F. \0 @& C% Y
转出来都是 RS232 串口信号(也有 USB 转 TTL 串口芯片)。2 @" T; J5 y) m" D3 o
只要都转成了 RS232 电平,TX 接 RX,RX 接 TX,双方就可以通信了。
. C) b. j7 ]2 H1.4 串口和模块通信需要注意的地方/ q# H; `0 ]+ m2 F
特别要注意的只有一点:一定要弄清楚电平!/ Z, s! P/ {' E2 v+ O, r& l; U
模块如果说是串口,那么它有可能是 RS232 电平的串口,可能是 TTL1.8V 串口,可能是
3 s8 s1 P+ G$ ]4 X8 o9 X3 dTTL3.3V 电平的串口,还有可能是 TTL5V 的串口。
# u6 U) F0 ~) ^7 A4 y8 Y, E关于开发板串口,参考用户手册上第一章,串口相关的小节,上面描述了每一个串口的电
* e  {  S* f. a. V) P* j4 G& S  r6 b+ j! @平、网络标号、复用情况还有软件相关的设备节点。
& J% }) r# ]9 Y- O; f另外就是 TX 和 RX 不同的硬件工程师,命名的时候可能不太一样,如果 TX 接 RX 不能正  {* i+ Z5 Z: F* k/ B" g
常通信,可以交换一下。
. `9 Y( j! V, x1 M2 快速测试方法
. ~; y& J, M' y3 \: [2 P本节介绍如何快速测试开发板的串口,用于判断串口是否发送和接收正常。
. {/ j8 b6 I( U; B# \- J3 ^先了解一下几个概念“全双工”、“半双工”和“单工”。
0 S! `+ V) X7 Q) P单工指的是,通信的双方,一端负责发,另外一端负责收,典型的例如收音机。4 d% z& Q$ s4 T
半双工指的是,通信的双方,两端都可以收发,但是同一时间点,一端发,另外一端就只& W5 H  _0 M3 H4 E0 n( f
能收,不能同时收发。典型的如 RS485 和 USB 设备。( r* @# r, r8 b2 `( d
全双工指的是,通信的双方,两端可以同时收发,最典型的就是串口,发送的同时也可以# o+ F, u1 O  L( P" V
接收。也就是串口的 TX 和 RX 相互不干扰,可以同时工作。! X, c) h* u. h$ r0 o
串口是全双工的,那么如果开发板串口的 TX 和 RX 短接,会出现什么情况呢?当然是正. Y  K$ V1 ?6 U+ C% w; J7 Z5 f
常的自发自收,发什么收什么。( V) l5 c  E5 [/ f+ H3 x
例如为了测试 USB 转串口模块,可以将串口端的 TX 和 RX 端口短接(USB 速率远高于7 m/ {+ @9 x$ s6 H) i- Z9 d0 Y+ c6 i
串口,半双工的 USB 不会影响串口的自发自收),那么就会出现发送什么数据,就接收什么
% a! W( P1 c' @2 I# ?) q' L1 y数据。
, v  T& f6 J" b2 x快速测试开发板的串口,也可以用 TX 和 RX 短接的方法,最简单的方法使用一把小镊子0 l5 V/ o% m- i* @" E! x5 \: w
(导线也成),镊子的两个尖端,一端接 TX,一端接 RX,然后运行串口自发自收的测试程- t! _) h( u& K
序。
  v% S& X3 r( {TX 和 RX 短接可以是 TTL 电平也可以是 RS232 电平,如下图所示,是 iTOP-4412 精英! D, r% B7 F7 q
版(迅为其它开发板类似)MAX3232 部分的原理图。
4 |5 c6 {% ~, z# p6 l ) X( R1 K6 c) s, s# J
如上图所示,上面 4 个方框中的两个 pin 脚都可以短接,效果一样。R20 和 RS21 左端可
1 d6 d4 O% D: @! n( \' Z5 h4 ^6 {以短接、MAX3232 的 pin9 和 pin10、MAX3232 的 pin7 和 pin8 可以短接、CON2
: n, X$ T& e* }, e9 Y(DB9)的 pin2 和 pin3 可以短接,这样开发板就可以实现自发自收。/ X. `9 I8 ~) G) d
请注意,如果要测试串口,请务必参考对应开发板的用户使用手册上第一章,串口相关的6 J$ Z: ^* f& d7 T
小节,因为有一些模块需要用到串口,有一些串口是复用的。
0 [% j0 U' p( Q" O. W+ b将开发板的串口 TX 和 RX 短接,使用“iTOP-4412-Android-串口测试文档(升级版)9 N% E4 ~0 r- \: i# |1 N6 \
_V2.0.zip”独立文档中的串口程序,发送什么字符串,开发板就接收一样的字符串。- L, e+ ~# N) _; L9 F- ^; K) ^/ l

该用户从未签到

2#
发表于 2020-4-26 14:11 | 只看该作者
iTOP-4412开发板-串口基础知识和测试方法

该用户从未签到

3#
发表于 2020-4-28 10:31 | 只看该作者
学习方法了,谢谢分享

该用户从未签到

4#
发表于 2020-6-5 10:29 | 只看该作者
学习辽多谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 21:37 , Processed in 0.250000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表