李紅波,李盛,陳恒
(西京學院 控制工程學院,西安 710123)
DSC的USB多通道同步數據采集系統設計*
李紅波,李盛,陳恒
(西京學院控制工程學院,西安710123)
為了降低USB多通道同步數據采集系統的設計難度和復雜度,本文利用單一DSC(數字信號控制器)芯片設計了一款USB四通道同步數據采集系統。通過軟件編程DSC內設的ADC、定時器和USB2.0通信模塊等,實現同步采集并實時上傳采集數據到Lab VIEW上位機。本文結合三相有功功率測量實例,詳細介紹了該同步數據采集系統的設計過程,為多通道同步數據采集系統設計提供了一種理想方案。
同步采集;DSC;Cortex-M4;Lab VIEW
目前,設計USB多通道同步數據采集的方案較多。上位機軟件較多采用VC++、VC.NET或Lab VIEW等軟件來設計,其中基于圖形化編程方法的Lab VIEW軟件專業易用,應用較多。下位機硬件較多由高性能控制器和同步采樣芯片進行組合設計,但因其在采樣速度、集成度、設計復雜度和調試難度等的不同,主要有4種方案:第一種,采用USB單片機和同步采樣芯片構成的方案[7],這種方案設計簡單,但由于數據采用串行輸出,采樣速度低,不適合高速實時采樣的場合。第二種,采用ARM處理器、USB接口芯片和同步采樣芯片構成的方案[3],該方案集成度不高,設計復雜。第三種,采用高性能FPGA/CPLD作為同步采樣芯片和USB接口芯片的時序發生器和邏輯控制器的數據采集系統[2,5-6],設計較復雜,調試較困難。第四種,FPGA/CPLD、32位控制器和同步采樣芯片構成的數據采集系統[1],該設計靈活性高,但設計復雜,調試困難,性價比低。本文利用單片DSC進行設計,不僅保證了性能,而且大大降低了數據采集系統的設計難度、復雜度和調試難度,縮短了開發周期。
DSC數字信號控制器是意法半導體公司生產的基于Cortex-M4核的高性能片上系統控制器,專門為解決模數混合信號的控制應用問題而推出的。該控制器內部帶有DSP擴展、FPU浮點運算單元和高級模擬外設。4個獨立的12位ADC轉換器支持超高速雙模式操作,使得6位采樣時,速度高達18 Msps;12位采樣時速度高達10 Msps。另外,全速USB2.0通信接口,支持DMA雙緩沖區工作,使數據傳輸速率達到了最高極限。該主控器不僅可以方便地用來設計三相電能表、三相電機控制器、傳感器以及音視頻濾波等混合信號電路系統,而且還可廣泛應用于醫療、便攜式設備的場合,成為測控領域的集成解決方案。
2.1 系統構成
系統主要由4路信號輸入電路、4路信號調理電路、
DSC控制器和Lab VIEW上位機組成,多通道數據采集系統框圖如圖1所示。

圖1 多通道同步數據采集系統框圖
其中,被測模擬信號接入信號輸入電路,完成4路信號隔離輸入;信號調理電路完成4路輸入信號的放大和極性變換功能,以滿足ADC轉換器的信號輸入要求;DSC控制器作為系統主控,負責定時采集和USB數據通信; Lab VIEW上位機負責接收采集數據,及時處理后將數據顯示出來并存儲,完成采集的目的。
2.2 信號輸入電路
高電壓大電流交流信號經過電壓互感器TV1~TV3和電流互感器TA1~TA3隔離輸入后,信號被衰減到一定的范圍內。信號輸入電路如圖2所示,其中uia、uib和uic分別是電流互感器的二次電流在負載Ra、Rb和Rc上的壓降,輸出取樣電壓范圍為-0.5~+0.5 V。uva、uvb和uvc是電壓互感器的二次輸出電壓,輸出取樣電壓范圍-1.5~+1.5 V。

圖2 信號輸入電路
2.3 信號調理電路
從信號輸入電路來的信號,再經過后級運算放大器放大,其中電流信號增益為3;然后通過運算放大器把雙極性信號變換到單極性信號0~3.0 V以內,以適應ADC量程,可以保證采樣精度。信號調理電路如圖3所示。由于3路的電壓電流信號調理電路基本相同,圖中僅給出了1路的電流電壓調理電路圖。

圖3 信號調理電路
2.4 ADC轉換器
DSC控制器內設的4個ADC轉換器,最多可連接16路外部模擬輸入信號,模擬輸入通道只有被編入規則組或注入組的才能被采集。獨立的ADC在雙模式工作時ADC1(主)和ADC2(從)組成一組,ADC3(主)和ADC4(從)組成二組。工作時每個ADC又有4種采樣模式選擇:單次、連續、掃描和間斷模式,但當工作于雙模式時,從ADC采樣模式服從主ADC采樣模式,并且主從ADC支持同步數據采集。當兩組ADC在同一個觸發信號和相同的時鐘驅動下時,就可實現四通道數據同步采集。同步采集ADC結構示意圖如圖4所示。同步時鐘由系統時鐘經過分頻器后提供。
ADC轉換器共有11路的觸發源,分別是定時器觸發/捕獲比較事件信號(TIM1_CC3、TIM1_TRGO、TIM1_TRGO2、TIM2_TRGO、TIM3_TRGO、TIM4_ TRGO、TIM8_TRGO、TIM8_TRGO2、TIM15_TRGO)和外部中斷線輸入信號(EXTI Line2和EXTI Line 11),它們分別被連接到EXT2~EXT14上。
2.5 USB2.0通信接口
USB2.0接口工作于全速模式,支持高達12 Mbps的數據傳輸率。該接口通過和控制器共享一塊512字節的片內RAM緩沖區(包緩沖區)實現上位機內存和控制器內存進行數據交互,最多支持8個端點,每個端點最多可使用64字節緩沖區。片內專設了Arbiter部件和雙緩沖區操作的DMA機制,使得主機與控制器可以進行零遲延的高速訪問,提高了傳輸效率。通信接口USB2.0結構示意圖如圖5所示。

圖4 同步采集ADC結構示意圖

圖5 USB2.0通信接口結構示意圖
系統軟件設計包括設備固件程序設計和上位機Lab-VIEW應用程序設計。
3.1 設備固件程序設計
設備固件程序設計是基于CMSIS(Cortex Micro Controller Soft Ware Interface Standard)軟件架構標準設計的,主程序通過調用STM32庫函數完成程序設計。該程序主要包括ADC配置、定時器T1定時觸發配置和USB端點配置等三部分。
(1)ADC配置
工作在雙模式時,4個ADC模塊,形成兩組同步采集組,每組在同步觸發信號下,同時啟動主從ADC轉換器,實現4路同步數據采集。本系統采用TIM1_CC3事件作為同步觸發信號,ADC配置的主要代碼如下:



(2)定時器T1定時觸發配置
TIM1_CC3事件是由Timer1定時器的比較輸出單元產生的,所以需要配置定時器1的比較輸出單元。配置的主要代碼如下:

(3)USB端點配置
在本系統中,采用端點0進行控制傳輸,用于USB設備枚舉。端點1為IN批量上傳端點,用來把采集后的數據上傳至Lab VIEW上位機。端點2為OUT批量傳輸端點,用來接收上位機的命令,實現上位機對數據采集過程的管理與控制。根據固件范例,進行修改相關描述符(設備描述符、接口描述符、端點描述符等)、設備接口函數和USB通信代碼等,可方便地進行USB設備固件開發。
端點1和端點2的主要配置代碼如下:

3.2 上位機應用程序
上位機軟件采用Lab VIEW進行設計,利用LibUSBWin32驅動程序可方便地實現Lab VIEW與USB設備的互聯通信。LibUSB-Win32是一個開源的通用USB設備驅動程序。該驅動程序允許使用者在不寫任何一行核心驅動程序代碼的情況下,可以訪問Windows系統上的任意一個USB設備。該驅動程序支持批量和中斷傳輸,支持USB規范中定義的所有標準設備請求和支持USB設備制造商的自定義請求。LibUSB-Win32遵守LGPL和GPL許可協議,不只用于開源軟件而且允許用于商業軟件。
圖6是該系統的二瓦計法測量三相電路有功功率的實驗系統界面。

圖6 三相電路有功功率測量實驗系統界面
二瓦計法測量有功功率需要4個參量,本實驗在50 ksps采樣速度下,對Uab、Ia、Ubc和Ib進行同步采樣,并在Lab VIEW中進行數據處理,繪制實時曲線和及時顯示平均值、有效值、基波頻率和相位等相關參數。實驗證明:本系統具有構建簡單、數據采集精度高,上傳速度快,開發調試方便等特點。
本系統采用單芯片設計,結合外部信號輸入電路和調理電路就可完成采集系統的構建,通過Lab VIEW上位機實時顯示數據信息,無需外擴USB接口芯片和同步采樣芯片,從而降低了設計難度和復雜度,提高了系統穩定性。
[1]林偉,王毅男.基于FPGA與STM32的低功耗數據采集系統[J].化工自動化及儀表,2015,43(2):210-214.
[2]劉文斌,朱名日,鄭丹平,等.基于FPGA的大容量數據采集系統設計[J].計算機測量與控制,2014,22(11):3751-3753.
[3]潘玲嬌,張自嘉.嵌入式16通道同步數據采集系統設計[J].儀表技術與傳感器,2013(11):91-92.
[4]張旭,亓學廣,李世光,等.基于STM32電力數據采集系統的設計[J].電子測量技術,2010,33(11):90-91.
[5]候朝勇,胡學浩,莊童.基于FPGA的多路同步實時數據采集系統[J].電子技術應用,2009(10):103-104.
[6]李朋勃,張洪平.基于USB2.0的高速數據采集系統[J].電子技術應用,2009(10):109-111.
[7]劉紅梅,李平舟,郭志華.基于USB2.0的同步數據采集系統的設計[J].現代電子技術,2007(9):136-137.
李紅波(講師),主要研究方向為數據獲取與控制、嵌入式技術;李盛(副教授),主要研究方向為生物醫學信號處理與儀器、虛擬儀器技術;陳恒(副教授),主要研究方向為電能變換與質量檢測、機器人技術。
USB Multi-channel Synchronous Data Collection System Based on DSC
Li Hongbo,Li Sheng,Chen Heng
(College of Control Engineering,Xijing University,Xi’an 710123,China)
In order to reduce the difficulty and complexity of USB multi-channel synchronous data collection system,a new kind of fourchannel USB data synchronous collection system is proposed using only one DSC(Digital Signal Controller)chip.The system can collect four-channel data and upload to the Lab VIEW synchronously,which is composed of ADC which is embedded in DSC,the timer and the USB 2.0 communication module.The design method of the three-phase active power measurement is introduced in detail,which provides a better resolution for the multi-channel synchronous data collection system.
synchronous sampling;DSC;Cortex-M4;Lab VIEW
TN273
A
國家自然科學基金(典型非對稱聲帶發聲機制的空氣動力學建模及高速攝影研究,61371163)。
(責任編輯:楊迪娜2016-05-30)