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