本帖最后由 乡村猎手 于 2019-6-24 04:17 编辑 9 T4 R5 L9 o, Y) u. M
0 s- q/ V9 |! O* F. o/ I4 b因为懒很久没更新了,前两天有位玩家说需要这个,好吧,那再继续。 之前因为有几个没想清楚的问题: 1、 几个mcu使用I2C如何协同,互相通讯时主从模式怎么切换? 2、 磁带显示时间是怎么实现? 3、 偏磁测试如何实现 ?
- N [' F U j2 j8 U: u- d* k" a9 g$ l3 ^0 {+ b8 K0 W, b
6 c2 N5 i2 d* Y- n- k: ^% S0 T5 G
第一个问题,如果要和原机一样的方式来协同,需要使用逻辑分析仪去逆向分析工作过程,这样也挺费事,想着还是根据机器的功能全部重来,当然,这种方式的话,是无法部分更换三块MCU,要换就要全部换。虽然每个MCU在I2C都需要发送和接收数据,但为了使用逻辑简单一点,始终用IC9做主控芯片,每个MCU保存自已上次的数据当数据有变化时,告诉主控(原机就留一个io口连接不同MCU),由主控去查。然后主控根据数据送去显示。
: F' C; I, d7 ^/ r+ Q4 A5 C& o5 H4 z第二个问题,之前没想明白,其实也简单,它这个时间一是倒带到头的时候,显示00:00,另一个是在中间位置播放几秒后会显示一个时间(磁带总时间之前需要手动选择),如果在中间快进退是不能显示时间的。实际上左右转轴的转速比就是两边磁带长度的反比(当然要考虑磁带转完后空盘还有大小),下面是公式,但是不是正确,还得装机后再验证。 当时显示时间 = 磁带总时长 *(右边转速 – 空盘转速) / [(左边转速–空盘转速) + (右边转速–空盘转速)] 第三个问题,下次再写了,欢迎有兴趣的开友提供思路。 0 k3 E( x7 E: ]6 Q( v" y& X- |
$ L* ~3 ^7 e7 ^- X% h
: T# ~: i* ^7 D- r 8 I0 X! d% t0 t" k
|