MSP430单片机最小系统.docx
- 文档编号:3884358
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:18
- 大小:386.51KB
MSP430单片机最小系统.docx
《MSP430单片机最小系统.docx》由会员分享,可在线阅读,更多相关《MSP430单片机最小系统.docx(18页珍藏版)》请在冰豆网上搜索。
MSP430单片机最小系统
第八章MSP430F249单片机最小系统
8.1MSP430单片机下载方式
当单片机程序利用IAR开发环境编译和proteus仿真通过以后,还需要把程序生成的二进制代码烧录进单片机内部闪存中运行,这个过程称为下载或者编程。
MSP430单片机支持多种FLASH编程方法:
BSL和JTAG。
其中BSL是启动加载程序(BootStrapLoader)的简称,该方法允许用户通过标准的RS-232串口访问MSP430单片机的FLASH和RAM。
在单片机的地址为(0C00H-1000H)的ROM区内存放了一段引导程序,给单片机的特定引脚加上一段特定的时序脉冲,就可以进入这段程序,让用户读写、擦除FLASH程序。
通过BSL无条件擦除单片机闪存,重新下载程序,还可以通过密码读出程序。
另外一种下载程序的方式为JTAG(JointTestActionGroup,联合测试行动小组),JTAG是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。
JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。
目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP、FPGA器件等。
标准的JTAG接口是4线:
TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。
目前JTAG接口的连接有两种标准,即14针接口和20针接口,MSP430单片机使用的是14针的接口,其定义分别如表8-1所示。
表8-114针JTAG接口定义引脚名称描述
管脚编号
功能说明
2、4
VCC电源
9
GND接地
11
nTRST 系统复位信号
3
TDI 数据串行输入
7
TMS 测试模式选
9
TCK 测试时钟
1
TDO 测试数据串行输
6、8、10、12
NC 未连接
下面分别介绍BSL和JTAG方式下编程器设计,可以用在实际系统编程中。
8.2BSL编程器原理
启动程序载入器(BootStrap)是一种编程方法,允许通过串行连接和MSP430通讯,在FlashMemory被完全擦除时也能正常工作。
MSP430的启动程序载入器(Bootstrap)在单片机正常复位时不会自动启动,当需要对单片机下载程序代码时候,对RST/NMI和TEST引脚设置特殊的顺序。
当MSP430单片机的TEST引脚为低电平而RST/NMI引脚有上升沿时,用户程序从位于内存地址0FFFEh复位向量开始执行,用户程序正常启动,如图8-1所示
图8-1MSP430单片机正常启动复位时序信号
当TEST引脚出现至少两个跳变沿,当TEST为高电平而RST引脚出现高电平,如图8-2所示启动程序载入器(Bootstrap)所需的时序时,单片机进入启动程序载入器工作方式。
图8-2MSP430单片机进入BSL时序信号
使用TEST和RST/NMI脚调用启动程序载入器(BootStrap)后,通讯可以用一个标准的异步串口协议确定。
用MSP430的P1.1口BSLTX传输数据,P2.2口BSLRX接收数据。
UART设置为波特率9600,8位数据位,偶校验,1位停止位。
详细的通信协议细节请参考TI的数据手册。
考虑到大部分计算机已经没有独立的串行口,必须利用USB接口实现BSL功能,下面介绍一种USB接口的BSL下载器的硬件设计。
如图8-3所示。
图8-3USB接口BSL下载器原理图
图8-43.3V电源电路图
图8-3中USB插座的1、2、3、4脚分别为5v电源,D-和D+差分信号线,地线。
5、6脚为插座外壳接地引脚。
电脑可通过1脚提供5V电源,由于PL2303为3.3V供电,这里使用一颗AMS1117-3.3,为5V转3.3V稳压芯片,用于将USB接口提供的5V转换成PL2303芯片所需的电压,如图8-4所示,PL2303是一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口转换。
该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB信号与RS232信号的转换,所有工作全部由芯片自动完成,使用者无需考虑固件设计。
在通过BSL下载时,DTR连接430的RESET,RTS连接430的TCK,TXD连接单片机的P2.2,RXD连接单片机的P1.1。
通过下载软件如MSPFET,可以实现bootstrap规定的时序要求,具体使用方式如下:
1)利用IAR开发软件生成TI公司规定的txt格式下载文件,右键单击project中的工程名,选择options,在output中选择msp430-txt,如图8-5所示。
保存配置并重新编译,在工程debug\exe目录下可以找到下载文件。
图8-5IAR生成MSP430-txt编程文件配置
2)打开MSPFET软件,做如下设置,如图8-6所示,并选择芯片型号为MSP430F149。
图8-6MSPFET配置
打开编程txt文件,首先,点击ERASE擦除芯片上原有的程序;第二步,点击PROGRAM即可下载,如图8-7所示。
图8-7MSPFET下载示意图
8.3JTAG下载器电路
通过电脑的并行端口实现MSP430单片机的JTAG端口编程和调试,对于初学者是一种成本较低的方案,下面介绍用电脑的并行口实现JTAG编程,但是在用JTAG烧断保密熔丝后,要再想修改闪存程序,就只能用BSL方法了。
图8-8并口JTAG下载器电路原理图
图8_8中,74HC244为一颗8通道缓冲芯片,将A1~A8缓冲输出到Y1~Y8,JP4为标准的14芯MSP430单片机的JTAG接口。
通过该接口通过14芯排线连接到单片机开发板的JTAG插座,即可实现单片机程序的下载和实时仿真调试功能。
具体设置如下,在IAR软件中右键单击project中的工程名,选择options->Debugger,在Driver选项中选择FETDebugger,如图8-9所示。
图8-9IAR的调试器配置
图8-10IAR的FET调试器并口配置
然后在图8-10中选择FETDebugger,选择connection中的TexasInstrumentLPT-I。
即选择电脑的并口作为下载口,确定后即可开始程序的下载和调试。
8.4MSP403F149单片机最小系统设计
前面的章节中,我们主要采用MSP403F249作为仿真器件详述了单片机内部功能和外部扩展电路的设计和应用,本节主要介绍实用的单片机小系统开发板的硬件设计,可以作为单片机实验学习使用。
在选择单片机型号时,由于市面上MSP403F149较为常用且购买容易,且与MSP403F249功能基本相同,管脚也兼容,因此选择MSP403F149作为单片机最小系统的主芯片。
该单片机的特点如下:
♦1.8V~3.6V超宽供电电压
♦5种低功耗模式,从standby模式唤醒时间小于6μs
♦0.1uARAM保持
♦0.8uA实时时钟模式
♦2KRAM,60KB+256BFlashMemory(支持IAP)
♦片内硬件乘法器支持四种乘法运算
♦两个具有PWM输出单元的16-Bit定时器(TimerA3,TimerB7)
♦两个UART接口,两个SPI接口(与UART复用)
♦一个8通道12-Bit模数转换器(ADC),具有片内参考电压源
♦一个模拟比较器,看门狗电路等
开发板可使用的资源如下:
♦两种可选供电方式(标准稳压器接口、USB接口)
♦符合TI标准的14芯JTAG仿真调试端口
♦蜂鸣器
♦18B20单芯片12-Bit高精度温度传感器
♦12-Bit模数转换器(ADC)接口和单路输出10-Bit数模转换器(DAC)
♦标准的1602液晶接口和标准的12864液晶接口
♦六位共阴极动态扫描数码管电路
♦RTC实时时钟+纽扣电池
♦IIC接口的EEPROM
♦4×4的矩阵式键盘
♦标准的RS232接口和RS485接口
♦含8个LED的流水灯电路(红、黄、绿)
1)单片机电路
图8-11中MSP430F149单片机外接Y1和Y2晶振,分别为32.768KHz和8MHz,给单片机提供低速晶体振荡器和高速晶体振荡器,以满足不同的应用对速度和功耗的要求。
P3是标准的14芯JTAG接口,用于单片机的程序下载和实时仿真调试。
R1、R2、C1组成RC复位电路,当给开发板供电时,提供一个延迟的低电平给单片机的RST端口,S1为按键复位。
C9~C13为0.1μF瓷片电容,这些电容分别为单片机电源VCC、模拟电源AVCC和ADC的参考电源VREF提供退耦,提高单片机系统工作的稳定性,值得注意的是这些退耦电容的放置必须靠近单片机的对应的电源引脚,和这些引脚的连线尽可能的短。
R5为一个0欧姆电阻,用于数字电源的地和模拟电源的地之间的隔离,这种设计方法是用于将数字电路部分和模拟电路部分的地线分开,减少数字部分对模拟部分的干扰。
P1为双排插座,将单片机的部分端口引出,可用于外部器件的扩展。
图8-12为单片机电源部分,外接电源通过AMS1117-3.3提供单片机及其他部分所需的3.3V电源。
图8-11MSP430F149单片机电路
图8-12MSP430F149电源电路
2)RS232串行口电路
这里选用MAX3232作为单片机串行口转换芯片,MAX3232是一款3.0V~5.5V供电、低功耗的RS232收发器,支持高达1Mbps的通信速率,仅需要四个0.1uF的电容作为外部元件即能工作。
单片机与MAX3232连接电路图如图8-13所示。
图8-13MSP430F149与MAX3232的连接电路图
MSP430F149片内集成了两个UART端口,这里使用了它的UART0端口,单片机通过UTXD0(P3.4)向PC机发送数据,通过URXD0(P3.5)接收来自PC机的数据。
在TX线上有一个红色LED,RX线上有一个绿色LED,当单片机通过MAX3232与PC机通信时,两个LED会根据通信线上电平的变化而闪烁发光,指示通信的进行。
如果不用作UART通信,则当P3.4和P3.5用于通用输入输出端口时,P3.4和P3.5连接的标号为D10和D11的两个LED可以作为通用LED使用。
3)RS485接口电路
RS-232串行口通信距离和速度都比较低,当要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。
RS-485采用平衡发送和差分接收,具有抑制共模干扰的能力。
总线收发器具有高灵敏度,能检测低至200mV的电压,传输的差分信号能在千米以外得到恢复。
RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485用于多点互连时非常方便,可以省掉许多信号线。
应用RS-485可以联网构成分布式系统。
这里单片机开发板选择MAXIM公司的MAX485。
MAX485是用于RS-485与RS-422通信的低功耗收发器,通信距离最远可达1Km,器件中具有一个驱动器和一个接收器。
可以实现最高2.5Mbps的传输速率。
采用单一电源+5V工作,额定电流为300μA,采用半双工通讯方式。
它完成将TTL电平转换为RS-485电平的功能。
MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。
RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。
同时将A和B端之间加匹配电阻,用来抑制信号反射,一般可选120Ω的电阻。
图8-14MSP430F149与MAX485的连接电路
在图8-14中,将MAX485的RE引脚与DE引脚连接在一起,通过单片机的P3.3端口可以直接控制收发模式。
当P3.3输出高电平时,MAX485处于发送数据模式;当P3.3输出低电平时,MAX485处于接收数据模式。
4)EEPROM电路
在实际的单片机应用系统中,为了保护现场,经常需要将系统断电之前的工作状态与重要运行数据保存在非易失存贮器中,以便在下次开机时,能恢复到原来的工作状态。
针对这种保存的数据量不大和存储速度要求不高的特点,可采用Atmel公司出品的一款高性能接口的AT24C02的EEPROM芯片,它采用两线串行接口(I2C)是通过二根线(SDL与SCL)与外部I2C控制器交换数据。
简化了与单片机的连接,工作电压2.7V~5.5V,存储容量256×8-Bit即2K字节,支持100万次的擦写,数据能有效保持100年。
单片机与AT24C02的连接关系示意图如图8-15所示。
图8-15单片机与AT24C02的连接电路图
单片机的通用输入输出端口P6.6、P6.7与AT24C16的SCL、SDA端口相连接构成I2C总线,因为MSP430F149内部没有专用的I2C接口电路,所以只能用IO端口来模拟I2C时序从而实现对EEPROM的读写操作,可以用于用户的数据掉电保存。
5)实时时钟电路
实时时钟(RTC)是一个由外部晶体振荡器获取时钟信号,向单片机等系统提供表示的时间和日期的数据的器件。
单片机和RTC间的通信可通过并行口也可通过串行口。
这里选择Dallas公司的DS1302实时时钟芯片。
DS1302是一颗单芯片的实时时钟,能够计算秒、分、时、日、周、月、年,自动补偿2100年之前的闰年日期;2.0V~5.5V的供电电压,三线制的串行通信接口,且内置31字节的可由电池维持数据的静态RAM,用户可自由使用。
DS1302支持双电源供电,VCC2连接主电源,VCC1连接备用电池。
当VCC2的电压高于VCC1时,芯片从VCC2处获得能量并且可以通过涓流充电的方式对VCC1连接的电池进行充电;当VCC2的电源断开连接时,芯片内部自动切换到从VCC1处取电,从而保证即使在系统板掉电的情况下,DS1302仍能进行正确计时功能且保存在RAM中的数据不丢失。
单片机与DS1302的连接示意图如图8-16所示。
图8-16单片机与DS1302的连接图
单片机通过其通用IO口的P2.5、P2.6、P2.7端口与DS1302的SCLK、I/O、RST三个引脚连接,通过这个三个IO可以执行对DS1302的读写操作。
DS1302的第1管脚接到了系统板的3.3V电源上,作为芯片的主电源;第8管脚连接了一个CR1220型纽扣电池的正极,为芯片提供系统板掉电后的电源。
6)DAC电路
由于MSP430F149内部没有DAC功能模块,开发板选择外部扩展串行接口的数模转换器TLC5615。
TLC5615是TI公司生产的10位串行D/A转换器。
芯片的主要特点是:
输出为电压型,输出电压与基准电压同极性,最高输出电压为基准输人电压的2倍;单5V电源供电,低功耗;具有上电复位功能,以确保芯片可以重复启动;逻辑控制通过三线串行总线与微处理器接口;数字输入端带有施密特触发器,可有效地抑制噪声的干扰。
该芯片广泛应用于用电池供电的测试仪表、工业控制等场合。
TLC5615的主要技术参数是:
电源电压4.5-5.5V,典型值为5V;输入基准电压2V~VDD-0.2V,典型值为2.048V。
单片机与TLC5615的连接电路图如图8-17所示。
图8-17单片机与TLC5615连接电路图
单片机的P6.2、P6.3端口与TLC5615的SCLK、DIN端口连接,通过在两通用IO口上模拟TLC5615时序从而实现对DAC的操作。
从图8-5可以看到,TLC5615的输出端OUT连接到了跳线座J2的第2脚。
如果用短路帽将跳线座J1的2脚和3脚连接,则DAC的输出直接驱动LED,可以通过LED亮度的变化直观地观察到DAC输出电压值的变化;如果用短路帽将跳线座J2的2脚和1脚连接,则可以用MSP430内置的ADC对DAC输出的电压进行采样转换,对ADC和DAC电路同时进行应用。
如果不使用短路帽,则可以之间用电压表测量跳线座J1的2脚对地之间的电压数值,从而得知DAC输出的准确数值。
6)温度传感器电路
开发板选择常用的数字温度传感器DS18B20,DS18B20是一款小巧的温度传感器,通过单总线协议与单片机进行通信,硬件连接十分简洁,它具有如下特性:
测温范围-55℃~+125℃,并且在-10℃~+85℃范围内具有±0.5℃的精度,9-Bit到12-Bit的可编程分辨率,用户自定义、非易失性温度阈值。
单片机与DS18B20的连接电路图如图8-18所示。
图8-18单片机与DS18B20的连接电路图
通过图8-6可知单片机的P5.6端口与DS18B20的DQ端连接,通过在单片机的IO端口模拟1-Wire协议的时序能实现对DS18B20的读写。
7)12864液晶接口电路
液晶显示模块作为一种显示器件在单片机系统中得到广泛的应用,具有体积小、重量轻、功耗低、显示内容丰富等特点,如各种仪器,仪表,电子显示装置,计算机显示终端,电子打印机等诸多方面。
液晶显示可以实现固定显示,如显示的内容为数字或者字符,显示的内容不能随意的变化。
另外一种液晶显示为点阵液晶,,点阵液晶模块的液晶像点做成点阵形式,显示内容由这些点阵组成,可以随心所欲的改变,数字、英文字符、中文字符或图象显示都可以在一个模块上显示,还可以做到这些显示内容动态变化。
本开发板采用12864液晶接口是一个引脚间距2.54mm的20脚单排扁平电缆连接器插座,可以连接任何以ST7920为驱动器的12864液晶模块,可以显示横向128点,纵向64点的图像,如果按照汉字为16*16点,英文字符8*8点,该液晶可以同时显示32个汉字或者128个英文字符。
其管脚功能如表8-2所示。
表8-212864液晶管脚功能表
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0~+5V
电源正
3
V0
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7—DB0为显示数据
RS=“L”,表示DB7—DB0为显示指令数据
5
R/W
H/L
R/W=“H”,E=“H”,数据被读到DB7—DB0
R/W=“L”,E=“H→L”,DB7—DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7~14
DB0~DB7
H/L
8位数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)
20
K
VSS
背光源负端)
它与单片机的连接关系示意图如图8-19所示。
图8-19单片机与12864液晶的连接电路图
在图8-19中第3位V0为调整液晶偏压输入端,将V0连接到了一个3296标准封装的电位器(R10)的中间抽头处,通过电位器进行调整可以改变液晶的对比度,得到好的显示效果。
第15位是液晶数据传输模式的选择位,如果PSB接高电平则液晶工作在并行数据传输模式,如果PSB接低电平则液晶工作在串行数据传输模式。
此位连接到了跳线座J1的第2脚,J5的第1脚与VCC连接,第3脚与GND连接,可以使用短路帽来决定PSB连接到那一种电平。
第17位是液晶的复位端,此端口直接与VCC相连,上电后液晶模块自动完成复位功能。
8)1602液晶接口电路
1602液晶也称为1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5x7或者5x11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,能够同时显示16*2即32个字符,即16列2行。
其管脚功能如表8-3所示。
表8-31602液晶管脚功能表
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0~+5V
电源正
3
VEE
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7—DB0为显示数据
RS=“L”,表示DB7—DB0为显示指令数据
5
R/W
H/L
R/W=“H”,E=“H”,数据被读到DB7—DB0
R/W=“L”,E=“H→L”,DB7—DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号,高电平有效
7
DB0~DB7
H/L
8位数据线
15
A
VDD
背光源正端(+5V)
16
K
VSS
背光源负端)
1602液晶接口与单片机的连接关系示意图如图8-20所示。
其中VEE是调整液晶偏压输入端,已连接了一个3296型电位器(R11)的中间抽头处,可以手动调整液晶偏压改变对比度。
图8-20单片机与1602液晶的连接图
9)数码管电路
本开发板数码管电路由六个共阴极的数码管构成,通过动态扫描的方式保证六个数码管可以稳定显示。
因为MSP430F149是一款低功耗的单片机、其IO端口的驱动能力十分有限,所有在数码管的段选信号、位选信号与单片机之间增加了两片74HC573,用作缓冲驱动,这样既可以正常驱动数码管又可以保护单片机的IO端口不会因为电流过大而损坏。
单片机与数码管的连接关系示意图如图8-21所示。
图8-21单片机与数码管的连接电路图
74HC573是8位锁存器,它有一个输出使能端OE,一个锁存使能端LE;在硬件电路设计中,将LE与GND连接,即保证输出跟随输入保持同步变化。
OE连接到了电平的通用IO口P6.4和P6.5,通过单片机的这两个端口的输出电平可以决定OE连接低电平还是高电平,从而可以控制74HC573是否输出信号,这样在不需要显示是关闭数码管电路,降低整个系统的功耗。
单片机的IO引脚与六位数码管的位选信号的对应关系如表8-4所示
表8-4六位数码管的位选信号定义
位选信号
LED1
LED2
LED3
LED4
LED5
LED6
单片机引脚
P5.0
P5.1
P5.2
P5.3
P5.4
P5.5
位选信号为低电平有效,即相应的IO输出低电平时对应的数码管被点亮。
单片机的IO引脚与六位数码管的段选信号对应关系如表8-5所示。
表8-5六位数码管的段选信号定义
段选信号
a
b
c
d
e
f
g
dp
单片机引脚
P4.0
P4.1
P4.2
P4.3
P4.4
P4.5
P4.6
P4.7
段
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MSP430 单片机 最小 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)