最新日志

发表于:2008-3-7 15:37:34
标签:无标签

0

关于修订我的msp430书,同时我的430开发板全部降价

--------------------------------------------------------------------------------

我是魏小龙
谢谢广大网友以及430的支持者对我的厚爱!
我2002年出版的430书由于广大读者的厚爱,经过3次印刷,在去年底已经全部销售商以及出版社都买光了,
我是去年底,打算使用那本书做为我校教材的时候(以前我没有使用那本书做为教材,出版社定价太高了,我考虑学生还是消费者,所以在我校自己印刷了,只要7元钱的教材,就是我网上放的那个南航430教材,大家 可以下载),发现出版社没有了,所以我询问了很多书商,也都没有。
所以出版社希望我改改,再次与读者见面,这个问题,我答应了。基本结构不变,增加新的内容,删除过时的。希望读者能再次喜欢。
430开发板,大家都知道,我做的很久了。
去年设计的红色系列开发板,包括TI的都说“漂亮”,就两个字!
当时是在2006年TI与LIERDA联合举办的430教学研讨会后,我开始构思设计的。做工非常漂亮!布局也非常美!还有定做的160段液晶也很完美!再加上机器贴片加工工艺。当时一次做了300块,送了很多学校的老师。再加上当时彩屏的系列开发板做了一些,彩屏的采购比较麻烦,至少20片,而且样品价格又贵。所以成本比较高,当时我定价449、149的288元与413的198元。
由于广大网友支持。成本基本回收了。现在全部降价。
--------------------------------------------------------------------------------
449开发板198元
149开发板198元
413开发板128元(焊接415芯片)
2.4寸TFT彩色开发板688元
2.8寸TFT彩色开发板688元
3.2寸触摸屏TFT开发板788元
所有开发板全部带有自己设计的稳定可靠的,比TI更有特色的并口仿真器。

有兴趣的可以去我的淘宝网看看

--------------------------------------------------------------------------------
449与413板子的无线通讯图片
449板子原理图
449板子程序

可以去我的网站下载
www.mcu-china.com

点击此处查看原文 >>

系统分类: 汽车电子   |    用户分类:    |    来源: 原创

评论(1) | 阅读(568)
发表于:2008-3-3 10:27:51
标签:无标签

0

转贴:光电脉搏传感器的研制和噪声分析

        1 引 言

  人体心室周期性的收缩和舒张导致主动脉的收缩和舒张, 使血流压力以波的形式从主动脉根部开始沿着整个动脉系统传播, 这种波称为脉搏波。脉搏波所呈现出的形态、强度、速率和节律等方面的综合信息, 很大程度上反映出人体心血管系统中许多生理病理的血流特征。

  传统的脉搏测量采用脉诊方式, 中医脉象诊断技术就是脉搏测量在中医上卓有成效的应用, 但是受人为的影响因素较大, 测量精度不高。无创测量(Noninvasive Meas2urement s) 又称非侵入式测量或间接测量, 其重要特征是测量的探测部分不侵入机体, 不造成机体创伤, 通常在体外, 尤其是在体表间接测量人体的生理和生化参数。

  生物医学传感器是获取生物信息并将其转换成易于测量和处理信号的一个关键器件。光电式脉搏传感器是根据光电容积法制成的脉搏传感器, 通过对手指末端透光度的监测, 间接检测出脉搏信号。光电式脉搏传感器具有结构简单、无损伤、可重复好等优点, 本文讨论的就是基于光电式脉搏传感器的设计和具体实现。

&nbs

p;      2 光电式脉搏传感器的原理和结构

  2.1 光电式脉搏传感器的原理

  根据朗伯比尔(Lamber Beer) 定律, 物质在一定波长处的吸光度和他的浓度成正比。当恒定波长的光照射到人体组织上时, 通过人体组织吸收、反射衰减后测量到的光强将在一定程度上反映了被照射部位组织的结构特征。

  脉搏主要由人体动脉舒张和收缩产生的, 在人体指尖, 组织中的动脉成分含量高, 而且指尖厚度相对其他人体组织而言比较薄, 透过手指后检测到的光强相对较大,因此光电式脉搏传感器的测量部位通常在人体指尖。


  手指光吸收量变化示意图传感器技术戴君伟等: 光电脉搏传感器的研制和噪声分析手指组织可以分成皮肤、肌肉、骨骼等非血液组织和血液组织, 其中非血液组织的光吸收量是恒定的, 而在血液中, 静脉血的搏动相对于动脉血是十分微弱的, 可以忽略, 因此可以认为光透过手指后的变化仅由动脉血的充盈而引起的, 那么在恒定波长的光源的照射下, 通过检测透过手指的光强将可以间接测量到人体的脉搏信号。

  2.2 光电式脉搏传感器的结构

  从光源发出的光除被手指组织吸收以外, 一部分由血液漫反射返回。其余部分透射出来。光电式脉搏传感器按照光的接收方式可分为透射式和反射式2 种, 其中透射式的发射光源与光敏接收器件的距离相等并且对称布置,接收的是透射光, 这种方法可较好地反映出心律的时间关系, 但不能精确测量出血液容积量的变化; 反射式的发射光源和光敏器件位于同一侧, 接收的是血液漫反射回来的光, 此信号可以精确地测得血管内容积变化。本文讨论的是透射式脉搏传感器, 侧重于脉搏信号的测量。


        3 光电式脉搏传感器的制作

  3.1 光敏器件

  光电式脉搏传感器由于采用不同的光敏元件有着多种实现方法, 其中光敏元件主要有光敏电阻、光敏二极管、光敏三极管和硅光电池。在传统的光电式脉搏传感器设计中, 通常采用的是独立光敏元件, 利用半导体的光电效应改变输出的电流, 通常光敏元器件输出的电流极低, 容易受到外界干扰, 而且对后续的放大器的要求比较严格, 需要放大器空载时的电流输出较小, 避免放大器空载输出电流对脉搏信号测量的干扰, 这样对于普通的放大器就不能直接应用在光敏元件的后端。


  在本文中, 采用一种新型的光敏元件OPT101 , 该元件将感光部件和放大器集成在同一个芯片内部, 这种集成化的设计方式有效地克服了后端运算放大器空载电流输出对光敏部件输出电流的影响, 而且芯片输出的电压信号可以通过外部的精密电阻进行调节, 有利于芯片适应整体的电路设计, 同时芯片的集成化设计也能够减小系统的功耗。

  3.2 发射光源

  光电式脉搏传感器主要由光源、光敏器件, 以及相应的信号调理控制电路构成。为了充分利用器件的效果, 光源和光敏元件的选择是综合考虑的, 光源的波长应该落在光敏元件检测灵敏度较高的波段内, 图4 为OPT101 的光波长响应曲线。


  脉搏信号主要由动脉血的充盈引起, 而血液中还原血红蛋白( Hb) 和氧合血红蛋白( HbO2 ) 含量变化将造成透光率的变化, 当氧合血红蛋白和还原血红蛋白对光的吸收量相等时, 透射光的强度将主要由动脉血管的收缩和舒张引起, 此时能够比较准确地反映出脉搏信号。图5 为血红蛋白的光吸收曲线, 从图中可以看出, 血液中HbO2 和Hb 对于不同波长光的吸收系数的

差异明显, 而且2 条曲线好几个不同的交点, 考虑到在805 nm 波长处, 血红蛋白的光吸收率比较低, 那么透射过手指的光强较大, 有利于光敏器件的接收, 因此发射光源的波长选择为805 nm。


  

         3.3 恒流源控制电路

   在脉搏信号测量过程中, 为了尽量减少光源供电波动对测量脉搏信号的影响, 需要恒流电路[4] 来控制光源的稳定供电, 使在脉搏测量过程中, 发射光源发出的光强是恒定的。


  图6 为恒流源电路, 在电路中R1 两端的电压值恒等于稳压二极管D1 的稳压值,因此流经R1 的电流值恒定,控制使三极管Q1 处于放大状态, 那么流过发光二极管D3 的电流值恒定,因此发光二极管D3 能输出稳定光强的光。

  3.4 脉搏信号调理电路

  芯片OPT101 中输出的脉搏信号为直流和交流叠加的混合电压信号, 其中交流信号中包含了脉搏信息, 因此信号调理电路先要滤除叠加的直流信号, 再对交流信号进行放大。滤除直流信号可以通过一个电容来实现, 但

是电容在隔直流的同时可能造成脉搏信号的部分失真。较为理想的方式是采用一个减法器来实现绝大部分直流电平的滤除, 由于不同受试者的手指的透光率不同, 测量到的直流电平不同, 因此需要一个来实现相应的直流电平的滤除,本文就是采用可控直流电平输出和减法器来实现脉搏信号的提取。在得到包含有脉搏信号的交流信号后, 只要通过简单的放大电路和低通滤波电路即可实现脉搏信号的提取。

        4 光电式脉搏传感器的实验测量和噪声分析

  在测量过程中, 前端测量到的脉搏信号十分微弱, 容易受到外界环境干扰, 因此需要对脉搏传感器的干扰噪声进行分析, 从光电式脉搏传感器设计的技术角度减少干扰, 使之能够准确测量到脉搏信号。光电式脉搏传感器的干扰主要有测量环境光干扰、电磁干扰、测量过程运动噪声, 下面对上述情况结合实验测量做进一步的分析。

  4.1 环境光对脉搏传感器测量的影响

  在光电式脉搏传感器中, 光敏器件接收到的光信号不仅包含脉搏信息的透射光信号, 而且包含测量环境下的背景光信号, 由于动脉搏动引起的光强变化比背景光的变化微弱得多, 因此在测量过程当中要保持测量背景光的恒定, 减少背景光的干扰。

  测量环境下的背景光包含环境光和在测量过程中引起的二次反射光。为了减少环境光对脉搏信号测量的影响, 同时考虑到传感器使用的方便性, 采用密封的指套式的包装方式, 整个外壳采用不透光的介质和颜色, 尽量减小外界环境光的影响。为了避免测量过程中的二次反射光的影响, 在指套式传感器的内层表面涂上一层吸光材料, 这样能有效减少二次反射光的干扰。


  由图7 的图形明显可知, 加上指套式外壳后的脉搏传感器测量到的脉搏波形比较平滑。这是因为加指套式的脉搏传感器中环境光在测量过程中基本上不受外界环境光的影响, 而且能够有效减少二次反射光, 使照射到手指上的光波长单一, 所以得到的脉搏信号较为稳定, 没有明显的重叠杂波信号, 能够很好地体现出脉搏波形的特征。

  4.2 电磁干扰对脉搏传感器的影响

  通过光电转换得到的包含脉搏信息的电信号一般比较微弱, 容易受到外界电磁信号的干扰, 在传统的光电式脉搏传感器电路中, 由于光敏器件和一级放大电路是分离的, 那么在信号的传递过程就很容易受到外界电磁干扰,通常在一级放大电路采用电磁屏蔽的方式来消除电磁干扰。本系统采用了新型的光敏器件, 在芯片内部集成光敏器和一级放大电路, 有效地抑制了外界电磁信号对原始脉搏信号的干扰。

  工频干扰是电路中最常见的干扰, 脉搏信号变化缓慢, 特别容易受到工频信号的干扰, 因此对工频信号干扰的抑制是保证脉搏信号测量精度的主要措施之一。通常脉搏信号的频率范围在013~30 Hz 之间, 小于工频50 Hz ,因此通过低通滤波器可以有效滤除工频干扰, 这在信号调理电路中容易实现; 同时可以在控制电路中对光源进行脉冲调制。这样不但能够降低系统的功耗, 而且能够在一定程度上减小外界的电磁干扰。在脉搏信号数据采集后, 可以通过数据处理法方法进一步滤除工频信号的干扰。

  4.3 测量过程中运动噪声

  在测量过程当中, 通常情况下手指和光电式脉搏传感器可能产生相对的运动, 这样对脉搏测量产生误差, 可以通过2 个方面减少运动噪声误差: 一是改善指套式传感器的机械抗运动性, 比如说使指套能够更紧的夹在手指上, 不易松动; 二是从脉搏信号处理的角度, 通过算法来减小误差,对于传感器的设计, 现在采用的主要是第一个途径。

 

点击此处查看原文 >>

系统分类: 医疗电子   |    用户分类:    |    来源: 转贴

评论(1) | 阅读(536)
发表于:2007-11-27 10:40:41
标签:无标签

1

用2013设计无线传感器

2013拥有16位ADC以及32倍可调放大器

很适合做无线传感器

照片为本人设计的无线传感器,2500实现无线,

2013实现了:自身电池电压的测量、

                         由于2013的16位ADC自带了温度传感器,所以也实现了2013所处环境的温度测量

                         PT1000铂电阻的连接,实现高精度温度测量

                         桥式传感器的接口,比如压力等,

功率消耗情况:由于2013的16位ADC速度比较快,所以测量的时间短,功耗低

                             2500发送数据也很快,一次发送12字节数据(包括地址码、一些数据与校验码),时间非常短

                             功耗测试数据:该传感器每秒送出一次数据,连续工作一周,电池电压下降了0.02V(锂锰扣式2032电池)

体积:非常小巧,尺寸23×30CM,高2CM

点击此处查看原文 >>

系统分类: 测试测量   |    用户分类:    |    来源: 原创

评论(4) | 阅读(960)
发表于:2007-11-25 23:34:14
标签:无标签

1

FM调频收音机模块

使用SP3767与LM4811做了一个收音机模块

博主在自己的430F449开发板上做成了此收音机,很是欣喜。

已经实现的功能:(充分利用开发板的键盘与显示资源)

四个按键分别是:电台的选择、加、减、音量与频率微调选择

液晶显示对应的音量与频率。

如果朋友有兴趣的话还可以实现:

利用开发板上的连接在ADC引脚上的电位器实现旋钮的加与减;

利用开发板上的8只发光二极管实现音量的实时显示。

大家能猜猜模块上的空缺IC是什么器件?

SP3767资料pdf        LM4811资料pdf  

 

点击看大图

 

点击看大图点击看大图

博主自己编写的代码:430程序

void main(void)
 {
  uchar i;
      WDTCTL = WDTPW + WDTHOLD; 
      FLL_CTL0 |=  XCAP18PF;   // DCO+ set so freq = xtal x D x N+1
    P2DIR &= ~0X0F ; //键盘
    P2IE  |= 0X0F ;
    P2IES  |= 0X0F ;
  P2IFG = 0 ;
  P1DIR = 0XFF ;
  P1OUT = 0XF0 ;
  radio_write();
  P3DIR |= BIT2+BIT3+BIT4 ;
  P3OUT = 0 ;
    LCDCTL = 0XFD;
    BTCTL =  BTFRFQ1;                      // STK LCD freq
    P5SEL =  0xFC;                         // Common and Rxx all selected

    for(i=0;i<20;i++)
     LCDMEM[i] = 0 ;

    for(i=0;i<6;i++)
     asc_dis(i,i+'a');

    _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3, enable interrupts
 
   while(1)
  {
  // radio_write_data[1] =  radio_write_data[1] + 5 ;
  // if(radio_write_data[1] >= 250 )
   // {
   //  radio_write_data[1] = 0 ;
   //  radio_write_data[0] ++ ;
   // }
   radio_write();
   radio_read();
   char x = radio_read_data[3] >> 4 ;
   x ++ ;
   P3OUT |= BIT3 ;
   P3OUT ^= BIT2 ;

   delay(10000);
   
  }
 }

void key_p20(void)
 {
  float aa ;
  uint ff = 0 ,i ;
  if(key_fun == 0 )
   {
    key_fun = 0xff ;
    asc_dis( 0, 'v');
    asc_dis( 1, 'o');
    asc_dis( 2, 'l');
    asc_dis( 3, 'u');
    asc_dis( 4, 'm');
    asc_dis( 5, 'e');
    ff = vol ;
    clrlcd();
    for(i=0;i<2;i++)
     {
      LCDMEM[2+i]= distab[ff%10];
      ff = ff / 10 ;
     }
   }
  else
   {
    key_fun = 0 ;
    asc_dis( 0, ' ');
    asc_dis( 1, 'f');
    asc_dis( 2, 'r');
    asc_dis( 3, 'e');
    asc_dis( 4, 'q');
    asc_dis( 5, ' ');
    clrlcd();
    ff = radio_write_data[0] ;
    ff = ff << 8 ;
    ff = ff + radio_write_data[1] ;
    aa = ff ;
    aa = aa * 8.192   ;
    aa = aa /10 ;
    ff = aa ;
    for(i=0;i<5;i++)
     {
      LCDMEM[1+i]= distab[ff%10];
      ff = ff / 10 ;
     }
    LCDMEM[3] = LCDMEM[3] + 0X10 ;
   }  
 }

void key_p21(void) //+
 {
  float aa ;
  uint ff;
  uchar i;
  if(key_fun == 0 )
   {
    if(radio_write_data[1] >= 254 )
     radio_write_data[0] ++ ;
    radio_write_data[1] = radio_write_data[1] +5 ;
    radio_write();
    ff = radio_write_data[0] ;
    ff = ff << 8 ;
    ff = ff + radio_write_data[1] ;
    aa = ff ;
    aa = aa * 8.192   ;
    aa = aa /10 ;
    ff = aa ;
    for(i=0;i<5;i++)
     {
      LCDMEM[1+i]= distab[ff%10];
      ff = ff / 10 ;
     }
    LCDMEM[3] = LCDMEM[3] + 0X10 ;
   }
  else
   {
    P3OUT |= BIT3 ;
    P3OUT &= ~BIT2 ;
    P3OUT |= BIT2 ;
    vol++ ;
    if(vol > 32 )
     vol = 32 ;
    ff = vol ;
    clrlcd();
    for(i=0;i<2;i++)
     {
      LCDMEM[2+i]= distab[ff%10];
      ff = ff / 10 ;
     }
   }  
 }

void key_p22(void) //-
 {
  float aa ;
  uint ff;
  uchar i;
  if(key_fun == 0 )
   {
    if(radio_write_data[1] <= 2 )
     radio_write_data[0] -- ;
    radio_write_data[1] = radio_write_data[1] -5 ;
    radio_write();
    ff = radio_write_data[0] ;
    ff = ff << 8 ;
    ff = ff + radio_write_data[1] ;
    aa = ff ;
    aa = aa * 8.192   ;
    aa = aa /10 ;
    ff = aa ;
    for(i=0;i<5;i++)
     {
      LCDMEM[1+i]= distab[ff%10];
      ff = ff / 10 ;
     }
    LCDMEM[3] = LCDMEM[3] + 0X10 ;
   }
  else
   {
    P3OUT &= ~BIT3 ;
    P3OUT &= ~BIT2 ;
    P3OUT |= BIT2 ;
    vol-- ;
    if(vol <1)
     vol = 1;
    ff = vol ;
    clrlcd();
    for(i=0;i<2;i++)
     {
      LCDMEM[2+i]= distab[ff%10];
      ff = ff / 10 ;
     }
   }  
 }

void key_p23(void)
 {
  float aa ;
  uint ff;
  uchar i;
  key_fun = 0 ;
  asc_dis( 0, ' ');
  asc_dis( 1, 'f');
  asc_dis( 2, 'r');
  asc_dis( 3, 'e');
  asc_dis( 4, 'q');
  asc_dis( 5, ' ');
  radio_write_data[0] = nj_data[ key_ch * 2 ] ;
  radio_write_data[1] = nj_data[ key_ch * 2 + 1 ] ;
  radio_write();
  ff = radio_write_data[0] ;
  ff = ff << 8 ;
  ff = ff + radio_write_data[1] ;
  aa = ff ;
  aa = aa * 8.192   ;
  aa = aa /10 ;
  ff = aa ;
  for(i=0;i<5;i++)
   {
    LCDMEM[1+i]= distab[ff%10];
    ff = ff / 10 ;
   }
  LCDMEM[3] = LCDMEM[3] + 0X10 ;
  
  key_ch ++ ;
  if(key_ch >= 8 )
   key_ch = 0 ;
 }

#pragma vector="PORT2"_VECTOR
__interrupt void port1_ISR (void)
    {
   if((P2IN & 0X0F) != 0X0F) 
    {
     delay(1000);
     if((P2IN & 0X0F) != 0X0F)
      {
       if((P2IFG&0X0F)==BIT0)
        key_p20();
       if((P2IFG&0X0F)==BIT1)
        key_p21();
       if((P2IFG&0X0F)==BIT2)
        key_p22();
       if((P2IFG&0X0F)==BIT3)
        key_p23();
      }
    }
        P2IFG = 0 ;                 // Clear flag
    }

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(8) | 阅读(1175)
发表于:2007-8-4 17:26:34
标签:无标签

3

版主留言版

在这里

可以留下朋友的留言。谢谢您的支持。

通过回复此帖留言。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 无分类

评论(16) | 阅读(1602)
发表于:2007-6-12 22:14:49
标签:430  单片机  无线  彩色  液晶  

7

无线传感器以及彩屏接收效果与原理图纸下载

笔者最近做做玩的哦

的确好玩啊,使用MSP430F2013为无线传感器的控制以及温度传感、16位ADC

CC2500为无线接收与发送

TFT2。4寸240320彩色液晶为接收数据后的显示,哈哈,很漂亮

下面的图片分别为:

2。4寸TFT接收器以及无线温度传感器

USB接口的CC2500无线接收与发送器

3。2寸带触摸屏的TFT接收显示器(CC2500位于液晶背面)

4。2寸的TFT液晶413控制的效果图

PDF文件为2.4寸TFT液晶的430驱动电路图pdf,这个显示与单片机一起工作非常省电,一共8~20毫安(与背光亮度有关),液晶自己带有控制器以及显示缓存器,而且这个彩屏很便宜啊,说出来吓你一跳,130多人民币吧,想想320240的黑白什么价格????

 

无线温度传感器的图纸pdf,这个无线温度传感器也非常低功耗,由于使用2013自带的温度传感器与16位ADC,转换速度非常快,同时2500发送的时间也非常短,所以如果3分钟发一次数据,则基本不耗电,一颗纽扣电池可以工作几年啊!!

板子使用的单片机祥见TI网站 www.ti.com   

 

 

 

 

点击看大图

点击看大图点击看大图

点击看大图

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(11) | 阅读(1833)
发表于:2007-6-12 21:27:54
标签:无标签

4

场效应管

场效应晶体管(Field Effect Transistor缩写(FET))简称场效应管。一般的晶体管是由两种极性的载流子,即多数载流子和反极性的少数载流子参与导电,因此称为双极型晶体管,而FET仅是由多数载流子参与导电,它与双极型相反,也称为单极型晶体管。它属于电压控制型半导体器件,具有输入电阻高(108~109Ω)、噪声小、功耗低、动态范围大、易于集成、没有二次击穿现象、安全工作区域宽等优点,现已成为双极型晶体管和功率晶体管的强大竞争者。

一、场效应管的分类

  场效应管分结型、绝缘栅型两大类。结型场效应管(JFET)因有两个PN结而得名,绝缘栅型场效应管(JGFET)则因栅极与其它电极完全绝缘而得名。目前在绝缘栅型场效应管中,应用最为广泛的是MOS场效应管,简称MOS管(即金属-氧化物-半导体场效应管MOSFET);此外还有PMOS、NMOS和VMOS功率场效应管,以及最近刚问世的πMOS场效应管、VMOS功率模块等。
  按沟道半导体材料的不同,结型和绝缘栅型各分沟道和P沟道两种。若按导电方式来划分,场效应管又可分成耗尽型与增强型。结型场效应管均为耗尽型,绝缘栅型场效应管既有耗尽型的,也有增强型的。
  场效应晶体管可分为结场效应晶体管和MOS场效应晶体管。而MOS场效应晶体管又分为N沟耗尽型和增强型;P沟耗尽型和增强型四大类。见下图。


点击看大图

二、场效应三极管的型号命名方法

  现行有两种命名方法。第一种命名方法与双极型三极管相同,第三位字母J代表结型场效应管,O代表绝缘栅场效应管。第二位字母代表 材料,D是P型硅,反型层是N沟道;C是N型硅P沟道。例如,3DJ6D是结型N沟道场效应三极管,3DO6C 是绝缘栅型N沟道场效应三极管。
  第二种命名方法是CS××#,CS代表场效应管,××以数字代表型号的序号,#用字母代表同一型号中的不同规格。例如CS14A、CS45G等。

三、场效应管的参数

场效应管的参数很多,包括直流参数、交流参数和极限参数,但一般使用时关注以下主要参数:
1、IDSS— 饱和漏源电流。是指结型或耗尽型绝缘栅场效应管中,栅极电压UGS=0时的漏源电流。
2、UP— 夹断电压。是指结型或耗尽型绝缘栅场效应管中,使漏源间刚截止时的栅极电压。
3、UT— 开启电压。是指增强型绝缘栅场效管中,使漏源间刚导通时的栅极电压。
4、gM— 跨导。是表示栅源电压UGS— 对漏极电流ID的控制能力,即漏极电流ID变化量与栅源电压UGS变化量的比值。gM是衡量场效应管放大能力的重要参数。
5、BUDS— 漏源击穿电压。是指栅源电压UGS一定时,场效应管正常工作所能承受的最大漏源电压。这是一项极限参数,加在场效应管上的工作电压必须小于BUDS。
6、PDSM— 最大耗散功率。也是一项极限参数,是指场效应管性能不变坏时所允许的最大漏源耗散功率。使用时,场效应管实际功耗应小于PDSM并留有一定余量。
7、IDSM— 最大漏源电流。是一项极限参数,是指场效应管正常工作时,漏源间所允许通过的最大电流。场效应管的工作电流不应超过IDSM



几种常用的场效应三极管的主要参数
点击看大图

四、场效应管的作用

1、场效应管可应用于放大。由于场效应管放大器的输入阻抗很高,因此耦合电容可以容量较小,不必使用电解电容器。
2、场效应管很高的输入阻抗非常适合作阻抗变换。常用于多级放大器的输入级作阻抗变换。
3、场效应管可以用作可变电阻。
4、场效应管可以方便地用作恒流源。
5、场效应管可以用作电子开关。

五、场效应管的测试

1、结型场效应管的管脚识别:
  场效应管的栅极相当于晶体管的基极,源极和漏极分别对应于晶体管的发射极和集电极。将万用表置于R×1k档,用两表笔分别测量每两个管脚间的正、反向电阻。当某两个管脚间的正、反向电阻相等,均为数KΩ时,则这两个管脚为漏极D和源极S(可互换),余下的一个管脚即为栅极G。对于有4个管脚的结型场效应管,另外一极是屏蔽极(使用中接地)。
2、判定栅极
  用万用表黑表笔碰触管子的一个电极,红表笔分别碰触另外两个电极。若两次测出的阻值都很小,说明均是正向电阻,该管属于N沟道场效应管,黑表笔接的也是栅极。
  制造工艺决定了场效应管的源极和漏极是对称的,可以互换使用,并不影响电路的正常工作,所以不必加以区分。源极与漏极间的电阻约为几千欧。
  注意不能用此法判定绝缘栅型场效应管的栅极。因为这种管子的输入电阻极高,栅源间的极间电容又很小,测量时只要有少量的电荷,就可在极间电容上形成很高的电压,容易将管子损坏。
3、估测场效应管的放大能力
  将万用表拨到R×100档,红表笔接源极S,黑表笔接漏极D,相当于给场效应管加上1.5V的电源电压。这时表针指示出的是D-S极间电阻值。然后用手指捏栅极G,将人体的感应电压作为输入信号加到栅极上。由于管子的放大作用,UDS和ID都将发生变化,也相当于D-S极间电阻发生变化,可观察到表针有较大幅度的摆动。如果手捏栅极时表针摆动很小,说明管子的放大能力较弱;若表针不动,说明管子已经损坏。
  由于人体感应的50Hz交流电压较高,而不同的场效应管用电阻档测量时的工作点可能不同,因此用手捏栅极时表针可能向右摆动,也可能向左摆动。少数的管子RDS减小,使表针向右摆动,多数管子的RDS增大,表针向左摆动。无论表针的摆动方向如何,只要能有明显地摆动,就说明管子具有放大能力。
本方法也适用于测MOS管。为了保护MOS场效应管,必须用手握住螺钉旋具绝缘柄,用金属杆去碰栅极,以防止人体感应电荷直接加到栅极上,将管子损坏。
  MOS管每次测量完毕,G-S结电容上会充有少量电荷,建立起电压UGS,再接着测时表针可能不动,此时将G-S极间短路一下即可。


   目前常用的结型场效应管和MOS型绝缘栅场效应管的管脚顺序如下图所示。

六、常用场效用管

1、MOS场效应管
  即金属-氧化物-半导体型场效应管,英文缩写为MOSFET(Metal-Oxide-Semiconductor Field-Effect-Transistor),属于绝缘栅型。其主要特点是在金属栅极与沟道之间有一层二氧化硅绝缘层,因此具有很高的输入电阻(最高可达1015Ω)。它也分N沟道管和P沟道管,符号如图1所示。通常是将衬底(基板)与源极S接在一起。根据导电方式的不同,MOSFET又分增强型、耗尽型。所谓增强型是指:当VGS=0时管子是呈截止状态,加上正确的VGS后,多数载流子被吸引到栅极,从而“增强”了该区域的载流子,形成导电沟道。耗尽型则是指,当VGS=0时即形成沟道,加上正确的VGS时,能使多数载流子流出沟道,因而“耗尽”了载流子,使管子转向截止。
  以N沟道为例,它是在P型硅衬底上制成两个高掺杂浓度的源扩散区N+和漏扩散区N+,再分别引出源极S和漏极D。源极与衬底在内部连通,二者总保持等电位。图1(a)符号中的前头方向是从外向电,表示从P型材料(衬底)指身N型沟道。当漏接电源正极,源极接电源负极并使VGS=0时,沟道电流(即漏极电流)ID=0。随着VGS逐渐升高,受栅极正电压的吸引,在两个扩散区之间就感应出带负电的少数载流子,形成从漏极到源极的N型沟道,当VGS大于管子的开启电压VTN(一般约为+2V)时,N沟道管开始导通,形成漏极电流ID。



点击看大图



   国产N沟道MOSFET的典型产品有3DO1、3DO2、3DO4(以上均为单栅管),4DO1(双栅管)。它们的管脚排列(底视图)见图2。
  MOS场效应管比较“娇气”。这是由于它的输入电阻很高,而栅-源极间电容又非常小,极易受外界电磁场或静电的感应而带电,而少量电荷就可在极间电容上形成相当高的电压(U=Q/C),将管子损坏。因此了厂时各管脚都绞合在一起,或装在金属箔内,使G极与S极呈等电位,防止积累静电荷。管子不用时,全部引线也应短接。在测量时应格外小心,并采取相应的防静电感措施。
  MOS场效应管的检测方法
(1).准备工作
  测量之前,先把人体对地短路后,才能摸触MOSFET的管脚。最好在手腕上接一条导线与大地连通,使人体与大地保持等电位。再把管脚分开,然后拆掉导线。
(2).判定电极
  将万用表拨于R×100档,首先确定栅极。若某脚与其它脚的电阻都是无穷大,证明此脚就是栅极G。交换表笔重测量,S-D之间的电阻值应为几百欧至几千欧,其中阻值较小的那一次,黑表笔接的为D极,红表笔接的是S极。日本生产的3SK系列产品,S极与管壳接通,据此很容易确定S极。
(3).检查放大能力(跨导)
  将G极悬空,黑表笔接D极,红表笔接S极,然后用手指触摸G极,表针应有较大的偏转。双栅MOS场效应管有两个栅极G1、G2。为区分之,可用手分别触摸G1、G2极,其中表针向左侧偏转幅度较大的为G2极。
  目前有的MOSFET管在G-S极间增加了保护二极管,平时就不需要把各管脚短路了。

   MOS场效应晶体管使用注意事项
  MOS场效应晶体管在使用时应注意分类,不能随意互换。MOS场效应晶体管由于输入阻抗高(包括MOS集成电路)极易被静电击穿,使用时应注意以下规则:
(1).  MOS器件出厂时通常装在黑色的导电泡沫塑料袋中,切勿自行随便拿个塑料袋装。也可用细铜线把各个引脚连接在一起,或用锡纸包装
(2).取出的MOS器件不能在塑料板上滑动,应用金属盘来盛放待用器件。
(3). 焊接用的电烙铁必须良好接地。
(4). 在焊接前应把电路板的电源线与地线短接,再MOS器件焊接完成后在分开。
(5). MOS器件各引脚的焊接顺序是漏极、源极、栅极。拆机时顺序相反。
(6).电路板在装机之前,要用接地的线夹子去碰一下机器的各接线端子,再把电路板接上去。
(7). MOS场效应晶体管的栅极在允许条件下,最好接入保护二极管。在检修电路时应注意查证原有的保护二极管是否损坏。

2、VMOS场效应管
  VMOS场效应管(VMOSFET)简称VMOS管或功率场效应管,其全称为V型槽MOS场效应管。它是继MOSFET之后新发展起来的高效、功率开关器件。它不仅继承了MOS场效应管输入阻抗高(≥108W)、驱动电流小(左右0.1μA左右),还具有耐压高(最高可耐压1200V)、工作电流大(1.5A~100A)、输出功率高(1~250W)、跨导的线性好、开关速度快等优良特性。正是由于它将电子管与功率晶体管之优点集于一身,因此在电压放大器(电压放大倍数可达数千倍)、功率放大器、开关电源和逆变器中正获得广泛应用。
  众所周知,传统的MOS场效应管的栅极、源极和漏极大大致处于同一水平面的芯片上,其工作电流基本上是沿水平方向流动。VMOS管则不同,从左下图上可以看出其两大结构特点:第一,金属栅极采用V型槽结构;第二,具有垂直导电性。由于漏极是从芯片的背面引出,所以ID不是沿芯片水平流动,而是自重掺杂N+区(源极S)出发,经过P沟道流入轻掺杂N-漂移区,最后垂直向下到达漏极D。电流方向如图中箭头所示,因为流通截面积增大,所以能通过大电流。由于在栅极与芯片之间有二氧化硅绝缘层,因此它仍属于绝缘栅型MOS场效应管。


   国内生产VMOS场效应管的主要厂家有877厂、天津半导体器件四厂、杭州电子管厂等,典型产品有VN401、VN672、VMPT2等。表1列出六种VMOS管的主要参数。其中,IRFPC50的外型如右上图所示。

   VMOS场效应管的检测方法
(1).判定栅极G
  将万用表拨至R×1k档分别测量三个管脚之间的电阻。若发现某脚与其字两脚的电阻均呈无穷大,并且交换表笔后仍为无穷大,则证明此脚为G极,因为它和另外两个管脚是绝缘的。
(2).判定源极S、漏极D
    由图1可见,在源-漏之间有一个PN结,因此根据PN结正、反向电阻存在差异,可识别S极与D极。用交换表笔法测两次电阻,其中电阻值较低(一般为几千欧至十几千欧)的一次为正向电阻,此时黑表笔的是S极,红表笔接D极。
(3).测量漏-源通态电阻RDS(on)
    将G-S极短路,选择万用表的R×1档,黑表笔接S极,红表笔接D极,阻值应为几欧至十几欧。
由于测试条件不同,测出的RDS(on)值比手册中给出的典型值要高一些。例如用500型万用表R×1档实测一只IRFPC50型VMOS管,RDS(on)=3.2W,大于0.58W(典型值)。
(4).检查跨导
   将万用表置于R×1k(或R×100)档,红表笔接S极,黑表笔接D极,手持螺丝刀去碰触栅极,表针应有明显偏转,偏转愈大,管子的跨导愈高。

注意事项
(1)VMOS管亦分N沟道管与P沟道管,但绝大多数产品属于N沟道管。对于P沟道管,测量时应交换表笔的位置。
(2)有少数VMOS管在G-S之间并有保护二极管,本检测方法中的1、2项不再适用。
(3)目前市场上还有一种VMOS管功率模块,专供交流电机调速器、逆变器使用。例如美国IR公司生产的IRFT001型模块,内部有N沟道、P沟道管各三只,构成三相桥式结构。
(4)现在市售VNF系列(N沟道)产品,是美国Supertex公司生产的超高频功率场效应管,其最高工作频率fp=120MHz,IDSM=1A,PDM=30W,共源小信号低频跨导gm=2000μS。适用于高速开关电路和广播、通信设备中。
(5)使用VMOS管时必须加合适的散热器后。以VNF306为例,该管子加装140×140×4(mm)的散热器后,最大功率才能达到30W

七、场效应管与晶体管的比较

(1)场效应管是电压控制元件,而晶体管是电流控制元件。在只允许从信号源取较少电流的情况下,应选用场效应管;而在信号电压较低,又允许从信号源取较多电流的条件下,应选用晶体管。
(2)场效应管是利用多数载流子导电,所以称之为单极型器件,而晶体管是即有多数载流子,也利用少数载流子导电。被称之为双极型器件。
(3)有些场效应管的源极和漏极可以互换使用,栅压也可正可负,灵活性比晶体管好。
(4)场效应管能在很小电流和很低电压的条件下工作,而且它的制造工艺可以很方便地把很多场效应管集成在一块硅片上,因此场效应管在大规模集成电路中得到了广泛的应用。

 

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 整理

评论(0) | 阅读(1245)
发表于:2007-5-27 21:31:59
标签:MSP430  单片机  RF  数据通讯  开发板  

7

精美绝伦的MSP430系列开发板

3块精美绝伦的MSP430开发板

点击看大图   点击看大图

下面4个图片为一个发送一个接收的图片,发送的信号为模拟传感器的输出

将电位器的旋转当作传感器了,旋转电位器,可以看到发送与接收两边的显示都跟着电位器的旋转而改变。

MSP430射频开发工具(CC2500):

  

MSP430射频开发工具(RF433):

    点击看大图  

 请各位网友提出宝贵意见

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(13) | 阅读(2664)
发表于:2007-1-19 17:29:49
标签:msp430  

8

430

MSP430系列单片机简介

1、MSP430 单片机的发展

MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆 MSP430 系列单片机的发展过程,可以看出有这样三个阶段:
开始阶段 从 1996 年推出 MSP430 系列开始到 2000 年初,这个阶段首先推出有 33X 、 32X 、 31X 等几个系列,而后于 2000 年初又推出了 11X 、 11X1 系列。

MSP430 的 33X 、 32X 、 31X 等系列具有 LCD 驱动模块,对提高系统的集成度较有利。每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。
2000 年推出了 11X/11X1 系列。这个系列采用 20 脚封装,内存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。

这个时期的 MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有 33X 系列才具备。 33X 系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时, 33X 并不一定是最适合的。而片内高精度 A/D 转换器又只有 32X 系列才有。

寻找突破,引入 Flash 技术 随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 MSP430 系列中。在 2000 年 7 月推出 F13X/F14X 系列,在 2001 年 7 月到 2002 年又相继推出 F41X 、 F43X 、 F44X 这些全部是 Flash 型单片机。
F41X 单片机是目前应用比较广的单片机,它有 48 个 I/O 口, 96 段 LCD 驱动。 F43X 、 F44X 系列是在 13X 、 14X 的基础上,增加了液晶驱动器,将驱动 LCD 的段数由 3XX 系列的最多 120 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。

MSP430 系列由于具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是 TI 公司推出具有 Flash 型存储器及 JTAG 边界扫描技术的廉价开发工具 MSP-FET430X110 ,将国际上先进的 JTAG 技术和 Flash 在线编程技术引入 MSP430 。
这种以 Flash 技术与 FET 开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。

另外, 2001 年 TI 公司又公布了 BOOTSTRAP 技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性,口令可达到 32 个字节的长度。

蓬勃发展阶段 在前一阶段,引进新技术和内部进行调整之后,为 MSP430 的功能扩展打下了良好的基础。于是 TI 公司在 2002 年底和 2003 年期间又陆续推出了 F15X 和 F16X 系列的产品。
在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将 RAM 容量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。这样一来,希望将实时操作系统( RTOS )引入 MSP430 的,就不会因 RAM 不够而发愁了。二是从外围模块来说,增加了 I 2 C 、 DMA 、 DAC12 和 SVS 等模块。

在 2003 年中, TI 公司还推出了专门用于电量计量的 MSP430FE42X 和用于水表、气表、热表上的具有无磁传感模块的 MSP430FW42X 单片机。我们相信由于 MSP430 的开放性的基本架构和新技术的应用,新的 MSP430 的产品品种必将会不断出现。

2、 MSP430 单片机的特点

MSP430 系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。

强大的处理能力 MSP430 系列单片机是一个 16 位的单片机,采用了精简指令集( RISC )结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。

在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。

MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。

超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。

首先, MSP430 系列单片机的电源电压采用的是 1.8~3.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200~400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。
其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( FLL 和 FLL+ )时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器( 32768Hz ) , 有的使用两个晶体振荡器)。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。
由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式( AM )和五种低功耗模式( LPM0~LPM4 )。在等待方式下,耗电为 0.7uA ,在节电方式下,最低可达 0.1uA 。

系统工作稳定 上电复位后,首先由 DCOCLK 启动 CPU ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 CPU 时钟 MCLK 时发生故障, DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。

丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗( WDT )、模拟比较器 A 、定时器 A ( Timer_A )、定时器 B ( Timer_B )、串口 0 、 1 ( USART0 、 1 )、硬件乘法器、液晶驱动器、 10 位 /12 位 ADC 、 I 2 C 总线直接数据存取( DMA )、端口 O ( P0 )、端口 1~6 ( P1~P6 )、基本定时器( Basic Timer )等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B )具有捕获 / 比较功能,大量的捕获 / 比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线; P0 、 P1 、 P2 端口能够接收外部上升沿或下降沿的中断输入; 12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 I 2 C 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输( DMA )模块。 MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。

方便高效的开发环境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。
MSP430 单片机目前主要以 FLASH 型为主。

适应工业级运行环境 MSP430 系列器件均为工业级的,运行环境温度为 -40~+ 85 摄氏度 ,所设计的产品适合用于工业环境下。

⒊ MAP430 系列与 89C 51 系列的比较

我国的多数读者对 89C 51 系列的单片机是很熟悉的,为了加深对 MSP430 系列单片机的认识,我们不妨将两者进行一下比较。

首先, 89C 51 单片机是 8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有 111 条指令。而 MSP430 单片机是 16 位的单片机,采用了精简指令集( RISC )结构,只有简洁的 27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。

其次, 89C 51 单片机本身的电源电压是 5 伏,有两种低功耗方式:待机方式和掉电方式。正常情况下消耗的电流为 24mA ,在掉电状态下,其耗电电流仍为 3mA ;即使在掉电方式下,电源电压可以下降到 2V ,但是为了保存内部 RAM 中的数据,还需要提供约 50uA 的电流。而 MSP430 系列单片机在低功耗方面的优越之处,则是 89C 51 系列不可比拟的。正因为如此, MSP430 更适合应用于使用电池供电的仪器、仪表类产品中。

再者, 89C 51 系列单片机由于其内部总线是 8 位的,其内部功能模块基本上都是 8 位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。 MSP430 系列其基本架构是 16 位的,同时在其内部的数据总线经过转换还存在 8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展 8 位的功能模块,还是 16 位的功能模块,即使扩展模 / 数转换或数 / 模转换这类的功能模块也是很方便的。这也就是为什么 MSP430 系列产品和其中功能部件迅速增加的原因。

最后,就是在开发工具上面。对于 89C 51 来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于 MSP430 系列而言,由于引进了 Flash 型程序存储器和 JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(941)
发表于:2006-12-23 22:22:23
标签:无标签

5

MSP430使用I2C总线

引言
MSP430单片机与传统的51单片机在结构上有很大的区别。其中之一就是在MSP430的外围接口电路中,没有提供像51那样控制外设读、写、地址锁存信号的硬件电路。与这种接口电路相适应,MSP430更倾向使用I2C总线以及ISP等基于串行接口的外围器件。另一方面,随着I2C技术的发展和成熟,其硬件结构简单、高速传输、器件丰富等特点使该类器件的应用越来越广泛。因此研究新型单片机MSP430与I2C总线接口技术有着重要的意义。本文针对这一问题进行研究,分析研究了MSP430与I2C总线接口方法,提出了高效的接口方案。

MSP430单片机I/O端口控制特点
与8031单片机相比,MSP430的I/O端口的功能要强大的多,其控制的方法也更为复杂。MSP430的I/O端口可以实现双向的输入、输出;完成一些特殊功能:驱动LCD、A/D转换、捕获比较等;实现I/O各种中断。MSP430采用了传统的8位端口方式保证其兼容性,即每个I/O端口控制8个I/O引脚。为了实现对I/O端口每一个引脚的复杂控制,MSP430中的每个I/O口都对应一组8位的控制寄存器(如图1)。寄存器中的每一位对应一个I/O引脚,实现对该引脚的独立控制。寄存器的功能和数目是由该I/O口所能完成的功能以及类型确定的。
图1为MSP430的一个I/O端口的控制结构示意图。对于最基本的只能完成输入、输出功能的I/O端口其控制寄存器只有3个。其中,输入寄存器保存输入状态;输出寄存器保存输出的状态;方向寄存器控制对应引脚的输入、输出状态。本文中用来实现I2C总线接口的P6.6、P6.7都属于这类的端口。此外,有些I/O端口不但可以用作基本的输入输出,而且可以用作其他用途,比如可以作为LCD的驱动控制引脚。这类端口的控制功能寄存器实现引脚功能状态的切换。再者,有一类端口不但可以完成上述两种端口的功能,而且可以实现中断功能。该类端口拥有图1中所有的寄存器,中断触发的方式以及中断的屏蔽性都可以通过相应的寄存器控制。本文中使用的P2.0就属于该类端口,利用它来接收LM92发出的中断。
通过上述的控制结构,MSP430的I/O端口可以实现很丰富的功能。不仅如此,其中一些I/O口还可以与MSP430中的特殊模块相结合完成更为复杂的工作。如与捕获比较模块相结合可以实现串行通信,与A/D模块结合实现A/D转换等。此外,MSP430 I/O端口的电器特性也十分突出,几乎所有的I/O口都有20mA的驱动能力,对于一般的LED、蜂鸣器可以直接驱动无需辅助电路。许多端口内部都集成了上拉电阻,可以方便与外围器件的接口。



MSP430与I2C总线器件接口
MSP430与I2C总线器件接口电路示于图2,使用41系列单片机的P6.6产生I2C总线的时序同步信号;使用P6.7完成I2C总线的串行数据输入输出;利用P2.0接收LM92产生的中断信号。基于I2C总线规范,通过对LM92的A0、A1和AT240的A0、A1、A2设定不同的器件地址,两个器件可以共用SCL、SDA。
与8031不同,MSP430没有位空间,也没有专门执行位操作的控制电路。MSP430中有关位操作的指令都是通过逻辑运算实现的。例如:
BISB #01000010B,P1OUT ; 将P1.6和P1.1置位
XORB #01000010B,P1OUT ; 逻辑或运算
该例中的置位指令BISB是用原操作数(01000010)与目的操作数(P1OUT)做逻辑或运算得到的。因此该命令与第二行的指令是等效的。虽然,这样的控制方法比起8031略显复杂,但它的控制能力有所增强。这种方式可以同时控制多个端口位。
众所周知,实现I2C总线协议主要是控制SDA、SCL使其产生协议所规定的各种时序。要控制P6.7、P6.6产生I2C总线要求的各种时序,就要频繁使用到输入、输出以及方向寄存器。而要减少代码的量,简化接口控制,最直接的方法就是减少有关寄存器操作次数。要实现这一想法需要软硬件结合,充分利用I/O口的特点以及I2C总线协议的特点。
从图3的基本数据操作时序可以发现:I2C总线在无数据传输时均处于高电平状态;SDA引脚是数据的输入输出端,它的状态变化最为复杂,控制它需要频繁的使用P6IN、P6OUT、P6DIR三个寄存器。
图2中的R1、R2是上拉电阻,其阻值由选用的I2C总线器件的电器特性确定。在本文中这两个电阻不但起上拉的作用,还有助于解决第一个问题。当P6.6、P6.7处于接收状态时,上拉电阻可以将该点的电平拉升为VCC,从而确保总线空闲时有稳定的高电平。
方向寄存器相应位为输入时,就等于给I2C从器件发送了逻辑‘1’。将对应的方向控制位设为输出,然后输出寄存器相应位置为‘0’就可以实现发送逻辑‘0’。再进一步,如果将输出寄存器对应位设为‘0’,只控制方向寄存器的变化就可以发送两种逻辑电平。这样,在发送数据时只需要控制方向寄存器。对于SDA需要频繁切换输入输出状态的特点,本方法可以减少15%左右的代码量,并使程序更清晰。这样就为第二个问题找到了很好的解决方法。

I2C总线控制时序的实现
I2C总线中的各种操作都是由这些基本操作组合完成的。由于I2C总线器件的类型、功能、结构不尽相同,因此每一种器件具体控制时序有所区别。图4是AT2402读取指定字节数据控制时序。从图中可以看出一个读取操作中要使用到起始、发送字节、处理回应、接收字节、停止这些基本操作。对于AT2402还有其他控制的时序,如字节写时序、数据页读时序、地址读取时序等等。对于不同的功能时序,可以通过子程序的调用来实现。
LM92是一种高精度的温度传感器,它也采用I2C总线方式控制。图5是该器件读取温度数据的时序。因为它的功能和结构与AT2402有很大的区别,所以二者控制时序不尽相同。如图4和图5,虽然都是实现读取操作,但是二者时序差别很大,LM92的控制时序明显要复杂的多。不过仔细分析可以看出这些时序也都是由一些基本操作组合实现的。这样就可以在上述方法的基础上完善LM92所需要的基本操作子程序,进而根据时序需要安排子程序实现对LM92的各种控制。
综上所述,要实现I2C总线的控制时序,需要仔细分析各种器件的时序要求及特点,构建所有的基本操作,并按时序要求合理安排基本操作。

结语
应用上述的设计方法和电路,实现了MSP430与I2C总线器件的接口,很好的控制AT2402和LM92,达到了预期的目标。实践证明该方法对实现I2C总线器件控制非常有效,而且使用该方法编制的程序代码量小,执行效率高。该方法为MSP430与I2C总线接口提供了一种可行的方案

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 整理

评论(1) | 阅读(1263)
总共 , 当前 /,2下一页