<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于C8051F340數據采集系統的設計

基于C8051F340數據采集系統的設計

作者: 時(shí)間:2010-12-22 來(lái)源:網(wǎng)絡(luò ) 收藏

圖2 數據采集硬件原理圖。

4 軟件設計

系統的軟件部分包括單片機固件和上位PC 機客戶(hù)端程序。單片機固件主要負責單片機初始化及與上位機的通信準備, 而客戶(hù)端程序則負責對固件中相應控制的調用, 實(shí)現數據的傳輸控制、數據保存以及故障的預警。

4. 1 單片機固件( firmw are)

單片機固件采用K eil uV ision3軟件進(jìn)行編寫(xiě),由主程序, AD數據轉換, USB通訊三個(gè)模塊組成。

主程序負責初始化單片機的各個(gè)端口和功能模塊, 設置相應的IO 端口為數據輸入端口, 完成各項初始化后通過(guò)vo id USB_API_TEST _ISR ( void)函數進(jìn)入USB中斷服務(wù), 在中斷服務(wù)中通過(guò)調用Get_Interrupt_Source( )函數獲得USB 中斷源。然后根據不同的入口情況, 來(lái)進(jìn)行相應的處理。比如收到初始化命令時(shí), 復位單片機內的各個(gè)狀態(tài)參數。

AD數據轉換模塊主要負責AD轉換時(shí)的轉換時(shí)間間隔、采樣精度的設置。C8051F340單片機的AD轉換啟動(dòng)有6 種觸發(fā)方式, 由ADC0CN 中的ADC0轉換啟動(dòng)方式位( AD0CM2..0)的狀態(tài)決定采用哪一種方式。本系統則是是通過(guò)單片機中的定時(shí)器2的每次計時(shí)溢出來(lái)觸發(fā)AD 轉換。為確保每次定時(shí)器觸發(fā)AD 轉換時(shí)上一次數據轉換完全結束, 因此定時(shí)器2溢出后到下一次計時(shí)溢出的時(shí)間間隔( Tcon t)必須要大于A(yíng)D 轉換時(shí)間, 才能保證每次AD轉換的完整進(jìn)行。AD 轉換時(shí)間由建立轉換時(shí)間( Tsettle)和采樣時(shí)間( Tsample)構成。圖3所示為在差分方式下等效的AD 轉換的輸入電路。對于一個(gè)給定的建立精度( SA ) 的系統中, 所需要的ADC 建立時(shí)間( Tsettle)可以用方程1來(lái)確定。而采樣時(shí)間( Tsamp le)通過(guò)查詢(xún)技術(shù)手冊得知需要10個(gè)SAR 時(shí)鐘。Tcon t則必須要滿(mǎn)足式( 2)和式( 3), 才能滿(mǎn)足設計要求。



圖3 AD 轉換等效輸入電路。



其中: SA 是建立精度, 用一個(gè)LSB 的分數表示(例如, 建立精度0. 25對應1 /4LSB ); t為所需要的建立時(shí)間( Tsettle), 以秒為單位; n為ADC 的分辨率,用比特表示。Rtota l為AMUX 電阻與外部信號源電阻之和; C samp le為ADC采樣電容:



其中: K 為定時(shí)器2溢出后重載的計數數值; clk 為系統時(shí)鐘頻率。



USB通訊模塊則設置單片機與主機的數據傳輸模式。根據USB 通信協(xié)議要求, 設置相應寄存器來(lái)配置USB中端點(diǎn)0與端點(diǎn)2跟上位主機進(jìn)行數據通信, 其中端點(diǎn)0負責與主機的控制命令接收與響應, 端點(diǎn)2 負責將采集的數據傳輸到上位主機, 同時(shí)配置端點(diǎn)2在U SB0的FIFO 分配中256字節使用空間全部為數據輸出。由于C8051F340 整合的是10位ADC控制器, 采集到的數據填充為16位數據, 以先低8 位, 后高8位將數據保存到系統的RAM 中, 而一次AD 轉換能得到2個(gè)字節的數據, 因此為了每次數據上傳時(shí)充分利用端點(diǎn)2的使用空間, 在A(yíng)DC中斷響應函數中添加一個(gè)變量i來(lái)檢測進(jìn)行轉換的次數, 在進(jìn)行完128次AD轉換后通過(guò)調用B lock_W rite( )函數向主機發(fā)送數據。部分代碼如下:


關(guān)鍵詞: 收發(fā)器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>