串口通信的基本知识
--参考朱有鹏ARM裸机编程
目标:我们要把printf函数是怎么移植到嵌入式系统当中的。
1、通信的历史:
(1)最早的通信:烽火台,狼烟,信件:有文字的出现。
电子通信,电报,网络信号。
他传递是就是0或者1
(2)通信中最重要的两个部分:
信息表示、解析方法 +信息传输方法
信息的传输方法是跟我们编程是没有关系的。
(3)通信双方事先需要约定好信息的表示方法和解析方法,做到一致,
否则信息不能进行有效的传递。
(4)信号的传输方法是指经过编码后的通信信息。
如何在传输介质上传输的过程。
总结:
通信过程其实分为三个步奏:
首先发送方先按照信息编码的方式对有效信息进行编码。
(编码成可以在通信线路)然后编码后的信息在传输介质上进行传输。
输送给接收方,最后接收方接收到编码信息后进行解码。
2、电子通信的概念1、同步通信和异步通信
(1)同步和异步的区别:
首先很多地方都有同步和异步的概念。
简单的来说就是发送方和接收方按照同一个时钟节拍工作就叫做同步。
发送方和接收方没有统一的时钟节拍,而按照自己的工作的节拍就叫做异步。
(2)同步通信中,通信双方按照统一节拍工作,所以配合很好。
一般需要发送方给接收方发送信息同时发送时钟信号。
接收方根据发送方给它的时钟信号来安排自己的节奏。
同步通信用在通信双方信息交换频率固定,或者经常通信的时候。
优势:配合很好,需要专门的时钟线。
(3)异步通信又叫做异步通知:
在双方通信的频率不固定的时候,有时候3毫秒发一次,有时候可能三天发一次。
这种情况下面不适合同步通信而适合异步通知。
异步通信时,我们接收方不必一直在意发送方,发送方需要发送信息时会给我们接收方
一个信息开始的起始信号,接收方接收到起始信号后,就认为后面紧跟着就是有效的信号。
直到收到发送方发过来的结束标志。
3、电子通信的概念2:电平信号和差分信号。
(1)电平信号和差分信号是用来描述通信线路传输方式的,也就是说如何在通信线路上
表示1和0的。
(2)电平信号的传输线中有一个参考电瓶线,一般是GND,然后在信号线上的信号值是由信号线的
电平和我们的参考电平的电压差决定的。
(3)差分信号的传输线中没有参考电平,所有的都是信号线,然后1和0的表达靠信号线的电压差
表示。
绝对的电平是毫无意义的。
电平信号的两根通信线之间的电平差异容易受到干扰
传输容易失败。
差分信号不容易受到干扰因此传输质量比较稳定,现代
通信信号一般是用差分信号。
干扰一到的话,容易走到1.2到1.5之间。
这就是我们说的差分信号的好处。
4、电子通信概念3:并行接口和串行接口
(1)串行还是并行主要是考虑通信线的根数,发送方和接收方
同时可以传递的信息量的多少。
(2)比如在电平信号线下,一根参考电平线+1根信号线可以传递1位二进制
如果我们有三根线(2根信号线和1根参考线)
如果想同时发送8位二进制需要9根线。
(3)在我们差分信号线下,2根线(彼此差分)
可以同时发送1位二进制;
如果需要同时发送8位二进制,需要16根线
总结:看起来视乎相同根数的通信线下,电平信号要比差分信号快。
但是实际还是差分信号快,因此差分信号抗干扰能力。
因此1个发送周期更短。
总结:
听起来视乎并行接口比串行接口要快
(串行接口一次只能发送1位二进制,而并行接口一次可以发送多位二进制)
要更优秀。
但是实际上串行接口才是王道,用的比较广,因为更省信号线。
而且对传输线的要求更低,成本更低。而且在串行时可以
通过提高通信速度来提高总体通信性能,不一定非要并行。