C8051F320單片機原理及引腳及封裝
隨著(zhù)現代工業(yè)生產(chǎn)和科學(xué)研究對數據采集系統的要求日益提高,傳輸速度、糾錯能力和操作安裝的簡(jiǎn)易性是人們進(jìn)行采集數據時(shí)一直關(guān)注的問(wèn)題,這使得數據通訊技術(shù)不可避免地成為了其中的關(guān)鍵技術(shù),而數據采集系統采用何種接口進(jìn)行數據通訊是影響系統整體效率的重要因素之一。USB(通用串行總線(xiàn))總線(xiàn)接口技術(shù)由于具有速度快、設備安裝和配置容易、易于擴展、能夠采用總線(xiàn)供電及使用靈活等優(yōu)點(diǎn),已逐漸成為現代數據傳輸的發(fā)展趨勢[1-5]。
本文引用地址:http://dyxdggzs.com/article/186578.htm本文給出了一種基于C8051F320的數據采集系統USB 接口設計方案,完成了USB 接口硬件電路設計和軟件程序開(kāi)發(fā),并將其應用到倉庫視頻監控系統中,實(shí)現了快速、方便的數據采集和傳輸。
2.1 C8051F320 的主要特點(diǎn)
C8051F320 是由美國Cygnal 公司推出的C8051F 系列單片機中的一款用于USB 設備的小型單片機。該器件內部集成有2304 Byte RAM 和16K Byte 的Flash 存儲器。由于利用該芯片進(jìn)行設計時(shí)可以不需要任何外部元件(包括電阻和晶振),因而是小型USB 應用的理想選擇。與其它同類(lèi)USB 產(chǎn)品相比,C8051F320 主要具有如下一些特點(diǎn):
① 滿(mǎn)足 USB2.0 協(xié)議;
② 可在全速(12 Mbps)或低速(1.5 Mbps)下運行;
③ 集成有一個(gè)時(shí)鐘源,對于全速或低速傳輸均可不用外部晶振;
④ 支持 8 個(gè)靈活通用的USB 端點(diǎn);
⑤ 內置一個(gè) 1K 的USB 專(zhuān)用緩沖存儲器;
⑥ 集成了一個(gè) USB 接收器,不需要外部電阻。
⑦ 具有高速增強型 8051 MCU 內核,該MCU 內核采用流水線(xiàn)式指令結構,70%的指令執行時(shí)間為一個(gè)或兩個(gè)系統時(shí)鐘周期,處理速度可達25MIPS(時(shí)鐘頻率為25MHz 時(shí))。此外,C8051F320 還有許多其它特性,如支持在系統編程(ISP),帶有可編程的數字I/O和數字交叉開(kāi)關(guān),可提供全速、非侵入式的在系統片內調試電路等。
C8051F320 的引腳排列如圖1 所示,封裝為T(mén)QFP-32。其中VDD 為數字電源;GND為模擬地;REGIN 為5V 校準器的輸入端;RST/C2CK 為設備的復位引腳或EC2 調試接口的時(shí)鐘信號;P3.0/C2D 為端口P3.0 或EC2 調試接口的雙向信號引腳;VBUS 為USB 總線(xiàn)輸入腳;D+為USB 的D+;D-為USB 的D-;P0.2/XTAL1 為端口0.2 或外部晶振輸入;
P0.3/XTAL2 為端口P0.3 或外部晶振輸出;P0.6/CNVSTR 為端口P0.6 或ADC0 外部轉換開(kāi)始輸入腳;P0.7/VRFF 為端口P0.7 或外部參考電源的輸入端或輸出端;P0.0、P0.1、P0.4、P0.5、P1.0~P1.7、P2.0~P2.7 均為相應的端口引腳。
3 USB 接口電路設計
3.1 USB 接口硬件電路設計
由于 C8051F320 微控制器內部集成了一個(gè)USB 接收器,簡(jiǎn)單易用,因此,用它進(jìn)行USB 接口的硬件設計也顯得比較簡(jiǎn)單。主要包括兩部分的內容,一是接口轉換模塊供電方式的選擇,二是USB 引腳的連接。圖2 是其USB 接口電路圖。模塊選擇自供電模式,圖2所示的整個(gè)模塊的供電電源都來(lái)自外部5V 電源。C8051F320 中的USB 收發(fā)器內部已經(jīng)集成了上拉電阻,不需要任何外部器件就可直接與USB 接口相連。
圖 2 USB 接口連接電路圖
3.2 USB 設備固件程序設計
USB 設備固件程序是USB 設備必須實(shí)現的部分,它的主要目的是:當USB 設備連接到主機上時(shí),主機可以發(fā)現新設備,然后建立連接并完成數據傳輸任務(wù),也就是能夠讓上位機能夠正常檢測和識別USB 設備。因此,本固件設計的目的是使主機能夠識別C8051F320設備,以及正確的與它進(jìn)行通信。同時(shí)為了在USB 上達到最大的傳輸速度,C8051F320 固件設計成中斷驅動(dòng)。
C8051F320固件分為兩個(gè)部分:前臺主程序和后臺中斷服務(wù)程序(ISR)。在USB固件程序中,最重要的工作就是USB描述符的定義和USB傳輸中斷的處理。USB描述符是USB協(xié)議定義的一套描述設備功能和屬性的固定結構的描述語(yǔ)言。USB2.0中的描述符包括設備描述符、配置描述符、接口描述符、端點(diǎn)描述符等8種標準描述符和其它一些非標準描述符。USB主機通過(guò)USB描述符完成設備類(lèi)型的識別和配置,客戶(hù)端驅動(dòng)程序通過(guò)這些信息來(lái)正確訪(fǎng)問(wèn)設備并與其通信。本文在對C8051F320的配置中除了端點(diǎn)0外還用到了端點(diǎn)1和端點(diǎn)2,它們的描述符如表1所示。
USB傳輸中斷的處理也是一個(gè)重要的部分。傳輸中斷的處理由ISR和前臺主程序共同完成。這兩部分的數據交換通過(guò)事件標志和數據緩沖區來(lái)實(shí)現[6]。當C8051F320的USB引擎從主機收到一個(gè)數據包時(shí),就會(huì )產(chǎn)生一個(gè)中斷請求,C8051F320立即響應中斷,通過(guò)讀取USB功能控制器的三個(gè)中斷寄存器CMINT、IN1INT和OUT1INT來(lái)判斷中斷來(lái)源(USB復位中斷、端點(diǎn)0中斷、端點(diǎn)1輸入中斷、端點(diǎn)2輸出中斷),然后根據不同的中斷來(lái)源跳入相應的處理模塊以進(jìn)行不同的中斷處理,并在處理完畢后返回。其中,端點(diǎn)0是每個(gè)USB
設備都必須支持的默認控制傳輸端點(diǎn),主要用于主機對USB設備的配置、狀態(tài)信息的獲取和設備錯誤的糾正等,它的中斷處理模塊由控制輸出和控制輸入兩部分組成。每次傳輸首先由設置事務(wù)開(kāi)始,然后根據設置事務(wù)數據不同的中斷來(lái)源跳入相應的處理模塊以進(jìn)行不同的中斷處理,并在處理完畢后返回。同時(shí)在ISR中,固件將數據包從C8051F320的USB引擎內部緩沖區移到一個(gè)自定義的數據緩沖區,并在隨后請求清零其內部緩沖區,以使其能夠繼續接收新的數據包。然后返回到主循環(huán),檢查自定義緩沖區內是否有新的數據并開(kāi)始其它的任務(wù)。由于這種結構,主循環(huán)只用檢查自定義緩沖區內需要處理的新數據,專(zhuān)注于新數據的處理,而ISR也能夠以最大速度進(jìn)行數據的傳輸。這樣,程序對USB的操作更加簡(jiǎn)單,也便于程序的維護。主程序和端點(diǎn)0的控制傳輸程序流程分別如圖3、圖4所示。端點(diǎn)1和端點(diǎn)2的程序流程與之類(lèi)似。
4數據的接收和顯示
在主機中安裝基于C8051F320USB設備的驅動(dòng)程序(可以在新華龍網(wǎng)站上下載)之后,該設備就會(huì )被默認成該主機的一個(gè)串口,因此在主機的處理中可以將它當作一個(gè)虛擬的串口進(jìn)行處理,讀取其數據就如讀串口數據一樣方便,很快就能夠建立快速通信平臺。主機軟件采用VC++開(kāi)發(fā)的,串行通信部分采用API函數直接進(jìn)行編寫(xiě)。它為應用程序提供了通過(guò)串行接口收發(fā)數據的方法。主機軟件使用API文件函數進(jìn)行串口通信的控制。具體函數以及使用,可以查閱MSDN。將基于C8051F320的USB接口電路應用到倉庫視頻監控系統中,其系統結構框圖如圖5所示。
5結束語(yǔ)
本文利用C8051F320速度快、處理能力強、結構簡(jiǎn)單等特點(diǎn),設計了一種基于C8051F320的數據采集系統USB接口方案,給出了USB接口電路具體的設計方法,并對主機的數據和顯示進(jìn)行了開(kāi)發(fā)。將設計的USB接口應用到倉庫視頻監控系統中,能夠實(shí)現快速、方便的數據傳輸,數據通信能達到上兆的傳輸速率,滿(mǎn)足了實(shí)時(shí)、快速傳遞數據的要求。
單片機相關(guān)文章:單片機教程
電路圖符號相關(guān)文章:電路圖符號大全
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
晶振相關(guān)文章:晶振原理 上拉電阻相關(guān)文章:上拉電阻原理
評論