微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于嵌入式WinCE与MSP430单片机多串口通信设计

基于嵌入式WinCE与MSP430单片机多串口通信设计

时间:07-10 来源:21ic 点击:

图3所示。

  3.3 MSP430F149单片机UART模块特点

  MSP430单片机的UART模块具有比普通51单片机更完善的特性,如可选择奇偶校验方式、波特率小数部分可编程、提供差错控制及错误状态位、串口中断唤醒CPU等。将这些特点应用于串口通信中可以增强通信的可靠性,比如:UART硬件模块可以被设置为若奇偶校验出错则不接收当前数据,通过设定波特率调制值可使波特率更准确,通过休眠模式的应用可提高CPU工作的效率并降低系统的功耗。对于多机通信,MSP-430单片机内置了空闲式(idle-line)和地址位式(address-bit)两种多机通信模式,为提供可靠高效的多机通信提供了保证。两种模式主要在如何确定地址帧方面存在差别:1)空闲模式:两个数据块之间的传输空闲时间大于或等于10bit,也即用传输线上大于或等于10bit空闲之后的第一个数据表示地址。2)地址位模式:通过字节帧中的地址位(1或0)指示该帧是地址帧还是数据帧。一由于空闲模式要求两个数据块之间一定要有大于或等于10bit的时间间隔,所以在连续传输的场合传输速率会比地址位模式慢,但是编程简单。

  4 串口通信协议设计

  在WinCE嵌入式和多台MSP430单片机的通讯中,确定一个明确而合理的通讯协议是关键,包括对数据格式、通讯方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定。为了区别不同的分机,必须为每个分机分配一个唯一的地址,此地址唯一区别各单片机。数据格式采用数据包的形式,一次传输一组数据。数据包格式如表1所示。

  数据格式中的地址位表示与PC机通讯的单片机地址。操作命令则表示此次通讯要完成的操作。在单片机发送上位机接收的时候,此时数据包中的数据长度、数据内容、和检验3个域便填充实际发送数据的个数、数据及和校验;操作命令域在PC机发送单片机接收的时候也有相似的协议规定。

  5 TCP/IP数据通信

  TCP/IP数据通信模块用于完成WinCE嵌入式与PC机服务器之间的通信,其主要功能包括,接收下位机发来的信息、发送控制命令,控制程序的运行状态,为多机串口通信提供方便。数据通信模块采用基于WinCE的TCP/IP协议,能够保证在传输过程中数据的准确性和可靠性;嵌入式系统硬件抗干扰能力强,能够保证系统长期稳定运行。客户进程建立连接及通信的程序流程如图4所示。

  在基于Wince的TCP/IP协议中,其通信实现流程为:TCP服务器首先调用socket()函数建立流式套接字,然后调用bind()绑定本地地址,调用listen()函数进行客户终端连接,一旦与客户终端连接后,服务器就调用accept()函数接收终端的连接请求,并建立连接,同时服务器端启动一个新线程,建立单独的套接字实例与客户终端进行通讯。

  TCP客户端通信实现流程为:调用socket()函数建立流式套接字,然后调用connect()函数,请求与WinCE服务器建立TCP连接,成功建立连接后,同服务器进行数据传输。

  服务进程和客户进程通过调用send()和recv()来交换数据,服务器可向客户端传送所收集的数据。客户端则向服务器反馈控制信息和参数调整信息:服务进程或客户进程可通过调用close()来撤消套接字并中断连接。

  6 结论

  串口通讯方式在计算机控制系统中有着广泛的应用,通过WinCE嵌入式与多台MSP430单片机串口通信研究开发,运用嵌入式、单片机及网络通信技术实现了多机串口通信。本文设计的通讯协议经实践证明稳定可靠,保证了单片机与PC之间数据传输的准确率。本文所采用的技术在远程控制,工业控制等领域具有重要的实用价值和广泛的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top