<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于雙模式USB接口的便攜式比色計(jì)設(shè)計(jì)

          基于雙模式USB接口的便攜式比色計(jì)設(shè)計(jì)

          作者: 時(shí)間:2009-09-01 來源:網(wǎng)絡(luò) 收藏

            2.2 單片機(jī)控制CH375電路設(shè)計(jì)

            本系統(tǒng)使用 C8051F020單片機(jī)作為處理器。C8051F020是Cygnal 公司推出的一種 SOC型 8位單片機(jī),片內(nèi)有 64KB FLASH存儲(chǔ)器和4KB RAM,完全符合作為主機(jī)時(shí)讀寫 U盤的要求。C8051F020單片機(jī)控制 CH375的電路如圖 2所示。

            1. 系統(tǒng)軟件設(shè)計(jì)

            2. 1主機(jī)模式默認(rèn)狀態(tài)下,儀器工作在主機(jī)模式,通過讀寫 U盤,存儲(chǔ)采集到的數(shù)據(jù)。 在單片機(jī)下開發(fā) U盤的讀寫系統(tǒng),單片機(jī)端程序要涉及較多的協(xié)議,必須能實(shí)現(xiàn) 的控制傳輸、批量傳輸、SCSI/UFI/RBC命令傳輸及 FAT文件系統(tǒng)等功能。CH375內(nèi)置了 通信協(xié)議的固件程序,包含了 Mass Storage類協(xié)議,所以實(shí)際的單片機(jī)程序只需要處理 FAT文件系統(tǒng)層,并且這一層也可以由 CH375的 U盤文件級(jí)子程序庫實(shí)現(xiàn),因此簡(jiǎn)化了程序的開發(fā)流程。

            CH375的 U盤文件級(jí)子程序庫提供了 USB存儲(chǔ)設(shè)備的文件級(jí),這些應(yīng)用層 API包含了常用的文件級(jí)操作,可以移植并嵌入到各種常用的單片機(jī)程序中,編寫程序時(shí)可以直接調(diào)用這些 API函數(shù)讀寫 U盤。單片機(jī)讀寫 U盤的程序流程如圖 3所示。

            單片機(jī)端程序用到的主要操作函數(shù)包括:

            (1)初始化 CH375芯片:CH375Init;

            (2)查詢 U盤是否準(zhǔn)備好:CH375DiskReady;

            (3)打開文件:CH375FileOpen;

            (4)關(guān)閉文件:CH375FileClose;

            (5)新建文件:CH375FileCreate;

            (6)以字節(jié)為單位從文件讀數(shù)據(jù):CH375ByteRead;

            (7)以字節(jié)為單位向文件寫數(shù)據(jù):CH375ByteWrite;

            (8)以字節(jié)為單位移動(dòng)文件指針:CH375ByteLocate。

            3.2 從機(jī)模式 當(dāng)圖 1中的P1口連接到PC機(jī)USB時(shí),在 C8051F020單片機(jī)控制下,儀器切換到從機(jī)模式,設(shè)備可以與 PC機(jī)通訊,進(jìn)行數(shù)據(jù)交換。

            3.2.1 本地端的單片機(jī)軟件

            CH375專門用于處理 USB通訊,當(dāng) CH375接收上位機(jī)發(fā)送的數(shù)據(jù)或發(fā)送完給上位機(jī)的數(shù)據(jù)后,以中斷方式通知單片機(jī)。本地端單片機(jī)程序主要完成 CH375的初始化和數(shù)據(jù)的接收與發(fā)送,單片機(jī)控制 CH375對(duì)數(shù)據(jù)的處理過程如下:

            1.單片機(jī)通過CH375芯片接收數(shù)據(jù)的處理步驟:

           ?。?) 當(dāng) CH375接收到 USB主機(jī)發(fā)來的數(shù)據(jù)后,首先鎖定當(dāng)前 USB緩沖區(qū),防止被后續(xù)數(shù)據(jù)覆蓋,然后將中斷引腳設(shè)置為低電平,向單片機(jī)請(qǐng)求中斷;

            (2) 單片機(jī)進(jìn)入中斷服務(wù)程序,執(zhí)行 GET_STATUS命令獲取中斷狀態(tài);

           ?。?) 在 GET_STATUS命令后將中斷引腳恢復(fù)為高電平,取消中斷;

            (4) 判斷中斷狀態(tài),為“下傳成功”,單片機(jī)執(zhí)行 RD_USB_DATA命令從 CH375讀取接收到的數(shù)據(jù);

            (5) RD_USB_DATA命令完成后,釋放緩沖區(qū),繼續(xù) USB通訊;

            (6) 退出中斷服務(wù)程序。



          關(guān)鍵詞: USB 雙模式 接口 便攜式

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();