打印
[活动]

【TI产品】+我和同事们收集的TI产品

[复制链接]
楼主: LED2013
手机看帖
扫描二维码
随时随地手机跟帖
241
LED2013|  楼主 | 2014-2-7 21:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
在这三中方案中,可以看出如果不计硬件成本,第一种方案最好;如果一定要考虑硬件成本(比如大量产的民品),则第三种方案最好,是性价比最高的。如果使用MSP430C1101,则官方报价在49美分,价格相当便宜,适合与大批量的、成本价格敏感的产品,可得到最高的性能价格比。但第三种方案存在很多问题有待解决。

三 高性价比的MSP430应用系统解决方法
   图上是较为经典的MSP430应用系统框图,如果使用最经济的MSP430系列器件MSP430F11XX系列,则要解决五个问题:模数转换的问题、液晶显示问题、程序量小的问题、日历时钟的程序化、串行通讯问题。

1 模数转换(A/D)的问题解决方案
   MSP430X11XX系列单片机片内有模拟比较器Comparator_A与功能强大的定时器Time_A,可以构成斜边(Slope)A/D转换,实现模拟量到数字量的转换。具体原理是(这里以电阻量到数字量的转换为例)。

斜边(Slope)A/D转换原理图
   上图中,R1、R2分别为标准的参考电阻(R1)与被测量的电阻(R2),电容C1起充放电作用。比较器的输出CAOUT用于驱动定时器捕获的发生。MSP430内部的模拟比较器能产生用于比较的模拟电压(电源VCC、1/2VCC、1/4VCC、二极管管压降)。比较器负端选择1/2VCC。首先,标准电阻对电容C1充电到VCC,再通过参考电阻R1放电,同时记录定时器值T1;当电容放电到1/2VCC时,比较器产生输出,CAOUT触发定时器产生捕获动作,将定时器值T2读出;其次使用被测量电阻R2对电容充电到VCC,再通过R2放电,同时读取定时器值T3;当电容放电到1/2VCC时,比较器输出信号再次捕获定时器数据T4。则在电容放电的线性区域可以得到被测量电阻的阻值: R2 = (T2 - T1)* R1 / (T4 - T3) ,对于其他物理量的测量也可以使用类似的办法。

使用特权

评论回复
242
LED2013|  楼主 | 2014-2-7 21:59 | 只看该作者
2 液晶显示问题的解决方案
   MSP30X11XX没有液晶驱动能力,必须外部扩展。如果可以使用外扩2圆*币不到的液晶驱动芯片(比如HT1621或其他),为什么还使用自带液晶驱动的40-70圆*币左右的MSP430F43X、MSP430F44X系列呢。
   这里以便宜的HT1621为例说明液晶驱动芯片与MSP430系列的接口。HT1621有128段的液晶驱动能力。有4个公共端、32个段输出,能实现静态、2MUX、3MUX、4MUX等液晶驱动方式。须3或4线与单片机接口,同时可定时输出信号驱动单片机(在单片机间歇工作时很有用),也能输出用于驱动蜂鸣器的信号。与MSP430单片机接口如图六所示。如果不需要读出显示内容,则读信号可以不使用,只需要3线就可实现液晶显示的驱动,在口线紧张的情况下,可这样使用。

1.jpg (17.63 KB )

1.jpg

使用特权

评论回复
243
LED2013|  楼主 | 2014-2-7 22:00 | 只看该作者
HT1621片内有32*8位静态显示存储器,该存储器的内容直接映射到液晶驱动器,可使用读写命令直接访问。通过对显示存储器内容的操作实现液晶显示。图七为MSP430单片机对1621的操作时序图。

1.jpg (41.05 KB )

1.jpg

使用特权

评论回复
244
LED2013|  楼主 | 2014-2-7 22:00 | 只看该作者
3 程序量小的解决方案
    MSP430F11XX系列单片机最大的程序容量只有4K字节,对于大多数的用途基本够用,但对相对复杂的应用,就显得程序空间较小。对于MSP430系列单片机有个巧妙的解决办法:利用MSP430单片机的存储器是线性统一编址的特点,单片机运行的程序可以在除了片内外围模块空间而外的任何存储空间,这里将RAM用来做程序存储器使用。由于RAM内容可变,故可将程序存放在外部存储器中,在需要的时候调到RAM中,再执行RAM中的程序。而外部存储器选用串行24C系列EEPROM,可使系统体积减小,同时可使程序空间增加32K字节乃至128K字节!而系统成本增加很少。24C系列EEPROM与MSP430单片机的接口,这里不多说了,只需要两根I/O口线与两个上拉电阻。
   需要将存放在EEPROM中的应用程序划分为较小的模块。这里针对MSP430F1121将每个模块的大小限定在128字节内。MSP430F1121片内RAM有256字节,拿一半用于程序处理中的数据存储,而另一半用于程序调度的程序暂存。
   MSP430F1121/1111/1101的片内存储器用于存放对串行24C系列EEPROM存储器的读写操作程序,以及最常用的处理程序,各种中断服务程序等等。
然后,将各个小模块的应用程序存放在EEPROM中,同时,每个小模块的应用程序在EEPROM中的起始位置与模块长度在MSP430的程序存储器中用数据表格的形式存放。每当要调用在EEPROM中的小模块时,就在此表格中查找。使用EEPROM读程序,在EEPROM中读出全部的该小模块程序数据到MSP430的RAM后128字节。
最后,将程序计数器(PC指针)压栈,再改变PC内容为280H(RAM的后128字节开始位置),程序将由此开始运行。当该模块运行完毕,最后一句是RET,则将刚压栈的PC指针恢复。程序继续430FLASH中的主程序运行。
4 日历时钟的程序化解决方案
由于MSP430系列单片机的超低功耗特性,使用其内部定时器模块的比较模式实现日历时钟,时钟源使用32768Hz产生的ACLK信号。将定时器模块设置为1秒中断一次,在中断服务程序中编写日历程序。在程序编写时要注意闰年与闰月以及月大与月小的情况,详细方法这里不用多说。在中断程序完毕则进入低功耗LMP3,这时系统耗电在1uA左右,比常用的专门日历时钟芯片的耗电还要少。在MSP430系列单片机中,将日历时钟程序化从各方面讲(功耗、成本、体积、可靠性等)都是很好的解决方案。

使用特权

评论回复
245
LED2013|  楼主 | 2014-2-7 22:01 | 只看该作者
5 串行通讯的解决方案
MSP430F11XX系列单片机片内没有串行通讯模块,不能直接用于异步串行通讯,但由于定时器TIME A的捕获与比较以及特殊的结构,利用定时器实现异步串行通讯的位定时(波特率产生)以及起始位检测等功能,可方便实现串行通讯。

串行发送相对简单一点:设置TIME A为比较模式,比较的数据体现每一位的发送时间,使用中断,每当时间到则发送下一位,全部发送则发送完毕。

串行接收相对复杂一点:首先设置TIME A为捕获模式,要捕获到串行通讯的起始位。捕获到起始位之后,则要将TIME A 设置为比较模式,同时第一位与后面的其他位定时时间不一样,第一位的定时时间是其他位的1.5倍。当所有数据接收完毕则结束。在硬件上使用232或485都可以。

使用特权

评论回复
246
LED2013|  楼主 | 2014-2-7 22:02 | 只看该作者
小结
在充分掌握MSP430各个片内模块的性能与特性基础上,使用最简单、最便宜、最常规的器件,设计高性能价格比的应用系统是非常可行的。同时随着产量的增加,经济效益也会显著增加。

使用特权

评论回复
247
LED2013|  楼主 | 2014-2-7 22:02 | 只看该作者
转[MSP430] 基于MSP430单片机的蓄电池充电系统

使用特权

评论回复
248
LED2013|  楼主 | 2014-2-7 22:03 | 只看该作者
摘  要:主要介绍了一种基于MSP430蓄电池充电系统,同时给出了系统软硬件结构。
关键词:单片机;蓄电池;脉冲触发;MSP430

   铅酸电池具有价格低廉、供电可靠、电压稳定等优点,广泛应用于通信、铁路、交通、电力、石油、国防、工农业生产部门。在传统的充电技术中,常用的恒压充电、恒压限流充电、恒流充电等模式,都是由工人控制充电过程,由于充电技术不能适应免维护电池的特殊要求,严重影响电池的寿命,大量的免维护电池用几年后即报废,造成巨大的经济损失。本文所介绍的新型智能充电机系统,解决了动态跟踪电池可接受充电电流曲线的技术关键,形成了独具特色的智能充电机系列,提高了充电质量和效率,充电工人只担任辅助性工作,为充电技术和充电设备闯出了一条崭新的路。

1硬件部分
    电池充放电过程中,可进行恒流、恒压、涓流、充放电时间以及终止电压等多种控制规律选择。整个系统分2层,下层是执行层,上层为控制层。
1.1节点层
    利用三相桥式全控整流桥技术实现充放电转换。晶闸管的触发由MSP430来完成。拟采用双窄冲触发,以减少触发装置的输出功率。下层的核心就在于对MSP430的控制。MSP430F135是TI公司新近推出的Flash系列的16位单片机,他具有内置12位A/D转换器、串行通讯接口,集成JTAG接口,内置Flash存储器,具有看门狗定时器,2个16位定时器,可实现计数、时序发生、PWM等功能。并通过对堆栈的处理,实现了中断和子程序调用层次无限制,具有嵌套中断结构,即高级中断程序可以被低级中断请求打断,当中断请求同时发生时,按优先级别处理。利用他的12位A/D采集电流电压值,作为闭环控制的反馈变量。处理后的反馈变量与设定的值进行比较,根据一定的控制规律进行计算,确定触发角度,由单片机直接给出触发信号,打开可控硅。控制精度可达到2.5‰。电流电压采集采用差模放大技术,该电路简单,实现容易,且反馈精度高。单路结构图如图1所示。

使用特权

评论回复
249
LED2013|  楼主 | 2014-2-7 22:03 | 只看该作者

1.jpg (26.5 KB )

1.jpg

使用特权

评论回复
250
LED2013|  楼主 | 2014-2-7 22:04 | 只看该作者
1.2控制层
    实现控制系统的集散式控制。中间层的主要任务就是集合多路下位机的数据。中间层以ATmega16单片机为核心,他是一个与51系列兼容的8位单片机,易进行外围扩展。下位机数据经过通讯接口,上传到本层的非易失大容量存储器(Flash)DA28F640中。在本层加入人机界面LCD液晶显示屏以及键盘输入,由操作人员在本层对下位机直接控制。本系统也可组网,连接到计算机上。操作人员可以通过PC机实现对下位机的监控管理。
2软件部分
    本系统采用汇编语言设计,模块化程序结构,由主程序模块、数据采集模块、数据处理模块、定时脉冲发出模块以及通讯模块等几大模块组成。程序首先判断出执行命令,再转入条件设定子程序,如恒流充电命令,程序首先把设置电流、终止时间等命令结束条件赋值与判断变量,然后设置这些变量的布尔量为真,这样各种充放电命令简化为由主循环直接进行条件判断。整体程序结构紧凑、简洁、易懂,且易于设计、调试、维护和移植。
2.1数据采集/处理
    本系统数据采集采用差分放大电路,直接从电池两端引入电压、电流信号。选用放大器OP07。模拟到数字转换部分由MSP430内置A/D转换器完成。在主循环中起动A/D转换,转换结束后由中断程序把转换后的值存入指定的寄存器,留待全部转换结束后处理。设置转换结束标志位,以防重复启动。由于现场各种干扰的存在,使得采用所得的数据有一定的误差。为使转换结果更精确,同时考虑到系统灵敏性,可令每个输入信号采样4次左右,在处理上运用数字滤波处理,采用算术平均值法。算术平均值法适合于对一般的具有随机干扰的信号滤波,特别适合信号本身在一数值附近上下波动的情况。
     应用中也可根据被测参数的实际情况及所得数据规律,而综合采用多种算法,以取得更有效的滤波效果。处理后的值先与设定值比较,得出差值,再由关系式:

2.jpg (12.35 KB )

2.jpg

使用特权

评论回复
251
LED2013|  楼主 | 2014-2-7 22:18 | 只看该作者
加实验得出电压电流差值于度数相对应的调整关系,再由度数和时间的关系转化为时间参量。将电压电流差值量转化为时间差值量后,再将时间差值量与原设定值相加(充电)或相减(放电),从而动态的调整角度,进一步动态的调整电压电流的值,维持电压电流的以定的可接受的曲线变化。由于系统能够不断的采集反馈回来的电流电压的值,根据情况随时动态的调整控制量,使系统能随时跟上电流电压的变化而采取相应的措施,避免了在充/放电过程中产生过大电流的可能性,使电流曲线变化平缓。
2.2脉冲触发程序
   MSP430的 P1口具有外部中断工作方式。由三相电经变压器引出任意两相经由比较器接入P1口,当两相互换时,引起P1口产生中断,可准确确定出两相的换相点位置。确定了换相点的位置,在P1口中断程序中打开定时器,把由电压换算出的时间值付给定时器的16位寄存器。定时器经过触发角时间产生中断,在定时器中断程序中打开相应触发脉冲的引脚。按规律经15°后脉冲结束,再经45°,打开下一个触发引脚。一个周期(360°)后,有采样的电压或电流重新确定触发角,重新给定时器的寄存器复值。

使用特权

评论回复
252
LED2013|  楼主 | 2014-2-7 22:18 | 只看该作者
2.3上层程序
    上层程序主要有2部分组成:人机接口部分和通讯部分。人机接口包括键盘控制和显示2部分。在程序中,用键盘编制各种控制规律、控制程序。可将DA28F640内部分成若干个区,是下层每个节点对应一个区,把相应的充放电程序及下层传递过来的现场数据存到相应的区内。在单片机内部建立小型字库,存入需显示的字符,确保LCD液晶屏能动态地显示当前电压电流时间等值。
3结语
    本系统自动化程度高,大大提高了生产效率;人机界面友好,易于操作、管理。操作人员只需在控制层编好控制程序,系统负责把程序传到各个节点,由各个节点独立进行操作,中间无需看守,实现了设备的全自动化。工作过程中电流电压的变化由系统自动进行相应的调解,在掉电情况下系统会自动保存现场数据,实现了系统的智能化。

使用特权

评论回复
253
LED2013|  楼主 | 2014-2-7 22:18 | 只看该作者
参考文献

[1]胡大可,等MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000
[2]张毅刚,等MSC51单片机应用技术[M].哈尔滨:哈尔滨工业大学出版社,1997
[3]ATMEL公司8Bit AVR microcontroller with 8k bytes insystem programmable Flash AT90S8515 REVB Errata sheet

使用特权

评论回复
254
LED2013|  楼主 | 2014-2-7 22:19 | 只看该作者
MSP430与PC机的远程通信及液晶显示 (转)

使用特权

评论回复
255
LED2013|  楼主 | 2014-2-7 22:20 | 只看该作者
概述
在微机测控系统中,用作上位机的PC机系统与用作下位机的单片机之间经常要进行信息交换。目前的主流单片机和PC机内部均带有串行口,因而两者之间的通信可通过串行口完成。但是,在实际应用中有时主控PC机和单片机相隔很远,为保证数据能高速及时、安全的传至PC机,单片机与PC机之间采用RS485协议的串行通行较为合理。为了满足实时通信的需要,我们把接口电路做成全双工的形式。

实际应用中,需要把PC机传给单片机的一些数字量作显示,而这对于MSP430单片机来说,运用液晶显示模块最合适,它可以把串口远程传输的量加以处理然后直观的用液晶作实时显示,这在实际生活中有较大的应用空间。 TI公司MSP430系列单片机是一种超低功耗的混合信号控制器,其中包括一系列器件,它们针对不用的应用由不同的模块组成。在MSP430A系列单片机中,液晶驱动作为一个片内外模块存在于MSP430F4XX和MSPX3XX等系列型号的器件中,利用这个特点,可以把PC机要传输的数据在MSP430系列单片机的液晶模块驱动下直接显示。

硬件设计
485串行通信接口电路的设计
实际应用中,由于大多数普通PC机和单片机只有常用的RS232串口通信口,而不具备RS485通信接口,为了实现RS485协议的串行通信,必须在PC侧配置RS485与RS232间相互转换。单片机与PC机间的RS485通信总体硬件接口电路的框图如图1所示。

使用特权

评论回复
256
LED2013|  楼主 | 2014-2-7 22:20 | 只看该作者

1.jpg (27.7 KB )

1.jpg

使用特权

评论回复
257
LED2013|  楼主 | 2014-2-7 22:20 | 只看该作者
单片机侧接口电路设计
图2中MAX490是MAXIM公司的RS485接口芯片,内部结构如图3所示。MAX490支持单电源+5V工作,可以实现全双工通信。其中R0、D0端的电平标准如下:逻辑“0”为 0.5V—0.8V 之间,逻辑“1”在2.0V—Vcc之间。工作状态为:当A端电压比B端电压高200mV以上,R0输出逻辑“1”,而当A端电压比B端电压低200mV,R0输出逻辑“0”;当DI输入逻辑“0”,Y输出低,Z输出高,反之Y输出高,Z输出低。

单片机MSP430串行通信模块的URXD、UTXD电平符合TTL/CMOS标准,当PC机的RXMCU有电平输入时,它首先通过6N137光电隔离,保护单片机不受干扰,由O脚输出到DI,从而转化为RS485电平由Y、Z输出。反之,PC机的输出信号转换成MAX490 A、B端的输入,并首先转换为R0输出,然后经过光电隔离后最终由TXMCU输出。

2.jpg (38.5 KB )

2.jpg

使用特权

评论回复
258
LED2013|  楼主 | 2014-2-7 22:22 | 只看该作者
PC机侧接口电路设计

PC机侧电路的具体实现如图3所示,RS232的电平标准如下:逻辑“0”的电平范围为 5V-15V,逻辑“1”的电平范围为5V-15V。这里选用的MAX232A是MAXIM公司的RS232电平转换芯片。

当PC机的TXDPC输出到R1IN时候,首先由MAX232A转换成TTL电平由R1OUT输出,经过6N137光电隔离后输入DI脚,从而转换为RS485电平由Z、Y输出。

同理,单片机输出信号转换成的RS485电平信号输入A、B脚,经过MAX490转换成TTL电平,再经过光电隔离最终由RXDPC输出。必须强调的是在电路的连接中PC侧接口电路中的MAX490芯片引脚RSOUT+,RSOUT-必须和单片机侧MAX490芯片引脚RSIN+、RSIN-两两错开相连,这样才能正常的通信。

3.jpg (65.7 KB )

3.jpg

使用特权

评论回复
259
LED2013|  楼主 | 2014-2-7 22:23 | 只看该作者
液晶驱动及显示电路设计

在系统中,我们需要把PC机传给单片机信息里面的一些关键的数字量作显示,对于MSP430单片机来说,运用液晶显示模块是最为合适的,可以把串行口远程传输的量加以处理然后直观的用液晶作实时显示,这在实际生活中有较强的应用空间。这里所提到的液晶是不带任何驱动电路的,这样我们可以进一步自己定制液晶块,理论上可以显示任何信息。

MSP430A器件上的液晶显示器的控制/驱动将简化液晶显示器的显示。不同型号的液晶驱动能力不同,在设计中我们采用 MSP430的41X系列,有96段驱动能力。

4.jpg (18.21 KB )

4.jpg

使用特权

评论回复
260
LED2013|  楼主 | 2014-2-7 22:23 | 只看该作者
液晶的驱动有4种方法:静态,2MUX或1/2占空比,3MUX或1/3占空比, 4MUX或1/4占空比。对于不同系列、不同型号的液晶驱动原理,控制方法都是一样的,不同点在于驱动液晶段数不一样,或可显示信息的多少不一样。在实验中我们采用4MUX。图4所示为MSP430液晶驱动模块的概图。

5.jpg (32.41 KB )

5.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则