一、CH372芯片概述
目前USB接口芯片主要有兩種:一種是內置有CPU功能的芯片,另外一種則是純粹的USB接口而內部不集成有CPU的芯片,CH372就屬于這類。在本設計中,因為USB接口只作為C8051F020單片機與U盤之間的通信橋梁,它不用與計算機連接,而且受到單片機寫入數據的控制,因此內置有CPU功能接口的芯片不適合本設計要求,選擇了CH372純USB接口轉換芯片。在單片機本地端,CH372芯片具有8位D0~D7數據總線、寫引腳線(WR#)、讀引腳線(RD#)、片選控制線(CS)及中斷輸出控制線(INT),能與C8051F020方便的連接。在計算機端只需調用CH372內的動態鏈接庫,便可以方便的與計算機應用層操作對接。CH375芯片具有如下特點:

1)提供即插即用的USB設備接口,全速傳輸數據。
2)支持三種USB的數據傳輸方式:控制方式、批量方式及中斷方式。
3)自動檢測U盤的連接與斷開的同時,發出此事件的通知。
4)內置了USB通訊的底層協議,使得單片機端的編程只完成數據交換即可。
5)工作電壓為+5V且具有具有低功耗工作模式。
二、 C8051F020控制CH372的原理
如圖17所示,本設計中CH372的數據線連接單片機的P1.0~P1.7口;讀引腳與寫引腳分別對應單片機的讀選通與寫選通引腳;片選控制線與P5.4口相連;地址輸入引腳A0與P2.7相連;中斷輸出線與普通引腳P5.3連接,采用查詢方式獲其中斷請求。對CH372的操作分為數據傳輸與命令碼寫入兩類。對數據的傳輸操作又分為一下兩種情況:當WR=1且CS=RD=A0=0時,芯片內存儲的數據經由D7~D0被讀出;當RD=1且CS=RD=A0=0時,單片機經由D7~D0向CH372寫入數據。對命令碼寫入的操作,當RD=A0=1且CS=WR=0時執行。http://www.lvdaopeixun.com