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