基于WINCE的多串口扩展系统的设计
Implementation of Multi-Serial Extension System Based on WinCE
摘要:系统利用ARM9、CPLD、TL16C554设计多串口扩展系统的方案,首先介绍ARM9处理器S3C2440、CPLD芯片EPM3128、四路串口扩散芯片TL16C554 的特性,随后介绍多串口扩展系统的硬件设计,最后详细介绍CPLD 硬件程序代码以及TL16C554 的WINCE 驱动程序设计和WINCE 应用程序设计。
关键词:WinCE,多串口扩展,TL16C554,ARM9,CPLD
Abstract: This paper proposes a multi-serial extension system solution based on ARM9 CPLD TL16C554. There is first a general introduction of the micro-processor S3C2440, CPLD chipset EPM3128 and four-channel serial extension chip TL16C554. Following the brief introduction, the paper presents hardware design of multi-serial extension system. Finally the paper describes the CPLD hardware
process and the WinCE driver program of TL16C554 , and the application program design of TL16C554 based on WinCE.
Key words: WinCE, Multi-serial extension, TL16C554, ARM9, CPLD
随着当今科学技术的发展,智能化及自动化设备越来越多,其中以计算机网络设备及现场总线的发展最为典型。在大型集中控制现场如停车场主控制系统、多点温度采集系统等,要进行采集和测试的通信点数和通信终端较多,多个串口通讯系统应运而生。普通设备的主控制器通常采用简单的单片机,其往往只有一到三个串口,不能满足多采集点的系统要求。为了完成主控制器对多点的通信及控制,需要进行串口扩展,TL16C554是最为常见的4 串口扩展芯片,有很强的灵活性和实用性。基于ARM9 内核的S3C2440 处理器在嵌入式系统的应用相当广泛,可以运行WINCE 操作系统,此处理器的强大功能及外围接口芯片的丰富性,使得系统的开发相对容易,同时也方便扩展16C554。嵌入式多串口扩展系统功能强、应用场所广泛,具有广泛的市场前景。
1 方案分析
为了使多串口扩展系统的应用场合更加广泛,应选择驱动程序及应用程序开发周期短的方案,因此本设计的方案采用ARM9+CPLD+TL16C554 的硬件框架,软件平台基于WINCE 操作系统,其应用程序和驱动程序的开发周期较短。系统框图如图1 所示。
系统的设计包括硬件设计以及 16C554 的WINCE 驱动程序的开发和应用程序的开发。
硬件设计中ARM9 主处理器采用三星公司的S3C2440:其主频最高可以达到533MHz,本系统使用400MHz;总线速度使用100MHz;具有SD 卡接口,支持USB 下载相关内核及镜像;支持多种分辨率的TFT液晶屏;无需围电路的触摸屏接口;外扩64M 的SDRAM,64M 的NAND FLASH;三路UART 通用异步串行口;支持总线方式扩展外设,本系统的另外8 路串口就是通过总线方式扩展两片16C554 实现的。
CPLD 采用ALTERA 公司推出的MAX3000 系列的EPM3128ATC100:具有128 个宏单元;先进高速的I/O接口;具有80 个可用的I/O 口。其高速的硬件运行速度满足本系统的100MHz 的总线扩展速度,I/O 口也满足本系统扩展16C554 的需求。
16C554 采用TI 公司生产的TL16C554AI , 其内部有四个增强型的ACE(AsynchronousConun unicationsElement)异步收发的并/串转换组件TL16C550,波特率通过寄存器的编程可改变,最高可达1Mbps,具有16 字节FIFO 收发深度,可大大减少收发中断次数,提高处理器的效率;具有可独立控制的发送、接收、线路状态和MODEM 状态中断,方便主控制器控制16C554 的收发状态;具有断线产生和检测以及内部故障诊断功能,提高了通信的稳定及可靠性;完善的系统分级中断控制。本系统处理器WINCE 驱动产用中断方式检测16C554 的收发情况。
软件设计中,系统WINCE 应用程序存放在SD 卡中,可针对不同的应用场合编写不同的应用程序。主处理器S3C2440 根据SD 卡内的应用程序控制CPLD+16C554 的串口扩展板,向八路串口收发数据。系统实物完成图如下图2 所示。
2 硬件设计
本系统具体硬件设计采用的方式是S3C2440 的地址线、控制线直接进入CPLD 芯片EPM3128,然后经过CPLD的逻辑运算输出16C554 的片选信号线,16C554 根据片选信号对内部的相应模块进行串口数据处理,处理的数据直接与主控制芯片S3C2440 进行传输。其中一片TL16C554 的外围电路连接如下图3 所示。
图3 中,TL16C554 的并行数据线D0~D7 与ARM9 控制器S3C2440 的数据总线DATA0~DATA7 经过总线驱动芯片LVTH162245 输出相连的;TL16C554 的八个片内寄存器地址线A0~A2 与S3C2440 的地址总ADDR0~A
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)