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

    EEPW首頁 > 測試測量 > 設計應用 > 基于USB接口的多節點無線測溫系統

    基于USB接口的多節點無線測溫系統

    作者: 時間:2009-05-05 來源:網絡 收藏

    根據協議,任何傳輸都是由主機(Host)開始的。單片機做它的前臺工作,等待中斷。主機首先要發令牌包給設備,C8051F320接收到令牌包后就進入中斷服務程序,首先讀單片機的中斷寄存器,判斷令牌包的類型,然后執行相應的操作。

    在USB單片機程序中,要完成對各種令牌包的響應,其中比較難處理的是SETUP包,主要是端口0的編程。本系統中主要用到了初始化、讀、寫、中斷這4個函數:初始化USB_Init(0,0xEA61,NULL,NULL,Serial,250,0x80,0x100)函數;塊寫函數Block_Write();塊讀函數Block_Read();USB中斷使能函數。USB的所有處理程序都是通過USB的中斷服務程序完成的。進入USB中斷后,程序調用Get_Interrupt_Source()函數獲得USB中斷的進入原因。然后根據不同的入口情況,來進行相應的處理。比如收到數據之后,讀取相應的緩沖區內容到內存中;收到初始化命令時,復位單片機內的各個狀態參數。

    4.2 USB驅動程序

    USB驅動程序是一個軟件組件,封裝了應用程序存取硬件設備的功能函數。USB驅動程序模型分為5層,如圖4所示。

    考慮到本系統使用了非標準類別,需要自己開發驅動程序,USB設備驅動程序的工具使用了USBXpressDevelopment Kit。主要函數如下:SI_Open()函數;SI_Close()函數;SI_Read函數;SI_Write()函數;SI_GetNumDevices()函數;SI_CheckRXQueue()。

    用戶端若要從設備讀取數據,將調用一個應用程序API,如OpenFile,SiUSBXp.dll實現這個API。總線驅動程序控制對總線上所有設備的訪問。

    4.3 用戶應用程序

    主機軟件采用可視化編程工具VC 6.0進行開發,采用數據庫Microsoft Access 2003進行信息的管理。

    根據實際的系統應用要求,整個系統的軟件結構如圖5所示。

    5 測溫系統在實際工程中的應用

    測溫系統在某議事大廈項目中進行了應用,該工程基礎底板平面尺寸為65.4 m×47 m,其中中間區域3、7軸線與B、F軸線之間24.0 m×21.53 m部分板厚為2.2 m;該部分周圍有15個大承臺板厚為2.5 m;其余部分均為0.7 m,混凝土采用C40。

    在進行該工程基礎底板的混凝土施工過程中,本系統進行了為期將近兩個星期的測溫使用,效果很好。圖6為自動記錄的3號點的溫度變化曲線。

    6 結 語

    基于C8051F320 USB系統把計算機技術與傳統信號采集技術緊密結合起來,充分發揮PC機和單片機各自的優點,實現傳感器信號的采集、存儲、傳輸、顯示和處理。而借助USB的通信功能,減小了數據傳輸系統的復雜性,提高了傳輸速率極大地方便了系統的使用。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 阜新| 临澧县| 东明县| 邵阳市| 晋宁县| 合水县| 抚远县| 仁化县| 仪征市| 通江县| 石屏县| 镇远县| 龙州县| 蒙自县| 道孚县| 柘荣县| 商水县| 甘南县| 北安市| 西充县| 苗栗市| 云和县| 沈丘县| 南城县| 利辛县| 呼玛县| 烟台市| 榕江县| 通许县| 巩留县| 金沙县| 德清县| 贵定县| 泉州市| 石泉县| 耒阳市| 虎林市| 驻马店市| 丰都县| 六盘水市| 水城县|