嵌入式應(yīng)用程序設(shè)計(jì)課件_第1頁
嵌入式應(yīng)用程序設(shè)計(jì)課件_第2頁
嵌入式應(yīng)用程序設(shè)計(jì)課件_第3頁
嵌入式應(yīng)用程序設(shè)計(jì)課件_第4頁
嵌入式應(yīng)用程序設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1嵌嵌 入入 式式 系系 統(tǒng)統(tǒng)-基于基于ARMARM微處理器與微處理器與 C/OS-C/OS-實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)第五章第五章 嵌入式應(yīng)用程序設(shè)計(jì)嵌入式應(yīng)用程序設(shè)計(jì)南開大學(xué)軟件學(xué)院南開大學(xué)軟件學(xué)院 2本章目錄本章目錄n基于基于 C/OS-C/OS-的應(yīng)用程序的建立的應(yīng)用程序的建立n嵌入式應(yīng)用程序舉例嵌入式應(yīng)用程序舉例3基于基于 C/OS-C/OS-的應(yīng)用程序的建立的應(yīng)用程序的建立n操作系統(tǒng)的運(yùn)行原理n應(yīng)用程序結(jié)構(gòu)n建立應(yīng)用程序4應(yīng)用程序結(jié)構(gòu)應(yīng)用程序結(jié)構(gòu)n單任務(wù)循環(huán)結(jié)構(gòu).cq單任務(wù)結(jié)構(gòu)時(shí)的目錄內(nèi)容n多任務(wù)結(jié)構(gòu).cq多任務(wù)結(jié)構(gòu)時(shí)的目錄內(nèi)容5應(yīng)

2、用程序舉例應(yīng)用程序舉例n繪圖的API函數(shù)應(yīng)用舉例n系統(tǒng)的消息循環(huán)nUSB接口及通信n文件的使用n6USB接口及通信接口及通信nUSB是Universal Serial Bus的簡稱,是由Intel公司制定的通用串行總線架構(gòu)。nUSB總線可以同時(shí)處理計(jì)算機(jī)與具有USB接口的多種外設(shè)之間的通信。這些連接到計(jì)算機(jī)上的外設(shè)共同分享USB的帶寬。USB的分時(shí)處理機(jī)制真正在硬件的意義上實(shí)現(xiàn)了計(jì)算機(jī)外設(shè)的即插即用。nUSB 1.1的傳輸速度:12Mb/snUSB 2.0的傳輸速度:480Mb/sn使用USB接口的設(shè)備:計(jì)算機(jī)外設(shè)如鍵盤、鼠標(biāo)、MODEM、游戲桿、光驅(qū)、掃描儀等。n發(fā)展趨勢:可能成為外設(shè)接口的

3、標(biāo)準(zhǔn)。以前插在串行、并行等外部擴(kuò)展接口上的部件,以及一些以前要連接到電腦內(nèi)部擴(kuò)展槽上的設(shè)備,都開始以USB接口的界面出現(xiàn)。7USB出現(xiàn)的背景出現(xiàn)的背景n并行設(shè)備的缺點(diǎn): 1. 占用系統(tǒng)資源嚴(yán)重。 2. 不能熱插拔。 3. 擴(kuò)展數(shù)量受限。 4. 硬、軟件配置麻煩,存在潛在沖突。 5. 不同設(shè)備所使用的接口連接電纜不可共享。n隨著外圍設(shè)備種類的增多,需要更為方便快捷、易于使用的外設(shè)接口,USB接口應(yīng)運(yùn)而生。n競爭對手:IEEE1394(Fireware),高速度,軟硬件復(fù)雜,多用于視頻這種處理高速大量數(shù)據(jù)場合。8USB的優(yōu)點(diǎn)的優(yōu)點(diǎn)nHost控制器直接和總線相連,提高了系統(tǒng)性能。n即插即用。n熱插拔

4、。n易于擴(kuò)展:理論上可連接多達(dá)127個(gè)設(shè)備。n接口標(biāo)準(zhǔn)統(tǒng)一,端口供電,不同設(shè)備可以共享接口電纜。 9USB的電氣特性的電氣特性n四線電纜結(jié)構(gòu):nVBUS、GND用于 向設(shè)備提供+5V電源。nD+、D- 是數(shù)據(jù)線,傳輸差動(dòng)信號(hào),差動(dòng)傳輸可以提高信號(hào)的抗干擾能力。n結(jié)束電阻:數(shù)據(jù)線末端的7.5k歐的接地電阻,用于在初次連接時(shí)判別外設(shè)是低速還是高速。10USB系統(tǒng)的體系結(jié)構(gòu)系統(tǒng)的體系結(jié)構(gòu)n一個(gè)基于計(jì)算機(jī)的USB系統(tǒng)在可以在系統(tǒng)層次上被分為三個(gè)部分:HOST(主機(jī))、Device(設(shè)備)和HUB(集線器)。n一個(gè)具體USB產(chǎn)品的的角色:n計(jì)算機(jī)上的USB結(jié)構(gòu)11USB系統(tǒng)的主從結(jié)構(gòu)系統(tǒng)的主從結(jié)構(gòu)n只有

5、主機(jī)才能和連接在主機(jī)的Hub上的設(shè)備進(jìn)行通信;主機(jī)和主機(jī)之間、設(shè)備與設(shè)備之間無法進(jìn)行數(shù)據(jù)通信。n典型的USB通信模型:由一個(gè)主機(jī)和一個(gè)設(shè)備組成,軟硬件都有一定的層次。n主機(jī)層次:主控制器、系統(tǒng)軟件、用戶軟件。n設(shè)備端:USB總線接口、USB邏輯設(shè)備、功能。12USBUSB系統(tǒng)的數(shù)據(jù)傳輸系統(tǒng)的數(shù)據(jù)傳輸n設(shè)備和主機(jī)之間存在四種可能的通信方式:控制數(shù)據(jù)傳輸、批量數(shù)據(jù)傳輸、中斷數(shù)據(jù)傳輸、同步數(shù)據(jù)傳輸。n控制數(shù)據(jù)傳輸是USB設(shè)備建立和主機(jī)的連接時(shí)所使用的默認(rèn)連接。n主機(jī)和設(shè)備之間傳輸?shù)膬煞N信號(hào):數(shù)據(jù)和控制信號(hào)。n通道:數(shù)據(jù)傳送時(shí)在主機(jī)和某個(gè)設(shè)備的指定端口之間進(jìn)行,這種主機(jī)和設(shè)備端口之間的聯(lián)系稱為通道。n

6、一個(gè)指定的設(shè)備可以有許多通道。n一種通道只能支持四種通信方式之一。n通道的兩種類型:單向、雙向。13數(shù)據(jù)傳輸方式數(shù)據(jù)傳輸方式n控制數(shù)據(jù)傳輸:USB 設(shè)備初次安裝時(shí),USB系統(tǒng)軟件利用控制數(shù)據(jù)設(shè)置USB設(shè)備,設(shè)備驅(qū)動(dòng)程序包含在控制數(shù)據(jù)中。n批量數(shù)據(jù)傳輸:傳送的是大量的、連續(xù)的數(shù)據(jù)。如打印機(jī)數(shù)據(jù)。n中斷數(shù)據(jù)傳輸:數(shù)據(jù)量小,可以由設(shè)備在任何時(shí)候發(fā)送,數(shù)據(jù)延時(shí)時(shí)間有限定、傳送速度不低于設(shè)備指定的速度。n同步數(shù)據(jù)傳輸:以穩(wěn)定的速率發(fā)送和接收實(shí)時(shí)的信息,數(shù)據(jù)的傳送是連續(xù)且實(shí)時(shí)的,發(fā)送者和接收者的速度要想同,盡量避免傳送延遲。典型同步數(shù)據(jù):語音。同步數(shù)據(jù)的實(shí)時(shí)傳送會(huì)發(fā)生潛在的數(shù)據(jù)流丟失現(xiàn)象,解決方法:緩沖、

7、帶寬分配、重傳。14USBUSB系統(tǒng)的數(shù)據(jù)傳輸原理系統(tǒng)的數(shù)據(jù)傳輸原理n共享帶寬的工作方式:主控制器(host contro-ller)和與它連接的多個(gè)不同傳輸方式的設(shè)備同時(shí)進(jìn)行通信。n數(shù)據(jù)傳輸格式:間隔為1ms的混合數(shù)據(jù)幀。n多種數(shù)據(jù)傳輸方式并存時(shí)的帶寬分配:中斷和同步傳輸因?qū)r(shí)間要求高而占絕大部分帶寬,其次是控制傳輸、批量傳輸。nTransaction:不同設(shè)備的數(shù)據(jù)請求在主機(jī)端被分成若干的小塊,每個(gè)小塊叫做一個(gè)Transaction,為保證連接到主機(jī)上的設(shè)備可以同時(shí)工作,主機(jī)每次從不同的設(shè)備取一個(gè)小塊構(gòu)成一個(gè)1ms 的混合幀,然后把整個(gè)幀發(fā)送到USB總線上。15nTransaction的結(jié)

8、構(gòu):包含三個(gè)包, 令牌包、數(shù)據(jù)包和握手信號(hào)包。n令牌包數(shù)據(jù)描述傳輸動(dòng)作的種類、方向、USB設(shè)備地址和終端號(hào),在每次傳送的開始由主控制器發(fā)送。n主機(jī)發(fā)送令牌包之后,發(fā)送端發(fā)送包含信息的數(shù)據(jù)包。n然后接收端發(fā)送一個(gè)握手?jǐn)?shù)據(jù)包表明傳送成功。16即插即用功能的實(shí)現(xiàn)即插即用功能的實(shí)現(xiàn)n熱插拔的原理:設(shè)備插入主機(jī)后,主機(jī)通過向設(shè)備查詢描述符來實(shí)現(xiàn)對設(shè)備的了解,進(jìn)而建立起通信,此過程稱為枚舉。n設(shè)備的描述符n一個(gè)設(shè)備只有一個(gè)Device描述符,指明設(shè)備所屬的類。n每個(gè)設(shè)備可以由一個(gè)或者多個(gè)配置,配置定義設(shè)備的功能。配置是接口的集合。n接口指定設(shè)備中哪些硬件與USB交換數(shù)據(jù)。接口是端點(diǎn)的集合。n每一個(gè)與USB

9、交換數(shù)據(jù)的硬件就叫一個(gè)端點(diǎn)。17USB系統(tǒng)的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)系統(tǒng)的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)n硬件結(jié)構(gòu):根據(jù)不同的應(yīng)用場合,選用芯片廠商的USB接口芯片,構(gòu)成USB主控制器或是USB設(shè)備的硬件。HOST系統(tǒng)常選用Cypress公司的SL811H 芯片;Device系統(tǒng)可選用Philips的PDIUSBD12芯片。n軟件結(jié)構(gòu): 主機(jī)在在USB通信中占有主導(dǎo)地位,主機(jī)通過主機(jī)控制器和USB設(shè)備進(jìn)行交互:q檢測設(shè)備的安轉(zhuǎn)和拆卸。q管理主機(jī)和設(shè)備之間的控制流。q管理主機(jī)和設(shè)備之間的數(shù)據(jù)流。q收集狀態(tài)和動(dòng)作信息。q提供能量給連接的USB設(shè)備。 18nUSB系統(tǒng)中數(shù)據(jù)通信的兩個(gè)階段:q通信建立階段-在主機(jī)和設(shè)備

10、之間建立固定管道:主機(jī)向設(shè)備發(fā)送描述符請求,設(shè)備向主機(jī)提供各種描述符;主機(jī)對設(shè)備進(jìn)行設(shè)置(包括端點(diǎn)和地址設(shè)置)。q數(shù)據(jù)通信階段:主機(jī)和設(shè)備之間按照枚舉過程中定義的設(shè)備地址和端點(diǎn)來傳輸數(shù)據(jù),直到通信結(jié)束。了19USBUSB系統(tǒng)的開發(fā)流程系統(tǒng)的開發(fā)流程1. 系統(tǒng)結(jié)構(gòu)、功能定義:確定是USB HOST or DEVICE; 采用USB2.0 or USB1.0;實(shí)時(shí)性要求2. 選擇接口芯片或者帶USB接口芯片的位處理器3. 設(shè)計(jì)制作接口電路4. 軟件編寫5. 開發(fā)PC端驅(qū)動(dòng)程序和應(yīng)用程序6. 系統(tǒng)調(diào)試:調(diào)試設(shè)備中的軟件調(diào)試PC端的驅(qū)動(dòng)程序和客戶端程序系統(tǒng)調(diào)試。 20嵌入式系統(tǒng)與嵌入式系統(tǒng)與USBn以

11、前的嵌入式設(shè)備大多通過異步串行口和PC機(jī)進(jìn)行通信。nUSB接口是嵌入式設(shè)備和PC機(jī)進(jìn)行高速通信的理想選擇。nNETARM3000的USB接口擴(kuò)展:nNETARM3000的USB接口是設(shè)備接口,只能和主控端口相連。n對PC來說, NETARM3000可以看成是一個(gè)海量存儲(chǔ)設(shè)備,具有U盤功能。21USB對嵌入式系統(tǒng)的影響對嵌入式系統(tǒng)的影響 n傳統(tǒng)上,嵌入式系統(tǒng)的數(shù)據(jù)交換采用RS-232異步串行接口,速度低、需要構(gòu)建專門的通信程序,無法實(shí)現(xiàn)通用化和規(guī)范化的要求。nUSB通信方式代替RS-232通信方式的好處: 1. 便于具有USB接口的嵌入式設(shè)備和PC的連接。 2. 便于具有U盤功能的嵌入式設(shè)備和P

12、C機(jī)交換文件。 3. 具有主機(jī)功能的嵌入式設(shè)備可以讀寫U盤,便于野外數(shù)據(jù)采集。 4.可以組建模塊化的高速工業(yè)測控網(wǎng)絡(luò)。22右圖: NetARM3000的USB的接口電路23NetARM3000NetARM3000的的USB APIUSB API函數(shù)函數(shù)24USB連機(jī)通信連機(jī)通信n參考exp13/14的框架,編寫main.c文件的內(nèi)容,實(shí)現(xiàn):q系統(tǒng)啟動(dòng)后,顯示按鍵連接usb的提示文字。q編寫鍵盤響應(yīng)函數(shù),實(shí)現(xiàn):按下某一特定鍵時(shí)進(jìn)入usb連接狀態(tài),并顯示一個(gè)彩色位圖圖片;q按下另一特定鍵時(shí)退出連接,取消顯示圖片,恢復(fù)顯示按鍵連接usb的提示文字。q顯示指定位圖函數(shù):Void ShowBmp(PDC pdc, char filename,int x,int y)25n注意:q進(jìn)入usb連接狀態(tài),將自動(dòng)暫停多任務(wù)調(diào)度,與多任務(wù)相關(guān)的函數(shù)不能使用。q圖片顯示要在調(diào)用EnterUsbConnect()函數(shù)之前,首先要調(diào)用顯示圖片函數(shù),然后調(diào)用OSTimeDly()更新顯示。q位圖顯示函數(shù):q退出USB連接狀態(tài)后,多任務(wù)自動(dòng)恢復(fù)。26文件的使用文件的使用 (見實(shí)驗(yàn)15)n目的:使用系統(tǒng)提供的API函數(shù),打開一個(gè)英文文本文件,并把文件的內(nèi)容輸出顯示在LCD上。n步驟:q利用U

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論