DE1-SoC平台FPGA端Nios II项目SD卡引脚分配问题求助
DE1-SoC SD卡引脚分配及IP适配解决方案
1. 必须添加HPS IP模块
DE1-SoC的SD卡物理引脚属于HPS(硬核处理器系统)专属引脚,并非FPGA通用IO,因此无法通过纯FPGA侧的SD卡IP直接分配引脚,必须在Qsys中添加HPS IP,通过HPS的SD/MMC控制器来访问SD卡。
2. HPS SD/MMC接口配置步骤
- 打开Qsys的HPS配置界面,进入
Peripherals->SD/MMC选项,启用SD卡控制器 - 配置HPS引脚复用,DE1-SoC SD卡对应HPS引脚如下(官方手册标准):
- SD_CLK: HPS_IO3_25
- SD_CMD: HPS_IO3_26
- SD_DAT0: HPS_IO3_27
- SD_DAT1: HPS_IO3_28
- SD_DAT2: HPS_IO3_29
- SD_DAT3: HPS_IO3_30
- SD_CD(卡检测): HPS_IO3_31
- 这些引脚无需在Pin Planner中手动分配,Quartus会根据HPS配置自动生成引脚约束。
3. 替换原SD卡IP,适配HPS架构
- 删除之前添加的纯FPGA SD卡IP,该IP不适用于DE1-SoC的硬件连接
- 在Qsys中,将HPS的SD控制器AXI接口连接到Nios II的系统总线,让Nios II通过AXI总线访问SD卡控制器
- 若需在FPGA侧处理SD卡数据,可通过HPS的FPGA-to-HPS桥接(AXI Lite/AXI Stream)实现数据传输。
4. 解决IP信号与手册不符问题
你之前使用的纯FPGA SD卡IP信号为通用SD协议定义,而DE1-SoC的SD卡引脚绑定到HPS,因此信号定义不匹配是正常现象。改用HPS IP后,信号会与官方手册的HPS引脚定义完全对应。
5. 后续开发注意事项
- 配置HPS时,启用
HPS FPGA Interface中的桥接功能,确保Nios II能访问HPS外设 - Nios II程序需使用Altera提供的HPS外设驱动(如
alt_hps_sdmmc.h相关函数)操作SD卡 - SD_CD引脚可配置为中断或轮询模式,用于检测SD卡插入状态。
内容的提问来源于stack exchange,提问作者Mag
相关产品推荐
相关产品推荐

