chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

電子設(shè)計 ? 來源:微計算機信息 ? 作者:馬軍;李玉林 ? 2021-05-25 10:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

1 PDIUSBD12芯片介紹

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

PDIUSBD12特性:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(16) 有SO28和TSSOP28兩種封裝

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

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

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

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

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

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

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

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

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

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

3.1 固件功能需求

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

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

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

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

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

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

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

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

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

其中:

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

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

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

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

3.2 驅(qū)動程序設(shè)計

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

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

4 結(jié)束語

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

責任編輯:gt

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

    關(guān)注

    463

    文章

    54004

    瀏覽量

    465809
  • 單片機
    +關(guān)注

    關(guān)注

    6076

    文章

    45492

    瀏覽量

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

    關(guān)注

    33

    文章

    9518

    瀏覽量

    157003
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    51 AVR 編程器USBASP下載器驅(qū)動安裝及程序下載

    支持AT89S51/52單片機AVR所有ASP芯片。輸出端口為ATMEL標準端口。有USB取電和支持目標板電壓5V,可通過跳線帽連接選擇???/div>
    的頭像 發(fā)表于 01-31 13:49 ?692次閱讀
    51 AVR 編程器USBASP下載器驅(qū)動安裝及程序下載

    單片機CH554電容觸摸屏控制器方案

    本方案采用8位USB單片機CH554作為核心,設(shè)計了一款電容觸摸屏接口轉(zhuǎn)換器。
    的頭像 發(fā)表于 01-29 17:36 ?633次閱讀
    <b class='flag-5'>單片機</b>CH554電容觸摸屏控制器方案

    多協(xié)議可編程USB接口適配器USB2S,全面支持UART/I2C/SPI/CAN/1-Wire

    USB接口
    穩(wěn)控自動化
    發(fā)布于 :2026年01月16日 13:51:20

    學習單片機快速方法

    的80C51系列單片機主要產(chǎn)品有:Intel的80C31、80C51、87C51,80C32、80C52
    發(fā)表于 01-14 07:42

    廣州唯創(chuàng)電子單片機語音芯片:智能設(shè)備的聲音靈魂與技術(shù)核心

    一、揭開單片機語音芯片的神秘面紗1.從基礎(chǔ)概念認識核心技術(shù)在智能化設(shè)備普及的今天,單片機語音芯片已成為人機交互的重要橋梁。要理解這一技術(shù),首先需要明確其兩大核心組成部分:
    的頭像 發(fā)表于 11-25 09:07 ?794次閱讀
    廣州唯創(chuàng)電子<b class='flag-5'>單片機</b>語音<b class='flag-5'>芯片</b>:智能設(shè)備的聲音靈魂與技術(shù)核心

    通信接口模塊的設(shè)計

    等相連接。CH375的USB主機方式支持各種常用的USB全速設(shè)備,外部ARM可以通過CH375按照相應的USB協(xié)議與USB設(shè)備通信。CH375以C
    發(fā)表于 10-29 07:00

    嵌入式接口通識知識之USB接口

    規(guī)格,傳輸速度提升為10Gbps,比USB 3.0 的5Gbps快上一倍,并向下兼容USB 2.0/1.0。USB 3.2(USB 3.2 Gen 2x2)在
    發(fā)表于 08-21 16:56

    單片機最小系統(tǒng)工作原理及搭建

    單片機最小系統(tǒng)是指使單片機正常運行所需的最簡電路配置,它是所有單片機應用的開發(fā)基礎(chǔ)。以下是其核心組成、工作原理及搭建指南: 一、最小系統(tǒng)核心組成 單片機芯片 常見型號 :STC
    的頭像 發(fā)表于 08-11 10:55 ?3449次閱讀
    <b class='flag-5'>單片機</b>最小系統(tǒng)工作原理及搭建

    AT89C51 單片機中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發(fā)表于 06-24 15:29 ?1次下載

    USB串口芯片GP232RL替代FT232RL/uart 接口

    usb 讀取,從而形成一個安全密碼鎖的基礎(chǔ),可以用來保護客戶的應用軟件不被復制。 單片機 usb 到異步串行數(shù)據(jù)傳輸接口。 ?芯片上處理的
    發(fā)表于 06-23 10:12

    使用USB轉(zhuǎn)TTL串口板和ST-LINK調(diào)試下載器給STM32單片機下載程序

    本文詳細介紹如何使用ST-LINK/V2和USB轉(zhuǎn)TTL串口板為STM32單片機下載程序,包括STM32啟動模式、JTAG與SWD接口對比、驅(qū)動安裝及官方軟件STM32ST-LINKUtility和FlashLoaderDemo
    的頭像 發(fā)表于 06-20 17:26 ?2736次閱讀
    使用<b class='flag-5'>USB</b>轉(zhuǎn)TTL串口板和ST-LINK調(diào)試下載器給STM32<b class='flag-5'>單片機</b>下載程序

    單片機和伺服有什么區(qū)別

    : 1. 定義與功能 特性 單片機(Microcontroller) 伺服系統(tǒng)(Servo System) 定義 一種集成CPU、內(nèi)存、I/O接口的微型計算機芯片,用于控制設(shè)備。 一種由伺服電機、編碼器
    的頭像 發(fā)表于 05-26 09:18 ?846次閱讀

    極致性價比USB-C接口ESD保護方案

    什么是USB-CUSBType-C(簡稱USB-C)是通用串行總線(USB)的標準化接口規(guī)范。其插頭與插座采用對稱式設(shè)計,支持雙向插拔操作,物理尺寸為8.3mm×2.5mm,相較于傳統(tǒng)
    的頭像 發(fā)表于 03-24 18:03 ?1315次閱讀
    極致性價比<b class='flag-5'>USB-C</b><b class='flag-5'>接口</b>ESD保護方案

    瑞薩Cortext-M85內(nèi)核RA8系列單片機的串口輸出實現(xiàn)方法

    串口是最常見的通信方式之一,也是單片機調(diào)試最常見的通信接口,也是現(xiàn)在的單片機必備的通信接口,目前(2024-05)最新、最強的Cortext-M85內(nèi)核的RA8系列
    的頭像 發(fā)表于 03-21 09:58 ?1859次閱讀
    瑞薩Cortext-M85內(nèi)核RA8系列<b class='flag-5'>單片機</b>的串口輸出<b class='flag-5'>實現(xiàn)</b>方法

    單片機接口類資料大匯總—50冊大全

    本份資料為單片機接口類資料大匯總 總共有50冊,內(nèi)容包括TCP/IP接口,模擬串口,CAN接口、I2C,MODBUS,PCI,
    發(fā)表于 03-14 11:08