1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>USB總線接口芯片CH371及其應用

    USB總線接口芯片CH371及其應用

    時間:2023-02-21 00:04:22 電子通信論文 我要投稿
    • 相關推薦

    USB總線接口芯片CH371及其應用

    摘要:CH371是一種新型USB通用總線接口芯片。利用該芯片可在不了解任何USB協議或固件程序甚至驅動程序的情況下,輕松地將并口或串口產品升級到USB接口。文中介紹了該接口芯片的主要特點和引腳功能,給出了CH371與其它總線進行接口的幾種應用電路,同時給出了CH371與MCS-51單片機的接口程序。

        關鍵詞:USB  總線接口芯片  CH371  單片機

    1 引言

    CH371是一種USB總線通用接口芯片。該芯片具有8位數據總線以及讀、寫、片選控制線和中斷輸出,可以方便地掛接到單片機、DSP、MCU等控制器的系統總線上;在計算機系統中,通過CH371的配套軟件可提供簡潔易用的操作接口,從而使其與本地端的單片機通訊就如同讀寫硬盤中的文件一樣簡單。由于CH371屏蔽了USB通訊中的所有協議,因而可在計算機應用層與本地端控制器之間提供端對端的連接。在不需要了解任何USB協議或者固件程序甚于驅動程序的情況下,就可輕松地將并口、串口產品升級到USB接口。
    (范文先生網www.baimashangsha.com收集整理)
        CH371的主要特點如下:

    ●屏蔽了USB協議,可在計算機應用層與本地端之間實現端對端的連接。

    ●具有單向數據流和請求加應答兩種通訊模式,并支持偽中斷。

    ●可自動完成USB配置過程,完全不需要本地端控制器作任何處理。

    ●采用標準的USB1.1接口,即插即用,D+引腳內置上接電阻。

    ●內置4個端點,支持USB的控制傳輸、批量傳輸、中斷傳輸。

    ●帶有通用Windows驅動程序,可提供設備級接口和應用層接口。

    ●具有通用本地8位數據總線,可用4線控制讀選通、寫選通、片選輸入和中斷輸出。

    ●占用16個地址,可選擇直接地址方式或者復用地址方式。

    ●內置輸入輸出緩沖區,能以中斷方式通知本地端控制器傳輸數據。

    ●內置I2C主接口,因而應用層可以直接讀寫外掛的I2C從設備。

    ●在主控方式下可以提供16根據輸入信號線或12根獨立控制的輸出信號線。

    ●內置上電復位電路,可提供高電平有效復位輸出和低電平有效復位輸出。

    ●內含可選的看門狗電路Watch-Dog,能為本地端控制器提供監控。

    ●具有DIP28、SOP28、DIP24、CHIP等多種封裝形式。

    2 引腳功能

    CH371的引腳排列如圖1所示,表1所列是其引腳功能。

    表1 CH371的引腳功能

    28腳封裝
    的引腳號 24腳封裝
    的引腳號 引腳名稱 類  型

    引  腳  說  明

    28 24 VCC 電源 電源正端 12 9 GND 電源 接地 14 11 XI 輸入 晶體振蕩輸入端,帶偏置電阻 13 10 XO 輸出 晶體振蕩反相輸出端 10 7 D+ 雙向 USB D+數據線,內置上拉電阻可控 11 8 D- 雙向 USB D-數據線 9 6 OFF 輸入 用于關閉D+上位電阻,高有效,帶下拉 2215 1912 D7D0 雙向 8位雙向數據總線,帶上拉,可直接輸入和獨立控制輸出 4 4 RD 輸入 讀選通輸入,低有效,帶上拉,同時用于看門狗的清除輸入 3 3 WR 輸入 寫選通輸入,低有效,帶上拉 27 23 CS 輸入 片選輸入,低有效,帶下拉 2 2 ALE 輸入 地址鎖存使能,高有效,帶上拉,在下降沿可鎖存數據總線的復用地址 1 1 INT 輸出 中斷輸出,傳輸成功,低有效 58 5部分支持 A3A0 雙向 4位地址輸入線,帶上拉,可直接輸入和獨立控制輸出 24 21 SCL 輸出 I2C接口時鐘線 23 20 SDA 雙向 I2C接口數據線,開漏輸出,帶上拉 25 22 RST 輸出 上電復位和看門狗復位,高有效 26 不支持 RST 輸出 上電復位和看門狗復位,低有效

    3 應用

    3.1 與USB總線的連接

    圖2是CH371與USB總線的接口連接電路,CH371芯片可以直接使用USB總線的5V電源。電容C3和C4用于電源退耦;將電阻R1和R2串接在CH371與USB總線之間可進行阻抗匹配;晶振X1、電容C1和C2用于CH371芯片的時鐘振蕩電路。CH371芯片的SCL和SDA信號線可以直接連接I2C接口的從設備,如連接24COX器件以用來存儲系統斷電后不能丟失的重要數據,也可以存儲身份識別數據、記費數據等,由于24COX中的數據只有計算機應用層才能夠存取。

    3.2 與單片機的接口電路

    CH371芯片具有通用的被動并行接口,可以直接連接多種單片機、DSP和MCU。圖3所示是CH371與MCS-51系列單片機的接口電路,CH371可通過D7~D0、RD、WR、CS、ALE直接掛接到AT89C51的系統總線上。連接ALE而不連接A3~A0則采用復用地址方式,連接A3~A0而不連接ALE則采用直接地址方式。當采用復用地址方式時,CH371的A3~A0腳空閑,此時可以參考主控方式將A3~A0用于LED驅動或狀態輸入等;當采用直接地址方式時,應該將CH371芯片的ALE引腳懸空或者接高電平,然后通過A3~A0直接輸入地址。該電路中,CH371可向AT89C51提供上電復位信號RST。CH371的中斷輸出INT連接到U2的外部中斷INTO,反相器U5用于簡單的地址譯碼,SRAM器件62256的地址為8000H-FFFFH,CH371的地址為0000H-7FFFH(實際只需要16個地址)。

        3.3 主控方式應用

    圖4是CH371在主控方式下的應用電路。該電路實際是基于CH371的主控方式設計的8通道數據采集器?梢钥闯觯喊–H371在內,該電路只用到了三個集成電路,并且不需要任何單片機、DSP、MCU等控制器。CH371芯片的雙向引腳A3~A0應該設置為輸出,其中A3用于以低電平啟動模數轉換,A2~A0用于選擇采集通道,雙向引腳D7~D0應該設置為輸入,用于輸入采集到的結果,CS、ALE用于輸入采集狀態。實際電路應該采用精確的參考電壓,并添加輔助電路(如電源退耦電容等)。另外,也可以用自帶多通道選擇器的模數轉換芯片來代替U6和U7,如8通道AD芯片MAX158等。

    3.4 與單片機的接口程序

    下面是U2(MCS-51單片機)與U1(CH371)的接口參考程序:

    ;* * * * * * * * * * * * * * * * * * * * *

    ;需要主程序定義的參數

    ;CH371_PAGE EQU 00H;CH371所在的頁面地址,地址譯碼后自動片選

    ;CH371_SYSTEM EQU 02H;CH371系統功能設定寄存器的地址偏移

    ;CH371_CONFIG EQU 02H;CH371設備配置信息寄存器的地址偏移

    ;CH371_INT_SET EQU 06H;CH371中斷數據設定寄存器的地址偏移

    ;CH371_STATUS EQU 06H;CH371傳輸狀態信息寄存器的地址偏移

    ;CH371_LENGTH EQU 07H;CH371數據長度寄存器的地址偏移

    ;CH371_BUFFER EQU 08H;CH371O數據緩沖區的起始地址偏移

    ;SAVE_STATUS DATA 29H;保存傳輸狀態信息,根據需要可選

    ;SAVE_LENGTH DATA 2AH;當前數據緩沖區中的長度,用于保存下傳長度

    ;SAVE_BUFFER DATA 30H;數據緩沖區,用于保存接收到的下傳數據

    ;* * * * * * * * * * * * * * * * * * * * *

    ;初始化子程序

    ;USE:ACC,DPTR

    CH371_INIT:MOV DPH,#CH371_PAGE

    ;CH371所在的頁面地址,地址譯碼后自動片選MOV DPL,#CH371_LENGTH;CH371數據長度寄存器的地址偏移

    圖3

        MOV A,#OFH

    MOVX @DPTR,A;置上傳數據長度寄存器為15,暫時沒有數據上傳

    CLR A;尚未有數據下傳

    MOV SAVE_LENGTH,A;保存下傳數據長度

    SETB ITO;置外部信號為下降沿觸發

    CLR IEO;清中斷標志

    SETB PXO;置高優先級

    SETB EXO;允許中斷

    RET

    ;上傳數據子程序

    ;ENTRY:RO指向存放了準備上傳數據的緩沖區,R7準備上傳的數據長度0至8

    ;USE:ACC,B,R0,R7,DPTR

    CH371_UPLOAD:MOV B,R7;將數據長度暫存到B中

    MOV DPH,#CH371_PAGE;CH371所在的頁面地址,地址譯碼后自動片選

    MOV DPL,#CH371_BUFFER;CH371數據緩沖區的起始地址偏移

    MOV A,R7;上傳數據長度

    JZ CH371_UPLOAD_O;數據長度為0則不必寫入

    CH371_UPLOAD_1:MOV A,@RO;讀取一字節的數據

    INC RO;指向下一個數據的地址

    MOVX @DPTR,A;寫到CH371的上傳數據緩沖區

    INC DPL

    DJNZ R7,CH371_UPLOAD-1;繼續讀取上傳數據直至結束

    CH371_UPLOAD_0:MOV DPL,#CH371_LENGTH;CH371數據長度寄存器的地址偏移

    MOV A,B

    MOVX @DPTR,A;將本次數據的長度置入上傳數據長度寄存器

    RET

    ;中斷服務子程序

    ;USE:堆棧6字節,工作寄存器組1的RO,R7

    CH371_INTER:PUSH PSW;現場保護

    CLR IEO;清中斷標志,防止重復執行,對應于INTO中斷

    PUSH ACC

    PUSH DPL

    PUSH DPH

    SETB RSO;PSW.3,切換至工作寄存器組1

    MOV DPH,#CH371_PAGE;CH371所在的頁面地址,地址譯碼后自動片選

    MOV DPL,#CH371_STATUS;CH371傳輸狀態信息寄存器的地址偏移

    MOVX A,@DPTR;讀取傳輸狀態信息寄存器

    MOV SAVE-STATUS,A;保存傳輸狀態

    MOV DPL,#CH371_LENGTH;CH371數據長度寄存器的地址偏移

    JB ACC.0,CH371_INT_UP;傳輸狀態信息寄存器位0為1,則指示上傳完成

    ;是數據下傳完成中斷

    MOVX A,@DPTR;讀取下傳數據長度寄存器

    MOV SAVE_LENGTH,A;保持下傳數據長度

    JZ CH371_INT_RET ;下傳數據長度為0,則直接退出中斷

    MOV DPL,#CH371_BUFFER;CH371數據緩沖區的起始地址偏移

    MOV RO,#SAVE-BUFFER;單片機內部的數據緩沖區,用于存放下傳數據

    MOV R7,A ;用于讀取數據的計數

    CH371_INT_DOWN:MOVX A,@DPTR;讀取一字節的下傳數據

    INC DPL ;指向下一個數據的地址

    MOV @RO,A;保存到數據緩沖區

    INC RO

    DJNZ R7,CH371_INT_DOWN;繼續讀取下傳數據直至結束

    SJMP CH371_INT_RET ;接收完下傳數據,退出中斷

    ;是數據上傳完成中斷

    CH371_INT_UP:MOV A,#0FH;15

    MOVX @DPTR,A ;置上傳數據長度寄存器為15,暫時沒有后續數據

    CH371_INT_RET: ;中斷返回

    POP DPH

    POP DPL

    POP ACC

    POP PSW ;恢復寄存器并選擇工作寄存器組0

    RETI ;中斷返回

    ;* * * * * * * * * * * * * * * * * * * * *

    4 結束語

    CH371芯片具有通用的被動并行接口,可以直接連接多種單片機、DSP、MCU等?梢灶A見,CH371將在USB產品設計中大顯身手。


    【USB總線接口芯片CH371及其應用】相關文章:

    PCI總線接口芯片9050及其應用08-06

    PCI總線通用接口芯片CH361及其應用08-06

    基于CH371的實用USB接口設計08-06

    PCI接口芯片s5935及其應用08-06

    基于CH371的USB接口虛擬示波器設計08-06

    USB接口芯片FT245AM的原理08-06

    多媒體PCI接口控制芯片SAA7146A及其應用08-06

    FPGA芯片APA150及其應用08-06

    電力載波芯片ST7538及其應用08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      久久中文一二区视频 | 尤物国产在线一区视频 | 日本久久久久久免费网络 | 先锋AV资源手机在线观看 | 思思99热九九在线播放 | 中文热免费在线视频 |