刘亚丽,王林栋,黄汛
基于ARM 7的S3C44B0X与多路模拟器控制板通讯接口设计与实现
刘亚丽1,王林栋2,黄汛2
(1. 海军蚌埠士官学校,安徽蚌埠 233012;2. 中国人民解放军91445部队,辽宁大连 116043)
本文介绍了ARM处理器S3C44B0X的基本特性及其UART单元,设计了利用S3C44B0X与多个模拟器控制板的多路通讯接口,以解决主控制器与多路控制板的实时协同工作问题,给出了通过广播控制电文进行控制的实例,该设计成功应用于某大型训练模拟器,结果表明了其具有良好的扩展性和使用推广价值。
S3C44B0X 嵌入式系统 接口设计
ARM (Advanced RISC Machines)是近年来在各个领域日益得到广泛应用的32位微处理器,它既是一个公司的名称,也同样是一类微处理器的通称,包括ARM7、ARM9、ARM9E、ARM10E、SecurCore等系列。其中ARM7系列处理器是低功耗的32位RISC处理器,它主要用于对功耗和成本要求比较苛刻的产品,它支持16位的Thumb指令集,使用Thumb指令集能以16位的系统开销得到32位的系统性能[1]。
以ARM作为微处理器核心嵌入式系统,因其功耗极低,主频高,具有进行高速运算处理能力,完成绝大多数复杂应用的特点。采用Samsung S3C44B0X微处理器的嵌入式操作系统非常适合作为嵌入式系统的控制核心,成为系统主控制器的中心控制单元,通过通讯接口与其他协处理器进行数据交互实现并行工作。因此,如何高效地设计主控制器与协处理器之间的接口,特别是在多路控制板需要控制的应用条件下,满足系统的实时性要求,就显得尤为重要。在本系统设计中,某型模拟器应用S3C44B0X处理器,根据预先设定的逻辑关系及输入的数据,在计算获得各个通道模拟通道输出量后,通过串口向系统内各个模拟控制板广播控制电文,信道内模拟控制板可根据广播控制电文的相关信息,执行各从控制板控制动作,并返回主控制器相应执行状况。
系统选用的S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比的微控制器解决方案,是由ARM公司设计的16/32位 ARM7TDMI核处理器工作在66MHZ,可内置uCLinux系统,支持基于JTAG的片上集成ICE调试解决方案[2]。
S3C44B0X微处理器采用2.5VARM7TDMI内核,带有8KB Cache(SAMBA II总线体系结构)为了降低系统总成本和减少外围器件,这款芯片提供了全面通用的片上外设,从而最小化系统的成本,片上资源丰富,其系统集成的主要集成外设如表1所示。
主控制器系统构成如图1所示,除串行口外,还可以通过EBI总线接口,扩展网络接口,扩展SDRAM,外置FLASH接口等,使得主控制器系统在完成对外部多路控制板的处理和控制以外,还可以实现信息的对外转发、存储或显示等功能。
S3C44B0X的URAT(通用异步收发器)单元提供两个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下工作。每个URAT通道包含2个16字节的FIFO(先入先出)分别提供给接收和发送。每个UART都具有独立的波特率发生器,发送器,接收器和控制单元。波特率发生器可由芯片内系统时钟驱动或外邻时钟驱动。每个发送器和接收器都有独立的数据缓冲器和数据移位寄存器,发送器和接收器包含16字节的FIFO和移位寄存器,要发送的数据首先写入FIFO然后复制到发送移位寄存器。然后它从数据输出端口TxDn依次被移位输出,被接收到的数据也同样从数据接收端口RxDn移位输入到移位寄存器,然后复制到FIFO。其方框图如图2所示。
图1 主控制器系统结构及对外接口框图
S3C44B0X中所包含的两个串口TxD0,RxD0,TxD1,RxD1均可以中断模式或DMA模式工作。发送/接收数据帧都是可编程的,一个数据帧包含一个起始位,5到8个数据位,一个可选的奇偶校验位和1到2个停止位,这些均通过线性控制寄存器ULCONn控制。发送器还可产生中止条件,它保证连续输出一帧时间的逻辑0信号,信号必须在传输完当前传输字的情况下进行。接收的数据帧式与发送数据帧式相同,接收器还可以检测到溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志置位。
模拟器各从模拟控制板与模拟器主控制器S3C44B0X之间通讯采用RS-485电平,当S3C44B0X处于工作状态后,依照给定的时间间隔,把计算得到的控制信息通过串口向处于485总线上的各从模拟控制板发送控制电文,各从模拟控制板在RS-485总线上则时刻处于监听状态,收到相应信息后则在设定的总线空闲时机,向主控制器回复当前执行状况,各从模拟控制板之间,也可以依托主控制器,即采用从-主-从的方式,实现相互之间的数据交互或状态查询。
各个从模拟控制板接收主控制器发送的控制电文并解析,必须首先明确其每帧结构,然后才能根据其结构完成对各相关信息的提取。目前的信息传递帧格式定义的方法有[3]:可见字符编码,内部读取互不兼容的二进制格以及混合编码方式等。对于本文所使用的主从通讯结构,为方便调试和外部监视读取,相互间采用可见的ASCII码接口协议发送。发送出的数据主要由帧头、帧尾和帧内数据组成。
从模拟控制板在处理时一般先通过对帧头的判断而识别后续数据内容,进行数据的提取处理。由于数据帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码"$"来判断是否是帧头,对帧头的类别进行识别后再通过读取设备类型,判断正在接收的是否为该从模拟控制板的相关信息,再通过对所经历逗号个数的计数或字符数据长度来判断出当前正在处理的是哪一种控制参数,并做出相应处理。
整个系统硬件设计方面运用了资源丰富,速度快且低功耗的ARM嵌入式处理器,并提供了与多个从模拟控制板连接的串口总线通讯解决方案。采用ARM内核可以使系统小型化,并极大的提升了系统性能。在实际应用中多路控制板易于扩展,从总线提取的控制电文信息也可方便与各种外设连接和调试,使其便于实现更高层次的功能和应用,具有较好的应用推广价值。
[1] 刘亚丽,陈颖,黄汛.基于ARM的GPS/无源北斗互备PMU研究与设计[J].电子技术应用,2008(6):29-31.
[2] [S3C44B0X USER MANUAL用户使用手册[M]. SAMSUNG ELECTRONICS, 2004.
[3] 田泽.嵌入式系统开发及应用教程[M].北京:北京航空航天大学出版社,2005.
[4] 王研玲.嵌入式系统数据采集与传输系统研究与设计[J].微计算机信息,2008(6):40-42.
Interface Design and Realization of Communication between S3C44B0X and Multiplex-simulator’s Control Panel based on ARM7
Liu Yali1, Wang Lindong2, Huang Xun2
(1. Naval Petty Officer Academy, Bengbu 233012, China;2. No.91445 troops , Dalian 116043, China)
TN915
A
1003-4862(2013)01-0055-03
2012-04-23
刘亚丽(1981-),女,硕士,讲师。研究方向:船舶电力系统及其自动化。