PSoC的特點(diǎn)在于既具有8位微控制器的處理能力,又集成了多種可編程數(shù)字用戶模塊。值得一提的是,PSoC史無前例地集成了多種可編程模擬用戶模塊功能,將全數(shù)字式的微控制器設(shè)計(jì)與純粹的模擬設(shè)計(jì)相結(jié)合,是一種具有SoC的基本原理的、基于高度靈活且完全可編程混合信號的全新一代器件。
CyFi低功耗無線射頻技術(shù)開發(fā)簡便、協(xié)議棧結(jié)構(gòu)精簡、可實(shí)現(xiàn)多信道跳變等特點(diǎn),使其成為無線技術(shù)應(yīng)用領(lǐng)域的新生力量,能廣泛應(yīng)用于工業(yè)、消費(fèi)電子、汽車家電、智能建筑等多種無線控制應(yīng)用中。
CY8C24894是Cypress公司推出的帶有M8C控制內(nèi)核的PSoC可編程片上系統(tǒng),系統(tǒng)資源中帶有USBUART傳輸模塊。本文圍繞這款高性能、低功耗的片上系統(tǒng)設(shè)計(jì)了一個(gè)無線采集系統(tǒng)。
1系統(tǒng)組成與設(shè)計(jì)原理
系統(tǒng)分為數(shù)據(jù)采集部分與數(shù)據(jù)上傳部分。數(shù)據(jù)采集部分由5個(gè)子節(jié)點(diǎn)和1個(gè)匯聚節(jié)點(diǎn)通過CyFi無線傳輸技術(shù)組成。其中,子節(jié)點(diǎn)又分為4個(gè)位移子節(jié)點(diǎn)和1個(gè)壓力子節(jié)點(diǎn)。子節(jié)點(diǎn)的核心控制單元是PSoC可編程片上系統(tǒng),負(fù)責(zé)接收傳感器數(shù)據(jù)并控制CyFi無線模塊發(fā)送。另外,位移傳感器采用數(shù)字容柵式MS50傳感器,輸出量為數(shù)字信號。壓力傳感器采用壓阻式壓力傳感器MPM480,輸出量為模擬信號,需進(jìn)行A/D轉(zhuǎn)換。
數(shù)據(jù)上傳部分由匯聚節(jié)點(diǎn)與上位機(jī)通過USBUART傳輸技術(shù)組成,匯聚節(jié)點(diǎn)由基于PSoC可編程片上系統(tǒng)的數(shù)據(jù)盒控制。數(shù)據(jù)盒通過CyFi無線模塊,收集到全部子節(jié)點(diǎn)的傳感器數(shù)據(jù)并進(jìn)行存儲(chǔ),當(dāng)?shù)玫缴衔粰C(jī)讀取數(shù)據(jù)命令后,通過USB接口模擬的串口將數(shù)據(jù)上傳給上位機(jī)。系統(tǒng)整體設(shè)計(jì)方案如圖1所示。
圖1 采集系統(tǒng)框圖
2系統(tǒng)硬件設(shè)計(jì)
2.1 CY8C24894可編程片上系統(tǒng)
CY8C24894是一種高速低功耗的芯片,內(nèi)含的M8C處理器工作頻率最高可為24 MHz,工作電源為3.3 V或5 y。CY8C24894內(nèi)含1個(gè)XRES引腳支持系統(tǒng)內(nèi)串行ISSP編程和外部復(fù)位控制。并且,CY8C24894不需要外部晶振驅(qū)動(dòng)便可以開始工作。CY8C24894包含7個(gè)lO端菅口:Port0、Polt1、Polt2、Port3、Port4、Port5 和 Port7,共49個(gè)GPIO。模擬系統(tǒng)包括2列6個(gè)可編程模擬模塊和模擬互聯(lián)邏輯,數(shù)字模塊包括1行4個(gè)可編程數(shù)字模塊和數(shù)字互聯(lián)邏輯,另CY8C24894片上還集成了16 KB的Flash程序存儲(chǔ)器,1 KB的SRAM數(shù)據(jù)存儲(chǔ)器。
可編程片上系統(tǒng)CY8C24894集成了全速USB通信模塊、2個(gè)帶32位累加的高速8位乘法器、多個(gè)SPI主、從設(shè)各、6~14位模數(shù)A/D轉(zhuǎn)換器、濾波器、最大增益為48的可編程增益放大器PGA、6~9位模數(shù)D/A轉(zhuǎn)換器、電壓比較器等片上資源。
2.2無線模塊
射頻芯片采用CYRF7936芯片,為40引腳的QFN封裝芯片。工作的ISM頻段為2.4 GHz~2 483 GHz,工作電壓為1.8 V~3.6 V,支持速度為4 MHz的sPI微控制器接口,需外接12 MHz的晶振。
CyFi無線射頻技術(shù)是Cypress公司2008年底提出的面向嵌人式控制領(lǐng)域的一款低成本\低功耗、高可靠性的無線射頻解決方案,工作于無許可限制的2,4 GHz[SM頻段。CyFi無線射頻解決方案由PSoC控制核心、無線射頻收發(fā)器和CyFi星型網(wǎng)絡(luò)協(xié)議棧組成。PSoC可編程片上系統(tǒng)包含了CyFi星型網(wǎng)絡(luò)協(xié)議棧預(yù)配置固件用戶模塊,并以源代碼的形式提供了全部應(yīng)用程序的接口,總共只需8個(gè)API指令便能完成設(shè)計(jì)。CyFi收發(fā)器輸出功率高達(dá)+4 dBm,接收靈敏度高達(dá)-97 dBm,能實(shí)現(xiàn)跳頻傳輸和DSSS調(diào)制抗干擾,并能根據(jù)鏈接管理需求,自動(dòng)調(diào)節(jié)傳輸數(shù)據(jù)速率,以1 Mbis、250 kb/s或125 kb/s的速率進(jìn)行通信。
2.3傳感器模塊
本設(shè)計(jì)中位移子節(jié)點(diǎn)采用巖土工程監(jiān)測中常用的數(shù)字容柵式位移傳感器MS50,其分辨率為0.01 mn1,精度為±0 03 min,電子容柵式位移傳感器MS50的輸出信號如圖2所示,分為CLK和DATA兩路信號進(jìn)行傳輸⊙由示波器檢測輸出信號可知:信號的頭尾為標(biāo)志位,且為4位高電平值。位移傳感器MS50每250 Ins傳輸一幀48位的數(shù)據(jù)包,這個(gè)數(shù)據(jù)包由各分為24位的兩組數(shù)據(jù)組成。其中,后一組數(shù)據(jù)為前一組數(shù)據(jù)減去基準(zhǔn)零值后的差值,即為前一組數(shù)據(jù)的倒相輸入。
圖2位移傳感器輸出信號格式
MS50傳感器的輸出時(shí)鐘頻率為90 kHz,出現(xiàn)標(biāo)志位后,時(shí)鐘信號第一次有電平向下跳變時(shí),開始讀取數(shù)據(jù)信號上的信息,直到尾部標(biāo)志位出現(xiàn)為止。采集到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換后,輸出DATA和CLK兩個(gè)信號,供CY8C24894讀取。
壓力子節(jié)點(diǎn)采用的是MPM480壓阻式壓力傳感器,供電電源為15 V~28 V,輸出為模擬信號4 mA~20mA。由于CY8C24894內(nèi)部含有可編程增益放大器PGA和模數(shù)轉(zhuǎn)換器ADC,所以將壓力傳感器輸出信號轉(zhuǎn)換為電壓信號后直接連CY8C24894的模擬輸人引腳。接口電路如圖3所示。
圖3壓力傳感器接口電路
2.4總體硬件電路
總體電路由4個(gè)位移子節(jié)點(diǎn)電路、1個(gè)壓力子節(jié)點(diǎn)電路和1個(gè)匯聚節(jié)點(diǎn)電路組成。CY8C24894與CYRF7936的連接如圖4所示。
圖4 CY8C24894與CYRF7936
子節(jié)點(diǎn)包括位移傳感器子節(jié)點(diǎn)和壓力傳感器子節(jié)點(diǎn)兩種。CY8C24894讀取位移數(shù)據(jù)后,將位移量保存在數(shù)據(jù)存儲(chǔ)器中,并保持位移量實(shí)時(shí)更新。當(dāng)需要傳輸位移數(shù)據(jù)量時(shí),CY8C24894控制SPI總線以主設(shè)備模式向從設(shè)各模式的無線射頻模塊CYRF7936傳輸信號,并以無線方式發(fā)送出去,SPI模塊工作時(shí)鐘YCI為系統(tǒng)的四分頻,即6 MHz。壓力傳感器子節(jié)點(diǎn)輸出的是模擬量,因此需要進(jìn)行A/D轉(zhuǎn)換后才能由控制核心CY8C24894存儲(chǔ)和控制射頻模塊發(fā)送。而A/D轉(zhuǎn)換功能使用CY8C24894可編程片上系統(tǒng)自身所帶的12位模數(shù)轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器在CY8C24894中需要占用2個(gè)可編程數(shù)字用戶模塊和1個(gè)可編程模擬模塊。子節(jié)點(diǎn)電路設(shè)計(jì)如圖5所示。
圖5子節(jié)點(diǎn)電路設(shè)訓(xùn)
匯聚節(jié)點(diǎn)的硬件設(shè)計(jì)和子節(jié)點(diǎn)的硬件設(shè)計(jì)類似,但是不再需要前端采集模塊。匯聚節(jié)點(diǎn)在解析命令后通過SPI總線控制CYRF7936無線射頻模塊發(fā)送命令。在得到回復(fù)后將信息再由CYRF7936無線別頻模塊通過SPI總線傳輸給控制核心,并最終通過USBUART仿真串口反饋給上位機(jī)。匯聚節(jié)點(diǎn)電路如圖6所示。
圖6匯聚節(jié)點(diǎn)電路設(shè)計(jì)
3系統(tǒng)軟件設(shè)計(jì)
3.1子節(jié)點(diǎn)軟件設(shè)計(jì)
子節(jié)點(diǎn)采集功能分為位移量采集和壓力量采集。位移傳感器的輸出信號在CLK時(shí)鐘信號出現(xiàn)下跳沿時(shí),開始數(shù)據(jù)傳輸,而如果此時(shí)出現(xiàn)中斷,則會(huì)導(dǎo)致位移量采集無法進(jìn)行,在檢測到CLK的標(biāo)志信號后,應(yīng)關(guān)閉中斷,讓位移數(shù)據(jù)采集正常進(jìn)行,讀取完成后對數(shù)據(jù)進(jìn)行處理并保存更新,同時(shí)再次打開外部中斷,等待下一次位移數(shù)據(jù)的采集,位移量采集流程如圖7所示。
圖7位移量采集流程
壓力采樣過程為:首先讀取壓力傳感器的輸入信號,并通過CY8C24894內(nèi)部可編程增益放大器PGA對模擬信號進(jìn)行放大,對放大后的壓力數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換,其中模數(shù)轉(zhuǎn)換器ADCINC12時(shí)鐘為VC2,即val的三分頻2 MHz。轉(zhuǎn)換完成后,對數(shù)據(jù)進(jìn)行處理、保存、更新,壓力量采集流程如圖8所示。
圖8壓力量采集流程
關(guān)鍵字:無線靜載儀 PSoC 單片機(jī)濾波器放大器
3.2匯聚節(jié)點(diǎn)軟件設(shè)計(jì)
在接到上位機(jī)命令后,匯聚節(jié)點(diǎn)進(jìn)行命令解析。當(dāng)開始讀取并更新數(shù)據(jù)工作時(shí),首先讀取匯聚節(jié)點(diǎn)在偵測階段確認(rèn)的子節(jié)點(diǎn)個(gè)數(shù)和網(wǎng)絡(luò)標(biāo)號,按照網(wǎng)絡(luò)標(biāo)號開始逐個(gè)讀取位移量。沒有得到回復(fù)時(shí),反復(fù)二次延時(shí)70 ms再次發(fā)送讀取命令,若還沒有回復(fù)則工作指示燈熄滅,轉(zhuǎn)向下一個(gè)子節(jié)點(diǎn);如果得到回復(fù),則更新原先存儲(chǔ)在匯聚節(jié)點(diǎn)的該子節(jié)點(diǎn)信息并保存,計(jì)數(shù)器加一,完成后向下一個(gè)節(jié)點(diǎn)發(fā)送讀取信息,直到之前偵測得到所有節(jié)點(diǎn)全部詢問到。當(dāng)進(jìn)人傳輸數(shù)據(jù)工作時(shí),初始化USBUART功能模塊,并打開全局中斷。檢測需要發(fā)送的數(shù)據(jù)個(gè)數(shù),發(fā)送數(shù)據(jù)個(gè)數(shù)非空時(shí),從讀取區(qū)讀取待發(fā)送的數(shù)據(jù),并檢測發(fā)送區(qū)是否空閑,當(dāng)發(fā)送準(zhǔn)各完畢后,開始數(shù)據(jù)傳輸。匯聚節(jié)點(diǎn)工作流程如圖9所示。
圖9 匯聚節(jié)點(diǎn)工作流程
本系統(tǒng)充分利用CY8C24894可編程片上系統(tǒng)的高效性和低功耗性,并配合CyFi低功耗無線技術(shù)為靜載試驗(yàn)的采集工作服務(wù)。不僅滿足了靜載檢測的需求,也使得虛擬檢測儀器的研究在無線化、小型化、高效化、低功耗、功能全面的方向有了新的設(shè)計(jì)思路。
經(jīng)實(shí)際測試,匯聚節(jié)點(diǎn)與子節(jié)點(diǎn)的無線傳輸距離可達(dá)到⒛m,傳感器數(shù)據(jù)采集正常,并且能在預(yù)設(shè)的監(jiān)控軟件中實(shí)時(shí)顯示。測試表明系統(tǒng)具有穩(wěn)定性好、集成度高、功耗水平低等特點(diǎn),具有廣泛的市場應(yīng)用前景。