MSP430单片机最小系统

更新时间:2024-03-20 16:52:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第八章MSP430F249单片机最小系统

8.1 MSP430单片机下载方式

当单片机程序利用IAR开发环境编译和proteus仿真通过以后,还需要把程序生成的二进制代码烧录进单片机内部闪存中运行,这个过程称为下载或者编程。MSP430单片机支持多种FLASH编程方法: BSL和 JTAG。其中BSL是启动加载程序(BootStrap Loader)的简称,该方法允许用户通过标准的RS-232串口访问MSP430单片机的FLASH和RAM。在单片机的地址为 (0C00H-1000H)的ROM区内存放了一段引导程序,给单片机的特定引脚加上一段特定的时序脉冲,就可以进入这段程序,让用户读写、擦除FLASH程序。通过BSL无条件擦除单片机闪存,重新下载程序,还可以通过密码读出程序。

另外一种下载程序的方式为JTAG(Joint Test Action Group ,联合测试行动小组 ), JTAG是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。标准的 JTAG 接口是 4 线:TMS、TCK、 TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。目前 JTAG 接口的连接有两种标准,即14 针接口和20 针接口,MSP430单片机使用的是14针的接口,其定义分别如表8-1所示。

表8-1 14针JTAG接口定义引脚名称描述 管脚编号 功能说明 2 、4 VCC 电源 9 G ND 接地 11 nTRST 系统复位信号 3 TDI 数据串行输入 7 TMS 测试模式选 9 TCK 测试时钟 1 TDO 测试数据串行输 6、8、10、12 NC 未连接 下面分别介绍BSL和JTAG方式下编程器设计,可以用在实际系统编程中。

8.2 BSL编程器原理

启动程序载入器(BootStrap)是一种编程方法,允许通过串行连接和MSP430通讯,在Flash Memory 被完全擦除时也能正常工作。MSP430的启动程序载入器(Bootstrap)在单片机正常复位时不会自动启动,当需要对单片机下载程序代码时候,对RST/NMI和TEST引脚设置特殊的顺序。当MSP430单片机的TEST引脚为低电平而RST/NMI引脚有上升沿时,用户程序从位于内存地址0FFFEh复位向量开始执行,用户程序正常启动,如图8-1所示

1

图8-1 MSP430单片机正常启动复位时序信号

当TEST引脚出现至少两个跳变沿,当TEST为高电平而RST引脚出现高电平,如图8-2所示启动程序载入器(Bootstrap)所需的时序时,单片机进入启动程序载入器工作方式。

图8-2 MSP430单片机进入BSL时序信号

使用TEST和RST/NMI脚调用启动程序载入器(BootStrap)后,通讯可以用一个标准的异步串口协议确定。用MSP430的P1.1口 BSLTX 传输数据,P2.2口 BSLRX 接收数据。UART设置为波特率9600,8位数据位,偶校验,1位停止位。详细的通信协议细节请参考TI的数据手册。考虑到大部分计算机已经没有独立的串行口,必须利用USB接口实现BSL功能,下面介绍一种USB接口的BSL下载器的硬件设计。如图8-3所示。

图8-3 USB接口BSL下载器原理图

图8-4 3.3V电源电路图

图8-3 中USB插座的1、2、3、4脚分别为5v电源,D-和D+差分信号线,地线。5、6脚为插座外壳接地引脚。电脑可通过1脚提供5V电源,由于PL2303

2

为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-5 IAR生成MSP430-txt编程文件配置

2)打开MSPFET 软件,做如下设置,如图8-6所示,并选择芯片型号为MSP430F149。

3

图8-6 MSPFET配置

打开编程txt文件,首先,点击ERASE 擦除芯片上原有的程序;第二步,点击PROGRAM即可下载,如图8-7所示。

图8-7 MSPFET下载示意图

8.3 JTAG下载器电路

通过电脑的并行端口实现MSP430单片机的JTAG端口编程和调试,对于初学者是一种成本较低的方案,下面介绍用电脑的并行口实现JTAG编程,但是在

4

用JTAG烧断保密熔丝后,要再想修改闪存程序,就只能用BSL方法了。

图8-9 IAR的调试器配置

图8-8 并口JTAG下载器电路原理图

图8_8中,74HC244为一颗8通道缓冲芯片,将A1~A8缓冲输出到Y1~Y8,JP4为标准的14芯MSP430单片机的JTAG接口。通过该接口通过14芯排线连接到单片机开发板的JTAG插座,即可实现单片机程序的下载和实时仿真调试功能。具体设置如下,在IAR软件中右键单击project中的工程名,选择options->Debugger,在Driver选项中选择FET Debugger,如图8-9所示。

5

图8-10 IAR的FET调试器并口配置

然后在图8-10 中选择FET Debugger,选择connection中的Texas Instrument LPT-I。即选择电脑的并口作为下载口,确定后即可开始程序的下载和调试。

8.4 MSP403F149单片机最小系统设计

前面的章节中,我们主要采用MSP403F249作为仿真器件详述了单片机内部功能和外部扩展电路的设计和应用,本节主要介绍实用的单片机小系统开发板的硬件设计,可以作为单片机实验学习使用。在选择单片机型号时,由于市面上MSP403F149较为常用且购买容易,且与MSP403F249功能基本相同,管脚也兼容,因此选择MSP403F149作为单片机最小系统的主芯片。该单片机的特点如下:

? 1.8V~3.6V超宽供电电压

? 5 种低功耗模式,从standby 模式唤醒时间小于6μs ? 0.1uA RAM 保持 ? 0.8uA 实时时钟模式

? 2K RAM,60KB+256B Flash Memory(支持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)

6

? 标准的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-11 MSP430F149单片机电路

7

图8-12 MSP430F149电源电路

2)RS232串行口电路

这里选用MAX3232作为单片机串行口转换芯片,MAX3232 是一款 3.0V~5.5V 供电、低功耗的 RS232 收发器,支持高达1Mbps 的通信速率,仅需要四个 0.1uF 的电容作为外部元件即能工作。单片机与MAX3232 连接电路图如图8-13所示。

图8-13 MSP430F149与 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端分别为接收和发送

8

的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。同时将A和B端之间加匹配电阻,用来抑制信号反射,一般可选120Ω的电阻。

图8-14 MSP430F149与 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年之

9

前的闰年日期;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.048 V。单片机与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电路同时进行应用。如果不使用短路帽,则可以之间用电压表

10

12)ADC接口电路

MSP430F149 内部有一个12-Bit 的模数转换器,它对外提供8 路转换通道,对应通用IO的P6.0~P6.7引脚。在开发板使用了P6.0 对应的通道,它被连接到标号为R4的4.7K 电位器的第2 个引脚,通过转动电位器调节旋钮可以改变加载在P6.0 端口上模拟电压的大小。P6.1 端口可以通过设置跳线座J2 的1 脚和2 脚的连接关系决定是否连接到TLC5615的输出端。此外,单片机内置的ADC还支持外部参考电压输入,通过单排插针 P2可以连接外部参考电压。

13)蜂鸣器电路

因为单片机的IO电流驱动能力十分有限,所以开发板使用了一个 PNP 型三极管来驱动蜂鸣器。具体连接关系如图8-24 所示。如果P5.7 端口输出低电平,PNP 三极管将导通,蜂鸣器发声;如果 P5.7 端口输出高电平,PNP 三极管截止,则蜂鸣器被关闭。 当端口输出一定频率的信号时,可以得到如报警等所需的声音。

图 8-24 蜂鸣器电路原理图

16

本文来源:https://www.bwwdw.com/article/uso8.html

Top