- 11
- 0
- 约 7页
- 2016-09-10 发布于北京
- 举报
VxWorks下串口通信程序设计与实例.doc
VxWorks下串口通信程序设计与实例
【摘要】本问讨论了在嵌入式实时操作系统VxWorks下结合PowerPC平台实现串口通信的相关技术,给出了基本原理和程序示例。详细介绍了串口设置时每个参数的配置方法及作用。
【关键词】VxWorks;PowerPC平台;串行通信;串口参数
1.前言
VxWorks是一个具有微内核、可裁剪的高性能强实时操作系统,在全球和国内被大量使用。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。PowerPC处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量,包含串行和以太网控制器这样功能强大的集成I/O。在计算机系统通信应用中,RS232串口是目前广泛使用的设备通信控制接口,在嵌入式实时操作系统中实现串口通信,可大大提高系统的应用范围,提高系统获取信息的能力。
2.串口通信原理及优点
串口通信本质是CPU发出的命令数据经串行端口后转换为串行的位,接收方又把串行的位转换成字节命令回送CPU,实现通讯。串口通信有如下优点:
(1)开发简单,用户可以自定义数据格式,独占串口与另一方通讯。
(2)成本低廉,串口通信从转换芯片到传输介质相对其他通信成本廉价。
(3)使用灵活,有全双工RS232,亦有但双工RS485,而且转换方便。
在传输数据量不大,传输距离不大,比如一个变电站内,非常适合使用串口通信。
3.串口通信在Vxworks实现原理
在VxWorks中,将I/O系统设计成为任何类型的设备提供一个简单、统一、独立于设备的接口,任何对于串口的操作都可以视为对一个文件的操作,而不必了解串口设备或程序驱动实现的细节。下面以MPC8309 CPU添加12个串口为例解释实现过程:
(1)软件添加,修改对应BSP包,使系统支持12个串口,并且申请资源。编译BSP包,生成vxworks系统文件及bootrom文件。系统启动时用devs命令可以查看到串口。
(2)硬件支持,使CPU连接串口芯片。实际应用上串口应该是可灵活插拔的。系统支持12个,但具体数目及串口位置按实际连接串口数为准。节约成本。
(3)以上完成后就可用open()函数打开串口进行配置,用read(),write()函数进行读写操作。
(4)为提高数据接收的实时性,可采用中断方式,利用VxWorks提供的select函数的事件触发机制,当有数据来到的时候该任务会立刻自动响应。节省对CPU的占用,提高系统的实时性。
4.程序示例
以下程序对每个参数有详细的说明,以便学习交流。
#include lt;vxWorks.hgt;
#include strLib.h
#include lt;string.hgt;
#include lt;sioLib.hgt;
#include lt;ioLib.hgt;
#include lt;stdio.hgt;
#include lt;ioctl.hgt;
#include lt;selectLib.hgt; //用于支持select查询等待函数
4.1 初始化串口配置函数
int comInit(void) //初始化串口1
{ int sfd;//串口设备文件描述符
sfd =open(“/tyCo/1”,0_RDWR,0);//打开串口”/tyCo/1”并返回串口设备文件描述符,这里
//打开的不是”/tyCo/0”,因为一般应用平台会用”/tyCo/0”做调试串口,由系统配置使用
if(sfd ==ERROR) //如果不能打开,打印出错信息
printf(“You can’t open port com1 !”);
ioctl(sfd,FIOSETOPTIONS, OPT_RAW); //设置串口工作模式为位模式:OPT_RAW
/*FIOSETOPTIONS对应的arg有OPT_LINE、OPT_RAW、OPT_ECHO等等,在通信中一定要用OPT_RAW模式,其他模式可能导致短数据包收不到。关于这些的定义,可以在sioLib.h,ioLib.h里寻找。*/
ioctl(sfd,FIOBAUDRATE,115200); //设置串口波特率为115200bps
ioctl(fd,FIOFLUSH,0); //清空输入输出缓冲
ioctl(sfd,SIO_HW_OPTS_SET, CLOCAL| CREAD|CS8|STOPB|PARENB|PARODD);
//设置为没有流控制C
您可能关注的文档
最近下载
- 工程施工机具安全管理制度.pptx
- 2020年《钢结构设计规范》GB50017..pdf VIP
- 2024-2025学年河南省南阳市唐河县九年级(上)期末英语试卷(含答案).pdf VIP
- 浙江省杭州2024-2025学年高一上学期1月期末考试政治试题(含答案).pdf VIP
- 膜分离工程超滤(UF)课件.pptx VIP
- 浙江省杭州学军中学2024-2025学年高一上学期期末考试历史试题(含答案).pdf VIP
- 河南省南阳市唐河县2022-2023学年九年级上学期期末英语试卷.pdf VIP
- 旋挖钻孔灌注桩施工方案.docx VIP
- 阿特拉斯•科普柯 冷冻式干燥机.pdf VIP
- 超滤膜技术介绍.pptx VIP
原创力文档

文档评论(0)