USBi 调试 与 MCU 运行 共存方案总结

一、电路要求

复制代码
                    4.87K    4.87K    直连     直连
USBi P4  ──────── CLK ──── MOSI ──── CS ──── MISO ────┐
                    │        │        │        │       │
MCU SPI4 ──[33R]── CLK ──── MOSI ──── CS ──── MISO ───┤── ADSP_SPI_* 网络
           R131    R132     R133     R130              │
                                                       ├──[33R R7]── DPI_P03 (CLK)
                                                       ├──[33R R2]── DPI_P01 (MOSI)
                                                       ├──[33R R9]── DPI_P04 (CS) ──[10K R12]── 3.3V
                                                       ├──[33R R4]── DPI_P02 (MISO)
                                                       └──           M25P16 (CLK/MOSI/MISO共用, CS独立=DPI_P05)
USBi 线 串联电阻 原因
CLK 4.87K 隔离 Boot 时 DSP 33R 驱动,无上拉冲突
MOSI 4.87K 同上
CS 直连 R12 10K 上拉,串大电阻会导致 CS 拉不低
MISO 直连 输入信号,不驱动总线
GND 直连 共地

二、代码要求

USBi 调试模式(SigmaStudio 下载 TOPO):

复制代码
// main.c 中需要注释掉:
//  USBi_Init();           // ← SPI4 不初始化,PE11-14 浮空
//  DoDspTopoSend();       // ← MCU 不发 TOPO,由 USBi 发

// 保留不动:
    InitSSMetaDataNew();   // ← 仅解析 Flash 常量,无 SPI 操作
    DSP_Work();            // ← 释放 DSP 复位,让 DSP 从 M25P16 Boot
    CheckDspIsWork();      // ← 检测 DSP 启动,使用 GPIO(PC9),不涉及 SPI4

MCU 正常运行模式(产品运行):

复制代码
// main.c 中恢复:
    USBi_Init();           // ← 初始化 SPI4
    DoDspTopoSend();       // ← MCU 发送 TOPO 到 DSP

三、操作流程

USBi 调试时:

复制代码
1. 烧录 USBi 调试模式固件(注释掉 USBi_Init/DoDspTopoSend)
2. 上电 → DSP 从 M25P16 Boot → LED 灭(框架就绪)
3. 打开 SigmaStudio → 连接 USBi → 下载 TOPO
4. DSP LED 闪烁 = TOPO 加载成功

切回正常模式时:

复制代码
1. 关闭 SigmaStudio
2. 断电
3. 恢复代码(取消注释 USBi_Init/DoDspTopoSend)
4. 拔掉 USBi USB 线(或保留,4.87K 隔离)
5. 上电 → MCU 发 TOPO → DSP 运行

四、注意事项

  • 断电前先关 SigmaStudio,防止 USBi 挂死总线
  • 不要同时使用 MCU 和 USBi 发送 SPI 数据,两个 Master 会冲突
  • 逻辑分析仪可直接并联在 ADSP_SPI_* 网络上(高阻输入,不需要串电阻)
相关推荐
LCMICRO-1331084774611 小时前
国产长芯微LDC5141完全P2P替代DAC80501,数模转换器 (DAC)
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·数模转换器 dac
普中科技12 小时前
【普中 51-Ai8051 开发攻略】-- 第 9 章 按键控制实验
单片机·嵌入式硬件·开发板·keil·按键·普中科技·ai8051u
曼亿点13 小时前
STM32HAL驱动L298N电机驱动模块(PWM调速+双电机控制)保姆级教程
stm32·单片机·嵌入式硬件
筱谙13 小时前
BES 芯片跨核通讯与共享内存设计原理
嵌入式硬件·音频·蓝牙
思为无线NiceRF13 小时前
高空线路安装智能安全帽全双工组网对讲系统(含优先级管控)应用方案
嵌入式硬件·物联网
独小乐15 小时前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
不吃鱼的羊15 小时前
ADC扫描组Scan Group
单片机
LCMICRO-1331084774616 小时前
长芯微LPC556D1完全P2P替代DAC8830,是引脚兼容的16位数模转换器,该系列产品为单通道、低功耗、缓冲电压输出型DAC
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·电压输出型dac
forAllforMe16 小时前
如何用定时器PWM产生SPWM?--电机驱动控制
嵌入式硬件
charlie11451419116 小时前
嵌入式C++教程实战之Linux下的单片机编程(9):HAL时钟使能 —— 不开时钟,外设就是一坨睡死的硅
linux·开发语言·c++·单片机·嵌入式硬件·c