收藏本站

开盘机音响技术网

 找回密码
 注册加入
查看: 4006|回复: 12
收起左侧

REVOX B215 MCU替换方案(连载)

[复制链接]
发表于 2018-12-20 12:16:35 | 显示全部楼层 |阅读模式

赶快注册并登录访问我们网站,呈现更多精彩内容!

您需要 登录 才可以下载或查看,没有帐号?注册加入

x
欢迎转载,但请注明出处,在家电论坛也同步发贴.
前段时间在论坛发贴了710的mcu替换方案http://kaipanji.com/forum.php?mo ... id=60485&extra=,本来那个就是为做215的方案准备的,这贴算是正式开了.215是使用3个mab8440的mcu也是定制的ic,对应的可编程应该是mab8441p, 懒得再去找这个ic的相关资料再去学习编程 ,所以不审决定使用 类似于710的那种方式 ,找小封装的stc8,再使用转换座的方式 。
' Z$ }# G: H  J: b9 E1 X0 I我们先看一下215关于mcu的功能简图。, G8 B# ~! v) `( e9 y3 |
  T  i! B( @* }0 r5 _6 d% Z

/ f  }8 T6 P- T& X3 E! Q. n) f 215流程图.png ) b5 J- t7 @5 B& c
7 f0 F( t% W, H% l! p' F* w# |' S

  b) z' |' B' F1 Z2 ^1 p) [+ S5 Q$ f8 r# q; S* g! e) |

4 r4 h. n8 T8 C* y9 f) b6 S" W
 楼主| 发表于 2018-12-20 14:19:02 | 显示全部楼层
先stc8是因为它有硬件I2C功能,stc有32个IO口,mab8440有23个,所以够用了。之前那个手焊转换座花了不少时间,这次直接在本网上做pcb了,几十块钱就搞定了。下面是转换座的管脚对应表,以及电路图\pcb\实物图.
! g1 ~3 Q+ q" u6 I LPL$UW`QFP_9$F}Z[3C0T.png 215转换座.png 转换座pcb.png 实物图.jpg
& x+ h# g+ N& J5 N! d- z
/ h8 v) `7 k4 K
发表于 2018-12-20 13:22:44 | 显示全部楼层
大作 必须支持
发表于 2018-12-20 20:18:35 | 显示全部楼层
发表于 2018-12-21 04:55:59 | 显示全部楼层
 楼主| 发表于 2019-1-10 20:15:29 | 显示全部楼层
最近事多,好久没更新了。 才刚开始,要做的还很多,还是象之前那个,先将每个局部的功能做demo测试。0 ~: K4 E- n+ g1 t4 {
先做认为最麻烦的屏幕显示的问题,215的屏是使用飞利浦的pcf8577T来驱动显示的,使用的i2c总线接口。
  |4 \' {$ S, {* k& V1 Q实际可以将pcf8577当成是一个存储器,写入数据,它就会显示出来,不改变不用刷新。  ' @* l/ F2 F. _% a$ r! k
要写入数据当然要先搞清楚数据格式,下图就是8577的数据格式,差不多意思就是 设备地址+控制字节+数据 ,
  Q/ X4 {+ C- x6 \( A* j其实,要直接看文档并不那么容易测试成功,可以将逻辑分析仪接到一个正常机器的ic2,) n4 t/ i$ R: w2 v. g# b
这样,直接看正常机器的数据再结合文档就非常容易了,基本没费太多波折,demo就成功了,可以驱动显示了。
# c5 d$ K4 E" i( v, e6 \3 O 8577.png 显示的demo.jpg ! ^. c0 W* }# U; t! M  K
* y6 J0 G% `4 `! w" i
4 r- |. n8 I6 y, W; v. I( k6 D
2 z6 Z- p  N5 v0 @. a

" l( x- A% U& K5 i1 t; H7 e
2 i! C, r/ n1 k+ G. C' v
发表于 2019-3-21 16:27:29 | 显示全部楼层
可以称大师了
发表于 2019-3-25 08:37:02 | 显示全部楼层
 楼主| 发表于 2019-6-24 12:13:52 | 显示全部楼层
本帖最后由 乡村猎手 于 2019-6-24 04:17 编辑 ! ]) J5 W* S) x% z# n* A

! o! I* s. N) D7 T+ @- q1 p
因为懒很久没更新了,前两天有位玩家说需要这个,好吧,那再继续。
之前因为有几个没想清楚的问题:
1、 几个mcu使用I2C如何协同,互相通讯时主从模式怎么切换?
2、 磁带显示时间是怎么实现?
3、 偏磁测试如何实现 ?
9 G) m2 g, W% v3 w/ @1 E/ Z+ X
NRV[{%27Q~$LO719Z4XOEOW.png

/ D9 j3 M# V; J1 _0 C) e, Y/ M. p4 y: r
第一个问题,如果要和原机一样的方式来协同,需要使用逻辑分析仪去逆向分析工作过程,这样也挺费事,想着还是根据机器的功能全部重来,当然,这种方式的话,是无法部分更换三块MCU,要换就要全部换。虽然每个MCUI2C都需要发送和接收数据,但为了使用逻辑简单一点,始终用IC9做主控芯片,每个MCU保存自已上次的数据当数据有变化时,告诉主控(原机就留一个io口连接不同MCU),由主控去查。然后主控根据数据送去显示。

/ [% m0 d4 P8 d; s
第二个问题,之前没想明白,其实也简单,它这个时间一是倒带到头的时候,显示00:00,另一个是在中间位置播放几秒后会显示一个时间(磁带总时间之前需要手动选择),如果在中间快进退是不能显示时间的。实际上左右转轴的转速比就是两边磁带长度的反比(当然要考虑磁带转完后空盘还有大小),下面是公式,但是不是正确,还得装机后再验证。
                当时显示时间  =  磁带总时长 *(右边转速空盘转速) / [(左边转速空盘转速) + (右边转速空盘转速)]
      
第三个问题,下次再写了,欢迎有兴趣的开友提供思路。
$ I5 E$ X" b, X3 i. d* d( b. R

! o6 h3 R# f# C) ?6 h( R9 b" y- T
- d, L* U: d" D0 j
7 L4 y; [. X3 {3 `. q
 楼主| 发表于 2019-7-10 20:20:23 | 显示全部楼层
这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出不同电压到ref, 然后用信号电压和这个ref比较,当信号电平高于ref时,那么这个时候单片机输出的数字量就代表这时信号电平高低了。 电平表一共是-30 到 +8 ,那具体每一格,给到ad7524应该是多少呢?取+8db位置数字量是127,其它再取相对值 , 当然,这里只需要要对值就行,绝对值机器上有个电位器可调的。 6 o7 Z9 [! M7 ^9 M
下面这个表列出了每个db值对应的数字量, 电路图和代码.0 Y) t% [; w8 r
dbVVdac电压设置
8
2.5118864
127
7
2.2387211
113
6
1.9952623
101
5
1.7782794
90
4
1.5848932
80
3
1.4125375
71
2
1.2589254
64
1
1.1220185
57
0
1
51
-1
0.8912509
45
-2
0.7943282
40
-3
0.7079458
36
-4
0.6309573
32
-5
0.5623413
28
-6
0.5011872
25
-8
0.3981072
20
-10
0.3162278
16
-12
0.2511886
13
-14
0.1995262
10
-16
0.1584893
8
-18
0.1258925
6
-20
0.1
5
-30
0.0316228
2
) _! L- D6 M: B( [& U; j
( u& Y/ ?( r/ x* a( b4 }0 l0 }

5 R1 K- y& u2 E! R 1562760927.png
  Y/ X+ g7 a( p) V9 |' R4 F
. C3 q$ J8 J+ M' r1 u# z, V1 [8 B0 v7 l

+ {# h* t; H3 }# Y7 u/ V0 N: Z  C$ l0 h! X; [
void check_meterLeve()
) d: G. Y1 `4 ?: h2 o{
' x5 ]9 u" a/ W/ D0 F, F) S        unsigned char i ;
- y# z$ q( p- G9 x        bit l,r; 4 h: r) d) m! c
        s_meter_l = 0 ;
6 Z4 ~) ?: i' r4 q  w% \7 J        s_meter_r = 0 ;; c1 m9 b8 L9 p3 i" J; ]
        for (i=23;i>0;i--)- E' Z  t8 A/ j! _4 l8 s. q
        {
9 d" [' J4 c- p  F+ W$ {               
* w3 `- }" a% z& n) q                P_REF = meterCode[ i - 1 ];- y: ?7 G. r' n8 R  l' J( V0 X
                LR = 1;  //检测左声道' J) C4 u4 g( A( y# Q
                COMP = 1;, S: t0 K2 S9 p, \' A+ p( A
                if (COMP == 1 && l==0  )  * I* x( c& G" `  W
                {
- V1 n7 l" b6 w) U- C+ S                        l = 1;! q9 J! C7 ~; g2 ^# f, N1 D; x
                        s_meter_l = i;3 t, z9 A0 B. j2 |% V6 z
                }8 a& }/ T1 a, s7 n/ w1 a

6 T" x$ w& |3 u; }% w7 W1 v  H% @: W8 d' ^/ u) T7 G9 h

( f3 V; C* A5 y3 R* Q3 t' |                LR = 0;  //检测右声道
% r, y( I: [2 M& o" M5 G                COMP = 1;7 ]& g8 Z: b" n) A
                if (COMP == 1 && r==0  )
! v+ N" c3 E0 h% H                {, k% d$ N3 X0 d# K$ v3 W/ d; E
                        r = 1;
# X" k( Q8 D! M: Y2 _3 j) b                        s_meter_r = i;- J' E8 p% |6 N7 K4 S9 y! Q+ F
                }3 k8 c' b. L' V+ y" E" N
  @# o  Z6 N8 v) ~
                if(l == 1 && r==1)  //如果左右声道都检测到了,那就没必要再检测了
) v  [' \1 j5 u" d% c' H                {! ?; t1 {9 Y1 Q+ h9 ~# |
                        i=0;. U# d( |, b2 Q1 X
                }
" i5 r, e  |4 f. `# P3 p        }3 x6 }5 x) k9 U: J" h0 _. l: U

: b: g. L0 |, k( _0 j/ g' k% i# r( l}+ H+ {( G& G5 K! }- G

1 \4 |% m) ^3 |( B5 \$ g" g1 h
, T1 }% w; C) W0 g9 q0 t: C
9 x7 Z: ~6 t/ _, N1 w% p4 V# }1 n* S
发表于 2019-7-10 21:22:34 | 显示全部楼层
乡村猎手 发表于 2019-7-10 12:20
- u9 c; f' |7 F8 E* _5 y  T0 x这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出 ...
  r4 _# S6 ?2 @7 L* I
陈生是技术人才
发表于 2019-7-12 22:31:56 | 显示全部楼层
高端技术,坛里需要这样的人才
发表于 2019-7-12 23:47:43 | 显示全部楼层
人才
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

手机版|开盘机音响技术网 ( 桂ICP备20003207号-1  公安部备 45010302002201 客服:18077773618

GMT+8, 2025-12-30 05:50 , Processed in 0.070916 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表