在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

牽手一起夢 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-21 17:14 ? 次閱讀

傳統(tǒng)的USB設(shè)備驅(qū)動程序編寫異常復(fù)雜,程序員往往很難入手。SILICON Laboratories公司提供的USBXpress開發(fā)包大大簡化了USB通信的應(yīng)用和相關(guān)驅(qū)動程序的開發(fā),只要做好開發(fā)前的準(zhǔn)備工作,USBXpress開發(fā)包完全可以實現(xiàn)USB通信的所有功能。本文介紹USB通信開發(fā)的全過程,以及在開發(fā)過程中需要注意的事項。(主要針對設(shè)備端USB通信進(jìn)行講解)

1、 USBXpress簡介

由SILICON Laboratories公司推出的USBXpress開發(fā)包涵蓋了主機(jī)端和設(shè)備端的所有函數(shù)功能,支持C8051F32X、C8051F34X和CP210X設(shè)備的USB通信。USBXpress開發(fā)包中包含主機(jī)端的設(shè)備驅(qū)動、主機(jī)端設(shè)備驅(qū)動安裝程序、主機(jī)端的動態(tài)鏈接庫(DLL)和設(shè)備端的函數(shù)庫文件。

設(shè)備端的函數(shù)庫文件提供了支持C805IF32X和C8051F34X設(shè)備USB通信的API函數(shù),這些函數(shù)可以在Keil uVision3編譯環(huán)境下被編譯通過。編譯前需要在工程中添加相關(guān)的文件,詳見下文。

設(shè)備端函數(shù)庫中主要的API函數(shù)如下:

USB Clock Start() -初始化USB時鐘

USB Init()-USB接口初始化

Block Write() -向Buffer中寫數(shù)據(jù)

Block Read() -從Buffer中讀數(shù)據(jù)

Get Interrupt Source()-獲取API函數(shù)的中斷標(biāo)志值

USB Int Enable() -允許API函數(shù)中斷

USB Int Disable() -不允許API函數(shù)中斷

USB Disable() -不允許USB接口通信

USB Suspend() -延緩USB中斷

2 、設(shè)備端的電路設(shè)計

(1)USB插座引腳識別

在沒備端電路設(shè)計的過程中,對USB插座引腳必須對應(yīng)連接,否則將直接影響到與主機(jī)端的通信。USB插座一般分為A型插座和B型插座,如圖1所示,其引腳說明如表1所列。

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

(2)基于C8051F340的USB通信電路

基于C8051F340的USB通信電路如圖2所示。

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

(3)USB通信電路說明

①電路中的D-和D+不應(yīng)連接其他負(fù)載電路,因為任何負(fù)載將影響數(shù)據(jù)線路上的電流,從而影響數(shù)據(jù)傳輸,直接后果將導(dǎo)致主機(jī)端無法識別設(shè)備。

②JTAG口線中的VDD引腳為+3 V輸入,輸入電壓過大將損壞器件。USB插口引腳與C8051F340引腳應(yīng)對應(yīng)連接,不要有誤。

③C8051F340的VBUS、REGIN和VDD引腳的連接有多種方式(穩(wěn)壓器配置),詳見表2。

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

3 、設(shè)備端的驅(qū)動程序設(shè)計

在Keil uVision3編譯環(huán)境下,用USBXpress 工具包中的API函數(shù)設(shè)計設(shè)備端的USB通信,前提是在工程中添加C8051F340.h、USB_API.h和USBX_F34X.LIB文件(USBXpress工具包提供相關(guān)文件)。

下面介紹設(shè)備端USB的數(shù)據(jù)傳輸。在進(jìn)行數(shù)據(jù)傳輸之前,必須對USB時鐘和USB接口初始化:

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

(1)USB接口初始化參數(shù)定義

①USB_VID,16位二進(jìn)制賣主ID號,一般用SILICONLab的ID號(OXl0C4)。

②USB_PID,16位二進(jìn)制產(chǎn)品ID號,一般USBXpress規(guī)定為OXEA61。

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

④USB_ProductStr,BYTE型指針,指向描述產(chǎn)品的字符串,不能為空。

⑤USB_SerialStr,BYTE型指針,指向描述序列號的字符串,不能為空。

⑥USB_MaxPower,BYTE型,說明總線最大電流,極限為500 mA。若取值0x32,則表示最大電流為100 mA。

⑦USB_PwAttributes,BYTE型,用于供電配置。如果設(shè)備自己供電第6位置“1”,若為總線供電則為“O”。如果設(shè)備提供弱上拉作用,第5位置“l(fā)”,位0~4必須為“O”,位7必須為“1”。

⑧USB_bcdDevice,無符號int型,用BCD碼表示設(shè)備的版本號,如2.13版為Ox0213。

(2)USB中斷函數(shù)

設(shè)備端USB通信中API函數(shù)的功能,都在一個中斷模塊里面實現(xiàn),為此必須提供一個中斷向量。其中,0x008B(Interrupt 17)是F34X設(shè)備的中斷向量。在main函數(shù)中,只有允許了USB中斷(調(diào)用USB Int Enable函數(shù)),才能進(jìn)入中斷。一旦進(jìn)入中斷服務(wù)程序,必須先獲得中斷標(biāo)志(調(diào)用Get_Interrupt_Source函數(shù),返回BYTE型中斷標(biāo)志),后續(xù)操作根據(jù)獲得的中斷標(biāo)志值與工具包自定義的中斷標(biāo)志值判斷執(zhí)行。自定義的中斷標(biāo)志值主要有:USB_RESET(復(fù)位中斷)、TX_COMPLETE(發(fā)送完成中斷)、RX_COMPLETE(允許接收中斷)、DEVICEOPEN(設(shè)備實例在主機(jī)端打開)、DEVICE SUSPEND(延緩信號)等。

中斷函數(shù)如下:

USBXpress開發(fā)包簡化USB通信的應(yīng)用開發(fā)及注意事項

在main函數(shù)中進(jìn)行初始化之后,若中斷允許,通過函數(shù)Block_write來發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)的字節(jié)數(shù)不能超過4096。發(fā)送結(jié)束后將觸發(fā)中斷,從而進(jìn)入中斷服務(wù)程序進(jìn)行判斷操作。如果主機(jī)端向設(shè)備端的Buffer寫入數(shù)據(jù)完成,也將觸發(fā)中斷,判斷執(zhí)行Block_Read操作將Buffer中的數(shù)據(jù)存入指定的存儲單元。

發(fā)送數(shù)據(jù)的函數(shù)原型為:Block_write(數(shù)據(jù)存儲單元首地址,發(fā)送的字節(jié)數(shù))。

(3)主機(jī)端USB應(yīng)用程序設(shè)計

在VC++6.O編譯環(huán)境下開發(fā)主機(jī)端的USB通信應(yīng)用程序,需要注意在編譯之前向工程中添加開發(fā)包提供的SiUSBXp.dll、SiUSBXp.h和SiUSBXp.lib文件。

為了能讓主機(jī)端識別USB設(shè)備并與之通信,在運行應(yīng)用程序之前,要安裝主機(jī)端的驅(qū)動程序(開發(fā)包已提供)。安裝了驅(qū)動程序,主機(jī)端才能識別USB設(shè)備,在設(shè)備管理器中可以找到USB設(shè)備的相關(guān)描述信息。

對USB設(shè)備的描述信息,除了可以修改設(shè)備端發(fā)送過來的描述符之外,還可以修改在主機(jī)端驅(qū)動安裝目錄下*.inf文件中的信息。

4、結(jié)語

本文詳細(xì)介紹了USB通信的開發(fā)過程、電路設(shè)計和設(shè)備端的驅(qū)動設(shè)計,簡單說明了USBXpress開發(fā)包在主機(jī)端應(yīng)用的條件設(shè)置。所有設(shè)計思路和方法都通過了實驗驗證,可以直接用于工程項目開發(fā)。通過此方法,程序員可以很容易地進(jìn)行一系列USB通信應(yīng)用的設(shè)計和編程

責(zé)任編輯:gt

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

    關(guān)注

    60

    文章

    8037

    瀏覽量

    267548
  • 主機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    1023

    瀏覽量

    35490
  • 驅(qū)動程序
    +關(guān)注

    關(guān)注

    19

    文章

    851

    瀏覽量

    48380
收藏 人收藏

    評論

    相關(guān)推薦

    ucosii開發(fā)注意事項

    ucosii開發(fā)注意事項
    發(fā)表于 08-15 22:37

    硬件開發(fā)流程及注意事項是什么

    硬件開發(fā)流程及注意事項是什么
    發(fā)表于 04-27 06:15

    Simulink開發(fā)STM32環(huán)境配置注意事項

    Simulink開發(fā)STM32環(huán)境配置注意事項,自動生成代碼無法正常實現(xiàn)功能分析最近做PIL,記錄一些過程,備忘1.環(huán)境配置的注意事項需要的軟件包括MATLAB ,我
    發(fā)表于 08-17 06:07

    使用.Net Micro Framework開發(fā)板有哪些注意事項

    怎樣去安裝.Net Micro Framework開發(fā)板?使用.Net Micro Framework開發(fā)板有哪些注意事項
    發(fā)表于 10-11 06:38

    USB設(shè)計的注意事項

    USB設(shè)計的注意事項  通用串行總線(USB)就像在過去20年里無所不在的RS-232串行端口一樣正在逐步普及。實際上,現(xiàn)今發(fā)售
    發(fā)表于 04-22 18:45 ?1577次閱讀

    利用USBXpress開發(fā)包簡化應(yīng)用程序?qū)崿F(xiàn)USB通信設(shè)計

    的準(zhǔn)備工作,USBXpress開發(fā)包完全可以實現(xiàn)USB通信的所有功能。本文介紹USB通信
    的頭像 發(fā)表于 01-14 08:02 ?2740次閱讀
    利用<b class='flag-5'>USBXpress</b><b class='flag-5'>開發(fā)包</b><b class='flag-5'>簡化</b>應(yīng)用程序?qū)崿F(xiàn)<b class='flag-5'>USB</b><b class='flag-5'>通信</b>設(shè)計

    USB Type-C 設(shè)計注意事項

    USB Type-C 設(shè)計注意事項
    發(fā)表于 11-14 21:08 ?23次下載
    <b class='flag-5'>USB</b> Type-C 設(shè)計<b class='flag-5'>注意事項</b>

    USB接口EMC注意事項及電路設(shè)計

    PCB Layout、USB問題問答(設(shè)備插入與識別)、USB接口EMC注意事項(接地設(shè)計、連接器設(shè)計、線纜設(shè)計、電纜設(shè)計、走線設(shè)計、USB OTG)。
    發(fā)表于 05-08 09:51 ?3147次閱讀
    <b class='flag-5'>USB</b>接口EMC<b class='flag-5'>注意事項</b>及電路設(shè)計

    FM33LC0XX開發(fā)注意事項

    電子發(fā)燒友網(wǎng)站提供《FM33LC0XX開發(fā)注意事項.pdf》資料免費下載
    發(fā)表于 09-20 09:59 ?3次下載
    FM33LC0XX<b class='flag-5'>開發(fā)</b><b class='flag-5'>注意事項</b>

    復(fù)旦微FM33A0XXEV開發(fā)注意事項_V1.1

    復(fù)旦微FM33A0XXEV開發(fā)注意事項_V1.1
    發(fā)表于 10-18 15:33 ?1次下載

    復(fù)旦微FM33FR0XX開發(fā)注意事項V0.1

    復(fù)旦微FM33FR0XX開發(fā)注意事項V0.1
    發(fā)表于 10-18 15:33 ?0次下載

    復(fù)旦微FM33LC0XX開發(fā)注意事項V0.7

    復(fù)旦微FM33LC0XX開發(fā)注意事項V0.7
    發(fā)表于 10-18 15:33 ?1次下載

    復(fù)旦微FM33LE0XX開發(fā)注意事項V0.1

    復(fù)旦微FM33LE0XX開發(fā)注意事項V0.1
    發(fā)表于 10-18 15:33 ?0次下載

    復(fù)旦微FM33LG0XX開發(fā)注意事項V0.7

    復(fù)旦微FM33LG0XX開發(fā)注意事項V0.7
    發(fā)表于 10-18 15:33 ?1次下載

    新版Hi3559AV100開發(fā)注意事項

    新版Hi3559AV100開發(fā)注意事項
    的頭像 發(fā)表于 11-13 09:17 ?971次閱讀
    新版Hi3559AV100<b class='flag-5'>開發(fā)</b><b class='flag-5'>注意事項</b>
    主站蜘蛛池模板: 一级毛片子 | 女人扒开腿让男人桶到爽 | 午夜欧美成人久久久久久 | 国产香蕉视频在线观看 | 一区二区三区四区在线不卡高清 | 午夜小影院 | 日本全黄视频 | 国产精品三区四区 | 97精品在线| 亚洲狠狠狠一区二区三区 | 俺也来俺也去俺也射 | 亚洲乱码中文字幕综合 | 国产成人小视频 | 天堂8资源在线官网资源 | 天堂免费观看 | 国产乱辈通伦影片在线播放 | 亚洲一区二区三区精品视频 | 爱搞逼综合 | 免费一级特黄特色大片在线 | 福利在线播放 | 国产真实乱偷人视频 | 国产精品成人一区二区 | 黄 色 毛片免费 | 国产精品15p | 高清一本之道加勒比在线 | 欧美激情 在线 | 午夜精品久久久久久91 | 午夜黄色福利 | 天天干天天干天天天天天天爽 | 亚洲成av人影片在线观看 | 亚洲va老文色欧美黄大片人人 | 日本动漫天堂 | xxxxxxxx日本69| 免费成人看片 | 色爽视频 | 天天操天天操天天干 | 五月天婷婷伊人 | 婷婷六月在线 | 在线精品91青草国产在线观看 | 免费一级特黄3大片视频 | 五月天丁香婷 |