基于S3C44B0的串口服务器系统的设计

发布者:喜悦的38号最新更新时间:2013-02-19 来源: dzsc关键字:S3C44B0  串口服务器系统  网络通信 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  目前,煤矿瓦斯、负压及电动机、供电等自动化监控装置已在各大矿井广泛采用,甚至在个别矿井已组网运行。但是,各自动化监控装置绝大部分仍然采用RS232 、RS485 或CAN 总线组网方式,严重影响了矿井安全监控系统运行的实时性、可靠性、交互性。而工业以太网从10 M、100 M 带宽发展到现在的千兆网,已成为矿井监控系统的主要组网方式。

  因此,如何使现有的基于RS232 、RS485 或CAN 总线的串口设备以以太网的方式组网运行,是目前需要解决的一个问题。本文介绍一种基于S3C44B0的串口服务器系统,该服务器系统可将串口数据转换成TCP/ IP 协议进行数据传输,具有广泛的应用前景。

  1  系统硬件结构

  基于S3C44B0 的串口服务器系统硬件结构如图1 所示。

图1  基于S3C44B0 的串口服务器系统硬件结构图

图1  基于S3C44B0 的串口服务器系统硬件结构图

  该系统主要功能: 从串口设备读取数据,将所得到的数据进行TCP/ IP 协议封装,通过RJ 45 的接口发送到上位机,与上位机的服务器程序进行交互;同时,将上位机发送给串口服务器的数据转发到串口,进而通过网络远程监控现场的串口设备。

  RS232 接口电路如图2 所示。在本系统中,扩展出2 个独立的串行口,该串行口可以三线通信或者与Modem 通信。该接口采用2 片MAX3232C芯片,其中MAX3232C(1) 负责串行口发送接收信号的电平转换,MAX3232C (2) 完成握手信号的电平转换。处理器S3C44B0 的C10~C15 分别作为nRTS1 、nCTS1 、TXD1 、RXD1 、nRTS0 、nCTS0 信号,PE1 和PE2 作为TXD0 和RXD0 信号。

图2  RS232 接口电路图

图2  RS232 接口电路图

  以太网控制器采用在嵌入式领域应用广泛且性价比较高的网络控制芯片RTL8019AS ,其接口电路如图3 所示。[page]

图3  以太网控制器接口电路图

图3  以太网控制器接口电路图

  图3 中,RTL8019AS 采用IN T0 中断方式, 连到S3C44B0 的外部中断引脚IN T1 。数据总线宽度为16 位,因此,RTL8019AS 的引脚IOCS16B 上拉。

    RTL8019AS 有3 种工作方式: 跳线方式, 该方式I/ O和中断由跳线决定;即插即用方式( PnP) , 该方式由软件进行自动配置; 免跳线方式,该方式I/ O和中断由外接的EEPROM93C46 中的内容决定。

  使用何种工作方式由RTL8019AS 的引脚J P 决定,图3 中引脚J P 上拉, 即选择跳线方式。

  RTL8019AS 的引脚IOS2 上拉,引脚IOS0 、IOS1 、IOS3 悬空(引脚IOS0~IOS4 在图3 中未画出) ,当引脚IOS0 、IOS1 、IOS3 悬空时,每个引脚里有1 个100 kΩ 的下拉电阻,因此,引脚IOS0 、IOS1 、IOS3为低电平, RTL8019AS 的I/ O 基址为200H。

  RTL8019AS 片选端AEN 接S3C44B0 的nGCS5 也就是Bank6 ,由于数据总线宽度为16 位, S3C44B0的引脚A1 连接RTL8019AS 的引脚SA0 ,因此,对于S3C44B0 来说, RTL8019AS 的I/ O 基址为0X0A000400H。20F001N 为网卡滤波器,其内部包含1 对低通滤波器和1 对隔离变压器,直接与RJ 45相连。

  2  系统软件结构

  系统软件建立在Linux 2. 4 内核的uClinux 操作系统基础上,采用模块化设计,其结构组成模块如图4 所示。系统软件的核心为串口和以太网处理模块,串口服务器通过这2 个模块即可实现串口设备的联网。

图4  系统软件结构组成模块图

图4  系统软件结构组成模块图

  由于uClinux 内核中含有串口、网口的通用驱动程序,因此,不必再写关于串口及网络驱动程序,只需在内核移植时,根据硬件电路对uClinux 进行裁减移植后,便可实现对串口及网络的应用编程功能。

  uClinux 的设备管理和文件系统紧密结合,各种设备都以文件的形式存放在/ dev 目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。所以访问串口,只需要打开相应的设备文件即可。在uClinux 下,串行口COM1 和COM2 对应的设备分别为/ dev/ t tyS0 和dev/ t tyS1 。串口的编程步骤如下:

  (1) 打开串口, 采用open ( ) 函数f d = open(" / dev/ t tyS0" ,O_RDWR| O_NOCTTY) ;(2) 若打开成功, 则对串口进行参数设置:

  tcgetat t r ( f d , &oldtio) ;(3) 清除串口缓冲区,因为串口接收和发送数据是从上一组数据之后的缓冲区开始存放的,为了使先前的数据不会重复出现,故清除缓冲区tcflush( f d , TCIFLUSH) ;(4) 读写串口,读串口采用read ( f d ,sbuf ,B U F_L EN) 函数,写串口采用write ( f d , sbuf , B U F_L EN) ,其中f d 为设备打开返回的值, sbuf 为存放发送或接收数据的数据组, B U F_ L EN 为数据的个数;(5) 读写完成后关闭串口,close ( f d) 。[page]

  网络通信本质就是进程间的通信,网络地址和端口号结合在一起,才可以共同确定整个Internet中的1 个网络进程,网络进程由套接字确定,程序采用Socket 表示。套接字最常用的有2 种:流式套接字( St ream Socket ) 和数据报套接字(DatagramSocket) 。这2 种套接字的区别在于它们使用不同的协议。流式套接字使用TCP 协议,数据报套接字使用UDP 协议。本系统中采用的协议为TCP 协议。具体通信步骤如下:

  (1) 由socket () 函数创建侦听套接字;

  (2) 通过bind ( ) 函数为该套接字分配1 个地址;

  (3) 使用listen () 函数建立和客户机的连接,告诉套接字开始侦听客户机的连接请求;

  (4) 由accept ( ) 函数完成实际的连接,创建连接套接字,原来的侦听套接字将会继续侦听新的连接请求,而新的连接请求可能会通过accept ( ) 函数的再一次调用而获得接受;

  (5) 创建连接套接字成功后,便可完成数据的发送与接收任务,数据接收由recv () 函数完成,发送由send () 函数完成。

  本系统在主程序中创建2 个关键的线程完成数据的传送任务, 分别为Serialt hread 线程和Ethernet t hread 线程。Serialt hread 线程的功能是将串口接收到的数据流通过网口发送出去, 而Ethernet t hread 线程的功能是将网口发送过来的数据流通过串口发送出去。基于S3C44B0 的串口服务器系统主程序流程如图5 所示。

图5  基于S3C44B0 的串口服务器系统主程序流程图

图5  基于S3C44B0 的串口服务器系统主程序流程图

  3  结语

  基于S3C44B0 的串口服务器系统可以将零散的串口设备连入以太网,实现资源的共享以及远程控制功能,基本上满足现代矿井各监控单元的组网需求。该系统控制灵活、成本低、具有较大的扩展性,便于实现各种复杂的控制功能。目前该系统已应用到煤矿供电系统馈电开关的以太网监控系统中,大大促进了煤矿的生产和网络化。

参考文献:

[1]. RS232  datasheet http://www.dzsc.com/datasheet/RS232+_585128.html.
[2]. RS485  datasheet http://www.dzsc.com/datasheet/RS485+_585289.html.
[3]. C10 datasheet http://www.dzsc.com/datasheet/C10_1842564.html.
[4]. TXD1  datasheet http://www.dzsc.com/datasheet/TXD1+_666125.html.
[5]. PE1  datasheet http://www.dzsc.com/datasheet/PE1+_1200705.html.
[6]. PE2  datasheet http://www.dzsc.com/datasheet/PE2+_1200684.html.
[7]. RTL8019AS  datasheet http://www.dzsc.com/datasheet/RTL8019AS+_1096173.html.
[8]. A1  datasheet http://www.dzsc.com/datasheet/A1+_2047438.html.
[9]. 20F001N  datasheet http://www.dzsc.com/datasheet/20F001N+_1136734.html.

关键字:S3C44B0  串口服务器系统  网络通信 引用地址:基于S3C44B0的串口服务器系统的设计

上一篇:基于S3C44B0x的室内空气质量监测仪设计
下一篇:分析基于S3C2410的恒温式自动量热仪设计与应用

推荐阅读最新更新时间:2024-03-16 13:18

基于S3C44B0芯片的uClinux内核引导过程分析
前 言 随着计算机硬件技术的不断发展,功能强大、资源丰富的嵌入式芯片,成为研究人员开发专业应用领域产品的首选。三星公司生产的S3C44B0芯片,采用ARM7TDM I内核,具有功耗小、成本低的特点,是一款专门针对移动终端及PDA手持设备市场的产品。近几年,源码开放的L inux系统迅速发展,很快成为跨平台操作系统中的佼佼者,并且出现了专门针对嵌入式系统的产品———uClinux。在S3C44B0芯片上移植 uClinux操作系统,能够充分发挥该芯片系统资源丰富(相对单片机而言)的特点,开发出功能强大的应用产品。 嵌入式系统的启动引导程序与硬件严格相关,对编写人员的要求较高,而在移植uClinux后又大大增加了引导程序的复杂程度
[单片机]
基于<font color='red'>S3C44B0</font>芯片的uClinux内核引导过程分析
过程分析仪器CAN网络通信设计
引言   现代流程工业的过程控制中,分析检测具有在线、多组分、实时检测的特点,对分析仪器在稳定、可靠、快速、准确等方面有着严格的要求。而广泛使用的工业色谱仪采用色谱分离原理,分析周期长达数分钟至数十分钟,难以实现过程的直接质量控制。过程拉曼光谱仪和激光调制光谱仪等新技术目前价格昂贵,关键技术尚在研究阶段,难以普及。利用技术成熟的单检测器单组分过程分析仪器,通过分析传感器组合技术和嵌入式计算机技术,实现多组分实时检测和建立简便快捷的分析仪器通信网络系统已成为近期国内外分析仪器研发的热点之一。   基于单片机(80C196)或微处理器(DSP、ARM 等)的多组分气体分析仪采用功能强大的CPU,可实时快速测定各种燃烧设备的各项热工参
[嵌入式]
全球网民人数突破40亿,一年增长近2.5亿
据互联网数据研究机构We Are Social和Hootsuite共同发布的“数字2018”互联网研究报告(以下简称《报告》)显示,在去年的同一时间,这个数字刚刚超过了世界人口总数的一半,在短短的一年时间内,便增长了近2.5亿。 报告中显示,更经济实惠的手机和更便宜的流量资费推动了用户数量的增长,2017年有超过2亿人获得了他们的第一台移动设备,全球76亿人口中的三分之二现在拥有手机。 不仅仅用户数量在增加,在过去的12个月里,人们在互联网上花费的时间也增加了。 GlobalWebIndex的最新数据显示,现在普通互联网用户每天大约花费6个小时在相关的设备和服务上,这大约是他们清醒时间的三分之一。 过去一年中,每天
[网络通信]
基于uCLinux和ARM7的网络通信设计
引言 Linux是一种很受欢迎的操作系统,与UNIX系统兼容,开放源代码。它原本被设计为桌面系统,现在广泛应用于嵌入式设备。uCLinux正是在这种氛围下产生的。在uCLinux这个英文单词中,u表示Micro,是“小”的意思;C表示Control,是“控制”的意思,所以uCLinux就是Micro-Control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”。它也是针对无MMU(内存管理单元模块)的微处理器设计的操作系统。S3C4510B就是属于该类的微处理器。 Samsung公司的S3C4510B是基于以太网应用系统高性价比16/32位RISC微控制器,内含一个由ARM公司设计16/32位ARM
[单片机]
基于uCLinux和ARM7的<font color='red'>网络通信</font>设计
ARM11嵌入式系统实时网络通信和LCD显示的实现
摘要:通过对ARM11嵌入式系统Linux下的实时网络通信和LCD显示进行研究,分析了网络通信协议和LCD驱动方式。在ARM11嵌入式系统下设计了直接读写GPIO的LCD显示程序,并实现网络终端服务器和客户端双线程的工作模式,解决了网络通信实时性和可靠性的问题。实际应用表明:该方法LCD显示速度快、网络通信实时性强可靠性好、ARM11和计算机的资源利用率高。 关键词:ARM11;实时网络通信;LCD;Linux 0 引言 ARM11主频为533 MHz,最高可达667 MHz,较ARM7主频提高了10倍,且拥有更丰富的片上资源,处理速度更快,功能更强。基于上述特点,ARM11可完全适应实时性较强的网络终端的设计。 在以
[工业控制]
ARM11嵌入式<font color='red'>系统</font>实时<font color='red'>网络通信</font>和LCD显示的实现
基于S3C4510B的串口网络服务器最小系统
  1 引言   在嵌入式系统时代,所有的设备都要网络化,这是未来科技发展的趋势。而在自动化领域有成千上万的传感器,控制器及其他设备。而他们之间最常用的通信接口就是 RS-232 串口。而随着通信技术的进步,这种简单的通信方法越来越不能适应需要。而高度成熟的网络技术为这一问题的解决提供了一种思路。在实际工作中,笔者为了通过Internet读取只有RS-232串口的传感器中数据,基于S3C4510B设计了一个串口网络服务器的最小系统。   2 硬件设计   本系统微处理器采用三星公司的硬件S3C4510B,网口控制芯片采用Realtek公司的RTL8201,串口控制芯片采用常见的MAX232.主要芯片都是高度集成,接线简洁,原理
[单片机]
基于S3C4510B的<font color='red'>串口</font>网络<font color='red'>服务器</font>最小<font color='red'>系统</font>
bootloader对uClinux的S3C44B0移植
S3C44B0是Samsung公司推出的一款为手持设备或其他通用设备开发的32位处理器,它基于ARM7TDMI核,没有内存管理单元(MMU)。在采用无MMU的微处理器的嵌入式系统中广泛采用的就是uClinux系统,作为linux的衍生系统,其具有支持多任务、内核精简、高效稳定和源代码开放的优点。系统移植的基本过程包括:获取较新版本的linux-2.6.9内核源码,根据目标平台对源码中与硬件平台相关部分进行修改,添加必要的外设驱动程序,对系统进行针对目标平台的交叉编译,生成的内核映像文件的下载调试等。 硬件环境介绍 硬件平台以S3C44B0为核心,采用的外部晶振频率为6MHz,内核主频最高可达到66MHZ,平台以2MB的AMD2
[单片机]
bootloader对uClinux的<font color='red'>S3C44B0</font>移植
倍福Beckhoff在步进电机控制中的应用研究
该系统为某主机电控系统,完成对光束的准直过程中的参数诊断、数据采集、闭环控制等实时控制功能以及与主控系统的通信功能。步进电机以性价比高,实时效果好,不需要昂贵的反馈系统著称,该系统中采用了一千多个步进电机来实现对光束的准直。神光原型采用控制卡控制大量步进电机,控制卡控制步进电机没有负载位置的反馈信号,实时效果差,故障定位非常困难;试验中采用西门子PLC(Programmable Logic Controller,可编程逻辑控制器)控制这些电机可靠性好,但控制少量步进电机时比较简单,控制大量步进电机时时序复杂,接线复杂,成本高,调试困难。最终方案采用德国Beckhoff公司的自动化产品,如嵌入式控制器,现场总线端子、步进电机总线
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved