MSP430网络接口设计指南

MSP430网络接口设计指南
MSP430网络接口设计指南

MSP430网络接口设计指南

JY430_NET V1.01开发板使用说明感谢您选用了JY430_NET系列开发板,希望这款开发板能让您如虎添翼。

声明:本文档仅适用于第九单片机开发网的JY430_NET系列开发板

这款开发板的概况如下图所示:

1.使用 MSP430F149主MCU, 2K RAM, 60kflash, 48个I/O pin, 双uart 口, 8路12位A/D转换

2.TCP/IP接口采用工业级CS8900芯片

3.带有USB通信接口,适合使用笔记本的朋友进行调试。

4.主电路板带:

RS232双工通信接口DB9输出公座;

I2C 接口存储器一块(升级为铁电存储器FM24CL16)擦除寿命1亿次;

3.3V稳压集成电路采用高稳定度AS1117-3.3

数据口P4和所有多余I/O口引出,便于扩展

配有高频(HF)和低频(LF)两种晶振,可方便选择

各单元电路间有良好去耦合措施,大面积接地技术,电磁兼容性能良好

5.具有板载硬件实时钟PCF8563,并搭配电池,满足特定应用需要。

6.配备了硬件外置看门狗芯片MAX706,使得这个开发板可以长期进行稳定的使用,也可以直接作为产品板用于设备当中。

开发板供电采用了外界电源方式,使用+5V直流电源输入。为了维持稳定性,USB部分不作为供电输入。网络部分的+3.3V供电和232、USB接口部分的供电分别有一块LM1117负责,这样可以最合理的进行功耗的分配,整个电路板不会有任何器件发热,从而增强电路的可靠性。

本开发板搭配的网络部分程序有两个。其他程序均包含在内。

本文档用于大连酒游科技有限公司(第九单片机开发网 https://www.360docs.net/doc/e12321208.html,)的MSP430以太网开发板。

如有不明,请联系QQ:15532299 也可在第九单片机开发网相关栏目下边进行提问。

开发板的默认IP为192.168.1.190;子网掩码:255.255.255.0;网关设置为:192.168.1.1.

您可以根据您所在的局域网设置进行修改。

修改之后,连接交换机,在windows中进行最基本的探测,看电路是否可以ping通。通过开始–> 运行 -> ping 192.168.1.190 -t

看回应是否正常。

联通之后,将例程“CS8900A_UDP_UART”中的程序写入到开发板中。

这个程序完成了将一组数据的第3个到第7个数据透明传输到串行接口上去。

例如,通过UDP调试助手,向目的IP(192.168.1.190)的一个固定端口(程序中为UDPLocalPort = 1002;)

然后选择

设置结束,可以发数据了。

发送数据(5512345 或 16进制 35 35 31 32 33 34 35)

CS8900会接收到UDP数据,然后产生一个状态标志位,MSP430在扫描标志位的时候,会得知有数据需要接收。

if (!(SocketStatus & SOCK_ACTIVE)) TCPPassiveOpen(); DoNetworkStuff();

在DoNetworkStuff();函数里有下面的程序。

if (ActRxEvent & RX_OK)

{

if (ActRxEvent & RX_IA) ProcessEthIAFrame();

if (ActRxEvent & RX_BROADCAST) ProcessEthBroadcastFrame();

}

程序会执行ProcessEthIAFrame();函数,并且在这个函数里进行IP确认、端口确认,协议分类等工作。

if ((MyIP[0] == TargetIP[0]) && (MyIP[1] == TargetIP[1])) switch (ProtocolType) {

case PROT_ICMP :

ProcessICMPFrame();

break;

case PROT_TCP :

ProcessTCPFrame();

break;

case PROT_UDP :

ProcessUDPFrame();

break;

}

然后,UDP包使用ProcessUDPFrame()函数进行数据读出。

经过解包,MSP430会得到这组数据,将数据存放到数组UDPData中。if (UDPSegDestPort != UDPLocalPort) return;

UDPCode = ReadFrameBE8900();

UDPCarck = ReadFrameBE8900();

UDPData[4] = ReadFrameBE8900();

UDPData[3] = ReadFrameBE8900();

UDPData[2] = ReadFrameBE8900();

UDPData[1] = ReadFrameBE8900();

UDPData[0] = ReadFrameBE8900();

UDPSegDestPort = ReadFrameBE8900();

再置上SOCK_DATA_AVAILABLE、SOCK_TX_BUF_RELEASED两个标志位。

SocketStatus |= SOCK_DATA_AVAILABLE;

SocketStatus |= SOCK_TX_BUF_RELEASED;

然后,在主程序中,通过如下程序的执行。

if(SocketStatus & SOCK_DATA_AVAILABLE)

{

for(unsigned int i=0;i<5;i++)

{

RX_DATA[(2*i)]=UDPData[4-i];

RX_DATA[(2*i)+1]=UDPData[4-i] >> 8;

}

if (SocketStatus & SOCK_TX_BUF_RELEASED)

{

TCPTxDataCount = 10;

while (!(IFG2 & UTXIFG1));

TXBUF1=RX_DATA[3];

while (!(IFG1 & UTXIFG0));

TXBUF0=RX_DATA[3];

while (!(IFG2 & UTXIFG1));

TXBUF1=RX_DATA[2];

while (!(IFG1 & UTXIFG0));

TXBUF0=RX_DATA[2];

while (!(IFG2 & UTXIFG1));

TXBUF1=RX_DATA[5];

while (!(IFG1 & UTXIFG0));

TXBUF0=RX_DATA[5];

while (!(IFG2 & UTXIFG1));

TXBUF1=RX_DATA[4];

while (!(IFG1 & UTXIFG0));

TXBUF0=RX_DATA[4];

while (!(IFG2 & UTXIFG1));

TXBUF1=RX_DATA[7];

while (!(IFG1 & UTXIFG0));

TXBUF0=RX_DATA[7];

}

SocketStatus &= ~SOCK_DATA_AVAILABLE;

}

把这5个数据输出至RS232和USB虚拟串口两个接口。

两个串口同时都会有数据输出,这个部分建议使用下面的串口调试工具

这个工具对USB转串口的芯片支持更好一些。

设置如下:(COM1和COM4的设置相同)

PC机通过串口调试助手可以接受到“12345”这几个数。

如果使用的是我们自己开发的“UDP通讯调试助手”,那么设置基本是一样的。可以参考下边的设置:

设置好之后,点击打开端口,会显示相关信息。

然后输入55+“待传数据”,即可发送

ProcessTCPFrame();

break;

case PROT_UDP :

ProcessUDPFrame();

break;

}

会转至ProcessTCPFrame();进行处理。

程序在这里进行了处理,根据不同的TCPIP动作,做了不同的分支判断。

当进行数据通信的时候执行的是

if ((TCPStateMachine == ESTABLISHED) ||

(TCPStateMachine == FIN_WAIT_1) ||

(TCPStateMachine == FIN_WAIT_2))

if (NrOfDataBytes) // data available?

if (!(SocketStatus & SOCK_DATA_AVAILABLE)) // rx data-buffer empty?

{

DummyReadFrame8900(6); // ignore window, checksum, urgent pointer CopyFromFrame8900(RxTCPBufferMem, NrOfDataBytes); // fetch data and

TCPRxDataCount = NrOfDataBytes; // ...tell the user...

SocketStatus |= SOCK_DATA_AVAILABLE; // indicate the new data to user TCPAckNr += NrOfDataBytes;

PrepareTCP_FRAME(TCPSegAck, TCPAckNr, TCP_CODE_ACK); // ACK rec'd data

//SocketStatus &= ~SOCK_DATA_AVAILABLE; // indicate the new data to user }

else

break; // stop processing here, we cannot send an // acknowledge packet as the received data // could not be passed to the app layer

那么能够看出来,从网络方面接收到的数据,都已经通过上面的程序存储在了RxTCPBufferMem寄存器中了。我们只要读取这里面的数据就能够知道收到了什么。

这个程序里还置位了标志位:SocketStatus |= SOCK_DATA_AVAILABLE;

而在主程序中,有如下的程序:

if(SocketStatus & SOCK_DATA_AVAILABLE)

{

for(unsigned int i=0;i<5;i++)

{

RX_DATA[(2*i)]=RxTCPBufferMem[i];

RX_DATA[(2*i)+1]=RxTCPBufferMem[i] >> 8;

}

if((RX_DATA[0]==0x35)&&(RX_DATA[1]==0x35))

{

if (SocketStatus & SOCK_TX_BUF_RELEASED)

{

TCPTxDataCount = 10;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS) = 0x3130;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 2) = 0x3332;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 4) = 0x3534;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 6) = 0x3736;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 8) = 0x3938;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_CODE_OFS) = SWAPB(0x5000 | TCP_CODE_PSH | TCP_CODE_ACK); // TCP header length = 20

BUF_From_PC[Command0] = RX_DATA[2];

RXD_From_PC[Data4] = RX_DATA[3];

RXD_From_PC[Data3] = RX_DATA[4];

RXD_From_PC[Data2] = RX_DATA[5];

RXD_From_PC[Data1] = RX_DATA[6];

RXD_From_PC[Data0] = RX_DATA[7];

Process_From_PC();

TCPTransmitTxBuffer();

}

}

SocketStatus &= ~SOCK_DATA_AVAILABLE;

}

我们使用了一个小小的协议字,如果收到的数据最开始的两个数是“5”的话(0x35 0x35),就将接受到的数据存储到RXD_From_PC中,这里的代码是原来产品的代码,写了一下,从接收到的数据里分别把命令字节、数据直接解析出来,然后存储到RXD_From_PC中,再调用Process_From_PC();函数进行处理和执行。

在这之前,已经通过ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS) = 0x3130;这样的函数,向发送缓冲区中写入了“0123456789”这串数字

TCPTxDataCount = 10;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS) = 0x3130;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 2) = 0x3332;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 4) = 0x3534;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 6) = 0x3736;

ACCESS_UINT(TxFrame1Mem, TCP_DATA_OFS + 8) = 0x3938;

再通过调用函数TCPTransmitTxBuffer();完成了向发送端回送数据的过程。

发送端调试窗口中会有下边的返回数据

用MSP430实现的嵌入式因特网终端设计

【摘要】本文详细描述了用TI公司的MSP430单片机实现嵌入式因特网终端的设计,包括硬件和软件两大部分。MSP430微控制器控制以太网控制器CS8900A实现本地局域网的功能,通过TC P/IP协议提供与因特网进行连接的应用接口,使用该应用接口,可以建立新的任务或改变现有的任务,实现与因特网中其它终端间的通信。在本文中,给出了硬件原理图,说明了部分模块的工作流程。

【关键词】因特网;MS P430;终端;以太网;TC P/IP

1. 介绍

计算机通信系统尤其是因特网在日常生活中的作用越来越重要,并且呈加速发展的趋势。如今,上网不再是个人电脑和网络工作站的专利,很多用微控制器(或称单片机)控制的嵌入式系统也成为了因特网网络节点中的一员,通常,这种嵌入式系统可称为嵌入式因特网终端。试想,如果通过网页浏览器,能够完成对远处的微控制器控制,并能够接收到微控制器采集的信号,那将给人们的生活带来很大的便利和极大地推动生产力的发展。打个比方,如果通过办公室的一台连接到因特网的电脑和安装在家里的嵌入式控制器,人们就可以了解到家里或者发生的一切,那么家居防盗等一系列问题将会等到很好的解决。

MSP430是由于TI(Texas Instruments,美国德州仪器公司)开发的16位微处理器,其突出的特点是强调低功耗,非常适用于各种低功率要求的应用,有多个系列和型号。由于其性价比比较高,所以,被广泛应用于家居自动化,医疗设备,安防系统,楼宇控制系统等许多领域当中。本因特网终端设计方案中使用的MSP430F149是TI公司于2000年增加的MS P430F1X中的一员。

2. 协议基础

ISO(Internet Standard Organization,国际标准组织)于1981年提出了OSI(Open System Interconnect,开放系统互连)七层网络模型。七层网络模型的最大优点是将服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务。

因特网采用的四层网络模型是OSI七层网络模型的一个子集,其具体的四层:应用层、传输层、因特网层和网络层,图1为因特网的四层网络模型与OSI七层网络模型的对应关系图。因特网模型通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。

图1OSI七层协议与因特网四层模型的对应关系

2.1 以太网(Ethernet)[1]

以太网是目前用得最广泛的一种局域网,它在因特网四层网络模型当中,属于网络层。以太网网络中的每个节点具有相同的访问网络的权利,它们之间对网络占用是通过具有冲突检测的载波监听多路访问( CSMA/CD )的方法来实现的。数据采用曼彻斯特编码,网络中的连接一般采用双绞线或同轴电缆。以太网中每个节点具有一个48位、唯一编号的地址。每帧数据的最大长度为1518个字节,第一个48位为目标地址,第二个48位为数据源地址,然后是2个字节的数据帧类型值,在数据帧的最后,自动生成4个字节的循环冗余码校验(CRC)值,用于保证数据帧的完整性。

2.2传输控制协议TC P(Transmission C ontrol Protocol)

TC P提供了一种可靠的数据流服务,尽管TC P是DARAP协议组中的一员,但它却有很大的独立性。它对下层网络协议只有最基本的要求,很容易在不同的网络上建成,因而非常流行。ISO/OSI运输层标准中的第四类TP-4就是以TC P 作为原型建立的。TC P可以在众多的网络上工作,可以提供虚拟电路服务和面向数据流的传输服务。用户数据可以有序而且可靠的传送。在一个分组可能发生丢失、破坏、重复、延迟或失序情况下,TC P服务可提供一种可靠的进程间通信机制,协议可以自动纠正各种差错。

2.3网际协议IP(Internet Protocol)

第三层最重要的协议是IP。它将多个网络联成一个互连网。IP的工作是将一个以上的报文处理网络联成一个网际网。IP的基本任务是通过网际网传送数据报,各个IP数据报之间是相互独立的。主机上的IP层基于数据链路层的服务向传

输层提供服务。IP从源运输实体取得数据,通过它的数据链路层服务传给目的主机的IP层。网关通过下一网络数据报传到目的主机或下一网关。

2.4地址转换协议AR P(Address Resolu tion Protocol)

在TC P/IP网络环境下,每个主机分配的组位IP地址只是一种逻辑地址,这样在传送时必须转换成物理地址,AR P 协议就是完成这一功能的。 AR P使主机可以找到同一物理网络中任一物理主机的物理地址,只需给出该主机的网际地址即可。可见,基本网络的物理编址对网络层服务是透明的。

2.5 其它协议

在因特网网络协议当中,还有其它相关的协议,如:反向地址转换协议R AR P(Reverse Address Resolu tion Protocol)、用户数据报协议UDP(User Datagram Protocol)、网际控制报文协议IC MP(Internetwork control Message Protocol)、超文本传输协议(hypertext transfer protocol)等,它们在因特网的数据交换当中都有什么重要的作用,本文限于篇幅,不一一详细介绍。

3. 硬件设计[1]

本设计中所用到的两个重要组件为TI公司的微处理器MSP430F149和Crystal公司的以太网控制器CS8900A,下面简单介绍一下这两个组件,再论述硬件实施方案。

3.1 MSP430F149[2]

MSP430F149具有60K字节的FLASH存储器和2K字节的R AM、看门狗定时器(Watchdog Timer)、6个8位的通用I/O口、12位A/D转换器、2个串行通信接口和1个硬件乘法器等。MSP430F149的60K字节FLASH存储器足以存储网页数据,6个通用I/O口既可以用来控制以太网控制器CS8900A,也可以用来执行其它的用户命令,12位A/D转换器可以用来在终端采集数据,然后再通过网络发给用户.

3.2 CS8900A[3]

CS8900A低功耗的以太网控制器,被广泛应用于工控机中。其高集成度的设计(在应用当中只需要极少的外围元件)和简单容用的总线接口,非常适用于本设计。目前,许多的以太网控制器都只提供PC I(周边元件扩展接口)接口,而CS8900A可以直接和微控制器相连,所以,可以MSP430F149的I/O口来直接对CS8900A进行控制,具体连接方式如图2所示。另外,CS8900A可以直接3V供电,这有利于和MSP430F149之间的电平匹配。

3.3 MSP430F149与CS8900A的接口

CS8900A有三种工作模式:I/O模式、存储器模式和直接存储器存储模式,默认为I/O模式,可通过程序使其工作于其它模式。CS8900A的各个工作模式各有优缺点,本设计当中,采用的是它的I/O模式。CS8900A共有8个16位的I/O口,这8个I/O口与片内的8个16位寄存器相对应。如图2所示,CS8900A采用8位的数据总线方式和MSP430F149的P5口相连,接口中共用到14个引脚。复位后,CS8900A默认选择I/O地址为0x300,并且一直保持该默认地址工作。

3.4 系统硬件原理

整个系统的硬件原理如图2所示,下面详细分析图中的各个模块。

CS8900A的XTAL1(97)引脚和XTAL2(98)引脚接一20MHz的晶振,由于其片内XTAL处集成了电容,所以,不需要外接电容。CS8900A的复位引脚为高有效,在芯片上电工作时,需要一个复位信号,这由R9和C17提供联合提供。CS8900A有两个不同的LED控制引脚:LANLED(100)引脚和LINKLED(99)引脚,用于控制LED以显示CS8900A的工作状态。LANLED引脚接一个红色LED(D1),当CS8900A接收或发送数据时,该引脚输出低电平,点亮红色LED。LINKLED接一个黄色LED(D2),当CS8900A和工作的以太网络连接时,黄色LED点亮。

和MSP430F149有关的电路,除了上述的和CS8900A连接的部分外,还有JTAG(Joint Test Action Group)接口、晶振和复位电路。其中,JTAG接口用于编程和调试,用一个14引脚的接头引出了TCK、TDI、TDO/TDI四个用于编程和调试的引脚,可直接和MSP430的调试工具FET(FLASH Emulation Tool)相连。用户也可以通过电平转换芯片MAX3221把MSP430F149的串行通信口也引出,以实现需要的功能。MS P430F149时钟电路部分,需要接一个8MHz的晶振和两个15pF的电容。

整个系统由3.3V的电源供电,绿色LED(D4)为整个系统的电源指示灯。为了系统扩展的需要,也可以把MSP430F149所有未用到的I/O引脚都用接头引出。

进行PCB(印制电路板)设计时,通过旁路电容滤波,以给MSP430F149和CS8900A提供稳压的电源信号。为了得到更好的系统性能和减小电磁干扰,最好能够把PCB布置为四层板。

3.5 CS8900A与局域网的接口

CS8900A片内集成了一个10M的以太网收发器,其片内集成了所有用于和局域网通信的模拟和数字电路,其可通过一个电磁隔离器E2023直接和局域网相连。电阻R1用于连接两根接收线,和两根发送线相连的电阻R2和R3则用于阻抗匹配。RJ45为网络接头,其可接10M或100的网络集线器(hub)。

4. 软件设计

本设计的软件部分主要分为四大部分:以太网模块、TC P/IP模块、API(应用程序接口)和HTTP(超文本传输协议)服务模块,全部程序用C语言编写(便于与其它微控制器系统的接口的扩展),并通过IAR Workbench for MSP430 V2.10编译。

4.1 以太网模块

以太网部分程序的主要作用是对以太网控制器CS8900A进行驱动、以函数的形式给其它模块提供读写CS8900A寄存器的接口、产生读写CS8900A的时钟等。以太网程序包含了网络接口的各种配置,其中,最重要的是,MAC(介质访问控制)地址的配置。MAC地址共48位,在程序中用6个无符号整型变量存储MAC地址值,每个MAC地址值必需为唯一的,并且不能是0xFFFFFFFFFFFF。

以太网控制器的配置过程如下:在系统上电后,首先调用函数Init8900()进行以太网控制器CS8900A的初始化配置,然后CS8900A被复位,MSP430F149把本机的MAC地址以配置序列字的形式发给CS8900A,CS8900A把MAC地址存储在寄存器中。配置完成后,MSP430F149就可以对CS8900A读写数据了。

4.2 TC P/IP模块

TC P/IP模块是整个系统软件的关键,定义了使用网络来收发数据的协议,使用以太网模块所提供的各种读写函数来接收或发送数据,并给应用层提供简单易用的API接口。

TC P/IP模块中,最重要的函数是DoNetworkStuff(),该函数的主要作用是进行TC P事件处理,应该周期性地被用户程序调用。在函数DoNetworkStu ff()中,定义了一些用于标志以CS8900A和MS P430F149工作状态的标志量,该函数的工作流程如图3所示。函数DoNetworkStuff()被调用得周期越短,系统执行TC P/IP协议的性能越好。

为了更好的协调接发和发送的数据,给TC P/IP模块在SRAM中分配了三个缓冲区,TxFrame1、TxFrame2和RxTC PBuffer。其中,TxFrame1的主要作用是给要发送的TC P数据帧(包括以太网、IP、TC P帧头)提供缓冲内存;TxFrame2的主要作用是给TC P非数据帧(包括以太网、IP、TC P帧头)和AR P、CIMP协议帧提供缓冲内存;RxTC PBu ffer给接收到的TC P数据提供缓冲内存。所分配的缓冲区越大,收发速度越快,因为这样可以减少因缓冲区不足造成的滞后。

可以通过主动或被动的方式调用函数TC PPassiveOpen()或TC PActiveOpen()建立网络通信连接。函数

TC PPassiveOpen()函数的作

用主要是用于检测到有数据包送入时,把数据包送入缓冲区,函数TC PActiveOpen()的主要作用是,把要发送的数据包送入缓冲区。在主动发送数据包之前,先设置要接收该数据包的MAC地址,并把本机地址包含进数据包。一旦连接建立完成,就可以开始发送数据,可以通过相应的接口函数读出连接的状态。当数据发送完毕,可以通过函数TC PClose()关闭连接。

在数据包收发的过程当中,不同的任务需要不同的处理时间,这个时间可以使用MSP430F149的定时器Timer_A来提供,不过必须注意的是,在使用定时器Timer_A之前,必须进行初始化,这点同使用其它微控制器是相似的。为了减少数据包发送不成功造成的错误,当接收机接收到数据后,其应当返回一个接收正确信号,当发送机超过设定时间,仍接收不到正确的接收信号时,TC P/IP模块自动进行数据包重发,这个过程可以通过相应的变量和函数来实现。

虽然,各个公司的软件处理TC P/IP协议的程序不尽相同,但幸运的是,各个公司在TC P/IP协议上的兼容性都非常好,因此,只要用户按照TC P/IP协议进行程序编写,不同的程序间的通信应该不存在多大的问题。

4.3 API(应用编程接口)

为了使用户既能够使用现在的应用,也能够建立适用自己要求的嵌入式应用,在整个软件的编制过程中,应当留一下API函数,以便于用户无需对TC P/IP协议有过多的了解也能够在原有程序的基础上进行二次开发。本软件充分考虑了这一点,给用户留出了很多AIP函数,主要的有,TC PClose()、TC PReleaseRxBuffer()和TC PTransmitTxBuffer()等。其中,函数TC PClose()的主要用处是用于关闭打开了的连接,在关闭连接之前,发送的数据包还留在发送缓冲区中以保证正确发送,连接关闭之后,用户要重新建立连接的话,必须重新设置IP地下、重新分配I/O口和重新建立连接。

TC PR eleaseR xBuffer()的主要作用是,在读出缓冲区的数据之后,调用此函数,无需再保存已正确读出的数据包,这样就可以腾出缓冲区用于存放新的数据包。用户可以使用函数TC PTransmitTxBuffer()通过已建立的连接发送数据,但是,在使用该函数前,用户要先检查SOCK_TX_BUF_RELEASED标志,确定是否有可用的发送缓冲区。本设计中,还提供了检查连接状态和收发状态的变量(标志),如SOK_AC TIVE、SOCK_CONNEDTED等。

4.4 HTTP应用

在进行以上的工作之后,用户就可以建立HTTP服务器,通过TC P/IP协议,实现不同的微控制器或工作站之间的通信。HTML(超文本链接标示语言)网页数据可以保存在MSP430F149的片内FLASH存储器中。网页能够完成接收数据、发送网页数据、关闭连接和等待其它应用进行连接等。并且,用户建立的网页,能够动态实时的进行数据更新。当然,无论是在普通计算机或微控制器上运行HTML网页应用程序,要实现和其它计算机进行通信,都必须如前所述,设置单

一、有效的MAC地址。

5. 结束语

随着网络技术的发展,需要进行网络连接和通信的微型嵌入式因特网终端越来越多,这不仅可以应用于日常生活中,也可以应用于许多工业现场,特别是在那些分散、共享数据或需要共享某些信息的工业现场嵌入式网络终端的技术优质

更加明显。此外,MSP430系列单片机的功耗非常低,很好的解决了在某些特殊场合下的电源问题。由此可见,本文所论述的设计方案具有很大的应用前景。

参考文献

[1] Texas Instru ments. MSP430 Internet C onnectivity[Z].2004.2

[2] Texas Instru ments. MSP430x13x, MS P430x14x, MS P430x14x1 MIXED SIGNAL MICROCONTROLLER[Z].2000.7

[3] Cirrus Logic. CS8900A Product Data Sheet[Z] .2001.4

MSP430单片机外围晶振设计选型及参考方案

MSP430单片机外围晶振设计选型及参考方案MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低MSP430单片机。它的功耗小、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。 该系列单片机多应用于需要电池供电的便携式仪器仪表中。本文主要讲解MSP430系列芯片外围晶振设计选型及注意事项等。 ---MSP430F149 MSP430系列芯片一般外搭两颗晶振:一颗主频晶振,通常在4~16Mhz中选择;另外一颗时钟晶振,即32.768Khz晶振,早期选用直插封装的,现在大部分采用贴片封装的产品,其一便于贴装,其二追求产品的稳定性和品质的可靠性等。

---应用电路 ---MSP430开发板 一、主频晶振的选择 通常MSP430芯片的主频晶振一般选择4Mhz的整数倍,即

4Mhz、8Mhz、16Mhz、32Mhz等。早期电路设计的时候一般选择成本较低的49S封装产品,现阶段越来越倾向于稳定性更好、体积更小、便于贴装的贴片3225封装产品,上海唐辉电子代理的日本KDS大真空公司推出的DSX321G和DSX320G\DSX320GE产品。 1、工业级、消费类产品用DSX321G8Mhz,如下图: 该型号产品封装为3.2mm*2.5mm,体积不到传统直插型49S封装的1/5,精度可达到20PPM,工作温度达到-40—+85°C的工业级,完全能够满足客户的要求。

简易计算器设计-msp430-C语言

简易计算器

目录 摘要…………………………………………………………………………………P3 关键字………………………………………………………………………………P3 一、设计要求………………………………………………………………………P3 二、方案论证与选择………………………………………………………………P3 2.1 单片机选择………………………………………………………………P3 2.2 LCD显示屏选择…………………………………………………………P3 2.3 键盘选择…………………………………………………………………P4 2.4 CPU工作方式选择………………………………………………………P4 三、系统实现………………………………………………………………………P4 3.1 硬件设计…………………………………………………………………P4 3.1.1系统框图……………………………………………………………P4 3.1.2 盘的电平设计以及与单片机的连接 键……………………………P5 3.2.3单片机与显示器的连接…………………………………………… P5 3.2软件设计…………………………………………………………………… P6 四、作品性能测试与分析…………………………………………………………P10 4.1试性能概览………………………………………………………………P10 4.2误差分析…………………………………………………………………P12

五、参考文献………………………………………………………………………P12 六、附录……………………………………………………………………………P13 6.1计算器功能介绍…………………………………………………………P13 6.2仿真电路图………………………………………………………………P13 6.3元件清单…………………………………………………………………P13 6.4原程序代码………………………………………………………………P14 摘要:本设计以低功耗单片机MSP430V136T、1602字符型液晶屏和4*4简易键盘为主要器件,来实现加、减、乘、除、开根号、平方、求倒数等运算。设计中分别采用P1口低4位和P2口低4位与键盘的行列线相连,用于采集中断信号并分析键值;键盘规格为4*4,由于所需的功能键数大于16,因此需要进行按键复用;单片机的P3口连接显示器的D0~D7端,用于输出显示数据或控制命令;选用P4口中的3、4和5口用于实现显示屏的控制功能:使能、控制/数

衡星MSP430F5529大作业报告

中国地质大学(北京)本科课程报告《电子电路设计与实践》 学生姓名衡星 院(系)地球物理与信息技术学院 专业测控技术与仪器 学号1010152213 2018 年3 月19 日 中国地质大学(北京)

第一章程序框图 说明: (1)“文字说明”的具体内容为:“当前A0~A7循环采集,串口发送a/b/c/d实现PWM 转换。按键P2.1通道转换,按键P1.1实现A0~A7通道循环采集。” (2)占空比不同的PWM波由P3.6通道输出。 (3)按键P2.1按x下后,“Ax通道循环采集并显示”,其中x取值1~8。当x>8时,x=x%8。 (4)所有显示均在串口助手窗口显示,串口波特率设置为115200。

课堂程序编写过程: 3月6日(周二):王猛老师在课堂上讲解大作业要求。 3月8日(周四):分发MSP430F5529单片机,并学习GPIO相关程序编写。 3月10日(周六):学习定时计数器、时钟功能,并完成“呼吸灯”和“时钟分频”等课堂函数编写。 3月15日(周四):学习中断、串口和ADC采集功能,完成“中断服务”等课堂函数编写。 3月17日(周六):完成“串口显示”和“测温环节”等课堂函数编写。 大作业程序编写过程: 3月17日(周六)15:00~16:00:仔细阅读《MSP单片机-验收标准》和相关PPT,确定整个程序的功能框图。 3月17日(周六)16:00~18:00:通过串口中断函数完成PWM波形输出与串口指令的连接功能,并通过串口调试助手验证了程序的准确性。 3月18日(周日)9:00~11:00:通过按键中断函数完成ADC八路循环采集和单路选择采集的切换功能,并通过串口中断函数将采集的数据输出,在串口调试助手页面进行了验证。 3月18日(周日)14:00~15:00:通过按键中断添加LED1与LED2的闪烁功能,为整个实验程序增添创意。 3月18日(周日)15:30~16:00:与钮学长就《MSP单片机验收标准》交换了意见。 3月18日(周日)19:00~21:00:完成《电子电路设计与实践》课程报告程序框图。 3月19日(周一)19:00~21:00:检查大作业程序,完成《电子电路设计与实践》课程报告。

MSP430单片机大作业 彩灯电子琴

彩灯电子琴 MSP430 May 27 2010 在MSP430单片机的大地上,上亿条数据急流在宽度仅几个原子的河道中以光速湍急地流着,它们在无数个点上会聚,分支,交错,生成更多的急流,在芯片大地上形成了一个无边无际的复杂蛛网。到处都是纷飞的数据碎片,到处是如箭矢般穿行的地址码;一个主控程序在漂行着,挥舞着无数支纤细的透明触手,把几千万个 飞快旋转着的循环程序段扔到咆哮的数据大洋中;在一个存贮器的一片死寂的电路沙漠中,一个微小的奇数突然爆炸,升起一团巨大的电脉冲的蘑菇云;一行孤独的程序代码闪电般地穿过一阵数据暴雨中,去寻找一滴颜色稍微深一些的雨点。这又是一个惊人有序的世界,浑浊的数据洪流冲过一排细细的索引栅栏后,顷刻变成一片清澈见底的平静的大湖;当排序模块像幽灵似地飘进一场数据大雪时,所有的雪花在千分之一秒内突然按形状排成了无限长的一串……在这0和1组成的台风暴雨和巨浪中,只要有一个水分子的状态错了,只要有一个0被错为1或1被错为0,整个世界就有可能崩溃。这是一个庞大的帝国,在我们眨一下眼的时候,这个帝国已经历了上百个朝代,但从外面看去,它只是一个银色立方箱体。 曹哲0710200310 同组人: 郭宁张颖

目录 1 引言 (1) 2 系统总体设计 (2) 2.2系统各组成部分及功能原理介绍 (2) 2.3系统结构框图 (2) 3 系统硬件设计 (3) 3.1电源模块 (3) 3.2键盘模块 (3) 3.3LED显示模块 (4) 3.4发声模块 (4) 4 系统软件设计 (4) 4.1系统软件结构流程图 (4) 4.2键盘扫描程序设计 (4) 4.3发声程序设计 (7) 4.4亮灯程序设计 (7) 5 系统调试与结果分析 (8) 5.1系统调试步骤 (8) 5.2遇到的问题及解决方案 (8) 5.3实验结果及系统展望 (9) 6 心得体会 (9) 参考文献 (10)

北京邮电大学课设 基于MSP430的简单信号发生器的设计

基于MSP430的信号发生器 设计报告 学院:电子工程学院 班级:2013211212 组员:唐卓浩(2012211069) 王旭东(2013211134) 李务雨(2013211138) 指导老师:尹露

一、摘要 信号发生器是电子实验室的基本设备之一,目前各类学校广泛使用的是标准产品,虽然功能齐全、性能指标较高,但是价格较贵,且许多功能用不上。本设计介绍一款基于MSP430G2553 单片机的信号发生器。该信号发生器虽然功能及性能指标赶不上标准信号发生器,但能满足一般的实验要求,且结构简单,成本较低。本次需要完成的任务是以MSP430 LaunchPad 的单片机为控制核心、DAC 模块作为转换与按键电路作为输入构成的一种电子产品。MSP430 LaunchPad 单片机为控制核心,能实时的进行控制;按键输入调整输出状态,DAC0832将单片机输出的数字信号转化为模拟量,经运放放大后,在示波器上输出。在本次程序设计中充分利用了单片机内部资源,涉及到了中断系统、函数调用等。 关键字:信号发生器 MSP430单片机数模转换 二、设计要求 以msp430单片机为核心,通过一个DA (数字模拟)转换芯片,将单片机输出的方波、三角波、正弦波(数字信号)转换为模拟信号输出。提供芯片:msp430G2553、DAC0832、REF102、LM384、OP07。参考框图如下: Lauchpad MSP430 电位器 按键1 DA 转换DAC0832 放大输出LM384 按键N 按键2 AD …… 图1 硬件功能框图 1、基本要求 (1) 供电电压 VDD= 5V~12V ;(√) (2) 信号频率:5~500Hz(可调);(√) (3) 输出信号电压可调范围:≥0.5*VDD ,直流偏移可调:≥0.5*VDD ;(√) (4) 完成输出信号切换;(√) (5) 方波占空比:平滑可调20%~80%;(√) (6) 通带内正弦波峰峰值稳定度误差:≤±10%(负载1K )。(√)

MSP430FW427中文数据手册

MSP430xW42x混合信号微控制器 ●低电源电压范围:1.8V…3.6V ●超低功耗: -活动模式: 200 μA (1 MHz, 2.2 V) -等待模式:0.7 μA -关断模式(RAM保持):0.1 μA ●五种省电模式 ●6微秒内从等待状态唤醒 ●锁频环,FLL+ ●16位精简指令结构,125纳秒指令时间周期 ●应用于水、热和气体仪表的体积流量测量的SCAN-I/F单元 ●带有三个捕捉/比较寄存器的16位定时器Timer_A ●带有五个捕捉/比较寄存器的16位定时器Timer_A ●集成96段LCD驱动器 ●片内比较器 ●串行片上编程,无需外部编程电压,可编程的安全熔丝代码保护 ●FLASH器件具有程序装载器(BSL) ●系列成员包括: MSP430CW423: 8KB ROM存储器, 512B RAM MSP430CW425: 16KB ROM 存储器, 512B RAM MSP430CW427: 32KB ROM 存储器, 1KB RAM MSP430FW423: 8KB Flash存储器, 512B RAM MSP430FW425: 16KB Flash存储器, 512B RAM MSP430FW427: 32KB Flash存储器, 1KB RAM ●64引脚Quad Flat Pack(QFP)封装 ●完全的模块描述请参见: MSP430x4xx系列用户指南,文献号:SLAU056 说明 德州仪器公司的MSP430系列超低功耗微控制器由几个针对水、热和气体仪表等不同应用目标的片上系统(System-on-chip)具有不同外围设备的芯片系列组成。MSP430微控制器采用低功耗设计和16位精简指令结构,CPU内置16位寄存器以及常数发生器,能够实现最高的代码效率。锁频环FLL+和数控振荡器使得微处理器能在6微秒内从低功耗模式快速切换到工作模式。MSP430xW42x系列配置有两个内置16位定时器、一个比较器、一个SCAN接口模块、96段LCD驱动器和48个I/O引脚的微控制器。 MSP430的典型应用包括热量仪表、热水和冷水仪表、气体仪表和工业传感器系统。定时器支持额外的计数器应用、射频位流操作、IrDA和M-Bus通讯。

基于MSP430的电子密码锁设计

基于MSP430的电子密码锁设计 一、预期性能指标 1、(1)密码通过键盘输入,若密码正确,则将锁打开。 (2)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示, 若密码输入错误次数超过 3 次,LED红灯亮并且锁定键盘。 2、密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能: (1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数 码管上,再输入时显示数码管向右移动一个。 (2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除 所有显示。 (3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果 正确锁打开,否则不打开。 二、工作原理 1、工作原理概述 利用MSP430单片机灵活的编程设计和丰富的I/O端口,及其控制的准确 性,实现基本的密码锁功能。此次课程设计是以以前学过的msp430F149 单片机为核心,加上一些外围模块来实现电子锁应该具有的基本功能。单片机灵活的编程设计和丰富的IO 端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能,为其功能的扩展提供便利。由于条件的限制此次实验只实现其基本功能,锁的开启关闭与锁定以二极管的发光来模拟,密码的输入用4X4 键盘替 代,功能键用键盘上对应的10 以后的数字代替,这实现了在条件有所限制的情况下以有限的资源模拟电子锁的功能。输入密码用矩形键盘,包括数字键和功能键。 LED 数码管显示输入密码,用uln2003A 驱动数码管发光且控制哪一位显示数码,用430 的P4 脚控制各位显示器分时进行显示。用发光二极管代

替开锁的电路,发光表示开锁锁定。输入密码错误次数超过3 次,系统 蜂鸣器响,发出警报。打开电源后,显示器显示“0000”,设原始密码为 “1234”,只要输入此密码便了开门。这样可预防停电后再来电时无密码 可用。按“C”键,清除显示器为“000000”。欲重新设定密码,先输入密码在案“*”。输入密码,再按“D”键。若密码与设定密码相同,则开门。 否则显示器清为“0000”。 软件的设计主要包括键盘键值的读取,LED 显示程序,密码比较程序和报警程序 2、设计方案与原理框图 (1)主要的设计实施过程: 第一步,选用 msp430单片机,以及选购其他电子元器件(电阻(100欧、150欧、2K欧等)、发光二极管、三极管、数码管(阴极)、ULN2003AG 芯片、按键、电线、PADS9.3软件、MATLEB软件、焊接电路板一 块)。 第二步,使用PADS9.3软件设计硬件电路原理图,并设计 PCB图完成人工布线。 第三步,焊接电路 第四步,MATLEB软件编写单片机的 C 语言程序、仿真、软件调试。 第五步,联合软、硬件调试电路板,完成本次设计。 (2)原理框图: 3、原理框图的说明

MSP430中文数据手册

MSP430混合信号微控制器数据手册产品特性 ●低电压范围:2.5V~5.5V ●超低功耗 ——活动模式:330μA at 1MHz, 3V ——待机模式:0.8μA ——掉电模式(RAM数据保持):0.1μA ●从待机模式唤醒响应时间不超过6μs ●16位精简指令系统,指令周期200ns ●基本时钟模块配置 ——多种内部电阻 ——单个外部电阻 ——32kHz晶振 ——高频晶体 ——谐振器 ——外部时钟源 ●带有三个捕获/比较寄存器的16位定时器(Timer_A) ●串行在线可编程 ●采用保险熔丝的程序代码保护措施 ●该系列产品包括 ——MSP430C111:2K字节ROM,128字节RAM ——MSP430C112:4K字节ROM,256字节RAM ——MSP430P112:4K字节OTP,256字节RAM ●EPROM原型 ——PMS430E112:4KB EPROM, 256B RAM ●20引脚塑料小外形宽体(SOWB)封装,20引脚陶瓷双列直插式(CDIP) 封装(仅EPROM) ●如需完整的模块说明,请查阅MSP430x1xx系列用户指南(文献编号: SLAU049 产品说明 TI公司的MSP43O系列超低功耗微控制器由一些基本功能模块按照不同的应用目

标组合而成。在便携式测量应用中,这种优化的体系结构结合五种低功耗模式可以达到延长电池寿命的目的。MSP430系列的CPU采用16位精简指令系统,集成有16位寄存器和常数发生器,发挥了最高的代码效率。它采用数字控制振荡器(DCO),使得从低功耗模式到唤醒模式的转换时间小于6μs. MSP430x11x系列是一种超低功耗的混合信号微控制器,它拥有一个内置的16位计数器和14个I/0引脚。 典型应用:捕获传感器的模拟信号转换为数据,加以处理后输出或者发送到主机。作为独立RF传感器的前端是其另一个应用领域。 DW封装(顶视图) 可用选型 功能模块图

基于MSP430毕业设计论文.

专科生毕业设计论文 基于MSP430单片机实验系统的开发与设计-基本模块 学院:机电工程学院 专业:电气自动化技术 班级: 学号: 指导教师: 职称(或学位) 2014年5月

原创性声明 本人郑重声明:所呈交的论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学生签名:年月日 指导声明 本人指导的同学的毕业论文(设计)题目大小、难度适当,且符合该同学所学专业的培养目标的要求。本人在指导过程中,通过网上文献搜索及文献比对等方式,对其毕业论文(设计)内容进行了检查,未发现抄袭现象,特此声明。 指导教师签名:年月日

目录 1 绪论 (2) 1.1课题背景 (2) 1.2设计原理 (2) 1.3单片机概述 (2) 2 系统硬件设计 (3) 2.1电源模块设计 (3) 2.2串口模块设计 (4) 2.3GSM模块接口设计 (5) 2.4I2C模块设计 (7) 2.5A/D模块设计 (8) 2.6单片机模块 (9) 3 系统软件设计 (10) 3.1软件开发工具的介绍 (10) 3.2系统软件流程图 (11) 3.3A/D软件设计 (11) 3.4短信息软件设计 (11) 3.5SM软件设计 (12) 4 结论 (13) 致谢: (13) 参考文献 (13) 附录 (14)

基于MSP430单片机实验系统的开发与设计 -基本模块 (机电工程学院指导教师:) 摘要:GSM系统是目前基于时分多址技术的移动通信体制中比较成熟,完整的系统。系统以MSP430F149为核心,实验系统的基础模块主要有串口模块、I2C模块、A/D模块、电源模块、GSM模块。着重的设计了该系统的特点以及硬件和软件的组成,同时描述了实验系统的功能 以及所能开设的实验内容,通过Embedded Workbench进行软件仿真从而实现了系统的实现 数据的有效数据传输,构成一个简单的MSP430单片机系统,方便对系统的高效学习的研究, 具有低功耗、抗干扰能力强、易携带等优点。 关键词:MSP430F149;实验系统;数据传输 Based on MSP430 SCM Experiment System Development and Design - Basic Module (Electronic & Information Engineering Department, Supervisor:) Abstraot:The GSM system is based on relatively mature mobile communication system of time division multiple accesstechnology, complete system.The system takes MSP430F149 as the core, basic modules of the experiment system mainly include serial port module I2C module,A/D module,power module,GSM module. Mainlydesign the system components and the characteristic of the hardwar and software,and describes the system function and can open the experiment content,software simulation by Embeddded Workbench so as to realize theeffective data transmission system,Make a simple MSP430 single chip microcomputer system, facilitate the study ofefficient learning system the,has advantages of low power power consumption strong anti-interference ability,easy to carry.

MSP430F5418中文翻译

混合信号单片机 特征 低电源电压范围:1.8 V至3.6 V 超低功耗 主动模式 所有系统时钟模式 230微安/ MHz的频率为8 MHz,3.0伏,闪存程序执行 110微安/ MHz的频率为8 MHz,3.0伏,内存程序执行 待机模式 实时时钟,看门狗 电源监控操作,全内存保留,快速工作 1.7 μA at 2.2 V, 2.1 μA at 3.0 V (Typical) 低功耗振荡器 通用计数器,看门狗,和电源监控操作,全内存保留,快速上电1.2 μA at 3.0 V (Typical) 关闭模式 电源监控操作,全内存保留,快速上电 1.2 μA at 3.0 V (Typical) 关断模式 0.1μA at 3.0 V (Typical) 唤醒时间小于5μs的待机模式 16位RISC构架 内存扩展 高达25 MHz的系统时钟 灵活的电源管理系统 完全集成的LDO稳压随着可编程核心供电电压 电源电压监控,监测和掉电 统一时钟系统 FLL的稳定控制回路频 Low-Power/Low-Frequency内部时钟源(VLO) 低频修剪过的内部参考源 32-kHz 石英钟 高频率高达32 MHz的石英钟 16位定时器TA0,有五个Timer_A捕捉/比较寄存器 16位定时器TA1的,有三个Timer_A捕捉/比较寄存器 16位定时器TB0,七Timer_B捕捉/比较寄存器的阴影 多达四个通用串行通信接口 USCI_A0,USCI_A1,USCI_A2,和USCI_A3相互支持 增强型UART支持自动波特率检测 IrDA编码器和解码器 同步SPI USCI_B0,USCI_B1,USCI_B2,和USCI_B3相互支持 I2CTM 同步SPI

基于MSP430F169的最小系统设计

基于MSP430F169的最小系统设计欧家伟20104888 摘要:单片机最小系统,或称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对于MSP430系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。本文介绍了MSP430F169单片机的特点,设计了MSP430最小系统中电源模块、复位电路模块、晶振电路模块、JTAG接口模块的电路原理图,并说明了MCU部分原理,如:开机上电、启动、复位、初始化;程序运行、工作模式、中断服务、堆栈、弹出、中断向量表、中断优先级、晶体时钟、程序下载、存储、擦除、端口操作、看门狗管理。另外还扩展了一个数码管显示模块和4X4键盘模块。 关键字:MSP430;最小系统;电路设计 一、最小系统的设计 单片机应用系统的硬件电路设计包含两部分内容: 一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。 二是系统的配置,即按照系统功能要求配置外围设备,如电源、A/D、D/A转换器等,要设计合适的接口电路。本文将介绍基于MSP430F169的最小系统设计过程。 MSP430F169是FLASH存储器型单片机,具有良好的仿真开发技术,设置有JTAG仿真接口和高级语言编译器.在系统支持软件下,在线实现对目标系统的硬件调试及软件开发,包括汇编、C语言、连接及动态调试,具有单步、多断点和

跟踪,并且开放全部存储器、寄存器,可以方便可靠地对系统进行硬件、软件开发。 单元电路设计 最小系统主要由主控MCU,电源、复位电路、时钟电路、JTAG调试电路,串行通讯等模块组成,与此同时还要设计MCU时钟电路,电源电路和JTAG调试电路。 MSP430最小系统硬件组成如图1所示。时钟模块为MCU提供时钟源, JTAG 接口用于单片机程序调试和仿真;串口0 (USART0)通过MAX232模块进行电平转换连接到PC用于调试嵌入式软件;电源模块为MCU和各外围模块提供电源。下面我们将对各模块电路进行设计。 图1 MSP430最小系统组成框图 (一)电源模块 在该系统中需要使用5V和3.3V的直流稳压电源,其中MSP430F169及部分外围器件需要3.3V电源,另外部分需要5V电源。在本系统中,以5V直流电压为输入电压,通过LM1117-3.3将5V直流电压转换成3.3V电压。电源经过开关后经过一个二极管DN4148进行电源定向,再通过LM1117-3.3进行DC-DC电压转换。在电源模块中通过3个电容进行电源稳压滤波,为系统提供稳定的电源。

基于MSP430单片机的数字式水表设计

收稿日期:2004-07-31;修改日期:2004-09-28作者简介:张 宇(1979-),男,安徽宿州人,合肥工业大学硕士生; 张 辉(1963-),男,江苏海门人,合肥工业大学教授,硕士生导师.第27卷第10期 合肥工业大学学报(自然科学版)Vo l.27No.102004年10月JOURN AL OF HEFEI U NIVERSITY OF T ECH NOLOGY Oct.2004 基于M SP 430单片机的数字式水表设计 张 宇, 张 辉 (合肥工业大学仪器仪表学院,安徽合肥 230009) 摘 要:为了提高测量精度,利用T I 公司M SP430系列单片机的特点开发出利用维权磁敏传感器的数字式叶轮水表。给出了传感器的信号处理电路及软件处理程序流程。介绍了M S P430单片机的特点并详细讨论了其中断处理特点。并利用线性分段插值的方法对水表的非线性仪表系数进行误差修正。实验数据证明利用该方法设计的水表在全量程内都可保持较高的精度。 关键词:数字式水表;误差修正;磁敏传感器 中图分类号:TU 991.63 文献标识码:A 文章编号:1003-5060(2004)10-1375-04 Design of digital water meter based on MSP 430 ZHANG Yu, ZHANG Hui (School of Instrum ent,Hefei Un iversity of T echnology,Hefei 230009,China) Abstract :To improv e the precision of m easurement,an impeller w ater m eter is dig itized by using M SP 430and the Vegen mag netic sensor .The cir cuit for processing the sensor 's sig nal and the corre-sponding softw are flow are presented.The featur e of M SP430and its inter rupt processing are dis-cussed.T he error correction is made by using the linear fitting metho d.T he data o f experiment pr oves that the obtained precisio n can be rather hig h in the w hole measurement r ang e. Key words :digital w ater meter ;erro r correction ;magnetic senso r 叶轮式水表是一款比较成熟的流量传感器。家庭中使用的水表就多为旋翼式叶轮水表。叶轮式水 表的工作原理为:当水以一定流速流过水表时,水表的叶轮转动,其转速n 和水流速度u 成正比[1],即 n =Cu (1) 式中 n ——叶轮转速(r /s) u ——水流速度(m/s) C ——比例系数 当流量计口径一定时,理论上叶轮的转速与流量成线性关系。而实际上水表的比例系数并不是一个常数,所以要提高水表的测量精度必须实时修正水表的比例系数。普通水表只是将叶轮的转动通过齿轮组变换成表盘上指针的偏转量,完成对流量的积算,所以不能对水表进行实时误差修正。随着技术的进步和人们对水表要求的提高,无线式水表、IC 卡水表等智能化水表已经出现。 这些水表不仅能够将流量信号变换成为电脉冲信号从而进行数字化处理,而且能够进行误差修正以提高测量精度。

基于msp430单片机流量计的设计

基于msp430单片机流量计的设计 第一章绪论 1、课题研究意义 中国的水工业行业是一个新兴行业。基于该行业的发展现状和我国水资源现状,相关市场对各类水工业行业相关设备的需求将是巨大的。而作为重要的检测设备之一,流量计在供水和排水,尤其是废水处理领域的作用更是不容小觑。实现21世纪现代化城市的宏伟蓝图,必须高度重视和合理保护水资源及计划用水、节约用水,这对于我国的社会经济可持续发展具有重大的现实意义和深远的影响。节约用水的根本目的是提高城市的合理用水水平,减少新水的取用和不必要的排放。提高人民群众生活用水的质量,切实保护我们赖以生存的水资源环境,首先是宏观节约水资源,保证国民经济建设,增强人们科学用水、计划用水、节约用水的自觉性。在全社会真正形成一个水资源可持续利用的良好环境,造福人类,造福子孙后代。随着我国对水工业行业的重视程度提高以及各类相关法律法规的颁布,各类相关工程项目相继启动,流量计市场的潜量是巨大的。液体流量计产品的生产和研发的技术水平较高。上世纪50年代末期,流量计开始应用于我国工业生产,在70和80年代期间,发展迅速。 2、流量计发展趋势及市场前景 2008年全球流量计的市场规模达到28.3亿美元,较2007年增长约3.9%。据预测,到2013年,全球流量计市场规模将达到34.8亿美元。2008~2013年的年均复合增长率会达到4.2%。 面临激烈的竞争环境,以及为了应对全球节能减排的诉求,各个行业用户更加关注生产工厂的运行效率,尽可能降低能耗,以提高竞争力。因此,大量的投

第三章 硬件设计 1、流量测量电路 当一块通有电流的金属或半导体薄片垂直放在磁场中时,薄片的两端就会产

430 单片机 计算器

#include const unsigned char data[22] ={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e, 0x8f,0xbf,0x89,0xb9, 0xff,0xaf};//0~9 a~f 符号 unsigned char segment[8] = {20,20,0,0,0,0,0,0};//初始数码管 unsigned char flag1=0; void delay(unsigned int j) { unsigned int i; for(i=0;i1;a--) segment[a]=0; } void zhuanhuan( unsigned long r) { segment[7]=r%10; segment[6]=r/10%10;

segment[5]=r/100%10; segment[4]=r/1000%10; segment[3]=r/10000%10; segment[2]=r/100000%10; } unsigned char getkey(void) { unsigned char m,n=16; P1OUT=0x00; if((!(P1IN&BIT4))||(!(P1IN&BIT5))||(!(P1IN&BIT6))||(!(P1IN&BIT7))) {delay(10000); if((!(P1IN&BIT4))||(!(P1IN&BIT5))||(!(P1IN&BIT6))||(!(P1IN&BIT7))) { flag1=1; for(m=0;m<=2;m++) { P1OUT=~BIT0; if(!(P1IN&BIT7)){n=3;break;} if(!(P1IN&BIT6)){n=7;break;} if(!(P1IN&BIT5)){n=11;break;} if(!(P1IN&BIT4)){n=15;break;} P1OUT=~BIT1; if(!(P1IN&BIT7)){n=2;break;} if(!(P1IN&BIT6)){n=6;break;} if(!(P1IN&BIT4)){n=14;break;} if(!(P1IN&BIT5)){n=10;break;} P1OUT=~BIT2; if(!(P1IN&BIT7)){n=1; break;} if(!(P1IN&BIT6)){n=5; break;} if(!(P1IN&BIT5)){n=9; break;} if(!(P1IN&BIT4)){n=13; break;} P1OUT=~BIT3; if(!(P1IN&BIT7)){n=0; break;} if(!(P1IN&BIT6)){n=4; break;} if(!(P1IN&BIT5)){n=8; break;}

MSP430低功耗设计大作业

MSP430低功耗设计大作业 MSP430 低功耗设计 1.MSP430 单片机有几种工作模式,在中断子程序中如何设置,可以使系统从LPM4 模式进入活动模式。 答:五种低功耗功耗模式,分别为LPM0~LPM4 ;cpu 的活动状态成为AM. LPM0 模式:关闭CPU;LPM1、LPM2 模式:通过开启、关闭不同时钟源控制系统功耗;LPM3 模式:时钟开启时的最低功耗模式,仅低频时钟处于运行状态。Lpm4 模式工作时只保存RAM 区数据,CPU 只能通过I/O 口外部中断唤醒。在主函数中进入休眠模式并打开总中断,然后在中断程序里面执行你想要的操作就可以了。 2看门狗用于看门狗监测的原理是什么?答:工作原理是在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以,在使用有看门狗的芯片时要注意清看门狗。在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果, 所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O 引脚相连,该I/O 引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片 机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。 3.捕获/比较寄存器CCR0 有什么特殊性? 答:用做捕获时:捕获的同时TAR的值会传给CCRx,用来测算周期是很好的方法,一般捕获用法时无须设置参数。 用作比较时:CCR0 一般用来设置输出电平的转换时机,就是TAR 计数到CCR0 时输出电平发生相应的变化(输出方式可以设置);也可以将CCR0 设置为最大值,此时CCRx(x:1或2)用来设置输出电平转换的时机,即TAR计数到CCRx 时输出电平转

基于MSP430开关电源设计

基于MSP430开关电源设计

————————————————————————————————作者:————————————————————————————————日期: 2

单片机实现开关电源的设计 2011-10-31 12:08:53 来源:互联网 关键字:单片机开关电源 1 引言MSP430系列单片机是美国TI公司生产的新一代16位单片。开关Boost稳压电源利用开关器件控制、无源磁性元件及电容元件的能量存储特性,从输入电压源获取分离的能量,暂时把能量以磁场的形式存储在电感器中,或以电场的形式存储在电容器中,然后将能量转换到负载。对DC—DC主回路采用Boost升压斩波电路。 2 系统结构和总设计方案本开关稳压电源是以MSP430F449为主控制器件,它是TI公司生产的16位超低功耗特性的功能强大的单片机,其低功耗的优点有利于系统效率高的要求,且其ADCl2是高精度的12位A/D转换模块,有高速、通用的特点。这里使用MSP430完成电压反馈的PI调节;PWM波产生,基准电压设定;电压电流显示;过电流保护等。系统框图如图1所示。

3 硬件电路设计 3.1 DC/DC转换电路设计 系统主硬件电路由电源部分、整流滤波电路、DC/DC转换电路、驱动电路、MSP430单片机等部分组成。交流输入电压经整流滤波电路后经过DC/DC变换器,采用Boost 升压斩波电路DC/DC变换,如图2所示: 根据升压斩波电路的工作原理一个周期内电感L积蓄的能量与释放的能量相等,即:式(1)中I1为输出电流,电感储能的大小通过的电流与电感值有关。在实际电路中电感的参数则与选取开关频率与输入/输出电压要求,根据实际电路的要求选用合适的电感值,且要注意其内阻不应过大,以免其损耗过大减小效率采样电路。对于电容的计算,在指定纹波电压限制下,它的大小的选取主要依据式(2): 式(2)中:C为电容的值;D1为占空比;TS为MOSFET的开关周期;I0为负载电流;V’为输出电压纹波。 3.2 采样电路 采样电路为电压采集与电流采集电路,采样电路如图3所示。其中P6.O,P6.1为MSP430芯片的采样通道,P6.O为电压采集,P6.1为电流采集。

MSP430单片机温度单片机课程设计报告书

理工大学计算机学院课程设计单片机系统设计 班级计科1104 姓名 学号 指导教师业德韩慧 二○一四年十一月日

课程设计任务书及成绩评定 课题名称_______温度测试系统设计_______ I、题目的目的和要求: 利用温度传感器和MSP430单片机设计一个温度测试系统,将测试结果(十进制)在LED上显示出来,并定义一个保持按键,当按下该键时,将当前测试值保持不变(按键不动作时为正常测量显示)。温度显示格式为:XXX ℃。 II、设计进度及完成情况

III、主要参考文献及资料 MSP430系列16位低功耗单片机原理及应用 DS18B20温度传感器的使用 智能仪器原理及应用 学科部主任业德 Ⅵ、成绩评定: 设计成绩:(教师填写) 指导老师:(签字) 二○年月日

目录 I、题目的目的和要求: (2) II、设计进度及完成情况 (2) III、主要参考文献及资料 (3) Ⅵ、成绩评定: (3) 目录 (4) 本次课程设计的目的和意义 (5) 设计题目 (6) 系统的主要功能、作用以及主要技术性能指标 (7) 总体设计方案、工作和组成原理 (8) 系统设计 (11) 设计总结 (22) 作品的使用或操作说明 (23) 设计图纸或图表 (24)

本次课程设计的目的和意义 课程设计是让我熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。加深我们对单片机原理与应用课程的理解

设计题目 温度测试系统设计: 利用温度传感器DS18B20和MSP430单片机设计一个温度测试系统,将测试结果(十进制)在LED上显示出来,并定义一个保持按键,当按下该键时,将当前测试值保持不变(按键不动作时为正常测量显示)。温度显示格式为:XXX ℃。

MSP430 中文版用户指南

用于MSP430?的IAR嵌入式工作平台版本3+用户指南 Literature Number:ZHCU026X June2004–Revised November2011

内容Preface (5) 1现在就开始! (7) 1.1软件安装 (8) 1.2LED闪烁 (8) 1.3光盘和网络上重要的MSP430文档 (9) 2开发流程 (10) 2.1概述 (11) 2.2使用KickStart (11) 2.2.1项目设置 (12) 2.2.2用于MSP430L092/MSP430C092的附件项目设置 (13) 2.2.3从零开始创建一个项目 (15) 2.2.4用于LPMx.5调试的附加项目设置 (16) 2.2.5MSP430器件的密码保护 (17) 2.2.6使用一个现有的IAR V1.x/V2.x/V3.x项目 (18) 2.2.7堆栈管理和.xcl文件 (18) 2.2.8如何生成德州仪器(TI).TXT(和其它格式)文件 (18) 2.2.9示例程序概述 (18) 2.3使用C-SPY (18) 2.3.1断点类型 (19) 2.3.2使用断点 (20) 2.3.3使用单步执行 (21) 2.3.4使用观察窗口 (21) A常见问题和解答 (23) A.1硬件 (24) A.2程序开发(汇编语言、C语言编译器、连接器) (24) A.3调试中(C-SPY) (26) B FET专用菜单 (30) B.1菜单 (31) B.1.1Emulator→Device Information (31) B.1.2Emulator→Release JTAG on Go (31) B.1.3Emulator→Resynchronize JTAG (31) B.1.4Emulator→Init New Device (31) B.1.5Emulator→Secure-Blow JTAG Fuse (31) B.1.6Emulator→Breakpoint Usage (31) B.1.7Emulator→Advanced→Clock Control (31) B.1.8Emulator→Advanced→Emulation Mode (31) B.1.9Emulator→Advanced→Memory Dump (32) B.1.10Emulator→Advanced→Breakpoint Combiner (32) B.1.11Emulator→State Storage Control (32) B.1.12Emulator→State Storage Window (32) B.1.13Emulator→Sequencer Control (32) B.1.14Emulator→"Power on"Reset (32) B.1.15Emulator→GIE on/off (32) B.1.16Emulator→Leave Target Running (32)

相关文档
最新文档