《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于C8051F340單片機和CPLD的紅外溫度監(jiān)測系統(tǒng)的設(shè)計
基于C8051F340單片機和CPLD的紅外溫度監(jiān)測系統(tǒng)的設(shè)計
山西電子技術(shù)
靳朋飛,張艷花,張 剛
摘要: 系統(tǒng)基本實現(xiàn)了溫度的采集和傳輸功能,并能通過VC6.0將數(shù)據(jù)保存,提供給matlab等數(shù)學(xué)分析軟件進行數(shù)據(jù)分析,實驗證明了利用CPLD可以很精確地實現(xiàn)對傳感器的分時控制,C8051F340利用USBXpress提供的API進行USB開發(fā)極大地簡化了開發(fā)流程。 實驗只進行了簡單的框架搭建,這里只是對基于CPLD進行時分復(fù)用方法采集傳感器數(shù)據(jù)并且使用C8051F340利用USB總線與計算機進行通信的可行性進行了驗證,完善穩(wěn)定的系統(tǒng)仍需要大量的后期工作去完成。
Abstract:
Key words :


摘要:為實現(xiàn)對裝藥過程中實時溫度的檢測,設(shè)計了一套C8051F340單片機與時分復(fù)用技術(shù)進行數(shù)據(jù)采集和通信的多通道溫度采集系統(tǒng)。實驗驗證了CPLD在進行分時控制時具有計時準(zhǔn)確,門選電路設(shè)計方便,集成度高的優(yōu)點,同時結(jié)合Silicon Laboratories公司提供的USBXpress開發(fā)工具使得單片機與計算機的USB通信實現(xiàn)變得極為簡便。
關(guān)鍵詞:紅外測溫;時分復(fù)用;SOC

0 引言
    螺旋裝藥過程中,經(jīng)常會因為內(nèi)部藥品溫度分布不均勻?qū)е略谘b藥過程中藥品內(nèi)出現(xiàn)氣泡的現(xiàn)象,這嚴(yán)重影響了彈體內(nèi)的藥品質(zhì)量和彈藥參數(shù)。因此,本文希望通過設(shè)計一種溫度監(jiān)測系統(tǒng)來實現(xiàn)對腔體內(nèi)藥品溫度檢測,尋找裝藥過程中溫度與藥品質(zhì)量之間的關(guān)系。由于裝藥機結(jié)構(gòu)的特殊性,我們無法通過傳統(tǒng)的接觸測溫法獲取藥品的溫度。因此本文設(shè)計了一種基于紅外測溫方法的系統(tǒng)來實現(xiàn)對藥品溫度的實時檢測。

1 時分復(fù)用原理
    復(fù)用方法的設(shè)計主要依據(jù)TN9紅外傳感器的信號特征及接口特點,TN9紅外溫度傳感器具有5個接口,其中電源和地不需要接到CPLD上,其余三個接口分別為低電平有效的TN9工作使能接口,工作在主模式的SPI時鐘接口和數(shù)據(jù)接口。采用復(fù)用模式是只需通過設(shè)置合適的時序和門電路控制就可以將這些具有相同功能的接口連接到同一個模塊上。
    實際應(yīng)用中當(dāng)EA有效時TN9傳感器通過SPI總線在大約180ms和560ms時發(fā)送兩次溫度數(shù)據(jù),第一次為環(huán)境溫度數(shù)據(jù),第二次為目標(biāo)溫度數(shù)據(jù)。當(dāng)EA無效時傳感器仍會發(fā)送數(shù)據(jù),只不過發(fā)送的數(shù)據(jù)沒有意義,這時就需要通過合適的門電路控制將無用信號屏蔽掉。當(dāng)采用多路采集通道時,隨著傳感器數(shù)量的增加所需引腳及控制門電路會極大增加,處于精確時間控制及多門選電路的需要,數(shù)據(jù)采集模塊使用CPLD來實現(xiàn)相對單片機加門電路簡單靈活。

a.jpg


    如圖1所示,以雙通道TN9數(shù)據(jù)接收模塊舉例來說明SPI總線復(fù)用方式。EA信號通過分時模塊來控制,由于VHDL語言可以被認為是為CPLD內(nèi)部邏輯單元建立了連接關(guān)系,在系統(tǒng)運行時語句本身并不消耗系統(tǒng)時間,因此通過寄存器設(shè)可以是CPLD的時間設(shè)置極為精確。這里設(shè)置TN9工作周期為1s,400ms時間為高電平(EA禁止),第一個傳感器啟動后約200 ms下一個傳感器以同樣方式開始工作,這樣保證不同傳感器回來的信號不重疊在一起。由于TN9在EA無效期間仍會發(fā)送無效數(shù)據(jù),且SPI總線上的DATA線與CLK線空閑時為高電平,這里設(shè)計了如圖1所示的門控電路來實現(xiàn)對無效信息的屏蔽。

2 系統(tǒng)設(shè)計
    系統(tǒng)以C8051F340單片機為核心,它通過UART總線和USB總線分別與CPLD和電腦相連接。

b.jpg


2.1 數(shù)據(jù)采集模塊設(shè)計
    數(shù)據(jù)采集模塊的核心模塊由CPLD實現(xiàn),CPLD接收到單片機控制命令后進行復(fù)位并開始工作,分時模塊和門電路配合實現(xiàn)傳感器的分時啟動以及屏蔽掉SPI總線發(fā)回的環(huán)境溫度數(shù)據(jù)及使能信號無效(高電平)時的亂碼。SPI模塊實現(xiàn)CPLD的從器件接受功能,每次工作將TN9發(fā)回的16位溫度數(shù)據(jù)存入寄存器。寄存器控制模塊在接受完16位溫度數(shù)據(jù)后,啟動串口發(fā)送,將高低8位數(shù)據(jù)分別發(fā)送給單片機,單片機在其中斷函數(shù)中進行相應(yīng)處理。
2.2 單片機模塊設(shè)計
    USB數(shù)據(jù)發(fā)送功能的實現(xiàn)是這一部分的難點,這里使用Silicon Laboratories公司提供的USBXpress和Configuration Wizard開發(fā)包并結(jié)合Keil uVision3開發(fā)環(huán)境可以很方便的實現(xiàn)C80S1F340單片機的配置工作,這樣單片機程序編寫和USB通信開發(fā)難度,我們只需要關(guān)注自己要實現(xiàn)的功能部分并不需要很了解復(fù)雜的USB通信協(xié)議。

c.jpg


    如圖3所示,單片機上電后完成系統(tǒng)初始化配置,初始化配置語句可以使用Configuration Wizard來進行配置,C8051F340的UART0接口(第二功能)固定在P0^4,P0^5,USB也只能使用特定端口,這里不需要對端口進行特別配置,將其端口模式設(shè)置為推拉即可,系統(tǒng)時鐘設(shè)置為使用內(nèi)部時鐘模式,通過選擇多路開關(guān)和倍頻使USB時鐘工作在48MHz。作為USB系統(tǒng)中的從設(shè)備,系統(tǒng)初始化設(shè)置完成后,執(zhí)行等待命令DisplayLED(),然后在中斷函數(shù)中根據(jù)USB中對要執(zhí)行的操作進行判斷。
    UART0使用定時器2作為波特率發(fā)生器,并使能定時器0中斷允許。USB初始化首先要調(diào)用USBXpress提供的API函數(shù)USB_Clock_Start(),然后對其端口初始化,這里使用USBXpress提供的默認設(shè)置即可。
    由于溫度數(shù)據(jù)為16位數(shù)據(jù),串口每次接收其中8位,這里定義個數(shù)組In_Packet[3]后兩位用來存放MSB,LSP的值,第一位存放傳感器標(biāo)志位。當(dāng)In_Packet[3]數(shù)組數(shù)據(jù)更新后,調(diào)用USBXpress的API函數(shù)Block_Write(In_Packet,3)將溫度數(shù)據(jù)發(fā)送給上位機。
2.3 上位機軟件設(shè)計
    USBXpress提供VC6.0進行USB通信的動態(tài)鏈接庫,這里采取了靜態(tài)方法加載動態(tài)鏈接庫的形式,這樣需要在編譯選項中把USBXpress提供的SiUSBXp.lib路徑添加進去,并在需要調(diào)用時添加頭文件siusbxp.h。
    程序依照USBXpress提供的API函數(shù)編寫,在程序界面初始化時調(diào)用SI_GetNumDevices()和SI_GetProductString()函數(shù)獲取USB器件信息,由于傳感器工作間隔200ms左右,這里設(shè)定50ms的定時器,在其響應(yīng)函數(shù)中執(zhí)行SI_Read(),當(dāng)Buffer中有數(shù)據(jù)時就會將數(shù)據(jù)讀取到定義好結(jié)構(gòu)體當(dāng)中去,并使用Format命令將其轉(zhuǎn)換為字符串類型且按16進制方式將數(shù)據(jù)更新到編輯框中。

d.jpg



3 總結(jié)
    系統(tǒng)基本實現(xiàn)了溫度的采集和傳輸功能,并能通過VC6.0將數(shù)據(jù)保存,提供給matlab等數(shù)學(xué)分析軟件進行數(shù)據(jù)分析,實驗證明了利用CPLD可以很精確地實現(xiàn)對傳感器的分時控制,C8051F340利用USBXpress提供的API進行USB開發(fā)極大地簡化了開發(fā)流程。
    實驗只進行了簡單的框架搭建,這里只是對基于CPLD進行時分復(fù)用方法采集傳感器數(shù)據(jù)并且使用C8051F340利用USB總線與計算機進行通信的可行性進行了驗證,完善穩(wěn)定的系統(tǒng)仍需要大量的后期工作去完成。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 扒开双腿猛进入喷水免费视频 | 正在播放国产大学生情侣 | 欧美三级日韩 | 欧美大陆日韩 | 亚洲品质自拍视频 | 日本a v 黄| 久草精品视频 | 久久99久久精品国产只有 | 成年大片免费视频播放手机不卡 | 亚洲网站在线观看 | 东京一区二区三区高清视频 | 日韩欧美一级毛片视频免费 | 欧美一级毛片高清免费观看 | 欧美日韩亚洲第一页 | 久久久精品一区 | 成人精品第一区二区三区 | 久久爽久久爽久久免费观看 | 亚洲永久| 久久91在线 | 亚洲国产欧美国产综合一区 | 亚洲国产品综合人成综合网站 | 性刺激免费视频观看在线观看 | a一级免费| 亚洲欧美日韩国产精品久久 | 中文字幕国产亚洲 | 欧美日韩亚洲另类 | 久久99久久99精品观看 | 青青草福利视频 | 高清大学生毛片一级 | 国产一区二区三区久久精品小说 | 香港日本韩国三级网站 | 免费一级美国片在线观看 | 男女午夜爽爽 | 久久精品一区二区三区日韩 | 久久久一区二区三区不卡 | 波多野结衣在线观看高清免费资源 | 一级做a爰片久久毛片免费看 | 国产精品成aⅴ人片在线观看 | 91亚洲精品国产第一区 | 91色综合综合热五月激情 | 亚洲情a成黄在线观看动 |