1、基于arm的uCLinux网络控制系统的设计与实现1收稿日期 :2004206209; 修返日期 :2004208215基金项目 :国家 “ 863” 计划资助项目 (2003AA209040基于 ARM 的 uCL i nux 网络控制系统的设计与实现3杨皓1, 2, 王 秀 1, 夏克俭 2, 叶 涛1(1. 国家农业信息化工程技术研究中心 , 北京 100089; 2. 北京科技大学 , 北京 100083摘 要 :介绍了 ARM7T DM I 为内核的微处理器 S3C44B0X 在嵌入式网络控制系统中的应用 , 并对基于 AR M 和uCL inux 的嵌入式系统开发进行了探讨。关键词
2、 :AR M; 网络控制 ; 嵌入式 L inux; 串口通信中图法分类号 :TP393109 文献标识码 :A 文章编号 :100123695(2005 0620189203Design and I m p lementati on of Net w ork Contr olEmbedded System Based on ARM +uCL inuxY ANG Hao 2shen1, 2, WANG Xiu 1, X I A Ke 2jian 2, YE Tao1(1. N ational Engineering R esearch Center for Infor m ation Tech
3、nology in A gricluture, B eijing 100089, China; 2. B eijing U niversity of Science &Technology, B eijing 100083, China Abstract:This paper describes the use of ARM7T DM IMCU S3C44B0X in the design of net w ork contr ol syste m. The e mbed 2ded syste m design pattern that base on ARM p r ocess or and
4、 uCL inux is als o discussed . Key words:ARM; Net w ork Contr ol; Embedded L inux; Serial Communicati on1 引言随着社会的日益信息化 , 计算机和网络已经全面渗透到日 常生活的每一个角落 , 嵌入式系统也跨入了新的阶段 , 成为当 前产业的焦点之一 。 随之出现的 I T 信息家电如可视电话 、 移 动电话 、 机顶盒和数码相机等嵌入式设备的市场需求也越来越 大 , 8/16位单片机的速度和内存较难满足嵌入式设备的上网 等需求 。 随着集成电路的发展 , 处理器的价格不断下降 , 用户 已可
5、以大量使用 , 32位处理器更是受到青睐 。在工业控制 、 民用设备如防盗系统等领域 , 多数设备的对 外通信接口仍然是低速串口 。串口由于其易用性和可靠性而 受到用户的欢迎 , 但它有一个突出的弱点 , 就是传输距离有限 , 所以在工业远程控制中常采用 TCP /I P 方式实现 。本文就是 针对上述问题进行嵌入式系统开发并提出了在农业控制上的 典型应用 。智能温室已在国外取得了广泛成功 , 在我国也具有广泛的 应用前景 , 本系统就是针对智能温室提出的技术方案 。 它采用 嵌入式系统 (AR M +uC L inux 作主控制器 , 通过 TCP /I P 网络 与上层管理系统通信 , 与
6、下层传感器和执行结构的通信通过RS 2232, 主要开发工作集中在嵌入式系统软硬件 。 其特点是抗干扰能 力 强 , 适 于 恶 劣 变 化 的 环 境 ; 而 采 用 下 层 控 制 器 (W 78E58B 作为下位机的智能温室控制系统则运行可靠 、 操 作简单 、 价格远低于引进产品 , 能满足系统要求 ; 多个下层控制 器与主控制器形成分布式集散控制网络 , 其特点是结构简单 、 性能稳定 、 生产成本低 、 系统配置灵活 。2 系统开发环境介绍2. 1 ARM (Adva nce d R I SC M ach i ne s 简介AR M 公司是专门从事基于 R I SC 技术的芯片设计
7、开发的公司 , 是业界领先的 AR M 16/32位嵌入式 R I SC 处理器技术提 供商 。 它设计了大量高性能 、 廉价 、 耗能低的处理器 R I SC 相关 技术及软件 , 它可为一个完整系统的开发提供全面的技术支 持 , 具有性能高 、 成本低和能耗省的特点 。 AR M 的微处理器核 心适用于多种领域 , 正迅速地成为便携式通信设备 、 手持计算 、 多媒体数字消费者和嵌入式解决方案 。AR M 将其技术授权给世界上许多著名的半导体和软件厂商 , 每个厂商得到的都是一套独一无二的 OE M 相关技术及服 务 。 利用这种合伙关系 , AR M 很快成为许多全球性标准的缔 造者 。
8、 目前总共有 30家半导体公司与 AR M 签订了硬件技术 使用许可协议 , 其中包括 I ntel I B M 半导体 、 菲利浦和国民半导 体这样的大公司 。2. 2 uCL i nux 操作系统L inux 是一种很受欢迎的类 UN I X 操作系统 , 它免费并开放源代码 , 在个人计算机 、 服务器领域应用广泛 。 更重要的是 ,L inux 采用模块化设计 , 实际应用中可以实现定制 , 因此 L inux也适用于嵌入式领域 。在嵌入式系统设计中 , 为了降低硬件成本及运行功耗 , 有 一类 CP U 在设计中取消了 MMU (内存管理单元 功能模块 。 最初 , 运行于这类 CP
9、 U 之上的都是一些很简单的单任务操作 系统 , 或者更简单的控制程序 , 甚至根本就没有操作系统而直 接运行应用程序 。 在这种情况下系统无法运行复杂的应用程 序或者效率很低 , 而且所有的应用程序需要重写 , 并要求程序981 第 6期 杨皓 等 :基于 AR M 的 uCL inux 网络控制系统的设计与实现 员十分了解硬件特性 。 这些都阻碍了应用于这类 CP U 之上的 嵌入式产品开发的速度 。uC L inux 是专 门 为 无 MMU 的 微 处 理 器 使 用 的 嵌 入 式 L inux 操作系统 , 它是由 L inux 2. 0内核发展来的 。 由于大多数 内核的二进制代
10、码和源代码都被重写 , 进一步缩减了 uCL inux 内核的代码 。 uC L inux 内核要比 L inux 2. 0原内核小得多 (内 核小于 512K B, 加上工具小于 900K B , 支持多任务 , 具备 TCP / I P 协议栈并支持多种网络协议 , 并保留了 L inux 操作系统的主 要优点 :稳定性 、 优异的网络能力以及优秀的文件系统支持 。 实际上 , uCL inux 已经成功地应用于路由器 、 网络摄像机 、 机顶 盒 、 P DA 等诸多领域中 。 另外 , uC L inux 可移植性很强 , 用户通 过重新配置 、 编译内核 , 可以方便地将其移植到 A
11、R M , D ragon Ball, ColdFire, Power PC 等多种处理器平台 。当前 uC L inux 主 要提供 2. 0和 2. 4两个内核版本 。3 系统硬件设计硬件设计采用 Sa m sung S3C44B0X 芯片作为 CP U, 再加上 8MB S DRAM 和 2MB Flash (39VF160, Sa m sung 以及外围接口 芯片 。 其中采用 AR M 核脚封装 208QFP, 最高时钟为 66MHz 。 S3C44B0X 是三星公司推出的一款基于 AR M7T DM I 核的 16/ 32位 R I S C 的嵌入式微处理器 , 是为手持设备或者其
12、他通用设 备而开发的低成本 、 高性能的微处理器 。 它的低功耗及简单而 优雅的设计 , 极其适合于对成本和功耗要求比较高的应用场 合 。 本项目硬件可提供的接口包括 : 10Mbp s 以 太 网 接 口 , 可 连 接 到 网 络 ; 扩 展 芯 片 为 RT L8039。 2个 RS 2232串行口 , 与前端控制器及超级终端相连 。 I D E 接口 , 可挂接硬盘的存储设备 。 US B 1. 1接口 ; 扩展芯片为 PH I L I PS P D I U S BD12。 II C 总线接口 。 LCD 接口 。 支持 640480以下单色或 320240以下 ST N /DSTN
13、256色 。4 系统功能实现4. 1 系统构成本系统由服务器 、 前端控制器和客户端组成 , 可对被控元 件进行实时控制 。 系统结构如图 1所示 。服务器硬件平台为 S3C44B0X, 软件平台为 uC L inux 。在该平台上运行控制服务程序 , 与客户端采用 TCP /I P 协议进行 连接 , 自定义端口 。控制服务程序与前端控制器采用 RS 2232连接 。客户端硬件平台为普通 PC 机 , 软件平台为 Red Hat 810。 运行控制请求程序 , 可通过网络向控制服务程序提出请 求 , 控制前端控制器 。前端控制器采用华邦 W 78E58B 单片机 , 通过监听服务器 的控制信
14、息来驱动执行机构 , 如控制电磁阀等并返回检测信 息 。 服务器与客户机和前端控制器的连接过程为 :在服务器 端 , 如果执行 Socket, B ind 和 L isten 系统调用 , 则能够进行连 接 ; 在客户机端 , 如果执行 Socket, Connect 系统调用 , 则可以发 送用于建立连接的一个 SY N 段 。在建立连接之后 , 如果服务 器端执行 Accep t 系统调用 , 那么在建立连接的主机之间可以 进行通信 。 在前端控制器上的检测元件将检测数据通过串口 传到主机 , 主机经分析后将相应的控制策略传下 。客户端操作过程如下 :客户机端的处理是一种根据 Select
15、 的事件驱动 (Event D riven 型处理 , 如果没有键入或没有接收 到报文 , 则不作任何处理 ; 如果有键盘输入 , 则将所输入的报文 原封不动地发送给服务器 。 若服务器接收到该报文 , 则对其进 行解释 , 并执行相应的函数或命令 , 而后服务程序将命令的执 行结果返送到客户机 。4. 2 系统功能实现41211 T CP 服务程序的编制TCP 服务程序可在 Red Hat 8. 0宿主机上编写 , 调试通过 后进行交叉编译 。 连接程序如下 :int s0;if (s0=s ocket (AF_I N ET, S OCK_STREAM,0 0 /生成 TCP 套接字perr
16、 or ( s ockft ;exit (EX I T_FA I L URE ;mem set (char 3 &server,0, sizeof (server ;server . sin_fam ily =AF_I N ET;server . sin_addr. s_addr=ht onl (I N ADDR_ANY ;server . sin_port=ht ons (port ;if (bind (s0, (struct s ockaddr 3 &server,sizeof (server 0 perr or ( bind ;exit (EX I T_FA I L URE ;liste
17、n (s0, 5 ;while (1 len =sizeof (client ;if (s =accep t (s0, (struct s ockaddr 3 &client,&len 0 /接受连接perr or ( accep t ;exit (EX I T_FA I L URE ;p rintf ( connected fr om %s n, inet_ntoa (client . sin_addr ; if (strc mp (cmd1, OPEN_A_PORT ! =0 /命令查询open_a_port( ;(1 交叉编译由于服务程序是在不同 CP U 上编译的 , 所以在移植前应
18、对 TCP 服务程序针对 AR M 芯片进行交叉编译 , 生成可执行程 序 。 交叉编译器为 ar m 2elf 2gcc 。首先要在 L inux 机器上建立 AR M 的交叉编译环境 , 将从 htt p:/www. uC L inux . org/上下载的 ar m 2elf 2t ools 安装在 L inux 宿主机上的 /usr/l ocal/bin目录下。 现 在的应用程序和将来的 uC L inux 都要在这个环境下编译。 (2 移植及操作系统的编译将 T CP 服务程序添加到操作系统 , 编写 M akefile 文件 , 修91 计算机应用研究 2005年改 config
19、. in 等配置程序 。 若 T CP 服务程序名为 tcp s . c,Makefile 文件如下 :EXEC =tcp sOBJS =tcp s . oA ll:$(EXEC $(EXEC :$(OBJS $(CC $(LDF LAGS 2O $(OBJS $(LDL I B S r omfs: $(ROMFSI N ST /bin/$(EXEC clean: r m 2f $(EXEC 3. elf 3. gdb 3. o随后对 uCL inux 进行编译 , 可应用 Make menuconfig 或分 步进行 。 若需要网络应用 , 可将相应的网络服务如 FTP 等编 译到操作系统中
20、 。 编译完成后 , 个人开发的应用程序和编译添 加的应用可在 /bin目录中找到 。(3 TCP 服务程序系统启动在调试过程中 , TCP 服务程序可以有两种启动方式 , 这两 种启动方式都需要 Bootl oader 引导 (也可直接将操作系统烧 入 。 一种是将交叉编译完成后的程序通过 FTP 等网络服务 下载到 AR M 板上 ; 另一种是将 TCP 服务程序直接编译到操作 系统中 。系统开发成功后 , 可应用开发工具将程序直接烧入芯片 。 从服务器上能够发送出使用的提示 , 并能显示客户机上的结果 和请求 , 进行浏览 。41212 客户端程序客户端程序可在 Red Hat 8. 0
21、下进行开发运行 , GCC 编 译 。 连接请求过程如下 :. . .if (s =s ocket (AP_I N ET, S OCK_STREAM, 0 0 /生成套接字 perr or ( s ocket ;exit (EX I T_FA I L URE ;me m set (char 3 &server,0, sizeof (server ;server . sin_fam ily =AF_I N ET;server . sin_addr. s_addr=dst_ip;server . sin_port=ht ons (port ;if (connect (s, (struct s oc
22、ket 3 &server,sizeof (server 0 /连接主机perr or ( connect ;exit (EX I T_FA I L URE ;. . .41213 前端固件程序前端固件源程序应用 C51编写 , 硬件采用 W 78E58B 。监 听 AR M 板串口控制命令 , 执行相关的动作 , 如电磁阀的开闭 、 发送 AT 指令等 。为实现控制命令在串口传输的需要 , 编制了一个串口通信 程序 。 协议由引导帧 、 长度帧 、 数据帧和确认帧等组成 。其中 引导帧用于同步每一包数据的引导头 , 长度帧是这一包的总长 度 , 数据帧是其中的控制信息 , 确认帧是接收方对发
23、送方的回 应 。 在发送方有数据发送时先检测线路是否空闲 , 如线路空闲 则向接收方发送 “ 请求发送数据 ” 命令帧 ; 接收机收到后 , 如准 备就绪则回送“ 可以发送 ” 的确认命令 , 发送方得到确认后开 始发送数据 。 接收方对收到的每一帧数据进行校验 , 校验正确 发送 “ 校验正确 ” 命令 , 发送方发送下一帧 ; 否则发送“ 重发 ” 命 令 , 发送方重发此帧 。5 结束语该系统是一种低成本的温室控制系统 , 应用 T CP /I P 协议 进行大棚的温度远程控制 , 并且嵌入式系统是控制系统的发展 方向之一 , 具有一定的推广价值 。本文讨论了一个基于 AR M 微处理器
24、 S3C44B0X 及 uCL inux 的网络控制系统的设计与实 现 , 并对基于该芯片的开发模式进行了探讨 。 uCL inux +AR M 平台可移植性好 , 性价比高 , 在工业应用领域正得到广泛应用 ; 另外 , 以开放软件为背景的模式已经成为热点 。因此 , 研究 uC L inux 在嵌入式系统领域有着很好的应用前景 。参考文献 :1李驹光 . ARM 应用系统开发详解 M.北京 :清华大学出版社 , 2003.2日 村山公保 . TCP /I P 网络实验程序篇 M.北京 :科学出版 社 , 2003.3王学龙 . 嵌入式 L inux 系统设计与应用 M.北京 :清华大学出
25、版社 , 2001.4赵亮 . 单片机 C 语言编程与实例 M.北京 :人民邮电出版社 , 2003.5刘安昱 , 温晓辉 , 刘志红 . 基于 S3C44B0X 的 uCL inux 移植 J 1单 片机与嵌入式系统应用 , 2003, (12 :76279.6htt p:/www. uCL inux . org/pub/uCLinux/uCLinux 2elf 2t ools/arm 2elf 2 gcc . tar . gz, 2003212EB /OL1作者简介 :杨皓 (19742 , 男 , 河北唐山人 , 硕士研究生 , 主要研究方向为嵌入式 系统、 网络应用 ; 王秀 (196
26、52 , 男 , 河北人 , 副研究员 , 主要研究方向为 温度控制、 传感器耦合 ; 夏克俭 (19552 , 男 , 湖北人 , 教授 , 主要研究方 向为计算机智能管理、 软件工程、 信息获取 ; 叶涛 (19762 , 男 , 湖北人 , 博士 , 主要研究方向为嵌入式系统、 机器人。(上接第 188页 3Peng 2Jun W an, Khaled M A lz oubi, Ophir Fireder 1D istributed Con 2 structi on of Connected Dom inating Set in W ireless Ad hoc Net w orks J
27、 1Journal of Communicati ons and Net w orks, 2002, l4(1 :1412 14914钟晓峰 , 王有政 , 梅顺良 , 等 1基于时分系统的无线自组织网络同 步算法 J 1清华大学学报 (自然科学版 , 2005, 45(1 :1241 5Khaled A lz oubi, Xiang 2Yang L i, Yu W ang, et al . Geometric Span 2 ners f orW ireless Ad hoc Net w orks J .I EEE Transacti ons on Paral 2 lel and D istr
28、ibuted Syste m, 2003, 14(5 :408242116Zhong Xiaofeng, W ang Youzheng, Mei Shunliang, et al . D istributed Spanning Backbone of Ad hoc Net w orksC .I E I CE Letters on Com 2municati ons 17H L i m , C Ki m . Fl ooding in W ireless Ad hoc Net w orksJ 1Computer Comm. , 2001, 24(324 :35323631作者简介 :钟晓峰 (19
29、772 , 男 , 博士研究生 , 主要从事无线 Ad hoc 网络设计及无 线网络规划等研究 ; 王有政 (19692 , 男 , 主要从事无线网络设计、 M I 2 MO 2OF DM 技术等研究 ; 梅顺良 (19462 , 男 , 教授 , 主要从事无线信道 编码研究 ; 王京 (19582 , 男 , 信息技术研究院副院长 , 教授 , 主要研究 方向为第三代和第四代移动通信技术、 无线 AT M 技术 、 虚拟无线移动 通信系统与网络、 移动通信系统信道编译码技术、 扩频码分多址技术中 的多用户检测 、 时空分集 、 数字无线接入系统 (DECT, B luet ooth 等 、 微 小卫星的星上信号处理技术。 1 9 1第 6期 杨皓 等 :基于 AR M 的 uCL inux 网络控制系统的设计与实现
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1