版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、液體點滴速度監(jiān)控裝置-主站 文章來源:凌陽大學(xué)計劃網(wǎng)站 作者:凌陽大學(xué)計劃網(wǎng)站 發(fā)布時間:2003-5-27 9:30:31 USB(Universal Serial Bus)是通用串行總線。最初USB是由Compaq、Digital、IBM、Intel、Microsoft、NEC以及Northern Telecom(北方電信公司)七家公司共同開發(fā)的一種新的外設(shè)連接技術(shù)。諸家公司聯(lián)合提出這一新型總線,是為了解決PC機外圍設(shè)備的擁擠和提高設(shè)備的傳輸速度。目前普遍采用的USB11主要應(yīng)用在中低速外部設(shè)備上,它提供的傳輸速度有低速15Mbps和全速12Mbps兩種??鄢糜诳偩€狀態(tài)、控制和錯誤監(jiān)測等
2、的數(shù)據(jù)傳輸,USB的最大理論傳輸速率仍達1.2Mb/s或9.6Mb/s,遠高于一般的串行總線接口?,F(xiàn)有的USB外設(shè)有:數(shù)字照相機、音箱、游戲桿、調(diào)制解調(diào)器、鍵盤、鼠標(biāo)、掃描儀、打印機、光驅(qū)、軟驅(qū)等。1998年后隨著微軟在Windows98中內(nèi)置了對USB接口的支持模塊,加上USB設(shè)備的日漸增多,USB逐步走進了實用階段、以驚人的速度發(fā)展。 由于現(xiàn)在市面上新出一款單片機SPCE061A,它非常有特色。本文主要介紹,利用SPCE061A和USB接口芯片PDIUSBD12來開發(fā)USB設(shè)備。SPCE061A單片機由臺灣凌陽公司制造,SPCE061A單片機款式新穎,而且性價比極高。 SPCE061A在2
3、.6V3.6V工作電壓范圍內(nèi)的工作速度范圍為0.32MHz49.152MHz;2K字SRAM和32K字FLASH僅占一頁存儲空間;32位可編程的多功能I/O端口;兩個16位定時器/計數(shù)器;低電壓復(fù)位/監(jiān)測功能;8通道10位模/數(shù)轉(zhuǎn)換輸入功能并具有內(nèi)置自動增益控制功能的麥克風(fēng)輸入方式;雙通道10位DAC方式的音頻輸出功能;指令系統(tǒng)提供具有較高運算速度的16位16位的乘法運算指令和內(nèi)積運算指令,為其應(yīng)用增添了DSP功能.。較高的處理速度使SPCE061A能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。開發(fā)數(shù)字聲音和語音識別產(chǎn)品,選擇SPCE061A是一種最經(jīng)濟的選擇。 本文所設(shè)計的USB設(shè)備系統(tǒng)的功能比
4、較簡單,它主要實現(xiàn)SPCE061A與PC機之間的簡單通訊,是SPCE061A單片機的一種基本應(yīng)用。這篇文章的主要目的是希望能夠給讀者起拋磚引玉的作用,開發(fā)者可以在這個基礎(chǔ)上修改程序,輕松實現(xiàn)USB設(shè)備系統(tǒng)開發(fā)。本文所設(shè)計的系統(tǒng)具有三種簡單功能:1.檢測USB外設(shè)是否連接成功。 2.通過點擊PC端的應(yīng)用軟件上的按鈕,可以點亮或熄滅與SPCE061A單片機IO口相連的LED燈。3.應(yīng)用軟件發(fā)送任意字符串到SPCE061A,SPCE061A接受、回送字符串,應(yīng)用軟件接受到字符串時,能夠?qū)⑺@示出來。 4.1系統(tǒng)組成本USB通訊系統(tǒng),主要由凌陽十六位單片機SPCE061A,Philips公司的USB接
5、口芯片PDIUSBD12組成,系統(tǒng)框圖如圖1所示。圖1 系統(tǒng)框圖這個系統(tǒng)的基本工作流程為:PC端應(yīng)用軟件,發(fā)送ID0(為了使主機和設(shè)備方能同步,該系統(tǒng)定義了三個握手ID:ID0,ID1,ID2。)給PDIUSBD12,PDIUSBD12接收數(shù)據(jù),產(chǎn)生中斷通知SPCE061A單片機讀取數(shù)據(jù)。SPCE061A如果讀取的數(shù)據(jù)為ID0,那么發(fā)送ID0給PDIUSBD12;PC機端應(yīng)用軟件發(fā)送完數(shù)據(jù)后,讀取外設(shè)發(fā)送的數(shù)據(jù),如果讀到的數(shù)據(jù)為ID0,那么彈出一個提示框,提示USB外設(shè)連接成功。此后PC機端的應(yīng)用軟件和USB外設(shè)之間的通訊都是通過ID來進行的。 4.2硬件設(shè)計 系統(tǒng)電路原理圖如圖2所示。其中P
6、DIUSBD12用作實現(xiàn)PC機與SPCE061A單片機進行通信的高速通用并行接口。USB協(xié)議層的相關(guān)通訊協(xié)議通過PDIUSBD12來實現(xiàn),它由硬件實現(xiàn)不需要固件的參與。SPCE061A單片機的主要作用:1.windows系統(tǒng)配置、枚舉USB外設(shè)時,SPCE061A發(fā)送、接收相關(guān)的USB設(shè)備信息。2. windows系統(tǒng)配置、枚舉USB外設(shè)成功后,根據(jù)接收到的ID,進行相應(yīng)的操作,起控制作用。 SPCE061A內(nèi)嵌32K的FLASH的存儲空間、14個中斷源,它在2.63.6V的工作電壓范圍內(nèi)的工作速率范圍為0.32MHz49MHz,這使得它有較高的速率和存儲空間來應(yīng)付USB通訊。單片機SPCE0
7、61A與PDIUSBD12之間通訊采用中斷方式,數(shù)據(jù)交換主要是靠SPCE061A單片機給PDIUSBD12發(fā)命令和數(shù)據(jù)來實現(xiàn)的。PDIUSBD12通過這種方式來識別命令和數(shù)據(jù):在ALE信號的下降沿時鎖定地址,如果是奇地址,那么它接收的是命令;如果是偶地址,那么它發(fā)送或接收的是數(shù)據(jù)。PDIUSBD12的中斷寄存器只要不為0,它的中斷輸出引腳(INT_N)就保持低電平,所以系統(tǒng)初始化時可將SPCE061A單片機的外部中斷(下降沿觸發(fā))引腳IOB2設(shè)置為帶上拉電阻輸入。當(dāng)PDIUSBD12的中斷寄存器由零變?yōu)榉橇銜r,馬上觸發(fā)SPCE061A的外部中斷,SPCE061A單片機在中斷處理時,讀取PDIU
8、SBD12芯片的狀態(tài)寄存器以清除中斷寄存器中對應(yīng)位,使得中斷引腳變?yōu)楦唠娖?。這樣使得SPCE061A可以在退出中斷后,可隨時響應(yīng)外部中斷。 圖2 系統(tǒng)電路原理圖 圖中的LED1燈非常有用,它是PDIUSBD12的GOODLINK指示燈,在系統(tǒng)枚舉時會根據(jù)通信的狀況間歇閃爍,當(dāng)PDIUSBD12被枚舉和配置成功后,將一直點亮。隨后在USB通信時會閃爍,這對調(diào)試非常有用。4.3軟件設(shè)計USB設(shè)備的軟件設(shè)計主要包括兩部分:一、USB設(shè)備端的單片機軟件,主要完成USB協(xié)議處理與數(shù)據(jù)交換。二、PC端的程序,由USB驅(qū)動程序和用戶服務(wù)程序兩部分組成,用戶服務(wù)程序通過USB驅(qū)動程序通信,由系統(tǒng)完成USB協(xié)議
9、的處理與數(shù)據(jù)傳輸。 該系統(tǒng)單片機端的軟件流程如圖3所示。SPCE061A單片機控制程序由三部分組成:第一、初始化SPCE061A和PDIUSBD12。 第二、主循環(huán)部分,主要任務(wù)是判斷標(biāo)志位是否改變,如果改變則執(zhí)行相應(yīng)的程序,否則一直循環(huán)等待中斷。第三、中斷服務(wù)程序,主要任務(wù)是接收、發(fā)送數(shù)據(jù),設(shè)置相應(yīng)的標(biāo)志位。主機首先要發(fā)令牌包給PDIUSBD12,PDIUSBD12接收到令牌包后就給單片機發(fā)中斷,單片機進入中斷服務(wù)程序,首先讀PDIUSBD12的中斷寄存器,判斷 USB令牌包的類型,然后執(zhí)行相應(yīng)的操作。因此,單片機程序主要就是中斷服務(wù)程序的編寫。在 USB單片機程序中要完成對各種令牌包的響應(yīng)
10、,其中比較難處理的是SETUP包,主要是端點0的編程。系統(tǒng)初始化部分包括系統(tǒng)時鐘,IO口,中斷設(shè)置(開外部中斷),PDIUSBD12芯片軟件復(fù)位、初始化。該主流程的核心部分是協(xié)議層的請求處理,它關(guān)系到PC機枚舉USB外設(shè)成功與否。所以在調(diào)試單片機程序的時候,要特別注意Window對USB設(shè)備的枚舉順序。如果枚舉成功,主機將找到新的設(shè)備,提示安裝驅(qū)動程序;否則找到未知設(shè)備,USB外設(shè)不可用。 圖3 主流程圖中斷服務(wù)子程序的編寫,采用混合編程,也就是說,在匯編程序中調(diào)用C函數(shù),這樣可以提高代碼的可讀性。中斷服務(wù)子程序的流程如圖4所示,有好幾個地方,只做清中斷處理,這是因為有些端點沒有用到。它只作為
11、一個程序接口,為擴展系統(tǒng)功能用。圖4 中斷服務(wù)子程序流程圖目前編寫主機的USB驅(qū)動程序主要采用三種方法。 第一,使用Windows DDK來編寫驅(qū)動程序,難度很大,但是非常靈活; 第二,使用DriverStudio開發(fā)工具來生成驅(qū)動程序;第三,使用Windriver開發(fā)工具來生成驅(qū)動程序。用后面兩種方法來開發(fā)驅(qū)動程序的周期短,但是不靈活。本系統(tǒng)的驅(qū)動程序采用DDK編寫,用戶服務(wù)程序能夠通過驅(qū)動程序與PDIUSBD12芯片中任意端點通訊,因此編寫用戶服務(wù)程序也是非常靈活的。 圖5 界面圖4.4總結(jié)通常在開發(fā)USB設(shè)備產(chǎn)品,需要編寫實時性、程序可讀性要求很高的代碼,這時就需要采用混合編程。而凌陽的mnSP IDE具有良好的編程環(huán)境,它可以很輕松、很容易進行混合編程(在C程序中調(diào)用匯編程序,在匯編程序中調(diào)用C程序)。在該系統(tǒng)中,只用到了SPCE061A單片機的外部中斷、IO口資源。其實SPCE061A單片機的資源很豐富,它除了具有普通單片機功能以外,還具有語音識別、語音錄放等功能。因此這個系統(tǒng)只是一個雛形,SPCE061A還能夠?qū)崿F(xiàn)比較復(fù)雜的功能,比如使用SPCE061A的錄音功能進行錄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚慶行業(yè)前臺工作總結(jié)
- 定制家具設(shè)計師工作要點
- 《美麗的海洋世界》課件
- 購物服務(wù)員工作總結(jié)
- 前臺文員情緒智力提升方案計劃
- 《苗木霜害怎么預(yù)防》課件
- 2024年廣東省汕尾市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年甘肅省嘉峪關(guān)市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年四川省雅安市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2021年云南省楚雄自治州公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 培智三年級上冊生活語文期末測試卷(A)
- GB/T 13296-2023鍋爐、熱交換器用不銹鋼無縫鋼管
- JCT2381-2016 修補砂漿標(biāo)準(zhǔn)
- 新加坡學(xué)習(xí)匯報
- 人工智能與機器學(xué)習(xí)基礎(chǔ)課程
- 辦公大樓物業(yè)服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 高速公路隧道工程施工方案
- 中國營養(yǎng)科學(xué)全書
- 針灸推拿試題(附參考答案)
- 《機械制圖》說課課件-畫組合體視圖的方法和步驟
- 2023-2024學(xué)年成都市錦江區(qū)四年級數(shù)學(xué)第一學(xué)期期末統(tǒng)考模擬試題含答案
評論
0/150
提交評論