基于WinCE与LPC935单片机CAN通信设计

【摘 要 】CAN(Controller AreaNetwork)结构简单,规模适中,通信具有突出的可靠性、实时性和灵活性.得到越来越广泛的的应用.本文讨论了采用嵌入式WinCE与LPC935单片机构成的CAN通信问题,认真分析了WinCE操作系统与LPC935单片机CAN模块特性,设计出了进行CAN通信的总体框图,针对实际CAN通信存在的问题了CAN通信协议,根据该系统硬件要求,了WinCE系统内核,最后实现了CAN通信设计.


【关 键 词 】WinCE;LPC935;CAN通信协议

随着信息技术的不断发展,嵌入式WinCE在工业控制领域中的应用越来越广泛.主要作为上位机的操作系统.LPC935单片机作为一款工业级的单片机芯片,广泛应用于各种工控设备.在许多复杂的应用场合,一个LPC935单片机是不可能满足需要的,需要多片LPC935单片机协同工作.此时,怎样实现多片LPC935单片机的通信就成为了设计的关键.以基于嵌入式WinCE设备为核心,代替传统的PC机,搭建CAN通信系统.结合嵌入式、单片机、网络通信技术的优点,将各个独立系统复杂的通信协议、数据格式进行统一的转化,实现系统之间的相互通信.将嵌入式WinCE与单片机结合起来将具有重要的实用价值和广阔的应用前景.

1.硬件平台

1)嵌入式WinCE采用周立功的TIPC-700作为硬件平台,主要的硬件资源有S3C2440A处理器,1路带隔离的CAN-bus接口;1路10/100M以太网接口;2个RS-232C串口等.根据核心硬件的要求,了所需的WinCE系统内核.在Visual Studio 2005集成开发环境中编写应用程序[1].

2)LPC935单片机是一款单片封装的微控制器,使用低成本的封装形式.它采用了高性能的处理器的处理结构,指令执行时间只需要2到4个时钟周期.6倍于标准80C51器件.它具有集成度高、设备丰富,2个4路输入的8位A/D转换器/DAC输出、2个模拟比较器、2个16位定时/.计数器和一个23位系统定时器、增强型UART和SPI通信端口.LPC935集成了许多系统级的功能,大大减少了元件的数目与电路板面积并降低系统的成本.所以在很多领域得到了广泛的应用[2].

3)通过USB建立TIPC-700与PC机的ActiveSync连接,嵌入式WinCE与LPC935通过带隔离的CAN-bus接口进行通信,CAN通信总体款图如下图1所示.

4)每块分板控制4个比色池,每个比色池上有3个检测通道,每块分板可以进行12通道检测,但是每个比色池一次只用使用一个通道进行检测,因此每块分板每次可以同时进行4通道检测,4块分板可以同时进行16通道检测,从而达到了多通道检测的目的,后面的通信协议正是基于此而设计的.

2.嵌入式WinCE平台

WinCE是一个32位、多线程、多任务的操作系统,采用了独立于通常的程序设计语言并且和Windows兼容的API的方式.WinCE有良好的通信能力、相当出色的图形用户界面.WinCE操作系统分为硬件层、OEM适配层、操作系统层、应用支持库、应用开发层、应用集成层.各层之间只能单向依赖或单向调用.从而使功能模块之间的调用关系更加清晰.为了使系统具有更好的可扩展性和更清晰的结构,WinCE系统往往需要[3].

WinCE提供了一个工具PB(Platform Builder),是WinCE的主要集成开发环境,通过这个工具可以方便地根据不同的硬件,、裁剪出符合不同设计要求的WinCE操作系统.完整的WinCE操作系统包括以下内容:Bootloader、CPU初始化代码、驱动程序(键盘、鼠标、声卡、显卡、IDE、COM、USB)、用户界面接口、完成特定功能的应用程序.WinCE平台的流程如图2所示.

3.底板CAN设计

底板采用的是主控芯片是LPC935,是一类自身并不能带有在片CAN的微控制器.但是它带有SPI接口,设计中就是用SPI接口加独立的CAN控制器(MCP2515)来实现CAN的功能.MCP2515作为CAN控制器,是一种独立的控制器,主要用于一般工业环境中的局域网络控制,完全支持CAN总线V2.0A/B技术规范.CAN收发器采用了TJA1050T,可以同时操作多个CAN网络,提供高达1Mb/s的传输速率.同时采用光电隔离提高系统的稳定性.用以实现底板与嵌入式WinCE设备的通信[4].

4.CAN通信协议设计

为了让嵌入式WinCE和多块LPC935单片机进行通信,关键是要有一个好的通信协议.包括对数据的形式、通信方式、传送速度、传送步骤、检错方式以及控制字符定义等问题做出统一规定[5].由硬件平台的设计可以知道,每块分板控制着4个比色池,每个比色池可以设定3个检测通道,因此每块分板可以控制12个检测通道,并把它编号为1—12.但是每块分板每次只能从每个比色池的3个通道中选着1个通道进行检测,每次只能同时进行4通道的检测.整个系统可以同时进行16通道的检测.CAN通信报文传输的帧格式有含有11位标识符的标准帧和含有29位标识符的扩展帧[6].本设计采用了标准帧的格式进行CAN通信协议的设计.

1)主板下传命令给分板时通信协议的设定

标识符的设置:把11位标识符的高四位固定为1010,随后的2位为分板的编号(0-3),第7位设为0表示读取AD,设为1表示设置比色池LED发光强度,低四位设成检测通道(1-12),至此,11位标识符被设定好.

数据域的设置:当第7位设为0时,数据部分为一个字节(小于16),表示检测项目,与标识符的低四位相同.分板在接收到时调整相应到相应的检测状态.当第7位设为1时,设置/校准发光管.标识符的低四位为检测通道,数据部分为3个字节. 2)分板上传数据/命令给主板时通信协议的设定

标识符的设置:11位中的高4为固定为1010,随后的2位为分板的编号(0-3),第7为为0,低四位设成检测通道(1-12).

数据域的设置:共8个字节

AD0H AD0L AD1H AD1L AD2H AD2L AD3H AD3L

分板上传命令时标识符与上传数据相同,数据部分为一个字节,当为“0x0b”表示按下了检测按键,当为“0x0A”表示对上次命令已经处理完成.

波特率设定:设为50K.

滤波设置:主板只对标识符高4位滤波,值为1010.

分板只对标识符高6位滤波,值为1010XX,XX为分板编号0-3.

图3是检测项目与检测通道分布图.

例如要对一号分板的第一比色池的1号通道的检测项目进行检测:如已经校准,将标识符设置为10100000001,其后跟上相应设置的数据域,即可以对一号分板的第一比色池的1号通道的检测项目进行检测.如未校准,将标识符设置为10100010001,加上相应设置的数据域进行校准,校准候按照前面的步骤进行检测.同样1号通道上传数据/命令可以根据上面写好的通信协议进行操作.

5.结论

CAN通信最早应用于汽车领域,随着科技的发展,目前CAN通信在计算机控制系统中已经得到了广泛的应用,本文通过嵌入式WinCE与多块LPC935单片机底板CAN通信研究开发,综合了嵌入式、单片机及网络通信技术实现了多路CAN通信,达到了最初的设计目的.本文设计的通信协议经实践证明稳定可靠,保证了底板与WinCE控制板之间信息传输的实时性与准确性.提高了数据的准确率,减少了丢包率.本文所采用的技术在近距离控制,远程控制与工业控制领域具有重要的实用价值和广泛的应用前景.

类似论文

单片机与可编程控制器的串行通信设计

【摘 要 】目前,信息控制技术已在各个领域被广泛应用,这得益于计算机自动化技术与通讯技术的飞速发展 尤其是单片机与可编程控制器的推广。
更新日期:2024-3-27 浏览量:47590 点赞量:11744

单片机远程通信控制系统

摘 要:单片机作为一种微型计算机,可以实现计算机的控制功能,而且自身的体积比较小,可以应用。
更新日期:2024-1-6 浏览量:7161 点赞量:2879

电力通信设计

摘 要:当代电力企业如果要使得电力系统能够稳定安全的运行就必须做好电力通信网、自动化调度系统和安全稳定控制。
更新日期:2024-7-15 浏览量:91179 点赞量:19376

PC机与单片机的串行通信设计

【摘 要】本文介绍了PC机和单片机间串行通信接口软、硬件的设计,通信接口采用RS232C标准 在硬件设计中,给出了基&。
更新日期:2024-4-7 浏览量:11512 点赞量:3925

单片机多机串行通信设计方法

摘 要:本文从多机通信协议入手,重点研究了如何利用查询法和中断法实现主从式通信,并通过Proteus仿真软件对两种通信方法进行了仿真。
更新日期:2024-3-4 浏览量:10039 点赞量:3663

单片机与可编程控制器的串行通信设计

【摘 要】目前,信息控制技术已在各个领域被广泛应用,这得益于计算机自动化技术与通讯技术的飞速发展 尤其是单片机与可编程控制器。
更新日期:2024-11-23 浏览量:145636 点赞量:31710

基于51单片机的音乐设计

【摘 要】本音乐是利用STC89C51单片机结合内部定时系统及数码管显示,设计一个简易的微电脑音乐盒 本文分析了基于51单片。
更新日期:2024-3-16 浏览量:43958 点赞量:10327