鄧炳光,禹斯譯,閔小芳,周維海
(重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)
隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,相應(yīng)地,對(duì)物聯(lián)網(wǎng)終端測(cè)試設(shè)備的要求也越來越高?,F(xiàn)有測(cè)試設(shè)備的功能較為單一,需要將多套設(shè)備組合起來,才能完成對(duì)物聯(lián)網(wǎng)終端的全方位測(cè)試,這導(dǎo)致整個(gè)測(cè)試系統(tǒng)更加復(fù)雜,大大降低了測(cè)試的可靠性[1]。而且許多測(cè)試設(shè)備都是針對(duì)企業(yè)自身產(chǎn)品進(jìn)行定制設(shè)計(jì),缺乏通用性。因此,為了全面可靠地測(cè)試物聯(lián)網(wǎng)終端,設(shè)計(jì)了物聯(lián)網(wǎng)終端通用測(cè)試設(shè)備。通用測(cè)試設(shè)備將BNC 接口、電源接口、RS232/RS485 接口等數(shù)據(jù)傳輸模塊與數(shù)字信號(hào)輸出模塊、數(shù)字信號(hào)采集模塊、模擬信號(hào)輸出模塊、模擬信號(hào)采集模塊和供電模塊按信號(hào)類型和功能集成到一個(gè)設(shè)備上,顯著地提高了測(cè)試設(shè)備的實(shí)用性和可靠性。
物聯(lián)網(wǎng)終端通用測(cè)試設(shè)備是針對(duì)物聯(lián)網(wǎng)終端測(cè)試所設(shè)計(jì)的一款測(cè)試設(shè)備,上位機(jī)控制軟件通過網(wǎng)絡(luò)連接到通用測(cè)試設(shè)備,組成了一個(gè)物理的測(cè)試網(wǎng)絡(luò)。通用測(cè)試設(shè)備與上位機(jī)之間采用TCP 協(xié)議進(jìn)行通信,上位機(jī)運(yùn)行測(cè)試腳本,下發(fā)測(cè)試指令到通用測(cè)試設(shè)備,通用測(cè)試設(shè)備執(zhí)行測(cè)試指令并且上傳測(cè)試數(shù)據(jù)到上位機(jī)。
物聯(lián)網(wǎng)終端通用測(cè)試設(shè)備總體設(shè)計(jì)框圖如圖1所示。該設(shè)備采用2U 標(biāo)準(zhǔn)CPCI 機(jī)箱設(shè)計(jì),基于此平臺(tái)[2],根據(jù)測(cè)試功能需求設(shè)計(jì)了主控卡、輸入卡、輸出卡和電源卡。
圖1 總體設(shè)計(jì)框圖
輸入卡采集并上報(bào)物聯(lián)網(wǎng)終端的電平變化情況和脈沖信號(hào)波形數(shù)據(jù)。輸出卡產(chǎn)生對(duì)物聯(lián)網(wǎng)終端進(jìn)行激勵(lì)的電平輸出,包括IO 輸出和PWM 輸出。電源卡通過DA 輸出接口為物聯(lián)網(wǎng)終端提供規(guī)定參數(shù)的任意設(shè)置波形;通過可調(diào)電源輸出接口輸出規(guī)定參數(shù)的電壓。主控卡為數(shù)據(jù)處理核心單元,通過AD 輸入接口同步采集模擬信號(hào);通過RS485/RS232 接口向物聯(lián)網(wǎng)終端發(fā)送指令并接收物聯(lián)網(wǎng)終端狀態(tài)信息;通過以太網(wǎng)與上位機(jī)連接通訊。
輸入卡和輸出卡對(duì)時(shí)序控制有嚴(yán)格且精確的要求,所以都采用FPGA 進(jìn)行控制;主控卡由于需要與上位機(jī)進(jìn)行網(wǎng)絡(luò)通訊,并控制其余3 塊板卡,所以采用FPGA 和ARM 的架構(gòu)進(jìn)行設(shè)計(jì);電源卡由于對(duì)時(shí)序控制要求相對(duì)較低,其主控芯片采用單片機(jī)STM32F103。此外,因?yàn)樯鲜? 塊板卡都需要控制板卡工作指示燈,并用到IIC、SPI 等總線控制信號(hào),此部分使用市面上常見的STM32F103 進(jìn)行處理。
主控卡中ARM 負(fù)責(zé)處理標(biāo)志協(xié)議項(xiàng)事務(wù),F(xiàn)PGA 負(fù)責(zé)AD 數(shù)據(jù)的采集及緩存,同時(shí)FPGA 作為一個(gè)路由器,負(fù)責(zé)主控板與各個(gè)功能板卡之間的數(shù)據(jù)路由。ARM 中3 個(gè)UART 被用作RS232 總線、RS485 總線、調(diào)試串口,1 個(gè)UART 用作與其他功能板卡之間的通訊。每塊功能子板分配了2 路UART信道,每路信道均包含了TX 和RX,信道命名為UART-CHx。ARM 與FPGA 之間也有1 路串口信道,命名為UART_TOP。UART 協(xié)議為收發(fā)2 線全雙工通信,UART-CH1~UART-CH7 匯集到UARTTOP 與ARM 進(jìn)行通信,當(dāng)數(shù)據(jù)下行時(shí)(ARM 發(fā)送數(shù)據(jù)到CH1-CH6),通過GPIO 進(jìn)行選通;當(dāng)數(shù)據(jù)上行時(shí)(CH1-CH6 發(fā)送數(shù)據(jù)到ARM),通信包頭攜帶自身編號(hào),采用分時(shí)間片發(fā)送的方式,由系統(tǒng)板上的FPGA 控制時(shí)間分片,對(duì)各個(gè)信道的數(shù)據(jù)上傳進(jìn)行使能。此外,系統(tǒng)板上的ADC 與FPGA 核心板之間的總線為10 bit 的并行總線結(jié)構(gòu),ADC 數(shù)據(jù)通過SPI 總線傳給ARM[3]。
主控卡、輸入卡、輸出卡、電源卡都選用背板提供12 V 和24 V 直流電源作為工作電源,通過電源芯片和電源電路進(jìn)行電源分配。以輸入卡為例,輸入中所以使用2 片F(xiàn)P6102 分別進(jìn)行12 V 到3.3 V,3.3 V 到1.2 V 的轉(zhuǎn)換,使用TPS65131 進(jìn)行3.3 V 到4.5 V 和3.3 V 到-2.3 V 的轉(zhuǎn)換。需要注意的是,為了使BNC 接口可承受最大15 V 的沖擊,需要提供15 V 電壓為BNC 接口電路的LM7372 運(yùn)算放大器進(jìn)行供電。TPS54332 是TI 公司的DCDC 降壓芯片,具有輸出電壓可調(diào)和良好散熱性等優(yōu)點(diǎn),考慮到本設(shè)計(jì)需要,選用TPS54332 芯片,進(jìn)行24 V~15 V的轉(zhuǎn)換。輸出電壓原理圖如圖2 所示。
圖2 TPS54332 芯片輸出電壓原理圖
輸出電壓的控制可以通過調(diào)整電阻R21和R12的大小來實(shí)現(xiàn)[4]。如式(1)所示,本文需要15 V 的供電電壓,根據(jù)計(jì)算可得,R21的阻值為10.2 kΩ,R12的阻值為576 Ω。
式中,U表示輸出電壓。
輸出卡中FPGA 作為PWM 發(fā)生器,通過與主板的串口接收指令,以0/3.3 V 的電平形式輸出PWM 信號(hào)。為了實(shí)現(xiàn)高電平為0.7 V~12 V 的PWM 輸出,采用電壓轉(zhuǎn)換和三態(tài)輸出的單位雙電源總線收發(fā)器芯片SN74AVC1T45 實(shí)現(xiàn)輸出的電平變化,電路圖如圖3 所示。
圖3 PWM 幅值控制電路
由于SN74AVC1T45 的B 端的輸出高電平等于其B 端的電源電壓VCCB,通過數(shù)模轉(zhuǎn)換器DAC7678 輸出的基準(zhǔn)電壓,經(jīng)過運(yùn)算放大器LM358 后作為SN74AVC1T45 的B 端的電源,實(shí)現(xiàn)SN74AVC1T45 輸出B 端的電源數(shù)字可調(diào),使得B 端輸出高電平的電壓范圍是1 V~3.3 V;在SN74AVC1T45 的B 端接入具有IIC接口的數(shù)字可調(diào)電位器AD5252BRU1,主控STM32 通過IIC 改變AD5252BRU1 中反饋電阻的阻值,調(diào)節(jié)電壓,使其電壓范圍是50 mV~3.3 V;再經(jīng)運(yùn)算放大器LM7372 的4.2 倍放大后的電壓范圍是0.2 V~13.2 V,實(shí)現(xiàn)輸出高電平的電壓范圍為0.7 V~12 V。
波形產(chǎn)生模塊中DDS 芯片采用高度集成的專用芯片AD9854,在參考時(shí)鐘源精確的情況下,它能夠產(chǎn)生高穩(wěn)定度的正弦信號(hào),且頻率和幅值均可設(shè)置[5-6]。通過內(nèi)部寄存器可以設(shè)置AD9854 產(chǎn)生的正弦波的頻率和峰峰值。頻率是通過一個(gè)48 bit 的頻率寄存器來設(shè)置,幅值通過設(shè)置衰減因子的大小來改變,衰減因子大小通過AM 調(diào)整寄存器進(jìn)行設(shè)置[7],衰減因子的范圍0~4 095 對(duì)應(yīng)輸出峰峰值范圍0~650 mV。
AD9854 波形產(chǎn)生電路如圖4 所示。AD9854采用模擬和數(shù)字電源分開設(shè)計(jì)來保證輸出波形性能,參考時(shí)鐘源選擇30 MHz 晶振[8]。AD9854 輸出的正弦波實(shí)際上是內(nèi)部DAC 轉(zhuǎn)換輸出的數(shù)字量化波形,因此設(shè)計(jì)了100 MHz 濾波電路來平滑波形[9]。此外,將正弦波輸入到芯片內(nèi)高速比較器VINP 端,然后與接入VINN 端的參考電壓相比較后,可以由VOUT 端輸出幅值恒定為3.3 V 的矩形波。當(dāng)正弦波幅值固定,改變參考電壓,可以改變矩形波的占空比[10]。矩形波由正弦波產(chǎn)生,故頻率是一樣的,因此二者的頻率設(shè)置修改方式一樣,都是修改同一寄存器。波形的幅值調(diào)節(jié)電路原理與輸出卡中的PWM 幅值控制電路原理類似,最后可得波形峰峰值范圍為0.1 V~12 V。
圖4 AD9854 波形產(chǎn)生電路
NAND Flash 是一種非易失性存儲(chǔ)器,其功耗小、體積小、重量輕、抗震能力強(qiáng)、工作溫度寬,使用控制也較方便,讀操作、編程操作和擦除操作均按照數(shù)據(jù)手冊(cè)的流程就可以實(shí)現(xiàn)[11],但是,F(xiàn)LASH 中含有的壞塊會(huì)影響其性能。
通用測(cè)試設(shè)備選用Micron 公司的NAND Flash存儲(chǔ)器,針對(duì)FLASH 在出廠前以及使用過程中都會(huì)產(chǎn)生壞塊的情況,設(shè)計(jì)一種壞塊管理方法對(duì)初始?jí)膲K和使用過程中產(chǎn)生的壞塊進(jìn)行管理,提高數(shù)據(jù)存儲(chǔ)的可靠性。壞塊管理過程如圖5 所示。對(duì)初次使用的FLASH 通過格式化來建立壞塊表,依次對(duì)塊進(jìn)行格式化并判斷格式化是否成功,將結(jié)果轉(zhuǎn)換為二進(jìn)制“1”或“0”存入壞塊表中,“1”表示無效塊,“0”表示有效塊。通過這種方法建立的壞塊表更加有序且簡(jiǎn)潔,有利于完成壞塊信息的快速檢索。此外,在FPGA 控制器中設(shè)計(jì)一個(gè)的緩存區(qū)[12],與NAND Flash 頁大小相同,在頁編程失敗的情況下,將該塊號(hào)加入壞塊表中,并將該塊數(shù)據(jù)存入下一個(gè)有效塊的相同頁地址中。
圖5 壞塊管理流程
物聯(lián)網(wǎng)終端通用測(cè)試設(shè)備的軟件系統(tǒng)主要是通過ARM 實(shí)現(xiàn)通用測(cè)試設(shè)備與上位機(jī)系統(tǒng)交互,并處理協(xié)議接口,ARM 系統(tǒng)總體架構(gòu)如圖6。ARM 客戶端通過TCP 與上位機(jī)建立連接并保持通訊,上位機(jī)基于用戶對(duì)于某個(gè)業(yè)務(wù)口發(fā)出的使用請(qǐng)求,發(fā)送協(xié)議包至ARM,ARM 根據(jù)設(shè)定交互協(xié)議解析上位機(jī)下發(fā)指令集(交互數(shù)據(jù)包格式如表1 所示),選擇匹配的接口,通過串口下發(fā)配置命令至FPGA 和MCU,從而使能各個(gè)接口功能。業(yè)務(wù)口任務(wù)執(zhí)行完成后,ARM 上傳數(shù)據(jù)或報(bào)告執(zhí)行結(jié)果,上位機(jī)記錄并分析數(shù)據(jù)后發(fā)送停止命令至ARM,ARM 停止端口功能。
圖6 ARM 軟件系統(tǒng)總體架構(gòu)
表1 交互數(shù)據(jù)包格式
為了測(cè)試通用測(cè)試設(shè)備,需額外的測(cè)試設(shè)備配合通用測(cè)試設(shè)備共同搭建的測(cè)試系統(tǒng)。通過信號(hào)發(fā)生器,可以驗(yàn)證輸入卡和主控卡采集信號(hào)的正確性。輸出卡輸出PWM 信號(hào)的正確性可以通過數(shù)字信號(hào)檢測(cè)儀驗(yàn)證。為了測(cè)試電源卡中波形輸出的精度,設(shè)定不同頻率值的正弦波,采用示波器測(cè)量實(shí)際輸出信號(hào)頻率。測(cè)量數(shù)據(jù)如表2 所示。通過對(duì)表2 中數(shù)據(jù)分析和計(jì)算可知,多次測(cè)量中通用測(cè)試設(shè)備實(shí)際輸出的信號(hào)頻率十分接近設(shè)定輸出的信號(hào)頻率,相對(duì)誤差均在0.05%內(nèi),能滿足物聯(lián)網(wǎng)終端測(cè)試需求。
表2 輸出信號(hào)頻率的設(shè)定值與實(shí)測(cè)值 單位:MHz
設(shè)置頻率值為1 kHz,但峰峰值不同的正弦波,采用示波器測(cè)量實(shí)際輸出信號(hào)的峰峰值,測(cè)量結(jié)果如表3 所示,輸出信號(hào)的峰峰值誤差在0.2%以內(nèi)。
表3 輸出信號(hào)電壓的設(shè)定值與實(shí)測(cè)值
物聯(lián)網(wǎng)終端通用測(cè)試設(shè)備,針對(duì)物聯(lián)網(wǎng)終端接口種類繁多、測(cè)試方法多樣、測(cè)量精度要求高等方面做到了相對(duì)的通用,通過大量試驗(yàn)證明了通用測(cè)試設(shè)備的可靠性。該測(cè)試設(shè)備在某物聯(lián)網(wǎng)終端測(cè)試系統(tǒng)試驗(yàn)中得以驗(yàn)證,具備接口豐富、功能齊全、功能擴(kuò)展容易、系統(tǒng)兼容性強(qiáng)等特點(diǎn),值得在各類物聯(lián)網(wǎng)終端測(cè)試中使用。