博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2440-串行口
阅读量:6891 次
发布时间:2019-06-27

本文共 1544 字,大约阅读时间需要 5 分钟。

1、  在通信领域内,有两种数据通信方式:并行通信串行通信

2、  串口的数据传输是以串行方式进行的。串口在数据通信中,一次只传输一个比特的数据。

3、  串行数据的传输速度用bps或波特率来描述

  每秒传输的二进制位数,单位为bps(bit per second )也称波特率

4、  通用异步收发器简称UART,即“Universal Asynchronous Receiver Transmitter”,它用来传输串行数据。2440中UART之间以全双工方式传输数据

5、  UART使用标准TTL/CMOS逻辑电平表示数据

  a)         0~5V、0~3.3V、0~2.5V或0~1.8V

  b)        高电平表示1,低电平表示0

  c)         TTL逻辑电平与CMOS逻辑电平的区别?

6、  RS-232逻辑电平

  a)         为了增强数据的抗干扰能力、提高传输长度,通常将TTL/CMOS逻辑电平转换为RS-232逻辑电平。例如可使用电平转换芯片:MAX3232

  b)        (负逻辑)3~12V表示0,-3~-12V表示1

7、  RxD、TxD数据线以“位”为最小数据传输单位。而帧(frame)作为有效数据传输单位,由具有完整意义的、不可分割的若干位组成,它包含开始位、数据位、校验位(需要的话)和停止位。一帧可以有5、6、7或8位数据,从最低位开始一位一位发送

8、  传输数据前先约定好波特率和数据的传输格式

  a)         波特率是多少

  b)        有多少个数据位

  c)         是否使用校验位

  d)        是奇校验还是偶校验

  e)         有多少个停止位

9、  奇校验/偶校验

  a)         数据位连同校验位中,“1”的数目等于奇数,则为奇校验

  b)        数据位连同校验位中,“1”的数目等于偶数,则为偶校验

10、 异步方式(Asynchronous):也称“起止同步式”。依靠检测起始位来实现发送与接收方的时钟自同步。

   

11、S3C2440A中UART发送和接收数据流程:

  a)         发送数据时,SOC先将数据写入发送FIFO中,然后UART会自动将FIFO中的数据复制到发送移位器(Transmit Shifter)中,发送移位器将数据一位一位地发送到TxDn数据线上(根据设定的格式,插入开始位、校验位和停止位)。

  b)        接收数据时,接收移位器(Receive Shifter)将RxDn数据线上的数据一位一位接收进来,然后复制到接收FIFO中,SOC即可从中读取数据。

  

  c)        

12、UART初始化等

  在使用UART之前要设置波特率、传输格式(有多少个数据位、是否使用校验位、奇校验还是偶校验、有多少个停止位、是否使用硬件流控制);

  对于S3C2440A,还要选择所涉及管脚为UART功能、选择UART通道的工作模式为中断模式或者DMA模式。设置好之后往某个寄存器写入数据即可发送,读取某个寄存器即可得到接收的数据,还可以通过查询状态寄存器或者设置中断模式来获得数据是否发送或接收完毕。(具体操作参考文件uart_test.c)

13、下面列出S3C2440A UART相关的控制寄存器,具体位含义见S3C2440A 芯片手册

  UART行控制器

  ULCONnUART模式控制寄存器UCONn

  UART FIFO控制寄存器UFCONn

  UART MODEM控制寄存器UMCONn

  UART状态寄存器UTRSTATn

  发送缓冲寄存器UTXHn

  接收缓冲寄存器URXHn

  波特率除数因子寄存器UBRDIVn

14、               

转载于:https://www.cnblogs.com/suwen/archive/2013/03/16/2963589.html

你可能感兴趣的文章
Vue遇上Analytics
查看>>
修改max_allowed_packet(允许执行的sql最大长度)
查看>>
node js 处理时间分析
查看>>
判断数据库、表和字段是否存在
查看>>
新手安装postgreSQL后无法连接服务器
查看>>
递归和动态规划
查看>>
java实现简单的控制台管理系统
查看>>
建造模式
查看>>
BZOJ 4025: 二分图
查看>>
openNebula rgister img instance vms error collections
查看>>
error Infos
查看>>
PL/sql配置相关
查看>>
阿里云产品头条(2017年12月刊)
查看>>
IntelliJ IDEA 社区版没有 Spring Initializr
查看>>
inux多线程顺序控制的示例
查看>>
jquery实用的一些方法
查看>>
质数方阵
查看>>
jQuery $.each用法
查看>>
C语言结构体指针成员强制类型转换
查看>>
网络对抗技术作业一
查看>>