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

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

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

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

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

引言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TranslateMessage (&msg);

DispatchMessage (&msg);

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

3.2串口通信

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

Windows CE不支持重疊 I/O,所以如果在主線程進(jìn)行大量讀寫(xiě)串口操作時(shí),有可能使整個(gè)程序陷入緩慢的串口等待中去,因此采用多線程來(lái)進(jìn)行讀寫(xiě)串口操作。

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

4 測(cè)試結(jié)果

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

圖3軟件運(yùn)行界面

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

5 結(jié)語(yǔ)

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

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

責(zé)任編輯:gt

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

    關(guān)注

    3

    文章

    945

    瀏覽量

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

    關(guān)注

    37

    文章

    6684

    瀏覽量

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

    關(guān)注

    11

    文章

    2244

    瀏覽量

    82267
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    S3C2410處理器

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

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

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

    s3c2410中文手冊(cè)第3章下載

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

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

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

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

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

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

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

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

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

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

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

    基于S3C2410和Windows CEnet的智能移動(dòng)終端設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

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