- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于MPC860与STl6C654的串行通信设计
2 系统软件设计
2.1 操作系统
Vxworks是由WRS(Wind River System Ine.)公司开发的一套具有微内核、高性能、可伸缩的实时操作系统,支持广泛的网络通信协议,支持32位的CPU,包括Intel公司的x86、MIatorola公司的68k和PoweerPC、MIPS、ARM,并能够根据用户的需求进行组合;同时WRS公司还提供了优秀的实时操作系统开发工具Tornado。Tornado是一整套强有力的交叉开发工具,它能够支持几乎所有的工作平台和目标处理器,所提供有工具可用于所有目标机,并具有两种调试模式(系统模式和任务模式),能够轻松给Vxworks操作系统添加删除各种通信协议,能够支持目标机和宿主机的如以太网、串行线路、在线仿真等通信选项,其机制和功能都是基于C/C++语言,任务、中断、通信都提供了统一的API接口。这些特性为编写应用程序和设备驱动提供了极大便利。Tornado目前已发展到6.O及更高板本。本设计开发工具是Tornado 2.0。
在Vxworks下,设备驱动可以嵌入到内核随系统一起启动,也可以作为加载模块在系统启动后运行。前一种需要修改内核,需要熟悉内核结构和运行方式,这实现比较困难:而后一种比较简单,与编写一般的应用程度类似。本设计采用后者。
2.2 STl6C654程序设计
定义消息结构MSG_STRUCT和串口接收UART_RECE_STRUCT数据结构:
系统启用收发2个任务,初始化STl6C654后,实现收发数据流程如图4所示。
3 结论
在详细分析MPC860和STl6C654元件性能参数的基础上,介绍了具体的开发实例。硬件采用MPC860连接STl6C654,软件采用VxWorks系统,双任务驱动STl6C654进行串口收发通信,该实例已在TornadoⅡ2.0_2版本上通过调试,单通道连续收或发5字节实验,1秒20次无丢失包。该实例已成功应用于某型网络设备开发中。
上一篇:RCC变压器设计及与反激电路的区别
下一篇:基于ARM的嵌入式监控系统设计与实现