基于MPC860与ST16C654的串行通信设计

发布时间:2010-11-5 19:22    发布者:techshare
关键词: MPC860 , ST16C654 , 串行通信
根据项目设计要求嵌入式处理器作为服务器,串行端口收发信息,经快速以太网接口实时发送到局域网。客户端将需要发送到串口的数据通过快速以太网接口经处理器转发到串口。因此,这是提出一种基于MPC860与 ST16C654的串行通信设计方案。采用MPC860连接ST16C654。 MPC860是目前在网络与通信领域应用广泛的一款微处理器,其高速的PowerPC内核,连同集成的网络与通信外围设备,为用户提供一个建立高端通信系统的解决方案。ST16C654是一个带有收发各64字节、可扩展4路串行通道FIF0的扩展通用异步收发器,用于和高速调制解调器及需要快速处理数据时间的共享网络环境一起工作。

1 系统硬件设计

1.1 主要器件选型

1.1.1 MPC860型微处理器

MPC860 PowerQIUCC(简称MPC860)内部集成了2个处理单元。一个处理单元是嵌入的PowerPC核(PowerPCCore),是主处理单元 (CPU),是一个RISC芯片,通常编译后的程序指令都是由它执行;另一个处理单元是通信处理模块CPM(CommunicaTIons Processor Module),内部集成有一个RISC微处理器,对各种常用的通信模块进行管理。通信处理模块内部集成有4个串行通信控制器SCC、2个串行管理控制器 SMC、1个串行外围接口电路SPI和1个I2C接口。另外,还有一个系统接口单元SIU,主要功能是提供内外总线的接口及一些其他功能(如SIU中断) 的管理等。本设计利用通信处理模块CPM强大功能,与ST16C654通信。MPC860硬件结构如图1所示。





1.1.2 ST16C654

ST16C654是一个带有收发各64 Byte的FIF0的扩展通用异步收发器,自动软硬件流程控制,速率最高达到1.5 Mb/s(24 MHz时钟),支持16(Intel)/68(Motorola)总线接口类型。ST16C654结构图如图2所示。扩展的4路串口通道,每个通道有15 个(64/68pin封装)或16个(100pin封装)内部寄存器,用来存放收发数据以及配置该串口的工作模式,需要在初始化时对各寄存器进行配置。工作模式有中断模式和定时查询模式,中断模式实时性能好,适合于紧急情况,中断次数多,中断任务切换频繁影响主要任务的运行;定时查询模式,由于 ST16C654具有缓存,定时查询方式具备一般实时性,数据不丢失。





1.2 系统组成

电路设计需要注意:1)MPC2860采用大端(big-end)工作模式,ST16C654从BD0开始接收数据。ST16C654数据总线 D[0..7]连接MPC860的数据总线D[7..0],地址总线A[O..4]连接









2 系统软件设计

2.1 操作系统

Vxworks是由WRS(Wind River System Ine.)公司开发的一套具有微内核、高性能、可伸缩的实时操作系统,支持广泛的网络通信协议,支持32位的CPU,包括Intel公司的x86、 MIatorola公司的68k和PoweerPC、MIPSARM,并能够根据用户的需求进行组合;同时WRS公司还提供了优秀的实时操作系统开发工具Tornado。Tornado是一整套强有力的交叉开发工具,它能够支持几乎所有的工作平台和目标处理器,所提供有工具可用于所有目标机,并具有两种调试模式(系统模式和任务模式),能够轻松给Vxworks操作系统添加删除各种通信协议,能够支持目标机和宿主机的如以太网、串行线路、在线仿真等通信选项,其机制和功能都是基于C/C++语言,任务、中断、通信都提供了统一的API接口。这些特性为编写应用程序和设备驱动提供了极大便利。 Tornado目前已发展到6.O及更高板本。本设计开发工具是Tornado 2.0。

在Vxworks下,设备驱动可以嵌入到内核随系统一起启动,也可以作为加载模块在系统启动后运行。前一种需要修改内核,需要熟悉内核结构和运行方式,这实现比较困难:而后一种比较简单,与编写一般的应用程度类似。本设计采用后者。

2.2 ST16C654程序设计

定义消息结构MSG_STRUCT和串口接收UART_RECE_STRUCT数据结构:





系统启用收发2个任务,初始化ST16C654后,实现收发数据流程如图4所示。




3 结论

在详细分析MPC860和ST16C654元件性能参数的基础上,介绍了具体的开发实例。硬件采用MPC860连接ST16C654,软件采用 VxWorks系统,双任务驱动ST16C654进行串口收发通信,该实例已在TornadoⅡ2.0_2版本上通过调试,单通道连续收或发5字节实验,1秒20次无丢失包。该实例已成功应用于某型网络设备开发中。
本文地址:https://www.eechina.com/thread-36794-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表