新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 通用CPCI數(shù)據(jù)處理與IO模塊的設(shè)計(jì)與實(shí)現(xiàn)

通用CPCI數(shù)據(jù)處理與IO模塊的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

摘要:模塊主要完成數(shù)據(jù)計(jì)算、模擬和數(shù)字信號(hào)的采集與處理等功能。給出一種通用的模塊的設(shè)計(jì)方案,模塊采用滿足總線規(guī)范的加固型設(shè)計(jì),可以實(shí)現(xiàn)主控模塊和外設(shè)模塊的自適應(yīng)轉(zhuǎn)換。討論了處理器功能電路設(shè)計(jì)、功能電路設(shè)計(jì)和通用接口設(shè)計(jì),并針對(duì)模塊功能設(shè)計(jì)進(jìn)行驗(yàn)證。

本文引用地址:http://m.butianyuan.cn/article/201610/308268.htm

0 引言

嵌入式與IO模塊應(yīng)用在抗惡劣環(huán)境中,主要完成數(shù)據(jù)計(jì)算、模擬和數(shù)字信號(hào)的采集與處理等功能。隨著嵌入式系統(tǒng)對(duì)數(shù)據(jù)處理性能需求的逐步提高,微處理器由于其RISC架構(gòu)、高主頻、并行矢量處理技術(shù)已經(jīng)成為許多高性能系統(tǒng)的優(yōu)選處理器。同時(shí)為了提高數(shù)據(jù)處理與IO模塊的開放性、擴(kuò)展性和維修性,需要采用成熟的標(biāo)準(zhǔn)PCI總線對(duì)模塊進(jìn)行規(guī)范化、通用化設(shè)計(jì)Compact PCI(簡(jiǎn)稱CPCI)總線是國(guó)際工業(yè)計(jì)算機(jī)制造者聯(lián)合會(huì)于1994年提出來的一種總線接口標(biāo)準(zhǔn),是以PCI電氣規(guī)范為標(biāo)準(zhǔn)的高性能工業(yè)用總線。CPCI總線充分利用了PCI總線的優(yōu)點(diǎn),在電氣、邏輯和軟件功能方面與PCI總線完全兼容,同時(shí)具有熱插拔能力,已經(jīng)廣泛的應(yīng)用在通信與網(wǎng)絡(luò)、工業(yè)自動(dòng)化等領(lǐng)域中。滿足CPCI總線規(guī)范的模塊采用加固型的結(jié)構(gòu)設(shè)計(jì)和高可靠的連接器,具有較高的可靠性和較強(qiáng)的環(huán)境適應(yīng)能力。

1 系統(tǒng)架構(gòu)

數(shù)據(jù)處理與IO模塊為6U結(jié)構(gòu),底板采用標(biāo)準(zhǔn)的CPCI連接器。功能電路主要由CPU、CPU橋接器、FLASH存儲(chǔ)器、SDRAM存儲(chǔ)器、FPGA邏輯電路、AD接口、離散量接口、以太網(wǎng)調(diào)試接口、RS232串行接口、RS422串行接口、PCI—PCI橋接器等組成,系統(tǒng)結(jié)構(gòu)如圖1所示。

a.jpg

模塊的設(shè)計(jì)采用結(jié)構(gòu)化、層次化的設(shè)計(jì)方法,各層設(shè)計(jì)的功能相對(duì)獨(dú)立,各個(gè)功能子模塊的功能明確。CPU通過橋接器和FPGA實(shí)現(xiàn)與板內(nèi)資源的交互,橋接器同時(shí)實(shí)現(xiàn)存儲(chǔ)器控制器接口,可以直接對(duì)接DDR2存儲(chǔ)器,處理器,PCI接口都可以通過橋接器對(duì)存儲(chǔ)器進(jìn)行訪問。模塊上提供2路標(biāo)準(zhǔn)的66MHz/64位數(shù)據(jù)寬度的PMC接口,用于模塊的性能、功能擴(kuò)展,PMC總線通過PCI總線跟橋接器相連。模塊內(nèi)部PCI總線和底板CPCI總線采用PCI—PCI橋接器隔離,使用時(shí)可以進(jìn)行靈活的配置。

2 處理器功能電路設(shè)計(jì)

2.1 處理器電路設(shè)計(jì)

CPU模塊采用處理器 7447A,7447A是PowerPC系列處理器中的第四代高性能的處理器,是一款高性能、低功耗,32位精簡(jiǎn)指令集結(jié)構(gòu)的處理器。處理器主頻為1000MHz,可以通過跳線根據(jù)PC7447A的手冊(cè)來更改主頻,為節(jié)省能耗CPU模塊降頻到600MHz使用。

處理器通過橋接器訪問自己的資源,處理器的資源主要有:DDR2 SDRAM,F(xiàn)lash存儲(chǔ)器,NVSRAM存儲(chǔ)器,串行接口,PMC接口,以太網(wǎng)接口,中斷控制器,可編程看門狗電路等。

處理器橋接器采用Tsi109,橋接器/集成存儲(chǔ)器控制器提供PowerPC74XX處理器到PCI總線的接口,Tsi109提供功能有:一個(gè)高性能的存儲(chǔ)器控制器,兩處理器的支持,兩通道DMA控制器,一個(gè)中斷控制器,一路消息控制器,一路I2C接口,一個(gè)時(shí)鐘鎖相環(huán)電路等。

2.2 復(fù)位電路設(shè)計(jì)

復(fù)位電路主要由MAX706ESA芯片實(shí)現(xiàn)。模塊上電時(shí),F(xiàn)PGA需要配置,在配置過程中IO引腳保持三態(tài),此時(shí)輸入到MAX706ESA的手動(dòng)復(fù)位通過下拉電阻下拉為低電平,使模塊處于復(fù)位狀態(tài),待FPGA加載完成后,F(xiàn)PGA該IO引腳通過邏輯輸出為高,手動(dòng)復(fù)位結(jié)束。在工作中通過手動(dòng)復(fù)位可以對(duì)模塊進(jìn)行復(fù)位,如果MAX706ESA檢測(cè)到電壓+5V低于+4.4V時(shí),產(chǎn)生復(fù)位。

3 IO功能電路設(shè)計(jì)

3.1 AD接口設(shè)計(jì)

模塊提供8路差分AD來完成模擬數(shù)據(jù)的采集,8路差分模擬量輸入在模塊內(nèi)首先被轉(zhuǎn)換成8路單端輸入,經(jīng)過模擬開關(guān)后進(jìn)入AD轉(zhuǎn)換芯片,AD的并行接口輸出經(jīng)過鎖存器后進(jìn)入FPGA,模擬開關(guān)與AD芯片之間加運(yùn)算放大器和電壓跟隨器。AD接口結(jié)構(gòu)如圖2所示。

b.jpg

AD轉(zhuǎn)換芯片選用AD公司的AD976,16位采樣精度,采樣速率100KSPS,輸入電壓為±10V,AD976主要由R/C和CS信號(hào)控制轉(zhuǎn)換,設(shè)計(jì)中這倆信號(hào)由FPGA實(shí)現(xiàn),軟件中只需向FPGA內(nèi)的一個(gè)地址寫入低電平,F(xiàn)PGA便會(huì)輸出R/C和CS兩個(gè)低脈沖,從而啟動(dòng)AD轉(zhuǎn)換。

3.2 串行接口設(shè)計(jì)

模塊提供8路RS422接口,采用EXAR公司的通用異步收發(fā)器XR16C864來實(shí)現(xiàn),該芯片具備4路數(shù)據(jù)通道,每通道FIFO字節(jié)128字節(jié),波特率最高可達(dá)2Mbps??梢酝ㄟ^芯片寄存器操作實(shí)現(xiàn)接口的操作配置、狀態(tài)查詢、錯(cuò)誤管理、中斷控制等功能。模塊上通過FPGA的控制邏輯實(shí)現(xiàn)處理器對(duì)協(xié)議芯片的配置管理和接口中斷控制等功能。

在Vxworks中,串行設(shè)備是一種特殊的字符型設(shè)備。為了方便操作,軟件中調(diào)用ttyDevCreate函數(shù)將RS422創(chuàng)建為標(biāo)準(zhǔn)的串口設(shè)備。應(yīng)用程序編寫時(shí)可以完全忽略底層硬件,將RS422看成是IO文件系統(tǒng)的設(shè)備,采用iolib系統(tǒng)庫提供的接口函數(shù)open()、wrire(),read(),close(),ioctl()等函數(shù)來對(duì)設(shè)備進(jìn)行操作。

4 通用CPCI接口設(shè)計(jì)

4.1 硬件設(shè)計(jì)

模塊采用CPCI總線,由于要實(shí)現(xiàn)主控模塊和外設(shè)模塊的自適應(yīng)轉(zhuǎn)換,設(shè)計(jì)中采用做為模塊內(nèi)部PCI局部總線到CPCI底板總線的橋接器。是PLX公司設(shè)計(jì)的功能強(qiáng)大的工業(yè)用雙模式通用PCI到PCI橋接器,可以在橋的主端和從端實(shí)現(xiàn)完全異步的操作。有透明模式、非透明模式和通用模式三種工作模式,設(shè)計(jì)時(shí)可以根據(jù)需求進(jìn)行靈活的配置。

透明模式工作時(shí),橋的從端的所有設(shè)備對(duì)主端的主系統(tǒng)是透明的,從端的所有設(shè)備只能由主端的主系統(tǒng)對(duì)其進(jìn)行配置和控制,主端和從端的時(shí)鐘一般必須同步,主端和從端的地址完全透明,在主端和從端之間的地址傳遞是直接傳輸,不用進(jìn)行地址轉(zhuǎn)換。

非透明模式工作時(shí),橋的兩端是兩個(gè)獨(dú)立的處理器域,從端的資源和地址對(duì)主端的處理器是不可見的。允許從端的本地處理器獨(dú)立地配置和控制其子系統(tǒng),主端和從端的時(shí)鐘可以同步或異步。主端和從端的地址完全獨(dú)立,主端和從端的地址由橋來進(jìn)行轉(zhuǎn)換。

通用模式下可以通過TRANS#信號(hào)將PCI6466設(shè)置為通用透明模式和通用非透明模式。為實(shí)現(xiàn)模塊的主從自適應(yīng)轉(zhuǎn)換,在本設(shè)計(jì)中PCI6466被配置為通用模式。

在通用模式下,PCI6466的TRANS#信號(hào)可以直接連接到CPCI總線的SYSEN#管腳,SYSEN#管腳是系統(tǒng)主控模塊使能信號(hào),CPCI底板中系統(tǒng)槽將它接地,外設(shè)槽將該信號(hào)拉高。當(dāng)模塊插入系統(tǒng)槽時(shí),SYSEN#信號(hào)為低,PCI6466工作在透明橋模式。反之,如果模塊被插入外設(shè)槽,SYSEN#信號(hào)為高,PCI6466工作在非透明橋模式。這樣就可以實(shí)現(xiàn)模塊的主從自適應(yīng)轉(zhuǎn)換功能。

4.2 PCI接口驅(qū)動(dòng)

VxWorks操作系統(tǒng)中提供了對(duì)PCI驅(qū)動(dòng)的良好支持,并且可以根據(jù)實(shí)際情況進(jìn)行裁剪,PCI接口驅(qū)動(dòng)開發(fā)按照如下步驟進(jìn)行。

1)PCI配置空間初始化。通過調(diào)用PCI配置空間初始化函數(shù)完成PCI配置空間的初始化;

2)查找PCI設(shè)備。通過函數(shù)pciFindDevice來實(shí)現(xiàn)PCI設(shè)備的查找。該函數(shù)可以根據(jù)給定的Vendor ID和Device ID來掃描總線,找出設(shè)備所在的Bus No、Device No和Func No。

3)地址空間映射。通過操作系統(tǒng)提供的函數(shù)訪問PCI設(shè)備的配置空間,配置PCI設(shè)備的基址寄存器、中斷、ROM基地址寄存器等,這樣可以得到PCI設(shè)備的存儲(chǔ)空間和I/O地址空間映射、設(shè)備的中斷號(hào)等;

4)具體的設(shè)備驅(qū)動(dòng)。根據(jù)PCI設(shè)備的配置參數(shù),對(duì)不同的PCI設(shè)備編寫初始化程序、中斷服務(wù)函數(shù)以及相應(yīng)的功能函數(shù)。

5 模塊功能驗(yàn)證

完成系統(tǒng)和驅(qū)動(dòng)軟件的設(shè)計(jì)后,在具體應(yīng)用環(huán)境中對(duì)系統(tǒng)的功能和性能進(jìn)行驗(yàn)證,系統(tǒng)驗(yàn)證了如下功能:

(1)模塊的數(shù)據(jù)處理功能,利用測(cè)試程序?qū)PU、SDRAM、FLASH、NVRAM等基本CPU資源進(jìn)行驗(yàn)證,各部分功能正常。

(2)模塊的IO功能,利用測(cè)試程序?qū)δK的AD、RS422等功能進(jìn)行驗(yàn)證,AD精度滿足要求,RS422數(shù)據(jù)傳輸正常。

(3)CPCI的主從自適應(yīng)功能,在測(cè)試工裝中分別把模塊插入系統(tǒng)槽和外設(shè)槽,模塊能自動(dòng)的識(shí)別并設(shè)置自己的角色,作為主設(shè)備時(shí)可以完成對(duì)外設(shè)的配置,作為外設(shè)時(shí)可以在PCI設(shè)備列表中掃描到。

6 結(jié)語

本文介紹了一種通用CPCI數(shù)據(jù)處理與IO模塊的設(shè)計(jì)與實(shí)現(xiàn),滿足CPCI總線規(guī)范的模塊采用加固型的結(jié)構(gòu)設(shè)計(jì)和高可靠的連接器,具有較高的可靠性和較強(qiáng)的環(huán)境適應(yīng)能力。模塊經(jīng)過系統(tǒng)的測(cè)試驗(yàn)證,具備通用性、高可靠性的特點(diǎn)。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉