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
    +关注

    关注

    553

    文章

    7998

    浏览量

    348915
  • 寄存器
    +关注

    关注

    31

    文章

    5343

    浏览量

    120357
  • 数据
    +关注

    关注

    8

    文章

    7027

    浏览量

    89034
  • 串口通信
    +关注

    关注

    34

    文章

    1626

    浏览量

    55528
收藏 人收藏

    评论

    相关推荐

    AFE4960如何正确的从FIFO中读取样本呢?

    我有一些问题想请教。 在双芯片串行模式下,MCU 收到 AFE4960 发送的 FIFO_RDY 中断信号后,开始通过 SPI 通信从 AFE4960 的 FIFO 中读取样本。 具
    发表于 11-14 06:41

    FIFO Generator的Xilinx官方手册

    FIFO作为FPGA岗位求职过程中最常被问到的基础知识点,也是项目中最常被使用到的IP,其意义是非常重要的。本文基于对FIFO Generator的Xilinx官方手册的阅读与总结,汇总主要知识点
    的头像 发表于 11-12 10:46 411次阅读
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手册

    陀螺仪LSM6DSOW开发(4)----中断获取FIFO数据

    估计。本文将介绍如何初始化和配置MotionFX库,使用中断机制读取FIFO中的传感器数据。FIFO可以作为数据缓冲区,存储传感器的临时数据,防止数据丢失,特别是在处理器忙于其他任务时
    的头像 发表于 08-08 16:03 691次阅读
    陀螺仪LSM6DSOW开发(4)----<b class='flag-5'>中断</b>获取<b class='flag-5'>FIFO</b>数据

    ASM330LHH使用FIFO阈值中断输出时工作异常的原因?

    我使用FIFO的Continuous mode,并把FIFO的WATERMASK设置为2,然后将FIFO阈值中断路由到INT1,理论上应该每产生一组XL+GY数据,就产生一个
    发表于 07-22 06:06

    驱动LSM6DS3TR-C实现高效运动检测与数据采集(8)----中断获取FIFO数据并应用MotionFX库解析空间坐标

    估计。本文将介绍如何初始化和配置MotionFX库,使用中断机制读取FIFO中的传感器数据。FIFO可以作为数据缓冲区,存储传感器的临时数据,防止数据丢失,特别是在处理器忙于其他任务时
    的头像 发表于 07-21 10:02 694次阅读
    驱动LSM6DS3TR-C实现高效运动检测与数据采集(8)----<b class='flag-5'>中断</b>获取<b class='flag-5'>FIFO</b>数据并应用MotionFX库解析空间坐标

    陀螺仪LSM6DSV16X与AI集成(9)----中断获取FIFO数据并应用MotionFX库解析空间坐标

    估计。本文将介绍如何初始化和配置MotionFX库,使用中断机制读取FIFO中的传感器数据。FIFO可以作为数据缓冲区,存储传感器的临时数据,防止数据丢失,特别是在处理器忙于其他任务时
    的头像 发表于 07-18 10:46 1060次阅读
    陀螺仪LSM6DSV16X与AI集成(9)----<b class='flag-5'>中断</b>获取<b class='flag-5'>FIFO</b>数据并应用MotionFX库解析空间坐标

    具有FIFO的双异步通信元件TL16C552A数据表

    电子发烧友网站提供《具有FIFO的双异步通信元件TL16C552A数据表.pdf》资料免费下载
    发表于 06-26 11:28 0次下载
    具有<b class='flag-5'>FIFO</b>的双异步<b class='flag-5'>通信</b>元件TL16C552A数据表

    上位机与pLc通讯中断如何判断

    在工业自动化领域,上位机与PLC(可编程逻辑控制器)之间的通信至关重要。通信中断可能导致生产线停滞,影响生产效率和产品质量。本文将详细介绍如何判断上位机与PLC之间的
    的头像 发表于 06-06 09:55 2413次阅读

    同步FIFO和异步FIFO区别介绍

    1. FIFO简介 FIFO是一种先进先出数据缓存器,它与普通存储器的区别是没有外部读写地址线,使用起来非常简单,缺点是只能顺序读写,而不能随机读写。 2. 使用场景 数据缓冲:也就是数据写入过快
    的头像 发表于 06-04 14:27 1622次阅读
    同步<b class='flag-5'>FIFO</b>和异步<b class='flag-5'>FIFO</b>区别<b class='flag-5'>介绍</b>

    DMA产生FIFO error interrupt错误的原因?

    DMA用于接收采集AD转化数据,而且AD每间隔50us采集一次,DMA配置成单次模式,并收数长度50次,未启用FIFO模式,但是当外部中断非常频繁时,DMA不知怎么回事,产生了FIFO 错误,按道理
    发表于 05-15 06:34

    STM32F407的CAN通讯接收长数据,用keil调试时每次进中断FIFO就已经数据溢出了怎么解决?

    CAN_IT_RX_FIFO0_MSG_PENDING中断在接收到第一帧数据时就进中断,但是用keil调试的时候每次进中断FIFO就已经数
    发表于 03-12 07:55

    使用SPI通信发送128字节的FIFO,清空缓冲区需要多少时间?

    我正在使用 SPI 通信发送 128 字节的 FIFO。 设置源频率为 80MHZ,SPI 速率为 5MHZ。 我想检查清空缓冲区需要多少时间。 在配置下方设置。 .spiMode
    发表于 03-05 07:08

    TC375上的I2C编写了EVAL_BDPS_DRIVER,RX FIFO下溢中断是怎么来的?

    请求。 但是,在最后一个脉冲串请求之后,我又收到了一个由 RX FIFO 下溢引起的错误中断。 为什么会这样? 我几乎可以肯定,在处理完最后一个脉冲串请求后,我没有读取 RXD 寄存器。 我还已经
    发表于 03-05 07:01

    如何清除SPI通信中的TX_FIFO和RX_FIFO

    你好, 如何清除 SPI通信中的 TX_FIFO 和 RX_FIFO?是否有任何 API 可以清除接收数据缓冲区。
    发表于 02-27 07:16

    将TC275的CAN_RX_FIFO例程移植到TC234上运行报错的原因?

    FIFO溢出中断。但是移植到TC234后,RX FIFO溢出会掉入如下error: 1,请问从什么手册上可以查询到这种error是由什么引起的?以及对该error的介绍? 2,请问
    发表于 02-02 07:35