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