亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        動態(tài)軌道衡數(shù)據(jù)采集與傳輸系統(tǒng)的SoPC設(shè)計

        2013-03-11 10:50:08劉文彬張文愛
        關(guān)鍵詞:軌道衡寄存器以太網(wǎng)

        劉文彬,張文愛

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

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

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

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

        1 系統(tǒng)概述

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

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

        系統(tǒng)總體結(jié)構(gòu)如圖1所示,可分為數(shù)據(jù)采集、以太網(wǎng)傳輸和SoPC控制核心3部分。數(shù)據(jù)采集部分包含3片ADC對8路信號同時采樣,F(xiàn)PGA芯片突出的并行處理能力很好地協(xié)調(diào)了各芯片的協(xié)同工作。SoPC控制核心系統(tǒng)內(nèi)部由多個IP核構(gòu)成,處理器核心CPU采用Nios II軟核處理器,采樣轉(zhuǎn)換控制IP使用開發(fā)環(huán)境提供的SPI控制核,以太網(wǎng)芯片控制IP使用自主設(shè)計的以太網(wǎng)控制器ENC28J60專用控制IP核。

        圖1 數(shù)據(jù)采集與傳輸系統(tǒng)結(jié)構(gòu)框圖

        2 功能電路與SoPC控制核心開發(fā)

        2.1 數(shù)據(jù)采集電路與控制模塊

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

        圖2 AD7714電路原理圖

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

        圖3 數(shù)據(jù)采集電路與控制模塊

        2.2 以太網(wǎng)數(shù)據(jù)傳輸電路與控制模塊

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

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

        2.2.1 IP核接口設(shè)計

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

        表1 Avalon從接口信號

        2.2.2 IP核內(nèi)部邏輯設(shè)計

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

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

        圖4 FSM狀態(tài)轉(zhuǎn)移圖

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

        以上接口設(shè)計和內(nèi)部邏輯在Quartus II環(huán)境下使用VHDL語言編程實現(xiàn)。編譯報告顯示程序正確無誤,共用220個邏輯單元,占邏輯單元總數(shù)的2%。最終以太網(wǎng)數(shù)據(jù)傳輸模塊結(jié)構(gòu)如圖5所示。

        圖5 以太網(wǎng)傳輸模塊

        2.3 SoPC控制核心

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

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

        圖6 SoPC控制核心內(nèi)部結(jié)構(gòu)圖

        3 操作系統(tǒng)移植與應用程序設(shè)計

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

        設(shè)計選用嵌入式實時操作系統(tǒng)μC/OS-II,它的結(jié)構(gòu)簡潔精練,可讀性很強,同時又具備了實時操作系統(tǒng)的全部功能[8]。Nios II IDE開發(fā)環(huán)境中提供了μC/OS-II工程,通過添加工程即可方便地實現(xiàn)操作系統(tǒng)移植。

        3.1 應用程序設(shè)計

        針對不同的功能進行程序設(shè)計,從操作系統(tǒng)的角度來講,就是針對要實現(xiàn)的功能在系統(tǒng)中添加任務,由內(nèi)核對各個任務進行管理和調(diào)度。μC/OS-II中用戶任務代碼的一般結(jié)構(gòu)如下:

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

        3.1.1 A/D采樣與轉(zhuǎn)換控制程序

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

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

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

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

        3.1.2 以太網(wǎng)傳輸控制程序

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

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

        以太網(wǎng)控制IP核驅(qū)動程序需要結(jié)合TCP/IP協(xié)議棧才能進行以太網(wǎng)通信操作[9]。設(shè)計選用Interniche公司的NicheStack嵌入式TCP/IP協(xié)議棧,它具有體積小、易移植等優(yōu)點[10]。與操作系統(tǒng)的移植相似,Nios II IDE開發(fā)環(huán)境中提供了NicheStack示例工程,通過添加工程即可實現(xiàn)協(xié)議棧移植。

        3.2 系統(tǒng)操作流程

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

        圖7 系統(tǒng)操作流程

        通過下載至EP1C12開發(fā)板并連接AD7714數(shù)據(jù)采集板和ENC28J60網(wǎng)絡模塊對系統(tǒng)進行了實際測試??刂坪诵墓ぷ髟?0 MHz時鐘頻率下,AD7714主時鐘頻率為2.5 MHz,結(jié)果顯示系統(tǒng)運行良好,數(shù)據(jù)采集與傳輸過程穩(wěn)定。本設(shè)計改變了傳統(tǒng)動態(tài)軌道衡數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計方法,完全采用SoPC設(shè)計方法與IP復用技術(shù)。數(shù)據(jù)傳輸部分使用自主開發(fā)的專用IP核,該IP核在軟件仿真測試和實際運行測試中都表現(xiàn)良好。整個系統(tǒng)具有靈活方便、易于升級的優(yōu)點,可以應用于不同的環(huán)境。

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

        [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的動態(tài)軌道衡數(shù)據(jù)采集系統(tǒng)[J].同濟大學學報,2010,38(10):1525-1528.

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

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

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

        [8]任哲.嵌入式實時操作系統(tǒng)μ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.

        猜你喜歡
        軌道衡寄存器以太網(wǎng)
        自動軌道衡基礎(chǔ)設(shè)計若干技術(shù)條件的分析
        鐵道建筑(2022年3期)2022-04-07 03:51:50
        軌道衡稱量和人工檢尺兩種計量方式的對比
        化工管理(2021年7期)2021-05-13 00:45:04
        斷軌式淺基坑小跨度靜態(tài)軌道衡的應用及分析
        昆鋼科技(2021年1期)2021-04-13 07:54:56
        基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
        Lite寄存器模型的設(shè)計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應用
        電子制作(2017年24期)2017-02-02 07:14:44
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應用
        軌道衡在鐵路運輸安全中重要性的研究和思考
        亚洲性69影视| 又色又爽又黄还免费毛片96下载| 精品国产av最大网站| 国产AV无码一区精品天堂 | 国产日本精品一区二区| 少妇被猛烈进入到喷白浆| 水蜜桃精品一二三| 久久天天躁狠狠躁夜夜2020!| 大量老肥熟女老女人自拍| 日本a级一级淫片免费观看| 肉体裸交137日本大胆摄影| 亚洲自拍另类制服在线| 亚洲一区二区av偷偷| 在线精品首页中文字幕亚洲| 少妇高潮流白浆在线观看| 欧洲亚洲综合| 国产一级r片内射视频播放| 色佬精品免费在线视频| 大桥未久亚洲无av码在线| 午夜无码一区二区三区在线| 97超碰国产一区二区三区| 亚洲av福利天堂一区二区三 | 久久aaaa片一区二区| 亚洲精品无码成人片久久不卡| 亚洲网站免费看| 日韩精品中文字幕第二页| 中文字幕网伦射乱中文| 亚洲国产成人精品女人久久久| 亚洲女同精品久久女同| 亚洲精品成人无百码中文毛片| 精品深夜av无码一区二区| 色www亚洲| 中文字幕一区二区三区| 亚洲av综合av一区| 精品少妇一区二区三区视频| av网址不卡免费在线观看| 午夜视频在线观看一区二区小| 中国凸偷窥xxxx自由视频| 爆乳日韩尤物无码一区| 国产亚洲精品一区在线| 插b内射18免费视频|