地平线—征程2(Journey 2-J2)芯片详解(21)—UART+SPI

2024-08-25 16:04

本文主要是介绍地平线—征程2(Journey 2-J2)芯片详解(21)—UART+SPI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面

本系列文章主要讲解地平线征程2(Journey 2-J2)芯片的相关知识,希望能帮助更多的同学认识和了解征程2(Journey 2-J2)芯片。

若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)


错过其他章节的同学可以电梯直达目录↓↓↓

地平线—征程2(Journey 2-J2)芯片详解——目录-CSDN博客


8. PERI子系统

8.1 UART

8.1.1 介绍

通用异步接收器/发射器(Universal Asynchronous Receiver/Transmitter-UART)模块提供串行通信功能,允许使用串行电缆和RS232协议与外部设备(如计算机)进行通信。该模块实现了与启停异步通信相关的所有必要功能。串行数据发送和接收的标准波特率由内部波特率发生器配置。

J2拥有4路UART模块,即是UART0~UART3。UART1是带有硬件流量控制的4线版本,其他的仅是带有TX和RX的2线版本。有些UART模块和其他引脚共用。

8.1.2 特性

UART模块的主要特性如下:

  • TXD和RXD的全双工操作
  • 带有16位过采样的稳定数据接收和噪声过滤
  • 可配置帧格式:

        ——数据位:7或8位

        ——校验位:无、奇数或偶数

        ——停止位:1或2位

  • 带有整数和分数除数的可编程波特率发生器
  • 支持的标准波特率:19200、38400、57600、115200、230400、460800和921600(16位过采样)
  • UART1拥有RTSN和CTSN的硬件流量控制
  • 支持UART RDR和UART TDR寄存器的数据发送和接收
  • 支持嵌入式DMA控制器的数据发送和接收,64字节的TX和RX先进先出(FIFO)
  • 在实时应用中,DMA支持在超时条件下RX FIFO刷新操作
  • 全面的状态和中断报告
  • 通过可编程XON/XOFF字符支持软件流量控制能力

8.2 SPI

8.2.1 介绍

J2的串行外设接口(Serial Peripheral Interface-SPI)控制模块包含3个SPI控制器。SPI是一个主/从同步串行总线。SPI模块符合SPI协议并可实现作为主机和从机的功能。

同步SPI协议允许主设备与从设备启动串行数据传输。从选择信号(Slave Select Signal-SSN)允许选择一个单独的从SPI设备。当SPI总线启动时,若没有接口,则从设备也不能被选择。主机通过提供串行时钟和从机选择信号来控制通信流。从机选择信号是一个可选的低电平有效信号从而控制从机的串行数据输入和输出。

4线SPI总线:

  • 时钟信号SCLK由主机驱动,所有的SPI信号都同步于此时钟信号
  • 从机选择信号SSN,用于和主机通信的从机选择
  • 从主机到从机的数据线,MOSI(Master Out-Slave In)
  • 从从机到主机的数据线,MISO(Master In-Slave Out)

8.2.2 特性

SPI模块的主要特性如下:

  • 主机模式下,MOSI和MISO之间的全双工同步串行数据传输
  • 可编程SCLK频率、极性和相位,最高可达48MHz
  • 可编程极性仅支持CSN信号
  • 优先可编程MSB或LSB,支持8位或16位传输模式
  • 支持TX和RX寄存器的数据接收和发送
  • 支持嵌入式DMA控制器的数据发送和接收,32字节的TX和RX先进先出(FIFO)
  • 在实时应用中,DMA支持在超时条件下RX FIFO刷新操作
  • 全面的状态和中断报告

总结:本部分主要讲解了J2的UART和SPI。同学们可以根据实际应用进行选择,比如J2和MCU之间的通信可选择UART或SPI或两者都接上。


本文章是博主花费大量的时间精力进行梳理和总结而成,希望能帮助更多的小伙伴~  🙏🙏🙏

后续内容将持续更新,敬请期待(*^▽^*)

欢迎大家评论,点赞,收藏→→→

这篇关于地平线—征程2(Journey 2-J2)芯片详解(21)—UART+SPI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106008

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

LabVIEW FIFO详解

在LabVIEW的FPGA开发中,FIFO(先入先出队列)是常用的数据传输机制。通过配置FIFO的属性,工程师可以在FPGA和主机之间,或不同FPGA VIs之间进行高效的数据传输。根据具体需求,FIFO有多种类型与实现方式,包括目标范围内FIFO(Target-Scoped)、DMA FIFO以及点对点流(Peer-to-Peer)。 FIFO类型 **目标范围FIFO(Target-Sc

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大