收藏本站

开盘机音响技术网

 找回密码
 注册加入
查看: 4241|回复: 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,再使用转换座的方式 。/ J) b, x: \6 O, G% ?
我们先看一下215关于mcu的功能简图。# K3 n( d6 w" j" W7 H, T1 c8 Y

5 r- B) V' k; o; A+ S! G' E2 d6 H6 `& F" e
215流程图.png % E1 S  z# r" T, M, p
& H, J' h) G! J4 ?& p

8 O: G! ?# U7 J) L; N' }, {% u7 f, v

: [3 D* u+ u4 Q8 s/ T1 V2 E
 楼主| 发表于 2018-12-20 14:19:02 | 显示全部楼层
先stc8是因为它有硬件I2C功能,stc有32个IO口,mab8440有23个,所以够用了。之前那个手焊转换座花了不少时间,这次直接在本网上做pcb了,几十块钱就搞定了。下面是转换座的管脚对应表,以及电路图\pcb\实物图.  ^; O" o: w5 l: z8 l. ]. g
LPL$UW`QFP_9$F}Z[3C0T.png 215转换座.png 转换座pcb.png 实物图.jpg
+ X- c* R# R* m! g9 O% j) c, Q9 i; I4 g* s$ K7 v
发表于 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测试。
& ]) q  Y: g( p7 U: _先做认为最麻烦的屏幕显示的问题,215的屏是使用飞利浦的pcf8577T来驱动显示的,使用的i2c总线接口。
  m- k/ N7 @) s5 O# @实际可以将pcf8577当成是一个存储器,写入数据,它就会显示出来,不改变不用刷新。  : L) Y- p" m# _; G9 c
要写入数据当然要先搞清楚数据格式,下图就是8577的数据格式,差不多意思就是 设备地址+控制字节+数据 ,* E( W5 r4 ]; q- H
其实,要直接看文档并不那么容易测试成功,可以将逻辑分析仪接到一个正常机器的ic2,! e1 w/ a7 }! p8 K" ]& G
这样,直接看正常机器的数据再结合文档就非常容易了,基本没费太多波折,demo就成功了,可以驱动显示了。- J2 x1 {' ^' t  k! o
8577.png 显示的demo.jpg 2 d5 y4 l0 p: e$ Y# z2 n4 I/ N
" R( u$ {+ X1 S
  g4 t0 f  k$ U; ]
, X  O4 _) `5 x% `: t

8 K% p1 m( ~4 N* l7 \4 [
& v+ d8 z/ l9 L* D" z
发表于 2019-3-21 16:27:29 | 显示全部楼层
可以称大师了
发表于 2019-3-25 08:37:02 | 显示全部楼层
 楼主| 发表于 2019-6-24 12:13:52 | 显示全部楼层
本帖最后由 乡村猎手 于 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
NRV[{%27Q~$LO719Z4XOEOW.png

  h) a; K. h5 F7 F. T1 v/ u$ L. R0 N7 V# J
第一个问题,如果要和原机一样的方式来协同,需要使用逻辑分析仪去逆向分析工作过程,这样也挺费事,想着还是根据机器的功能全部重来,当然,这种方式的话,是无法部分更换三块MCU,要换就要全部换。虽然每个MCUI2C都需要发送和接收数据,但为了使用逻辑简单一点,始终用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
 楼主| 发表于 2019-7-10 20:20:23 | 显示全部楼层
这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出不同电压到ref, 然后用信号电压和这个ref比较,当信号电平高于ref时,那么这个时候单片机输出的数字量就代表这时信号电平高低了。 电平表一共是-30 到 +8 ,那具体每一格,给到ad7524应该是多少呢?取+8db位置数字量是127,其它再取相对值 , 当然,这里只需要要对值就行,绝对值机器上有个电位器可调的。
6 K# O) Q* }% t6 d' e8 I 下面这个表列出了每个db值对应的数字量, 电路图和代码.
- F- G' S1 T" W4 Z  \' k
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
. O5 h: z6 K0 e1 Z. N% [- u

% @+ Q; G9 ^" k+ }- d6 b! P: s; V3 P0 m
1562760927.png
. k- s- N% g0 y1 t9 x5 x- p4 M7 Z4 h% Q" L4 I- D

& d% ], [% n' ^8 k0 G
( d! v3 Z2 e4 n/ i2 t* `4 ^7 E0 b& |! V9 K* a
void check_meterLeve()! \" F  a: ]8 e
{
! B7 I9 h1 n( [/ S& k+ y        unsigned char i ;
4 T2 Z9 S+ F' T' ]. a& H4 V: j        bit l,r;
! s- ?' o6 f! P1 Z1 p5 u+ h4 z        s_meter_l = 0 ;
- y- {0 D! s* J) {( t* e. F        s_meter_r = 0 ;
# ^& e: q* }5 H2 @        for (i=23;i>0;i--)
6 |; b+ V, l- O# B, y- Q1 C        {# k: Z3 ^2 Z8 X) ~2 L
                ; J8 M8 h( n( K  K* M. c+ }. R4 f
                P_REF = meterCode[ i - 1 ];
' `6 Z+ o3 V! @8 N: L                LR = 1;  //检测左声道2 U1 L) X  G% @) d( ?* X( z& r# c! r
                COMP = 1;
% x. P+ R- T8 x# k' J6 U                if (COMP == 1 && l==0  )  
. P3 z1 N2 y5 g" A5 R6 f                {' T2 s7 W$ b' H7 B7 k
                        l = 1;
7 Y6 h/ u. M3 n! }                        s_meter_l = i;
  ?. H4 e) O% i                }
, m  Q) H8 C! j: x& ]6 U9 A/ `" n- Q1 R. @6 _" G- z* {
; a- e( x) ]3 F+ g! Z7 n

$ I; H/ i4 T5 O0 J4 o                LR = 0;  //检测右声道8 B9 e& a: s4 A: L
                COMP = 1;
4 V3 B. Q0 \8 r; F1 i5 e                if (COMP == 1 && r==0  ); ?5 I) ^9 l. P4 \% u: `
                {
0 x' l0 K" K7 W$ [                        r = 1;2 ^, ?$ |# ?) K- o
                        s_meter_r = i;
' {# T/ T8 k, i' @. v) p2 A                }
! u  c+ ~/ C0 Q4 j
) g& ~+ L7 b  u  F, ?! R                if(l == 1 && r==1)  //如果左右声道都检测到了,那就没必要再检测了
' j2 D, c, z& s                {) i* ]3 H2 g* T+ |
                        i=0;1 T3 z' K: Y% F* X# x
                }; @% n# F' v/ e2 O& i3 I( c6 M; S
        }
5 Q, A, `8 K/ _/ B$ d) J  n8 [
" _) U* h/ u* V+ K2 e}
  ]6 T* C' ^7 I' v, g1 A, k5 c( G) a) c4 |( S0 N

" ~* @/ `7 y4 \
- r3 o( L1 x3 F( O
发表于 2019-7-10 21:22:34 | 显示全部楼层
乡村猎手 发表于 2019-7-10 12:20
6 v% F) r' Z" }9 P7 s  {* L  Y3 L这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出 ...

$ E2 Y5 D- _" T% W1 }: m7 W# k陈生是技术人才
发表于 2019-7-12 22:31:56 | 显示全部楼层
高端技术,坛里需要这样的人才
发表于 2019-7-12 23:47:43 | 显示全部楼层
人才
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2026-4-1 16:36 , Processed in 0.073943 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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