0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于S3C2410微處理器和操作系統(tǒng)實現(xiàn)光電測量仿真檢測系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:微計算機信息 ? 作者:田文博,金光,劉洵 ? 2020-10-24 10:39 ? 次閱讀

引言

動基座光電測量平臺按載體的不同可分為車載、艦載、機載和星載四種。為了保證測量平臺系統(tǒng)的可靠性和測量的準(zhǔn)確性,平臺在正式放到載體上運行之前需要進行仿真檢測。目前的動基座光電測量仿真檢測系統(tǒng)大多成本高、人機交互性差,攜帶不方便,給外場檢測帶來很多麻煩。本文針對這個問題,利用三星ARM9處理器 S3C2410、嵌入式 WinCE操作系統(tǒng),設(shè)計出了一種可視化便攜的動基座光電測量仿真檢測系統(tǒng)。該系統(tǒng)使用終端控制命令操縱光電平臺,通過串口通信實時檢測平臺的各種性能指標(biāo)。

S3C2410是三星公司生產(chǎn)的一款基于 ARM920T內(nèi)核的 32位 RISC微處理器,主頻可達 203 MHz。其內(nèi)部集成大量的外圍資源,具有高性能、低功耗、接口豐富的特性。 WinCE是微軟開發(fā)的一個開放的、可升級的 32位嵌入式實時操作系統(tǒng),它的圖形用戶界面相當(dāng)出色,具有模塊化、結(jié)構(gòu)化的特點, WinCE支持各種硬件外圍設(shè)備、其它設(shè)備及網(wǎng)絡(luò)系統(tǒng)。 WinCE有完善的配套開發(fā)軟件工具集,使嵌入式系統(tǒng)開發(fā)者和應(yīng)用開發(fā)者能夠定做各種產(chǎn)品。

1 系統(tǒng)的硬件構(gòu)成

在經(jīng)過分析、篩選之后,選擇合適的硬件搭建硬件開發(fā)環(huán)境。光電測量仿真檢測系統(tǒng)的硬件環(huán)境,主要由以 S3C2410為核心的單片機、帶觸摸屏的 LCD和 SD卡三部分組成。系統(tǒng)的總體結(jié)構(gòu)圖如圖 1所示。

基于S3C2410微處理器和操作系統(tǒng)實現(xiàn)光電測量仿真檢測系統(tǒng)的設(shè)計

圖1系統(tǒng)整體結(jié)構(gòu)圖

虛線以上的部分為光電測量仿真檢測系統(tǒng)的硬件環(huán)境,其各部分組成與功能如下:

(1)以 S3C2410為核心的單板機。這是整個系統(tǒng)的硬件核心。它帶有一個 64M的 SDRAM和一個 64M的 Nand Flash。一個 SD卡插座用來安裝數(shù)據(jù)存儲用的 SD卡,一個 USB Host可以接鼠標(biāo)鍵盤輸入控制設(shè)備,一個 USB Device接口用于系統(tǒng)程序的燒寫。為了開發(fā)時的調(diào)試方便,還擴展了一個 10M的以太網(wǎng)接口,主要用于和宿主機通訊﹑調(diào)試和下載程序。同時還帶有兩個 DB9的串口,一個用于設(shè)計階段的調(diào)試,另一個用于與下位機上的 PC104通信,從而達到控制光電測量平臺的目的。

(2)帶觸摸屏的 LCD。這是系統(tǒng)的顯示控制終端,負責(zé)用戶控制端的圖形界面顯示。用戶可以在發(fā)送面板上根據(jù)自己的需求輸入控制命令,同時在接收面板會顯示下位機傳過來的各項性能指標(biāo)。出于便攜化設(shè)計的考慮,屏幕只有 3.5寸大小,分辨率為 320*240。

(3)SD卡。它是系統(tǒng)的存儲設(shè)備,負責(zé)存儲通信數(shù)據(jù)。出于系統(tǒng)小型化和便攜的考慮,我們選擇體積較小的 SD卡作為數(shù)據(jù)存儲介質(zhì)。

由于篇幅的限制,這里只簡要的介紹了一下系統(tǒng)的硬件開發(fā)環(huán)境。在接下來的部分將詳細的闡述其軟件開發(fā)流程。

2 系統(tǒng)軟件開發(fā)環(huán)境

在進行軟件開發(fā)之前,必須先建立軟件開發(fā)環(huán)境。本文將使用嵌入式 WinCE操作系統(tǒng)作為軟件的運行平臺,下面將簡要介紹其軟件開發(fā)環(huán)境的建立。

(1)WinCE內(nèi)核的定制。嵌入式系統(tǒng)由于受硬件資源的限制,在實際開發(fā)時往往需要裁減,然后定制出適合自己硬件資源的嵌入式操作系統(tǒng)。根據(jù)現(xiàn)有的硬件設(shè)備配置,使用 Platform Builder 4.2定制、配置、編譯一個 WinCE操作系統(tǒng)內(nèi)核,這當(dāng)中重要的是要加入所需設(shè)備的驅(qū)動程序,最終生成 WinCE內(nèi)核文件nk.bin和安裝 WinCE所需的 Eboot程序。

(2)安裝 WinCE到 ARM板上。先通過 JTAG板將 bios燒寫到 Nandflash,然后用 USB數(shù)據(jù)線將 Eboot程序和 WinCE內(nèi)核 nk.bin下載到 ARM板上,通過 Eboot程序, WinCE將自動被安裝。

(3)應(yīng)用程序的開發(fā)。微軟專門為 WinCE的軟件開發(fā)推出了 eMbedded Visual C++ 4.0,利用 eMbedded Visual C++ 4.0提供的工具可以方便的創(chuàng)建、修改和調(diào)試應(yīng)用程序。

3 系統(tǒng)終端程序設(shè)計

搭建軟件開發(fā)環(huán)境后,接下來進行終端應(yīng)用程序的開發(fā)。動基座光電測量系統(tǒng)的終端程序主要由發(fā)送、接收和串口通信三大模塊組成。其中發(fā)送模塊控制命令和發(fā)送顯示兩部分,接收模塊分為接收顯示和數(shù)據(jù)存儲兩部分。終端系統(tǒng)的主要功能模塊框架圖如下圖 2所示:

圖2終端程序功能模塊框架圖

終端程序的具體設(shè)計使用 eMbedded Visual C++ 4.0軟件,下面簡要介紹一下程序設(shè)計過程:

3.1發(fā)送模塊和接收模塊

發(fā)送和接收模塊的設(shè)計主要是對窗口的設(shè)計。窗口的建立并不復(fù)雜,主要是窗口初始化和各種按鈕控件的建立。同其他版本的 windows程序一樣,WinCE程序也采用了消息驅(qū)動機制,用戶的各種操作通過消息的形式發(fā)送給應(yīng)用程序,而應(yīng)用程序時刻等待著消息的到來,一旦發(fā)現(xiàn)它的消息隊列中有未處理的消息,就獲取并分析該消息,應(yīng)用程序根據(jù)消息所包含的內(nèi)容采取適當(dāng)?shù)膭幼鱽眄憫?yīng)用戶所作的操作。下面是消息循環(huán)函數(shù):

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

TranslateMessage (&msg);

DispatchMessage (&msg);

當(dāng)用戶啟動程序的時候,消息循環(huán)開始,建立各個窗口和按鈕控件的消息被發(fā)送,應(yīng)用程序接收到這些消息后,對其進行翻譯,然后運行每個消息所對應(yīng)的函數(shù)。

3.2串口通信

串口通信是終端程序設(shè)計的難點,也是重點。發(fā)送和接收最終都要通過串口來執(zhí)行。串行端口在 WinCE下屬于流接口設(shè)備,它是串行設(shè)備接口的常規(guī) I/O驅(qū)動程序調(diào)用和與通信相關(guān)的具體函數(shù)的結(jié)合。要注意的是, WinCE不支持直接對串行端口的寄存器進行編程。由于篇幅有限,用到的函數(shù)就不一一介紹了,下面主要介紹用多線程的方法進行串口的讀寫。

Windows CE不支持重疊 I/O,所以如果在主線程進行大量讀寫串口操作時,有可能使整個程序陷入緩慢的串口等待中去,因此采用多線程來進行讀寫串口操作。

程序的主線程用來負責(zé)消息的處理,另外還有兩個附加線程。讀線程負責(zé)從串口讀回數(shù)據(jù),寫線程由事件觸發(fā),發(fā)送控制命令。在程序初始化時創(chuàng)建事件,創(chuàng)建寫線程并利用 WaitCommEvent函數(shù)阻塞該線程,等待事件觸發(fā)。然手打開串口,創(chuàng)建讀線程,讀回數(shù)據(jù),進行處理;當(dāng)按下發(fā)送命令后,觸發(fā)通信事件,解除阻塞的寫線程,這時開始發(fā)送數(shù)據(jù)。

4 測試結(jié)果

將最后定型的可執(zhí)行程序燒寫到目標(biāo)板上,然后進行地面仿真試驗。該仿真系統(tǒng)使用 +5V的輸入電壓,由系統(tǒng)終端軟件的控制面板發(fā)送控制命令,靈活的操縱光電平臺的各種運行狀態(tài)。接收面板上能以 100ms的刷新頻率實時顯示光電平臺的各種性能指標(biāo),同時如果選擇數(shù)據(jù)存儲的話,還可以將這些數(shù)據(jù)信息存儲在SD卡上。軟件的運行界面如下圖3所示:

圖3軟件運行界面

這里以光電平臺的高低溫實驗為例,在全程 2個小時中,該仿真系統(tǒng)始終能和光電平臺正確通信,并實時顯示平臺的各項性能指標(biāo)。測試結(jié)果表明該系統(tǒng)具有功能豐富、可靠性高、操作便捷等優(yōu)點。

5 結(jié)語

我們利用 ARM9處理器強大的功能,以及嵌入式 WinCE操作系統(tǒng)的網(wǎng)絡(luò)、可視化圖形界面、多線程編程等提供的便捷高效的底層支持,開發(fā)出的嵌入式光電測量仿真檢測系統(tǒng)具有功能豐富、可靠性高、界面友好、操作方便等諸多優(yōu)點。本文介紹了該系統(tǒng)的硬件組成部分和功能,重點闡述了嵌入式軟件的開發(fā)流程和關(guān)鍵技術(shù)串口通信的解決過程,相信可以為其它基于 WinCE嵌入式終端系統(tǒng)的開發(fā)提供參考。項目最終能產(chǎn)生的經(jīng)濟效益為20萬元。

本文作者創(chuàng)新點:本文采用 ARM&WinCE相結(jié)合,多線程串口通訊,設(shè)計出了一種便攜式、成本低、人機交互性好的動基座光電測量仿真檢測系統(tǒng)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 檢測系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    960

    瀏覽量

    43098
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6874

    瀏覽量

    123563
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2272

    瀏覽量

    82630
收藏 人收藏

    評論

    相關(guān)推薦

    S3C2410微處理器與CS8900A開發(fā)應(yīng)用實例

    一些物流先進國家已經(jīng)采用專業(yè)的盤點設(shè)備——盤點機,用于物流盤點。 我們在設(shè)計時采用了目前流行的嵌入式微處理器作為系統(tǒng)核心部件。其微處理器選型是采用韓國三星公司生產(chǎn)的S3C2410
    發(fā)表于 04-12 15:16

    S3C2410處理器

    S3C2410處理器通過GPD端口連接LED1-4四個燈,試著畫出其電路連接圖,并變成實現(xiàn)其逐一點亮功能。
    發(fā)表于 11-23 21:50

    S3C2410光電測量仿真檢測系統(tǒng)中的應(yīng)用

    高、人機交互性差,攜帶不方便,給外場檢測帶來很多麻煩。本文針對這個問題,利用三星的 ARM9 處理器 S3C2410、嵌入式 WinCE 操作系統(tǒng),設(shè)計出了一種可視化便攜的動基座
    發(fā)表于 10-28 09:29

    s3c2410中文手冊第3章下載

    s3c2410中文手冊第3章ARM微處理器的指令系統(tǒng)介紹。
    發(fā)表于 08-04 12:36 ?8次下載

    基于S3C2410的井下WiFi便攜終端的設(shè)計

    設(shè)計了基于WiFi技術(shù)的煤礦井下信息設(shè)備終端,利用WiFi無線局域網(wǎng)技術(shù)和VoIP語音處理技術(shù),通過采用嵌入式微處理器S3C2410和Linux操作系統(tǒng)作為軟件平臺可
    發(fā)表于 08-04 08:36 ?40次下載

    Linux實時操作系統(tǒng)s3c2410的移植

             本文描述了linux實時操作系統(tǒng)移植到arm處理器的方法和嵌入式linux實時操作系統(tǒng)的結(jié)構(gòu)特征,論述了利用交叉編譯環(huán)境,進行基于
    發(fā)表于 09-11 08:27 ?34次下載

    基于S3C2410和MBF200的指紋采集系統(tǒng)設(shè)計

    介紹基于低功耗微處理器S3C2410和低功耗指紋采集器件MBF200構(gòu)成的指紋采集系統(tǒng)的硬件電路及軟件實現(xiàn),重點討論MBF200重要寄存
    發(fā)表于 12-29 17:00 ?51次下載

    基于S3C2410的RTC模塊應(yīng)用設(shè)計

    基于S3C2410的RTC模塊應(yīng)用設(shè)計 摘 要:本文簡要介紹了S3C2410嵌入式微處理器,分析了RTC(Real-time clock)硬件構(gòu)架及其工作
    發(fā)表于 04-08 23:13 ?1619次閱讀
    基于<b class='flag-5'>S3C2410</b>的RTC模塊應(yīng)用設(shè)計

    基于S3C2410和Linux的智能家居系統(tǒng)的設(shè)計

    提出一種基于S3C2410和Linux的智能家居系統(tǒng)的設(shè)計,該系統(tǒng)通過ARM9微處理器和各種傳感模塊
    發(fā)表于 09-03 17:26 ?138次下載

    基于S3C2410和Windows CEnet的智能移動終端設(shè)計

    本文介紹 S3C2410 微處理器的性能以及 Windows CE. net 作為嵌入式操作系統(tǒng)的開發(fā)流程 。闡述基于 S3C2410芯片和 Windows CE. net
    發(fā)表于 04-18 10:46 ?0次下載

    基于微處理器S3C2410的Linux系統(tǒng)構(gòu)建

    ,windows-CE,PalmOS,Linux等。在眾多的嵌入式操作系統(tǒng)中,Linux以其開源代 碼及免費使用倍受開發(fā)人員的喜愛。本文選用的微處理器S3C2410是基于32位ARM920T內(nèi)核
    發(fā)表于 10-18 16:07 ?3次下載

    基于S3C2410處理器對Windows CE 5.0操作系統(tǒng)實現(xiàn)BSP移植

    ,是一種硬實時嵌入式操作系統(tǒng),它可以在多種處理器架構(gòu)(如x86、MIPS、ARM和 SH4)上運行,Windows CE支持ARM體系結(jié)構(gòu),這是基于S3C2410 處理器進行BSP移植
    發(fā)表于 03-06 10:10 ?1071次閱讀
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>處理器</b>對Windows CE 5.0<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>實現(xiàn)</b>BSP移植

    基于Linux操作系統(tǒng)S3C2410微處理器實現(xiàn)GPS實時導(dǎo)航系統(tǒng)的設(shè)計

    這里提出一種實用的設(shè)計方案,通過對系統(tǒng)的各方面配置,實現(xiàn)GPS實時導(dǎo)航功能。系統(tǒng)主控器件采用韓國Samsung公司生產(chǎn)的ARM核32位RISC微處理器
    發(fā)表于 03-09 10:47 ?1099次閱讀
    基于Linux<b class='flag-5'>操作系統(tǒng)</b>和<b class='flag-5'>S3C2410</b><b class='flag-5'>微處理器</b><b class='flag-5'>實現(xiàn)</b>GPS實時導(dǎo)航<b class='flag-5'>系統(tǒng)</b>的設(shè)計

    Linux操作系統(tǒng)S3C2410開發(fā)板上的的移植過程

    S3C2410微處理器是一款由Samsung公司為手持終端設(shè)計的低價格、低功耗、高性能,基于ARM920T核的微處理器。它帶有內(nèi)存管理單元(MMU),采用0.18mm工藝和AMBA新型總線結(jié)構(gòu),主頻可達203MHz。同時,它支持
    的頭像 發(fā)表于 09-23 17:05 ?2671次閱讀
    Linux<b class='flag-5'>操作系統(tǒng)</b>在<b class='flag-5'>S3C2410</b>開發(fā)板上的的移植過程

    基于S3C2410微處理器和Linux實現(xiàn)嵌入式網(wǎng)關(guān)的設(shè)計

    介紹了一種基于ARM9的嵌入式以太網(wǎng)的設(shè)計方案?;贏RM內(nèi)核微處理器S3C2410的功能特點及其外擴組成部分,分析了以太網(wǎng)控制芯片RTL8019AS的性能以及與S3C2410的接口
    的頭像 發(fā)表于 06-22 14:28 ?2656次閱讀
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>微處理器</b>和Linux<b class='flag-5'>實現(xiàn)</b>嵌入式網(wǎng)關(guān)的設(shè)計