0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S3C2410微处理器和操作系统实现光电测量仿真检测系统的设计

电子设计 来源:微计算机信息 作者:田文博,金光,刘洵 2020-10-24 10:39 次阅读

引言

动基座光电测量平台按载体的不同可分为车载、舰载、机载和星载四种。为了保证测量平台系统的可靠性和测量的准确性,平台在正式放到载体上运行之前需要进行仿真检测。目前的动基座光电测量仿真检测系统大多成本高、人机交互性差,携带不方便,给外场检测带来很多麻烦。本文针对这个问题,利用三星ARM9处理器 S3C2410、嵌入式 WinCE操作系统,设计出了一种可视化便携的动基座光电测量仿真检测系统。该系统使用终端控制命令操纵光电平台,通过串口通信实时检测平台的各种性能指标。

S3C2410是三星公司生产的一款基于 ARM920T内核的 32位 RISC微处理器,主频可达 203 MHz。其内部集成大量的外围资源,具有高性能、低功耗、接口丰富的特性。 WinCE是微软开发的一个开放的、可升级的 32位嵌入式实时操作系统,它的图形用户界面相当出色,具有模块化、结构化的特点, WinCE支持各种硬件外围设备、其它设备及网络系统。 WinCE有完善的配套开发软件工具集,使嵌入式系统开发者和应用开发者能够定做各种产品

1 系统的硬件构成

在经过分析、筛选之后,选择合适的硬件搭建硬件开发环境。光电测量仿真检测系统的硬件环境,主要由以 S3C2410为核心的单片机、带触摸屏的 LCD和 SD卡三部分组成。系统的总体结构图如图 1所示。

基于S3C2410微处理器和操作系统实现光电测量仿真检测系统的设计

图1系统整体结构图

虚线以上的部分为光电测量仿真检测系统的硬件环境,其各部分组成与功能如下:

(1)以 S3C2410为核心的单板机。这是整个系统的硬件核心。它带有一个 64M的 SDRAM和一个 64M的 Nand Flash。一个 SD卡插座用来安装数据存储用的 SD卡,一个 USB Host可以接鼠标键盘输入控制设备,一个 USB Device接口用于系统程序的烧写。为了开发时的调试方便,还扩展了一个 10M的以太网接口,主要用于和宿主机通讯﹑调试和下载程序。同时还带有两个 DB9的串口,一个用于设计阶段的调试,另一个用于与下位机上的 PC104通信,从而达到控制光电测量平台的目的。

(2)带触摸屏的 LCD。这是系统的显示控制终端,负责用户控制端的图形界面显示。用户可以在发送面板上根据自己的需求输入控制命令,同时在接收面板会显示下位机传过来的各项性能指标。出于便携化设计的考虑,屏幕只有 3.5寸大小,分辨率为 320*240。

(3)SD卡。它是系统的存储设备,负责存储通信数据。出于系统小型化和便携的考虑,我们选择体积较小的 SD卡作为数据存储介质。

由于篇幅的限制,这里只简要的介绍了一下系统的硬件开发环境。在接下来的部分将详细的阐述其软件开发流程。

2 系统软件开发环境

在进行软件开发之前,必须先建立软件开发环境。本文将使用嵌入式 WinCE操作系统作为软件的运行平台,下面将简要介绍其软件开发环境的建立。

(1)WinCE内核的定制。嵌入式系统由于受硬件资源的限制,在实际开发时往往需要裁减,然后定制出适合自己硬件资源的嵌入式操作系统。根据现有的硬件设备配置,使用 Platform Builder 4.2定制、配置、编译一个 WinCE操作系统内核,这当中重要的是要加入所需设备的驱动程序,最终生成 WinCE内核文件nk.bin和安装 WinCE所需的 Eboot程序。

(2)安装 WinCE到 ARM板上。先通过 JTAG板将 bios烧写到 Nandflash,然后用 USB数据线将 Eboot程序和 WinCE内核 nk.bin下载到 ARM板上,通过 Eboot程序, WinCE将自动被安装。

(3)应用程序的开发。微软专门为 WinCE的软件开发推出了 eMbedded Visual C++ 4.0,利用 eMbedded Visual C++ 4.0提供的工具可以方便的创建、修改和调试应用程序。

3 系统终端程序设计

搭建软件开发环境后,接下来进行终端应用程序的开发。动基座光电测量系统的终端程序主要由发送、接收和串口通信三大模块组成。其中发送模块控制命令和发送显示两部分,接收模块分为接收显示和数据存储两部分。终端系统的主要功能模块框架图如下图 2所示:

图2终端程序功能模块框架图

终端程序的具体设计使用 eMbedded Visual C++ 4.0软件,下面简要介绍一下程序设计过程:

3.1发送模块和接收模块

发送和接收模块的设计主要是对窗口的设计。窗口的建立并不复杂,主要是窗口初始化和各种按钮控件的建立。同其他版本的 windows程序一样,WinCE程序也采用了消息驱动机制,用户的各种操作通过消息的形式发送给应用程序,而应用程序时刻等待着消息的到来,一旦发现它的消息队列中有未处理的消息,就获取并分析该消息,应用程序根据消息所包含的内容采取适当的动作来响应用户所作的操作。下面是消息循环函数:

while (GetMessage (&msg, NULL, 0, 0)) {

TranslateMessage (&msg);

DispatchMessage (&msg);

当用户启动程序的时候,消息循环开始,建立各个窗口和按钮控件的消息被发送,应用程序接收到这些消息后,对其进行翻译,然后运行每个消息所对应的函数。

3.2串口通信

串口通信是终端程序设计的难点,也是重点。发送和接收最终都要通过串口来执行。串行端口在 WinCE下属于流接口设备,它是串行设备接口的常规 I/O驱动程序调用和与通信相关的具体函数的结合。要注意的是, WinCE不支持直接对串行端口的寄存器进行编程。由于篇幅有限,用到的函数就不一一介绍了,下面主要介绍用多线程的方法进行串口的读写。

Windows CE不支持重叠 I/O,所以如果在主线程进行大量读写串口操作时,有可能使整个程序陷入缓慢的串口等待中去,因此采用多线程来进行读写串口操作。

程序的主线程用来负责消息的处理,另外还有两个附加线程。读线程负责从串口读回数据,写线程由事件触发,发送控制命令。在程序初始化时创建事件,创建写线程并利用 WaitCommEvent函数阻塞该线程,等待事件触发。然手打开串口,创建读线程,读回数据,进行处理;当按下发送命令后,触发通信事件,解除阻塞的写线程,这时开始发送数据。

4 测试结果

将最后定型的可执行程序烧写到目标板上,然后进行地面仿真试验。该仿真系统使用 +5V的输入电压,由系统终端软件的控制面板发送控制命令,灵活的操纵光电平台的各种运行状态。接收面板上能以 100ms的刷新频率实时显示光电平台的各种性能指标,同时如果选择数据存储的话,还可以将这些数据信息存储在SD卡上。软件的运行界面如下图3所示:

图3软件运行界面

这里以光电平台的高低温实验为例,在全程 2个小时中,该仿真系统始终能和光电平台正确通信,并实时显示平台的各项性能指标。测试结果表明该系统具有功能丰富、可靠性高、操作便捷等优点。

5 结语

我们利用 ARM9处理器强大的功能,以及嵌入式 WinCE操作系统的网络、可视化图形界面、多线程编程等提供的便捷高效的底层支持,开发出的嵌入式光电测量仿真检测系统具有功能丰富、可靠性高、界面友好、操作方便等诸多优点。本文介绍了该系统的硬件组成部分和功能,重点阐述了嵌入式软件的开发流程和关键技术串口通信的解决过程,相信可以为其它基于 WinCE嵌入式终端系统的开发提供参考。项目最终能产生的经济效益为20万元。

本文作者创新点:本文采用 ARM&WinCE相结合,多线程串口通讯,设计出了一种便携式、成本低、人机交互性好的动基座光电测量仿真检测系统。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测系统
    +关注

    关注

    3

    文章

    954

    浏览量

    43039
  • 操作系统
    +关注

    关注

    37

    文章

    6818

    浏览量

    123318
  • 微处理器
    +关注

    关注

    11

    文章

    2261

    浏览量

    82426
收藏 人收藏

    评论

    相关推荐

    S3C2410微处理器与CS8900A开发应用实例

    一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们在设计时采用了目前流行的嵌入式微处理器作为系统核心部件。其微处理器选型是采用韩国三星公司生产的S3C2410
    发表于 04-12 15:16

    S3C2410处理器

    S3C2410处理器通过GPD端口连接LED1-4四个灯,试着画出其威廉希尔官方网站 连接图,并变成实现其逐一点亮功能。
    发表于 11-23 21:50

    S3C2410光电测量仿真检测系统中的应用

    高、人机交互性差,携带不方便,给外场检测带来很多麻烦。本文针对这个问题,利用三星的 ARM9 处理器 S3C2410、嵌入式 WinCE 操作系统,设计出了一种可视化便携的动基座
    发表于 10-28 09:29

    s3c2410中文手册第3章下载

    s3c2410中文手册第3章ARM微处理器的指令系统介绍。
    发表于 08-04 12:36 8次下载

    基于S3C2410的井下WiFi便携终端的设计

    设计了基于WiFi技术的煤矿井下信息设备终端,利用WiFi无线局域网技术和VoIP语音处理技术,通过采用嵌入式微处理器S3C2410和Linux操作系统作为软件平台可
    发表于 08-04 08:36 40次下载

    Linux实时操作系统s3c2410的移植

             本文描述了linux实时操作系统移植到arm处理器的方法和嵌入式linux实时操作系统的结构特征,论述了利用交叉编译环境,进行基于
    发表于 09-11 08:27 34次下载

    基于S3C2410和MBF200的指纹采集系统设计

    介绍基于低功耗微处理器S3C2410和低功耗指纹采集器件MBF200构成的指纹采集系统的硬件威廉希尔官方网站 及软件实现,重点讨论MBF200重要寄存
    发表于 12-29 17:00 51次下载

    基于S3C2410的RTC模块应用设计

    基于S3C2410的RTC模块应用设计 摘 要:本文简要介绍了S3C2410嵌入式微处理器,分析了RTC(Real-time clock)硬件构架及其工作
    发表于 04-08 23:13 1607次阅读
    基于<b class='flag-5'>S3C2410</b>的RTC模块应用设计

    基于S3C2410和Linux的智能家居系统的设计

    提出一种基于S3C2410和Linux的智能家居系统的设计,该系统通过ARM9微处理器和各种传感模块
    发表于 09-03 17:26 138次下载

    基于S3C2410和Windows CEnet的智能移动终端设计

    本文介绍 S3C2410 微处理器的性能以及 Windows CE. net 作为嵌入式操作系统的开发流程 。阐述基于 S3C2410芯片和 Windows CE. net
    发表于 04-18 10:46 0次下载

    基于微处理器S3C2410的Linux系统构建

    ,windows-CE,PalmOS,Linux等。在众多的嵌入式操作系统中,Linux以其开源代 码及免费使用倍受开发人员的喜爱。本文选用的微处理器S3C2410是基于32位ARM920T内核
    发表于 10-18 16:07 3次下载

    基于S3C2410处理器对Windows CE 5.0操作系统实现BSP移植

    ,是一种硬实时嵌入式操作系统,它可以在多种处理器架构(如x86、MIPS、ARM和 SH4)上运行,Windows CE支持ARM体系结构,这是基于S3C2410 处理器进行BSP移植
    发表于 03-06 10:10 1053次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>对Windows CE 5.0<b class='flag-5'>操作系统</b><b class='flag-5'>实现</b>BSP移植

    基于Linux操作系统S3C2410微处理器实现GPS实时导航系统的设计

    这里提出一种实用的设计方案,通过对系统的各方面配置,实现GPS实时导航功能。系统主控器件采用韩国Samsung公司生产的ARM核32位RISC微处理器
    发表于 03-09 10:47 1082次阅读
    基于Linux<b class='flag-5'>操作系统</b>和<b class='flag-5'>S3C2410</b><b class='flag-5'>微处理器</b><b class='flag-5'>实现</b>GPS实时导航<b class='flag-5'>系统</b>的设计

    Linux操作系统S3C2410开发板上的的移植过程

    S3C2410微处理器是一款由Samsung公司为手持终端设计的低价格、低功耗、高性能,基于ARM920T核的微处理器。它带有内存管理单元(MMU),采用0.18mm工艺和AMBA新型总线结构,主频可达203MHz。同时,它支持
    的头像 发表于 09-23 17:05 2645次阅读
    Linux<b class='flag-5'>操作系统</b>在<b class='flag-5'>S3C2410</b>开发板上的的移植过程

    基于S3C2410微处理器和Linux实现嵌入式网关的设计

    介绍了一种基于ARM9的嵌入式以太网的设计方案。基于ARM内核微处理器S3C2410的功能特点及其外扩组成部分,分析了以太网控制芯片RTL8019AS的性能以及与S3C2410的接口
    的头像 发表于 06-22 14:28 2630次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>微处理器</b>和Linux<b class='flag-5'>实现</b>嵌入式网关的设计