智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于嵌入式WinCE 6.0的脈沖/數(shù)據(jù)發(fā)生器軟件設計

來源:網(wǎng)絡

點擊:1140

A+ A-

所屬頻道:新聞中心

關鍵詞: 嵌入式,WinCE 6.0,脈沖/數(shù)據(jù)發(fā)生器

      本設計實現(xiàn)了基于嵌入式WinCE 6.0的脈沖/數(shù)據(jù)發(fā)生器軟件系統(tǒng)設計。詳細介紹了脈沖/數(shù)據(jù)發(fā)生器系統(tǒng)設計方案、人機界面開發(fā)、應用程序移植、流驅(qū)動開發(fā)及GPIO操作,闡述了開發(fā)過程中的技術要點和關鍵步驟。通過實際測試,該軟件界面友好、操作方便、運行穩(wěn)定,能正確實現(xiàn)脈沖/數(shù)據(jù)發(fā)生器各項功能,且具有一定的容錯性。采用面向?qū)ο蟪绦蛟O計,便于后期軟件維護和升級。

      0 引言

      脈沖/數(shù)據(jù)發(fā)生器作為通用測試信號源,能夠產(chǎn)生脈沖、群脈沖和數(shù)據(jù)三種類型的信號輸出。參數(shù)連續(xù)可調(diào)的脈沖信號和大容量、多樣化的數(shù)字信號,滿足了高速數(shù)字設備中噪聲容限的測試要求以及大型集成電路和射頻系統(tǒng)的設計初期對激勵信號源的需求。隨著嵌入式技術的飛速發(fā)展以及廣泛應用,利用嵌入式操作系統(tǒng)支持進行智能儀器設備開發(fā)正成為主流。Win CE系統(tǒng)是美國微軟公司推出的一種32位嵌入式操作系統(tǒng),可以實現(xiàn)實時、多任務、多線程操作,同時具備出色的圖形用戶界面。本文實現(xiàn)了一種以嵌入式WinCE 系統(tǒng)為支撐的脈沖/數(shù)據(jù)發(fā)生器應用軟件設計。

      1 系統(tǒng)設計方案

      脈沖/數(shù)據(jù)發(fā)生器系統(tǒng)結(jié)構(gòu)如圖1所示,包括嵌入式系統(tǒng)、控制主板模塊、觸發(fā)模塊、時鐘模塊以及模擬通道輸出模塊。整個系統(tǒng)中,各個模塊按照一定作用互相支持,協(xié)調(diào)工作。

      時鐘模塊能夠產(chǎn)生系統(tǒng)所需的連續(xù)可調(diào)、高精度的時鐘信號;觸發(fā)模塊用以接收外部觸發(fā)信號,實現(xiàn)與外部電路的同步;模擬通道輸出模塊實現(xiàn)對前級產(chǎn)生的脈沖和數(shù)據(jù)信號的幅度、電平、沿的控制與調(diào)整;控制主板模塊采用FPGA 來構(gòu)建主控制邏輯系統(tǒng),實現(xiàn)觸發(fā)模式、時鐘頻率、脈沖產(chǎn)生和數(shù)據(jù)地址產(chǎn)生等相關控制。

      嵌入式系統(tǒng)以及運行于其上的應用軟件在整個系統(tǒng)結(jié)構(gòu)中處于最前端。

    基于嵌入式WinCE 6.0的脈沖/數(shù)據(jù)發(fā)生器軟件設計

      通過儀器人機界面接收操作人員的指令并與后級的控制主板進行數(shù)據(jù)交換,最終由控制主板操控其后硬件模塊完成用戶指令,在模擬通道輸出端得到相應的脈沖信號和串行數(shù)據(jù)信號。為了滿足儀器設備實時性的要求,嵌入式操作系統(tǒng)選取WinCE 6.0,微處理器選擇三星公司的S3C2440A,其內(nèi)核為ARM920T,能夠滿足低價格、低功耗、高性能的需求。

      2 人機界面

      開發(fā)軟件集成開發(fā)環(huán)境選取微軟公司提供的VisualStudio 2005.用于定制系統(tǒng)的Platform Builder for CE6.0 被作為插件集成到Visual Studio 2005 中,這樣定制操作系統(tǒng)和開發(fā)應用程序都在同一開發(fā)環(huán)境下,避免頻繁切換開發(fā)環(huán)境的麻煩。在完成WinCE 操作系統(tǒng)的定制、導出軟件開發(fā)包SDK之后,便可以進行驅(qū)動程序和應用程序的開發(fā)[4].脈沖發(fā)生器作為現(xiàn)代電子測量儀器,其軟件開發(fā)包含兩部分:界面設計以及功能設計。

      界面是人機之間信息傳遞的橋梁,是儀器的重要組成部分。界面設計需要完成簡潔、友好的人機界面,用戶通過操作界面完成對儀器的控制。人機界面軟件流程如圖2所示。功能設計則是建立在硬件模塊的基礎之上,圍繞硬件模塊分別實現(xiàn)儀器系統(tǒng)各個功能。

    基于嵌入式WinCE 6.0的脈沖/數(shù)據(jù)發(fā)生器軟件設計

      系統(tǒng)啟動后,軟件開機自動運行,首先進行開機自檢,確認儀器各個硬件設備是否工作正常。然后主線程啟動,進行初始化工作,依次初始化所有工程變量,創(chuàng)建并初始化所有頁面為最近一次關機前的狀態(tài)。接著進入消息循環(huán)和建立錯誤信息報告循環(huán)。程序不斷檢測錯誤消息隊列看是否有錯誤發(fā)生,一旦發(fā)現(xiàn)錯誤消息隊列有錯誤需要響應時,依次讀取并處理錯誤消息報告,轉(zhuǎn)而執(zhí)行相應的功能。比如用戶操作錯誤時,錯誤信息顯示就會彈出,提示用戶正確的操作方法,直至用戶操作正確。如果有鍵盤消息到達,則通過主線程交給相應的各個頁面去響應控件消息,達到與儀器操作人員進行信息交互的目的。整個人機界面設計基于CFormView類。鍵盤信息處理等模塊被設計成動態(tài)鏈接庫的形式,既節(jié)省了系統(tǒng)資源,同時也便于程序以后的維護和升級。

      3 數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

      數(shù)據(jù)傳輸?shù)墓δ転閷崿F(xiàn)脈沖/信號發(fā)生器上層應用軟件和底層硬件系統(tǒng)之間的數(shù)據(jù)通信。嵌入式WinCE6.0 操作系統(tǒng)通過對控制主板模塊進行操作,最終實現(xiàn)對各個硬件的控制。ARM 的GPIO 口操作可以實現(xiàn)此功能需求。S3C2440A 提供了130個通用IO 口。

      GPIO 操作主要由端口配置寄存器GPXCON、端口數(shù)據(jù)寄存器GPXDAT、設置接口上拉電阻寄存器GPXUP(其中X表示對應的GPA到GPJ端口)等寄存器來實現(xiàn)。

      在WinCE 6.0 系統(tǒng)下,將GPIO 的實地址(例如S3C2440A 的GPIO 的基地址為0X56000000)映射到虛擬地址空間(對應為0XB1600000),通過對這段虛擬地址空間的操作,就能夠完成對GPIO或者其他片內(nèi)資源的控制、輸入輸出工作。在編程中需要使用到兩個關鍵函數(shù)VirtualAlloc 和VirtualCopy.首先通過VirtualAlloc來獲得一段虛擬地址空間的分配,然后VirtualCopy將一個虛擬地址綁定到一個物理地址上,從而實現(xiàn)對物理硬件的訪問。為了增強系統(tǒng)的安全性和穩(wěn)定性,WinCE 6.0加強了對虛擬地址訪問的限制,驅(qū)動被放到內(nèi)核空間下,使得WinCE6.0在應用程序中不能再直接對物理地址進行操作。雖然在上層應用程序中無法調(diào)用Virtu-alAlloc和VirtualCopy,但是可以在內(nèi)核態(tài)下編寫驅(qū)動程序,通過VirtualAlloc和VirtualCopy進行內(nèi)存映射,故在WinCE6.0 系統(tǒng)下,訪問物理地址可以采取的一種方法是:在內(nèi)核模式中編寫流驅(qū)動程序,將驅(qū)動程序編譯到內(nèi)核后再下載到NandFlash中。相關代碼如下:

      volatile S3C2440A_IOPReg *v_pIOPRegs;

      /*申請空間*/

      v_pIOPRegs=

     ?。╲olatile S3C2440A_IOPReg *) VirtualAlloc (0,

      sizeof

     ?。⊿3C2440A_IOPReg),

      MEM_RESERVE,PAGE_NOACCESS);

      i(f /*申請空間失敗*/)

      {/*進行錯誤處理并返回*/

      } else {/*進行映射*/

      if (!VirtualCopy ( (PVOID) v_pIOPRegs, (PVOID)

     ?。⊿3C2440A_IOBase》8) , sizeof (S3C2440A_IOPReg) ,

      PAGE_READWRITE|PAGE_NOCACHE ))

      {/

      *如果映射失敗,釋放申請的空間并返回*/}}

      S3C2440A整合了多種接口和總線?;谕ㄓ闷xnGCSn 的SRAM 接口具有配置簡單、邏輯控制信號少、尋址以及數(shù)據(jù)讀寫的速度高的特點,因此選擇nGCS2作為片選信號,同時搭配寫使能信號nWE 以及讀使能信號nOE完成對脈沖/數(shù)據(jù)發(fā)生器單數(shù)據(jù)通道的操作。

      nGCS2片選信號為低有效,對應的端口是PortA,其第13 位用來實現(xiàn)nGCS2 的控制,對應的配置寄存器是GPACON,數(shù)據(jù)寄存器是GPADAT,它們分別對應的物理地址為0X56000000 和0X56000004.當GPA13 設置成0時候,nGCS2為普通輸入輸出口;設制成1的時候,nGCS2成為使能信號。其他信號設置與此類似。在本項目中,nGCS2按照要求被設置成使能信號:

      v_pIOPRegs->rGPACON |=(0×01《13);

      BWSCON 是總線位寬和延時控制寄存器,它可以用來配置8 b、16 b或者32 b的總線寬度。將其設置為32 b的總線寬度:

      v_pMEMRegs - >rBWSCON=(v_pMEMRegs - >rBWSCON~(0XF《8))(| 0XE《8);驅(qū)動編譯到內(nèi)核的過程如下:在BSP中創(chuàng)建驅(qū)動文件夾并開發(fā)流驅(qū)動程序。完成后,再創(chuàng)建makefile 文件、模塊導出文件以及用于編譯的sources文件。最后在注冊表中添加GPIO 流驅(qū)動程序,將驅(qū)動添加到NK中,用Visual Studio 2005 中的Platform Builder 6.0 編譯得到NK.bin文件,下載到NandFlash中。

      4 程序移植及系統(tǒng)測試

      人機界面以及各功能模塊開發(fā)完成之后,需要進行應用程序的移植。ActiveSync 6.1可以實現(xiàn)連接裝有桌面Windows的PC機和WinCE設備。通過它可以使用串口、USB端口、以太網(wǎng)或紅外線連接在移動設備和PC之間創(chuàng)建同步關系。在本項目中,選擇使用USB口建立連接,這就需要首先安裝BSP下面的USB驅(qū)動。建立連接之后,將編譯好了的應用程序下載到定制好的WinCE 6.0系統(tǒng)中,即可實現(xiàn)應用程序在嵌入式WinCE 6.0系統(tǒng)中的運行。脈沖/數(shù)據(jù)發(fā)生器功能包括多樣化觸發(fā)、時鐘發(fā)生、脈沖生成、脈沖參數(shù)可控、信號時延可控、串行數(shù)據(jù)發(fā)生等各項功能。利用嵌入式軟件編程實現(xiàn)的友好簡潔的人機界面如圖3所示。通過現(xiàn)場測試表明該軟件操作簡便,使用函數(shù)生成數(shù)據(jù)時界面刷新無明顯遲滯,具有一定健壯性,能有效處理用戶誤操作。圖4顯示為頻率設置成50 MHz、脈寬設置為1 ns 時,脈沖/數(shù)據(jù)發(fā)生器輸出通道所輸出的脈沖波形。

    基于嵌入式WinCE 6.0的脈沖/數(shù)據(jù)發(fā)生器軟件設計

      5 結(jié)語

      本文結(jié)合WinCE 6.0嵌入式系統(tǒng),制定脈沖/數(shù)據(jù)發(fā)生器軟件實現(xiàn)方案,實現(xiàn)了脈沖/數(shù)據(jù)發(fā)生器界面設計、嵌入式應用程序移植、上層軟件與底層硬件的數(shù)據(jù)通信等工作。經(jīng)過實際測試及運行,開發(fā)的脈沖發(fā)生器軟件平臺運行穩(wěn)定,界面簡潔美觀且易于操作,上層應用軟件功能齊全,系統(tǒng)的實時響應能力達到儀器的設計要求。
     

    (審核編輯: 智匯李)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    主站蜘蛛池模板: 容积式换热器,半容积式换热器-绍兴市压力容器有限公司 | 皮革耐折试验机-消字率测试仪-面具全视野测试仪-东莞市誉扬检测仪器有限公司 | 水硬度在线分析仪-氟离子|悬浮固体浓度分析仪-ldo分析仪-上海植茂 | 立式离心泵_不锈钢自吸泵_液下泵_变频无负压供水设备-大东海泵业无锡有限公司 | 江门市振达机械制造有限公司_散货输送系统_全密封带式输送机 | 压缩强度测定仪-纸管平压强度测定仪-电脑拉力仪-杭州纸邦自动化技术有限公司 | 精密铸造,精密铸件,不锈钢铸造,不锈钢铸件-常州鸿雁行机械科技有限公司 | 气调包装机厂家-真空包装机价格-气调包装机-锁鲜包装机-江苏大江智能装备有限公司 | 浙江创洁卫生消杀有限公司-浙江杀虫公司,温州消杀公司,温州灭鼠公司,灭蟑螂,灭蚊蝇,灭跳蚤,灭书虱,灭臭虫,灭螨虫,白蚁防治,房间消毒除味等专业服务 | 旋转补偿器-专注套筒三维球形补偿器定制生产厂家-伸缩接头价格_巩义市新华丰管道设备有限公司 | 郑州建网站,郑州做网站,郑州网站建设,郑州网站制作,郑州高端定制网站,郑州APP开发 | 上海办公家具_高端实木办公家具_现代智能办公家具定制厂-上海迈亚家具有限公司 | 氯化氢|二氧化硫|硫化氢|氩气生产厂家_潍坊市景鑫新材料有限公司 | 南京叉车|电瓶叉车|电动叉车|电动堆高车|电动搬运车-南京诺嘉机械 | 山东万通液压股份有限公司-自卸车专用油缸,能源采掘设备油缸,机械装备用油缸,油气弹簧,工程机械油缸,液压元件 | 云南打砂机_昆明制砂机_云南砂石生产线_昆明洗砂机_昆明除尘设备_云南昆明滇重矿山机械设备有限公司 | 消防烟感清洗,火灾探测器清洗,探测器清洗厂家 | 立式离心泵_不锈钢自吸泵_液下泵_变频无负压供水设备-大东海泵业无锡有限公司 | 熊猫家装-装修公司,上海装修、室内设计、家装、别墅装修、办公室装修、全屋定制就上熊猫家装 | 上海眼科医院_上海希玛瑞视眼科医院【上海医保定点单位】 | 众学稳尚升学规划网-高考填报志愿机构_新高考选科指导 | 碳化硅微粉_超细碳化硅微粉-潍坊凯华碳化硅微粉有限公司 | 重庆物流公司,重庆商贸货运,工厂物流,同城冷链物流配送,物流软件租售-重庆协通国际物流有限公司 重庆污水处理设备_废气处理设备_纯净水设备-山艺环保 | 危废处理_危废处置_危废处理公司-江苏绿瑞特环境科技股份有限公司 | 陕西|青海|兰州|新疆|西宁|净化工程|西安甘肃|PCR实验室|无尘车间|净化车间-西安环亚净化工程 | 橡塑板_橡塑板厂家_橡塑保温管厂家_廊坊虓龙保温材料有限公司 | 衡水物流网,衡水物流信息网,衡水物流公司,衡水货运专线,衡水专线运输车辆 | 上海离婚律师|上海婚姻律师|上海家畅家事律师-上海家畅离婚律师网 | 振动筛_直线振动筛_超声波振动筛-新乡市大汉振动机械有限公司 | 模型公司|沙盘公司|优选杭州景文模型设计有限公司 | 饲料设备_饲料加工设备_饲料成套加工设备专业提供商-河南杰昌机械设备有限公司 | 透明捆扎带_束带机打包带_束带机纸带_热封纸带机_上海得亿束带机包装材料有限公司 | 美国西娅图床垫官网-专注高端床垫18年 - 美国西娅图床垫官网 | 进销存软件|仓库管理软件|库存物资出入库|ERP生产|MRP|易特软件官方网站 | 耀美软瓷施工队-13638350103-专注于软瓷施工勾缝的贴软瓷施工队 - 软瓷,软瓷施工,软瓷勾缝,软瓷怎么施工,软瓷怎么勾缝,贴软瓷,软瓷施工队 | 王者荣耀/和平精英扫码上号登录器_微信安卓苹果扫码上号登录软件 - 上号宝扫码登录器 | 桐城_池州_枞阳_黄山_潜山_东至挖掘机租赁-安庆光兴机械租赁有限公司 | 深圳车牌识别系统厂家_人脸识别厂家_通道闸厂家_车位引导系统_智慧社区管理系统_深圳市利普诺科技有限公司官网 | 河北徐工鲲鹏工程机械有限公司无锡分公司 | 手板机箱_亚克力机箱_医疗机箱_美容机箱_医疗设备外壳厂家_鸿堪医疗器械有限公司 | 友联智能|RFID应用服务供应商|专注RFID行业解决方案|RFID数据采集-助力行业数字化转型 |