?

基于MPC8270的處理器板卡設計

2017-05-24 14:45邱永成謝榮清
計算機測量與控制 2017年5期
關鍵詞:板卡時鐘總線

邱永成,謝榮清

(中海油田服務股份有限公司 物探事業部,天津 300450)

基于MPC8270的處理器板卡設計

邱永成,謝榮清

(中海油田服務股份有限公司 物探事業部,天津 300450)

隨著海洋地震勘探發展,為了實現海洋地震勘探采集數據的實時傳輸和處理,設計了一種基于MPC8270的地震數據采集處理板卡;根據海洋地震數據采集處理的實時性和大數據量要求以及MPC8270處理器的特性,設計了基于MPC8270和FPGA的CPCI總線通信結構,能夠實現地震數據的高速實時傳輸;詳細介紹了MPC8270的關鍵外圍電路、FPGA及CPCI總線電路的硬件設計及實現方法,并在實際應用中給出了板卡嵌入式操作系統VxWorks配置的實現方式;板卡以MPC8270作為核心處理器,以FPGA為控制核心電路,以VxWorks為實時操作系統,實現地震數據的高速處理和CPCI總線實時傳輸功能;經過多次實驗室內部測試及海上實際生產應用,結果表明地震數據采集處理板卡能夠實現地震數據的高速處理和實時傳輸,并且板卡性能穩定可靠;板卡的設計簡單,結構通用,對數據處理、總線控制和信息交換等領域相關系統的開發具有一定的參考價值。

MPC8270;CPCI總線;FPGA

0 引言

MPC8270是Freescale公司的一款多功能通信處理器,集成了PowerPC內核和通信處理模塊內核[1],有較高的集成度和較低的功耗,能夠簡化電路板的設計,加快處理器板卡的開發調試,并且價格相對較低。這種低成本多用途的集成處理器的應用場合是使用PCI 接口的網絡基礎結構、電訊和其它嵌入式應用等方面。PCI總線以其獨立于處理器的獨特設計和高性能、開放性等優勢,已在PowerPC微處理器中廣泛使用,通過PCI總線可以很方便地實現CPU與外圍高速設備的互聯[2],特別是與FPGA的互聯,通過寄存器直接讀取或者DMA等方式,能夠實現大容量數據的高速處理和快速實時傳輸。

目前海上地震勘探隨著油氣勘探程度的提高,勘探目標日益復雜,勘探難度也就越來越大,常規的勘探往往難以解決出現的復雜地質問題[3],因此海上油氣勘探逐漸向進一步提高時間和空間分辨率的方向發展,這就造成單檢、小道距、多道采集成為地震勘探采集的發展趨勢;而隨著地震采集道數和采集頻率的提高,地震數據量將大大增加,單纜單炮數據甚至可超過1 Gbit,并且根據地震數據的實時特性,這就需要先進、可靠的采集方式進行大數據量地震數據的實時采集和傳輸。因此本文設計了一種以MPC8270處理器為CPU的PCI板卡,對MPC8270的關鍵外圍電路、FPGA及CPCI總線電路的硬件設計進行了詳細說明,主要的目的就是實現地震數據的實時傳輸和處理。

1 板卡總體結構

根據地震數據的采集傳輸特性要求,板卡需要實現大容量地震數據的實時處理和傳輸,并且兼顧系統的開發難度和成本因素,因此板卡以MPC8270處理器為核心處理器,采用FPGA對地震數據進行高速處理;MPC8270與FPGA之間通過CPCI總線進行通信,可以實現寄存器直接讀取、DMA等多種傳輸方式,可以對大容量的地震數據進行高速傳輸。另外根據系統實時性的要求,處理器要求支持實時操作系統VxWorks,而MPC8270正好滿足要求。因此地震數據處理板卡結構以MPC8270、FPGA和PCI硬件為基礎,圖1為板卡的總體結構框圖。

圖1 板卡總體結構框圖

如圖1所示,整個處理器系統主要包括FPGA、PCI硬件電路、MPC8270處理器及周邊電路。處理器周邊電路主要包含以太網口、UART串口、I2C總線接口、JTAG接口、60X總線接口、PCI總線接口、電源轉換電路、時鐘電路、復位電路等等,其相關電路功能如下所示。

MPC8270處理器:完成高同步性的命令實時處理以及地震數據的高速傳輸和網絡發送;

兩個100 M以太網接口:一個用來完成地震數據的上傳;一個用來完成控制命令的下傳;

一個UART串口:實現板卡調試及相關信息的輸出;

一個I2C總線接口,用來連接E2PROM。保存配置信息;

一個JTAG接口,用來調試;

60X總線外掛2 M字節的BootROM、16 M字節的Flash和128 M字節的SDRAM;用來完成BootROM保存、應用程序存儲和數據存儲及轉發功能;

提供一個PCI接口:用來從FPGA獲取地震數據,并通過以太網接口發送給上位機;

電源轉換電路,用來給板上不同器件及功能單元供電;

2 硬件設計

2.1 MPC8270及周邊電路

2.1.1 MPC8270上電配置

處理器的主要功能就是執行相關指令,進行邏輯運算,數據運算處理等。MPC8270包含32bit Local Bus和64位60X Bus的雙地址總線,總線時鐘最大支持100 MHz,支持主從模式的32 bit33/66 MHz的PCI總線,MPC8270上電后可以通過以下一些管腿進行配置實現板卡的相關功能:

1)PCI_MODE:PCI橋的使能,在此接低,可以使MPC8270工作在PCI模式下。

2)PCI_CFG[0-3]:PCI橋的一些模式配置。

PCI_CFG0:定義PCI橋為主或從模式,在此接低,使MPC8270橋為主模式;

PCI_CFG1:片內仲裁使能,在此接低,允許片內仲裁器;

PCI_CFG2:DLL使能,在此接高,使能DLL;

PCI_CFG3:預留,接高;

3)PCI_MODCK:在PCI模式下,定義額外的時鐘電路工作模式,在此接高,使PCI能工作在33 MHz模式下,接低則實現66 MHz工作模式。

4)MODCK[1-3]:與MODCK_H一起定義時鐘方式,在此接為“100”。

5)PCI_MODCK_H[4-7]:在PCI模式下,代替硬件配置字中的MODCK_H,在此接為“1010”,與MODCK[1-3]一起定義CPU時鐘模式為100 M總線時鐘/200 M CPM時鐘/400 M核時鐘。

6)RSTCONF:硬件配置字選擇,在本板使用跳線進行選擇,當不插跳線時為正常工作狀態,即MPC8270從FLASH中加載硬件配置字,當插上跳線時MPC8270上電后不從FLASH中加載硬件配置字。

2.1.2 CPU片選及中斷分配

MPC8270的存儲空間控制器共有12個可設地址空間,每個空間有一個單獨的片選信號輸出,本板的使用情況如表1。

表1 片選信號分配表

MPC8270可支持24個外部中斷源:16個PORT C引腳和8個IRQ引腳,本板的使用情況見表2。

表2 中斷分配表

2.1.3 LOCAL BUS總線驅動及SDRAM實現

由于LOCAL BUS總線上帶有多個存儲外設,因此需要進行總線驅動以提高系統的可靠性。選擇2片SN74LCX16245MTDX來實現數據線驅動,2片SN74LCX16373MEAX來實現地址線驅動。

MPC8270通過60X總線外掛SDRAM芯片實現內存單元。SDRAM的總線頻率為100 MHz,SDRAM的總線寬度為64-bit。

在本設計中,我們選擇MICRON公司的MT48LC16M-16A2TG-75IT,每片為32 MB空間,在此使用4片來實現128 MB的內存空間,SDRAM連接到MPC8270的60X總線上。

2.1.4 Bootrom和flash實現

根據應用程序大小的相關估算,板上系統提供2 M字節的16 bit位寬的BootROM和16 M字節的16 bit位寬的FLASH。分別用來保存BootROM代碼和VxWorks操作系統和應用程序代碼及相關配置信息。

本板的BootROM選擇AMD公司的AM29LV160DB,2 MB,16位寬。FLASH使用SPANSION公司的S29GL128M10TAIR2來實現,16 MB的存儲空間,16位數據寬度,作為VxWorks的存儲空間及其它存儲空間。

2.1.5 以太網實現

板卡通過使用MPC8270片上集成的兩個快速通信控制器(FCC),實現設計需求的兩個以太網接口。一個用來上傳地震數據,一個用來下傳送控制命令。其中PHY芯片使用LXT972ALE,線路變壓器使用H1102,連接器使用RJ-45。

MPC8270內部有I2C控制器,對外有標準I2C總線接口,本板采用同為I2C接口的E2PROM AT24C16A,可直接連接MPC8270的I2C接口。

AT24C16A不使用設備地址,在總線讀寫中出現在低3位設備地址時序的3個比特是頁地址,該3比特與隨后的8比特地址構成11位的存儲地址,可完全尋址AT24C16A的2K字節存儲空間。

2.1.6 UART及復位邏輯實現

MPC8270內部帶有兩個SMC,本系統使用其中一個SMC1進行UART調試接口的連接。外圍采用SP3220EEA實現電平轉換,對外提供DB9/F接口座。

根據MPC8270上電復位時序要求,采用兩片ADM811T來實現其復位邏輯。外設復位邏輯使用SN74LVC125ADR。原理見圖2。

圖2 復位邏輯原理圖

如圖2所示,復位信號共分兩級,第一級復位連接FLASH等其它外設,第二級復位連接MPC8270,使MPC8270退出復位狀態時FALSH已經準備好,以保證MPC8270的讀寫時序正確。

2.1.7 電源及時鐘電路

本板共需要使用6種電源:5 V、3.3 V、1.5 V、1.8 V、1.2 V、0.9 V分別給板卡上不同器件和功能單元完成供電。5 V和3.3 V電源通過CPCI接口的J1、J2連接器從機箱背板獲取電源,其他電源通過二次電源轉換獲得工作所需要的電流。其中FPGA使用3.3 V、1.8 V、1.2 V,無上電順序要求;MPC8270使用3.3 V、1.5 V,推薦1.5 V先上電,但在本設計中3.3 V由背板獲得,1.5 V由本板生成,無法滿足要求,因此對MPC8270外圍電路進行一些必要保護,包括如下。

上電時使FLASH處于復位,避免對FLASH的誤操作;

SDRAM的CKE接上電復位,避免SDRAM進入錯誤狀態板上1.2 V、1.8 V、1.5 V、0.9 V需要使用二次電源進行變換得到,1.5 V需要的電流低,選用一個3 A的LDO即可,本板使用LINEAR公司的輸出可調的LDO T1764EQ;1.8 V電源是給FPGA的接口使用,需要的電流較大,在此使用LINEAR公司step down controller LT1778EGN;1.2 V電源是FPGA的核心電壓,考慮到FPGA對該電源功率的需求與FPGA的邏輯設計有很大關系,在此也使用LT1778EGN來實現較大功率的輸出,可滿足將來FPGA邏輯設計進一步復雜時所需的更大功耗。0.9 V是專門用于總線終端匹配使用的電源,采用1片PTH05060YAH為本板產生所需的Vtt,該器件可提供10 A的電流驅動能力。

本設計中MPC8270的PCI總線工作在主模式下,MPC8270的時鐘都由60X總線輸入的時鐘產生,60X 時鐘在MPC8270芯片內部經鎖相環倍頻后送核、CPM使用,再經過分頻后供PCI接口使用。60X總線時鐘由外部100 MHz晶振產生,100 MHz晶振產生時鐘后通過CY2309芯片進行扇出給MPC8270和FPGA使用。

2.2 FPGA

FPGA主要完成地震數據的臨時存儲及高速數據的轉換和處理功能,根據大容量,可靠性高的要求,我們選擇Altera公司的Stratix II EP2S60F1020C5作為板上數據處理核心。通過此FPGA連接接口單元接收地震數據,并通過高速PCI接口和局部總線接口實現與MPC8270之間的數據高速傳輸。

Stratix II可以使用5種方法進行配置:FPP-快速被動并行、AS-主動串行、PS-被動串行、PPA-被動異步并行、JTAG方式。

在本板使用AS模式,好處是只需要外加一片串行E2PROM,外圍電路和控制方法都簡單,而且串行E2PROM的內容可在線編程,上電后,Stratix II會自動進行邏輯加載。串行E2PROM選用ALTERA的EPCS16SI16N,該芯片容量為16 Mbit,可存儲EP2S60的壓縮文件。

FPGA與MPC8270 LOCAL之間使用32位寬總線,信號具體定義如表3。

表3 FPGA與MPC8270之間的信號

在實際設計中,將MPC8270 LOCAL的接口分散接入FPGA的bank1、bank2、bank5、bank6,以利于FPGA的PCB出線。

2.3 CPCI總線接口

本設計使用PLX公司的PCI9054以實現MPC8270通過PCI總線訪問FPGA的功能。PCI9054是目前應用廣泛,性價比較為突出的PCI接口芯片之一,這里選擇它作為8270的PCI端與FPGA局部總線的連接,實現靈活的數據傳輸方式。PCI9054的接口最高為32位,33 MHz,支持PCI雙地址周期,地址空間高達4 GB;提供了兩個獨立的可編程DMA控制器,每個通道均支持塊和Scatter/Gather的DM方式,DMA通道0支持請求DMA方式;PCI和Local Bus數據傳送速率高達132 MB/S;本地總線速率高達50 MHz;支持復用/非復用的32 bit地址/數據;

PCI9054有三組對外接口:PCI總線、LOCAL總線、E2PROM接口。PCI9054的配置可以自動加載E2PROM也可以通過LOCAL總線進行配置,上電后PCI9054自動讀取E2PROM接口,若沒有E2PROM或讀到E2PROM為空,則PCI9054使用默認配置值,隨后可通過LOCAL總線進行配置。本板使用一片NM93CS56L來存儲配置信息。

PCI9054的LOCAL總線可以工作在3種模式下:M模式、C模式、J模式,其中M模式主要應用于MPC850/860;J模式的地址線與數據線是復用的,完全由PCI總線來控制;C模式的地址線和數據線分開使用,適合應用于有本地端主設備的情形[4]。在本板的設計中使用了J模式,通過設置PCI9054的MODE0(156引腳)和MODE1(157引腳)的值來實現其工作模式的配置,將PCI9054的156腳接高電平157腳接地后,使其工作于J模式完成與FPGA之間的信號連接。PCI9054的PCI接口工作在從模式,其時鐘由MPC8270提供一個33 M時鐘;PCI9054的LOCAL接口時鐘由FPGA提供,FPGA將外部輸入的100 M時鐘分頻為50 M后送給PCI9054。

3 VxWorks配置

由于要處理實時信息,保證命令和地震數據的實時性要求,板卡使用實時性好的VxWorks 操作系統[5],VxWorks是美國風河公司開發的一套高可靠性、可裁剪的嵌入式實時操作系統廣泛應用于工業控制、通信、航天航空等領域中。VxWorks操作系統在啟動后會自動的對PCI總線進行掃描,根據PCI設備在總線上的位置自動給設備分配總線號、設備號、功能號以及地址空間的分配。例如:利用PCI9054的VendorID和DeviceID來確定該設備在總線上的位置及VxWorks操作系統對該設備內存空間和I/O空間的分配。

pciFindDevice(vendorid, deviceid, unit, &pcibus, &pciDevice, &pciFunc) 其中,VendorID和DeviceID通過硬件手冊可以獲取,通過這個函數就可以知道該PCI設備在PCI總線上的位置,假設為:busNo 0x0, DeviceNo 0x19, FunNo 0x0, 利用這幾個參數在target shell下輸入:

-> pciHeaderShow 0, 0x19, 0

就會顯示出VxWorks操作系統對該PCI設備的空間分配和一些配置信息。

另外一種方法是:在系統啟動后,不運行任何程序,直接在target shell下輸入命令:

-> pciDeviceShow i (i = 0, 1, 2,… 其中i 表示PCI總線)

通過這個命令同樣也可以獲得PCI9054的總線號、設備號、功能號,然后同樣用pciHeaderShow命令來獲取bar0、bar2的配置信息。(注:系統中只用到這兩個bar空間)

在Shell下通過命令pciHeaderShow 0x0,0x19,0x0可獲得某塊FCI板的配置空間信息。假設為:

Bar0: 0xb0000000

Bar2: 0xb0100000

因為,在對PCI9054的操作中要對Bar0和Bar2空間的寄存器進行讀寫操作,所以要把這兩個地址空間在VxWorks操作系統中的地址空間里預先分配出來。這樣,才可以對這兩個空間內的寄存器進行讀寫操作。具體的添加方法是:

打開BSP目錄中sysLib.c文件,在PHYS_MEM_DESC sysPhysMemDesc [] ={…}的最后面添加:

{ /* Bar0 空間 */

(void *) 0xb0000000,

(void *) 0xb0000000,

0x00010000,

VM_STATE_MASK_FOR_ALL,

VM_STATE_FOR_PCI

},

{ /* Bar2 空間 */

(void *) 0xb0100000,

(void *) 0xb0100000,

0x01000000,

VM_STATE_MASK_FOR_ALL,

VM_STATE_FOR_MEM_APPLICATION

},

添加上述內容后重新編譯bootrom和VxWorks操作系統,啟動后在shell下輸入命令

-> d 0xb0000000

顯示Bar0空間的地址的內容,如果正常顯示,則表明添加正確,否則,表示錯誤。

4 海上試驗應用

本文所設計的基于MPC8270的處理器板卡應用于地震采集儀器中,在經過了長期的實驗室內部測試和調試等過程后,在物探船上進行了多次實際的海上試驗和地震勘探采集作業。其中2014年在渤海海域進行了三維采集作業,圖3為作業過程中上位機記錄顯示的拖纜地震數據陣子圖。

圖3 地震勘探采集作業陣子數據圖

作業采樣率1 ms,陣子抽取率8幀/秒,作業過程中最長測線連續工作大于500炮,總作業炮數大于10 000炮,上位機接收到的地震數據未出現錯誤,這充分驗證和證明了本設計的處理器板卡的穩定性和可靠性。

5 結論

本文用MPC8270和FPGA實現了地震數據的高速傳輸和處理,設計了一種基于MPC8270的處理器板卡,詳細介紹了MPC8270及外圍電路、FPGA以及CPCI接口的電路設計及實現方案,并給出了嵌入式操作系統VxWorks配置的詳細實現方式。該處理器板卡采用了通用的CPCI總線接口,利用PCI9054的對PCI總線的管理,能方便實現對系統中其它擴展板卡的控制、管理及信息交換;另外整個電路設計方案還可以方便的移植到其它相關數據傳輸系統中去,因此對數據處理、總線控制和信息交換等領域相關系統的開發具有一定的參考價值。

[1] 胡淑軍.基于MPC8270的嵌入式系統研究和低功耗設計[D].北京:北京郵電大學,2008.

[2] 陶 芬,胡本志,陳 浩,等.基于PCI總線的MPC8245處理器板卡設計與實現[J].數字技術與應用,2012,12(8):113-116.

[3] 唐 進,楊 凱.淺談中國海上地震勘探新技術應用[J].氣象水文海洋儀器,2013,30(2):107-112.

[4] 王 旭.PCI9054局部總線3種工作模式的具體應用[J].電子與封裝, 2005, 5(12):27-31.

[5] 李勇華.嵌入式操作系統VxWorks的實時性能測試分析[J].電子技術與軟件工程,2014,11:192-192.

Design of Processor Board Based on MPC8270

Qiu Yongcheng, Xie Rongqing

(Geophysical Department,China Oilfield Services Limited,Tianjin 300450,China)

With the development of marine seismic exploration, in order to realize the real-time data transmission and processing of marine seismic exploration, a seismic data acquisition board based on MPC8270 is designed; according to the requirements of real-time and large amount of data for marine seismic data acquisition, and the characteristics of MPC8270, the design of CPCI bus communication structure based on FPGA and MPC8270 that can achieve high-speed and real-time transmission of seismic data. Introduces the hardware design and realization method of the key peripheral circuit of MPC8270、 FPGA and CPCI bus circuit, and the configurations of embedded operating system VxWorks are given. The board with MPC8270 as the core processor, using FPGA as the control core circuit, real-time operating system based on VxWorks and CPCI bus, realize high speed processing and real-time transmission of seismic data;after several laboratory internal testing and field application,results show that the seismic data acquisition board can realize high speed processing and real-time transmission of seismic data, and the board performance is stable and reliable; The design of the board is simple, the structure is general, it has a certain reference value to the development of the related system of the data processing, the bus control and the information exchange and so on.

MPC8270;CPCI bus;FPGA

2017-01-12;

2017-02-21。

國家高技術研究發展計劃(863計劃)(2012AA09A211)。

邱永成(1980-),男,天津濱海新區人,碩士研究生,電子工程師,主要從事地震勘探裝備的研究。

謝榮清(1979-),男,天津濱海新區人,碩士研究生,系統工程師,主要從事地震勘探裝備的研究。

1671-4598(2017)05-0232-04

10.16526/j.cnki.11-4762/tp.2017.05.064

TP368.1

A

猜你喜歡
板卡時鐘總線
別樣的“時鐘”
古代的時鐘
HCM3000板卡固件智能化下載系統設計與實現
RTX系統下并行I/O卡驅動程序的開發
一種基于CAN總線的誤碼測試方法
DCOM在混合總線自動測試系統的應用
基于AVR單片機的RS485工業總線開發設計
有趣的時鐘
基于組態王軟件和泓格PIO-D64 板卡的流水燈控制
時鐘會開“花”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合