当前位置: 首页 > 产品中心 > lcd显示屏-总成

ARM芯片(S5PV210芯片)——串口通信详解

发表时间: 2024-01-23 作者: lcd显示屏-总成
产品详情

  1.同步通信:通信双方有统一的工作节拍,通常要发送方给接收方发送信息的同时发送时钟信号,接收方根据发送方给它的时钟信号来安排自己的工作节奏。同步通信用在通信双方信息交换频率固定,或者通信频率比较高的场景。

  2.异步通信:又叫异步通知,简单来说就是发送方不必考虑接收方,想发信息就发信息,没固定的工作节拍。但要遵循一定的通信协议,比如发送方发送信息时,需要先发起始位通知接收方,然后发送数据,数据发送完成要发结束位表示一帧数据发送完成。

  (1)同步通信有统一工作节拍,异步通信没有统一工作节拍。一般来说,同步通信的连接线里有一根是时钟信号线)同步通信适合通信频率固定或者通信频率较高的场景;异步通信适合通信频率不固定或者通信频率较低的场景。

  1.电平信号:电平信号有一根是参考电平线,信号线的信号值有信号线和参考电平线.差分信号:差分信号没有参考电平线,传输一路数据需要两根信号线,信号线的信号值由两根信号线的电压差决定。

  (1)信号值的表示不同:电平信号的信号值是信号线和参考电平线的电压差决定;差分信号的信息值是由两条信号线)传输相同路数的信号,电平信号用的数据线根数比差分信号少。比如传输3路信号,电平信号需要1根参考电平+3根数据线根数据线)现在通信大部分是差分信号,因为差分信号的抗干扰性更强,可以在更短的周期传输一个数据。

  (1)并行接口和串行接口一次发送的bit位不相同,串行一次只能发一个bit数据,并行接口可以一次发多位bit数据;

  (2)并行接口的抗干扰性比串行接口差,虽然并行接口一次发送的数据位比串行接口多,但是因为抗干扰性差的原因,并行接口的发送频率不能很高,串行接口的通信速率是可能比并行接口更快的;

  半双工通信:A和B可以互相发消息,但是同一时间只能一方发消息,另一方收消息,算是单工通信和双工通信的结合体;

  电平信号:串口通信出现比较早,传输的距离比较近,所有用的电平信号。后期出现的通信协议,都改成了差分信号;

  指的就是串口的通信速率,也就是串口每秒能传输多少个二进制位。比如常用的波特率115200,也就是指串口每秒发送115200个二进制位。接收和发送一定要使用相同的波特率,不然会通信紊乱,导致异常收发数据。

  (1)起始位:接收方收到该数据位就表示发送方马上要发送数据了;(2)数据位:本次传输周期里要传输的有效数据,可配置;

  总结:串口通信时,是以周期为单位做收发数据的,既然是周期性的收发数据,那就要规定好周期的开启和结束,也就是要提前商量好通信协议,上面的位定义就是通信协议,在建立串口通信时要收发双方配置一致;

  (1)Rx、Tx、GND是串口的通信线,Rx是接收数据的信号线,Tx是发送数据的信号线,GND是参考电平线,串口是全双工通信;

  (2)通信线的解法:发送方Rx–接收方Tx、发送方Tx–接收方Rx、发送方GND–接收方GND。

  2.5、DB9接口、USB转串口、4脚接口(1)DB9接口:串口通信早期很常用的规范化接口,有9根线,其中就包括Rx、Tx、GND,其余的6根线和流控有关。现在的串口通信一般都没有

  (2)4脚接口:现在的嵌入式设备上大多也没有DB9接口,但是会引出来一个4脚的串口来输出信息,方便调试。4脚串口就是在原来Rx、Tx、GND的基础上,多了一根电源正极线脚的串口通常会会通过一个电路板来转成DB9接口来对外通信;

  (3)USB转串口:现在的电脑可能没有DB9接口,所以要使用USB转串口线、自动流控(AFC:Auto flow control)

  自动流控和串口安全通信有关的,因为串口在早期是作为设备间数据交互的通路,必须确保通信数据的正确性。但是在现在串口大多作为打印信息输出,并且通信速度也不快,就取消了自动流控。自动流控的细节就不讲了,反正现在也用不上,在建立串口通信时记得把自动流控取消掉,就是不要勾选RTS/CTS。

  (4)波特率发生器:产生串口通信需要的波特率,和时钟频率有关,需要配置;

  (6)发送移位器:把发送缓冲寄存器里的数据一位一位的发送到数据线上,这是硬件自动的;(7)接收缓冲寄存器:保存接收到的数据;

  (8)接收移位器:把数据线上接收到的数据一位一位的写到接收缓冲寄存器里;

  普通模式下串口只有一个发送缓冲寄存器和一个接收缓冲寄存器,CPU要不断切换上下文去处理串口通信,这会导致效率低下,浪费CPU的性能。FIFO模式就是扩大缓冲寄存器的数量,从一个寄存器扩大到64个寄存器。这样以前要一个字节处理一次串口通信变成64个字节才处理一次串口通信,

  降低了CPU处理串口通信的频率。这只是在某些特定的程度上解决,当有大量数据要发送时FIFO模式还是不能满足需求,于是就有了DMA模式。(每个串口的FIFO模式扩充的缓冲寄存器数量可能是不同的,有256、64、16,具体看数据手册说明)

  (1)FIFO(First In First Out)其实是一种数据结构的名字,数据按照先进先出的原则做处理。叫FIFO模式是因为扩大的缓冲区类似FIFO这种数据结构,也是先进先出;

  (2)FIFO模式在策略上就不能解决大量数据通信,因为不能无限的扩大缓冲寄存器的数量,在CPU中寄存器是有限且珍贵的;

  4.2、DMA模式DMA(direct memory access)模式是未解决串口大量数据传输的,DMA模式下缓冲区不再是寄存器,而是划定一块内存用作缓冲区,这样CPU就不用再频繁去处理串口通信。

  (1)IrDA(Infrared)就是红外线通信,电视机、空调的遥控器就是红外线通信。红外通信是发送方固定间隔向接收方发送红外信号,这和串口通信是类似的,所以能用串口通信来实现红外通信;

  (2)不是每个串口都支持IrDA模式,具体要查数据手册;并且需要外部硬件支持,至少你得有一个红外线的发送、模块吧。

  5、串行通信工作模式:轮询模式、中断模式(1)轮询方式::CPU不断去查询串口控制器的状态位,当缓冲区空/满时就去填充/获取数据。这样比较耗费CPU性能,但是程序简单。

  (2)中断模式:当缓冲区空/满时串口控制器会发出中断信号,通知CPU去处理串口缓冲区的数据。这样会降低CPU处理串口的频率,但要用到终端,程序要复杂些。

  总结:两种方式各有优劣,串口通信是异步的,更契合中断模式,但是轮询方式胜在简单。在uboot阶段的串口通信时,我所接触到的就是使用的轮询模式,因为当uboot

  进入到shell界面时,uboot就等着接受指令,CPU也不着急做其他的事情,浪费CPU性能也无所谓。

  右边虚线框里是UART的时钟框图,主要包括Clock_Selection、UCLK_Generator、Clock_Selection:可以通过UCON寄存器的10bit位选择时钟来源;UCLK_Generator:对上一步的时钟源进行分频,产生合适的波特率;分频系数需要根据时钟频率和波特率进行计算,将计算好的分频系数填到UBDIV和UDIVSLOT寄存器中。

  UBRDIV寄存器的bit0-bit15保存的是串口时钟的分频系数整数部分;

  UDIVSLOT寄存器的bit0-bit15保存的分频系数的小数部分,但不是直接将小数部分写入,而是要查表来确认写入的值。

  (2)上面计算得小数部分是0.8,于是UDIVSLOTn中1的个数为0.8*16=12(向下取整),查表可知UDIVSLOTn应该填0XDDDD;

  (3)按照上面的计算公式,只要知道UBRDIVn中有几个1,UBRDIVn的值在满足条件的情况下是任意的,但是实际却是固定的,需要查表来转换。这是因为这里计算分频系数不是纯数学计算,是要依赖具体的物理器件,物理器件有自己的物理特性,芯片开发工程师很了解,在表格里给了建议值,我们查表即可。

  上一篇:ARM芯片开发(S5PV210芯片)——定时器、看门狗、RTC下一篇:ARM芯片开发(S5PV210芯片)——SD卡启动

  在紧张的工作中,现在对单片机的串口通信编程有了一个新的认识,下面就针对下面不同的几个工程程序文件的区别做一个比较详细的总结。 本次小结的主要目的是更加明确单片机的串口中断是如何发生的。即:是如何触发串口中断的发送功能的。在说明中我使用特殊的字体颜色来强调重点部分和注意事项。 程序一: 本程序是使用软件设置TI来实现串口中断的触发,如果在初始化函数中不增加 TI=1; 这条语句,那么是不会触发中断的 #include STC89C5X.h //包含51单片机的头文件 #define uint unsigned int #define uchar unsigned char void InitUart(voi

  #include reg51.h #define uchar unsigned char //byte #define uint unsigned int //word sbit led1=P0^0; sbit fir=P2^4; //fir=0;工作 sbit sec=P2^5; //sec=0;工作 sbit thi=P2^6; //thi=0;工作 sbit fot=P2^7; //fot=0;工作 uchar table ={0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xa0}; //P1=table ;/* 0 1 2 3 4

  1. 串口通讯协议简介 串口通讯(Serial Communication)是一种设备间常用的串行通讯方式,因为简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。 1.1 物理层 串口通讯的物理层有很多标准及变种,我们主要讲解RS-232标准 ,RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。 两个通讯设备的“DB9接口”之间通过串口信号线建立

  1.串口通信,一般有UART,USART,I2C,SPI,485通信,can通信 2.UART指通用异步收发传输器,可以实现全双工传输和接收。UART通信时,数据先发低位再发高位。RT指通用同步/异步串行接收/发送器。 4.UART与USART的硬件总线.UART: Rxd—–读数据线 Txd—–写数据线.USART:Rxd—–读数据线 Txd—–写数据线 RTS—–接收器流控线 CTS—–发送器流控线.USART通信模型 相对于UART,每个设备多两条线RTS,CTS RTS—(发送流控线)(通知另外一个设备)——对应——CTS(接收流控线)

  在基础实验成功的基础上,对串口的调试方法进行实践。硬件代码顺利完成之后,对日后调试要使用到的printf重定义进行调试,固定在自己的库函数中。 b) 初始化函数定义: void USART_Configuration(void); //定义串口初始化函数 c) 初始化函数调用: void UART_Configuration(void); //串口初始化函数调用 初始化代码: void USART_Configuration(void) //串口初始化函数 { //串口参数初始化 USART_InitTypeDef USART_InitStructure; //串口设置恢复默

  本篇应用笔记讨论了DS3900串口通信模块和LabView的使用问题,LabView是适用于 嵌入式 应用的图形化界面开发平台。本文可作为面向DS3900的LabView界面用户指南。 介绍 LabView作为嵌入式应用的图形化界面开发平台得到了广泛应用。DS3900串口通信模块是一款通用 接口 板,借助该 接口 板,用户可使用PC串口与具有I²C接口的器件通信。DS3900的指令集允许应用软件与I²C器件直接通信。 本应用笔记是面向DS3900的LabView界面的用户指南。首先,用户要安装LabView。为用户更好的提供了标准VI,以加载并运行程序。可以下载与本应用笔记相关的LabView代码(ZIP,321K)。 使用

  模块 /

  上讲介绍并应用了单片机内部定时器和中断,并给出了实例。这一讲将介绍单片机上的串口通信。通过该讲,读者可以掌握单片机上串口的工作原理和如何通过程序来对串口进行设置,并根据所给出的实例实现与PC 机通信。 一、原理简介 51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能一起进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大幅度的降低硬件成本,适合远距离通信。其缺点是传输速度较低。 与之前一样,首先我们来了解单片机串口相关的寄存器。 SBUF 寄存器:

  实例 /

  工程开发实例导航

  【电路】采用微机系统复位集成芯片NJM2103构成的监视5V电压的电路

  【电路】东方一齐洛瓦牌BCD-190、BCD-190B、BCD-210、BCD-250型电冰箱电路

  有奖直播 是德科技 InfiniiMax4.0系列高带宽示波器探头新品发布

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!跟帖赢好礼~

  ADI世健工业嘉年华——深度体验:ADI伺服电机控制方案

  【下载】LAT1317 STM32CubeProgrammer和STM32CubeIDE协同调试的方法

  【下载】LAT1334 基于MCSDK5.4.8电机库修改两电阻采样方法

  【直播】轻松使用STM32MP13x如MCU般在Cortex A 核上裸跑应用程序

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【Matter】康普和意法半导体强强联手,让物联网设备Matter证书管理既安全又简便

  【方案】STM32WLE5 x 利尔达LoRa模组助力亚残会开幕式惊艳秀

  【新品】意法半导体发布远距离无线微控制器,提高智能计量、智能建筑和工业监控的连接能效

  Qt Group 正在将其轻量级高性能图形框架引入英飞凌的车用MCU中。英飞凌支持图形功能的 TRAVEO T2G Cluster MCU 现在可与 Qt 图形 ...

  与机构预测不同的是,近几个月,MCU新品频发,而它们的目标则也更加明确——发力AI和汽车。...

  【认识STM32】F1 代表了基础型,基于Cortex-M3 内核,主频为72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。【GPIO外设】 ...

  一、什么是中断首先介绍一下什么是中断。在实际开发过程中,中断是很有必要的。比如需要针对某种特殊情况做快速响应,单纯的使用一个whil ...

  以STM32F072CB做的测试官方参考应用文档:AN4759RTC日历时钟配置通过两个预分频得到1hz的时钟用来更新日历。异步预分频:PREDIV_A,7-bit( ...

  全球最新突破!液态金属存储器 FlexRAM 公布:清华大学开发,氧化还原模拟二进制

  美芝、威灵携一站式全场景暖通制冷解决方案闪耀AHR Expo 2024

  意法半导体智能执行器 STSPIN 参考设计整合电机控制、传感器和边缘人工智能

  新方法可精准控制光纤内光学电路,有望帮助加密通信网络和超快量子计算研发

  Cadence 推出新版 Palladium Z2 应用,率先支持四态硬件仿真和混合信号建模技术加速 SoC 验证

  网站地图最新更新手机版站点相关:综合资讯51单片机PIC单片机AVR单片机

  ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云:

上一篇:串口通讯原理

下一篇:工作原理