找回密码
 立即注册
查看: 84|回复: 6

SPI的SOMI脚高电平只有2V不到 STC8H3K32S2

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-09-08 10:37:46

1

主题

4

回帖

37

积分

新手上路

积分
37
发表于 2025-9-5 14:40:32 | 显示全部楼层 |阅读模式

截图202509051453357431.jpg

大家好,目前项目组用一片STC8H3K32S2作为SPI从机,管脚分配如下

P2.5用作CLK
P2.4用作SOMI
P2.3用作SIMO
P2.2不作为ss,有其他用途

现在的症状是P2.4的SOMI输出时,高电平只有2V,请问是哪里的因素影响了

芯片的初始化代码如下:

void SPI_init(void)
{
        SPCTL = 0xd6;
        P_SW1 = (P_SW1 & ~(3<<2)) | (1<<2);
        P_SPI_SCK = 0;
        P_SPI_SI = 1;
        SPSTAT |= 0xc0;
}



void sub_cpu_init(void)
{
        P_SW2 |= 0x80;
        P2 = 0x00;
        P2M1 = 0x00;
        P2M0 = 0xc7;


...


        SPI_init();
        sub_init_pwm();
        wdt_clr();
        EA = 1;
}



        

        


回复

使用道具 举报 送花

3

主题

1986

回帖

820

积分

等待验证会员

积分
820
发表于 2025-9-5 14:43:00 | 显示全部楼层
大家好,关于您提到的STC8H3K32S2 SPI从机模式下SOMI引脚高电平仅约2V的问题,以下是专业分析与建议:

首先,SPI通信中,SOMI(即MISO)为从机输出数据引脚。在标准SPI协议中,该引脚在未传输数据时应保持高阻态或根据配置为高/低电平。若其高电平仅为2V,远低于VCC电压(通常为5V),可能涉及以下几方面原因:

1. 电源电压异常  
   首先确认芯片供电是否稳定。若VCC低于标称值(如4.5V以下),可能导致I/O引脚输出电压不足。建议使用万用表测量实际供电电压。

2. I/O驱动能力不足  
   STC8H系列单片机的I/O口在输出模式下具有一定的驱动能力,但若外部负载较大(如连接了容性负载或低阻抗电路),可能造成电压下降。检查SOMI引脚是否有外接电路,如上拉电阻、滤波电容或其他器件。

3. 配置寄存器设置问题  
   您提供的初始化代码中,SPCTL = 0xD6 设置为从机模式,但需确保其他相关寄存器(如SPCR、SPSR等)配置正确。例如:
SPEN(SPI使能位)应置1;
CPOL和CPHA设置需与主设备匹配;
确保SOMI引脚被正确配置为输出模式(通过P2M1/P2M2寄存器)。

4. 引脚功能冲突  
   P24为SOMI引脚,需确认其未被其他功能占用。查看P2M1/P2M2寄存器设置,确保该引脚配置为SPI功能而非通用IO。

5. 时钟相位或极性不匹配  
   若主设备与从机的CPOL/CPHA设置不一致,可能导致数据采样错误,进而影响信号完整性。建议使用示波器观察CLK与SOMI波形,确认时序关系。

6. 硬件设计问题  
   若SOMI引脚连接至其他电路(如ADC输入、逻辑门等),可能存在信号干扰或电平转换问题。建议断开外部电路,单独测试SOMI输出电平。

7. 芯片损坏或焊接不良  
   极端情况下,芯片内部电路故障或焊接接触不良也可能导致引脚电压异常。可尝试更换芯片或检查PCB焊点。

综上所述,建议按以下步骤排查:  
测量VCC电压;  
检查SOMI引脚外接电路;  
核对SPI相关寄存器配置;  
使用示波器观察时序;  
验证CPOL/CPHA设置;  
尝试更换芯片。

如问题仍未解决,建议提供完整代码及硬件原理图,以便进一步分析。感谢您的提问,祝项目顺利!

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-09-08 10:37:46

1

主题

4

回帖

37

积分

新手上路

积分
37
发表于 2025-9-5 14:47:53 | 显示全部楼层
国芯人*** 发表于 2025-9-5 14:43
大家好,关于您提到的STC8H3K32S2 SPI从机模式下SOMI引脚高电平仅约2V的问题,以下是专业分析与建议:

首 ...

AI的结果都检查了,就是寄存器配置这块不太确定我是否正确初始化了,希望大家帮忙一起看看初始化代码
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:558
  • 最近打卡:2025-09-14 14:21:57
已绑定手机

86

主题

6117

回帖

1万

积分

超级版主

积分
11312
发表于 2025-9-5 16:48:02 | 显示全部楼层
PxMx IO模式是否正确设置?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-09-12 09:04:18
已绑定手机

45

主题

2225

回帖

7806

积分

论坛元老

积分
7806
发表于 2025-9-5 18:22:01 | 显示全部楼层
把 “P2 = 0x00;” 代码删掉
或者用 “&” 指令拉低其他需要初始化为低电平的引脚,但是P24不要置0
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-09-08 10:37:46

1

主题

4

回帖

37

积分

新手上路

积分
37
发表于 2025-9-5 22:22:12 | 显示全部楼层
Debu*** 发表于 2025-9-5 16:48
PxMx IO模式是否正确设置?

你好
        P2M1 = 0x00;
        P2M0 = 0xc7;
这样设置不知道是否正确
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-09-08 10:37:46

1

主题

4

回帖

37

积分

新手上路

积分
37
发表于 6 天前 | 显示全部楼层
乘风*** 发表于 2025-9-5 18:22
把 “P2 = 0x00;” 代码删掉
或者用 “&” 指令拉低其他需要初始化为低电平的引脚,但是P24不要置0 ...

这个是有效的,感谢
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-9-14 20:20 , Processed in 0.121755 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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