999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

動態軌道衡數據采集與傳輸系統的SoPC設計

2013-03-11 10:50:08劉文彬張文愛
網絡安全與數據管理 2013年11期
關鍵詞:系統設計

劉文彬,張文愛

(太原理工大學 信息工程學院,山西 太原030024)

動態軌道衡是一種安裝在鐵路上的對通過的列車實現不停車動態檢測的稱量設備。整個軌道衡系統中,數據采集與傳輸部分位于系統最前端,它的采樣速率、傳輸穩定性等指標直接決定了系統的性能和工作效率。因此,要提高動態軌道衡的性能與稱量速度,首先應從數據采集與傳輸系統著手。

傳統動態軌道衡數據采集與傳輸系統多使用單片機、ARM等器件設計,一旦制作完成,修改和升級將十分困難。但由于軌道衡使用領域廣泛且應用環境多變,因此傳統設計大多只適用某一領域,可升級性和通用性較差。與傳統方法不同,SoPC設計用FPGA芯片作為核心,通過IP復用技術將一系列IP核組成可編程片上系統,為動態軌道衡數據處理系統帶來了靈活、可裁剪等新特性,為適應不同領域的應用需求提供了簡單易行的解決方案。

本文根據SoPC設計方法與IP復用技術的思想[1],提出了由高精度高速模/數轉換器(ADC)AD7714、以太網控制器ENC28J60、IP核和FPGA芯片構成的新型動態軌道衡數據采集與傳輸系統的SoPC設計方案及實現方法。該系統充分體現了SoPC設計的優勢,具有開發時間短、靈活高效、易于升級等特點。

1 系統概述

在動態軌道衡數據處理領域,已有許多采用FPGA器件的設計,但這些設計大部分只將其用于數據采集控制,在數據傳輸部分(如以太網傳輸)仍使用單片機進行控制。這樣并未構成完整的SoPC設計,不僅增加了系統的體積,還限制了系統的整體運行速度。在需要根據不同使用環境對系統進行調整時十分困難,無法充分體現使用FPGA器件進行SoPC設計的優勢與靈活性。

本文根據動態軌道衡的應用需求,設計了一款完全基于SoPC方案的FPGA數據采集與傳輸控制系統。系統設計采用Altera公司的Quartus II集成開發環境和EP1C12芯片開發平臺,通過使用已有IP核與自主設計IP核相結合的方法完成開發。設計使用IP復用技術將整個系統集成至一片FPGA芯片,不僅極大地節約了系統開發時間與成本,同時由于FPGA芯片的現場可編程特性,通過軟件編程即可改變系統的硬件功能,使系統的更改與升級工作變得十分簡便,賦予了系統靈活高效、易于升級的特點,對應用廣泛、使用環境多樣的動態軌道衡十分有利。另外,FPGA器件優秀的并行處理能力與低功耗特性使其優勢更加突出。

系統總體結構如圖1所示,可分為數據采集、以太網傳輸和SoPC控制核心3部分。數據采集部分包含3片ADC對8路信號同時采樣,FPGA芯片突出的并行處理能力很好地協調了各芯片的協同工作。SoPC控制核心系統內部由多個IP核構成,處理器核心CPU采用Nios II軟核處理器,采樣轉換控制IP使用開發環境提供的SPI控制核,以太網芯片控制IP使用自主設計的以太網控制器ENC28J60專用控制IP核。

圖1 數據采集與傳輸系統結構框圖

2 功能電路與SoPC控制核心開發

2.1 數據采集電路與控制模塊

ADC選用ADI公司的AD7714,該芯片最高可實現24 bit無誤碼轉換,同時具有SPI兼容的三線接口,控制簡單。它的模擬輸入端可以配置為5路準差分輸入或3路全差分輸入。通過實驗發現,準差分輸入時信號干擾較大,所以采用全差分輸入來抑制共模干擾。對8路傳感器信號進行轉換需要3片AD7714芯片。AD7714的電路原理如圖2所示,傳感器信號由P1接口輸入,AD7714三線SPI接口、主時鐘輸入端及DRDY引腳由P2引出并與控制模塊相連。

圖2 AD7714電路原理圖

對數據采樣的控制采用了開發環境提供的SPI控制IP核。數據采樣電路與控制模塊的連接如圖3所示。INA128將毫伏級傳感器信號放大至A/D轉換量程范圍內[2],AD780提供A/D轉換所需的2.5 V基準電壓[3]。AD7714主時鐘MCLK由FPGA芯片內部的鎖相環PLL(Phase Lock Loop)產生,設置SPI核的時鐘頻率為5 kHz,寄存器位寬為8 bit,空閑時鐘相位為0。AD7714數據轉換狀態由引腳指示,當為0時說明數據寄存器有更新,即產生了新的采樣數據。因此在控制模塊中添加一個通用IO引腳來監視的狀態變化[4],當有新數據產生時,由軟件程序控制讀取采樣數據。

圖3 數據采集電路與控制模塊

2.2 以太網數據傳輸電路與控制模塊

數據傳輸由以太網通信實現,設計采用以太網控制器ENC28J60。ENC28J60是Microchip Technology公司推出的帶有標準串行外設接口SPI(Serial Peripheral Interface)的獨立以太網控制器,任何配備SPI接口的控制器都可以使用該芯片作為以太網接口[5]。設計采用現成的ENC28J60網絡模塊進行開發。

現有的設計都是用SPI核加通用I/O口的方式對ENC28J60進行控制,并沒有專用的控制IP核。這樣的設計方法在不同的系統中需要較大的改動,無法體現IP復用的設計理念。因此本設計開發了基于Avalon總線標準的專用控制IP核。Avalon總線是Altera公司提供的一個開放的總線標準,基于其標準的設計完全免費,并且其接口標準與Wishbone等常用的片上總線相似,只需極少的改動便可在不同的系統下移植和使用,充分體現了IP復用的設計理念[6]。

2.2.1 IP核接口設計

IP核接口信號包含兩組,一組是與網卡芯片之間的接口,另一組是Avalon從接口信號。IP核與ENC28J60之間的接口是固定的,有SPI接口信號sck、ss_n、mosi、miso和中斷輸入接口int_n、wol_n。對 于Avalon總 線 信號,一個Avalon從外設中可以包含任意的信號類型,在這里根據IP核的需求而定[7]。設計所用到的Avalon從接口信號及描述如表1所示,表中N為程序中用類屬參數定義的數據線寬度,方便修改以適應不同的應用。

表1 Avalon從接口信號

2.2.2 IP核內部邏輯設計

專用IP核內部由寄存器邏輯和任務邏輯構成。寄存器邏輯包含狀態寄存器EJSTAT、控制寄存器EJCTRL、接收數據寄存器RXDATA和發送數據寄存器TXDATA。狀態寄存器中的各位表示IP核的狀態,包括接收溢出錯誤標志、發送溢出錯誤標志、接收/發送寄存器空標志以及ENC28J60芯片中斷標志,通過控制寄存器相應位置1可以使能各標志中斷功能。接收和發送數據寄存器是有效數據的暫存空間。

任務邏輯由輸入輸出邏輯、寄存器操作邏輯以及有限狀態機FSM(Finite State Machine)3部分組成。其中有限狀態機是任務邏輯的核心,負責完成SPI數據的輸入/輸出、狀態寄存器相應位清零或置位操作。FSM共有N+1個狀態,狀態轉移如圖4所示。sysen是控制寄存器中系統使能控制位,高電平有效,表示進入系統操作,否則系統不工作。

圖4 FSM狀態轉移圖

狀態0為系統的初始狀態,此狀態下令SPI時鐘輸出使能端無效,再判斷系統是否使能,由判斷結果決定進入下一狀態或停留在該狀態。當SYSEN=1,系統進入狀態N+1,說明即將開始數據操作,該狀態使能SPI時鐘sck與從機選擇信號ss_n輸出,為數據操作做準備。狀態N~狀態1為有效數據移位操作狀態,在這N個狀態中完成相應的數據移入和移出操作。在完成N位數據操作之后,如果系統使能位依然有效,則系統進入下一個數據操作循環,否則系統回到狀態0。

以上接口設計和內部邏輯在Quartus II環境下使用VHDL語言編程實現。編譯報告顯示程序正確無誤,共用220個邏輯單元,占邏輯單元總數的2%。最終以太網數據傳輸模塊結構如圖5所示。

圖5 以太網傳輸模塊

2.3 SoPC控制核心

構建SoPC控制核心的工作使用SoPC Builder組件完成。SoPC Builder是一個自動化SoPC硬件系統開發工具,它可以使設計者在很短的時間內定義一個完整的硬件系統[5]。它提供了簡單方便的用戶圖形界面,設計人員只需在該環境下添加所需的模塊,再通過添加片上總線將各個模塊組合起來即可構成完整的SoPC系統。

SoPC控制核心開發第一步是為系統添加CPU,設計選用Altera公司的Nios II嵌入式軟核,與其他常見的嵌入式軟核相比,Nios II具有更高的主頻且占用較少的邏輯資源;然后,在SoPC Builder環境下添加SPI核和自主設計的網卡控制IP核;最后,通過Avalon片上總線將各控制模塊與Nios II軟核連接起來,就構成了數據采集與傳輸系統的SoPC控制核心,其內部結構如圖6所示。

圖6 SoPC控制核心內部結構圖

3 操作系統移植與應用程序設計

Altera提供了Nios II軟件集成開發環境Nios II IDE,所有處理器軟件開發任務(如編輯、調試等)都在該環境下完成。

設計選用嵌入式實時操作系統μC/OS-II,它的結構簡潔精練,可讀性很強,同時又具備了實時操作系統的全部功能[8]。Nios II IDE開發環境中提供了μC/OS-II工程,通過添加工程即可方便地實現操作系統移植。

3.1 應用程序設計

針對不同的功能進行程序設計,從操作系統的角度來講,就是針對要實現的功能在系統中添加任務,由內核對各個任務進行管理和調度。μC/OS-II中用戶任務代碼的一般結構如下:

本設計中需要添加的用戶任務包括A/D采樣與轉換控制程序和以太網傳輸控制程序。用戶任務由可中斷和不可中斷的代碼組成,宏定義OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()控制何時響應中斷和何時屏蔽中斷[8],可根據需要在用戶任務中添加多個不可中斷代碼段,以實現不同的任務需求。

3.1.1 A/D采樣與轉換控制程序

A/D采樣與轉換控制采用了Altera提供的SPI核,與IP核一起提供操作函數alt_avalon_spi_command()。設計直接調用該函數,把它添加至用戶代碼部分,通過設置不同的參數完成A/D采樣控制。

AD7714的所有操作都從寫通信寄存器開始,寫入通信寄存器的數據決定下一次操作是讀或寫操作,以及對哪個寄存器進行操作。通信寄存器寫操作程序如下:

其中,alt_avalon_spi_command()的參數的含義依次是:SPI_BASE和1用于選擇SPI從設備;參數1和writedata分別表示寫入數據長度和數據地址;參數0和NULL表示不進行讀出操作(如果需要進行讀操作,就在這兩個參數位置上填寫讀出數據長度和讀出數據存儲地址);最后一個參數0表示操作后釋放從設備。

寫通信寄存器操作完成后即可進行對其他寄存器的操作,如讀數據寄存器等,同樣使用alt_avalon_spi_command()函數,操作完成后芯片返回到等待對通信寄存器寫操作的狀態。

3.1.2 以太網傳輸控制程序

自主設計IP核的軟件使用C語言編寫完成,程序包括兩部分,一是定義IP核內部寄存器映像的C頭文件enc28j60_ctrl_ip.h,為操作底層硬件提供符號化常量;另一部分是硬件的驅動程序enc28j60_ctrl_ip.c,提供對硬件底層操作的基本程序。

驅動程序主要是通過對寄存器的操作來實現不同的功能,因此用到Altera提供的寄存器存取函數IOWR()和IORD(),例如對發送數據寄存器TXDATA寫操作函數IOWR(enc28j60_ctrl_ip_base,3,data),其中enc28j60_ctrl_ip_base是IP核的基地址,3是發送數據寄存器偏移地址,data是要寫入的數據。

以太網控制IP核驅動程序需要結合TCP/IP協議棧才能進行以太網通信操作[9]。設計選用Interniche公司的NicheStack嵌入式TCP/IP協議棧,它具有體積小、易移植等優點[10]。與操作系統的移植相似,Nios II IDE開發環境中提供了NicheStack示例工程,通過添加工程即可實現協議棧移植。

3.2 系統操作流程

系統的主要操作流程如圖7所示。當系統上電復位完成后,控制核心先對各芯片進行配置,AD7714芯片的配置從寫通信寄存器開始,包括增益設置、信號極性和通道設置等;然后對網卡芯片ENC28J60進行配置,也就是對網卡芯片進行初始化設置,包括接收/發送緩沖器設置、MAC初始化設置和PHY初始化設置等;芯片配置完成之后,系統進入循環接收采樣數據狀態,系統輪詢AD7714的DRDY引腳,當其為低電平時說明產生新的采樣數據,則系統讀取數據;數據讀取完成之后,送至ENC28J60通過以太網發送;數據發送完成之后,系統繼續輪詢引腳,如此循環。

圖7 系統操作流程

通過下載至EP1C12開發板并連接AD7714數據采集板和ENC28J60網絡模塊對系統進行了實際測試。控制核心工作在50 MHz時鐘頻率下,AD7714主時鐘頻率為2.5 MHz,結果顯示系統運行良好,數據采集與傳輸過程穩定。本設計改變了傳統動態軌道衡數據采集與傳輸系統的設計方法,完全采用SoPC設計方法與IP復用技術。數據傳輸部分使用自主開發的專用IP核,該IP核在軟件仿真測試和實際運行測試中都表現良好。整個系統具有靈活方便、易于升級的優點,可以應用于不同的環境。

目前系統的數據處理仍需在上位機完成。下一步將利用FPGA芯片優秀的并行處理能力,把數據處理部分以IP核的形式集成至控制核心,使數據處理IP核經過調整可適應不同的要求,或者設計成針對不同應用的IP核,這樣整個系統通過軟件編程下載即可實現完全不同的功能,應用前景十分廣闊。

[1]KEATING M,BRICAUD P.Reuse methodology manual[M].Berlin:Springer,2002.

[2]Texas Instruments.INA128 data sheet[Z].2005.

[3]Analog Devices.AD780 data sheet[Z].2004.

[4]張文愛,姜敏,趙磊.基于FPGA的動態軌道衡數據采集系統[J].同濟大學學報,2010,38(10):1525-1528.

[5]Microchip Technology.ENC28J60 data sheet[Z].2008.

[6]李蘭英.Nios II嵌入式軟核SoPC設計原理及應用[M].北京: 北京航空航天大學出版社,2006.

[7]Altera Corporation.Avalon interface specifications[Z].2011.

[8]任哲.嵌入式實時操作系統μC/OS-II原理及應用[M].北京:北京航空航天大學出版社,2009.

[9]FALL K R,STEVENS W R.TCP/IP illustrated volume 1:the protocols(2nd edition)[M].Addison-Wesley Educational Publishers Inc,2011.

[10]Altera Corporation.Ethernet and the NicheStack TCP/IP Stack-Nios II edition[Z].2011.

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 亚洲无码免费黄色网址| 狠狠v日韩v欧美v| 亚洲妓女综合网995久久| 99一级毛片| 青青久在线视频免费观看| 欧美日韩国产成人在线观看| 久久五月天国产自| 亚洲第一成年免费网站| 亚洲天堂777| 亚洲精品视频在线观看视频| 久青草免费在线视频| 色综合网址| 久久久久亚洲av成人网人人软件| 午夜视频日本| 成年女人a毛片免费视频| 丁香婷婷激情综合激情| 亚洲无码四虎黄色网站| 欧美激情综合一区二区| 国模沟沟一区二区三区| 国产三级毛片| 一级黄色欧美| 91成人在线观看视频| 精品一区二区三区四区五区| 国产美女一级毛片| 亚洲中文字幕久久精品无码一区| 亚洲无码视频图片| 久久免费精品琪琪| 国产在线自乱拍播放| 97se亚洲综合在线天天| 国产精品思思热在线| 午夜一区二区三区| 久久婷婷六月| 毛片视频网| 亚洲人成影院在线观看| 国产成人1024精品| 广东一级毛片| 97视频免费看| 99ri精品视频在线观看播放| 亚洲综合激情另类专区| 色噜噜狠狠狠综合曰曰曰| 九色91在线视频| a级毛片毛片免费观看久潮| 91亚瑟视频| 67194亚洲无码| 亚洲国产天堂在线观看| 国产精品久久久精品三级| 中文无码精品a∨在线观看| 亚洲欧美日韩视频一区| 亚洲三级片在线看| 在线观看亚洲人成网站| 天天综合色天天综合网| 在线免费亚洲无码视频| 91欧美在线| 国产乱码精品一区二区三区中文| 欧美福利在线播放| 丁香五月婷婷激情基地| 午夜激情婷婷| 波多野结衣中文字幕一区二区| 亚洲最大情网站在线观看| 超级碰免费视频91| 亚洲经典在线中文字幕| 亚洲一区国色天香| 怡春院欧美一区二区三区免费| 欧美在线伊人| 波多野结衣AV无码久久一区| 亚洲黄色成人| 精品伊人久久大香线蕉网站| 久久五月视频| 国产精品污污在线观看网站| 五月六月伊人狠狠丁香网| 国产高清在线丝袜精品一区| 国产乱人激情H在线观看| 国产成人综合亚洲欧洲色就色| 久久国产精品无码hdav| 91免费国产在线观看尤物| 最新亚洲人成无码网站欣赏网| 久久精品66| 亚洲欧美日韩中文字幕一区二区三区 | 欧美a级在线| 一级毛片在线直接观看| 亚洲国产系列| 国内精品小视频在线|