raspberry-pi - 直接控制软盘驱动器

标签 raspberry-pi floppy

我正在尝试从在 +D 接口(interface)上格式化的 3.5"软盘中提取 ZX 频谱的数据。它与 PC 很接近,但不完全相同。我过去使用过编写软件来执行此操作BIOS 来访问软盘。

但是有些磁盘很旧并且有坏扇区。我正在尝试创建一个软盘驱动器 Controller 来以位级别读取磁盘以恢复尽可能多的数据。我完全知道这可能有多困难。不过,我编写了一个磁盘实用程序,它与原始 Spectrum 计算机上的机器代码级别的接口(interface)进行交互,用 Z80 汇编软件编写,以模拟 MSDOS 来访问文件并将文件写入 FAT12 软盘。访问这些磁盘的原始计算机使用 3.4MHz 处理器,因此我考虑使用的 Rasperry Pi 应该足够快。我什至可以从 Linux 运行它,但如果不能,我已经想出使用不需要任何内核来运行它的汇编语言来访问 GPIO 端口、屏幕、键盘和 SD 卡。我已经阅读了软盘驱动器如何读取和写入数据,并看到了一些如何操作软盘(不仅仅是步进电机)的基本示例。

我做了一些研究,但有一些问题我似乎找不到答案,想知道这里的人是否知道。

1) 读取数据引脚 (30)。这是否返回读取头下方的逻辑高/低值(向上或向下舍入为逻辑高或低),还是模拟?我之所以这么问,是因为如果它是模拟的,取回任何输入将使我能够更好地尝试恢复损坏的扇区,但会使接口(interface)电路更难制作,并且根据所使用的 ADC,使与 GPIO 的接口(interface)变得更难、更慢。

2) 我知道+5V 和+12V 的摩尔功率。但是软盘期望的电流是多少?

3) 我假设软盘上带状电缆的控制引脚在 0 或 +5V 下工作,但人们似乎能够在 +3.3V 下运行它们。有谁知道他们应该在什么条件下运行,以及他们的电流容差是多少:输入期望的电压和电流,以及输出提供的电流/电压?

非常感谢您提供的任何相关信息/知识。

最佳答案

有点晚了,但如果其他人感兴趣:

1) 软盘的数据输出为集电极开路。因此,您可以将其拉至 3.3 伏,就可以了。

2) 600 mA @ 12V、500 mA @ 5V 应该是安全的

3) 考虑 TTL 输入,预计高电平电压为 2.4 伏。 (根据 NEC 3.5 英寸软盘驱动器为 2.5V)。

关于raspberry-pi - 直接控制软盘驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21125896/

相关文章:

python - 无法使用Interceptty或slsnif嗅探通过串口发送的数据

assembly - 汇编代码说明

c++ - 在 Windows 中以编程方式区分 USB 软盘驱动器和 USB 闪存驱动器

node.js - TypeScript 编译器 (tsc) 在 Raspberry PI 上没有响应

mysql - 为多个查询保持 MYSQL 连接功能

opencv - 在 Raspberry Pi 上编译支持 CUDA 的 OpenCV 需要什么包?

environment-variables - 树莓派 Qt5 设置物理屏幕尺寸

assembly - 如何将 bin 文件(512 字节)写入软盘的第一个扇区(扇区 0)?

windows - 如何在 USB 软盘驱动器上使用 10 扇区磁道格式