基于C8051F320的數(shù)據(jù)采集系統(tǒng)USB接口方案
隨著現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對數(shù)據(jù)采集系統(tǒng)的要求日益提高,傳輸速度、糾錯(cuò)能力和操作安裝的簡易性是人們進(jìn)行采集數(shù)據(jù)時(shí)一直關(guān)注的問題,這使得數(shù)據(jù)通訊技術(shù)不可避免地成為了其中的關(guān)鍵技術(shù),而數(shù)據(jù)采集系統(tǒng)采用何種接口進(jìn)行數(shù)據(jù)通訊是影響系統(tǒng)整體效率的重要因素之一。USB(通用串行總線)總線接口技術(shù)由于具有速度快、設(shè)備安裝和配置容易、易于擴(kuò)展、能夠采用總線供電及使用靈活等優(yōu)點(diǎn),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢[1-5]。
本文給出了一種基于C8051F320的數(shù)據(jù)采集系統(tǒng)USB 接口設(shè)計(jì)方案,完成了USB 接口硬件電路設(shè)計(jì)和軟件程序開發(fā),并將其應(yīng)用到倉庫視頻監(jiān)控系統(tǒng)中,實(shí)現(xiàn)了快速、方便的數(shù)據(jù)采集和傳輸。
2 C8051F320 單片機(jī)原理
2.1 C8051F320 的主要特點(diǎn)
C8051F320 是由美國Cygnal 公司推出的C8051F 系列單片機(jī)中的一款用于USB 設(shè)備的小型單片機(jī)。該器件內(nèi)部集成有2304 Byte RAM 和16K Byte 的Flash 存儲(chǔ)器。由于利用該芯片進(jìn)行設(shè)計(jì)時(shí)可以不需要任何外部元件(包括電阻和晶振),因而是小型USB 應(yīng)用的理想選擇。與其它同類USB 產(chǎn)品相比,C8051F320 主要具有如下一些特點(diǎn):
① 滿足 USB2.0 協(xié)議;
② 可在全速(12 Mbps)或低速(1.5 Mbps)下運(yùn)行;
③ 集成有一個(gè)時(shí)鐘源,對于全速或低速傳輸均可不用外部晶振;
④ 支持 8 個(gè)靈活通用的USB 端點(diǎn);
⑤ 內(nèi)置一個(gè) 1K 的USB 專用緩沖存儲(chǔ)器;
⑥ 集成了一個(gè) USB 接收器,不需要外部電阻。
⑦ 具有高速增強(qiáng)型 8051 MCU 內(nèi)核,該MCU 內(nèi)核采用流水線式指令結(jié)構(gòu),70%的指令執(zhí)行時(shí)間為一個(gè)或兩個(gè)系統(tǒng)時(shí)鐘周期,處理速度可達(dá)25MIPS(時(shí)鐘頻率為25MHz 時(shí))。此外,C8051F320 還有許多其它特性,如支持在系統(tǒng)編程(ISP),帶有可編程的數(shù)字I/O和數(shù)字交叉開關(guān),可提供全速、非侵入式的在系統(tǒng)片內(nèi)調(diào)試電路等。
2.2 C8051F320 的引腳及封裝
C8051F320 的引腳排列如圖1 所示,封裝為TQFP-32。其中VDD 為數(shù)字電源;GND為模擬地;REGIN 為5V 校準(zhǔn)器的輸入端;RST/C2CK 為設(shè)備的復(fù)位引腳或EC2 調(diào)試接口的時(shí)鐘信號;P3.0/C2D 為端口P3.0 或EC2 調(diào)試接口的雙向信號引腳;VBUS 為USB 總線輸入腳;D+為USB 的D+;D-為USB 的D-;P0.2/XTAL1 為端口0.2 或外部晶振輸入;
P0.3/XTAL2 為端口P0.3 或外部晶振輸出;P0.6/CNVSTR 為端口P0.6 或ADC0 外部轉(zhuǎn)換開始輸入腳;P0.7/VRFF 為端口P0.7 或外部參考電源的輸入端或輸出端;P0.0、P0.1、P0.4、P0.5、P1.0~P1.7、P2.0~P2.7 均為相應(yīng)的端口引腳。
3 USB 接口電路設(shè)計(jì)
3.1 USB 接口硬件電路設(shè)計(jì)
由于 C8051F320 微控制器內(nèi)部集成了一個(gè)USB 接收器,簡單易用,因此,用它進(jìn)行USB 接口的硬件設(shè)計(jì)也顯得比較簡單。主要包括兩部分的內(nèi)容,一是接口轉(zhuǎn)換模塊供電方式的選擇,二是USB 引腳的連接。圖2 是其USB 接口電路圖。模塊選擇自供電模式,圖2所示的整個(gè)模塊的供電電源都來自外部5V 電源。C8051F320 中的USB 收發(fā)器內(nèi)部已經(jīng)集成了上拉電阻,不需要任何外部器件就可直接與USB 接口相連。
圖 2 USB 接口連接電路圖
3.2 USB 設(shè)備固件程序設(shè)計(jì)
USB 設(shè)備固件程序是USB 設(shè)備必須實(shí)現(xiàn)的部分,它的主要目的是:當(dāng)USB 設(shè)備連接到主機(jī)上時(shí),主機(jī)可以發(fā)現(xiàn)新設(shè)備,然后建立連接并完成數(shù)據(jù)傳輸任務(wù),也就是能夠讓上位機(jī)能夠正常檢測和識(shí)別USB 設(shè)備。因此,本固件設(shè)計(jì)的目的是使主機(jī)能夠識(shí)別C8051F320設(shè)備,以及正確的與它進(jìn)行通信。同時(shí)為了在USB 上達(dá)到最大的傳輸速度,C8051F320 固件設(shè)計(jì)成中斷驅(qū)動(dòng)。
評論