基于DSP的嵌入式溫度記錄儀的設(shè)計(jì)
溫度采集與控制技術(shù)是測(cè)量、控制系統(tǒng)的重要組成部分.傳統(tǒng)的模擬傳感測(cè)量溫度系統(tǒng)測(cè)量精度低、布線復(fù)雜,易受干擾.而新型單片數(shù)字式溫度傳感器測(cè)量精度高、抗干擾能力強(qiáng),應(yīng)用廣泛。這里提出一種基于DSP的嵌入式溫度記錄儀的設(shè)計(jì)方案。該系統(tǒng)設(shè)計(jì)采用TMS320F2812型DSP,DS28EA00型1一Wire數(shù)字溫度計(jì)為控制中心,采用帶有USB接口的大容量U盤或SD卡作為存儲(chǔ)介質(zhì),實(shí)現(xiàn)溫度采集與數(shù)據(jù)存儲(chǔ)。
2 系統(tǒng)設(shè)計(jì)方案
該系統(tǒng)設(shè)計(jì)主要包含DS28EA00測(cè)溫、USB接口、SD卡接口、外擴(kuò)RAM.TM$320F2812數(shù)字信號(hào)處理等模塊。其中,TMS320F2812控制溫度計(jì)DS28EA00順序采集各測(cè)量點(diǎn)溫度,經(jīng)處理后暫存至外擴(kuò)RAM,當(dāng)滿足特定條件后,通過USB接口將數(shù)據(jù)以文件形式存儲(chǔ)到U盤或SD卡中,系統(tǒng)設(shè)計(jì)框圖如圖1所示。
3 系統(tǒng)硬件設(shè)計(jì)
3.1 DS28EA00測(cè)溫模塊
DS28EA00~是一款具有鏈路功能的l—Wire數(shù)字溫度傳感器,具有9~12位的分辨率,且?guī)в杏脩艨删幊淘O(shè)置的非易失性溫度報(bào)警閾值點(diǎn)。每個(gè)DS28EA00都具有工廠預(yù)先刻錄的唯一64位序列號(hào),只需一根數(shù)據(jù)線和地線就可通過1一Wire協(xié)議完成串行傳輸數(shù)據(jù),支持15.3 Kb/s(最大值)的標(biāo)準(zhǔn)通信速率和125 Kb/s(最大值)的高速通信速率。改進(jìn)的l—Wire接口具有滯回和干擾濾波功能,使得DS28EA00能夠在大型1一Wire網(wǎng)絡(luò)中可靠工作。
DS28EA00內(nèi)部數(shù)據(jù)部分包括64位序列號(hào)、64位暫存器以及報(bào)警配置寄存器。1一Wire ROM功能控制單元處理ROM功能命令,允許器件工作在一個(gè)多點(diǎn)網(wǎng)絡(luò)中。器件功能控制單元實(shí)現(xiàn)對(duì)器件的特定操作和控制,如讀/寫,溫度轉(zhuǎn)換,設(shè)置順序檢測(cè)的鏈路狀態(tài)等。8 bit CRC生成器在讀取溫度和寄存器數(shù)據(jù)時(shí)可協(xié)助主機(jī)檢驗(yàn)數(shù)據(jù)的完整性。順序檢測(cè)鏈路狀態(tài)時(shí),DSP的PIOB(XDO~XD7)作為輸入,而PIOA(XA0~XAl8)與下一個(gè)器件連接,DS28EA00數(shù)字溫度計(jì)的1-Wire總線接口與DSP的GPIO接口相連實(shí)現(xiàn)通信。DS28EA00測(cè)溫模塊電路如圖2所示。
3.2 USB接口模塊
USB接口模塊采用嵌入式USB接口器件SL811HST,該器件內(nèi)置USB主/從控制器,支持全速和低速數(shù)據(jù)傳輸,能自動(dòng)識(shí)別低速或全速設(shè)備,SL811HST提供的接口可與微控制器、DSP相連。此外,SL811HST內(nèi)部有一個(gè)256字節(jié)的RAM,用于控制寄存器或數(shù)據(jù)緩沖器。該系統(tǒng)中USB設(shè)備映射TMS320F2812外擴(kuò)1區(qū)域,USB接口模塊電路如圖3所示。
3.3 SD卡接口模塊
SD卡通過SPI口或并行(SD)接口與主機(jī)連接.另外DSP還提供額外引腳來檢測(cè)卡的存在和寫保護(hù)功能。SPI總線模式下,CS為主控制器向SD卡發(fā)送的片選信號(hào),SCLK為主控制器向SD卡發(fā)送的時(shí)鐘信號(hào),DI(Data In)為主控制器向SD卡發(fā)送的單向數(shù)據(jù)信號(hào),DO(Data Out)為SD卡向主控制器發(fā)送的單向數(shù)據(jù)信號(hào)。選擇SD模式通信實(shí)現(xiàn)高速通信.采用GPIO接口滿足特定的SD規(guī)范協(xié)議。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包括DSP與DS28EA00的通信、DSP與SD卡的通信,DSP與USB設(shè)備的通信。
4.1 DSP與DS28EA00的通信
DS28EA00的鏈路功能允許1一Wire主機(jī)檢索以線性網(wǎng)絡(luò)“鏈”方式連接的器件.找出其物理順序。鏈路功能需要輸入和輸出兩個(gè)引腳,其中,輸入引腳(EN)可使器件在檢測(cè)時(shí)能對(duì)檢測(cè)做出響應(yīng),而輸出引腳(DONE)用于通知鏈路中的下一個(gè)器件其相鄰器件的檢測(cè)已完成。復(fù)用DS28EA00的兩個(gè)通用端口實(shí)現(xiàn)鏈路功能,其中,PB作為EN輸入,PA產(chǎn)生DONE信號(hào)并與下一個(gè)器件的EN輸入相連,而第一個(gè)器件的EN輸入需接至GND,或者在順序檢測(cè)時(shí)對(duì)其施加邏輯‘0’信號(hào)。
4.2 數(shù)據(jù)存儲(chǔ)
4.2.1 U盤數(shù)據(jù)存儲(chǔ)
DSP主要通過軟件設(shè)計(jì)實(shí)現(xiàn)對(duì)USB移動(dòng)存儲(chǔ)設(shè)備的操作,而USB軟件設(shè)計(jì)主要由通用的USB總線枚舉部分,USBMass Storage類協(xié)議軟件設(shè)計(jì)以及文件系統(tǒng)組成,U盤數(shù)據(jù)存儲(chǔ)流程如圖4所示。
4.2.2 SD卡數(shù)據(jù)存儲(chǔ)
SD卡數(shù)據(jù)存儲(chǔ)軟件設(shè)計(jì)主要包括SD卡上電初始化和SD卡的讀寫操作。其工作步驟如下:(1)配置TMS320F2812的SPI接口,檢測(cè)是否插入SD卡。為調(diào)試方便,將SD卡接口的Vse2引腳接地。(2)檢測(cè)到SD卡,系統(tǒng)連續(xù)發(fā)送10次0xFF00使SD卡的Data In引腳狀態(tài)保持至少74個(gè)時(shí)鐘周期,實(shí)現(xiàn)系統(tǒng)上電初始化。(3)SD卡初始化,注意此時(shí)SPI接口的通信速度應(yīng)為100~400 kHz以滿足SD卡通信協(xié)議要求。(4)系統(tǒng)與SD卡通信,提高SPI接口的通信速率。圖5給出SD卡數(shù)據(jù)存儲(chǔ)流程圖。
4.3 文件系統(tǒng)
為了便于處理采集到的數(shù)據(jù),設(shè)計(jì)了一個(gè)兼容FATl6、FAT32文件格式的文件管理系統(tǒng)嘲,并將數(shù)據(jù)存儲(chǔ)到U盤或SD卡中。文件系統(tǒng)數(shù)據(jù)分為:MBR區(qū)、DBR區(qū)、FAT區(qū)、DIR區(qū)和DATA區(qū)。由于SD卡不要求啟動(dòng),因此文件系統(tǒng)可以只包含有DBR、FAT、DIR和DATlA區(qū)。這里以128 MB的U盤為例進(jìn)行簡(jiǎn)單介紹,其文件系統(tǒng)結(jié)構(gòu)如表l所示。
5 結(jié)語
由于USB接口存儲(chǔ)設(shè)備和SD卡在數(shù)據(jù)采集系統(tǒng)中應(yīng)用廣泛,嵌入式數(shù)據(jù)采集環(huán)境中采用USB存儲(chǔ)設(shè)備或SD卡可實(shí)現(xiàn)大容量數(shù)據(jù)存儲(chǔ),滿足嵌入式技術(shù)發(fā)展要求。該系統(tǒng)設(shè)計(jì)經(jīng)過反復(fù)測(cè)試表明:工作穩(wěn)定,能快速讀寫U盤和SD卡中的存儲(chǔ)數(shù)據(jù),其速率約為300 KB/s。