littlebot
Published on 2025-04-03 / 1 Visits
0

【源码】基于FPGA和AVR的Atari ST硬盘接口系统

项目简介

本项目名为Smonson Disk,致力于为Atari ST计算机系统打造一个可靠实用的硬盘解决方案。通过两个SD卡插槽以及一个电池供电的实时时钟,满足Atari ST的ACSI协议、电压和时序要求,为用户提供更多存储和计时选项。

项目的主要特性和功能

  • 运用FPGA控制的ACSI接口,严格符合时序规范。
  • 设有一个前装可移动SD卡插槽与一个内置的microSD卡插槽。
  • SD卡于10MHz的SPI总线运行,具备1.25MB/s的吞吐量。
  • 集成电池供电的实时时钟。
  • 支持通过ST计算机进行GUI配置(待开发),配置信息可存于EEPROM中。
  • 项目开源,有110KB剩余代码空间,便于用户按需添加新功能。

安装使用步骤

构建微控制器固件

环境准备

  • 安装支持avr128da微控制器的GCC交叉编译器(如5.4.0版本)。
  • 从Microchip官网下载avr128da的“atpack”文件,解压到mcu-source/atpack目录。

编译

  • mcu-source目录下,更新Makefile中的LIBC变量为avr-libc的路径。
  • 更新AVRDUDE变量以反映编程器设置(通常是avrdude.conf的路径)。
  • 连接UPDI编程器,执行make flash命令编译并烧录微控制器。

构建FPGA配置ROM图像

环境准备

  • 从Intel官网免费下载Quartus Lite并安装,确保安装MAX V家族支持。
  • 准备“USB-Blaster”或兼容的编程器。
  • 若使用Linux系统,需安装编程器的udev规则文件。

编译

  • 打开Quartus中的项目,点击“开始编译”。
  • 编译完成后,打开编程器工具,将配置ROM烧录到FPGA芯片,若未自动检测到USB Blaster硬件,可能是udev的问题。

注意事项

  • 固件和FPGA配置需配合使用,确保软硬件兼容。
  • 调试和错误检查功能需在定义DEBUG_ENABLED宏的情况下启用。
  • 具体硬件环境和寄存器配置可能因硬件平台而异,需参照硬件手册进行调整。

下载地址

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