TC33x/TC32x 【QSPI 配置】
英飞凌 TC33x/TC32x 芯片 QSPI 配置详解与寄存器解析一、QSPI 模块架构与核心特性QSPIQueued Serial Peripheral Interface是英飞凌 AURIX™ TC333 芯片的高速同步串行通信接口支持多设备并行通信和灵活的帧格式定义。集成 4 个独立的 QSPI队列 SPI模块每个模块支持 16 路片选通道SLSO [15:0]主模式下可通过译码器扩展至 16 个从设备从模式支持 7 路片选。每个 QSPI 模块包含分层架构总线接口AHB-Lite/APB、核心控制单元DAC/INDAC/STIG、传输组件SPI/Dual/Quad 接口并通过硬件队列和 FIFO 机制实现高效数据管理。二、QSPI 初始化配置流程1. 时钟使能DISRBit0模块时钟使能控制0 使能1 请求禁用DISSBit1模块时钟状态反馈只读0 使能1 禁用EDISBit3模块睡眠模式使能控制注意不同模块的CLC寄存器配置语法相同2. 引脚映射配置QSPI1_PISEL关键参数MRISBit2 - Bit0主模式接收输入选择SRISBit6 - Bit4从模式接收输入选择SCISBit10 - Bit8从模式时钟输入选择SLSISBit14 - Bit12从模式片选输入选择配置依据《AURIX™ TC33x_TC32x User Manual》TC33x/TC32xSpecific Register Set3. 全局控制寄存器配置QSPI1_GLOBALCON 关键参数ENBit24模块使能MSBit26-25主从模式选择RESETSBit31-30软件复位子模块 / 寄存器全复位TQBit7-0 全局时间量子波特率分频系数STIPBit22从模式空闲极性未选中时MRST电平SRFBit21 Rx FIFO 满时暂停 Tx主模式流控LBBit14回环测试内部发送→接收环回ARENBit27从模式自动复位波特率 / 尖峰错误触发QSPI1_GLOBALCON 1关键参数ERRORENSBit8 - Bit0错误中断使能TXENBit9发送中断事件使能RXENBit10接收中断事件使能PT1ENBit11PT1 事件中断使能PT2ENBit12PT2 事件中断使能USRENBit15USR 事件中断使能TXFIFOINTBit17 - Bit16发送 FIFO 中断阈值RXFIFOINTBit19 - Bit18接收 FIFO 中断阈值PT1Bit22 - Bit20相位转换事件 1PT2Bit25 - Bit23相位转换事件 2TXFMBit27 - Bit26TXFIFO 模式RXFMBit29 - Bit28RXFIFO 模式4.QSPI1_ECON 通道配置ECONz 关键参数QBit5 - Bit0时间量子定义波特率和占空比的基础时间单位ABit7 - Bit6位段 1 长度以时间量子为单位的时序段长度BBit9 - Bit8位段 2 长度以时间量子为单位的时序段长度CBit11 - Bit10位段 3 长度以时间量子为单位的时序段长度CPHBit12时钟相位控制 SCLK 采样相位对应 SPI 的 CPHA 配置CPOLBit13时钟极性控制 SCLK 空闲电平对应 SPI 的 CPOL 配置PARENBit14奇偶校验使能使能收发过程的奇偶校验生成与校验BEBit31 - Bit30大端模式转换配置 16 位 / 32 位大端字节序5. 片选控制寄存器配置关键参数OENBit31:16使能片选输出置 1 使能置 0 输出空闲电平AOLBit15:0片选有效电平0 低 / 1 高空闲为有效电平反相三、SPI配置重点解析1. 引脚功能需要通过 Port 口的寄存器如 Pn_IOCRx 等配置以确定哪些引脚复用为 SPI 的信号线如时钟线、数据线、片选线等2. QSPI 模块的配置如寄存器块 QSPI0、QSPI1、QSPI2则涉及通信参数如波特率、传输格式、片选控制等这些配置依赖于已正确复用为 SPI 功能的引脚才能实现正常通信。3.待完善四、代码示例void Qspi_Init(void) { uint16 password 0; QSPI1_CLC.B.DISR 0; // Enable QSPI1 clock QSPI2_CLC.B.DISR 0; // Enable QSPI2 clock qspi1_m_init_pins(); // Initialize QSPI1 pins qspi2_m_init_pins(); // Initialize QSPI2 pins QSPI1_PISEL.U 0x00000001; // Select QSPI1 pin group 1 QSPI1_GLOBALCON.U 0x200F3000; // Configure QSPI1 global parameters QSPI1_GLOBALCON1.U 0x0005007B; // Configure QSPI1 timing parameters QSPI1_ECON4.U 0x00001843; // Configure ECON4 for TB9083 write QSPI1_ECON1.U 0x00001843; // Configure ECON1 for TB9083 read QSPI1_SSOC.U 0x02100000; // Configure QSPI1 chip select timing QSPI1_GLOBALCON.B.EN 1; // Enable QSPI1 module QSPI2_PISEL.U 0x00000004; // Select QSPI2 pin group 4 QSPI2_GLOBALCON.U 0x200F3000; // Configure QSPI2 global parameters QSPI2_GLOBALCON1.U 0x0005007B; // Configure QSPI2 timing parameters QSPI2_ECON7.U 0x00001847; // Configure ECON7 for TPS653852A QSPI2_SSOC.U 0x00800000; // Configure QSPI2 chip select timing QSPI2_GLOBALCON.B.EN 1; // Enable QSPI2 module } uint32 Qspi_xxxSendRecieveB(uint32 data) { uint32 recdata 0; uint16 counter 4000; QSPI1_BACONENTRY.U 0x4FA00013; // Write command frame QSPI1_DATAENTRY4.U data; // Write data to DATAENTRY4 // Wait for transmission start while ((QSPI1_STATUS.B.PHASE 0) (counter ! 0)) { counter--; } // Wait for transmission completion while ((QSPI1_STATUS.B.PHASE ! 0) (counter ! 0)) { counter--; } recdata (uint32)QSPI1_RXEXIT.U; // Read received data return recdata; } uint32 Qspi_xxxSendRecieveA(uint32 data) { uint32 recdata 0; uint16 counter 4000; QSPI1_BACONENTRY.U 0x9FA00013; // Write command frame QSPI1_DATAENTRY1.U data; // Write data to DATAENTRY1 // Wait for transmission start while ((QSPI1_STATUS.B.PHASE 0) (counter ! 0)) { counter--; } // Wait for transmission completion while ((QSPI1_STATUS.B.PHASE ! 0) (counter ! 0)) { counter--; } recdata (uint32)QSPI1_RXEXIT.U; // Read received data return recdata; } uint32 Qspi_xxxSendRecieve(uint32 data) { uint32 recdata 0; uint16 counter 2000; QSPI2_BACONENTRY.U 0x7BA04103; // Write command frame QSPI2_DATAENTRY7.U data; // Write data to DATAENTRY7 // Wait for transmission start while ((QSPI2_STATUS.B.PHASE 0) (counter ! 0)) { counter--; } // Wait for transmission completion while ((QSPI2_STATUS.B.PHASE ! 0) (counter ! 0)) { counter--; } recdata (uint32)QSPI2_RXEXIT.U; // Read received data return recdata; }五、总结TC333 芯片的 QSPI 模块通过分层配置实现了灵活的多设备通信能力其核心配置流程可归纳为硬件初始化引脚映射 时钟使能协议定义ECON 通道配置帧格式时序校准全局控制寄存器 片选控制寄存器状态管理PHASE 位轮询 超时保护通过合理配置 GLOBALCON、ECON、SSOC 等寄存器开发者可以高效实现与 TB9083、TPS653852A 等外设的可靠通信。建议结合《Infineon-AURIX_TC3xx_Part2-UserManual》第 3 章和具体从设备手册进行深入调试****最后重点***如果您觉得有用***帮忙点赞加收藏哟***谢谢****

相关新闻

s_y2printer 开源项目分析

s_y2printer 开源项目分析

s_y2printer 开源项目分析 仓库地址: https://gitee.com/smallerxuan/s_y2printer 项目定位: 面向 嵌入式热敏打印机项目的半色调(Dithering)算法库 核心功能: 将 8bit 灰度图像高效转换为 1bit 打印数据 License: MIT 目录 项目概述与核心价值系统架构…

2026/7/28 10:15:00阅读更多 →
如何快速掌握抖音下载神器:面向新手的完整指南

如何快速掌握抖音下载神器:面向新手的完整指南

如何快速掌握抖音下载神器:面向新手的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…

2026/7/28 10:15:00阅读更多 →
如何五分钟内解决微信网页版登录难题:wechat-need-web完整指南

如何五分钟内解决微信网页版登录难题:wechat-need-web完整指南

如何五分钟内解决微信网页版登录难题:wechat-need-web完整指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法登录而…

2026/7/28 10:15:00阅读更多 →
AFL、libFuzzer与Honggfuzz实战横评:漏洞挖掘场景下的工具选型与调优指南

AFL、libFuzzer与Honggfuzz实战横评:漏洞挖掘场景下的工具选型与调优指南

1. 项目概述:为什么需要一场Fuzzing工具的“实战对决”? 在安全研究领域,Fuzzing(模糊测试)早已不是新鲜词汇,它被誉为自动化漏洞挖掘的“瑞士军刀”。无论是企业安全团队进行内部代码审计,还是…

2026/7/28 11:24:12阅读更多 →
B站视频下载终极指南:如何永久保存大会员4K和充电专属内容

B站视频下载终极指南:如何永久保存大会员4K和充电专属内容

B站视频下载终极指南:如何永久保存大会员4K和充电专属内容 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 你是否曾为无法…

2026/7/28 11:24:12阅读更多 →
Unity MMORPG服务器架构:基于Mirror的区域管理与兴趣网格实战

Unity MMORPG服务器架构:基于Mirror的区域管理与兴趣网格实战

1. 项目概述:构建一个能承载万人在线的MMORPG世界 做MMORPG,尤其是想做一个能承载成百上千甚至上万玩家同时在线的世界,最头疼的往往不是客户端的美术和玩法,而是服务器端那套看不见摸不着的网络架构。很多独立开发者或者小团队&a…

2026/7/28 11:24:12阅读更多 →
JDK 21虚拟线程在支付网关高并发场景下的实践

JDK 21虚拟线程在支付网关高并发场景下的实践

1. 项目概述 去年秋天JDK 21正式发布时,虚拟线程(Virtual Threads)作为预览特性首次亮相就引起了我的强烈兴趣。作为在金融支付系统摸爬滚打多年的老码农,我深知传统线程模型在高并发I/O场景下的痛点——每个Socket连接都需要独占…

2026/7/28 11:24:12阅读更多 →
编写程序统计纯粹为了自我满足而创作的作品数量,以此作为衡量人生充实度的核心标准。

编写程序统计纯粹为了自我满足而创作的作品数量,以此作为衡量人生充实度的核心标准。

为自己而做:用 Python 统计"无用创作",重建人生的充实度量尺。说明:本文为纯技术实践分享,不涉及任何课程推广、营销引流或商业产品。所有代码可在本地离线运行。一、实际应用场景描述在《心理健康与创新能力》课程中&a…

2026/7/28 11:24:12阅读更多 →
终端AI编程工具Claude Code提升开发效率40%

终端AI编程工具Claude Code提升开发效率40%

1. 为什么终端AI编程正在改变开发方式在2023年Stack Overflow开发者调查中,87%的专业开发者表示已在日常工作中使用AI编程工具。而更值得关注的现象是:越来越多顶尖工程师开始将AI编程工具深度集成到终端工作流中。Claude Code作为新兴的CLI工具链&#…

2026/7/28 11:22:11阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →