跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT SDK
  4. SPI模拟时序波形

SPI模拟时序波形

已定时 已固定 已锁定 已移动 YT SDK
1 帖子 1 发布者 15 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    Derrick YunTu
    编写于 最后由 编辑
    #1

    1. 版本

    Config Tool Version:2.7.8
    ME05 SDK version:1.4.0
    EVB version: YTM32B1ME0-EVB-Q144 Rev.C

    2.前言

    有客户需要用MCU引脚输出特定波形进行通信,如下图:
    54fe2b5d-4f3f-43d4-83e2-a5cf1d39d48c-image.png
    MCU没有特定的硬件外设可以输出这种波形,使用IO模拟会很占用CPU资源,但是用SPI进行组帧可以模拟出这种波形。
    通过调整SPI的波特率和帧间隔时间去满足它的时序要求。

    3.方案

    固定发送特定的组帧,即用一个SPI帧去模拟一bit时序,如下图:
    c1612f8c-76fe-46d0-ba39-c568f64b541f-image.png
    设定SPI的帧长度(Framesize)为6,0码 高电平/低电平时间:1/2;1码 高电平/低电平时间:2/1.

    3.1 波特率计算

    如上时序中1bit的理想时间是720ns,我们假设是750ns,即SPI一帧750ns,
    那SPI的1bit就是 750ns/6 = 125ns,可得SPI的波特率为1 / 125ns = 1 / 0.000 000 125 = 8M.即设定SPI的波特率为8M最合适。

    4. 示例工程配置

    4.1 SPI时钟配置

    功能时钟选择PLL, 120M时钟, 3分频,所以SPI的功能时钟为40M.
    278d4ba8-cd11-4da1-acd5-6dbf5778f475-image.png

    4.2 SPI功能配置

    这里只考虑主机发送的配置:
    fde763e0-db49-4f03-92d5-bb3a8fc4a656-image.png
    因为要尽量满足时钟波形连续无间隔,需要对CS2CLK,CLK2CS,Frame2Frame进行微调,这里都设置1。
    1bdf13d4-bad8-4daf-9b43-187bd7247988-image.png
    设置为Frame2Frame讲个刚好为60ns,与时钟线的负脉宽基本一样
    b8834884-cfc8-48c4-97ae-91e783fa09b5-image.png

    4.3 码元转换函数

    此函数可将16进制数据转化为对应的码元数据,方便SPI发送函数传参。
    比如说0x23,它的二进制数据是0010 0011,转换后的数据数组就是
    {0x30, 0x30,0x3C, 0x30, 0x30, 0x30,0x3C, 0x3C}
    e35dc1bd-fddb-44c8-877b-15305751dd52-image.png

    5. 实测波形

    5.1 发送全0数据:

    T0H典型值:250ns。
    T0L典型值:500ns。
    5f946a40-374b-46a4-ab9d-a9daf0cc8f83-image.png

    5.2 发送全1数据:

    T1H典型值:500ns。
    T1L典型值:250ns。
    d79c86bd-3f64-4827-b6dd-3f1b48a23ef5-image.png

    5.3 随机数据

    12f2b216-ff1b-4829-84fc-fb75ba6ab282-image.png

    5.4 Reset码

    249495ab-18ee-414f-8cfa-1859fa161ae5-image.png

    6. 示例工程

    SPI模拟时序波形.zip

    1 条回复 最后回复
    0

  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

    帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

  • can
    24
    demo
    21
    lin stack
    13
    uds
    13
    md14
    6
    fbl
    5
    yt-link
    5
    adc模块
    4
    Online Users
    • 登录

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门