您当前的位置:五五电子网电子知识单片机-工控设备ARM单片机基于ARM微处理器及嵌入试Linux串口网桥... 正文
基于ARM微处理器及嵌入试Linux串口网桥...

基于ARM微处理器及嵌入试Linux串口网桥...

点击数:7121 次   录入时间:03-04 11:48:07   整理:http://www.55dianzi.com   ARM单片机

l、引言

在电力系统自动化控制及其他工业控制、民用设备如商场销售系统等领域,众多设备的对外通讯接口仍然是低速串口。串口由于其易用性、可靠性及相对于工控设备来说足够高的通信能力而长盛不衰。然而,串口有一个重大弱点就是传输距离短且无法与网络直接相连,造成设备无法实现远程控制及数据共享,而这些恰恰是实现工业控制高度自动化的必须条件。因此,要求设计一种使串口设备快捷方便地实现联网功能的装置,而且要求其成本低廉,我们称之为串口网桥或串口设备联网服务器。

2、串口网桥简介

我们设计的串口网桥是一个可以为RS-232串口设备提供联网能力的设备联网服务器。装置主要完成主机与串口设备间交流数据的过滤与转发功能,将RS-232信号转换成TCP/IP协议,使设备数据可以在I n t e r n e t或 Intranet上流通、共享。牢门网桥具体功能描述如下:

● (远程、本地)主机可以如操作本机串口一样通过TCP/1P网络对串口设备进行远程数据读取,资料处理和数据多点传输,即串口设备原有的主机方应用程序不需任何修改即可重新利用;

●支持主机以Web方式及Telnet方式登录修改配置;

●可在网桥装置上直接设置IP地址;

●自动检测10/100Mbps Ethernet网络;

●可同时操作8个串口设备。串口网桥装置广泛应用于工业设备联网自动化、门禁考勤管理、商场销售系统联网自动化、远程影像传输等众多领域,它的典型应用如图1所示:

3、系统硬件结构

串口网桥的硬件结构原理图如图2所示:

各主要模块基本组成描述如下:

●每微处理器MCU:采用SAMISUNG公司生产的ARM7TDMI内核S3C4510B处理器;

● 1 0/100M以太网接口:用一片RTL8201与S3C4510B片内的MAC控制器一起组成以太网接口电路,并通过网络隔离变压器与RJ45以太网口相连;

●FLASH存储器:采用一片39VFl60
FLASH存储器,大小为2M字节,用于存
放已调试好的用户应用程序、嵌入式
操作系统以及其他在系统掉电后需要
保存的用户数据等;

● S D R A M存储器:用两片HY57V641620HG并联构建32位的SDRAM存储器系统,共16M字节,可满足嵌入式操作系统及各种相对较复杂的算法的运行要求;

●JTAG接口:可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等;

●多串口扩展:用两片STl6C554扩展出八个串口,以同时连接多台串口设备。

下面分别对装置硬件结构中的主要模块功能进行简要分析。

3.1ARM微处理器S3C4510B

串口网桥的系统核心是一颗韩国三星电子生产的S3C45l0B-16/32位RI 5C(精简指令集计算机)微控制器。该微控制器专为以太网通信系统的集线器和路由器而设计,具有低成本和高性能的特点。

S3C45l0B中内置了ARM公司设计的16/32位ARM7TDMI处理器,提供了8K字节的Cache(高速缓存)和以太控制器,内置2通道的HDLC(高级数据链路控制),2个UART(通用异步收发)通道,内置32位定时器和18个通用可编程I/O端口。S3C4510B内部采用32位系统总线,有I2C接口,还集成了中断控制器、DRAM/SDRAM控制器、ROM/SRAM和闪存控制器。以上功能特点均集成在此单芯片中,可大大减少系统成本。 软件方面,S3C45l 0B因内置ARSM7TDMI核,可以执行32位的ARM指令,也可执行16位的THUMB指令。

S3C4510B采用3.3V电压供电,208脚的QFP封装,操作频率最高达50MHz。

3.2 10/100M以太网接口电路

S3C4510B内嵌了一个以太网控制器,支持媒体独立接口(Media Independent Interface,UII)和带缓冲DMA接口(Buffered DMA Interface,BDI),可在半双工或全双工模式下提供10/100Mbps的以太网接入。在半双工模式下,控制器支持CSMA/CD协议,在全双工模式下支持IEEE802.3 MAC控制层协议。

但S3C4510B并未提供物理层接口,因此,需外接一片物理层芯片以提供以太网的接入通道。常用的单口10/l00Mbps高速以太网物理层接口器件主要有RTL8201,DM9161等,均提供MII接口和传统7线制网络接口,可方便地与S3C4510B相连。串口网桥的设计中使用RTL8201作为以太网的物理层接口。

3.3 Flash存储器接口电路

Flash存储器具有低功耗、大容量、擦写速度快.可整片或分扇区在系统编程(烧写)、擦除等特点,因而在各种嵌入式系统中得到了广泛的应用。作为一种非易失性存储器,Flash在系统中通常用于存放程序代码以及一些在系统掉电后需要保存的用户数据等。系统中用了一片39VFl60 FLASH存储器,其单片存储容量为16M位(2M字节),工作电压为2.7V~3.6V,采用48脚TSOP封装或48脚FBGA封装,16位数据宽度。

39VF160仅需单3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除以及其他操作。

3.4 SDRAM接口电路

SDPAM在系统中主要用作程序的运行空间,数据及堆栈。当系统启动
时,CPU首先从复位地址起始处开始读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统堆栈,用户堆栈以及运行数据也都放在SDRAM中。

要在系统中使用SDRAM.要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C4510B及其他一些ARM芯片在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM相连接。

HY57V641620HG为16位数据宽度,单片容量为8M字节,为充分发挥32位CPU的数据处理能力,串口网桥设计中用两片HY57V641620HG并联构成32位的SDRAM存储器系统,共16M字节的SDRAM空间,可满足嵌入式操作系统及各种相对较复杂的算法的运行要求。

3.5 JTAG接口电路

JTAG(Joint Test Action Group)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路,可以通过专用的JTAG测试软件对芯片内部节点进行测试。目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP,FPGA器件等。JTAG接口常用于实现ISP(In-System Programmable,在系统编程)功能,如对FLASH器件进行编程等。通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁而高效的手段。

3.6多串口扩展

串口网桥提供八个标准RS232串口以连接多台串口设备。当然。S3C4510B不可能提供这么多个串口,因此我们需要自己扩展。

多串口扩展原理如图3所示。

STl6C554是集成异步通信元件,每片16C554中包含4个改良的16C350异步传输器件,每个通道有独立的16字节接收缓冲器和16字节发送缓冲器,可以达到更高的通讯速率而无需占用过多的CPU资源。

Maxim公司的MAX202芯片是标准的RS232电平转换器,是符合RS232通信标准的接口芯片,该芯片功耗低,集成度高,使用单一5V电源,每片有2个驱动器和2个接收器,具有2组接收和发送通道,接口电路简单,可靠性高,可实现TTL电平和RS232电平的直接转换。

串口数据信号通过MAX202转换成TTL电平,再通过STl6C554输出中断请求。八个串口的中断请求或起来产生IRQ信号INTREQ,经CPLD再与CPU的中断控制器相连。

设计中使用CPLD主要是为了解决多串口共享一个中断源时必然产生的中断重叠问题。为提高可靠性,系统中的八个串口均采用中断方式进行数据处理,并且八个串口共享一个中断源。在共用的中断服务程序中,程序按顺序对八个串口进行一次数据检测。若发现某个串口有数据,则进行相应处理。但这样一来,将会产生如下问题:例如,中断服务程序刚对串口l进行检测,没有发现数据,则转向串口2进行检测,发现串口2有数据,因此程序将进行串口2的数据处理,如果这时串口l发生中断请求,由于CPU无法保存该请求脉冲,串口l的中断请求将被忽略。

为了解决这个问题,可以在共享中断源后面加一个用CPLD实现的逻辑电路。该逻辑电路由两部分组成,第一部分是一个可寻址的寄存器INTEN,作为共享中断的允许位。第二部分是一个状态机逻辑电路,该电路共有三个状态:S 0是等待状态,该状态下INTEN=I,只要任何一个串口产生中断请求,CPU将马上响应该中断;Sl是中断服务状态,中断服务程序一开始执行,马上将INTEN设置为0,以屏蔽其他中断请求,退出中断服务程序时,再将INTEN设置为1,中断服务程序执行期间产生的串口中断请求由INTREQ锁存;S2为延时状态,延时50us,以确保中断服务程序完全退出。

状态机逻辑电路状态图如图4所示:

4.系统软件平台

4.5 uC1inux操作系统简介

Linux是一种很受欢迎的类UNIX操作系统,它免费并开放源代码,在个人计算机、服务器领域应用广泛。更重要的是,Linux采取模块化设计,实际应用中可以实现定制,因此Linux也适用于嵌入式领域。uClinux正是Linux的一个嵌入式版本,其内核的二进制映像文件可以做到小于512K。

uClinux针对无MMU(Memory Management Unit,内存管理单元)的处理器设计,支持多任务,具有完备的TCP/IP协议栈并支持多种网络协议。uClinux还支持多种文件系统,如ROMFS,NFS,FATl6/32。实际上,uClinux已经成功应用于路由器、网络摄像机、机顶盒、PDA等诸多领域。

[1] [2]  下一页


本文关键字:微处理器  Linux  ARM单片机单片机-工控设备 - ARM单片机