新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Windows CE.NET下ADC驅(qū)動(dòng)開發(fā)設(shè)計(jì)

Windows CE.NET下ADC驅(qū)動(dòng)開發(fā)設(shè)計(jì)

作者: 時(shí)間:2012-11-26 來(lái)源:網(wǎng)絡(luò) 收藏

  1 前言

  Windows CE 是為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計(jì)的一種壓縮的、高效的、可升級(jí)的操作系統(tǒng)。多線性、多任務(wù)、全優(yōu)先的操作系統(tǒng)環(huán)境是專門針對(duì)資源有限而設(shè)計(jì)的,它的模塊化設(shè)計(jì)使嵌入式系統(tǒng)開發(fā)者和應(yīng)用者能夠?qū)⑵鋺?yīng)用于各種產(chǎn)品,例如家用電器、專門的工業(yè)控制和嵌入式通信設(shè)備等。Windows CE 支持各種硬件外圍設(shè)備及網(wǎng)絡(luò)系統(tǒng),應(yīng)用領(lǐng)域極為廣闊,是微軟專門為信息設(shè)備、移動(dòng)通訊、電子產(chǎn)品、嵌入式應(yīng)用等非 PC 領(lǐng)域而專門設(shè)計(jì)的一種戰(zhàn)略性操作系統(tǒng)產(chǎn)品。

  2 Samsung ARM 系列S3C2410 處理器

  S3C2410 是Samsung 公司推出的基于ARM920T 核的32 位RISC 微處理器芯片。S3C2410具有低功耗、低成本和高性能的特點(diǎn),已成為PDA、智能手機(jī)、網(wǎng)絡(luò)計(jì)算機(jī)終端以及智能設(shè)備的終端產(chǎn)品等的熱門解決方案之一。

  S3C2410 內(nèi)部資源豐富、結(jié)構(gòu)復(fù)雜、接口眾多,具有相互獨(dú)立的16kB 指令緩存和16kB數(shù)據(jù)緩存,帶有MMU 虛擬存儲(chǔ)單元和AMBA 總線接口。S3C2410 支持的內(nèi)外圍設(shè)備包括外部存儲(chǔ)控制器、中斷控制器、LCD 控制器、8 通道10bit 精度的ADC 和觸摸屏控制器、SD/MMC 卡控制器、4 通道DMA、4 通道具有PW 入1 功能的定時(shí)器、具有日歷功能的實(shí)時(shí)時(shí)鐘、看門狗定時(shí)器、3 通道UART(包含IRDA 紅外線數(shù)據(jù)通訊口)、USB 主機(jī)/設(shè)備接口、I2C 總線接口、IIS 數(shù)字音頻總線接口、2 通道SPI 總線接口、通用I/O 端口以及具有鎖相環(huán)功能片上時(shí)鐘發(fā)生器等。同時(shí),也可以根據(jù)需要進(jìn)行功能擴(kuò)展從而支持以太網(wǎng)接口、PCMCIA接口以及IDE 接口等。

  3 Windows CE.net 下的驅(qū)動(dòng)程序

  目前基于 Windows CE.net 的兩種模型是本機(jī)設(shè)備驅(qū)動(dòng)程序和驅(qū)動(dòng)程序。本機(jī)設(shè)備驅(qū)動(dòng)程序用于低級(jí)、內(nèi)置設(shè)備,提供一組定制的接口可通過(guò)移植、定制微軟提供的驅(qū)動(dòng)樣例來(lái)實(shí)現(xiàn)。驅(qū)動(dòng)程序?qū)崿F(xiàn)一組固定的函數(shù),所有的CE 設(shè)備皆可使用此模型實(shí)現(xiàn)。開發(fā)工具Platform. Builder 中包含的樣本設(shè)備驅(qū)動(dòng)程序分為兩種:單片驅(qū)動(dòng)程序和分層的驅(qū)動(dòng)程序如圖1 所示。單片驅(qū)動(dòng)程序基于單個(gè)碼片,該碼片直接把硬件設(shè)備的功能傳遞給操作系統(tǒng)。與彈片驅(qū)動(dòng)程序相比,分層驅(qū)動(dòng)程序由兩個(gè)設(shè)置好的層組成,上層是模型設(shè)備驅(qū)動(dòng)程序(Model Device Driver,MDD),下層是依賴平臺(tái)的驅(qū)動(dòng)程序(Platform. Dependent Driver,PDD)。大多數(shù)的樣本設(shè)備驅(qū)動(dòng)程序都配置成分層的。

  分層驅(qū)動(dòng)程序要利用微軟提供的與應(yīng)用程序通信的上層,這是一個(gè)與硬件平臺(tái)無(wú)關(guān)的上層,稱為模塊驅(qū)動(dòng)程序?qū)覯DD(Model Device Driver),MDD 層通過(guò)設(shè)備驅(qū)動(dòng)程序接口DDI(Device Driver Interface)與應(yīng)用程序通信,開發(fā)驅(qū)動(dòng)程序通常不修改MDD 層,主要關(guān)心與具體硬件相關(guān)的下層,依賴平臺(tái)的設(shè)備驅(qū)動(dòng)程序?qū)覲DD(Platform. Dependent Driver),PDD層通過(guò)設(shè)備驅(qū)動(dòng)服務(wù)接口DDSI(Device Driver Service Interface)直接管理硬件。單片驅(qū)動(dòng)程序所驅(qū)動(dòng)的設(shè)備通常與微軟提供的應(yīng)用程序沒(méi)有直接的關(guān)系,如LCD 背光條開關(guān)的驅(qū)動(dòng)。通常要求單片驅(qū)動(dòng)程序提供一個(gè)特定DDI 接口如上層應(yīng)用通信,通過(guò)編寫相應(yīng)的動(dòng)態(tài)鏈接庫(kù)DDL 實(shí)現(xiàn)這個(gè)功能。


  4 基于 Windows CE 的流驅(qū)動(dòng)程序的實(shí)現(xiàn)

  4.1 選擇代表設(shè)備的文件名前綴

  設(shè)備前綴名在系統(tǒng)中必須唯一,并且文件前綴名必須是 3 個(gè)字母,若有多個(gè)同類設(shè)備,則通過(guò)后綴1 個(gè)阿拉伯?dāng)?shù)字區(qū)分,例如COM1、LPT3 等等。文件前綴名將會(huì)在驅(qū)動(dòng)的標(biāo)準(zhǔn)接口函數(shù)中體現(xiàn),比如XXX_Init、XXX_Close 等,其中的“XXX”即是我們選擇的設(shè)備的文件名前綴。

鎖相環(huán)相關(guān)文章:鎖相環(huán)原理

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉