0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串口通信为什么采用并行模式?

454398 来源:dfrobot 作者:dfrobot 2021-03-22 17:33 次阅读

单片机与外围设备,单片机与单片机之间进行通信,通俗点说就是数据传输,数据传输的方式有多种,我们经常用到的就有串口通信、IIC通信、RS232,485,CAN总线等等。目前在中小学实验室中,学生们操作开源硬件,用到的通信方式以IIC,串口通信居多。今天咱们就先来聊聊串口通信。

单片机的CPU和外界通信时采用的是并行模式,为什么采用并行模式?大家只要稍微一思考就能想出答案。并行通信指的是数据(以8位为基数)在传输时一次同时发送8个位,打个比方,这就像8个人同时去打水,每人提一个水桶,那怎样才能在最短的时间内将8个水桶装满水呢?那当然是用8个水龙头同时为8个水桶装水,每个水龙头装一个桶,8个水龙头相互之间各不影响。单片机的接口与外部设备进行通信时则是采用串行通信模式,所谓串行通信模式,就是数据按照顺序一位一位的传输,数据的传输具有时间上的先后顺序。同样打个比方,8个人去提水,只有一个水龙头,这8个人就要一个一个排队,装满一个水桶再装下一个水桶。很显然,并行通信比串行通信速度更快。

采用并行通信,由于在同一时间内需要同时发送或接收8个位的数据,每个数据占据一个数据位,就需要8条数据线来进行数据传送与接收,在提高传输速度的同时牺牲了硬件资源;而采用串行通信,数据是一个位一个位的按顺序发送或接收,那就只需要两条数据线就够了,一条用于发送数据,一条用于接收数据。数据传输的速度比不上并行通信,但是节省了大量的硬件资源。

至此,也许你已经对串口通信有了初步认识,但是,还没结束。我们在应用串口通信时还会遇到一些专业术语知识,下面我再给大家简单介绍一下:

1、串口连接。单片机进行串口通信时总是要求实现数据的双向传输,即发送数据和接收数据。在我们的单片机上你会找到串口通信接口,TXD(Transmit Data)数据发送端口和RXD(Receive Data)数据接收端口。单片机在进行串行通信连接时,一方的TX数据发送端要接另一方的RX数据接收端;RX数据接收端接另一方的TX数据发送端。即你发我收,我发你收。当然还要为单片机提供电源,这个就不用多说了吧!

2、波特率(bps)。bits per second,比特/秒。也叫做比特率,只是音译上的区别而已。它反应的是每秒进行通讯的位数。我们经常看到电脑网络连接速度XXMbps,即是指每秒钟处理数据的个数为XX兆位。

3、数据模式。这里就要为大家介绍下数据位、停止位、校验位的概念。

数据位是衡量通信中实际数据位的参数。当计算机发送一个信息包时,实际的数据不一定全是8位的,标准的值是5、6、7和8位。究竟是几位取决于实际传送的信息。我们都知道一个字节是8个位。标准的ASCII码是0~127(7位)。而扩展的ASCII码则是0~255(8位)。如果数据使用标准 ASCII码,那么每个数据包就是7个数据位。每个数据包是指一个字节,包括开始/停止位,数据位和校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

停止位用于表示一个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的时差,导致不同步。因此停止位不仅仅是表示传输的结束,它还提供计算机校正时钟同步的机会。停止位的位数越多,时钟校正的程度越大,数据传输率同时也越慢。

检验位是串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。也可以没有校验位。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶数个或者奇数个逻辑1。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑1的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑1位。高位和低位不是真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,判断通信是否受到干扰或者传输和接收数据是否同步。

一般在默认的情况下为“8N1”模式,即8位数据位,无(None)校验,1位停止位。

相信通过以上介绍,你已经对串口通信又有了更深的理解。真正掌握串口通信原理还需要在实践中不断探索。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10860

    浏览量

    211725
  • 串口通信
    +关注

    关注

    34

    文章

    1624

    浏览量

    55523
  • 并行通信
    +关注

    关注

    1

    文章

    31

    浏览量

    10825
收藏 人收藏

    评论

    相关推荐

    串口通信,Omron使用并行通信,有点慢

    串口通信,Omron使用并行通信,有点慢在Omron232通信中发现连续读取内存区有点慢,怎么回事求大侠帮助
    发表于 07-15 18:58

    串口通信有哪几种方式?串行通信并行通信分别有哪些优点以及缺点?

    串口通信有哪几种方式?串行通信并行通信分别有哪些优点以及缺点?串行通信的必要过程是怎样进行的?
    发表于 07-06 06:19

    并行通信和串行通信的区别

    目录通信基础知识STM32串口通信基础(UART)串口通信过程UART中设置的参数通信基础知识 
    发表于 07-27 08:05

    并行通信和串行通信的优缺点是什么?

    并行通信和串行通信的优缺点是什么?STM32的串口通信原理是什么?常用的串口相关寄存器是什么?
    发表于 12-09 06:55

    什么是并行通信和串行通信

    基础知识介绍什么是并行通信和串行通信串行通信:串行通信是指利用一条传输线将数据一位位地顺序传送。传输方式:传输一个字节(8个位)的数据时,
    发表于 01-13 06:09

    如何采用中断模式进行点灯和串口通信编程?

    如何采用中断模式进行点灯和串口通信编程?
    发表于 02-08 06:17

    如何配置STM32串口异步通信的输入输出模式

    STM32串口异步通信需要定义的参数奇偶矫正位如果GPIO作为串口,如何配置输入输出模式?异步串口通信
    发表于 02-18 06:14

    怎样采用DMA模式进行串口通信

    DMA是什么呢?有何功能?怎样采用DMA模式进行串口通信呢?
    发表于 02-28 11:10

    对于串口通信程序的LabView不同编程模式之探讨

    对队列处理器模式作了改进,将元素入队列和元素出队列分在二个while循环中并行完成。图6所示的串口通信程序框图中,元素入队列在图6下面的while循环(生产者循环)中完成,元素出队列在
    发表于 06-15 09:54

    串口通信并行通信有什么区别

    串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。并行通信在计算机和终端之间的数据传输通常是
    发表于 02-01 09:28 1.6w次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>与<b class='flag-5'>并行</b><b class='flag-5'>通信</b>有什么区别

    java串口通信编程实例

    串口通信串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在
    的头像 发表于 02-01 10:15 2.4w次阅读
    java<b class='flag-5'>串口</b><b class='flag-5'>通信</b>编程实例

    串口通信的原理和使用教程及使用代码免费下载

    串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信
    发表于 09-09 17:26 2次下载
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的原理和使用教程及使用代码免费下载

    51单片机之串口通信详解

    串口通信基本通信方式有两种:并行通信和串行通信。串行通信
    发表于 11-11 10:36 13次下载
    51单片机之<b class='flag-5'>串口</b><b class='flag-5'>通信</b>详解

    STM32中的串口通信的基础知识

    STM32串口异步通信需要定义的参数奇偶矫正位如果GPIO作为串口,如何配置输入输出模式?异步串口通信
    发表于 12-24 18:37 4次下载
    STM32中的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的基础知识

    fpga串口通信的verilog驱动编程解析

    串口的全程为串行接口,也称为串行通信接口,是采用串行通信方式的扩展接口。与串口对应的并行接口,例
    发表于 04-21 11:18 796次阅读