QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 1577|回复: 0
收起左侧

[转帖] 磁悬浮轴承控制器中MAX115与DSP的接口设计

[复制链接]
发表于 2007-7-13 18:24:37 | 显示全部楼层 |阅读模式

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
摘  要:  本文主要讨论了一种快速多通道12位ADC MAX115在磁悬浮轴承控制系统中的应用,详细介绍了MAX115的功能特点和工作过程,同时给出了MAX115与DSP(TMS320F240)之间的硬件接口电路和数据采集程序。
, ]+ D8 ~- U. k( H+ B关键词: MAX115;数据采集;TMS320F240
7 ?  I3 n$ N+ f8 g. H4 [4 J引言
, ?9 n: B; x0 O& T       在五自由度主动磁悬浮轴承控制系统中,采用由工控PC+DSP控制器的架构是一种较好的方法,而DSP核心控制器则是磁悬浮轴承控制系统中非常重要的一部分,对主轴位置信号的精确采集是DSP控制器的首要任务。在本控制器中采用MAX115对主轴位置的模拟信号进行采集。2 c% c3 B3 H+ }3 t+ f: C
http://21ic.com/news/upload/2006_09/060906100662331.jpg
3 U7 B" `/ T" u6 b& ~4 y图1 磁悬浮轴承DSP控制器的结构简图5 d' v7 d3 j& r
http://21ic.com/news/upload/2006_09/060906100662332.jpg% n; W  s( I! m5 y# i
图2  MAX115与TMS320F240 DSP之间的接口电路图
6 X: _2 b; Y. J! }+ P' _4 w磁悬浮控制器中的ADC选择3 R" u% V( }' A; D
       在磁悬浮主轴控制器的设计中,对主轴位置的测量是至关重要的。位置传感器的信号经过适当的信号调理电路处理后被传送到A/D采样通道,ADC把得到的模拟信号转换成相应的数字信号,芯片采样的精度和分辨率以及采样转换时间是非常重要的技术参数,它们直接决定着控制速度和控制精度。本控制器中采用的传感器是一种电涡流位移传感器。它是一种高精度无接触式传感器。/ ^( y5 y5 R# ?+ b2 b' b  n: |
5 b+ e2 }; v* d; X* q# @2 a
       本系统要求能分辨1mm位置信号,根据传感器的传感特性,必须要求有至少为12位的分辨率。同时本系统中要求绝对精度不低于±1LSB。 由于磁力轴承系统要求的控制周期很短(一般小于200ms),故要求ADC的采样时间也必须很快(一般在20ms内)。0 k$ D! D# E* y: h* z; l! H
综上考虑选用Maxim公司的MAX115作为ADC来完成主轴位置信号的采集。MAX115是12位2×4通道同步采样逐次比较型ADC,其具有两组ADC,每组4通道连续采集保持;单通道转换时间为2ms;转换精度±1/2LSB;4通道传输率为16ksps;并且内部具有2.5V参考电压和10MHz时钟,极大地精简了外部附加电路;其高速的并行接口可以方便地与DSP相连。) n9 \4 O' V) o1 z& Z) W
MAX115与TMS320F240的接口电路: t4 x% H4 h4 W" ~! K) ^/ n& i
        图1是磁悬浮轴承DSP控制器的结构简图。图中4路主轴位置信号经由MAX115进行A/D转换后,采集结果通过中断方式输入到DSP内。DSP经过滤波算法处理后,将采集数据写到双口RAM内,计算机通过ISA总线访问双口RAM并将其中的数据取走,进行上位机的图形显示、数据分析等功能。同时DSP进行控制算法计算,计算之后将控制数据通过控制器板卡上的4路DAC输出给功率放大器,从而实现对主轴的控制。这样,利用DSP处理速度快的特点来完成算法的计算,利用PC机强大的多媒体处理特点来实现主轴位置监视和数据分析,DSP和PC同时相对独立工作,互不影响,从而加快了系统的处理速度。
* C/ Z% E# U3 q2 z6 X5 v. K" s* Y1 x% M3 P
        MAX115和DSP硬件的接口设计如图2所示,MAX115引脚A0-A3和引脚D0-D11是具有三态的双向接口,可以直接和DSP相关引脚进行连接。为简化电路设计和增加可靠性,系统中使用的是内部基准电源,此时要将REFIN引脚接上一个0.1mF的旁路电容;同时使用内部时钟10MHz,并将CLK引脚接上VCC。; y" }/ H) r2 k/ h

: [4 _& {% ^* Q# l0 p2 m  b       MAX115与TMS320F240进行接口设计时主要考虑两个问题:一是MAX115数据线和控制模式线共用问题。由于MAX115的D1/A3,D0/A2为数据和地址共用引脚,但实际设计时不能将此引脚同时连接到DSP的地址线和数据线,此处即为DSP和MAX115接口连接的难点。本系统设计时用一种全新的方法来实现,因为DSP有16位的数据线,而MAX115只需要12位数据线和2根工作模式控制引脚,所以通过将DSP的14根数据线直接接到MAX115上的地址和数据线,即D0接AD_A0,D1接AD_A1,D2接AD_D0,D3接AD_D1,D4接AD_D2......D13接AD_D11,当对MAX115进行编程时,通过可编程逻辑器件MAX7128进行地址选通,MAX7128编程采用Altera公司的Max+plusⅡ集成环境,使用AHDL语言编写。8 F' [2 C! ]" I8 n  \( j
... ...
; ]+ A. A' V2 ?. K! |! i$ d
! f5 H( q( H7 j. J! R        MAX115的和信号线由DSP的和分别直接连接即可。通过DSP的数据线的D0-D3作为编程地址线从而对其工作模式进行编程。当A/D转换结束后,要从ADC中读取数据,读到14位数据D13-D0时,再将所得数据左移2位,即屏蔽掉低2位无效的输入后,即可得到12位A/D采集数据。另一个问题是MAX115与DSP接口的速度匹配问题,由于DSP速度过快,会导致MAX115无法正常工作,所以系统中采用软件的方法插入等待状态,具体操作见下文的软件设计。$ v% S4 A/ n) |) V1 f
$ P% ~4 X, B" H/ M
       控制器中MAX115的片选()信号、转换开始()信号及读()写()信号都是由MAX7128产生的。MAX7128编程方便,易于调试,用其实现快速地址选通等功能来加快系统的处理速度。其中DSP的参与地址译码。) a  @% }( }! d" Q: Q- z, R
软件设计
# ]+ m5 Y/ x# B5 N6 }       DSP作为下层的CPU来控制数据采集的整个过程。本控制器设计使用的编程软件是TI公司的CCS,采用C语言及嵌入式汇编编程,这样编写的程序简洁,易于读懂。) ?7 ^. l. \  C9 _9 |
本控制器采用4通道连续转换,A3A2A1A0=0011。上电后DSP给MAX115写入工作方式,然后送信号,A/D转换开始,转换完成后,MAX115发出请求AD_INT变低,DSP中断立刻开始读取A/D转换结果。MAX115的与DSP的XINT1相连,作为DSP的外部中断输入。当A/D转换完成后,变低,DSP进入中断服务程序,在中断服务程序中将A/D转换结果读出。这种方法应用于快速转换,只要中断来了便进行转换,充分利用了CPU的资源。下面给出了中断方式下DSP控制A/D转换的部分程序。其中主要以中断子程序为主,其它中断初始化及其DSP中断向量程序均省略。
: o- h" g3 K6 V1 E' k# h_- l1 j1 P8 t9 b, B4 A5 Z
____ A/D转换电路   _____
$ T: X9 ?2 T' E7 Kdata=0X03;                 /*MAX115工作方式选择A3A2A1A0=0011*/: m' J; Y) a( E8 H
asm(" OUT  _data,0003h ");   
. M8 D! M- k9 B5 @6 R/ h" `! G/*选择ADC,并写入工作模式*/
. E. @0 B$ V" t* V$ Rasm("rpt  XXX ");           9 H: B# ^- |# l3 B) c, G
/*XXX为一个数值 其大小应根据实际调试而决定*/
) a* p1 N" F! d) w  asm(" nop ");                , b% ?4 u" O" S4 W# W2 g: Y- ?
/*延时 匹配速度*/
. j# Y7 k9 [' Q, j  k- ?asm(" OUT  _data,1003h ");     X9 W" D9 I5 i! f3 y
/*A/D转换开始用地址1003h来选中信号*/* _- P6 K& R: P4 J9 M, f  a% S
9 I5 y/ O# K) G9 u
_____A/D转换结果的读取_____
3 U/ e: S/ W( z0 J/ ~void  AD_INT()
: s9 q) }7 v6 _) i0 b+ O* {) A! E{  asm(" IN  _ad_result1,0003h ");   /*读入AD_CH1A转换结果*/  6 B" n/ Q& f# a; S0 u5 o9 a+ U6 R) m2 I" c
  ad_result1=ad_result1&0x0fff;  % X$ F4 p5 o  B0 m2 A; ?' Z: E
  ad_result1=ad_result1*2;    " y; v8 e/ {1 l% g6 ]
/* CH1A通道最后结果ad_result1*/6 @9 }$ ^' X! c( ~
asm(" rpt  XXX ");  ; J8 ?% v& r# d
  asm(" nop ");           & O2 T1 u1 X& J7 H  L& w" Q, d9 R
   asm(" IN  _ad_result2,0003h ");  /*读入AD_CH2A转换结果*/  
0 |5 A& Y1 B6 D# z! I/ T+ Y   ad_result2=ad_result2&0x0fff;
. p0 I/ r" r9 ^   ad_result2=ad_result2*2;  
( D4 ~* b- q: A5 U. ^/ j( Z  V/* CH2A通道最后结果ad_result2*/& V9 X" k) z, t) D! a5 @* h* G$ r
asm(" rpt  XXX ");  
( @+ n2 J  m  b. o+ s: d( \2 G   asm(" nop ");           8 W  G' Z3 z% l/ o+ c2 D% E
   asm(" IN  _ad_result3,0003h ");   /*读入AD_CH3A转换结果*/  
/ [  p# C- _; p0 U4 v: M   ad_result3=ad_result3&0x0fff;: X' L8 v8 q+ ?- o( Z# Y% h6 Q9 n- [
   ad_result3=ad_result3*2;  1 X, o+ G$ s  N, Z
/* CH3A通道最后结果ad_result3*/  k- u3 @* i& q" N/ J0 z% X
asm("rpt  XXX ");  " k6 U6 p# M- Z3 d& N+ _/ [
   asm(" nop ")$ X9 V$ O% D- q1 E
原文没有注明出处。
) w6 U  B: k  a% w; x4 p+ {5 K( K; D( ^& D
[ 本帖最后由 tianxingzhe 于 2007-7-13 18:25 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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