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

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

3天内不再提示

FIFO中断通信逻辑介绍

科技绿洲 来源:中科昊芯 作者:中科昊芯 2022-05-16 09:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

中科昊芯推出专题讲解SCI串口通信以来,第一期主要讲解SCI串口FIFO通信原理,第二期主要讲解SCI串口自动波特率,本期主要讲解FIFO中断通信逻辑。

HX2000系列SCI模块原理与中断逻辑如下,中断逻辑为:当SCITXBUF数据被传输到TXSHF寄存器时,将通过SCICTL[TXRDY]产生一个发送中断,使能SCICTL[TXINTENA]打开发送中断信号,将通过PIE响应CPU执行,使得CPU可以连续写数据到SCITXBUF,使得SCI模块可以向PC端连续发送数据。当SCI接收一个完整帧,并将RXSHF寄存器中的数据传输到SCIRXBUF寄存器中,将通过SCIRXST[RXRDY]产生一个接收中断,使能SCICTL[RXBKINTENA]打开接收中断信号,将通过PIE响应CPU执行,使得CPU读取PC端发送的数据帧。

poYBAGKBrkuAAcZ0AAEszP6LZCE026.png

由此设计SCI串口FIFO中断通信实例:采用SCI与串口CH340,连续发送数据,PC端接收发送的数据;通过串口调试助手,向CPU发送任意一组数据,CPU接收发送的数据。

基于以上分析,在CDK上开发SCI串口FIFO中断通信输出程序,代码包括:SCI GPIO外设引脚配置,FIFO功能配置,发送与接收中断程序,主程序调用执行。主要代码如下:

poYBAGKBrluAMB23AACXuyzWME0040.png

CDK上开发SCI串口FIFO中断通信程序,其编译结果为:

poYBAGKBrmeACK4IAAKFKUgLOr4694.png

编译通过后,就可以开始调试了,DSP端连续发送数据的调试结果如下:

pYYBAGKBrm6AV1d-AAKxnh5HnFc502.png

PC端发送数据的调试结果如下:

pYYBAGKBrnaAaSb9AAKi-QqRnno213.png

调试后,可通过串口调试助手查看发送与接收到的数据如下图:

poYBAGKBroCAHIs0AAO_RNBC514727.png

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

    关注

    561

    文章

    8300

    浏览量

    369654
  • 寄存器
    +关注

    关注

    31

    文章

    5627

    浏览量

    130980
  • 数据
    +关注

    关注

    8

    文章

    7379

    浏览量

    95298
  • 串口通信
    +关注

    关注

    34

    文章

    1670

    浏览量

    58335
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    陀螺仪LSM6DSV80X开发(4)----FIFO 读取陀螺仪数据

    本文介绍如何在 LSM6DSV80X 上配置 FIFO(Stream 模式 + Watermark),并在 FIFO 达到阈值后批量读出数据,通过 TAG 解析出陀螺仪样本并完成单位换算与输出。该方法适合连续采样、降低 MCU
    的头像 发表于 06-02 11:25 173次阅读
    陀螺仪LSM6DSV80X开发(4)----<b class='flag-5'>FIFO</b> 读取陀螺仪数据

    【黑金云课堂】FPGA技术教程FPGA基础:FIFO与Uart通信

    FIFO 知识总结 一、FIFO 基础概念 定义 :FIFO(First In First Out)是一种先进先出的数据缓冲结构,先写入的数据先被读出。 1. 核心特性 读写顺序一致 支持同时读写
    的头像 发表于 06-02 09:17 195次阅读
    【黑金云课堂】FPGA技术教程FPGA基础:<b class='flag-5'>FIFO</b>与Uart<b class='flag-5'>通信</b>

    破解通信盲区:云翎智能低轨卫星通信数据终端构建极端环境下的应急通信韧性

    一体化的立体通信网络,为极端环境下的应急通信提供了强韧的生命线。其构建应急通信韧性的核心逻辑,可以概括为以下四个层面:云翎智能低轨卫星通信
    的头像 发表于 03-30 21:05 1608次阅读
    破解<b class='flag-5'>通信</b>盲区:云翎智能低轨卫星<b class='flag-5'>通信</b>数据终端构建极端环境下的应急<b class='flag-5'>通信</b>韧性

    FIFO存储器的种类、IP配置及应用

    FIRST IN FIRST OUT (先入先出)。顾名思义,FIFO是一个数据具有先进先出的存储器。
    的头像 发表于 01-13 15:15 747次阅读
    <b class='flag-5'>FIFO</b>存储器的种类、IP配置及应用

    串口空闲中断与串口超时中断介绍

    。 特点 依赖总线物理状态,而非时间。 常用于检测不定长数据帧的结束,无需依赖特定结束符。 应用场景 Modbus通信:不定长数据包的接收。 DMA接收:配合DMA自动搬运数据,空闲中断通知CPU处理
    发表于 11-21 08:31

    串口中断触发卡死怎么解决?

    (SOC_HBIRD) GPIO->IOFCFG|= IOF_UART_MASK;#endif}/* 低层使能 UART 接收中断FIFO */static void
    发表于 11-11 06:17

    长晶科技逻辑芯片产品矩阵介绍

    逻辑IC是用于实现基本逻辑运算和复合逻辑运算的集成电路, 广泛应用于各种电子设备和系统中,成为现代电子设备智能化、高效化的关键所在。
    的头像 发表于 11-04 17:47 1563次阅读
    长晶科技<b class='flag-5'>逻辑</b>芯片产品矩阵<b class='flag-5'>介绍</b>

    蜂鸟E203 SoC的UART中断的使用

    UART中断的方式有主要三种:接收数据校验位错误引起的中断FIFO中数据与阈值比较后产生的中断,和TX_FIFO为空时产生的
    发表于 10-30 06:42

    基于蜂鸟E203处理器的DMA模块设计

    时序较为简单,收到命令后可直接与其握手。另一个部分是与SRAM通信,由于DMA中有FIFOFIFO的时序也影响这ICB总线时序,所以需要整体考虑。 除了ICB时序部分,再添加一个FIFO
    发表于 10-29 07:31

    瑞萨RA系列MCU的中断过程介绍

    中断来临的时候会最先经过IRQ寄存器,IRQ寄存器检测到中断的时候,会向中央处理嵌套向量中断控制器NVIC发送中断信号,当NVIC检测到中断
    的头像 发表于 09-23 09:45 1727次阅读
    瑞萨RA系列MCU的<b class='flag-5'>中断</b>过程<b class='flag-5'>介绍</b>

    求助,关于串口设备驱动fifo问题

    目前在做高频数据采集分析,使用串口设备驱动(使用rs485),开启DMA+空闲中断,接收不定长数据,接收方式一对多,(即一个485接收4个设备的数据发送)。 发送频率较快(触发式发送); 数据最长
    发表于 09-12 08:18

    NUC972DF62Y LCD FIFO欠载中断如何处理?

    我使用 NUC972DF62Y 并使用 LCM 和 GE2D 模块。 是什么原因导致 FIFO 欠运行中断,我必须如何处理它? 清除旗帜UNDERRUN_INT后,它再次设置。
    发表于 08-29 07:44

    通信中断时,电能质量在线监测装置如何保障数据完整性?

    LZ-DZ300B电能质量在线监测装置 当通信中断时,电能质量在线监测装置通过本地存储、数据优先级管理、时间同步、自动补传等多重机制保障数据完整性,具体设计如下: 1. 本地大容量存储:核心保障
    的头像 发表于 08-19 14:25 1132次阅读
    当<b class='flag-5'>通信中断</b>时,电能质量在线监测装置如何保障数据完整性?

    SPI通信可不可以不使用中断

    你好,我目前在使用TC377芯片,我需要在PWM中断内使用QSPI通信,出于某种原因,我不得不将PWM中断优先级提到最高,这导致我无法进入spi中断。因此,我希望知道SPI
    发表于 07-31 08:15

    CYT2B93CAE如何构建不产生中断FIFO

    你好,我正在使用 CYT2B93CAE 使用设备配置器 5.3,我选择将不匹配的 ID 存储在 FIFO 0 中,问题是它正在生成中断,而对于不匹配的 ID,我不想中断 CPU,只是将它们传递给 DMA 线。 如何构建不产生
    发表于 07-15 06:29