本帖最后由 乡村猎手 于 2019-6-24 04:17 编辑 7 c5 T) m* v( A
! D7 Q8 s- O- J& |1 z
因为懒很久没更新了,前两天有位玩家说需要这个,好吧,那再继续。 之前因为有几个没想清楚的问题: 1、 几个mcu使用I2C如何协同,互相通讯时主从模式怎么切换? 2、 磁带显示时间是怎么实现? 3、 偏磁测试如何实现 ?
: L1 b& E- Z5 G3 d) A4 x
h) a; K. h5 F7 F. T1 v/ u$ L. R0 N7 V# J
第一个问题,如果要和原机一样的方式来协同,需要使用逻辑分析仪去逆向分析工作过程,这样也挺费事,想着还是根据机器的功能全部重来,当然,这种方式的话,是无法部分更换三块MCU,要换就要全部换。虽然每个MCU在I2C都需要发送和接收数据,但为了使用逻辑简单一点,始终用IC9做主控芯片,每个MCU保存自已上次的数据当数据有变化时,告诉主控(原机就留一个io口连接不同MCU),由主控去查。然后主控根据数据送去显示。 : @" \! j% ]5 M4 ^2 ~! v" N
第二个问题,之前没想明白,其实也简单,它这个时间一是倒带到头的时候,显示00:00,另一个是在中间位置播放几秒后会显示一个时间(磁带总时间之前需要手动选择),如果在中间快进退是不能显示时间的。实际上左右转轴的转速比就是两边磁带长度的反比(当然要考虑磁带转完后空盘还有大小),下面是公式,但是不是正确,还得装机后再验证。 当时显示时间 = 磁带总时长 *(右边转速 – 空盘转速) / [(左边转速–空盘转速) + (右边转速–空盘转速)] 第三个问题,下次再写了,欢迎有兴趣的开友提供思路。 6 _" ?8 z s( o' x4 b1 g
# z7 O+ R0 r$ L; l% f) ]
6 J+ P6 P: ]3 {: P- s8 D% q
4 A3 ] C, c0 i! D% T- }6 X |