日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于PDIUSBD12芯片的USB接口的研究與開發(fā)
基于PDIUSBD12芯片的USB接口的研究與開發(fā)
 更新時(shí)間:2008-8-4 4:50:06  點(diǎn)擊數(shù):18
【字體: 字體顏色


    

摘要:本文介紹了PDIUSBD12芯片的工作性能與特點(diǎn),利用該芯片,經(jīng)過硬件設(shè)計(jì)和軟件調(diào)試,開發(fā)出了一種USB設(shè)備接口。該接口適用于虛擬儀器的開發(fā),其性能穩(wěn)定,可靠性高,具有廣闊的應(yīng)用前景。
關(guān)鍵詞:USB接口;PDIUSBD12;固件

    USB接口是近年來應(yīng)用在PC領(lǐng)域的新型接口技術(shù),它基于單一的總線接口技術(shù)來滿足多種應(yīng)用領(lǐng)域的需求。它的即插即用、支持熱插拔、易于擴(kuò)展等特性極大的方便了用戶的使用,使其成為開發(fā)虛擬儀器接口的首選,具有極好的應(yīng)用前景。本文利用USB的接口芯片PDIUSBD12,經(jīng)過硬件設(shè)計(jì)和軟件調(diào)試,開發(fā)了一種USB接口設(shè)備。

1、芯片的選擇
    在進(jìn)行任何USB設(shè)備開發(fā)之前,首先應(yīng)選擇適合的USB控制器芯片。目前市場上供應(yīng)的USB控制器主要有兩種:帶USB接口的單片機(jī)和純粹的USB接口芯片。帶USB接口的單片機(jī)從應(yīng)用上可分為兩類:一類是從底層設(shè)計(jì)專用于USB控制的單片機(jī);另一類是增加了USB接口的普通單片機(jī),選擇這類USB控制器的最大好處是開發(fā)者對系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡單,但對于簡單或低成本系統(tǒng),價(jià)格高將會是最大的障礙。純粹的USB接口芯片僅處理USB通信,必須有個(gè)外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。純粹的USB接口芯片主要特點(diǎn)是價(jià)格便宜、接口方便、可靠性強(qiáng),尤其適用于產(chǎn)品的改型設(shè)計(jì)。典型的產(chǎn)品有Philips公司的PDIUSBD11/12、NS公司的USBN9603/9604(并行接口)、NetChip公司的NET2888。這里選擇功能強(qiáng)大、支持總線供電和設(shè)備自供電兩種方式的PDIUSBD12作為接口芯片來設(shè)計(jì)USBS設(shè)備接口。

2、 PDIUSBD12芯片的性能與特點(diǎn)
    PDIUSBD12是PHILIPS在USB1.1協(xié)議設(shè)備端使用最多的芯片之一,此芯片是帶有并行總線和局部DMA傳輸能力的全速USB接口器件。片內(nèi)集成了高性能的USB接口器件、SIE、FIFO存儲器以及電壓調(diào)整器等,可與任何外部微控制器/微處理器實(shí)現(xiàn)高速并行接口。
    PDIUSBD12芯片的功能框圖如圖1所示


圖1  D12的功能框圖


    PDIUSBD12是一款性價(jià)比很高的USB器件,它采用28PIN腳模式,有SO28和TSSOP28封裝,SIE實(shí)現(xiàn)了全部的USB協(xié)議層,且完全由硬件實(shí)現(xiàn)而不需要固件的參與。其具體功能如下:同步方式識別、并/串轉(zhuǎn)換、比特填充/解填充、CRC校驗(yàn)/生成、PID確認(rèn)/生成、地址識別和握手信號的鑒定/生成、批處理數(shù)據(jù)傳輸可達(dá)1MB/s,3±0.3V雙極性輸入范圍,可接受4.5~5.5V工作電壓、工業(yè)級標(biāo)準(zhǔn)工作環(huán)境溫度范圍為-40~+85℃。利用該芯片可以高效地完成微控制器所送出的信號到USB規(guī)范的信號的轉(zhuǎn)換。

3、 USB設(shè)備接口的硬件設(shè)計(jì)
    利用PDIUSBD12芯片來實(shí)現(xiàn)USB接口,允許設(shè)計(jì)者挑選一種適合的微控制器進(jìn)行開發(fā)。設(shè)計(jì)者可以根據(jù)需要和實(shí)際情況進(jìn)行合理選擇。這樣,不僅減少了開發(fā)成本,而且大大縮短了開發(fā)周期。本設(shè)計(jì)采用了80C51作為微控制器,由于80C51是應(yīng)用比較廣泛的一種單片機(jī)微控制器,具有比較成熟的軟件開發(fā)平臺,且大多數(shù)電子工程師對其指令操作比較熟悉。因此,使用者可以利用比較熟悉80C51進(jìn)行核心程序的設(shè)計(jì),即用80C51來實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)墓δ,而具體的數(shù)據(jù)信號的轉(zhuǎn)換則由PDIUSBD12來完成。
    USB設(shè)備接口的硬件設(shè)計(jì)主要以PDIUSBD12為中心,設(shè)計(jì)它與USB物理接口及微控制器(80C51)之間的連接。這里采用總線供電方式設(shè)計(jì)全速USB設(shè)備接口,其接口電路如圖2所示:

 

圖2  USB設(shè)備接口電路


    當(dāng)P27=1時(shí),80C51給PDIUSBD12發(fā)命令;當(dāng)P27=0時(shí),向PDIUSBD12寫數(shù)據(jù)或從PDIUSBD12讀數(shù)據(jù)。PDIUSBD12的GL_N接LED,對其工作狀態(tài)進(jìn)行監(jiān)控,LED在USB被連接時(shí)會發(fā)光,在進(jìn)行數(shù)據(jù)傳輸時(shí)會閃爍,LED常亮或一直不亮說明USB接口有問題。R1,R2是串聯(lián)終端電阻。L1,L2是磁珠,分別串聯(lián)在電源和地中,USB總線電源從L1引入。如果是設(shè)備自供電,可以不接L1。對于自供電設(shè)備的電源必須要與總線的電源進(jìn)行隔離,自供電電源與USB總線的電源之間只能共地,同時(shí)設(shè)備不能通過USB口向VBUS輸出電流。PDIUSBD12片內(nèi)集成了6MHZ—8MHZ時(shí)鐘乘法PLL,這樣就可以使用低成本的6MHZ晶振,EMI也隨之降低。同時(shí),PDIUSBD12的時(shí)鐘輸出可以作為微處理器的外部晶振輸入。

4、 USB設(shè)備接口的固件程序設(shè)計(jì)
    USB設(shè)備接口固件的開發(fā)在整個(gè)USB接口設(shè)計(jì)中具有舉足輕重的地位。設(shè)備接口硬件需要軟件的協(xié)同來完成相應(yīng)的工作,然而固件的編制并不受具體微處理器種類的限制。對于開發(fā)者而言,接口硬件的工作是不可見的,可見的是接口固件在控制整個(gè)接口時(shí)所做的工作。
    PDIUSBD12的固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng),當(dāng)CPU處理前臺任務(wù)時(shí),USB的傳輸可在后臺進(jìn)行。這就確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),同時(shí)簡化了編程和調(diào)試。后臺ISR(中斷服務(wù)程序)和前臺主程序循環(huán)之間的數(shù)據(jù)交換通過事件標(biāo)志“EPPFLAGS”和Setup包數(shù)據(jù)緩沖區(qū)“CONROL_XFER”來實(shí)現(xiàn),其原理如圖3所示。

圖3 前后臺工作原理

    對于這種結(jié)構(gòu),主循環(huán)不用考慮數(shù)據(jù)的來源,只要檢查循環(huán)緩沖區(qū)內(nèi)需要處理的新數(shù)據(jù)。這樣,主循環(huán)可以專注于數(shù)據(jù)的處理,而ISR能夠以最大可能的速度進(jìn)行數(shù)據(jù)的傳輸。
    D12固件編寫成分層結(jié)構(gòu)簡潔且易于修改和測試,既增加了代碼的可讀性,又增加了程序的通用性。固件的積木式結(jié)構(gòu)如圖4所示。

圖4 固件結(jié)構(gòu)和數(shù)據(jù)流向

    各模塊程序的分工如下:
    硬件提取層:對單片機(jī)的I/O口、數(shù)據(jù)總線等硬件接口進(jìn)行操作。
    PDIUSBD12命令接口:對PDIUSBD12器件進(jìn)行操作的模塊子程序集。
    中斷服務(wù)程序:當(dāng)PDIUSBD12向單片機(jī)發(fā)出中斷請求時(shí),讀取PDIUSBD12的中斷傳輸來的數(shù)據(jù),并設(shè)定事件標(biāo)志“EPPFLAGS”和Setup包數(shù)據(jù)緩沖區(qū)“CONROL_XFER”傳輸給主循環(huán)程序。
    標(biāo)準(zhǔn)請求處理程序:對USB的標(biāo)準(zhǔn)設(shè)備請求進(jìn)行處理。
    廠商請求處理程序:對用戶添加的廠商請求進(jìn)行處理。
    主循環(huán)程序:發(fā)送USB請求、處理USB總線事件和用戶功能處理等。
    下面是固件程序主循環(huán)的部分代碼:
#include<reg51.h>
#define D12_COMMAND (*(unsigned char xdata*)0xff01)
#define D12_DATA (*(unsigned char xdata*)0x7f02)
extern void D12_int();
sbit D12_suspend=P3^4;
sbit D12_int_n=P3^2;
void main(void)
{
 unsigned char ist;
 P3=0xff;
 D12_COMMAND=0xf3;
 D12_DATA=0x06;//設(shè)置模式0
 D12_DATA=0x03;//初始化頻率
 D12_COMMAND=0xd0;
 D12_DATA=0x80;//設(shè)置地址0使能
 D12_COMMAND=0xf3;//連接主機(jī)
 D12_DATA=0x16;
 While(1)
 {  if(!D12_int_n)
{  D12_int(); }
}
}

5、 USB設(shè)備接口數(shù)據(jù)通信的兩個(gè)階段
    USB設(shè)備接口的一系列狀態(tài)轉(zhuǎn)換和不同類型的數(shù)據(jù)傳輸共同構(gòu)成了USB數(shù)據(jù)通信的兩個(gè)階段,即列舉階段和應(yīng)用階段。列舉階段是指主機(jī)與設(shè)備在進(jìn)行實(shí)際數(shù)據(jù)交換之前,主機(jī)了解設(shè)備并根據(jù)設(shè)備要求進(jìn)行系統(tǒng)配置的階段。為了進(jìn)行列舉,所有設(shè)備的接口必須都支持控制傳輸、標(biāo)準(zhǔn)USB請求和端點(diǎn)0功能。
應(yīng)用階段是指主機(jī)和設(shè)備進(jìn)行實(shí)際數(shù)據(jù)交換的通信過程。經(jīng)過了列舉過程,應(yīng)用階段顯得相對簡單 。在主機(jī)一側(cè),應(yīng)用程序可以用標(biāo)準(zhǔn)的Windows API函數(shù)從指定的設(shè)備讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入設(shè)備。在設(shè)備一側(cè),主要工作是對配置過的端點(diǎn)進(jìn)行端點(diǎn)操作,同時(shí)對一些寄存器的狀態(tài)進(jìn)行實(shí)時(shí)處理。數(shù)據(jù)傳輸使用HID規(guī)定的控制、中斷兩種傳輸類型,每一種類型都有適合特殊用途的格式和協(xié)議。

6、 結(jié)束語

    本文詳細(xì)介紹了基于PDIUSBD12的USB設(shè)備接口的設(shè)計(jì),從硬件設(shè)計(jì)及軟件調(diào)試兩方面討論了設(shè)備接口的設(shè)計(jì)方法。這種通用USB設(shè)備接口適用于基于USB總線的虛擬儀器,以及各種現(xiàn)場測試環(huán)境,使設(shè)備實(shí)現(xiàn)了真正意義上的即插即用,簡潔方便,可靠性高,具有廣闊的應(yīng)用前景。



[1] [2]  下一頁
  • 上一篇: 數(shù)據(jù)采集系統(tǒng)中Windows CE.Net的幾種外設(shè)接口編程方法
  • 下一篇: 摩托羅拉MC683609與SDRAM接口邏輯設(shè)計(jì)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1