基于FPGA的運動鞋專用數據發(fā)送芯片及競走電子裁判的設計與實現(xiàn)
1 設計摘要
FPGA芯片具有高速并行計算的特點。隨著摩爾定律的發(fā)展,計算科學已經步入并行化的時代,具有并行處理能力的CPU/GPU隨即面世。而FPGA芯片憑借其并行計算的能力,已經可以輕松將科學計算、邏輯運算、ASIC設計等應用并行化。我們以電子競技裁判為切入點,將該特性普及化、應用于生活運動領域。本設計在每個競走運動員的鞋子上都安裝加速度傳感器,在競走過程中,將采集到的加速度數據通過射頻發(fā)送給基于FPGA芯片設計的電子裁判,把復雜的算法、數據處理交給FPGA芯片完成,讓電子裁判進行判斷。這樣,在數十名運動員進行競走訓練的時候,并不需要另外安排裁判員而準確測出犯規(guī)問題。大大地減輕人力資源以及從根本上提高了競走訓練的效率和靈活性,是FPGA并行化應用的一次全新嘗試。
2 系統(tǒng)原理與技術特點
根據競走比賽規(guī)則:
- 一個競走運動員必須始終保持有一直腳落在地面上。
- 從前進腳落地的一刻起直到腿部達到垂直的姿勢,腿部必須保持直線,膝蓋不能彎曲。
我們把集成了加速傳感器、射頻收發(fā)器等專用芯片的運動鞋節(jié)點安裝在每只專用訓練鞋上,并將它固定在腳跟位置。那樣,在競走時,如果兩只腳同時離地,兩只腳的加速傳感器都會捕獲到一個同時向前的加速度。另外,由于是騰空,在豎直方向上的加速度,會和保持腳落在地面是不同的。因此,通過分析x、y、z三個方向的加速度數學模型,我們可以從中判別是否出現(xiàn)違規(guī)現(xiàn)象。
而我們的電子裁判系統(tǒng)是以基于FPGA芯片為基礎,通過CC2500射頻收發(fā)器無線接收每個運動員訓練過程中傳遞過來的加速度。FPGA芯片收到所有運動員的采樣數據后,調用相應的片內模塊算法進行判斷計算,依靠其并行化的特點,可以將每個運動員的數據處理并行化。如果有違規(guī)現(xiàn)象,可以通過亮燈或者喇叭鳴叫作出警示。最后甚至可以再將計算結果通過PCI Express總線或有線網絡返回給PC機。以方便數據存儲或進一步的數據分析,以監(jiān)控每個運動的訓練狀況。
系統(tǒng)的技術特點有以下幾點:
(1)完全的電子監(jiān)控裁判系統(tǒng),可以排除人為因素的疏忽錯判漏判。并且在訓練過程中不需要另外再安排人手,以更加靈活高效有彈性的安排訓練時間和進程;
(2)利用FPGA的高速并行特性,可實現(xiàn)多種同類型計算的并行化,因此滿足多運動員訓練的同時監(jiān)控,并快速作出判斷;
3 系統(tǒng)軟件流程
圖 1 多節(jié)點數據判斷的軟件流程
上圖所示為多節(jié)點回傳采樣數據并調用并行計算的過程,運動鞋節(jié)點與FPGA芯片的通信通過無線網絡來完成。FPGA芯片根據接收到的采樣數據、調用判斷算法來判斷違規(guī)現(xiàn)象并進行警示。
4 系統(tǒng)框架
圖 2 系統(tǒng)框架
上圖所示為系統(tǒng)的組成結構。運動鞋節(jié)點主要有加速傳感器的驅動程序,射頻收發(fā)器的驅動程序;FPGA端主要有無線網絡接口、犯規(guī)判斷算法的Verilog HDL模塊。
5 系統(tǒng)功能
5.1 運動鞋節(jié)點功能
(1)讀寫加速傳感器數據
(2)無線發(fā)送采樣數據
(3)異常處理
5.2 FPGA電子裁判功能
(1)接收網絡數據
(2)根據采樣數據調用判斷算法,進行運動員違規(guī)識別
(3)對違規(guī)現(xiàn)象實行示警
(4)將計算模塊回應的計算結果,通過PCI Express總線接口或有線網絡將數據回送給PC
5.3 FPGA PCI Express總線接口IP核功能
(1)通過PCI Express總線讀寫數據
5.4 PC機數據優(yōu)化模塊功能
(1)根據具體的應用要求加入不同的優(yōu)化算法模塊
6 系統(tǒng)詳細設計
6.1 運動鞋節(jié)點的設計
我們的運動鞋節(jié)點是以MSP430單片機為核心,并連接外部芯片加速傳感器ADXL330。我們通過MSP430內部的ADC數模轉換模塊獲得該ADXL330芯片的加速度數據。
圖3 加速傳感器ADXL330電路圖
6.2 CC2500無線網絡的設計
MSP430通過CC2500和CC2591相互協(xié)同工作,將從ADXL330讀取的加速度數據通過無線網絡傳回給FPGA電子裁判作出判斷。
6.3 FPGA電子裁判的設計
同樣,在電子裁判端,我們用MSP430單片機和CC2500、CC2591芯片,接收無線網絡傳送過來的加速度數據,并通過串口與FPGA相連。但從串口的傳輸速度來看,通過串口傳輸是一個瓶頸。所以我們打算做一個有多點串口的FPGA板,每個串口連接一個MSP430,而每一個MSP430負責接收一部分的運動鞋節(jié)點的數據。
而在FPGA板上,我們寫一個驅動,將串口數據存入自定義buffer里。這里的自定義buffer,是由VHDL語言寫的鎖存器組合而成。最后的FPGA判斷算法模塊,就是讀取所有鎖存器的數據,進行快速并行計算,得出違規(guī)結果。
6.4 FPGA端的PCI控制器模塊設計
圖5 PCI設備結構圖
評論