首页资源分类嵌入式处理器MSP430 > MSP430-TC35使用问题经验

MSP430-TC35使用问题经验

已有 445117个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:串行通信MSP430无线通信

    分    享:

    文档简介

    对设计MSp430与TC35之间的通信问题进行了一定程度的经验总结

    文档预览

    一、 问题定位 收到板子后,我们对 MSP430 和 TC35 模块两块板子分别进行了调试,发现 两块板子单独调试均运行正常,于是怀疑是 TC35 模块的 232 至 TTL 的电平转化 的问题,经调试后发现电平转化芯片工作正常,至此,问题还在云里雾里,没有 找到问题的根源。 随后对两块板子所有 TTL 电平进行了测量,发现 TC35 单独调试时产生的 UART 电平和 MSP430 的 UART 电平不一致,因此问题得到定位:由于 MSP430 的 UART 输出的 TTL 电平与 TC35_UART 接收的 TTL 电平不一致,导致 MCU 与 TC35 的 UART 通信不正常。 二、 解决方法 为了在不增加硬件的条件下实现 TC35 和 MSP430 的联机,我们设计了硬件 方案,在 TC35 模块现有的硬件上进行改造,通过飞线方式重连了硬件。因此在 使用上有了改变。飞线如下图所示: 三、 连线说明 1. TC35 模块供电 TC35 模块进行飞线后,其板子上自带的 DB9 串口建议不要使用,如果需 要单独调试 TC35 模块或监控 MSP430-TC35 联机通信过程,请使用我们随板 子邮寄来的 USB-TTL 模块(使用 Rx,Tx,GND 三个 pin 脚即可)。 TC35 模块与 MSP430 联机时,请从 MSP430 板子给 TC35 模块供电,连线 为: MSP430_5V <--------------> TC35_P5_3 MSP430_GND <--------------> TC35_P2_8(GND) 注意:TC35_P5_3 即原理图上 P5 器件的第 3 脚(以下内容出现类似表达, 即此含义),已由连接在 TC35 上的白色飞线引出。如下图所示: 2. TC35 单独调试 如果需要进行 TC35 的单独调试,可以不通过 MSP430 给其供电,但是需 按照下列方式进行连线(左侧为 USB-TTL 模块管脚): Rx <--------------> TC35_P4_7 TX <--------------> TC35_P4_8 GND <--------------> TC35_P2_3 单独调试 TC35 模块时,连线如下图所示: 串口调试工具配置如下图所示: 3. MSP430 单独调试 MSP430 的单独调试如之前的调试方法,不变,其管脚连线如下所示: MSP430_P3.6 <--------------> RXD MSP430_P3.7 <--------------> TXD 其中 RXD 和 TXD 为 MSP430 板子中部排针的管脚 4. MSP430、TC35 模块联机调试 MSP430、TC35 模块进行联机调试时,按照下列接线方式连接: MSP430_5V <--------------> TC35_P5_3 MSP430_GND <--------------> TC35_P2_8(GND) MSP430_P3.6 <--------------> TC35_P4_2 MSP430_P3.7 <--------------> TC35_P4_1 如下图所示: 如果需要监控 MSP430 与 TC35 模块之间的通信,请使用 USB_TTL 模块。 按照下列方式连线,可监控 TC35 回应 MSP430 的串口数据: Rx <--------------> TC35_P4_7 TX <--------------> TC35_P4_8 GND <--------------> TC35_P2_3 采用下列方式可监控 MSP430 向 TC35 模块发送的串口命令: Rx <--------------> TC35_P4_8 TX <--------------> TC35_P4_7 GND <--------------> TC35_P2_3 四、 软件说明 1. MSP430 温度信息采集 该程序的完整工程为本目录下的 msp430_ad7793 文件夹。其功能是单独 运行采集温度电压值,并通过串口回传电压值和计算后的温度值,较之上次 编写的程序没有大的改动。 MSP430 上电初始化完成后会向串口发送“System is ready! Wait for command...”信息,收到该信息后,可通过串口调试工具发送电压值采集命 令,命令为一个任意字符。MSP430 收到该字符后会回传采集到的电压值和 温度值。如下图: 温度的计算公式是按照你提供的公式计算的,如果需要修改,其程序位 于 main.c 文件 138 行处。 result = sqrt(15.27481 - (TEMP11/TEMP22 - 1)*2.31); result = 3.9083 - result; result = result*10000/11.55; 2. MSP430、TC35 联机程序 联机程序用于控制 TC35,将采集的温度信息发送给目标手机,该程序不 限制查询温度信息的手机。任一手机只要给 TC35 发送短信,短信为英文短 信,并包含“temperature”关键词(如,“tell me the temperature”、 “temperature?”等等),发送成功后约过 3、5 秒,TC35 接收到短信后,MSP430 上 LED4 会连续闪烁,说明短信收到并且正在回传温度信息,LED4 闪烁后常 亮说明短信发送成功,过 3、5 秒手机就会收到温度信息。 程序的详细信息流程在程序中都有注释描述,完整的工程位于 msp430_tc35 文件夹中。温度的计算公式位于 ad7793.c 文件的 getTemperature_AD7793 函数中。 TC35 接收到短信后是将短信存储于 SIM 卡中,为了防止 SIM 卡存储空间 满后不再接收新的短信,程序中会将读过的短信删除。 五、 后话 如果你需要自己调试程序,需要注意一下几点:  MSP430 采集温度程序中,AD7793 一直以外部中断的方式采集电压值, 所以可观察到 LED4 闪烁。而联机程序中,次外部中断过于频繁,影响了 MSP430 的串口接收,于是取消了该中断,采取需要时才去读取采样电压 值的方式;  连续采集 5 次电压值,以 5 次平均值计算温度信息;  MSP430 发送 AT 命令后都会和期望的应答进行匹配,如果匹配不成功, 则再次发送相同的 AT 命令,一共循环 3 次,如果都匹配不成功则跳出, 不再进行后续操作。  MSP430 接收 TC35 模块的应答采用 UART 中断方式接收,速度快;  TC35 应答不同 AT 命令的数据串长度不一样,因此其接收时间也长短不 一致,以至于很难确定什么时候应答信息接收完成(这个问题可自己调 试看看,没有任何标志位可判断,这是与 TC35 通信的难点),如果采用 等待一段时间的方式可以基本解决该问题,但是等待多长时间好呢?等 待时间短,那么应答信息还没有接收完整,等待时间长的话,白白浪费 了 MCU 的运行时间,同时也不能保证有没有更长的应答信息;  针对上述的问题,我们采用了中断套嵌的方式,在 UART 中断接收中启 动一个定时器,如果一直在接收 TC35 的应答信息,那么定时器不断被重 置,重新计数,如果接收完成了,那定时器在最后一次启动后不再被 UART 中断重置,产生 TIMER 中断,设置接收标志位(USART2_RX_STA 最高位 置 1),表明 TC35 应答信息接收完毕。 最后,祝学业顺利,项目圆满结题!!!^_^

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。