MSP430

对于传统流量检测系统而言,其多数选用的是电磁传感器,而电磁传感器易受外界磁场的影响而导致流量计量的不正确,MSP430单片机作为一种超低功耗的16位混合信号处理器,其在流量检测中的应用得到了越来越广泛的应用,因此,本文重点就基于MSP430单片机的流量检测仪的设计进行了研究。

1.以MSP430单片机为基础的流量检测仪的工作原理分析

考虑到流量检测仪低功耗等方面的特性,控制器选用的为MSP430F149,具体而言,此流量检测仪的工作原理如下:
当液体经过流量检测仪的过程中,检测仪内部的旋转磁盘进行转动,因而旋转磁盘上所设置的磁钢会触发传感器,并使其发出极为微弱的电信号,通过将此信号进行逐级放大和滤波之后,信号通过输出进入到检测仪的CPU中,CPU计数器对其进行输入,而后系统周期对脉冲个数进行读取,并借助于相应的软件对流量进行计算,后经处理形成所谓的差动信号,此差动信号以脉冲的形式传送至显示器中进行显示,这样其参数及流量信息可通过MSP430F149的I/O接口进行输入/输出。

2.基于MSP430单片机的流量检测仪的设计分析

2.1 电路的设计

流量检测仪的控制器采用的是TI公司所生产的MSP430149单片机,通过对流量检测仪的几个主要功能模块进行设计,系统的具体结构如图1所示。

流量检测中MSP430单片机的应用分析

1)温度检测模块,此模块主要包括了温度传感器与差动放大器,此模块通过温度传感器将信号传送至差送放大器中,信号经放大后输入至MSP430F149之中,经单片机的A/D转换口对信息及数据进行相应的处理及保存。本系统所采用的温度传感器其热电阻为PT100.

2)流量检测模块,此模块包括流量传感器与整形电路,当一定量的液体经过传感器时,传感器会产生脉冲,这样,通过所得脉冲数即可进行流量的计算。系统所采用的流量传感器为WG系列的韦根传感器,其原理如下:传感器中的合金材料具有磁性双稳态功能,这样受到外磁场激发后,其磁化方向会瞬间进行翻转,并在检测线圈中产生电信号,从而实现了磁电之间的转换。

3)通信模块,此模块主要包括了NRF-401无线通信电路以及RS485通信接口。对于RS485接口而言,其芯片采用的是TI公司生产的SN75LBC184,其使用的为单一电源VCC,3-5.5V电压范围之内均可正常进行工作,并能有效实现TTL到485间的转换。

对于无线串行接口电路而言,其采用的是NRF401无线通讯芯片,并应用了FSK调制解调技术,因此工作过程中的最高速率可达20kb/s.此外,还可对发射功率进行调整,发射过程中的最大功率为+10dBm.

4)对于液晶显示模块而言,其主要功能即对当前液体的流量进行显示。

2.2 软件的设计

2.2.1 模块的设计

对于流量检测仪而言,其设计过程某些程序的执行需要通过实际时间来进行调度。而此机制要想实现需要借助于MSP430单片机中所具有的TIMER-A及TIMER-B等实现。根据本系统的设计,需要定时器在32768Hz的条件下每秒进行一次中断,因此,需要对TIMER-B进行以下方面的设置:
- 将时钟源定义为ACLK;TBCTL=TBSSEL0+TBCLR
- 允许中断定时器;TBCCTL0=CCIE
- 将定时器的定时时间设为1s;TBCCR0=0X7FFF
- 在增计数模式进行定时器的工作;
- TBCTL1=MC0

这样,即可实现定时器1s中1次的中断服务程序,在此程序中进行相应定时器的设计,以便进行计时相关操作。系统采用了热电阻PT100.由于MSP430单片机自带ADC12模块,因此可将所采集的温度通过A/D进行转换。为了对温度及其他模拟量进行即时处理,系统采用了序列通道多次转换模式。转换完成后结果会存放于ADC12MEM之中。

对于系统的软件而言,其包括上层及下层模块两部分软件,其中,上层收到中心命令后可借助于射频无线通信方式对下层进行命令的发送,并进行计时。若下层无数据返回,一旦超时上层会重新进行命令的发送。若3次以上仍无数据返回,则将被认为下层工作出现异常,并向中心提交异常信号。由于MSP430单片机仅存在一个串口,而上。下层模块需2个串口,而第2个串口需要借助于定时器A所具有的捕获/比较功能来实现。

2.2.2 无线通信协议

系统的通信协议包括3层:一是物理层,主要是通过NRF401模块实现的;二是数据链路层,此层主要负责进行无线数据传输的提供;三是应用层,进行数据的发送时,需将此层所传送来的较长数据帧进行拆分,并进行包头与校验和,而后再重新进行打包并发送。

由于NRF401灵敏度极高,因此,若无数据的传输时,其数据的输出脚将会存在杂波的输出,此类杂波将会受到MCU串口的接收和处理。四个字节的0×CC加上一个字节的0×F0可保证数据帧到达之前双方之间通讯的同步实现。系统协议采用的是两个字节的帧头,即两个0×55,其加上起始和停止位之后,实际过程中发送的将为0101010101,因此可有效保证数据获得确认。此外,由于十个字节数据后为校验和,因此采用16位的crc校验可确保数据传输过程的准确性。此时接收方会对crc及校验和进行比较,若不同说明传输过程发生错误,此时接收方会讲错误帧编号进行记录,待所有数据发送结束后,可返回错误编号,并要求重新进行发送。

若所有数据均接收正常,则会确认发送正确。

3.结语

MSP430单片机由于其功耗超低等特点,因而在流量检测中得到很好的应用。

通过基于MSP430单片机的流量检测仪的设计,根本上解决了传统流量检测过程中精度问题以及检测仪受液体影响而寿命降低等多方面弊端,因而在流量检测方面具有十分良好的发展前景。

来源: 电子产品世界

围观 333

1、 为什么要加密,如何加密?

当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被窃取。

2、 JTAG、BSL、BOOTLOADER、熔丝的区别和关系是什么?

JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。

BSL接口是利用芯片内部驻留的bootloader程序实现的自编程,通过特定的时序使得CPU进入bootloader代码断,然后利用每个MSP430芯片内部都有的Timer A构成一个软件串口来与上位机通讯,这样可以将代码下载到芯片内部。实现BSL除了JTAG接口的一些引脚外,还需要用到两个TA0功能引脚,因此在设计产品时如果需要加密,则应该考虑将这两个引脚也连出来。要烧断熔丝(加密)必须使用JTAG接口;烧断熔丝后只能通过BSL或者用户代码来实现编程更新。

3、 BSL的验证密码是怎么回事?

BSL也能读出芯片内部的代码,这样可以实现编程后的校验等功能。通过BSL擦除所有Flash信息时不需要验证密码,但是要进一步操作,就得输入32字节密码进行验证。

BSL的协议规定这32字节密码为芯片FLASH区域的最高32字节,也就是程序的16个中断向量,如果您拥有这段程序的最后32字节,就能通过BSL将芯片内部所有代码读取出来。

4、 为什么要使用高级加密?

32字节的密码看似几乎完全没可能使用穷举法来实现破解,但是各位别忘了,msp430的16个中断向量未必每一个都用到了,没用到的中断向量为0xffff,如果您的程序只用到了复位向量,那么破解者只需尝试最多32768次(中断向量为偶数,所以除以2)就能将其破解,另外,如果芯片本身Flash容量较小,比如4K字节,那么破解者只需尝试最多2K次就能将其破解。这对自动操作的计算机来说几乎是一瞬间的事情。那么如果用到的中断向量越多,就越难破解,最好的办法就是将所有未用到的中断向量全部填充为随机数据,这就是“高级加密”。

5、 关于TI-TXT文件

TI-TXT文件是TI公司为MSP430单片机定义的一种编程代码格式,其内容为纯文本格式,使用任何文本编辑器都能对其进行阅读,下面是一个这类文件的例子:

@FEFE
B2 40 80 5A 20 01 F2 40 9D 00 90 00 F2 40 2E 00
40 00 F2 D0 80 00 01 00 F2 43 33 00 C2 43 95 00
C2 43 9A 00 F2 D0 20 00 53 00 F2 40 1F 00 52 00
F2 43 91 00 F2 43 92 00 F2 43 93 00 F2 43 94 00
F2 43 95 00 F2 43 96 00 F2 43 97 00 F2 43 98 00
F2 43 99 00 F2 43 9A 00 32 D0 D0 00 FD 3F 31 40
00 03 B0 12 A2 FF 0C 93 18 24 3C 40 00 02 0E 43
30 12 00 00 B0 12 C4 FF 3C 40 00 02 3E 40 FE FE
30 12 00 00 B0 12 A6 FF 21 52 3C 40 00 02 3E 40
FE FE 30 12 00 00 B0 12 A6 FF B0 12 FE FE 30 40
A0 FF FF 3F 1C 43 30 41 0A 12 1D 41 04 00 0F 4C
0A 4D 1D 83 0A 93 05 24 EF 4E 00 00 1F 53 1E 53
F7 3F 3A 41 30 41 0A 12 1D 41 04 00 0F 4C 0A 4D
1D 83 0A 93 04 24 CF 4E 00 00 1F 53 F8 3F 3A 41
30 41
@FFFE
5C FF
q

第一行的@FEFE表示从地址0xFEFE开始,有如下代码。每行为16字节,每个字节使用16进制数表示,每两个字节之间用一个空格格开。

内容末尾的@FFFE就是程序的复位向量了,表示程序的入口地址为0xFF5C。最后用一个小写的q字符加换行结束,当然也可以把中断向量的那两行放到最前面去,比如下面这段代码的含义跟上面的是一样的,同样符合规则。

@FFFE
5C FF
@FEFE
B2 40 80 5A 20 01 F2 40 9D 00 90 00 F2 40 2E 00
40 00 F2 D0 80 00 01 00 F2 43 33 00 C2 43 95 00
C2 43 9A 00 F2 D0 20 00 53 00 F2 40 1F 00 52 00
F2 43 91 00 F2 43 92 00 F2 43 93 00 F2 43 94 00
F2 43 95 00 F2 43 96 00 F2 43 97 00 F2 43 98 00
F2 43 99 00 F2 43 9A 00 32 D0 D0 00 FD 3F 31 40
00 03 B0 12 A2 FF 0C 93 18 24 3C 40 00 02 0E 43
30 12 00 00 B0 12 C4 FF 3C 40 00 02 3E 40 FE FE
30 12 00 00 B0 12 A6 FF 21 52 3C 40 00 02 3E 40
FE FE 30 12 00 00 B0 12 A6 FF B0 12 FE FE 30 40
A0 FF FF 3F 1C 43 30 41 0A 12 1D 41 04 00 0F 4C
0A 4D 1D 83 0A 93 05 24 EF 4E 00 00 1F 53 1E 53
F7 3F 3A 41 30 41 0A 12 1D 41 04 00 0F 4C 0A 4D
1D 83 0A 93 04 24 CF 4E 00 00 1F 53 F8 3F 3A 41
30 41
q

手动修改TI-TXT文件来实现高级加密:

下面是使用到中断向量较少的一段代码的中断向量:

@FFE0
10 FF A0 FF
@FFFE
5C FF

它与下面这段代码意义是一样的:

@FFE0
10 FF A0 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 5C FF

这里我们把未用到中断向量改成随机数据,就实现高级加密了,不过注意不要把有效的中断向量也改了

@FFE0
10 FF A0 FF A5 5A 37 21 F3 44 E0 77 9A 00 22 33
44 55 66 77 88 99 AA BB CC DD EE 3E E3 0F 5C FF

来源: 21ic

围观 369

目前市场上的电子产品层出不穷,各种电子产品的充电器也多种多样,这样既浪费资源,又不利于环保,更重要的是这些充电器不具备通用性,不方便用户的使用。日常生活中,经常会遇到手机、电脑等电量不足,急需充电的情况,而且不可能随时携带充电器,导致手机充电很麻烦。有了无线充电技术就可以在很大程度上减少这种麻烦。因此,设计基于MSP430F149的蓝牙无线充电系统,摆脱以往电线的束缚,解决电子产品充电接口不兼容的问题。该设计具有携带方便、成本低、无需布线等优势,适用于各手持移动设备以及小型用电器,不但环保并且方便了广大的用户。

1 整体方案设计

方案的主要任务是利用MCU MSP430F149 控制蓝牙模块,实现蓝牙手机与蓝牙模块的匹配,或者蓝牙模块之间的匹配。通过发射电路的单片机控制AD9851产生PWM 波,控制IR2110 产生100 kHz的方波作为激励信号,驱动功率放大电路放大功率,并且其激励信号频率与线圈设定好的固有频率接近时便产生谐振,能量便可以由发送端向接收端传送,接收到的能量经过整流稳压电路实现恒压输出。当匹配成功后,通过接收电路的单片机控制TP4056充电管理模块实现为锂电池充电,电能充满后给出提示且自动停止充电。并通过电压电流检测模块,实时检测充电时的电压与电流。整个充电过程可以通过按键进行控制,实现蓝牙配对连接、断开和蓝牙关闭功能,并具有液晶显示功能。

2 硬件电路设计

2.1 硬件总体设计

整个系统主要由蓝牙发射与接收模块、磁耦合谐振模块、电压电流检测模块、显示与按键控制模块、充电管理模块、单片机控制电路和系统供电组成。蓝牙发射与接收模块采用BC04MM 蓝牙模块;磁耦合谐振模块由AD9851产生PWM 波电路、IR2110驱动电路、线圈发射及接收电路和整流稳压电路组成;充电管理模块采用TP4056产生4.2 V/500 mA 的恒定电流/恒定电压输出;无线发送部分和无线接收部分的单片机控制电路主要完成蓝牙模块的控制、电压电流的采集和实现按键模块的控制功能等。蓝牙无线充电系统设计框图如图1所示。

采用MCU控制的蓝牙无线充电系统设计
图1 蓝牙无线充电系统设计框图

2.2 蓝牙发射与接收模块

BC04MM蓝牙模块支持UART,USB,SPI等接口,并支持SPP蓝牙串口协议,可以方便与PC机的蓝牙设备相连,也可以实现两个模块之间的数据互通。而且由于体积小、功耗低,可以集成到其他设备中或随身携带。

2.3 磁耦合谐振模块

磁耦合谐振技术是一种以电磁场为媒介,利用两个或多个具有相同谐振频率、高品质因素的电磁谐振系统。该模块是无线充电系统的关键,可分为发射电路和接收电路。其中发射电路由驱动电路和功率放大电路构成。通过单片机控制AD9851产生PWM信号,控制IR2110 工作,产生100 kHz的方波作为激励信号,驱动谐振功率放大电路。

谐振功率放大电路由IRF540 开关管和LC 并联谐振电路构成。其中振荡线圈选用直径为3.8 cm,电感值为30 μH的线圈,发射电路如图2所示。

采用MCU控制的蓝牙无线充电系统设计
图2 驱动电路和功率放大电路

磁耦合谐振模块中的接收电路由LC 串联电路、整流电路和稳压电路构成。LC串联电路中的接收线圈型号与发射线圈相同,当激励信号频率和线圈设定好的固有频率接近时便会发生谐振,能量便可以由发送端向接收端传送。整流电路选用肖特基管SS34构成全波整流电路,将交流信号转化成直流信号。稳压电路由LM2596及其外围电路构成,因经过全波整流后输出电压过高并且带负载时不稳定,所以需要通过LM2596降压实现8 V的恒压输出,为后级电路提供稳定的电源。

2.4 充电管理模块

该模块采用充电管理芯片TP4056,该芯片是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器,具有充电提示和自动停止充电功能。将该芯片的使能端与单片机上的P5.3脚连接,通过单片机控制该芯片工作,在PROG 脚接一个1.5 kΩ的电阻接地设定BAT脚的输出电流。通过实际电路测试,BAT脚可实现4.2 V/500 mA输出。

2.5 单片机控制电路

单片机控制电路主要实现如下功能:

(1)通过MCU UART接口发送数据和控制命令控制蓝牙模块,实现蓝牙模块之间的匹配;通过发送部分单片机控制AD9851产生PWM波;通过接收部分单片机的P5.3口控制TP4056使能端;通过无线接收部分单片机的内部ADC12模块采集充电电流和电压。

(2)控制和显示电路配置在P1,P2,P5 端口,无线发射部分单片机主要完成读取按键相应的操作,控制系统实现配对、连接、断开和蓝牙关闭功能,并通过LCD1602实时显示。

3 软件设计

系统的软件部分主要包括无线发送部分软件设计和无线接收部分软件设计。

无线发送部分软件设计主要完成:系统初始化、检测按键、控制蓝牙模块收发数据、控制AD9851工作等,如图3所示。
无线接收部分软件设计主要完成:系统初始化,控制蓝牙收发数据,实时检测电压电流数据,控制TP4056工作和LCD1602显示,如图4所示。

采用MCU控制的蓝牙无线充电系统设计
图3 无线发送部分流程图

采用MCU控制的蓝牙无线充电系统设计
图4 无线接收部分流程图

4 磁耦合谐振式无线充电系统传输特性的研究

对于磁耦合谐振式无线能量传输电路,传输功率与效率受以下参数的影响:驱动源电压,传输距离,以及线圈直径、匝数和线径等参数。下面对做好的电路进行测试,研究传输效率与这些影响因素的关系。

4.1 驱动信号频率与传输效率的关系

该研究中线圈距离为6 mm,两线圈电感值为16 μH,直径均55 mm,线圈固有频率为126 kHz。测试过程以5 kHz为单位,从80 kHz开始增大驱动频率,通过测量数据计算得出传输效率,得到如图5所示的关系曲线。从关系曲线中可以看出当驱动信号频率为125 kHz时,传输效率最高,此时与线圈固有频率接近。以上数据证明了磁耦合谐振式无线充电电路谐振频率与固有频率之间的关系,即两者近似相等时电路能量传输能力最强。

采用MCU控制的蓝牙无线充电系统设计
图5 驱动信号频率与传输效率关系曲线

4.2 两线圈距离与传输效率的关系

测试过程中改变两线圈的距离,其他参数保持不变,测量出数据计算传输效率,得到如图6所示的关系曲线。在距离D 近的时候传输效率高,当D≤11 mm时效率大于50%,随着距离增大,传输效率下降,与理论相吻合。

采用MCU控制的蓝牙无线充电系统设计
图6 两线圈距离与传输效率的关系

4.3 接收端固有频率不变,电感值变化(发射端不变)与传输效率的关系

改变接收端的电感值和电容值,但固有频率保持不变为125 kHz,其他参数也都保持不变,测量输出电压和电流,计算出传输效率,得到如图7所示的关系曲线,图中还有一组数据为线圈中心加了铁氧体之后。

采用MCU控制的蓝牙无线充电系统设计
图7 电感值变化与传输效率的关系

由关系曲线可以看出,随着电感值的增大,传输效率增加,所以增加电感值也是增大效率的一种方法,但是电感值不可以无限制的增加,增大到一定的程度输入功率将不能带动负载。在线圈中加了铁氧体后效率增大,但并不明显,在实际运用中可以根据实际要求选择是否添加磁性物质。

4.4 接收端电感值不变,线圈直径变化与传输效率关系

线圈直径是影响电感参数的一个重要因素,测试中改变线圈直径,但保持固有频率不变进行测试,测试结果如表1所示,从数据中可以看出直径增大,传输效率提高,但线圈直径太大,磁感线会相互抵消,效率会下降。

采用MCU控制的蓝牙无线充电系统设计

5 结语

对于MSP430F149 单片机和磁耦合谐振模块设计的蓝牙无线充电系统进行功能验证,当D=6 mm,传输效率达到57%,可实现对1 200 mA●h 的锂电池充电。并且该设计具有如下特点:

(1)以电磁谐振技术取代传统充电线传输电能,使充电更加的方便快捷;
(2)利用蓝牙技术,实现一对多或是多对多匹配连接;
(3)具有充电状态提示、充电可控和电池充满后自动断电的功能。

出处:http://www.eechina.com/thread-151447-1-1.html

围观 500

页面

订阅 RSS - MSP430