收藏本站

开盘机音响技术网

 找回密码
 注册加入
查看: 3281|回复: 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,再使用转换座的方式 。
; ~7 ~2 ]# t' k$ C0 f8 G我们先看一下215关于mcu的功能简图。) m4 Z) X* }! k+ U8 l8 [% y3 M
% s" M6 L4 G) z* o; a
8 v$ M( T3 V) X9 a
215流程图.png
/ J9 K( C& }) H! E, d4 T; l! a. ~5 M
. F+ |0 R, |3 E  t( n; Z

5 @& i5 s3 l3 n# k4 g: \
4 l* V6 R" I; c& W7 @( R4 q+ w/ s) a
 楼主| 发表于 2018-12-20 14:19:02 | 显示全部楼层
先stc8是因为它有硬件I2C功能,stc有32个IO口,mab8440有23个,所以够用了。之前那个手焊转换座花了不少时间,这次直接在本网上做pcb了,几十块钱就搞定了。下面是转换座的管脚对应表,以及电路图\pcb\实物图.
+ n; a2 B4 P& z( \+ \; m LPL$UW`QFP_9$F}Z[3C0T.png 215转换座.png 转换座pcb.png 实物图.jpg
1 j) B5 K0 h1 w) u, d
5 o; k) S, [4 h( p
发表于 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测试。! x3 W, }' u8 i- w& Z
先做认为最麻烦的屏幕显示的问题,215的屏是使用飞利浦的pcf8577T来驱动显示的,使用的i2c总线接口。
6 B- J: B) ~2 [7 _- e- l" r' N实际可以将pcf8577当成是一个存储器,写入数据,它就会显示出来,不改变不用刷新。  ' h; t& Y5 ]- L: [0 g  F# @
要写入数据当然要先搞清楚数据格式,下图就是8577的数据格式,差不多意思就是 设备地址+控制字节+数据 ,& J# h7 e# J* a3 d$ u7 H' [+ X  P
其实,要直接看文档并不那么容易测试成功,可以将逻辑分析仪接到一个正常机器的ic2,+ M7 i& d, }- P  i' w$ ^
这样,直接看正常机器的数据再结合文档就非常容易了,基本没费太多波折,demo就成功了,可以驱动显示了。
( u% Q: }  a8 _ 8577.png 显示的demo.jpg
2 X, o8 l3 \7 Y/ [. T% j8 S0 D2 `! o2 }. k) O, m
2 F, [8 |& \9 ]/ x

6 a- x$ y6 s% V9 \. g9 K0 m' u5 W: r' k5 c

1 A+ f+ H. _0 u) x
发表于 2019-3-21 16:27:29 | 显示全部楼层
可以称大师了
发表于 2019-3-25 08:37:02 | 显示全部楼层
 楼主| 发表于 2019-6-24 12:13:52 | 显示全部楼层
本帖最后由 乡村猎手 于 2019-6-24 04:17 编辑
9 s7 g' N. I8 u  f& Q! B
( X8 f% N0 U: U$ Y
因为懒很久没更新了,前两天有位玩家说需要这个,好吧,那再继续。
之前因为有几个没想清楚的问题:
1、 几个mcu使用I2C如何协同,互相通讯时主从模式怎么切换?
2、 磁带显示时间是怎么实现?
3、 偏磁测试如何实现 ?
  P8 f9 ~, l& r: W8 t6 J
NRV[{%27Q~$LO719Z4XOEOW.png

0 r- v# d$ h: ^$ L0 m- o2 [' G+ J( K" e1 `, F9 e% o* W
第一个问题,如果要和原机一样的方式来协同,需要使用逻辑分析仪去逆向分析工作过程,这样也挺费事,想着还是根据机器的功能全部重来,当然,这种方式的话,是无法部分更换三块MCU,要换就要全部换。虽然每个MCUI2C都需要发送和接收数据,但为了使用逻辑简单一点,始终用IC9做主控芯片,每个MCU保存自已上次的数据当数据有变化时,告诉主控(原机就留一个io口连接不同MCU),由主控去查。然后主控根据数据送去显示。
+ H7 K( `! U& I# _4 M8 \2 b
第二个问题,之前没想明白,其实也简单,它这个时间一是倒带到头的时候,显示00:00,另一个是在中间位置播放几秒后会显示一个时间(磁带总时间之前需要手动选择),如果在中间快进退是不能显示时间的。实际上左右转轴的转速比就是两边磁带长度的反比(当然要考虑磁带转完后空盘还有大小),下面是公式,但是不是正确,还得装机后再验证。
                当时显示时间  =  磁带总时长 *(右边转速空盘转速) / [(左边转速空盘转速) + (右边转速空盘转速)]
      
第三个问题,下次再写了,欢迎有兴趣的开友提供思路。
/ n( b$ ?  @' }

7 Q, i4 ?( A9 K" Z. y1 y6 |8 m$ x" E
# X1 J% e+ u. i  R) K3 G0 r* R# }
" m; t" ^( o8 x2 _; s; Z' z) U  e
 楼主| 发表于 2019-7-10 20:20:23 | 显示全部楼层
这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出不同电压到ref, 然后用信号电压和这个ref比较,当信号电平高于ref时,那么这个时候单片机输出的数字量就代表这时信号电平高低了。 电平表一共是-30 到 +8 ,那具体每一格,给到ad7524应该是多少呢?取+8db位置数字量是127,其它再取相对值 , 当然,这里只需要要对值就行,绝对值机器上有个电位器可调的。
2 ^- t- n+ ~0 a0 H# Z 下面这个表列出了每个db值对应的数字量, 电路图和代码.7 u4 A5 |( [4 t# O; D# Y  {" h, _
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

+ u& ^7 Q- h% S7 X4 k' ]7 ]2 J1 j: J( F; w- y1 \$ x
: e* ]& P' U; i6 c% ]
1562760927.png
" J! f8 J1 Y5 z  D, Z. H6 p- H8 @0 g

6 A4 H/ ^* Q. R' [9 A( g1 U5 r! s) M) g7 U8 e
, j1 f+ u' _6 x  l4 n' y9 q# u
void check_meterLeve()
; e# w5 e. \' N  Q" v2 h{; b# Y- g& Z3 o. }1 v7 z
        unsigned char i ;+ w' Q3 ~7 d6 v: a6 x# T
        bit l,r;
. H' N  b+ r$ d+ C; E, a6 ^        s_meter_l = 0 ;
8 l, z8 V  o+ E        s_meter_r = 0 ;
/ s0 r5 x* ]) n0 |" h        for (i=23;i>0;i--)
; u* }2 F* S2 ?        {5 s9 k6 K3 O7 e+ R% k' K
                / K0 g+ W2 M5 s; P3 ^$ x+ C7 f
                P_REF = meterCode[ i - 1 ];
3 n2 C# v: T9 D9 ^6 n( }) `5 }) B                LR = 1;  //检测左声道
( Z0 K( F+ C- P" ~                COMP = 1;9 a, Z9 X! W, p4 v
                if (COMP == 1 && l==0  )  
- I* X! t  Z8 y1 G4 s, o* [                {" K! Z0 u. d1 X# r' x$ {
                        l = 1;8 `3 g. N3 C9 _$ @8 V$ ^1 w
                        s_meter_l = i;
* k* j1 M' \9 |% c8 a                }
* ]: i& x$ Y0 ]' h6 ]0 H- M. v
5 @+ b" P4 M" t# y3 [! _2 g: {% z: P2 U& e1 I6 ?3 L  {; D

: I$ @' a4 n9 g9 u                LR = 0;  //检测右声道
. g9 m+ O' ^( ?! O1 m+ t5 R" x" @                COMP = 1;
/ X' ~9 J- i7 d# ], x! |                if (COMP == 1 && r==0  )1 i7 \/ R1 R( q$ W. Q8 @! q
                {
, {6 n' }% u7 y# f0 \0 }8 w                        r = 1;
+ `! \; j/ K" o                        s_meter_r = i;) J- Y  i) B/ P4 h- m4 {
                }
; w, L( ?0 j+ A
6 F( P+ e: O' i9 d# c) w                if(l == 1 && r==1)  //如果左右声道都检测到了,那就没必要再检测了1 K0 g! V; J- \
                {5 K" a5 J: v9 S: v% B2 {# S4 k. y( i
                        i=0;
! h& v8 T5 w! I6 [! F* V                }
' m: _# y8 n5 M9 k- C8 S* Z        }5 }/ w/ Y. g) F; z. f
" q' l' ]/ ~- f6 u1 `! K
}: ?" h( I# p5 a2 K3 l" T

% z1 }( u1 W6 z9 A" b; ~  P/ ^) D
0 ~+ o. z2 Z; X- v/ m
" X0 L9 X5 v' v& U
发表于 2019-7-10 21:22:34 | 显示全部楼层
乡村猎手 发表于 2019-7-10 12:20: r6 v: T- E; {& E5 s) M) q( o
这次看一下电平表是怎么实现的。  基本的原理就是单片机循环输出数字量(1到127 )到AD7524,这样不停输出 ...

4 l) G" i' c, ^; I& }陈生是技术人才
发表于 2019-7-12 22:31:56 | 显示全部楼层
高端技术,坛里需要这样的人才
发表于 2019-7-12 23:47:43 | 显示全部楼层
人才
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

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

GMT+8, 2025-6-29 03:43 , Processed in 0.662193 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

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