引言
ARM(Advanced RISC Machines)是近年来在各个领域日益得到广泛应用的32 位微处理器,它既是一个公司的名称,也同样是一类微处理器的通称,包括ARM7、ARM9、ARM9E、ARM10E、SecurCore 等系列。其中ARM7 系列处理器是低功耗的32 位RISC 处理器,它主要用于对功耗和成本要求比较苛刻的产品,它支持16 位的Thumb指令集,使用Thumb 指令集能以16 位的系统开销得到32 位的系统性能。
以ARM 作为微处理器核心嵌入式系统,因其功耗极低,主频高,具有进行高速运算处理能力,完成绝大多数复杂应用的特点。采用SamsungS3C44B0X 微处理器的嵌入式操作系统非常适合作为嵌入式系统的控制核心,成为系统主控制器的中心控制单元,通过通讯接口与其他协处理器进行数据交互实现并行工作。因此,如何高效地设计主控制器与协处理器之间的接口,特别是在多路控制板需要控制的应用条件下,满足系统的实时性要求,就显得尤为重要。在本系统设计中,某型模拟器应用S3C44B0X 处理器,根据预先设定的逻辑关系及输入的数据,在计算获得各个通道模拟通道输出量后,通过串口向系统内各个模拟控制板广播控制电文,信道内模拟控制板可根据广播控制电文的相关信息,执行各从控制板控制动作,并返回主控制器相应执行状况。
系统硬件组成
系统选用的S3C44B0X 微处理器是三星公司专为手持设备和一般应用提供的高性价比的微控制器解决方案,是由ARM 公司设计的16/32 位ARM7TDMI 核处理器工作在66MHZ,可内置uCLinux 系统,支持基于JTAG 的片上集成ICE调试解决方案。
1.1 处理器集成外设特点
S3C44B0X微处理器采用2.5VARM7TDMI内核,带有8KB Cache(SAMBA II 总线体系结构)为了降低系统总成本和减少外围器件,这款芯片提供了全面通用的片上外设,从而最小化系统的成本,片上资源丰富,其系统集成的主要集成外设如表1 所示。
1.2 系统组成及对外接口
主控制器系统构成如图1 所示,除串行口外,还可以通过EBI 总线接口,扩展网络接口,扩展SDRAM,外置FLASH 接口等,使得主控制器系统在完成对外部多路控制板的处理和控制以外,还可以实现信息的对外转发、存储或显示等功能。
2 S3C44B0X 的URAT 单元结构
S3C44B0X 的URAT(通用异步收发器)单元提供两个独立的异步串行I/O 端口,每个都可以在中断和DMA 两种模式下工作。每个URAT 通道包含2 个16 字节的FIFO(先入先出)分别提供给接收和发送。每个UART 都具有独立的波特率发生器,发送器,接收器和控制单元。波特率发生器可由芯片内系统时钟驱动或外邻时钟驱动。每个发送器和接收器都有独立的数据缓冲器和数据移位寄存器,发送器和接收器包含16 字节的FIFO 和移位寄存器,要发送的数据首先写入FIFO 然后复制到发送移位寄存器。然后它从数据输出端口TxDn 依次被移位输出,被接收到的数据也同样从数据接收端口RxDn 移位输入到移位寄存器,然后复制到FIFO.其方框图如图2 所示。
S3C44B0X 中所包含的两个串口TxD0 ,RxD0,TxD1,RxD1 均可以中断模式或DMA 模式工作。发送/接收数据帧都是可编程的,一个数据帧包含一个起始位,5 到8 个数据位,一个可选的奇偶校验位和1 到2 个停止位,这些均通过线性控制寄存器ULCONn 控制。发送器还可产生中止条件,它保证连续输出一帧时间的逻辑0 信号,信号必须在传输完当前传输字的情况下进行。
接收的数据帧式与发送数据帧式相同,接收器还可以检测到溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志置位。
多路控制板通讯接口设计
3.1 多路模拟器控制板通讯结构
模拟器各从模拟控制板与模拟器主控制器S3C44B0X 之间通讯采用 RS-485 电平, 当S3C44B0X 处于工作状态后,依照给定的时间间隔,把计算得到的控制信息通过串口向处于485总线上的各从模拟控制板发送控制电文,各从模拟控制板在RS-485 总线上则时刻处于监听状态,收到相应信息后则在设定的总线空闲时机,向主控制器回复当前执行状况,各从模拟控制板之间,也可以依托主控制器,即采用从-主 -从的方式,实现相互之间的数据交互或状态查询。
3.2 模拟器通讯控制电文设计
各个从模拟控制板接收主控制器发送的控制电文并解析,必须首先明确其每帧结构,然后才能根据其结构完成对各相关信息的提取。目前的信息传递帧格式定义的方法有:可见字符编码,内部读取互不兼容的二进制格以及混合编码方式等。对于本文所使用的主从通讯结构,为方便调试和外部监视读取,相互间采用可见的ASCII 码接口协议发送。发送出的数据主要由帧头、帧尾和帧内数据组成。
从模拟控制板在处理时一般先通过对帧头的判断而识别后续数据内容,进行数据的提取处理。
由于数据帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII 码“$”来判断是否是帧头,对帧头的类别进行识别后再通过读取设备类型,判断正在接收的是否为该从模拟控制板的相关信息,再通过对所经历逗号个数的计数或字符数据长度来判断出当前正在处理的是哪一种控制参数,并做出相应处理。
结束语
整个系统硬件设计方面运用了资源丰富,速度快且低功耗的ARM 嵌入式处理器,并提供了与多个从模拟控制板连接的串口总线通讯解决方案。采用ARM 内核可以使系统小型化,并极大的提升了系统性能。在实际应用中多路控制板易于扩展,从总线提取的控制电文信息也可方便与各种外设连接和调试,使其便于实现更高层次的功能和应用,具有较好的应用推广价值。