APP下载

基于PXA270处理器串口通信的研究

2014-12-25杨晓云

太原学院学报(社会科学版) 2014年2期
关键词:PC机字符电平

杨晓云

(太原大学教育学院计算机系,山西太原030001)

目前,嵌入式系统已经渗透到日常生活中的各个角落,工业、服务业、消费电子等,如常见到的手机、MP3、掌上电脑(PDA)、数码相机、机顶盒、电视机、空调器、汽车等都是典型的嵌入式系统。Intel PXA270是Intel公司推出的基于ARM微处理核的嵌入式处理器,它被广泛地应用于PDA、智能手机等领域,这源于它具有卓越的性能。2007年,微软正式发布了自己的第六代嵌入式系统工具套装:Windows Embedded CE 6.0,并完全开放了其核心源代码。它是高度模块化的嵌入式操作系统,它可以根据目标设备或平台的不同特点进行定制。本文利用C++语言制作了一个界面友好的串口通信应用软件 PL_SOM,使用交叉串口线连接 PC机与PXA270处理器相关接口,借助DNW工具测试PC机与PXA270信息传递的内容。该软件可以应用在PC机与其它具有嵌入式操作系统的ARM处理器上,为PC机与高端处理器串口通信提供了途径。

1 系统硬件电路设计

1.1 PXA270芯片简介

PXA270具有较高的主频,最高可达624MHz。PXA270最引人注目的是加入了Wireless MMX技术,大大提升了多媒体处理能力。同时PXA270还加入了Intel Speed Step动态电源管理技术,在保证CPU性能的情况下,最大限度地降低了移动设备功耗。PXA270处理器内部集成了双通道16位PCMCIA PC卡/CF控制器;支持8位、16位I/O模式和Memory模式的访问。存储系统包括 Flash和SDRAM控制器,内置MMC、SD和SDIO卡控制器,支持MMC卡规范3.2,SD卡规范1.01,SDIO卡规范1.0,既支持一般读/写方式,也支持SPI方式。

1.2 RS232串口标准

RS232串口标准是美国EIA(电子工业联合会)与BELL等公司一起开发的通信协议。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有 RS232B、RS232A,它规定连接电缆和机械、电气特性、信号功能及传送过程。

1.3 DB-9针串口以及RS232电器特性

DB-9连接器(接头)又分公头和母头,一般PC机上的RS232 DB-9接头为公头,设备端的RS232 DB-9接头以母头居多(但也有公头的),DB-9针串口引脚定义如表1所示。

在TXD和RXD上:逻辑1(MARK)=-3V~-15V;逻辑 0(SPACE)=+3V~ +15V。在 RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3V~+15V信号无效(断开,OFF状态,负电压)=-3V~-15V。接通状态(ON)即信号有效的电平高于 +3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(3~15)V之间。

表1 DB-9针串口引脚定义

1.4 RS 232与PXA270处理器的连接

EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。MAX3243芯片可完成TTL←→EIA双向电平转换。RS 232与PXA270处理器通信原理图如1所示。

2 软件设计

2.1 UART串口收发数据的数据帧格式

串行通信异步协议的特点是一个字符的一个字符地传输,并且传送一个字符总是以起始位开始,以停止位结束的,字符之间没有固定的时间间隔要求。其串口收发数据帧格式如图2所示。

图1 RS 232与PXA270处理器通信原理图

图2 收发数据帧格式

通用异步收发串行接口的数据帧格式:起始位、数据位、奇偶校验位、停止位。

2.2 串口通信应用程序

2.2.1 打开串口设备

Windows CE应用程序通过应用编程接口函数CreatFile()来创建、打开或修改一个文件,而所有的设备都被抽象为文件,所以这里的串口设备也被当作文件一样打开。CreatFile()函数返回一个设备句柄(标志了某个设备),在以后访问该设备时就要利用这个设备句柄。

应用程序打开串口设备时,引用的设备的名字应遵循串口驱动的接口规定。串口驱动的索引号由注册表中的子键“Prefix”与“Index”两项组成,结合该实验要求,要打开FFUART,CreateFile()函数的第一个参数值应设置为L“COM2:”

对于串口等通信设备,在打开设备的时候一般要指定其设备相应通信参数。应该要设置的参数波特率、数据帧格式、收发超时等。这些参数被包含在结构体DCB中。在Windows CE应用程序中,可以通过函数SetCommState()来设置设备的通信参数。

2.2.2 应用程序从串口读数据

应用程序通过ReadFile()函数来从文件中读取数据。在本实验的串口控制应用程序中,通过函数WaitCommEvent()来监控串口设备,如果串口设备有事件发生并且是缓冲区中接受到了字符,那么就通过ReadFile()函数调用串口驱动从串口缓冲区中读取数据。函数SetCommMask()用来设置与设备通信时监控的事件类型,在Windows CE下,通信事件都有相应的掩码定义。函数SetCommMask()用来清除与设备通信时发生的错误,并且可以返回设备状态。

2.2.3 应用程序往串口写数据

应用程序通过WriteFile()函数调用串口驱动的写串口函数。

2.3 测试结果

在PC机上打开串口监控软件DNW,配置波特率为115200。然后在DNW窗口的主菜单中点击“Serial Port”- >“Connect”。将可执行文件 PL_SOM.exe(通过编译PL_SOM应用程序得到)通过SD卡拷贝到已经运行了Windows CE 6.0的基于PXA270处理器的实验平台中运行,在串口应用程序的初始界面的左边下拉框配置串口通信的参数,相关的串口通信配置参数如图3所示。

图3 串口通信应用程序界面

在PC机上的DNW窗口中输入要发送的字符,比如,这里输入“1768520”,然后在PXA270处理器的实验平台上会接受到PC机上发送来的数据,在Receive Data区域显示“1768520”,同样,在 Send Data区域输入“5201768”,点击“Send Data”,数据发送到了PC机上。PC机会通过DNW软件接收到刚才发送的数据,实验结果如图4所示。

图4 DNW接受PXA270处理器发来的数据

3 结论

本文阐述了PC机与PXA270处理器串口通信的实现过程。通过上述的实验表明:基于PXA270处理器串口通信的设计思路简单可行、具有很强的可移植性,为PC机与高端处理器串口通信提供了途径,同时也使嵌入式系统在整个应用系统中起到了智能控制与信息处理的作用。串口通信可以应用于信息家电、工业控制以及传感技术等多个领域,具有良好的实用价值和广阔的应用前景。

[1]王黎明,夏立,卜乐平,等.深入浅出XScale嵌入式系统[M].北京:北京航空航天大学出版社,2011.

[2]贺敬凯,刘德新,管明祥.单片机系统设计、仿真与应用——基于Keil和Proteus仿真平台[M].西安:西安电子科技大学出版社,2011.

[3]潘方.RS 232串口通信在PC机与单片机通信中的应用[J].现代电子技术,2012,35(13).

[4]葛磊蛟,毛一之,李歧,等.基于C语言的RS232串行接口通信实现[J].河北工业大学学报,2008,37(6).

[5]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.

猜你喜欢

PC机字符电平
寻找更强的字符映射管理器
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
NPC五电平Z源逆变器的设计研究
基于三电平光伏并网逆变器控制系统的研究与实践
基于NPC三电平变换器的STATCOM研究