收藏本站

开盘机音响技术网

 找回密码
 注册加入
查看: 3485|回复: 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,再使用转换座的方式 。
) ~1 j5 i' R0 ~8 f我们先看一下215关于mcu的功能简图。9 s6 r( K+ L5 S9 L

4 ]8 ]* d5 J) C& }2 }3 z; {; r: d$ u# F
215流程图.png 6 r2 E4 i$ m% j7 ~9 O  T) p+ W% F

4 {6 ?) B: H# R$ N' ~1 ]0 ~, `0 h* q/ U" I% a

% J- X5 A1 |8 G6 D9 v5 b% p' v+ y$ s, A1 A9 |! T# o+ ?! I
 楼主| 发表于 2018-12-20 14:19:02 | 显示全部楼层
先stc8是因为它有硬件I2C功能,stc有32个IO口,mab8440有23个,所以够用了。之前那个手焊转换座花了不少时间,这次直接在本网上做pcb了,几十块钱就搞定了。下面是转换座的管脚对应表,以及电路图\pcb\实物图.
1 ^3 S5 W3 W+ X9 r3 I LPL$UW`QFP_9$F}Z[3C0T.png 215转换座.png 转换座pcb.png 实物图.jpg
$ ~1 z- Z( ?; e0 P  h, [- i4 o1 M4 Z2 n* O6 u; G  y' T
发表于 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测试。
+ t- M* F" l- s' |8 `1 S3 O, T先做认为最麻烦的屏幕显示的问题,215的屏是使用飞利浦的pcf8577T来驱动显示的,使用的i2c总线接口。* t4 d) }$ v, n  t% q* j7 m0 Y
实际可以将pcf8577当成是一个存储器,写入数据,它就会显示出来,不改变不用刷新。  
/ x' c  u8 W5 `2 W0 ]# \要写入数据当然要先搞清楚数据格式,下图就是8577的数据格式,差不多意思就是 设备地址+控制字节+数据 ,
9 G* c: t/ ~7 F& G其实,要直接看文档并不那么容易测试成功,可以将逻辑分析仪接到一个正常机器的ic2,6 F4 b/ R8 E8 b+ b7 n  d  u
这样,直接看正常机器的数据再结合文档就非常容易了,基本没费太多波折,demo就成功了,可以驱动显示了。$ n' y: ^) @- A- b
8577.png 显示的demo.jpg : ~! V$ \: F2 N3 Y- u" E. \) i, T
7 s$ X5 k# s5 t" G" x% b) g5 [8 V
" w$ v4 }1 j/ S: L) E% Y8 o
( M# @" `3 K8 N! B  b8 L3 Q
5 A* p8 Q% m: V% y" F& r+ }

% j; p2 h* M  I+ {; T, I
发表于 2019-3-21 16:27:29 | 显示全部楼层
可以称大师了
发表于 2019-3-25 08:37:02 | 显示全部楼层
 楼主| 发表于 2019-6-24 12:13:52 | 显示全部楼层
本帖最后由 乡村猎手 于 2019-6-24 04:17 编辑
7 q- W% m! A3 r, j: I% c$ B2 ?& h1 }; k3 ~
因为懒很久没更新了,前两天有位玩家说需要这个,好吧,那再继续。
之前因为有几个没想清楚的问题:
1、 几个mcu使用I2C如何协同,互相通讯时主从模式怎么切换?
2、 磁带显示时间是怎么实现?
3、 偏磁测试如何实现 ?

6 C5 f7 R" e$ n- }: i
NRV[{%27Q~$LO719Z4XOEOW.png

1 r1 ^4 F- X( P' @6 m
' ^6 K$ T* e8 p7 e" `
第一个问题,如果要和原机一样的方式来协同,需要使用逻辑分析仪去逆向分析工作过程,这样也挺费事,想着还是根据机器的功能全部重来,当然,这种方式的话,是无法部分更换三块MCU,要换就要全部换。虽然每个MCUI2C都需要发送和接收数据,但为了使用逻辑简单一点,始终用IC9做主控芯片,每个MCU保存自已上次的数据当数据有变化时,告诉主控(原机就留一个io口连接不同MCU),由主控去查。然后主控根据数据送去显示。

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

# Q3 A% Q. ?* |) _$ `

& d$ C4 `  S1 E+ J$ u" Z

. z, t; F; P1 A; K
3 n! m+ B) ~' f  N4 ~9 \
 楼主| 发表于 2019-7-10 20:20:23 | 显示全部楼层
这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出不同电压到ref, 然后用信号电压和这个ref比较,当信号电平高于ref时,那么这个时候单片机输出的数字量就代表这时信号电平高低了。 电平表一共是-30 到 +8 ,那具体每一格,给到ad7524应该是多少呢?取+8db位置数字量是127,其它再取相对值 , 当然,这里只需要要对值就行,绝对值机器上有个电位器可调的。 6 [9 ?' K# B* W; c, h7 @  B
下面这个表列出了每个db值对应的数字量, 电路图和代码.
3 j9 E4 v* |- ?& C
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
5 M' J. S3 _$ L+ w  r" k1 J

6 q5 h5 Y8 O) t- P) P# O' R
7 c2 j0 N+ |' ^/ M 1562760927.png
4 [* `+ ]( Z7 }! h7 U. p6 y8 [7 ~$ z
  ~" O) [7 C* ?2 [
( Y! X/ g$ m6 B$ A8 |$ h1 H5 v$ h  M; o/ o

: z/ B- N, k# |" _: ovoid check_meterLeve()
8 E; w* b/ P+ C1 h5 L4 K& v{
, l5 s% y* j' p/ [) f6 e! e- p        unsigned char i ;
; P- S# w: @! G  ~; ?        bit l,r; $ D: [" J& {# }0 R5 w6 T
        s_meter_l = 0 ;7 c  Z# j7 Q. R
        s_meter_r = 0 ;& w: D3 K- _2 x+ A( d
        for (i=23;i>0;i--)
  a5 e0 S7 z  ]$ h        {
4 Y, ~: g5 J& p; X' C                ; X' ~* Q; l/ ~7 \4 Y7 _7 h8 y
                P_REF = meterCode[ i - 1 ];/ p, P- v6 Z! Y! R1 F, e9 \
                LR = 1;  //检测左声道
' p* T  ]# O' p1 F+ O' w                COMP = 1;: w  D8 C/ t! B7 f( @9 f3 j5 n: C
                if (COMP == 1 && l==0  )  
7 G: a' a7 {" s1 L* G                {
& L% r8 y- K1 a0 n* g1 r                        l = 1;
/ n9 l; e; M! @* c3 o& Q4 T                        s_meter_l = i;- {* a' L3 l1 g2 R
                }
1 s* \. @6 Q  L
5 b2 d& O; I7 |/ ]' T
7 o0 \( y  e% r3 |& d, S3 X7 K8 ]3 r  M  ?5 b% h  h: r
                LR = 0;  //检测右声道
- h5 A. E) v+ `9 C. k% U& |                COMP = 1;* {) q6 z+ G! W: E9 A/ d
                if (COMP == 1 && r==0  )
/ u* t0 S5 e) o/ g                {9 |5 ~* u# B* |3 ^
                        r = 1;
+ `  l* v7 ]1 K- K) p# F/ p                        s_meter_r = i;
9 R9 I& J4 z& }- v! M& v$ |# S" d                }
8 Y+ I  Y2 E0 c$ ^" v7 V  W; `
! `- j" B  m3 I3 F" n0 ^& Y% Q6 V8 Y                if(l == 1 && r==1)  //如果左右声道都检测到了,那就没必要再检测了
5 R1 n) A6 x/ V  H* d! C- d                {- ]4 y/ v* O- f
                        i=0;
5 K  M9 ]. _$ x) c& g( L                }
' y, w/ S5 k$ _        }
7 R+ ~" |/ {8 i2 X5 |) V/ l4 D5 Q+ h/ J5 y$ q- u( v
}
- x' V7 g7 j5 `1 b6 {7 \
5 a0 `+ U+ d  F# Z+ V4 k- i
$ b6 u( V& g0 V1 }
  Q% T' h* m( M0 [
发表于 2019-7-10 21:22:34 | 显示全部楼层
乡村猎手 发表于 2019-7-10 12:20
4 x4 v6 Y% k( X9 V+ T这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出 ...

( K- }) f" g1 t, T4 z陈生是技术人才
发表于 2019-7-12 22:31:56 | 显示全部楼层
高端技术,坛里需要这样的人才
发表于 2019-7-12 23:47:43 | 显示全部楼层
人才
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-9-8 18:08 , Processed in 0.073666 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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