王明偉,李 銘,楊 榮
基于Zynq7000的空氣質量采集與顯示實驗設計
王明偉,李 銘,楊 榮
(西安交通大學 工程坊,陜西 西安 710049)
為提高本科生工程實踐能力,激發學生工程設計的興趣,設計了空氣質量實時監測采集顯示實驗。以Xilinx公司最新全可編程控制器Zynq7000為硬件平臺,將硬件邏輯編程設計與嵌入式軟件開發相結合,進行空氣質量的實時檢測。通過該實驗平臺,使學生了解并掌握嵌入式開發和硬件邏輯控制兩種不同的設計思路,接觸業界開發設計的前沿技術,提升學生綜合素質。
空氣質量;數據采集與顯示;嵌入式開發;硬件邏輯設計;Zynq
Xilinx公司于2013年在業界首次推出了Zynq7000系列全可編程嵌入式芯片,將嵌入式軟件開發和硬件邏輯設計的可編程技術集成在單片芯片中[1],該方案一經推出,在業界(諸如視頻監控、圖像識別、駕駛輔助、航天航空等領域)就得到了廣泛的應用。
本實驗旨在讓學生能夠接觸到業界最新的開發技術,使其熟悉并掌握Xilinx 最新一代全可編程嵌入式芯片的基本原理、結構、體系及使用方法等,通過實驗,讓學生對更先進的硬件控制平臺有所了解,為其后續進行更復雜的科研訓練奠定良好的基礎。
同時,以近年來關注度較高的空氣質量作為測量對象[2-4],搭建實驗平臺,能更好地引起學生的探索興趣,提高實驗的吸引力。
實驗系統主要由核心控制器件Zynq7020、空氣傳感器、AD轉換芯片、顯示芯片及基本輸入輸出控制等部分構成。空氣質量通過檢測傳感器進行實時檢測,將其輸出的與空氣質量相關的模擬電壓信號送入模數轉換芯片進行轉換處理,轉換后輸出的數字信號再送入核心控制器件進行空氣質量定量計算,根據不同的定量計算結果,在顯示電路部分將空氣質量的等級進行顯示,同時整個實驗平臺可以進行按鍵設置及聲光輸出報警。整個實驗系統結構框圖如圖1所示。

圖1 系統結構框圖
Zynq7000系列嵌入式處理器是Xilinx公司最新推出的全可編程嵌入式控制芯片,該處理器的特殊之處在于其內部集成了ARM9的雙核和FPGA邏輯資源,也即PS(processing system)和PL(programmable logic)兩部分,將傳統的ARM+FPGA雙芯片的處理架構整合進一塊芯片當中去[5-7],大大提高了處理能力,為各種技術應用提供了更便捷的解決方案。
PS部分主要包含ARM處理器和一組相關的處理資源,其中在APU(應用處理單元)當中,包含2個ARM Cortex-A9核、L1 cache緩存單元、L2 cache緩存單元、存儲器接口、互聯接口和時鐘發生電路等。此外,PS部分還包含與常用外設相關的各種控制單元,比如USB、以太網、SD存儲卡、UART、I2C、SPI及CAN總線等IO外設控制單元。
PL部分主要是可編程邏輯,它是基于Xilixn最新一代Artix-7和Kintex-7的FPGA組件,主要包括可配置邏輯塊、輸入輸出接口、邏輯Slice、查找表、觸發器、開關矩陣等資源構成,同時還包含一些特殊邏輯資源,比如用于高速算數的DSP48E和塊RAM等。在可編程邏輯部分,用戶可以實現高速的并行運算及控制,給用戶帶來很大的便利。
本實驗采用的Zynq7020控制芯片內部結構圖如圖2所示。

圖2 Zynq7020控制芯片內部結構圖
檢測傳感器使用夏普的粉塵傳感器GP2Y1011[8],該傳感器是一個光學傳感系統,通過檢測空氣中微粒的散射光強來測量微粒密度,最終輸出模擬電壓信號。當空氣中顆粒物濃度較大時,輸出電壓高;顆粒物濃度較輕時,輸出電壓低,從而反應空氣質量的優劣。其靈敏度能夠達到0.1 mg/m3。該傳感器的內部結構如圖3所示。

圖3 GP2Y1011傳感器內部結構
OLED即有機發光二極管,利用OLED進行圖像顯示也是時下產業界非常流行的顯示技術[9],本實驗的顯示電路部分也采用OLED顯示技術。用到的顯示芯片是2832HSWE,其顯示分辨率為128*64。在Zynq和OLED顯示器之間,通過控制芯片SSD1306進行連接,該器件與Zynq之間的控制接口為四線SPI接口,制管腳主要由串行時鐘信號、串行數據信號、命令數據控制信號、片選信號燈組成,這些控制信號在硬件上分別直接連接至Zynq的GPIO上,其接口電路見如圖4。

圖4 OLED接口電路
模數轉換芯片使用ADC0832芯片,該芯片由美國AD公司生產,分辨率為8 bit,具備2個轉換通道,一般功耗僅為15 mW。其主要的控制管腳為片選信號和時鐘信號,此外還包含模擬電壓輸入端和數據輸入輸出端。管腳和連接關系見圖5。

圖5 管腳及連接關系
該部分電路主要包含按鍵輸入和報警燈輸出,均采用共陰極接法,其中使用MIO控制1個LED,其余8個LED由EMIO控制,5個按鍵輸入均由EMIO進行控制,與Zynq器件在硬件管腳上相連,電路如圖6所示。

圖6 按鍵及告警電路
系統軟件主要包含對空氣質量傳感器、AD轉換芯片、顯示電路等外設的控制。整個軟件處理系統由Xilinx的開發工具Vivado完成[10],其中OLED顯示由PL部分完成(開發語言為Verilog),其余外設控制及空氣質量等級劃分等均有PS部分完成(開發語言為C語言)。
使用Vivado 搭建的軟件系統模塊框圖如圖7所示,主要由Zynq Processing System模塊、復位模塊、AXI GPIO模塊、OLED顯示控制模塊、中斷處理模塊等構成。

圖7 系統軟件模塊框圖
目前,市面上最新的柔性屏手機已經使用OLED顯示技術,因此本實驗的顯示模塊使用最新技術,讓學生能夠體會更前沿的技術熱點,了解其控制原理及方法。Zynq與OLED之間主要是通過SSD1306驅動芯片連接,Zynq通過四線SPI接口實現對驅動芯片SSD1306的控制[11],該驅動芯片將所要顯示的內容輸出到OLED顯示器,并可以通過相應的控制線調節顯示參數,SSD1306的程序配置流程如圖8所示,初始化結束后,就可以按照要求進行相應顯示輸出控制。

圖8 SSD1306程序配置流程
空氣質量檢測傳感器的控制較為簡單,根據手冊規定,在GP2Y1010的3腳輸入控制信號即可,因此利用Zynq通過IO口輸出如圖9所示的周期脈沖波形即可實現正常檢測。由于該模塊輸出為模擬電壓信號,在電壓信號送入Zynq之前,需要進行模數轉換,模數轉換功能由AD0832完成,該芯片具有8位分辨率、兩路模擬量輸入通道,其工作時序圖如圖9所示。

圖9 粉塵傳感器驅動脈沖及工作時序
本實驗可通過外部按鍵調節設置參數,由于板上按鍵容易產生毛刺信號,在進行輸入判斷時,按照圖10左側的流程進行過濾毛刺檢測,能夠更可靠地實現對按鍵的判斷。報警輸出實際上只涉及Zynq的邏輯輸出配置,可以按照圖10右側所示的流程進行設置,通過配置MIO的方向控制電平輸出即可。
由于該實驗平臺既包含嵌入式開發技術,又包含硬件邏輯編程,因此對學生的C語言設計能力和Verilog硬件編程兩方面都能夠進行相應的訓練,將該實驗平臺作為工程實踐訓練的載體,對學生的設計、開發能力進行非常有效的培養[12-13]。
本實驗特色主要包含以下幾方面:

圖10 按鍵及輸出控制流程圖
第一,利用Zynq作為控制核心,將嵌入式開發技能和FPGA硬件邏輯設計結合,是一個雙重能力鍛煉的綜合實踐訓練平臺。在實際開展實驗時,可根據每組學生自己的興趣選擇嵌入式設計還是硬件邏輯開發訓練;
第二,使用業界流行的OLED顯示技術,比傳統LCD顯示要更細膩,程序控制過程也更復雜,能夠保證實驗的相對難度;
第三,以熱門話題“空氣質量”作為實驗對象,貼近生活和學生的興趣點,有利于激發學習興趣,吸引更多的學生參與進來。
圖11為硬件平臺實物效果。

圖11 硬件平臺實物及演示效果
本實驗實現了基于Zynq的空氣質量實時檢測、顯示、報警等功能,可用于高校工科專業學生綜合實驗訓練,實驗過程涵蓋了Xilinx公司的最新嵌入式芯片Zynq嵌入式開發的基本流程、中斷處理過程、傳感器控制、模數轉換及OLED顯示等控制技術及知識點,完成了對環境參數的采集與處理,將嵌入式開發和硬件邏輯設計兩種開發技能訓練結合起來,彌補了當前傳統實驗單技能訓練的缺點。通過本實驗,有助于學生對項目開發有直觀的了解,從中體會從軟件開發、程序仿真到硬件調試等不同的研制過程。以空氣質量作為被測對象,增加了實驗的趣味性和吸引力,有利于實踐教學更有效開展。
在該硬件平臺下還可進行其他擴展,比如由于Zynq7020器件PL部分本身包含Xadc資源,可以在片內進行模擬數字信號轉換,不用借助外部AD轉換芯片也可完成該功能。另外,可以充分利用Zynq提供的MIO和EMIO接口進行其他控制設計等。
[1] 劉策倫,張陌,張剛.一種視頻監控實驗系統簡易且低成本制作方案[J].實驗技術與管理,2017, 34(10): 66–69.
[2] 張保定,郭帥童.基于四旋翼飛行器的空氣質量參數檢測儀的設計[J].測控技術,2018, 37(12): 78–81.
[3] 王志強,王直.基于STM32室內空氣質量檢測系統硬件設計[J].電子設計工程,2017, 25(9): 108–112.
[4] 胡來,廉小親,吳文博,等.基于物聯網的室內空氣質量檢測系統設計[J].測控技術,2018, 36(3): 55–58.
[5] 董朝陽,滕林陽,陳同浩,等.基于ZYNQ的變流器通用控制平臺研究[J].工業儀表與自動化裝置,2017(2): 77–80.
[6] 田慧,管雪元,姜博文.基于Zynq的數據采集系統的研究與設計[J].電子測量技術,2019, 42(2): 135–141.
[7] 傅寅鋒,黃威,張平峰,等.基于Zynq的高頻聲納數據采集系統設計[J].儀表技術,2018(12): 46–14.
[8] 趙鵬,荊紅莉.無線PM2.5測試儀的設計與實現[J].電子測量技術,2016, 39(6): 134–137.
[9] 張鵬,王光滕. OLED智能顯示按鍵設計[J].光電子技術,2018,38(3): 209–211.
[10] 彭習武,張濤.基于Vivado HLS的邊緣檢測硬件加速應用[J].電子技術應用,2014, 43(5): 70–73.
[11] 邢艷芳,張延冬.基于Zynq的OLED驅動設計[J].液晶與顯示,2014, 29(2): 224–228.
[12] 常若葵,劉華,杜艷紅.淺談測控專業基本技能實訓的探索與實踐[J].武漢大學學報(理學版),2012, 58(增刊2): 271– 273.
[13] 何小兵.基于“大工程”理念的工程實踐教學改革探索[J].高等建筑教育,2014, 23(2): 94–98.
Design of experiment on air quality acquisition and display based on Zynq7000
WANG Mingwei, LI Ming, YANG Rong
(Engineering Workshop, Xi’an Jiaotong University, Xi’an 710049, China)
In order to improve undergraduates’ engineering practice ability and stimulate their interest in engineering design and development, an experiment of real-time air quality monitoring acquisition and display is designed. By taking the latest fully programmable controller Zynq7000 of Xilinx Company as the hardware platform, this platform combines hardware logic programming design with the embedded software development for real-time detection of air quality. Through this experimental platform, students can understand, familiarize and master two different design ideas of the embedded development and hardware logic control, and come into the contact with the frontier technology of industrial development and design so as to improve students’ comprehensive quality.
air quality; data acquisition and display; embedded development; hardware logic design; Zynq
X851-45;TP368.1
A
1002-4956(2019)11-0045-05
10.16791/j.cnki.sjg.2019.11.012
2019-04-03
國家自然科學基金項目(61601365);西安交通大學本科實踐教學改革研究專項項目(18SJZX42)
王明偉(1985—),男,陜西乾縣,碩士,工程師,主要研究方向為測控技術。E-mail: wangmw@xjtu.edu.cn