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