0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI开发硬件设计+CH390H实战:从入门到精通!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-09-15 15:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

从零开始学习SPI开发?本教程手把手教你硬件设计方法,并通过CH390H示例项目,逐步进阶至精通级开发能力。

本文以Air780EPM为例,分享SPI接口的开发注意事项及硬件设计要点。

一、Air780EPM的SPI功能支持

在Air780EPM中,SPI接口通过特定GPIO引脚实现,需结合LuatOS的API进行配置。通过合理设计和调试,可高效连接多种外设,扩展物联网应用功能。

1.1 硬件支持

1)接口数量:

Air780EPM支持4路SPI接口:

1路用于SPI LCD;

1路用于SPI Camera;

2路标准SPI接口(Air780EPM开发板中将SPI0用于了以太网接口)。

这里需要特别注意:LCD和Camera专用SPI接口,无法作为标准SPI接口使用。

管脚映射图等最新资料下载:https://docs.openluat.com/air780epm/luatos/hardware/design/spi/

wKgZO2jHwRaALvb8AA1ZA0P6pNs491.pngwKgZO2jHwOOAF2kgAAjh2M7mvCg181.png

2)电压兼容性:

SPI接口电压可通过IO_SEL引脚配置为1.8V或3.3V,需注意与外设的电平匹配,否则需添加电平转换电路。

1.2 软件支持

以下仅针对2路标准SPI接口进行介绍。

协议兼容性:支持标准SPI协议(主模式)。

工作模式:

主模式(Master):支持。

从模式(Slave):不支持(暂不支持)。

速率支持:最大时钟频率:25.6MHz(需外设支持)。

典型应用频率:1MHz~10MHz(需根据外设能力调整)。

LuatOS API:

提供spi.setup()、spi.send()、spi.receive() 等函数控制SPI通信

wKgZPGjHwVGAcAnuAABpqFw3qnw998.png

二、开发注意事项

使用Air780EPM和LuatOS进行SPI开发时,需特别关注以下关键事项。

2.1 硬件设计

1)信号线配置:确保SPI引脚(CLK、MOSI、MISO、CS)正确连接,避免与其他复用功能(如UARTI2C、PWM、GPIO 等)冲突。

2)电平匹配:

若外设为5V电平,需通过电平转换芯片(如TXB0104)转换至3.3V或1.8V,保持与VDD_EXT电平一致。

3)信号完整性:

SPI线需远离高频干扰源(如电源线、射频模块);高速通信时,SCLK线长度应≤10cm,避免信号反射或延迟。

2.2 软件配置

1)初始化步骤:

wKgZPGjHwXqAUauPAABeRZHq-Ic016.png

2)低功耗模式:

SPI接口在模块休眠时会掉电,需在唤醒后重新初始化。

2.3 调试与常见问题

通信失败时,可从以下几个方面进行排查。

1)检查时钟频率:外设最大支持速率需≥配置速率(如外设仅支持 5MHz,需设置spi.setup(1, 5e6, ...))。

2)数据格式匹配:

确保CPOL/CPHA模式与外设一致(参考具体外设数据手册)。

3)CS信号状态:

确认SS引脚在通信期间保持低电平。

4)信号完整性:

示波器检查CLK、MOSI、MISO波形是否正常。

2.4 其他关键点:

1)GPIO复用:

确保SPI引脚未被其他功能(如UART、I2C、PWM、GPIO 等)占用,在使用SPI功能之前务必使用LuatIO 工具进行初始化配置。

2)DMA与FIFO优化:

高速传输时启用DMA模式;避免FIFO溢出,需合理设置缓冲区大小。

wKgZO2jHwpSAOyXxAAA_jbeVXXE902.png

3)固件版本:

使用支持SPI功能的LuatOS固件。

详见最新固件说明:https://docs.openluat.com/air780epm/luatos/firmware/version/


三、以太网芯片CH390H示例

下文以Air780EPM开发板上SPI接口的以太网芯片CH390H为例,分享SPI接口的常用用法。

3.1 硬件电路

Air780EPM二次开发的原理图和PCB等硬件参考设计文件,需要的朋友可通过资料中心下载。

最新参考设计文件下载:https://docs.openluat.com/air780epm/luatos/hardware/design/reference/


wKgZO2jHwvmATiodAAH14dFlSlQ755.pngwKgZO2jHww6AIyrCAAC8_eUM7pk351.png

3.2 软件代码

有关CH390H的代码太长,这里仅截取一段有关SPI0的代码作为示例。

CH390H联网测试完整示例代码,详见源码仓库:https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EPM/demo

wKgZO2jHwzqAaU8qAAFJ4EW_zLQ854.png

今天的内容就分享到这里了~

审核编辑 黄宇


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2950

    文章

    48122

    浏览量

    418284
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1900

    浏览量

    102111
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索MAX8989评估套件:入门实战

    探索MAX8989评估套件:入门实战 在当今的电子设备中,电源管理芯片起着至关重要的作用,它不仅影响着设备的性能和稳定性,还关系到设备的功耗和续航能力。Maxim Integrat
    的头像 发表于 04-04 09:05 231次阅读

    SQLMAP入门精通

    的功能覆盖和灵活的扩展性,已成为渗透测试人员不可或缺的“瑞士军刀”。本文将从适用场景、核心功能、实战技巧三个维度,系统解析SQLMap如何助力测试效率实现质的飞跃。
    的头像 发表于 03-14 14:18 801次阅读

    RK3506 MIPI转HDMI显示开发实战硬件驱动全解析

    0 入门 Linux 嵌入式开发!RK3506 开发板实战教程系列开篇 在嵌入式设备开发中,MIPI DSI接口(移动行业处理器接口)广
    的头像 发表于 01-06 07:09 1106次阅读
    RK3506 MIPI转HDMI显示<b class='flag-5'>开发</b><b class='flag-5'>实战</b>:<b class='flag-5'>从</b><b class='flag-5'>硬件</b><b class='flag-5'>到</b>驱动全解析

    Renesas RSKRX231开发板:入门实战的全方位指南

    Renesas RSKRX231开发板:入门实战的全方位指南 在当今的电子设计领域,一款功能强大且易于上手的
    的头像 发表于 12-29 17:00 1492次阅读

    RL78/G16快原型开发板使用指南:入门实战

    RL78/G16快原型开发板使用指南:入门实战 引言 在嵌入式开发领域,快速原型
    的头像 发表于 12-29 14:00 781次阅读

    探索PTN3222CUK-EVB演示板:入门精通

    探索PTN3222CUK-EVB演示板:入门精通 在电子工程师的日常工作中,评估板是验证和开发新设计的重要工具。今天,我们将深入探讨NX
    的头像 发表于 12-24 17:20 1063次阅读

    迅为iTOP-Hi3516开发板驱动开发资料全面上线,构建入门精通的完整学习路径!

    迅为iTOP-Hi3516开发板linux驱动开发资料全面上线,构建入门精通的完整学习路径!
    的头像 发表于 12-19 15:47 842次阅读
    迅为iTOP-Hi3516<b class='flag-5'>开发</b>板驱动<b class='flag-5'>开发</b>资料全面上线,构建<b class='flag-5'>从</b><b class='flag-5'>入门</b><b class='flag-5'>到</b><b class='flag-5'>精通</b>的完整学习路径!

    AIROC™ CYW20829评估套件:入门实战

    AIROC™ CYW20829评估套件:入门实战 在物联网应用的蓬勃发展中,低功耗、高性能的蓝牙低功耗(Bluetooth® Low Energy)模块显得尤为重要。英飞凌的AIR
    的头像 发表于 12-19 10:30 496次阅读

    SPI开发实战硬件电路设计与CH390H应用全攻略

    实战SPI开发指南!涵盖硬件电路设计核心技巧,结合CH390H应用案例,一站式解决SPI
    的头像 发表于 09-18 14:08 1078次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>开发</b><b class='flag-5'>实战</b>:<b class='flag-5'>硬件</b>电路设计与<b class='flag-5'>CH390H</b>应用全攻略

    嵌入式入门进阶,怎么学?

    嵌入式入门进阶,怎么学? 嵌入式学习的核心是 “软硬结合的技术壁垒”,科学分层才能高效突破。以下是入门
    发表于 09-02 09:44

    Altium Designer电路设计入门精通

    Altium Designer电路设计入门精通 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 08-20 16:40

    入门精通:电商API的全栈开发指南

    在当今电商蓬勃发展的时代,API(应用程序编程接口)作为系统间的“桥梁”,已成为构建高效、可扩展电商平台的核心。全栈开发涉及从前端用户界面后端服务器、数据库的完整流程,本指南将带你零基础逐步掌握
    的头像 发表于 07-23 15:55 1531次阅读
    <b class='flag-5'>入门</b><b class='flag-5'>到</b><b class='flag-5'>精通</b>:电商API的全栈<b class='flag-5'>开发</b>指南

    DSP入门精通全集

    这是一本循序渐进介绍DSP的书籍,DSP的入门知识介绍DPS的硬件,接口,应用,DSP的ADC/DAC
    发表于 07-12 14:36

    DeepSeek:入门精通

    电子发烧友网站提供《DeepSeek:入门精通.pdf》资料免费下载
    发表于 05-28 14:12 6次下载

    学电路设计分享学习心得、技术疑问及实战成果

    硬件开发与电路设计速成实战篇(入门精通)》系列课程活动:学习完《
    的头像 发表于 05-20 08:07 730次阅读
    学电路设计分享学习心得、技术疑问及<b class='flag-5'>实战</b>成果