• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PIC單片機USB接口的數據采集系統設計

    基于PIC單片機USB接口的數據采集系統設計

    作者: 時間:2017-01-18 來源:網絡 收藏

      我們把所設計的數據采集系統功能分解為三大部分:數據采集部分、數據通信部分、數據處理部分。

    本文引用地址:http://www.czjhyjcfj.com/article/201701/343046.htm

      數據采集部分應包含:A/D轉換器,時序、模式控制,數據緩沖功能。它應能接受來自主機的命令,按不同模式控制A/D轉換器采集數據,暫存于數據緩沖區,再根據主機命令發給主機。這部分功能由一個單片機及接口來實現是最優方式。

      數據通信部分應包含:簡單、高效、通用的數據通信模式和軟硬件支持。它應能在數據采集和數據處理兩部分之間實現目前最好的連接和溝通。因為作為一種外部總線標準,用于規范電腦與外部設備的連接和通訊,并具有傳輸速度快,使用方便,支持熱插拔,連接靈活,獨立供電等優點,所以這部分功能采用接口連接最好。[1]

      數據處理部分應包含:強大、高效、通用、適應性好的軟硬件支持平臺。它應能完成主控和數據處理兩大功能。主控就是根據用戶需要,給數據采集部分下達命令,采集數據,同時管理數據通信部分,實現信息的上傳下達,讀取數據。數據處理就是要提供方便實用的數據的分析、處理、存儲、顯示、輸出等各種應用功能,滿足用戶的盡可能多的需求。這部分功能自然非PC機莫屬。

      系統功能安排是:PC機作為主機(也稱上位機),單片機(也稱下位機)負責數據采集與緩沖保存,接口負責兩者之間的數據通信。

      具體工作流程是:PC機接收用戶的應用命令,按系統功能配置數據采集參數,通過USB接口,給單片機發送控制命令,單片機按下達的命令控制A/D轉換進行數據采集,并將采集到的數據作緩沖保存,采集好一批數據后,再按主機要求通過USB接口發送給PC機,PC機完成數據的存儲、簡單分析、處理、顯示、輸出等基本應用。更進一步還可以對數據進行格式轉換,供其它專業數據處理軟件作輸入數據,實現更多高級數據處理功能。

      MCU選型

      為實現設計要求,微處理器必須含有具有A/D轉換功能和USB通信功能的兩個基本模塊,以及其它實現拓展功能的模塊。

        

     

      上圖所示為設想的功能板圖,控制器通過它的功能模塊與外圍設備進行聯系: USB模塊與PC機連接,進行USB通信;A/D模塊接模擬量輸入,進行A/D轉換;D/A模塊接模擬量輸出,產生輸出波形;I/O接口外接輸入輸出;I2C模塊與傳感器等含I2C的器件連接,進行I2C通信;SPI模塊與外圍設備相連,使單片機與各種外圍設備以串行方式進行通信以交換信息。

      USB總線的數據采集方案一般有兩種,一種是采用專用的USB通信芯片。另一種是利用具有USB接口功能的單片機。考慮到實際情況,本設計選用第二種方案。

      18F4550是Microchip公司生產的帶全速USB接口的8位高檔單片機,該單片機具有精簡指令集、哈佛結構等特點,運行速度快、執行效率高。它的硬件資源非常豐富,并集成有多個功能模塊: ICSP接口模塊,可以通過kit? 3與PC機聯系,進行程序的燒寫和調試;它的全速USB 2.0接口模塊,可以方便、快捷的實現USB通信。[3]

      由此,我們選用18F4550單片機來進行設計。它的優勢在于:

      1、利用它的USB接口,可以實現與PC機之間通信,不需要另加USB接口芯片。

      2、利用它的ICSP模塊,可以實現PC機對單片機進行程序的直接燒寫,并進行在線調試。

      3、能夠讓電路的設計更為簡潔、實用,既提高了整個設計的安全性和可靠性,又降低整個系統的功耗。

      4、Microchip公司提供了集成開發環境Mplab和匯編語言、C語言編譯器,使我們在程序調試,模擬運行方面更容易、更方便快捷。Microchip公司同時還提供了USB通信的范例和demo子程序,使我們在使用USB通信功能時更加的簡單、快捷。



    關鍵詞: PIC USB

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 德庆县| 德兴市| 云阳县| 洛川县| 奉节县| 巴林右旗| 武穴市| 肃北| 娄底市| 壤塘县| 来安县| 峨山| 伊金霍洛旗| 岳普湖县| 宝鸡市| 阳西县| 庆元县| 涪陵区| 泾源县| 江山市| 荥阳市| 阿拉善左旗| 丁青县| 文山县| 苍山县| 彝良县| 岗巴县| 秦皇岛市| 贵南县| 阳高县| 客服| 玛纳斯县| 济南市| 郑州市| 衡阳市| 前郭尔| 福建省| 平南县| 麻栗坡县| 安西县| 突泉县|