littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于STM32的TI HEX BUS SD驱动接口项目

项目简介

本项目是原HEXTIr项目的STM32版本移植。原项目耦合Atmel ATMEGA328微控制器可实现多种HEXBUS外设功能。本项目基于STM32F411CEU芯片的Black Pill开发板,实现了TI HEX - BUS SD驱动接口,同时支持USB CDC驱动用于调试输出,目前已实现SD卡的读写功能。

项目的主要特性和功能

  1. 外设功能实现:可实现Secure Digital(SD)基于随机访问磁盘驱动器、RS232端口、RS232打印机端口、RTC时钟等多种HEXBUS外设功能。
  2. SD卡读写:能对SD卡进行文件的保存和加载操作。
  3. USB CDC驱动:STM32芯片实现USB CDC驱动,可通过串口进行调试输出。
  4. 硬件优势:相比原AVR架构,采用32位ARM架构,有更大的内存(512K Flash和128K RAM)和更高的性能(96MHz运行频率)。

安装使用步骤

STM32版本

  1. 硬件连接
    • SD卡连接:按PB12 - /CS、PB13 - SCK、PB15 - MOSI、PB14 - MISO、GND - GND、3.3V - 3.3V VCC对应关系连接SD卡与MCU。
    • TI - 74 Dockbbus连接:按PB4 - 3 - D0、PB3 - 4 - D1、PB6 - 5 - D2、PB7 - 6 - D3、PB8 - 7 - HSK、PB9 - 8 - BAV、GND - 10 - GND对应关系连接,其余引脚不连接。
  2. 开发环境准备:安装STM32CubeIDE开发环境,确保安装STM32的HAL库和中间件库。
  3. 项目导入:将项目文件导入到STM32CubeIDE中。
  4. 编译下载:编译项目,将编译后的代码下载到Black Pill开发板上。
  5. 测试验证:通过USB接口测试USB设备功能,验证SD卡读写及调试输出功能是否正常。

原Arduino实现

  1. 配置IDE:在Arduino IDE中配置所使用的特定开发板。
  2. 调整引脚映射:若开发板不使用Arduino UNO映射,需在config.h中调整引脚映射。
  3. 加载文件:将src目录下的src.ino文件加载到Arduino IDE中。
  4. 编译下载:编译代码并下载到Arduino系统。若要启用其他外设功能,可在config.h中取消对应行的注释。

原Native实现

  1. 选择配置
    • 使用PCB目录中的PCB设计,运行命令make CONFIG=config clean all fuses program
    • 使用带有SD卡屏蔽罩的Arduino UNO,运行命令make CONFIG=config - arduino clean all fuses program
  2. 调整设置:可能需要调整主目录中相应配置文件中的avrdude设置。
  3. 启用或禁用外设:若空间不足,可在config.h中注释掉特定外设。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】