1.前言

UART实现与外设或CPU的通信

2. UART概述

2.1基本特性

(1)Full-duplex operation

(2)Standard mark/space non-return-to-zero (NRZ) format?

(3)Selectable IrDA 1.4 return-to-zero-inverted (RZI) format with programmable pulse width?

(4)13-bit baud rate selection with /32 fractional divide, based on the module clock  frequency

(5)Programmable 8-bit or 9-bit data format

(6)Programmable 1 or 2 stop bits in a data frame.

(7)Separately enabled transmitter and receiver

(8)Programmable transmitter output polarity

(9)Programmable receive input polarity

(10)Up to 16-bit break character transmission.

(11)11-bit break character detection option

(12)Independent FIFO structure for transmit and receive

(13)Two receiver wakeup methods:

Idle line wakeup

Address mark wakeup

(14)Address match feature in the receiver to reduce address mark wakeup ISR overhead?

(15)Ability to select MSB or LSB to be first bit on wire

(16)Hardware flow control support for request to send (RTS) and clear to send (CTS) signals?

(17)Support for ISO 7816 protocol to interface with SIM cards and smart cards

  Support for T=0 and T=1 protocols

  Automatic retransmission of NACK'd packets with programmable retry threshold

  Support for 11 and 12 ETU transfers

  Detection of initial packet and automated transfer parameter programming?

  Interrupt-driven operation with seven ISO-7816 specific interrupts:

  Wait time violated

  Character wait time violated

  Block wait time violated

  Initial frame detected

  Transmit error threshold exceeded

  Receive error threshold exceeded

  Guard time violated

(18)Interrupt-driven operation with 12 flags, not specific to ISO-7816 support

  Transmitter data buffer at or below watermark

  Transmission complete

  Receiver data buffer at or above watermark

  Idle receiver input

  Receiver data buffer overrun

   Receiver data buffer underflow

  Transmit data buffer overflow

  Noise error

  Framing error

  Parity error

  Active edge on receive pin

  LIN break detect

(19)Receiver framing error detection

(20)Hardware parity generation and checking

(21)1/16 bit-time noise detection

(22)DMA interface

2.2  操作模式

  • run mode

normal操作模式

  • wait mode

UART的操作依赖于C1[UARTSWAI] 域,如果C1[UARTSWAI] 为0则UART正常操作,如果C1[UARTSWAI] 1且CPU在wait mode,UART时钟停止,UART进入低功耗模式

当内部或外部中断唤醒CPU时,会唤醒UART发送或接收

  • stop mode

此模式下UART被禁用,当外部中断将CPU退出stop mode时会唤醒UART发送或接收

2.3 UART信号描述

3.Memory map and registers

只支持单字节访问,下面只给出UART0的寄存器:

4.功能描述

4.1 transmitter

1.支持传输8,9,10数据字符;

2.支持先传输MSB还是LSB可配置;

3.break characters:可以传输break chracters,break chracters包含所有的逻辑0,没有起始、校验位

4.Idle characters: 可以传输idle chracters,idle chracters包含所有的逻辑1,没有起始、校验位

5.Hardware flow control :根据CTS的是否assert来决定是否开启transmitter

6.Transceiver driver enable :??

4.2 receiver

4.3 Baud rate generation

4.4 Data format (non ISO-7816)

4.5 Single-wire operation

4.6 Loop operation

4.7 ISO-7816/smartcard support

4.8 Infrared interface

5.reset

6. System level interrupt sources

7.DMA operation

在传输时,S1[TDRE] and S1[TC]用来配置为assert一个DMA传输请求;

在接收时,S1[RDRF], S1[IDLE], and S2[LBKDIF]被配置为assert一个DMA传输请求

下面的表显示了DMA请求的相关的flag配置:

当一个flag用来配置为DMA请求,那么如果flag被置位时,与之相连的DMA请求就会assert,直到DMA传输完毕才会deassert DMA请求

8.Application information

k64 datasheet学习笔记52---Universal Asynchronous Receiver/Transmitter (UART)的更多相关文章

  1. Universal asynchronous receiver transmitter (UART)

    UART基本介绍: 通用异步收发器UART他的功能非常强大 我们只使用UART的全双工异步通信功能,使用中断接收数据. UART_RX:串行数据输入. UART_TX:串行数据输出. 硬件支持: 连接 ...

  2. STM8S——Universal asynchronous receiver transmitter (UART)

    UART基本介绍: 通用异步收发器UART他的功能非常强大 我们只使用UART的全双工异步通信功能,使用中断接收数据. UART_RX:串行数据输入. UART_TX:串行数据输出. 硬件支持: 连接 ...

  3. k64 datasheet学习笔记1---概述

    1.前言 k64 datasheet描述了Freescale MCU的特性.架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员. 2.模块划分 datasheet主要按功能对模块进行划分 ...

  4. Universal Asynchronous Receiver/Transmitter

    USART簡介與特性 NRZ標準資料格式(Mark/Space) 半雙工/全雙工 Synchronous 同步傳輸 CLOCK SKEW Asynchronous 非同步傳輸 半/全雙工.同步/非同步 ...

  5. k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之功能描述

    1.前言 本文是对K64 datasheet 之ENET部分的功能描述,将对每个部分进行详细说明 2.Ethernet MAC frame formats MAC帧组成格式 (1)7字节前导码:如按最 ...

  6. k64 datasheet学习笔记3---Chip Configuration之Analog

    1.前言 本文主要讲述K64芯片配置,关于模拟部分的内容,主要包括:ADC, CMP, DAC, VREF 2.16bit SAR ADC 从上图可以看出ADC主要挂在外设总线0上,由于ADC的输入引 ...

  7. k64 datasheet学习笔记21--Direct Memory Access Multiplexer (DMAMUX)

    0.前言 本章主要介绍DMA MUX的相关内容 1.简介 1.1 概述 用来路由DMA源到16路DMA通道: 1.2 特性 1.52个外设slot和10个常开slot可以路由到16路DMA通道 2.1 ...

  8. k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)

    0.前言 本文主要介绍K64的ADC部分的特性,内部架构,信号描述及操作接口等 1.简介 1.1.ADC模块特性 线性逐次逼近算法,达16bit分辨率 达到4对差分和24个单端模拟量输入 输出模式 差 ...

  9. k64 datasheet学习笔记31---External Bus Interface (FlexBus)

    1.前言 FlexBus多功能外部总线接口控制器是一个硬件模块: (1)通过并行总线提供存储器扩展或与外设连接: (2)如下的同步或异步的slave-only设备可以直连到FlexBus总线或者只需增 ...

随机推荐

  1. spring集成Hessian的基本使用方法

    一.什么是RPC RPC全称Remote Procedure Call,中文名叫远程过程调用.RPC是一种远程调用技术,用于不同系统之间的远程相互调用.其在分布式系统中应用十分广泛. 二.什么是Hes ...

  2. 面向对象【day08】:异常处理-断言(七)

    本节内容 1.概述 2.知识点回顾 3.断言 一.概述 python中断言,这个我是第一次听说到的,断言有什么用呢?断言就是做一些程序的检查工作,就是在执行之前需要做的一些检查,比如类似于安检一样,合 ...

  3. NameNode 与 SecondaryNameNode 的工作机制

    一.NameNode.Fsimage .Edits 和 SecondaryNameNode 概述 NameNode:在内存中储存 HDFS 文件的元数据信息(目录) 如果节点故障或断电,存在内存中的数 ...

  4. JDBC-Batch 批量执行

    JDBC 批处理 SQL 语句 首先在 jdbc 的 url 中加上 rewriteBatchedStatements=true,只有开启了这个 Mysql 才会执行批处理,否则还是一条一条执行 St ...

  5. Hudson持续集成管理平台搭建

    IP: 10.0.70.106  8G 内存 (Hudson 多 个 工程 在 同 时 构建 的情况下 比 较耗内存) 环 境: CentOS 6.5 . JDK7 注:Hudson 只是一个持续集成 ...

  6. ubuntu主题收集

    ubuntu主题收集 一些cmd常用命令: 任务栏底部,进入Dash并打开终端,命令最后一个是参数可选 ( Left | Bottom ) gsettings set com.canonical.Un ...

  7. Python实现工厂模式

    from abc import ABCMeta, abstractmethod from enum import Enum class Person(metaclass=ABCMeta): @abst ...

  8. 路由器数据统计SQL脚本

    一.路由器部分 //[饼图]统计路由器在线.离线数量 SELECT COUNT(*) AS total, MINUTE)) ELSE NULL END) AS livecount, MINUTE)) ...

  9. 最棒的 JavaScript 学习指南(2018版)

    译者注:原文作者研究了近2.4万篇 JavaScript 文章得出这篇总结,全文包含学习指南.新人上手.Webpack.性能.基础概念.函数式编程.面试.教程案例.Async Await.并发.V8. ...

  10. partial.js client-side routing(客户端路由-基于HTML5 SPA特性的历史API)

    partial.js client-side routing https://github.com/petersirka/partial.js-clientside Framework support ...