查看: 1201|回复: 0

[分享] 基于LPC802的SPI至USART接口转换桥

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-11-30 10:59:51 | 显示全部楼层 |阅读模式
    基于LPC802的SPI至USART接口转换桥
    1引言
    当今主流的嵌入式物联网(IoT)系统正在以星型拓扑,中央控制器和许多外围设备呈现,实现系统功能。随着系统变得越来越复杂,中央控制器接口资源的限制与控制之间的矛盾接入设备的增加变得越来越突出。因此,它对于中央控制器通过扩展连接访问设备至关重要接口。在嵌入式系统的许多通信方法中,通用同步/异步接收器/发送器(USART)是由于其稳定性和可靠性而被广泛使用。


    本应用笔记提供了基于LPC802的SPI-To-USART接口扩展解决方案。该解决方案采用LPC802作为到作为SPI实现数据缓存和中央控制器之间的前向控制主设备和USART外设。


    2总体结构
    如图1所示,该系统由三部分组成:一个中央控制器,一个SPI至USART接口转换桥和两个USART外设。该系统使用LPC804(LPC804M101JDH24)作为中央控制器来管理从SPI到USART桥的数据传输。LPC802(LPC802M001JDH20)通过数据缓冲和USART充当SPI主设备和USART外设之间的桥梁界面管理。两个LPC51U68(LPC51U68_LQFP64)连接到LPC802上的USART接口以用作USART外设。
    11.png
    3硬件配置和接口
    图2显示了网桥的硬件配置。装有LPC804,LPC802和LPC51U68的系统板是LPCXpresso804 OM40001 Rev B,LPCXpresso802 OM40000 Rev A和LPCXpresso51U68 OM40005 RevA。
    12.png
    图3显示了网桥的接口定义。 LPC804通过SPI接口和LPC802连接到LPC802
    通过称为IRQ的中断信号向LPC804反馈。此外,两个LPC51U68通过桥连接USART界面。
    13.png
    4桥寄存器功能说明
    该桥使用寄存器驱动模式来实现USART接口扩展。换句话说,包括上游在内的所有操作从USART外设到中央控制器的传输,从中央控制器到USART外设的下游传输是通过寄存器读写实现。表1至表4列出了桥接器支持的寄存器。
    表1. THR / RHR寄存器

    14.png

    15.png

    16.png

    17.png

    5寄存器驱动操作
    桥接器的寄存器驱动操作可分为寄存器写入,寄存器读取,数据写入和数据四种类型读。如图4至图7所示,一个完整的寄存器或数据操作包括两部分,一个命令字节和一个部分数据字节或几个数据字节。命令字节是中央控制器发送的第一个字节。表5描述了安排该字节的位字段的值。

    18.png

    19.png

    6数据传输流程
    6.1下游传输流
    下游定义为传输方向,即从中央控制器到USART外设,通过SPI到USART的传输方向桥。网桥包含最多64个字节的发送缓冲区(Tx Buffer),并且我们假设已配置了Tx Buffer的触发级别作为64个字节。因此,下游传输包含两种不同的情况。
    •传输数据量等于64个字节
    如图8所示,必须读取TXLVL寄存器以确保Tx缓冲区有足够的空间来容纳数据字节。
    在中央控制器发送64字节数据到网桥之前。然后,中央控制器发送64字节数据进行桥接。桥缓存这些数据字节并将其转发到特定的USART通道。后来,网桥生成名为IRQ的中断信号并将其发送到中央控制器的输入引脚。一旦中央控制器检测到来自网桥的可用IRQ信号,它将读取IIR在桥接器中注册以识别中断源。这里是THR中断。

    20.png

    传输数据量少于64个字节,例如19个字节
    如图9所示,除了读取IIR寄存器外,这种情况的发送流程与第一种情况相同。有无需读取IIR寄存器,因为在这种情况下,网桥不会产生任何中断。
    21.png



    6.2上游传输流
    上游定义为传输方向,即从USART外设到中央控制器,再从SPI到USART桥的传输方向。
    网桥包含最多64个字节的接收缓冲区(Rx Buffer),并且我们假设Rx Buffer的触发级别已配置为64个字节。因此,上游传输包含两种不同的情况。
    •接收数据量等于64个字节
    如图10所示,当Rx缓冲区中的可用数据字节数量达到触发电平时,将生成RHR中断通过桥接器和桥接器将IRQ信号发送到中央控制器。一旦中央控制器检测到IRQ信号,它将读取IIR寄存器在网桥中识别中断源。如果中断源是RHR,则中央控制器必须读取RXLVL寄存器在接收缓冲区中获取可用数据量。最后,中央控制器通过发送来读取Rx缓冲区中的这些可用数据字节要桥接的虚拟数据(任何数据)字节。


    。。。。。
    未完,完整版请查看>>>



    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-19 19:43 , Processed in 0.118334 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表