色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AT89C52單片機(jī)和接口芯片實(shí)現(xiàn)USB接口的應(yīng)用設(shè)計(jì)

電子設(shè)計(jì) ? 來源:微計(jì)算機(jī)信息 ? 作者:馬軍;李玉林 ? 2021-05-25 10:49 ? 次閱讀

USB是一種新型的通用串行總線,它具有即插即用、可熱插拔和傳輸速率高的特點(diǎn),在工業(yè)界已經(jīng)獲得了廣泛的支持和應(yīng)用。迄今為止,各種USB的外設(shè)已有上千種,除了象顯卡這種需要極高數(shù)據(jù)量和實(shí)時(shí)性要求特別高的控制設(shè)備,幾乎所有的PC外設(shè)都可以移植到USB上來。

一般的USB設(shè)備都使用一片微控制器作為其核心部件,通過微控制器強(qiáng)火的控制和運(yùn)算功能,開發(fā)者可以很容易地實(shí)現(xiàn)USB設(shè)備的智能化。而嵌入式設(shè)備的實(shí)時(shí)、小巧等特性使得USB的協(xié)議棧和總線驅(qū)動(dòng)的開發(fā)設(shè)計(jì)顯得尤為重要,因?yàn)樗暮脡臅?huì)直接對(duì)USB主機(jī)產(chǎn)生影響,從而會(huì)對(duì)嵌入式系統(tǒng)性能和穩(wěn)定產(chǎn)生較大影響。本文以PDIUSBD12為USB接口芯片,以AT89C52為控制器,給出了一種USB接口的設(shè)計(jì)方法。

1 PDIUSBD12芯片介紹

PHILIPS公司生產(chǎn)PDIUSBD12接口芯片是一款性價(jià)比很高的USB器件,它通常通過其高速并行接口進(jìn)行和微控制器通信,支持本地的DMA傳輸,支持3個(gè)USB端點(diǎn),其中一個(gè)端點(diǎn)128B容量,另外2個(gè)端點(diǎn)具有256B容量。該器件允許在眾多可用的微控制器中選擇最合適的系統(tǒng)控制器可,允許使用現(xiàn)存的體系結(jié)構(gòu)并使設(shè)備軟件投資成本減少,是開發(fā)低成本,高效率的USB外圍設(shè)備的最佳途徑。

PDIUSBD12特性:

(1) 符合通用串行總線USB1.1版規(guī)范

(2)高性能USB接口器件集成了SIE FIFO存儲(chǔ)器收發(fā)器以及電壓調(diào)整器

(3) 符合大多數(shù)器件的分類規(guī)格

(4) 可與任何外部微控制器/微處理實(shí)現(xiàn)高速并行接口2M字節(jié)/秒

(5) 完全自治的直接內(nèi)存存取DMA操作

(6) 集成320字節(jié)多結(jié)構(gòu)FIFO存儲(chǔ)器

(7) 主端點(diǎn)的雙緩沖配置增加了數(shù)據(jù)吞吐量并輕松實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸

(8) 在批量模式和同步模式下均可實(shí)現(xiàn)1M字節(jié)/秒的數(shù)據(jù)傳輸速率

(9) 具有良好EMI特性的總線供電能力

(10) 在掛起時(shí)可控制LazyClock輸出

(11) 可通過軟件控制與USB的連接

(12) 采用GoodLink技術(shù)的連接指示器,在通信時(shí)使LED閃爍

(13) 可編程時(shí)鐘頻率輸出

(14) 符合ACPI OnNOW和USB電源管理的要求

(15) 內(nèi)部上電復(fù)位和低電壓復(fù)位電路

(16) 有SO28和TSSOP28兩種封裝

(17) 工業(yè)級(jí)操作溫度-40~+85℃

(18) 高于8kV的在片靜電防護(hù)電路減少了額外元件的費(fèi)用

(19) 具有高錯(cuò)誤恢復(fù)率(》99%)的全掃描設(shè)計(jì)確保了高品質(zhì)

(20) 雙電源操作3.3V或擴(kuò)展的5V電源,范圍為3.6~5.5V

(21) 多中斷模式實(shí)現(xiàn)批量和同步傳輸

2 USB通信模塊的硬件電路的設(shè)計(jì)

本系統(tǒng)設(shè)計(jì)采用PDIUSBD12和AT89C52配合完成通信設(shè)計(jì)。其連線圖如圖1所示。

從上圖分析知道,AT89C52和PDIUSBD12采用總線方式連接,對(duì)AT89C52來說,PDIUSBD12是一個(gè)具有8位數(shù)據(jù)總線的存儲(chǔ)設(shè)備。PDIUSBD12獲取USB總線數(shù)據(jù),并對(duì)數(shù)據(jù)作相應(yīng)協(xié)議處理之后以中斷的方式通知AT89C52,MCU根據(jù)相應(yīng)的中斷請(qǐng)求往PDIUSBD12發(fā)送不同請(qǐng)求數(shù)據(jù),協(xié)同實(shí)現(xiàn)USB設(shè)備列舉和數(shù)據(jù)傳輸。當(dāng)外設(shè)經(jīng)過PDIUSBD12連接到集線器后,集線器就會(huì)檢測(cè)外設(shè)的連接狀態(tài)并向主機(jī)報(bào)告,一但發(fā)現(xiàn)該設(shè)備,主機(jī)就會(huì)發(fā)送一系列請(qǐng)求給集線器,以使得集線器在主機(jī)和設(shè)備之間建立一個(gè)通信通道。然后主機(jī)試圖列舉該設(shè)備,發(fā)送設(shè)備描述符等請(qǐng)求可,列舉成功后,主機(jī)即可以從外設(shè)能夠被主機(jī)識(shí)別并能和主機(jī)進(jìn)行通信。之后,USB總線進(jìn)入數(shù)據(jù)傳輸階段。

3 USB固件程序的設(shè)計(jì)

固件是FireWare的中文意思,它實(shí)際上足單片機(jī)的程序文件,可以采用C語言或是匯編語言編寫。它的操作方式與硬件聯(lián)系緊密,包括USB設(shè)備的連接、USB協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,開發(fā)者需要對(duì)端口、中斷和硬件結(jié)構(gòu)非常熟悉。在本系統(tǒng)中,當(dāng)PDIUSBD12從USB接受到一個(gè)數(shù)據(jù)包,就對(duì)CPU產(chǎn)生一個(gè)中斷請(qǐng)求,CPU立即響應(yīng)中斷。在ISR(中斷服務(wù)程序)中,固件讀取數(shù)據(jù),并將數(shù)據(jù)保存值到循環(huán)數(shù)據(jù)緩沖區(qū),隨后置柏應(yīng)事件的標(biāo)志位,CPU繼續(xù)前臺(tái)程序,檢測(cè)事件標(biāo)志,執(zhí)行完成相應(yīng)的事件任務(wù)。固件程序一般放入MCU中,當(dāng)把設(shè)備連接到主機(jī)上時(shí),上位機(jī)可以發(fā)現(xiàn)新設(shè)備,然后建立連接。因此,編寫固件程序的一個(gè)最主要的目的就是讓W(xué)indows可以檢測(cè)和識(shí)別設(shè)備。

3.1 固件功能需求

在本系統(tǒng)設(shè)計(jì)中,固件程序不僅要協(xié)助USB控制芯片PDIUSBD12完成USB通信的任務(wù),而且還要控制采集模塊和標(biāo)準(zhǔn)信號(hào)源的工作,具體包括:

(1) 應(yīng)答主機(jī)列舉設(shè)備的所有請(qǐng)求,完成設(shè)備的列舉和重列舉過程。其中包括用軟件來模擬USB設(shè)備的斷開與從新連接,對(duì)接收到的設(shè)備包進(jìn)行分析和判斷,對(duì)主機(jī)的設(shè)備請(qǐng)求作出適當(dāng)?shù)捻憫?yīng)工作,直到主機(jī)對(duì)設(shè)備的配制完成。

(2) 初始化工作,這項(xiàng)工作有兩個(gè)方面,一是對(duì)采集模塊和信號(hào)源模塊的硬件進(jìn)行初始化工作;二是對(duì)USB芯片進(jìn)行初始化,設(shè)置一些特殊功能寄存器的初值,例如開或關(guān)中斷,配制I/O端口等。

(3) 當(dāng)主機(jī)發(fā)送數(shù)據(jù)時(shí),要接收數(shù)據(jù)包并解析數(shù)據(jù)包的含義,根據(jù)事先約定的協(xié)議進(jìn)行相應(yīng)的操作。對(duì)于采集模塊具體包括:寫入波形數(shù)據(jù),選擇頻率,選擇幅度,選擇波形類型等。

(4) 當(dāng)主機(jī)要求回傳采集到的數(shù)據(jù)時(shí),根據(jù)設(shè)備狀態(tài)回傳數(shù)據(jù),或者應(yīng)答數(shù)據(jù)未準(zhǔn)備好?;貍鲾?shù)據(jù)后,自動(dòng)按照原先保存的設(shè)置初始化采集參數(shù)并啟動(dòng)下一次采集,從而使采集繼續(xù)下去。

(5) 響應(yīng)硬件產(chǎn)生的中斷,并作出相應(yīng)的處理。

單片機(jī)與PDIUSBD12的通信主要是靠單片機(jī)給PDIUSBD12發(fā)命令和數(shù)據(jù)來實(shí)現(xiàn)的。PDIUSBD12的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。PDIUSBD12數(shù)據(jù)手冊(cè)給出了各種命令的代碼和地址。單片機(jī)先給PDIUSBD12的命令地址發(fā)命令,根據(jù)不同命令的要求再發(fā)送或讀出不同的數(shù)據(jù)。

因此,可以將每種命令做成函數(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)程序來完成的,應(yīng)用程序只需要知道設(shè)備的名稱,或是功能就可以了。在Windows中,應(yīng)用程序可以通過驅(qū)動(dòng)程序像操作一般文件一樣來訪問硬件設(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公司提供的PDIUSBD12通用驅(qū)動(dòng)程序D12usb.sys,即功能驅(qū)動(dòng)程序。

4 結(jié)束語

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    51600

    瀏覽量

    429905
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6050

    文章

    44701

    瀏覽量

    641288
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8777

    瀏覽量

    152417
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是單片機(jī)的ADC接口

    ,簡稱ADC)接口單片機(jī)中不可或缺的一部分,它負(fù)責(zé)將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),使得單片機(jī)能夠處理來自傳感器、儀表等模擬世界的信號(hào)。本文將深入探討單片機(jī)的ADC
    的頭像 發(fā)表于 02-03 11:27 ?625次閱讀

    單片機(jī)I/O接口的傳輸方式

    單片機(jī)(Microcontroller Unit,MCU)作為嵌入式系統(tǒng)的核心部件,其輸入輸出(Input/Output,I/O)接口實(shí)現(xiàn)與外部設(shè)備數(shù)據(jù)交換的關(guān)鍵。I/O接口不僅承擔(dān)
    的頭像 發(fā)表于 02-02 15:56 ?308次閱讀

    USB Type-C接口快充協(xié)議芯片的特點(diǎn)與發(fā)展趨勢(shì)

    現(xiàn)代設(shè)備快充的核心技術(shù)之一。為了滿足用戶對(duì)充電速度和效率的需求,USB Type-C接口快充協(xié)議芯片應(yīng)運(yùn)而生。本文將深入分析USB Type
    的頭像 發(fā)表于 12-18 14:36 ?497次閱讀
    <b class='flag-5'>USB</b> Type-<b class='flag-5'>C</b><b class='flag-5'>接口</b>快充協(xié)議<b class='flag-5'>芯片</b>的特點(diǎn)與發(fā)展趨勢(shì)

    Micro USB接口USB-C的區(qū)別

    隨著科技的快速發(fā)展,USB接口已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。從?shù)據(jù)傳輸?shù)皆O(shè)備充電,USB接口的應(yīng)用范圍越來越廣泛。Micro USB
    的頭像 發(fā)表于 11-27 09:55 ?2656次閱讀

    采用AT89C52單片機(jī)作為路燈控制系統(tǒng)的支路控制器

    本系統(tǒng)采用AT89C52單片機(jī)作為路燈控制系統(tǒng)的支路控制器,采用光敏二極管 檢測(cè)光強(qiáng)度、紅外對(duì)管檢測(cè)移動(dòng)物體經(jīng)過的位置等方法控制路燈按預(yù)定要求自動(dòng)開關(guān)。本 系統(tǒng)由支路控制器改變恒流源的輸出電流,檢測(cè)
    發(fā)表于 11-24 14:37 ?0次下載

    89C52單片機(jī)控制直流24V電機(jī)輸出,數(shù)碼管顯示亂碼?

    一電子板,89C52單片機(jī)控制直流24V電機(jī)輸出,帶93C86讀取用戶數(shù)據(jù),能正常運(yùn)行,但起動(dòng)10-20秒內(nèi)不能控制,數(shù)碼管顯示亂碼?
    發(fā)表于 11-10 19:06

    如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信

    51單片機(jī)與PC機(jī)的串行通信是一種常見的通信方式,它允許單片機(jī)通過串行接口與PC機(jī)進(jìn)行數(shù)據(jù)交換。這種通信方式在嵌入式系統(tǒng)、工業(yè)控制、物聯(lián)網(wǎng)等
    的頭像 發(fā)表于 10-21 11:35 ?1606次閱讀

    usb接口與type-c接口區(qū)別

    USB接口和Type-C接口是兩種不同的數(shù)據(jù)傳輸和電源接口,它們?cè)谠O(shè)計(jì)、功能和應(yīng)用方面有著顯著的區(qū)別。 1. 歷史背景
    的頭像 發(fā)表于 10-10 10:22 ?5993次閱讀

    usb-c和type-c接口可以混用嗎

    USB-C和Type-C這兩個(gè)術(shù)語經(jīng)常被人們交替使用,但實(shí)際上它們指的是同一種接口技術(shù)。USB-C是一種物理接口,而Type-
    的頭像 發(fā)表于 10-08 14:32 ?5140次閱讀

    typec接口usb接口充電快嗎

    Type-C接口USB接口在充電速度上的比較,需要考慮多個(gè)因素,包括接口的具體版本、充電器的輸出功率、設(shè)備的充電管理系統(tǒng)等。一般來說,Ty
    的頭像 發(fā)表于 09-02 11:15 ?5207次閱讀

    USB-C/Type-C 接口與 Lightning接口的比較

    USB-C 和 Type-C 這兩個(gè)術(shù)語經(jīng)常被人們混用,但實(shí)際上它們指的是同一種技術(shù)。USB-CUSB 接口的一種物理形態(tài),而 Typ
    的頭像 發(fā)表于 09-02 11:07 ?2902次閱讀

    CY7C68013A/CYUSB3014的GPIF接口可以連接單片機(jī)的SDIO接口嗎?

    硬件小白請(qǐng)教一下各位大神,單片機(jī)沒有自帶USB接口,高速接口只有SDIO 3.0的情況下,有辦法通過68013或者3014來對(duì)接上位機(jī)
    發(fā)表于 07-03 16:46

    基于AT89C52的多功能數(shù)字時(shí)鐘系統(tǒng)

    本設(shè)計(jì)基于單片機(jī)技術(shù)原理,以單片機(jī)芯片AT89C52作為核心控制器、通過硬件電路的制作以及軟件程序的編制,設(shè)計(jì)了多功能數(shù)字時(shí)鐘系統(tǒng)[1]。該時(shí)鐘系統(tǒng)主要由液晶顯示模塊以及按鍵控制模塊組成。系統(tǒng)具有
    發(fā)表于 06-15 11:26 ?2次下載

    USB Type-C接口定義

    主流的接口類型。 Type-C接口USB Implementers Forum制定,全名為USB Type-
    的頭像 發(fā)表于 03-20 11:24 ?3585次閱讀

    基于單片機(jī)多功能洗衣機(jī)控制

    需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,
    發(fā)表于 03-18 10:13 ?929次閱讀
    基于<b class='flag-5'>單片機(jī)</b>多功能洗衣<b class='flag-5'>機(jī)</b>控制
    主站蜘蛛池模板: 精品人妻无码一区二区三区蜜桃臀 | www.青青草.com | 亚洲国产在线2o20 | 最新亚洲中文字幕在线观看 | 婷婷五月久久精品国产亚洲 | 国产精品AV视频一二三区 | 国产高清免费视频免费观看 | 亚洲人美女肛交真人全程 | 精品亚洲一区二区三区在线播放 | YELLOW视频直播在线观看高清 | 红尘影院手机在线观看 | 欧美精品专区免费观看 | 亚洲精品久久久午夜麻豆 | 视频在线观看高清免费看 | 诱受H嗯啊巨肉各种play | 国语对白老女人8av 国语对白刺激真实精品 | 4484在线观看视频 | 歪歪爽蜜臀AV久久精品人人槡 | 日本高清不卡一区久久精品 | GAY2022空少被体育生暴菊 | 2020亚洲色噜噜狠狠网站 | 少妇高潮A片特黄久久精品网 | 国产高清视频免费最新在线 | 37大但人文艺术A级都市天气 | 国产人A片在线乱码视频 | 国产美女一区二区 | 夜色伊甸园 | 亚洲精品综合在线影院 | 97精品国产亚洲AV超碰 | 91久久综合精品国产丝袜长腿 | 久久综合久综合久久鬼色 | 国产成人在线视频播放 | 男生J桶进女人P又色又爽又黄 | 99福利影院 | 久久成人免费观看草草影院 | 青青草干免费线观看 | 国产剧果冻传媒星空在线观看 | 苍井空教师BD在线观看全集 | 宿舍BL 纯肉各种PLAY H | 国产成人无码WWW免费视频在线 | 免费无码又爽又黄又刺激网站 |