MSP430的混合信号ASSP典型应用

楼主
MSP430的混合信号ASSP典型应用
作者:Mark Buccini,MSP430、C2000产品全球行销总监,德州仪器公司
摘自:电子系统设计

定制模拟前端电路与微控制器相结合的传统设计方法逐渐为基于MCU的专用标准产品(ASSP)所替代,此类ASSP具有低成本和可配置特性,能有效降低产品开发风险。本文以手持式医疗设备为例介绍集成快闪MCU的ASSP典型应用,并分析了系统电源管理、设计灵活性和整体性能方面的特点和优势。

为了在相同的系统中同时满足高性能模拟电路与低成本的数字控制要求,很多电池供电的嵌入式测量应用中均采用了针对特定应用设计的模拟前端(AFE)电路与分离的数字微控制器(MCU)相结合的办法。但是,随着目前集成电路更多地采用深亚微米硅技术,通常这种芯片的最低批量要求为10万片,一套掩模的一次性工程成本接近100万美元,加上设计超大规模定制电路的风险以及加快产品上市的压力,因此专门定制的解决方案除了用于非常大批量的应用之外,在其它情况下都不切实际。
           [imga]../../upload/2007/01/10/180256.gif[/imga]
目前的趋势不是采用定制AFE,而是采用专用标准产品(ASSP),在低成本、可重复使用的系统中,ASSP平衡了高性能模拟、低成本数字设计以及缩短上市时间等多项要求。ASSP 作为优化的外设提供了可配置的混合信号模拟特性,而器件的其它部分则作为可重复使用的功能实现,这些功能由多个平台共享。快闪微控制器单元(MCU)就是这些共享平台的主机与解决方案。图1所示为混合信号快闪MCU MSP430FG43x的集成功能框图。在MCU上除了集成计时器以及串行端口等数字外设以外,现在还可以在一个ASSP上集成高精度模数转换器(ADC)、数模转换器(DAC)、运算放大器(OA)、电源电压监控器(SVS)以及液晶显示驱动器等。利用基于混合信号快闪MCU的ASSP,设计工程师不再担心完全定制硬件所产生的风险,可以开发出能快速投放市场的灵活可编程功能。
           [imga]../../upload/2007/01/10/180301.gif[/imga]

混合信号 MCU的典型应用
采用ASSP的混合信号应用常见实例就是手持式医疗设备。典型的手持式医疗设备要求精确的传感器接口电路、用户显示、日历功能、非易失性存储器、通信特性、电源管理以及可编程的快闪MCU等,图2显示了单片血糖测量仪的实现框图。

用生物催化剂测试带来测量小血样的葡萄糖含量时,测试带将产生电子,通过一个参考电压将电子的电量转换为电流量。该参考电压由混合信号快闪MCU的两个内部12位DAC之一提供。生物催化剂产生的电流很小,在uA到nA之内。为了将传感器的小电流输出转化为电压,可以利用其中的一个集成运算放大器实现互阻抗功能。运算放大器将输出信号放大到可以采用反馈电阻器的嵌入式12位ADC测量。

测试带的化学反应对温度敏感,而测量周期可能长达30秒,这么长的测量时间使问题复杂化。例如,血样可能在温暖的环境中放在测试带上,比如在用户的家中,而转换结果则是在冬天的室外环境中完成。因此,必须在测量周期开始与结束时测量温度。如果二者之间温差太大,那么测试结果作废,并提醒用户。我们采用了在嵌入式12位ADC中的集成温度传感器测量温度。

用户或医生常常记录测量日志,并将日志文件下载到PC进行分析。数据日志记录是采用快闪MCU的主要原因。由于闪存可在线编程(ISP),因而将闪存的一部分用于数据存储,这样就可以不要外部数据存储器。当前的嵌入式闪存可进行高达10万次擦写与再编程操作,其寿命比整机的寿命还长。

系统电源管理
与任何其它的电池供电设备一样,电源管理至关重要。为了降低功耗,首先要在集成的模拟电路不使用时将其关闭。由于所有模拟电路都嵌入在快闪MCU中,并完全由软件控制,可以方便地进行操作。

除了功耗要最低之外,手持医疗设备还必须能够在不同的操作状态下快速切换。系统时钟必须具备满足以下要求的灵活性:保证正确时基的稳定性;低功率以实现更长的电池寿命;实现高性能的速度;快速响应事件的灵活性。

系统时钟的首选方法是使用32kHz的手表晶振作为辅助时钟(ACLK),实现低功耗与稳定性,并采用快速启动的高速片上数控振荡器(DCO)作为系统的主时钟(MCLK)。ACLK时钟始终保持开启状态,仅作为计时器的时钟以发出实时中断。高速MCLK作为CPU与高速外设的时钟,能够实现更强的处理功能和更快的事件响应。DCO是低Q值RC类振荡器,延迟接近于零,启动时间不到6us。

尽管DCO能快速启动,但会随温度与电压而改变频率。为了管理DCO时钟并获得稳定的输出,可以采用频率锁定环 (FLL)。FLL是连续的频率积分器,持续地在后台将DCO调节到ACLK的约数。分频的DCO与ACLK相比较,ACLK输入到10位的加/减计数器来增加或减少DCO输出,以使DCO分频频率与ACLK频率相匹配,这实现了DCO与ACLK相乘的效果。图3 显示了DCO/FLL组合的功能框图。

DCO/FLL组合实现了事件驱动的极低功耗,最小化待机模式,但又不降低性能。当中断要求从系统获得服务时,在正常的待机情况下DCO会自动激活。由高速DCO提供时钟的快速响应系统将快速地为请求提供服务,而后再返回待机状态。

始终运行的ACLK时钟计时器提供了方便的嵌入式实时时钟,计时器每秒钟触发一个中断。由于DCO不需要启动时间,因此嵌入式实时时钟能用简单的软件功能来实现,不需要增加任何成本,而且不会影响整体性能。一个基本的实时时钟功能需要不到100个CPU周期。在CPU时钟速度为1MHz条件下,实时时钟功能的工作时间为每秒100us,或0.0001%。CPU工作电流为250uA时,实时时钟功能增加整体系统功率预算低于25nA 。

保持设计灵活性
混合信号快闪MCU在功能集成方面相当出色,但大多数应用都不会为了功能集成而放弃模拟设计的灵活性。从芯片制造商的角度来看,他们最希望产品能满足更广泛的应用领域,从而实现较高的投资回报。为了解决灵活性这一问题,混合信号快闪MCU利用了其内在的可编程特性,提供了软件上可配置的模拟外设,而不仅只是固定功能。

嵌入式ADC在输入通道、采样时间、采样率以及电压参考源上都提供了完全的控制。工程师只需设置控制寄存器中相应的位,就可通过软件针对应用选择所需的特性。DAC可提供选择输出格式、触发源、多个DAC分组以及为实现功率-驱动的最佳平衡而配置模拟输出缓冲的功能。运算放大器通常是所有设计中最具体、最关键的模拟组件,具有几个寄存器,可实现全面的可编程特性,其中包括建立时间、轨对轨(rail to rail)输入以及反馈电阻等。在嵌入多个运算放大器的帮助下,可轻松实现诸如差分放大器与测量放大器等复杂电路。


由于所有所需的模拟与数字特性都由基于闪存内的软件进行配置,因此只有在最终产品出货之前才可以优化设计。现在不再有较长的研制周期问题和重新设计的成本问题。此外,利用基于闪存的配置,相同的硬件可用在几种不同的产品上。例如,某产品须向几个不同的地区出货,要求不同的用户界面,利用闪存可以将特定地区的配置嵌入到产品中,而所有其它特性都保持相同,基于闪存的产品还具备售后可升级特性。
 
            [imga]../../upload/2007/01/10/180306.gif[/imga]
 
进一步提高性能的方法
在混合信号快闪MCU中嵌入模拟功能消除了分离器件之间接口的开销,从而提高了系统性能。数据转换器与 MCU之间的公共接口是同步外设接口(SPI)总线,SPI接口占用的板级空间极少,仅要求带有四个信号引脚的MCU串行端口:芯片选择、时钟、数据输入以及数据输出。更大的成本产生在为SPI中断提供常规服务时发生的软件开销,通常中断和接收与发送数据的存储将产生50个系统CPU时钟周期开销。在ADC采样率为100ksps、每个采样开销为50时钟周期情况下,MCU必须每秒预留5百万个时钟周期。另一方面,利用嵌入式数据转换器的服务非常简单,只需读取一个寄存器,再将结果放到存储器即可,从而可减少系统时钟开销和功耗达50%以上。

为了进一步提高性能并降低功耗, 当前的ASSP如MSP430FG43x还包括直接内存存取(DMA)控制器。DMA在嵌入式混合信号外设之间提供了最终的访问连接,可以实现完全可配置的自动化数据传输,并且不占用CPU。对重复性将数据移进移出存储表的数据转换器等外设而言,DMA对性能的提升非常明显。利用DMA,每次传输只需两个系统周期,和那些与外设相连的系统相比,减少的系统开销高达25倍。利用DMA,最新的可用系统资源可以再次分配,实现更先进、更多样化的特性,也可显著延长待机间隔时间,降低功耗以延长电池寿命。

本文小结
目前,基于快闪MCU的混合信号ASSP的开发要做到快速投放市场、紧凑的封装以及更精确的模拟功能,必须要求新的设计思维方式。经典的MCU在线仿真器(ICE)已被嵌入式仿真所取代,嵌入式仿真逻辑的小内核驻留于ASSP上,采用业界标准的JTAG接口可以进行串行访问。随着高性能混合信号系统的出现,必须保证微伏级模拟信号的完整性,嵌入式仿真的重要性更加明显。应用繁杂的ICE几乎不可能实现这样精确的信号完整性,因为ICE对线缆串扰太过敏感。

利用嵌入式仿真,固件工程师从开发的第一天起就可以毫无阻碍地在实际的产品系统中进行开发和故障调试。由于结合了ISP闪存以及无障碍的嵌入式仿真的灵活性,目前的混合信号ASSP从设计一开始就实现了真正的系统级开发,不但降低了成本,避免了重复开发,而且还加速了开发进程。

电脑版 Page created in 0.2031 seconds width 3 queries.