1、1摘 要目前,我国已开发出一批具有自主知识产权的实时监控软件平台、先进控制软件、过程优化控制软件等成套应用软件,工程化、产品化有了一定突破,打破了国外同类应用软件的垄断格局。通过在化工、石化、造纸等行业的数百个企业(装置)中应用,促进了企业的技术改造,提高了生产过程控制水平和产品质量,为企业创造了明显的经济效益。本设计根据工业控制的现状和电控技术,智能控制技术,基于单片机控制的试验技术,设计完成简单的工业控制电路。系统硬件平台搭建本着为性能可靠,工作稳定,功能强大的总体设计原则,采用高性能低功耗的 MPS430 单片机为核心。由传感器、驱动器、继电器等常用工业控制设备作为主体。然后,应用 VB
2、 程序设计完成数据采集分析,同时使用 VB 程序自带串口设计控件,完成向单片机串口发送指令的设计。并应用 C 语言程序设计写出单片机控制程序,实现单片机对步进电机、直流电机的启动、停止、加减速、状态显示、电路继电器开路与断路的控制。最后,模拟工业控制的方式进行调试和演示。 关键词: MSP430F149;L297;L298N;上位机;2ABSTRACTAt present, our country has developed a with independent intellectual property rights of the real-time monitoring software
3、platform, advanced control software and process optimization control software engineering application software, etc, and product have breakthrough, broke the foreign similar applications of monopoly pattern. Through in chemical, petrochemical and papermaking of hundreds of enterprise (device), promo
4、te enterprises technical renovation, improve the production process control level and product quality, to create the obvious economic benefit.According to the design of the industrial control and intelligent control technology and electronic technology, based on single-chip microcomputer control tec
5、hnology, the design of the experiment of industrial control circuit is simple. With the system hardware platform for reliable performance, stable work, powerful design principle, the overall performance of low power consumption by MPS430 microcontroller as the core. By the sensor, drive, relays and
6、industrial control equipment as the main body. Then, VB programming complete data acquisition, VB program design, complete control own serial chip to send command. Design of serial C programming language application and single-chip microcomputer control procedures, realize the writing of stepping mo
7、tor chip, dc motor starting, stopping, deceleration, status, circuit breaker relays and continuity of control. Finally, simulation of industrial control way and demonstration debugging.Key Words:MSP430 F149; L297 N;L298 N;Place of honor machine;1 引言自 20 世纪 80 年代初期诞生至今,工业控制软件已有 20 年的发展历史。工业控制与上位机软件相结
8、合,是随着 PC 机的兴起而不断发展的。工业控制与上位机软件控制、多元化、低功耗、智能化、网络化、集成化是现代工业的发展趋势。3目前,我国已开发出一批具有自主知识产权的实时监控软件平台、先进控制软件、过程优化控制软件等成套应用软件,工程化、产品化有了一定突破,打破了国外同类应用软件的垄断格局。通过在化工、石化、造纸等行业的数百个企业(装置)中应用,促进了企业的技术改造,提高了生产过程控制水平和产品质量,为企业创造了明显的经济效益。2000 年“九五”国家科技攻关计划项目“大型骨干石化生产系统控制及计算机应用技术”通过了验收。 作为工控软件的一个重要组成部分,国内人机界面组态软件研制方面近几年取
9、得了较大进展,软件和硬件相结合,为企业测、控、管一体化提供了比较完整的解决方案。在此基础上,工业控制软件将从人机界面和基本策略组态向先进控制方向发展。由于先进控制和优化软件可以创造巨大的经济效益,因此这些软件也身价倍增。在世界范围内形成了一个强大的流程工业应用软件产业。因此,开发我国具有自主知识产权的先进控制和优化软件,打破外国产品的垄断,替代进口,具有十分重要的意义。 在未来,工业控制软件将继续向标准化、网络化、智能化和开放性发展方向。 42 系统设计2.1 设计要求1.步进电机的正反转,加减速控制2.直流电机的正反转,加减速控制3.继电器的闭合与断开控制 4.传感器的输入检测5.上位机进行
10、数据采集与显示6.电脑控制电路7.常用的工业控制演示2.2 开发设计思路根据工业控制的现状和电控技术,智能控制技术,基于单片机控制的试验技术,设计完成简单的工业控制电路。系统硬件平台搭建本着为性能可靠,工作稳定,功能强大的总体设计原则,采用高性能低功耗的 MPS430 单片机为核心。由传感器、驱动器、继电器等常用工业控制设备作为主体。然后,应用 VB 程序设计完成数据采集分析,同时使用 VB 程序自带串口设计控件,完成向单片机串口发送指令的设计。并应用 C 语言程序设计写出单片机控制程序,实现单片机对步进电机、直流电机的加减速、状态显示、电路继电器开路与断路的控制。最后,模拟工业控制的方式进行
11、调试和演示。2.3 系统方框图图 2-1 系统方框图53 MSP430F149 单片机3.1 MSP430F149 核心芯片简介图 3-1 MSP430F149 核心芯片MSP430 系列单片机是美国德州仪器(TI)1996 年开始推向市场的一种 16 位超低功耗的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。63.2 MSP430 单片机的发展MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于
12、它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆 MSP430 系列单片机的发展过程,可以看出有这样三个阶段: 开始阶段 从 1996 年推出 MSP430 系列开始到 2000 年初,这个阶段首先推出有 33X 、 32X 、 31X 等几个系列,而后于 2000 年初又推出了 11X 、 11X1 系列。 MSP430 的 33X 、 32X 、 31X 等系列具有 LCD 驱动模块,对提高系统的集成度较有利。每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的价格昂贵,运行环境温度
13、范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。 2000 年推出了 11X/11X1 系列。这个系列采用 20 脚封装,内存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。 这个时期的 MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有 33X 系列才具备。 33X 系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时, 33X 并不一定是
14、最适合的。而片内高精度 A/D 转换器又只有 32X 系列才有。 寻找突破,引入 Flash 技术 随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 MSP430 系列中。在 2000 年 7 月推出 F13X/F14X 系列,在 2001 年 7 月到 2002 年又相继推出 F41X 、 F43X 、 F44X 这些全部是 Flash 型单片机。 F41X 单片机是目前应用比较广的单片机,它有 48 个 I/O 口, 96 段 LCD 驱动。 F43X 、 F44X 系列是在 13X 、 14X 的基础上,增加了液晶驱动器,将驱动 LCD 的段数由 3XX 系列的最多 120
15、 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。 MSP430 系列由于具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是 TI 公司推出具有 Flash 型存储器及 JTAG 边界扫描技术的廉价开发工具 MSP-FET430X110 ,将国际上先进的 JTAG 技术和 Flash 在线编程技术引入 MSP430 。 这种以 Flash 技术与 FET 开发工具组合的开发方式,具有方便、廉价、7实用等优点,给用户提供了一个较为理想的样机开发方式。 另外, 2001 年 TI 公司又公布了 BOOTSTRAP LOAD
16、ER 技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性,口令可达到 32 个字节的长度。 蓬勃发展阶段 在前一阶段,引进新技术和内部进行调整之后,为 MSP430 的功能扩展打下了良好的基础。于是 TI 公司在 2002 年底和 2003 年期间又陆续推出了 F15X 和 F16X 系列的产品。 在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将 RAM 容量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。这样一来,希望将实时操作系统( RTOS )引入 MSP430 的,
17、就不会因 RAM 不够而发愁了。二是从外围模块来说,增加了 I 2 C 、 DMA 、 DAC12 和 SVS 等模块。 在 2003 年中, TI 公司还推出了专门用于电量计量的 MSP430FE42X 和用于水表、气表、热表上的具有无磁传感模块的 MSP430FW42X 单片机。我们相信由于 MSP430 的开放性的基本架构和新技术的应用,新的 MSP430 的产品品种必将会不断出现。3.3 MSP430 单片机的特点MSP430 系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。 强大的处理能力 MSP430 系列单片机是一个 16 位的单片机,采用了精简指令集(RISC)
18、结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。 在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用
19、时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。 超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电8源电压及灵活而可控的运行时钟方面都有其独到之处。 首先, MSP430 系列单片机的电源电压采用的是 1.83.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。 其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( FLL 和 FLL+ )时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器( 327
20、68Hz ) , 有的使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式( AM )和五种低功耗模式( LPM0LPM4 )。在等待方式下,耗电为 0.7uA ,在节电方式下,最低可达 0.1uA 。 系统工作稳定。上电复位后,首先由 DCOCLK 启动 CPU ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体
21、振荡器在用做 CPU 时钟 MCLK 时发生故障, DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗( WDT )、模拟比较器 A 、定时器 A ( Timer_A )、定时器 B ( Timer_B )、串口 0 、1( USART0 、1 )、硬件乘法器、液晶驱动器、 10 位 /12 位 ADC 、16 位 Sigma-Delta AD、直接寻址模块( DMA )、端口 O ( P0 )、端口 16 ( P1P6 )、基本定时器( Basic Timer )等的一些外
22、围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B )具有捕获 / 比较功能,大量的捕获 / 比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线; P0 、 P1 、 P2 端口能够接收外部上升沿或下降沿的中断输入; 12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接
23、驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 IIC 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输( DMA )模块。 MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 9方便高效的开发环境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序
24、到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。 MSP430 单片机目前主要以 FLASH 型为主。 1.适应工业级运行环境 MSP430 系列器件均为工业级的,运行环境温度为 -40+ 85 摄氏度 ,所设计的产品适合用于工业环境下。2.同其它微控制器相比 MSP430 系列可以大大延长电池的使用寿命。3.6us 的启动时间可以使启动更加迅速。 4.ESD 保护,抗干扰力强。 5.低电压供电。 6.多达 64KB
25、寻址空间,包含 ROM、RAM 闪存 RAM 和外围模块。将来计划扩大至 1MB。 7.通过堆栈处理,中断和子程序调用层次无限制。 8.仅 3 种子令格式,全部为正交结构。 9.尽可能做到 1 字/指令。 10.源操作数有 7 种寻址模式,目的操作数有 4 种寻址模式。 11.外部中断引脚:I/O 口具有中断能力。 12.中断优先级:对同时发生的中断按优先级别处理。13.嵌套中断结构:可以在中断服务过程中再次响应其它中断。14.外围模块地址为存储器分配:全部寄存器不占用 RAM 空间,均在模块内。定时器中断可用于事件计数、时序发生、PWM 等。 15.看门狗功能。 16.A/D 转换器(10
26、位或更高精度)。 17.正交指令简化了程序的开发:所有指令可以用任意寻址模式。 18.已开发了 C-编译器。19.模块设计思想:所有模块采用存储器分配。 20.MSP430 全部为工业级 16 位 RISC MCU。103.4 MSP430 与 89C51 系列的比较我国的多数读者对 89C51 系列的单片机是很熟悉的,为了加深对 MSP430系列单片机的认识,我们不妨将两者进行一下比较。 首先,89C51 单片机是 8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有 111 条指令。而 MSP430 单片机是 16 位的单片机,采用了精简指令集( RISC )结构,只有简
27、洁的 27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。 其次,89C51 单片机本身的电源电压是 5 V,有两种低功耗方式:待机方式和掉电方式。正常情况下消耗的电流为 24mA ,在待机状态下,其耗电电流仍为 3mA ;即使在掉电方式下,电源电压可以下降到 2V,但是为了保存内部 RAM中的数据,还需要提供约 50uA 的电流。而 MSP430 系列单片机在低功耗方面的优越之处,则是 89C51 系列不可比拟的。正因为如此, MSP430 更适合应用于使用电池供电的仪器、仪表类产品中。 再者,89C51 系
28、列单片机由于其内部总线是 8 位的,其内部功能模块基本上都是 8 位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。 MSP430 系列其基本架构是 16 位的,同时在其内部的数据总线经过转换还存在 8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展 8 位的功能模块,还是 16 位的功能模块,即使扩展模/数转换或数/模转换这类的功能模块也是很方便的。这也就是为什么 MSP430 系列产品和其中功能部件迅速增加的原因。 最后,就是在开发工具上面。对于 89C51 来说,由于它是最早进入中国的单片机,人们对
29、它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于MSP430 系列而言,由于引进了 Flash 型程序存储器和 JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。3.5 应使用的多种 MSP430使用参数搜索为您的应用找到合适的 MSP430 产品。MSP430 产品系列类型描述。 MSP430F5xx 基于闪存的 MCU 提供 1.2 V 至 3.6 V 工作电压、高达 256kB11的闪存和最高 25MIPS 的时钟系统,内置 4 个 USCI 模块。 MSP430F4xx 基于闪存的
30、 MCU 提供 1.8 V 至 3.6 V 工作电压、高达 60kB 的闪存/ROM 和 8MIP(带有 FLL + SVS) 内置 LCD Driver。MSP430F2xx 基于闪存的 MCU 提供 1.8 V 至 3.6 V 工作电压、掉电复位及 16MIP(带有基本时钟)。MSP430F1xx 基于闪存/ ROM 的 MCU 提供 1.8 V 至 3.6 V 的工作电压、高达 60kB 和 8MIP(带有基本时钟)。MSP430 是一类现场 16 位数据线 FLASH 存储器的单片机,该单片机以丰富的片上资源,高速和高精度而深受广大单片机爱好者的青睐。而本设计充分利用其资源,实现了 A
31、/D 转换、多机通信、外存和实时时钟、PWM 波形的函数发生器、比较器测量、定时器的捕获测量周期、8M 方波产生、硬件乘法器等等。通过设计的 PCB 板,可以应用到大量的工业自动控制中,实现低功耗、低辐射、低污染的控制。3.6 开发环境及程序下载开发环境:在 EW23 环境下进行编程,汇编,连接,在 CSPY 环境下进行调试,下载是在连接之后,调试之前,通过计算机的串口下载的。关于环境的操作,可以参考有关资料,其中可能遇到的问题及解决方法有: 1.汇编是对源程序而言的,因此必须打开一个源文件才能汇编,而连接是对一个工程文件而言的,连接是对工程文件的所有源代码(包括多个源文件)和数据的定位,因此
32、连接必须打开一个工程文件才能连接。 2.连接中必须将库文件的路径改正确,且必须选定 CSPY 的驱动方式,即在project 中的 options 的 xlink 的 include 下修改(先选中)xcl 的库路径为 $TOOLKIT_DIR$icc430msp430F149A。xcl ,选择 CSPY 的驱动 drive 为simulator 或 FLASH EMULATION TOOL ,当没连接 430 片子时可以选 simulator,当连接 430 片子时,选 FLASH EMULATION TOOL 进行在线下载调试。 3.由于 430 支持汇编语言和 C 语言两种语言,因此可以
33、在一个工程文件 中同时用两种语言,但建议用汇编语言,因为便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。 4.在在线的 CSPY 的调试中,单步需要将 Control 的 Reatime 前的勾取消才能进行单步测试。 5.在线调试时,不能将 58 管脚(复位/非屏蔽中断)外部变高,否则,会强制退出调试环境。 12程序下载原理及脱机工作原理:程序的在线调试是通过 JATG 口和 F149 片子的 RST、TCK、TDI、TDO、TMS 引脚按一定的时序串行的传递程序代码和数据的,调试指令的命令传递都是通过这些数据线和控制线传递的,其中的地址 0FFFEH 为复位向量的地址,它是程序遇到非屏
34、蔽中断和程序启动的首要地址,地址中存放的是程序段开始的首地址,因此必须把程序段的首地址标号表示在中断向量中或程序伪指令的开头位置,否则,连接时将会出错,具体的 表示方法在下一节中表示。程序的下载和在线调试的电源是通过计算机在 JATG 提供的,不须另外给加电源。3.7 MSP430F149 单片机的功能介绍3.7.1 MSP430F149 输入输出口MSP430F149 有 6 个 8 位的 P 口,其中 P1、P2 口占两个中断向量,共可以接 16 个中断源,还可以直接利用 P 口的输入输出寄存器,直接对外进行通信。因为所有的 P 口都是和其他外设复用的,因此在用端口之前都要用功能选择寄存器
35、选定所用的功能是外设还是 P 口,选定之后还要在方向寄存器中确定是是输出还是输入,我实验了一个程序,前部分是实现中断功能的程序,后部分为中断程序是实现直接用 P 口对外提供一个短脉冲的程序,在我们设计的开发板中,专门利用了 P 口的输入输出功能对外存 24WCXX 和实时时钟芯片 8563 的数据通过的存取 I2C 总线的读取和写入。还利用了 P 口向电池充电的开启电路。3.7.2 定时器及数模转换图 3-2 定时器及数模转换MSP430 中有两个 16 位定时器,还可以利用看门狗定时器。由于定时器的是 16 位的,则可以在秒数量级上定时,且具有 2 个中断向量,便于处理各种定13时中断。定时
36、器的应用在 F149 中具有举足轻重的作用,可以利用 MSP430F149中的定时器的比较模式产生 PWM(数字脉冲调制)波形,再经过低通滤波器产生任意函数的波形,也就是说,可以通过定时器的比较模式实现数模转换功能。另外,定时器还具有捕获模式,我们可以通过定时器的捕获功能实现各种测量,比如脉冲宽度测量,如果和比较器结合,还可以测量电阻、电容、电压、电流、温度等,可以这样说,只要能通过传感转换为时间长度的,都可以通过定时器的捕获定时功能实现值的测量。在开发板中,利用定时器,我们设计了一个PWM 滤波输出的函数发生器。另外,我们还利用定时器的捕获功能和比较器的比较功能测电阻和电容。比较器测电阻的实
37、验程序和时序: 程序和设计流图为 如图 3-2:3.7.3 时钟模块MSP430F149 的时钟可以自由选择,它包括一个内部 DCO 时钟和另外两个外部时钟,内部时钟的参数见参考资料,其中最高可达到 1042KHZ;外部可以接两个时钟,一个可接钟表晶振或标准晶振,另一个接最高时钟频率为 8MHZ 的晶振,8M是单片机的最高工作频率,对于晶振的选择,在参考资料一上介绍的很清楚,在此不在重复,对基础时钟的控制,只需要对相应的控制寄存器写入相应的控制位就可以产生需要的时钟,还可以从相应的端口测的时钟频率,我们做了一个实验,是控制内部时钟的,可以从 149 的端口上测的相应的频率,只要开启时钟频率之后
38、,时钟就继续存在到写入停止为止。3.7.4 USART 通信模块通用串行同步异步通信模块是为了使 MSP430F149 多机通信用的,通过USART 口连接 RS202 和 RS485 的驱动芯片可以实现单片机与计算机及其他的工作电平的匹配串行通信,由于 MSP430F149 具有两个通信口,因此可以分别用于RS202 和 RS485 的串行通信。MSP430 有同步和异步两种方式,每一种方式都有独立的帧格式和控制寄存器,只需要按照需要和帧格式写入相应的寄存器就可以实现多机通信。由于 MSP430 的波特率产生比较自由,因此异步通信模式用的比较多,在毕业设计中,我们只实验了异步通信模式,在异步
39、通信模式中,MSP430 的波特率的产生有很独特的方式,可以实现多种波特率的产生,可以克服其他单片机的波特率受限的缺点。另外,在异步模式中,又根据需要分为线路空闲多机模式和地址位多机模式,如果只是两机通信,线路空闲比较多,用线路空闲多机模式比较好,在开发板中有一个测试程序是实现通过 RS202 与计算机超级终端串行口相14连的测试程序,在此,不用多说,由于 MSP430 的波特率发生器比较特别,在此,我们着重讨论一下波特率发生器。波特率发生器是用波特率选择寄存器和调整控制寄存器来产生串行数据位定时。波特率=BRCLK/(UBR+(M7+M6+M5+M4+M3+M2+M1+M0),其中 BRCL
40、K 为晶振频率,UBR 为分频因子的整数,晶振频率除以波特率的整数部分,而调整位,是分别写在UMCTL 中的,如果置位,则对应的时序时间只能波特率分频器的输入时钟扩展一个时钟周期,每接受或发送一位,在调整控制寄存器的下一位被用来决定当前位的定时时间。协议的第一位的定时由 URB 加上 M0 决定,下一位由 UBR 加上 M1 决定,以后类推。而调整位取“0”还是“1”,取决于当前的分频因子与需要的分频因子的差距,如果大于 0.5 取“1”,如果小于 0.5 取“0”。3.7.5 比较器模块比较器的应用在 MSP430 中很广,可以做为可转换为电压的量的测量,如果加上定时器的捕获功能,比较器的用
41、途会更广,由于比较器的应用在定时器一章已有实验证明,在此不在多述,但有几点必须说明。 1.比较器属于硬件型的,虽然很准确,但由于有软件的控制,造成的时间误差可能很大。因此存在一段时间的振荡,这造成测量的误差大,不能很精确。 2.比较器的参考电平很方便,可以都自由加,但不能超过片子的最高电压3.3V ,否则不能正常工作。 3.比较器的应用还很多,可以很放心的用,在我们的开发板中,有比较器的输入端口,还加了电阻和稳压和嵌位的二极管对在高压和负压时的芯片保护。3.7.6 模数转换模块MSP430F149 单片机中集成了 14 路 12 位 A/D 转换,其中 8 路属于外部的信号转换,3 路是对内部
42、参考电压的检测转换,1 路是接温控的传感电压转换,每一路转换都有一个可控制的转换存储器,而且,参考电平和时钟源都是可选择的,可以外部提供的。这给使用上带来了很大的灵活性。原理上不同于一般积分和逐次比较等 A/D 转换原理,它的输入信号是加在 A/D 的电容网络上的,通过电容的充电来采样信号进行 A/D 转换的。其时序可以归纳为如图 3-3:A/D 转换的时序和具体的一些注意事项和参数,但有几点必须注意的地方: 1.由于 MSP430F149 是采用加载信号到电容上充电的采样,因此必须要给一定的采样时间以能到达一定的精度和时间的不溢出,否则会出现时间溢出的中断。据测定其采样开始之后需要 13 个
43、 ADC12CLK 周期延时。在实验时是采用的单步15才能比较精确的测量,在全速时需要延时才能测量,否则采样结果为 0。 2.在采样结束和转换的开始需要一个控制过程,这就是将 ADC12CTL0 的 ENC和 ADC12SC 同时置“1”,则表明采样结束和转换开始,在我们的测试中,是将ADC12CTL0 的控制位重复了一次以达到开始转换。 3.用外部参考电压时,转换公式为 NADC=4095*(VinVr-)/(Vr+Vr-)。 图 3-3 模数转换模块4.由于低三位是电阻性的,因此精度上需要多次测量取平均值。 5.如果采用外参考电压,则不能认为悬空为 0V,而必须要加一个电压,即使是 0v
44、也必须要加地,否则不能转换。 具体的 A/D 采样程序和结果在 PCB 测试中有比较详细的结果。 在这次毕业设计中,我们的主要任务是设计一个芯片的开发板,以能够供以后使用,考虑到 F149 的资源,我们的设计外围模块功能图为:图 3-4 外围模块功能图下面将分模块介绍各模块原理(标示见原理图)及调试程序和结果:外存16和实时考虑到单片机有时需要实时时钟和外存,因此本设计加了一个 8563 实时时钟芯片和 24WCxx 的片外存储,采用 I2C 总线结构传送数据和时钟,通过 P4.6 传送 SCL 时钟信号,P4.5 传送地址、控制、应答和数据信号。8563 接一个32767HZ 的晶振产生实时
45、时钟,R32、R31 是提拉电阻,以从 8563 和 24WCxx 中输出数据。由于本设计中只有一个片外存储,因此其芯片地址为1010000,8563 的读的芯片地址为 1010011,写地址为 1010010,关于 I2C 总线的帧结构为:图 3-5 帧结构图调试程序流图和帧结构的顺序一样,在这儿就不在重复,调试程序见设计程序。调试结果为:往外存中的 10000000 地址写入 10101010 字节数据后读出仍然为 10101010,表明对外存的读写正确。对 8563 的读写一样。对 I2C 总线的使用最重要的是时序的正确。这是编程最重要的一点。另外,对读信号时,要注意是启动后,先写片选地
46、址,再送写信号,等应答后送要读的地址,然后才是启动,之后是送片选地址,再送读信号,等应答之后才是地址上的数据。这与写时序是不一样的。3.7.7 485 和 232 通讯模块单片机通讯时需要转换电平,这就要 485 和 232 电平驱动,在开发板中,17我们用了 MAX202E 和 MAX485 芯片作为驱动,MAX202 芯片可以实现短距离的通信,是属于单端驱动方式,能将-15V+15V 的电压转换为 05V 的电压,速率能达到 20K,输出电流可达到 500mA,实现了 TTLEIA 电平的转换,由于 MAX202 芯片是全双工的,因此其使能引脚是全使能的,又由于 MAX202 芯片输出是
47、5v 的电压,而 430 芯片是 3V 电压,因此需要一个由 RM3 和 RM4 组成的分压电路,由于受430 内阻和 MAX202 输出电流的影响,当 RM3 和 RM4 分别取 2 千欧和 3 千欧时分压之后的电压刚好能达到的电压 3V,因此取 RM3 和 RM4 为 2 千欧和 3 千欧。注:RS232 电平规定为-3V -15V 为“1”,+3V+15V 为“0”。而 RS485 电平属于平衡电平,是通过两路的比较决定正负的,RU4 起连接两路的作用,但由于是半双工电路,因此需要使能端口,又由于 启动电平为大于 5V,因此需要加 CM1 和 RC7 的微分电路产生一个比较大的驱动使能信
48、号,当要使能时,P1.0 口发出一个“1”电平,则 CM1 和 RC7 的微分使输出到 MAX485 上的电平为一个尖峰信号,从而驱动。RM1,RM2 的分压电路和 RM3,RM4 的分压原理一样。MAX232 和 MAX485 分别接到 430 的 USART1 和 USART0 上,实现了多机通信。在调试中,我们是将 430 和计算机的超级终端相连实现的测试,原理为:图 3-6 通讯接口连接图18图 3-7 调试程序流图调试结果可以看出发送的正确性,也可以看出用 430 可以达到的波特率的任意性,很灵活实用。但调试中的注意为: 1.发送的字符最好为熟悉是字符,否则可能认为不正确而实际是正确
49、的,开始我们发送的是 FFH 字符,收到的是一个符号,我们还以为发错了,而当改为 31H时,收到 1 才知道发送正确。 2.在超级终端需要将流量控制改为“无”。 3.只有当波特率合适时才可能发生中断请求。 4.由于接收控制寄存器中没有时钟源的选定,因此需要在发送控制寄存器中确定时钟源。3.8 MSP430F149 单片机控制部分原理图见(附录四)194 控制部分介绍4.1 直流电机的控制部分4.1.1 恒压恒流桥式 2A 驱动芯片 L298NL298N 芯片脚图:图 4-1 L298N 芯片脚图L298 是 SGS(通标标准技术服务有限公司)公司的产品,比较常见的是 15脚 Multiwatt 封装的 L298N,内部包含 4 通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个 H 桥的高电压大电流双全桥式驱动器,接收标准 TTL 逻辑电平信号,可驱动 46V、2A 以下的电机。其引脚排列如上图中所示。L298N 的引脚 9 为 LOGIC SUPPLY VOLTAGE Vss,即逻辑供应电压。引脚 4为 SUPPLYVOLTAGE Vs,即驱动部分输入电压。 Vss 电压要求输入最小电压为4.5V,最大可达 36V;Vs 电压最大值也是 36V,但经过我的实验,Vs 电压应该比 Vss 电压高,否则有时会出现失控现象。