MSP430开发板可二次开发的设计实例

发布者:Mingyue1314最新更新时间:2021-03-05 来源: eefocus关键字:MSP430  开发板  二次开发 手机看文章 扫描二维码
随时随地手机看文章

引言

SoC已集成了很多数字功能,设计者们开始将目光投向复杂的模拟与射频功能。模拟模块不适用于构建SoC的标准IP(知识产权)集成策略,它们与设计中其他部分有太多的交互作用。


现在有许多公司已经开始推出混合信号微处理器,如TI的MSP430系列、Cypress的PSoC系列、Silicon Labs的C8051F系列。这些芯片不仅集成大量的数字IP核,而且集成了常用的模拟单元。


本文基于TI公司的混合信号处理器MSP430F5504设计了一款超低功耗、高性价比、高处理能力的USB混合信号处理器开发板(校园广播系统)。


1 校园广播系统总体设计

校园广播系统的设计及实现更好地说明MSP430系列芯片的良好功能和开发方法,系统总体原理框图如图1所示。整个系统包括MSP430混合信号处理器模块、电源模块、输入模块、液晶显示模块、通用串口模块(包含I2C、SPI、UART)、JTAG调试模块、USB模块等。



2 系统硬件设计

2.1 主控电路设计

MSP430F5504是优秀的片上系统,只要外接1.8~3.6 V电源,加上一个低频晶振就能工作。MSP430F5504有VQFN和LPFQ两种封装,这里采用LQFP48封装,方便焊接、安装、调试。


本系统由一个32.768 kHz的低频晶振和一个4 MHz的高频晶振构成。低频晶振和两个12 pF的负载电容接在MSP430F5504的Xin和Xout端,当系统需要高频时钟时使用(供CPU高速运行、作为ADC的高速转换时钟等)。高频晶振需要更大的负载电容才能正常工作,系统采用了一个4 MHz的高频晶振及其相匹配的两个47 pF电容接在高频时钟引脚端(XT2IN和XT2OUT)。微处理器的数字电源和模拟电源都从3.3 V的稳压电源获得。系统要正确地恢复到原始状态,必须有复位电路,MSP430F5504是低电平复位。


2.2LCD液晶电路设计

本系统采用Nokia 5110 LCD,此LCD由Philips公司生产的PCD8544驱动芯片控制。PCD8544是一块低功耗的CMOS LCD控制驱动器,设计为驱动48行×84列的图形显示。所有显示功能集成在一块芯片上,包括LCD电压及偏置电压发生器,只需很少外部元件且功耗低。


Nokia 5110属于低功耗LCD,静态电流只有200 μA。控制接口简单,通过SPI接口就可以轻松地进行控制,具有5根信号线、2根电源线。还可根据需要通过控制BL背光控制线来开关背光。在低功耗运行时,可通过此控制线关闭背光。


2.3 调试电路设计

JTAG测试允许多个器件通过JTAG接口串联在一起,电路板上的很多芯片可以将它们的JTAG引脚通过Daisy Chain的方式连在一起,并且Probe只需连接到一个JTAG端口就可以访问一块电路板上的所有IC。


MSP430F5504集成了JTAG调试接口,这极大地方便了程序的开发。MSP430采用了14引脚的JTAG调试接口。通过该接口不仅可以对程序进行在线调试,而且可以下载程序,让程序全速运行,并观测程序在实际电路上的运行效果。


2.4 通用串口模块设计

串口是系统与外界联系的重要手段,在嵌入式系统开发和应用中,经常需要上位机实现系统调试及现场数据的采集和控制。一般是通过上位机本身配置的串口,通过串行通信技术和嵌入式系统进行通信。


通用串口模块是TI微处理器特有的设计,它在一个串口硬件模块中支持多个串口通信协议。TI的MSP430系列的通用串口模块支持的串口协议有UART、SPI、I2C总线协议。根据不同的寄存器配置,通用串口通信模块可以配置为上述的任意的一个串口,具有极大的灵活性,特别是对于小引脚数的单片机,通过引脚复用大大地增强了单片机的功能。


2.4.1 通用串口——UART模式

异步通信字符格式由4部分组成:起始位、数据位、奇偶校验位和停止位。其中,用户可以通过软件设置数据位、停止位的位数,还可以设置奇偶位的有无。通过选择时钟源的波特率寄存器的数据来确定位周期。


串行操作自动错误检测:USART 模块接收字符时,能够自动进行校验错误、帧错误、溢出错误和打断状态检测。


在异步通信中,波特率是很重要的指标,表示为每秒传送二进制数码的位数。波特率反映了异步串行通信的速度。波特率发生器产生同步信号表明各位的位置。波特率部分由时钟输入选择、分频、波特率发生器、调整器和波特率寄存器组成。串行通信时,数据接收和发送的速率就由这些构件控制。


2.4.2 通用串口——I2C模式

(1) I2C总线位传输


由于连接到I2C 总线的器件有不同种类的工艺(CMOS、NMOS、双极性),逻辑0 (低)和1(高)的电平不是固定的,它由VDD的相关电平决定,每传输一个数据位就产生一个时钟脉冲。


I2C总线模式支持任何从模式或主模式下的I2C总线兼容设备。每个I2C总线设备都有唯一的地址可供识别,并可以随意作为发送端或接收端对其操作。当进行数据传输时,I2C总线总线上的设备可以被视为主设备或者是从设备。主设备开始数据发送并产生时钟信号SCL,任何一个能被主设备寻址到的设备都可视为一个从设备。


I2C总线数据通过串行数据线(SDA)和串行时钟线(SCL)进行传输,SDA和SCL均为双向,它们必须通过一个上拉电阻连接到供电电源的正极。


(2) I2C 总线的串行数据


每传输一个数据位,主设备都会产生一个时钟脉冲。I2C总线模式下进行的是字节操作,每个起始位发出之后的第一个字节包含有7位从地址和一个R/W 位。当R/W=0 时,主设备向从设备发送数据;当R/W=1 时,主设备从从设备接收数据。应答位ACK 是接收方对应第9个SCL时钟发出的握手信号。START起始条件和STOP停止条件都是由主设备产生。在SCL为高时,将SDA 由高跳变至低,产生一个START 起始条件。在SCL为高时,将SDA 由低跳变至高,产生一个STOP停止条件。总线忙位UCBBUSY在START出现后置位,在STOP出现后清零。


(3) I2C 总线寻址方式


I2C总线模式下支持7 位和10位寻址方式。


7位寻址的格式如图2所示,第一个字节包括7位从地址和一个R/W 读写控制位。应答位ACK是接收方在每个字节后发出的握手信号。



10位寻址的格式如图3所示,第一个字节由11110b加上10位从地址的高两位和R/W 位构成。每个字节结束后,由接收方发送ACK应答信号。下一个字节是10位从地址剩下的8位数据,在这之后是ACK应答信号和8位数据。



主设备可以在不停止当前传输状态的情况下,通过再次发送一个起始位来改变SDA上数据流的传输方向,这被称为“再次起始”。再次起始位产生后,从设备的地址和标示数据流方向的R/W位需要重新发送。再次起始条件格式如图4所示。



(4) I2C 总线模式下的操作方式


在I2C总线模式下USCI模块可以工作在主发送模式、主接收模式、从发送模式或者从接收模式。


主设备模式:选择I2C总线模式的同时设置UCMODEx=11,USCYNC=1,并置位UCMST位可以使 USCI模块工作在I2C总线主模式。当主模块是一个多主设系统的一部分时,必须对UCMM置位,并通过编程将其本机地址写入寄存器UCBxI2C OA中。当UCA10=0时,选择7位寻址模式。当UCA10=1时,选择10位寻址模式。若要响应广播,则可以置位UCGCEN位。


从设备模式:选择I2C总线模式的同时设置UCMODEx=11,USCYNC=1,并清零UCMST位可以使 USCI模块工作在I2C总线从模式。


2.4.3 通用串口——SPI模式

在同步模式下,USCI 通过3个或者4个引脚把MSP430连接到一个外部系统中,这些引脚分别是:UCxSIMO、UCxSOMI、UCxCLK和UCxSTE。选择SPI模式有两种情况:当“同步位”时置“1”;根据UC模式的位来选择。


4线的SPI主模式为控制本主机。当UCxSTE处于主模式不工作的状态中:


① UCxSIMO和UCxCLK 被置“1”,用来输入信号,并且不再驱动总线。


② 出错位UCFE被置“1”,用来报告通信整体性的错误需要用户处理。


③ 内部的状态为机器复位,移位工作被终止。


4线的SPI从模式为在4引脚的SPI从模式下,UCxSTE被从模式用来使发送和接收处于工作状态。当UCxSTE处于从模式活动状态时,从动器件处于正常工作的状态。


当UCxSTE处于停止状态时:


① 任何在UCxSIMO口进行中的接收工作将会停止;


② UCxSOMI被置于输入的方向;


③ 移位工作也会停止,一直到UCxSTE过渡到从模式下的活动状态。


这种UCxSTE输入信号的功能不用于3引脚的模式当中。


尽管USCI有多种模式可供配置,但它们共同利用相同的引脚,本设计既考虑到硬件串口模块的使用,利用了I/O模块串口的灵活性,通过跳帽来选择是利用芯片内部的硬件串口模块还是利用相应个数的I/O接口来模拟串口协议,这提高了系统的灵活性。


2.4.4 D/A转换模块的设计

特定型号的MSP430F5504芯片带有内置D/A转换器,但MSP430F5504不带有内置D/A转换器,而增加外部D/A转换器将增加了电路的复杂性。一般的条件下,只要求某一幅度的直流电压值同,所以采用低成本的PWM加外置无源器件来实现D/A转换器的功能。


PWM技术是一种对模拟信号电平的数字编码方法,通过使用高分辨率计数器(调制频率)调制方波的占空比,实现对一个模拟信号的电平进行编码。其最大的优点是,从处理器到被控对象之间的所有信号都是数字形式的,无需再进行数模转换过程;而且对噪声的抗干扰能力也大大增强(噪声只有在强到足以将逻辑值改变时,才可能对数字信号产生实质的影响),这也是PWM在通信等信号传输行业得到大量应用的主要原因。


通过调节PWM的占空比,可以产生等效幅度的电压,再通过低通滤波器产生相应的模拟输出。


在信号接收端,需将信号解调还原为模拟信号,目前在很多微型处理器内部都包含有PWM控制器模块。


2.4.5 LED输出指示电路

有时为了电路调试方便,将引脚的状态通过LED灯来进行指示,也可以作为简单的测试使用,连接一个I/O口,并与LED和一个1 kΩ电阻串联组成该电路。


2.4.6 按键输入电路

通过按键来模拟用户的有效UI接口,把I/O引脚上拉到DVCC3.3数字电源,当有按键按下时把I/O口状态拉低。


2.4.7 电源指示电路

当电源接通时给用户一个提示,这有利于改善用户的使用感受,给用户一个反馈,表明电源是否正确连接。


当在低功耗模式下,或用户已不需要电源指示功能时,可以通过去除跳帽来减少系统的功耗。


2.4.8 电源隔离电路

高速的I/O口操作和I/O的上拉下拉,都会使系统的数字电源产生尖峰电流脉冲,这对系统的正常工作有很大影响。如果这些噪声引入系统的模拟设备,将影响系统的模拟外设。所以,对系统的数字电源和模拟电源进行隔离是非常必要的。


在系统的模拟电源AVCC33和数字电源DVCC33之间接入一个磁珠,能有效地提高系统的稳定性,保证系统的正常工作。数字地和模块之间通过0 Ω电阻相连,也能有效地减小系统的干扰。


2.5 程序下载电路设计

MSP430F5504可以通过多种接口对程序进行下载,通过JTAG和SBW接口不仅可以对程序进行调试和下载,而且还能够在调试完毕后通过一定的指令烧断保密熔丝,使调试接口自毁。自毁后JTAG或SBW接口失效,再也无法通过它读取内部代码,避免代码被他人读取或复制,从而保护知识产权。


在设计阶段和原理样机阶段,要对程序不断进行编写、修改、仿真和调试,只需要JTAG和SBW接口,不进行烧熔丝操作。一旦产品定型,在发布和量产阶段,不再需要调试程序,只需要烧写代码;如果要烧毁熔丝,则要保留BSL接口。


2.6 电源电路设计

本系统可以通过单枚纽扣电池供电,也可以通过USB接口供电。


结语

MSP430F5504是混合信号处理器的一种,独特的设计和架构给用户很大的灵活性,并带来超低的功耗和强大的处理能力。现在已经广泛用于各种领域,如联网式气表、便携式测量仪器、医疗器械等。设计制作高性能、低成本MSP430系列开发板可以加快产品的开发速度,减短产品的上市时间,加大前端应用的普及性。因此,设计一款方便、稳定、可靠的开发板也就显得比较有意义。


关键字:MSP430  开发板  二次开发 引用地址:MSP430开发板可二次开发的设计实例

上一篇:MSP430和CC3000的智能手机控制系统
下一篇:独立光伏电源数据采集系统设计

推荐阅读最新更新时间:2024-11-12 16:34

msp430单片机闪烁灯程序
/************************************************************************** 闪烁灯程序 **************************************************************************/ #include msp430g2553.h /************************************* msp430G2553控制与P1.0和P1.6连接的两个LED等闪烁 闪烁效果可以用数组形式设定,循环将数组的值赋给输出P1. **********************
[单片机]
迅为iTOP-4412开发板-驱动-显卡支持HDMI_1080P分辨率
文档介绍迅为 iTOP-4412开发板 显卡驱动通过修改之后,能够支持 HDMI 的 1080P 分辨率输出。 请注意:本文档针对精英版和全能版,2018 年及以后迅为发布的内核源码,包含 Android4.03 和 Android4.4、Ubuntu 和 QtE 系统。 本文档以精英版 Android4.0.3 系统的内核为例(4412 全能版和 4412 精英版的 Android4.4 内核也是一样),打开内核“drivers/video/samsung/s3cfb_wa101s.c”显卡配置文件,如下图所示。 打开之后,搜“0x3”,可以看到条件语句“else if(0x3==type)”,这部分是将拨码开 关设置为
[单片机]
迅为iTOP-4412<font color='red'>开发板</font>-驱动-显卡支持HDMI_1080P分辨率
u-boot-2011.06在基于s3c2440开发板的移植之nandflash启动
由于价格的原因,相对于norflash,nandflash对于存储大容量的数据来说更具有优势。但是程序不能直接在nandflash上运行,因此s3c2440提供了一个机制,即系统会自动把nandflash中前4k的内容复制到名为“Steppingstone”的内部SRAM中,利用这段SRAM,程序员需要再把程序复制到其余的SRAM中,然后运行刚刚复制到SRAM中的程序。 本文就介绍如何使u-boot在nandflash中启动,该工作原理类似于u-boot-2011.06自带的smdk6400开发板的nandflash启动过程,即最终生成的烧写文件为u-boot-nand.bin,它是由两个文件组成的: nand_spl/u-boo
[单片机]
基于MSP430单片机的电机控制
单片机应用中,很多控制领域都涉及电机驱动,本文介绍基于MSP430系列单片机实现的不仅电机控制器,首先介绍步进电机控制器的电路设计,然后介绍步进电机的软件的设计。 在控制系统中,步进电机使用非常广泛。由于利用单片机实现的步进电机具有控制成本低。使用灵活等特点,所以越来越多的引起人们的重视。步进电机是数字控制电机,它将格脉冲信号转变成角位移,即给一个那脉冲信号,步进电机就转动一个角度,因此非常适合单片机的控制。步进电机可分为反应式步进电机、永磁式步进电机和混合式步进电机。不仅电机区别于其他电机的最大特点是:它是通过输入脉冲信号来控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路发送不同
[单片机]
基于<font color='red'>MSP430</font>单片机的电机控制
基于MSP430F149电机保护算法研究
目前,我国高压电动机的保护主要有机电式和集成电路两种,但都存在着诸多弊病,不能很好地保护电动机。其中,异步电动机的机电式保护,主要以电流增大作为判据,保护原理粗略,对断相等严重不对称故障,由于一般不出现显著的电流增大,从而使保护装置难以及时动作,造成事故扩大;集成电路式保护虽在保护原理上有所改善,但其保护特性一般无法与电动机热曲线实现较好配合,常发生拒动或误动,严重的甚至烧毁电动机。因此,研究电机保护算法具有重要的意义。 1 电动机故障分析 电动机的故障形式可分为对称和不对称两类。 对称故障包括过载、堵转和三相短路等,这类故障对电动机的损坏主要是热效应和机械应力,使绕组发热甚至损坏。其主要特征是三相仍基本对称但
[单片机]
基于<font color='red'>MSP430</font>F149电机保护算法研究
4412开发板图像识别项目-移植百度AI依赖库curl(三)
通过百度AI的快速入门手册,我们可以知道,如果要调用百度AI的接口,我们需要移植依赖库libcurl,openssl和jsincpp库。 环境:迅为提供的ubuntu16.04 编译器:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 开发板:迅为4412开发板 一.jsoncpp库简介 JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读、编写、解析。jsoncpp是c++解析JSON串常用的解析库之一。 二.移植 1,解压压缩包进进入解压后的目录 tar -vxf jsoncpp-1.
[单片机]
4412<font color='red'>开发板</font>图像识别项目-移植百度AI依赖库curl(三)
解读MSP430F2274单片机设计的倒车雷达系统电路
  随着人们对汽车辅助驾驶系统智能化要求的提高和汽车电子系统的网络化发展,新型的倒车雷达应能够连续测距并显示障碍物距离,并具有通信功能,能够把数据发送到汽车总线上去。以往的倒车雷达设计使用的元器件较多,功能也较简单。本文介绍的基于新型高性能超低功耗单片机 MSP430F2274 的倒车雷达可以弥补以往产品的不足。   系统采用超声波测距原理。超声波测距仪器一般由发射器、接收器和信号处理器三部分组成。工作时,超声波发射器发出超声波脉冲,超声波接收器接收遇到障碍物反射回来的反射波,准确测量超声波从发射到遇到障碍物反射返回的时间,根据超声波的传播速度,可以计算出障碍物距离。作为一种非接触式的检测方式,超声波具有空气传播衰减小、反射能力
[电源管理]
解读<font color='red'>MSP430</font>F2274单片机设计的倒车雷达系统电路
OK6410A 开发板 (八) 51 linux-5.11 OK6410A glibc提供的mmap与malloc
glibc 根据 rootfs中的动态链接库来源 可以看到 glibc 来自于 交叉编译工具链,且glibc版本为 glibc-2.18 我们探究一下 glibc-2.18 中 mmap 以及 malloc 函数的定义以及实现 glibc 代码 在 http://ftp.gnu.org/gnu/glibc/ mmap 简介 mmap 是glibc提供的函数,也是系统调用 应用 #include sys/mman.h void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *add
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved