微处理器(51、stm32等)通信方式讲解(以串行通信为主讲解)

微处理器(51、stm32等)通信方式讲解(以串行通信为主讲解)

通信是指微处理器(例如stm32、51等芯片)与外界的信息传输,既包括芯片与芯片之间的数据传输,也包括芯片与外设。数据通信中按每次传送的数据位数,通信方式可分为:并行通信和串行通信。

  • 串口通信:类似于我们的乡间小道只有一条单向通行道,一次只能过一辆车。也就是发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。

  • 并行通信:类似于我们的高速公路有多条通行道,一次能一起并排过多辆车。数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。


两者又都可以细分:同步通信与异步通信。(其实很好区分:只要看有无时钟线就行,同步从字面理解就是要求两者要在一个节奏上,那就需要有同一个时钟来统一。以下是官方说法。)

  • 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。

  • 异步通信中,在异步通信中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。


串行通行的通信制式又可分类为:单工、半双工、全双工。


为方便大家理解,以下表格可清晰区分。

微处理器(51、stm32等)通信方式讲解(以串行通信为主讲解)

在单工制式下,数据只能从发送站向接收站传送。如图:

在半双工制式下,数据能双向传送,但是不能同时在两个方向上传送。如图:

全双工制式下,接收数据和发送数据占用不同的线路。全双工通信可以同时发送和接收。如图:

微处理器(51、stm32等)通信方式讲解(以串行通信为主讲解)

现常用的串行通信方式


通讯的一些基本概念

●主机与从机:在通讯系统中起主要作用、发布主要命令的称为主机,接受命令的称为从机。

●连续方式:指主机不需要发布命令,从机就能自动地向主机发送数据。

●指令方式:指主机向从机发布命令,从机根据指令执行动作,并将结果“应答”给主机的模式。

●输出数据类型:指在连续方式通讯时,从机输出给主机的数据类型。

●通讯协议:指主机与从机通讯时,按哪一种编码规则来通讯。

●波特率:主从机之间通讯的速度。

●数据位:每次传输数据时,数据由几位组成。

●校验位:数据传输错误检测,可以是奇校验、偶校验或无校验。

●地址:每一台从机的编号。

具体使用将在其后的更新中介绍,喜欢的请添加关注哦!!!


分享到:


相關文章: