新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PDIUSBD12的USB控制器的設(shè)計(jì)

基于PDIUSBD12的USB控制器的設(shè)計(jì)

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

  因此,可以將每種命令做成函數(shù),用函數(shù)實(shí)現(xiàn)各個(gè)命令,直接調(diào)用函數(shù)即可。

  固件程序流程圖如圖2所示。

其中:

TD_Init():此函數(shù)用于初始化全局狀態(tài)變量。

TD_Poll():此函數(shù)在操作外設(shè)時(shí)反復(fù)調(diào)用,用于外設(shè)功能程序代碼的執(zhí)行。

TD Suspend():此函數(shù)使外設(shè)進(jìn)入低功耗掛起狀態(tài)。

  TD_Resume():次函數(shù)用于對(duì)外部恢復(fù)事件作出反應(yīng),并恢復(fù)處理器的正常工作狀態(tài)。

3.2 驅(qū)動(dòng)程序設(shè)計(jì)

  驅(qū)動(dòng)程序介于硬件與上層應(yīng)用軟件之間,為它們之間的通信提供橋梁。應(yīng)用程序可以不必知道它想要或者正在與之通信的硬件設(shè)備的屬性,包括電氣連接,物理地址,信號(hào)種類。通信協(xié)議等,甚至應(yīng)用程序可以不知道與之通信的是何種接口。這些工作全部是由各個(gè)層次的驅(qū)動(dòng)程序來(lái)完成的,應(yīng)用程序只需要知道設(shè)備的名稱,或是功能就可以了。在Windows中,應(yīng)用程序可以通過(guò)驅(qū)動(dòng)程序像操作一般文件一樣來(lái)訪問(wèn)硬件設(shè)備,以實(shí)現(xiàn)應(yīng)用層與設(shè)備的交互。與傳統(tǒng)PC總線(如PCI總線)設(shè)備的驅(qū)動(dòng)程序相比,USB設(shè)備驅(qū)動(dòng)程序從不直接與硬件對(duì)話。相反,它僅靠創(chuàng)建URB(USB請(qǐng)求塊)并把URB提交到總線驅(qū)動(dòng)程序就可完成硬件操作。

  USB驅(qū)動(dòng)程序現(xiàn)在已經(jīng)具有工業(yè)標(biāo)準(zhǔn)化,一般生產(chǎn)USB芯片的廠家已經(jīng)設(shè)計(jì)好其驅(qū)動(dòng)程序,在本設(shè)計(jì)中,使用了由PHILIPS公司提供的通用驅(qū)動(dòng)程序D12usb.sys,即功能驅(qū)動(dòng)程序。

4 結(jié)束語(yǔ)

  PHILIPS公司的芯片及其開發(fā)環(huán)境提供了一個(gè)快速有效的開發(fā)手段,本文對(duì)USB設(shè)備端的固件和硬件設(shè)計(jì)過(guò)程以及在主機(jī)端的驅(qū)動(dòng)程序和應(yīng)用程序開發(fā)都作了全面詳細(xì)的介紹。給出了一個(gè)快速實(shí)現(xiàn)的方法與技術(shù),也是開發(fā)其他類似設(shè)備的參考范例。

參考文獻(xiàn):

[1].datasheethttp://www.dzsc.com/datasheet/PDIUSBD12.html.
[2].AT89C52datasheethttp://www.dzsc.com/datasheet/AT89C52_1064535.html.
[3].PCIdatasheethttp://www.dzsc.com/datasheet/PCI_1201469.html.


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

評(píng)論


相關(guān)推薦

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

關(guān)閉