PC104總線與DSP數(shù)據(jù)通信接口設(shè)計_第1頁
PC104總線與DSP數(shù)據(jù)通信接口設(shè)計_第2頁
PC104總線與DSP數(shù)據(jù)通信接口設(shè)計_第3頁
PC104總線與DSP數(shù)據(jù)通信接口設(shè)計_第4頁
PC104總線與DSP數(shù)據(jù)通信接口設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、PC104總線與DSP數(shù)據(jù)通信接口設(shè)計2011/8/19    來源:21ic    作者:佚名  DSP技術(shù)已在航空航天、遙測遙感、生物醫(yī)學(xué)、自動控制、振動工程、通訊雷達、水文科學(xué)等許多領(lǐng)域有著十分廣泛的應(yīng)用。通過數(shù)據(jù)采集系統(tǒng)將原始數(shù)據(jù)傳送到DSP,DSP完成算法的處理是工程上的一種應(yīng)用模式,數(shù)據(jù)的傳送可以通過各種計算機總線來實現(xiàn)。本文說明PC104總線與DSP的數(shù)據(jù)通訊接口設(shè)計,也可以作為采用其他計算機總線與DSP進行16位數(shù)據(jù)通訊接口設(shè)計的參考。1 引言   

2、 從1982年世界上誕生了首枚DSP芯片后,經(jīng)過20多年的發(fā)展,現(xiàn)在的DSP屬于第五代DSP器件。其系統(tǒng)集成度更高,已將DSP芯核及外圍器件綜合集成到單一芯片上,DSP逐漸成為數(shù)字信號處理器的代名詞。同時,數(shù)字信號處理技術(shù)在理論和算法上也取得了突破性進展,他本身也形成了比較完善的理論體系,包括數(shù)據(jù)采集、離散信號與離散系統(tǒng)分析、信號估計、信號建模、信號處理算法等內(nèi)容。DSP技術(shù)已在航空航天、遙測遙感、生物醫(yī)學(xué)、自動控制、振動工程、通訊雷達、水文科學(xué)等許多領(lǐng)域有著十分廣泛的應(yīng)用。通過數(shù)據(jù)采集系統(tǒng)將原始數(shù)據(jù)傳送到DSP,DSP完成算法的處理是工程上的一種應(yīng)用模式,數(shù)據(jù)的傳送可以通過各種計算機總線來實

3、現(xiàn)。    PC104是一種專門為嵌入式控制而定義的工業(yè)控制總線,PC104與普通PC總線控制系統(tǒng)的主要區(qū)別是:    (1)小尺寸結(jié)構(gòu)。    (2)堆棧式連接。    (3)輕松總線驅(qū)動。    PC104有2個版本,8位和16位,分別與PC和PC/AT相對應(yīng)。PC104 PLUS則與PCI總線相對應(yīng)。本文主要涉及的是PC104與DSP的16位數(shù)據(jù)通信接口設(shè)計,采用了CYPRESS公司的雙端口靜態(tài)讀寫存儲器CY7C028V15AC作為共享存儲

4、器,雙端口RAM右側(cè)接ADI公司的DSP芯片T S101,左側(cè)接PC104總線,控制邏輯用ALTERA公司ACEX系列CPLD中的EP1K100TC208來實現(xiàn)。2 雙端口RAM訪問模式    CY7C028V15AC是16 b×64 k的雙端口RAM,支持高速的訪問,訪問速度為20 ns,支持左右2個端口完全異步訪問。2個端口的選通信號有效,則雙端口RAM兩側(cè)可以同時對雙端口RAM進行讀寫操作。需要解決的是當(dāng)同時訪問到一個存貯塊時的沖突問題。有2種方法可以解決訪問沖突:一種是信號令牌傳遞方式,雙端口RAM內(nèi)部提供了8個Semaphore鎖存單元,可以在

5、邏輯上把雙端口RAM劃分為8個區(qū)段;當(dāng)某個端口要訪問某個區(qū)塊時,首先向相應(yīng)的鎖存單元請求令牌,以確定訪問是否會產(chǎn)生沖突,即向某一個鎖存單元寫“0”,然后讀回所寫數(shù)據(jù),如果成功,則對應(yīng)于該鎖存單元的塊是空閑的,可以訪問,否則就不能訪問。當(dāng)一側(cè)正在訪問雙端口RAM的某一塊,則相應(yīng)的鎖存單元對另一側(cè)是不能訪問的。申請令牌通過讀寫I/O的方式實現(xiàn),實際用到的是雙端口RAM左右兩側(cè)數(shù)據(jù)總線的D0位,地址總線的A2A0位(其譯碼對應(yīng)于8個鎖存單元),以及左右兩側(cè)對鎖存單元訪問的使能控制端SEML和SEMR。另一種方式是中斷方式。在中斷方式下,RAM最高的兩個地址作為通訊郵箱,F(xiàn)FFEH分配給右端口,F(xiàn)FF

6、FH分配給左端口。兩個郵箱的使用方法一致。以右端口為例,當(dāng)DSP向FFFEH地址寫任意一個值時,左端口的中斷請求信號INTL有效,當(dāng)響應(yīng)完中斷請求后,PC104總線讀一次FFFEH地址就可以INTL清除中斷。    本文中采用中斷方式設(shè)計PC104與DSP的握手信號。考慮到用CPLD來設(shè)計數(shù)字邏輯的靈活性和可重復(fù)編程,用CPLD來控制中斷請求與響應(yīng)信號,所以RAM最高端的兩個地址仍作為普通的R AM單元使用。雙端口RAM左右端口的連接如圖1所示。  圖1  雙端口RAM左右端口連接圖    當(dāng)DSP向PC

7、104請求數(shù)據(jù),TS101的標(biāo)志位FLAG0通過CPLD的緩沖連接到PC104的其中一條中斷信號引腳,當(dāng)PC104收到中斷請求向RAM寫完數(shù)據(jù),通過寫I/O口的方式,由CPLD產(chǎn)生回復(fù)信號到TS101的IRQ0,TS101在適當(dāng)?shù)臅r間讀取數(shù)據(jù)并進行算法處理。當(dāng)TS101向PC104發(fā)送數(shù)據(jù),則先向RAM中寫數(shù)據(jù),寫完后由標(biāo)志位FLAG1產(chǎn)生讀數(shù)據(jù)請求信號,通過CPLD緩沖連接到PC10 4的另一條中斷信號引腳,PC104響應(yīng)中斷讀完數(shù)據(jù),通過寫I/O口的方式由CPLD產(chǎn)生回復(fù)信號到TS101的IRQ1。當(dāng)PC104訪問雙端口RAM時。數(shù)據(jù)總線的16位通過CPLD緩沖連接到RAM左端口的I/O1

8、5LI/O0L,因為16位的數(shù)據(jù)訪問占用的是偶地址,所以地址總線的A16A1在CPLD緩沖后連接到RAM的左端口的A15LA0L地址線。PC104其余的地址線通過在CPLD里的譯碼產(chǎn)生RAM左端口的選通信號。當(dāng)TS101訪問RAM,TS101的前16根地址線連接到RAM的A15RA0R,前16根數(shù)據(jù)線連接到RAM右端口的I/O15RI/O0R,用產(chǎn)生選通信號,通過TS 101的編程實現(xiàn),訪問RAM的有效地址由用戶定義。3 PC104與CPLD的連接關(guān)系    通過CPLD,PC104要實現(xiàn)對雙端口RAM的訪問,首先要考慮的是分配給RAM的存儲地址,因為64 k&#

9、215;16 b的RAM需要64 k的偶地址空間,或者說128 k的連續(xù)地址空間,工控機1 M以內(nèi)可由用戶使用的自由地址空間往往達不到128 k。所以應(yīng)將RAM安排在1 M地址空間以外訪問。此時除了用到用于1 M尋址的地址線SA19SA0,還要采用1 M外尋址的地址線LA23LA17。需要注意的是,PC104的總線上的SA19SA17與LA19LA17是重復(fù)的。區(qū)別在于SA10SA0是通過總線地址鎖存使能信號BALE鎖存輸出,而LA19LA17未經(jīng)鎖存,為保證在對RAM訪問期內(nèi)地址信號一直有效,至少應(yīng)在CPLD內(nèi)將LA23LA20進行BALE鎖存。本文中將RAM的地址安排在1 M地址空間外從1

10、00000 H開始的64 K偶地址。所有需要用到的PC104信號線都連接到CPLD,CPLD將SA16SA1緩沖連接到RAM,其余地址線譯碼產(chǎn)生RAM左端口選通信號。PC104與CPLD連接的訪問邏輯如圖2所示。  圖2  PC104與CPLD鏈接訪問邏輯圖    其中有效表示數(shù)據(jù)總線的高8位有效,SA0有效表示數(shù)據(jù)總線的低8位有效,作為譯碼信號的一部分,對于單片16位數(shù)據(jù)線的集成電路,實際上也可以不連接,用SA0和高端地址線譯碼產(chǎn)生選片信號。AEN信號有效表示計算機在和某個設(shè)備進行DMA傳送,其他的設(shè)備發(fā)現(xiàn)AEN信號有效,就不要響應(yīng)

11、尋址信號。因此在CPLD內(nèi)部邏輯里設(shè)置當(dāng)AEN信號有效時,將進入CPLD的地址信號線置為高阻態(tài)。    是存儲器讀寫信號,是用于1 M以外地址空間的讀寫信號,當(dāng)這兩個信號之一有效且尋址到1 M內(nèi)的地址,將分別使1 M以內(nèi)地址的讀寫      一起控制總線周期的長短。有3種存儲器訪問周期:標(biāo)準(zhǔn)周期,就緒周期,無等待狀態(tài)周期。訪問時序如圖3所示。  圖3  3種訪問周期的訪問時序圖    在設(shè)計的時候考慮到信號在CPLD里的延時,如果標(biāo)準(zhǔn)周期對于訪問的時間長度

12、不夠,可以采 用有1個等待狀態(tài)的就緒周期,而這只需要修改CPLD的設(shè)計并重新下載到CPLD即可,由此可 見用CPLD作為控制芯片的優(yōu)點。4 結(jié)語    本文說明的這種PC104總線與DSP的數(shù)據(jù)通訊接口設(shè)計,也可以作為采用其他計算機總線與DS P進行16位數(shù)據(jù)通訊接口設(shè)計的參考。基于CPLD的PC104系統(tǒng)與CAN總線網(wǎng)絡(luò)通信設(shè)計作者:時間:2014-07-11來源:網(wǎng)絡(luò)英特爾Quark開發(fā)者俱樂部是Quark處理器在國內(nèi)最重要的技術(shù)交流平臺與資源中心,有第一手的技術(shù)資料以及最豐富的Quark開發(fā)案例,英特爾技術(shù)人員坐鎮(zhèn)答疑解惑。1.引言本文引用地址:可編程邏輯器

13、件PLD(Programmable logic Device)就是由用戶進行編程實現(xiàn)所需邏輯功能的數(shù)字專用集成電路ASIC??删幊踢壿嬈骷诂F(xiàn)代電子工程設(shè)計中得到了廣泛應(yīng)用。它是在 PAL,GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的,具有高密度,高速度,低功耗體系結(jié)構(gòu)和邏輯單元,靈活以及運用范圍寬等特點,同時還具有設(shè)計周期短,制造成本低,開發(fā)工具先進,標(biāo)準(zhǔn)產(chǎn)品無需測試,質(zhì)量穩(wěn)定及可實時布線檢驗等優(yōu)點。現(xiàn)場總線技術(shù)廣泛應(yīng)用于工業(yè)和軍用測控局域網(wǎng)中,它可以實現(xiàn)較遠距離、較快速度的信息傳輸,而且只需要雙絞線作為傳輸媒介,簡單可靠。但是,在該技術(shù)應(yīng)用中總線控制器與微機之間的接口電路一般采用單片機來實現(xiàn)。采用這

14、種方式將導(dǎo)致較長的研發(fā)周期和龐大的電路,且難于實現(xiàn)高速數(shù)據(jù)傳輸。本文利用CPLD成功地實現(xiàn)了嵌入式系統(tǒng)與CAN總線網(wǎng)絡(luò)的通信,速度快,易于實現(xiàn),而且非常穩(wěn)定。本系統(tǒng)采用的器件是Altera公司的CPLD,屬于MAX7000系列。Altera公司的CPLD器件主要包括MAX系列、ACEX系列、FLEX系列和APEX系列。其中MAX系列器件為高速實際應(yīng)用提供了非常高的性價比,這基于它先進的MAX架構(gòu)。MAX7000系列提供了速度最快的可編程邏輯器件解決方案,它基于CMOS EEPROM工藝,傳播延遲最小為3.5ns。2.CPLD實現(xiàn)接口電路實時控制系統(tǒng)中,測控局域網(wǎng)利用CAN控制器實現(xiàn)微機間的數(shù)據(jù)

15、傳輸。其基本的設(shè)計思想是:由于PC總線協(xié)議與 CAN控制器不一致,因而在它們中間設(shè)計了一個硬件電路作為接口來實現(xiàn)轉(zhuǎn)換。PC地址與數(shù)據(jù)總線是分離的,而CAN控制器數(shù)據(jù)與地址線通過分時復(fù)用來實現(xiàn)地址與數(shù)據(jù)分離,剛好與單片機一致。單片機技術(shù)雖然較成熟,但是,由于涉及單片機編程和開發(fā)的周期較長,且采用單片機系統(tǒng)需要較龐大的外圍電路,不利于研制系統(tǒng)應(yīng)用于嵌入式系統(tǒng)中。因此,用可編程邏輯器件設(shè)計接口電路,可以有效解決這些問題。本系統(tǒng)采用“主-從”式點對點通信。系統(tǒng)硬件由兩臺PC104主機和兩塊CAN總線通信模塊組成,如圖1所示。主機采用CPU主頻為300MHz的奔騰處理器;CAN總線控制器位SJA1000

16、T;一帶屏蔽的雙絞線作為系統(tǒng)總線;通信波特率可用軟件設(shè)置為 1Mbps;為了提高通信的可靠性,用CAN控制器的報文篩選器對報文進行篩選,來對由于干擾而產(chǎn)生的錯誤報文進行濾波。 圖1 系統(tǒng)硬件組成本系統(tǒng)主要是利用主機PC(PC104)采集多個下位機從被控對象得到的數(shù)據(jù),并進行實時控制和綜合調(diào)度,其原理框圖如圖2所示。 圖2 原理框圖其中CPLD完成從CAN控制器到PC總線的數(shù)據(jù)轉(zhuǎn)換。CAN控制器負責(zé)從總線上采集數(shù)據(jù)??偩€驅(qū)動部分由89C250完成總線驅(qū)動;光電隔離器完成CAN控制器與傳輸電纜的信號隔離,防止電纜上的非規(guī)則信號對CAN控制器產(chǎn)生干擾。3.MAX+PLUS程序設(shè)計

17、Altera公司的MAX+PLUS 是一個高效實用的工具。直接采用原理圖輸入方式,進行編譯后寫入器件中;同時可在線更改寫入內(nèi)容,修改和調(diào)試簡單易行。利用MAX+PLUS 可以對輸入輸出關(guān)系進行在線調(diào)試和仿真,開發(fā)和調(diào)試周期短而高效。MAX+PLUS的軟件設(shè)計的流程包括設(shè)計輸入、功能仿真、編譯、后仿真、編程驗證幾個部分。本文所論述的系統(tǒng)已經(jīng)實現(xiàn)并進行通信測試,在最高通信速度、通信距離、熱冗余和冷冗余實驗等測試中都取得了良好的表現(xiàn)。這里僅論述邏輯設(shè)計輸入和功能仿真。CPLD主要用于實現(xiàn)PC接口板的地址選擇比較器和CAN控制器到PC總線的數(shù)據(jù)轉(zhuǎn)換,其設(shè)計輸入如圖3所示。  

18、60; 圖3 設(shè)計輸入其中compare完成選址功能,MUX2×8完成總線轉(zhuǎn)換。4.仿真實驗為簡明起見,這里僅給出核心的部分時序仿真圖形,如圖4所示。 圖4 核心的部分時序仿真圖形由仿真波形可知,在PC總線的讀寫操作進行時,地址和數(shù)據(jù)很好的實現(xiàn)了轉(zhuǎn)換,讀寫的周期完整,觸發(fā)迅速,保證轉(zhuǎn)換的準(zhǔn)確和迅速,滿足了設(shè)計的要求。5.結(jié)論可編程邏輯器件的應(yīng)用已經(jīng)成為現(xiàn)代電子電路設(shè)計中的高效方式,它可以實現(xiàn)高效率、可靠的設(shè)計,也可以進一步提高電路的集成度;使用它設(shè)計的CAN通信卡可以作為通信接口而滿足嵌入式系統(tǒng)的要求。同時,基于PC104系統(tǒng)的CAN通信的通信效率較高,具有較強的

19、實時性,可以滿足工業(yè)現(xiàn)場高速通信的需要,也可為復(fù)雜控制系統(tǒng)實現(xiàn)實時控制提供強有力的工具。基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅(qū)動作者:時間:2013-10-26來源:網(wǎng)絡(luò)英特爾Quark開發(fā)者俱樂部是Quark處理器在國內(nèi)最重要的技術(shù)交流平臺與資源中心,有第一手的技術(shù)資料以及最豐富的Quark開發(fā)案例,英特爾技術(shù)人員坐鎮(zhèn)答疑解惑。隨著網(wǎng)絡(luò)技術(shù)的成熟,具有價格低廉、連接方便等優(yōu)點的以太網(wǎng)已成為各種控制系統(tǒng)接口互連的主要媒介。它作為一種通用網(wǎng)絡(luò)數(shù)據(jù)通信系統(tǒng),在全球計算機網(wǎng)絡(luò)領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。隨著現(xiàn)代艦船信息化程度的不斷提高,以太網(wǎng)技術(shù)也開始應(yīng)用于現(xiàn)代艦船信息系統(tǒng)中,不但要求信息傳輸速度

20、快,抗干擾能力強,還要求網(wǎng)絡(luò)具有高穩(wěn)定性和高可靠性,在網(wǎng)絡(luò)局部故障或受損時,全系統(tǒng)不至于癱瘓失效。冗余設(shè)計作為一種提高系統(tǒng)可靠性的有效方法,已經(jīng)得到了廣泛的應(yīng)用。對于網(wǎng)絡(luò)系統(tǒng)中的單個節(jié)點,常常需要對網(wǎng)卡進行雙冗余備份,即每個節(jié)點都采用兩個網(wǎng)絡(luò)接口,中間用兩個集線器或交換機互連,當(dāng)正常通信的網(wǎng)卡或線路出現(xiàn)故障時該節(jié)點能自動地切換到備份網(wǎng)卡進行通信。目前大多數(shù)操作系統(tǒng)(如Windows、Unix、Linux等)都支持多網(wǎng)卡,但均非冗余設(shè)計,每塊網(wǎng)卡都有獨立的物理地址和IP地址,以獨立的形式供應(yīng)用系統(tǒng)使用。要實現(xiàn)真正的智能雙冗余網(wǎng)絡(luò)系統(tǒng),必須自行設(shè)計專用的網(wǎng)絡(luò)驅(qū)動程序,以透明的形式提交高層應(yīng)用系統(tǒng)使

21、用,使系統(tǒng)感覺不到雙網(wǎng)卡的存在。本文使用盛博公司PC104結(jié)構(gòu)SCM/DETH型10M雙端口以太網(wǎng)卡,設(shè)計實現(xiàn)了基于VxWorks的智能雙冗余網(wǎng)絡(luò)驅(qū)動。1 VxWorks系統(tǒng)網(wǎng)絡(luò)驅(qū)動原理1.1 VxWorks系統(tǒng)簡介VxWorks操作系統(tǒng)是美國風(fēng)河公司(Wind River System)推出的一款運行在目標(biāo)機上的高性能、可裁減的嵌入式強實時操作系統(tǒng)。操作系統(tǒng)包括了進程管理、存儲管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個部分,只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。它以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空、航天等

22、高精尖技術(shù)及實時性要求極高的領(lǐng)域中。VxWorks主要有以下特點:(1)具有高度可剪裁的操作系統(tǒng)微內(nèi)核Wind;(2)具有比較優(yōu)秀的網(wǎng)絡(luò)處理能力,適用于多種物理介質(zhì)的TCP/IP協(xié)議族支持;(3)具有極其豐富的BSP,支持多處理器系統(tǒng),最多可以支持20個CPU;(4)具有友好的開發(fā)調(diào)試環(huán)境,便于操作、配置和應(yīng)用程序的開發(fā)調(diào)試;(5)具有較好的兼容性,支持POSIX1003.1b;(6)支持多種開發(fā)和運行環(huán)境。支持C語言、C+語言以及JAVA虛擬機。1.2 VxWorks系統(tǒng)網(wǎng)絡(luò)驅(qū)動原理VxWorks中支持兩種類型的網(wǎng)絡(luò)設(shè)備驅(qū)動程序BSD4.3網(wǎng)絡(luò)驅(qū)動程序和可裁減的增強型網(wǎng)絡(luò)堆棧SENS(Sca

23、lable Enhanced Networks Stack)。BSD4.3標(biāo)準(zhǔn)提供了網(wǎng)絡(luò)設(shè)備驅(qū)動程序與IP協(xié)議的緊密結(jié)合,而SENS協(xié)議棧提供了可替換的網(wǎng)絡(luò)設(shè)備驅(qū)動程序,即增強型網(wǎng)絡(luò)驅(qū)動程序END(Enhanced Networks Driver)。SENS模型包含三個部分:協(xié)議驅(qū)動程序、多元接口層(MUX)和END型網(wǎng)絡(luò)驅(qū)動。它獨立于硬件設(shè)備接口,將網(wǎng)絡(luò)設(shè)備驅(qū)動程序細化,使開發(fā)者可以專注于驅(qū)動程序(END驅(qū)動)本身的開發(fā)。本文設(shè)計實現(xiàn)的智能雙冗余驅(qū)動即是一個符合SENS模型標(biāo)準(zhǔn)的END型網(wǎng)絡(luò)驅(qū)動。在END型網(wǎng)絡(luò)驅(qū)動中主要實現(xiàn)網(wǎng)卡設(shè)備的裝載,網(wǎng)絡(luò)芯片的初始化,網(wǎng)絡(luò)報文接收及發(fā)送等功能。在系統(tǒng)啟

24、動后,操作系統(tǒng)通過網(wǎng)卡加載函數(shù)調(diào)用到END型網(wǎng)絡(luò)驅(qū)動,在加載過程中完成網(wǎng)絡(luò)芯片的初始化、內(nèi)存池的分配、網(wǎng)卡設(shè)備控制結(jié)構(gòu)的填寫等操作,最后通過指針傳遞的方式將網(wǎng)卡設(shè)備控制結(jié)構(gòu)和13個網(wǎng)卡操縱函數(shù)提交給MUX層,供上層系統(tǒng)操作網(wǎng)卡工作時使用。2 智能雙冗余驅(qū)動程序?qū)崿F(xiàn)2.1 智能雙冗余驅(qū)動實現(xiàn)原理智能雙冗余驅(qū)動的實現(xiàn)原理如圖1所示,虛線框內(nèi)為智能雙冗余驅(qū)動。在VxWorks系統(tǒng)啟動時,首先要遍歷配置文件confignet.h中的網(wǎng)卡設(shè)備表endDevTbl ,設(shè)備表中包含雙端口網(wǎng)卡上兩個網(wǎng)卡的地址及中斷等配置參數(shù);然后,系統(tǒng)會調(diào)用sysDethEnd.c中的sysDethEndLoad()函數(shù),將

25、兩個網(wǎng)卡的配置參數(shù)以函數(shù)入口參數(shù)的形式傳遞給智能雙冗余驅(qū)動的裝載函數(shù)dethEndLoad();裝載函數(shù)為每個網(wǎng)卡設(shè)備創(chuàng)建一個控制結(jié)構(gòu),對入口配置參數(shù)進行解析,并為每個網(wǎng)卡設(shè)備分配一塊內(nèi)存空間,用系統(tǒng)的配置要求初始化兩個網(wǎng)卡,同時填寫好網(wǎng)卡設(shè)備的控制結(jié)構(gòu);最后,智能雙冗余驅(qū)動將主通道網(wǎng)卡設(shè)備的控制結(jié)構(gòu)指針提交給MUX層,并發(fā)起網(wǎng)絡(luò)故障診斷定時器任務(wù)和網(wǎng)絡(luò)故障診斷任務(wù)。網(wǎng)絡(luò)故障診斷定時器任務(wù)配合網(wǎng)絡(luò)故障診斷任務(wù)執(zhí)行,使用看門狗定時器Watchdog timer完成1ms定時,每定時1次釋放1次二進制信號量sem_netDiagnose;網(wǎng)絡(luò)故障診斷任務(wù)循環(huán)等待接收信號量sem_netDiagno

26、se,取到信號量后立即判斷主通道網(wǎng)卡設(shè)備的端口狀態(tài)(連接/非連接),當(dāng)端口處于連接狀態(tài)時,任務(wù)循環(huán)等待下次信號量,當(dāng)端口處于非連接狀態(tài)時,網(wǎng)絡(luò)故障診斷任務(wù)交換主通道與備用通道的控制結(jié)構(gòu)內(nèi)容,備用通道網(wǎng)卡設(shè)備變?yōu)橹魍ǖ谰W(wǎng)卡設(shè)備開始工作,但對于上層應(yīng)用來說,網(wǎng)卡的控制結(jié)構(gòu)并沒有改變。2.2 網(wǎng)卡設(shè)備控制結(jié)構(gòu) 在智能雙冗余網(wǎng)卡驅(qū)動中使用一個控制數(shù)據(jù)結(jié)構(gòu)控制一塊網(wǎng)卡設(shè)備,控制結(jié)構(gòu)中包含網(wǎng)卡的中斷向量、I/O基址、總線類型、介質(zhì)類型、物理地址等特性信息。這些信息有的在網(wǎng)卡設(shè)備表endDevTbl 中,在系統(tǒng)啟動過程中作為驅(qū)動裝載函數(shù)的參數(shù)傳遞到驅(qū)動中;有的保存在網(wǎng)卡的PROM中,在網(wǎng)卡驅(qū)動程序

27、初始化時,將這些特性參數(shù)寫入網(wǎng)卡控制結(jié)構(gòu)。智能雙冗余網(wǎng)卡驅(qū)動中定義了一個控制單網(wǎng)卡設(shè)備的控制結(jié)構(gòu),如下所示:typedef struct ne2000_deviceintunit;/*網(wǎng)卡單元號*/intilevel;/*中斷優(yōu)先級*/intbyteAccess;/*字節(jié)存儲模式*/ULONGbase;/*基地址*/intoffset;/*內(nèi)存對齊偏移量*/volatile ULONGimask;/*中斷屏蔽碼*/UCHARenetAddr6;/*網(wǎng)卡物理地址*/ DETHEND_DEVICE;驅(qū)動中創(chuàng)建了兩個網(wǎng)卡設(shè)備控制結(jié)構(gòu)分別控制兩塊網(wǎng)卡。上層應(yīng)用通過操作網(wǎng)卡控制結(jié)構(gòu)從而實現(xiàn)對網(wǎng)卡的各種操

28、作。2.3 網(wǎng)絡(luò)通信故障診斷方法要實現(xiàn)網(wǎng)絡(luò)端口的智能切換,實現(xiàn)網(wǎng)卡間冗余備份的功能,首要前提就是需要診斷出當(dāng)前工作的網(wǎng)卡是否網(wǎng)絡(luò)通信故障。任何一種網(wǎng)絡(luò)芯片都提供連接狀態(tài)自動診斷功能,通過在網(wǎng)絡(luò)芯片的某個寄存器的相應(yīng)位置0或置1來表示該網(wǎng)卡連接正常還是連接錯誤。它所檢測的依據(jù)是網(wǎng)卡是否連通,也就是從本機網(wǎng)絡(luò)端口到網(wǎng)線另一端的網(wǎng)絡(luò)端口整個通路是否連通,它能檢測出網(wǎng)線斷開、網(wǎng)絡(luò)接口松動及故障等錯誤。本文使用的SEM/DETH雙端口以太網(wǎng)卡采用兩塊RTL8019AS網(wǎng)絡(luò)芯片,該網(wǎng)絡(luò)芯片的寄存器組采用分頁存儲方式,共分為4頁,都映射到16個I/O地址空間上。其中,第3頁CONFIG0寄存器的B2位表示網(wǎng)

29、卡連接狀態(tài)自動診斷結(jié)果,當(dāng)該位為1時表示連接錯誤,為0時表示連接正常。智能雙冗余驅(qū)動的網(wǎng)絡(luò)故障診斷任務(wù)判斷網(wǎng)卡連接狀態(tài)的代碼如下:setting=sysInByte(pDrvCtrl->base); /*讀取命令寄存器狀態(tài)*/sysOutByte(pDrvCtrl->base,(0xc0|setting);/*選擇第3頁寄存器組*/if(sysInByte(pDrvCtrl->base+CONFIG0_REG) 0x04)/*網(wǎng)絡(luò)連接錯誤*/ 2.4 單物理地址實現(xiàn)要使兩塊網(wǎng)卡實現(xiàn)智能雙冗余備份,它們必須有相同的物理地址和IP地址。否則,當(dāng)由其中一個網(wǎng)卡切換到另一個網(wǎng)卡上時,

30、如果IP地址發(fā)生變化,系統(tǒng)將無法正常接收、發(fā)送數(shù)據(jù);如果IP地址不發(fā)生變化而僅僅物理地址發(fā)生變化,雖然網(wǎng)卡切換后,系統(tǒng)仍可以正常接收、發(fā)送數(shù)據(jù),但由于物理地址發(fā)生變化,將引起協(xié)議棧中ARP綁定表的變化,重新對應(yīng)ARP綁定表中IP地址與網(wǎng)卡物理地址的關(guān)系,則延長了兩個網(wǎng)卡之間的切換時間。系統(tǒng)的IP地址存在于系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧中,在系統(tǒng)啟動后與網(wǎng)卡進行綁定。由于本文設(shè)計實現(xiàn)的智能雙冗余驅(qū)動對于應(yīng)用系統(tǒng)和協(xié)議棧來說呈現(xiàn)單網(wǎng)卡的特征,網(wǎng)卡之間的切換只在驅(qū)動程序中完成,所以,當(dāng)發(fā)生網(wǎng)卡切換時,系統(tǒng)的IP地址并不發(fā)生變化。對于網(wǎng)卡的物理地址來說,通常每塊網(wǎng)卡有一個全世界范圍內(nèi)惟一的物理地址,它保存在網(wǎng)卡的P

31、ROM中。網(wǎng)卡初始化時,要從PROM中讀出物理地址,把它存放在適當(dāng)?shù)募拇嫫骱蛿?shù)據(jù)結(jié)構(gòu)中,對外來說,寄存器和數(shù)據(jù)結(jié)構(gòu)中的數(shù)值就是這塊網(wǎng)卡的物理地址。在智能雙冗余驅(qū)動程序中,當(dāng)驅(qū)動程序初始化時只讀取一塊網(wǎng)卡PROM中的物理地址,然后把這個地址寫入兩塊網(wǎng)卡的對應(yīng)物理地址寄存器和數(shù)據(jù)結(jié)構(gòu)變量pDrvCtrl中,這樣,兩塊網(wǎng)卡對外就具有統(tǒng)一的物理地址了。因為驅(qū)動程序自始至終只有一塊網(wǎng)卡處于激活狀態(tài),另一塊作為備份,因此不會發(fā)生同一個網(wǎng)絡(luò)上兩個物理地址相同出現(xiàn)沖突這種現(xiàn)象。3 性能測試3.1 測試方法針對本文設(shè)計、實現(xiàn)的雙端口網(wǎng)卡智能雙冗余驅(qū)動進行性能測試。將智能雙冗余驅(qū)動編譯到VxWorks操作系統(tǒng)中,

32、使用帶有SEM/DETH雙端口以太網(wǎng)卡的計算機做目標(biāo)機,使用兩根網(wǎng)線把目標(biāo)機連接到交換機上。目標(biāo)機應(yīng)用程序以40次/秒的速率向外發(fā)送UDP廣播報文。采用普通PC機作為主機系統(tǒng),運行Windows2000操作系統(tǒng),使用sniffer Pro工具進行網(wǎng)絡(luò)監(jiān)控。3.2 測試結(jié)果及分析測試結(jié)果如圖2所示,橫坐標(biāo)代表報文數(shù),縱坐標(biāo)代表主機接收到的目標(biāo)機UDP廣播報文中兩個連續(xù)UDP報文之間的間隔時間(單位為秒)。由圖2可以看到,由于目標(biāo)機正常工作狀態(tài)下是以40次/秒的速率廣播發(fā)送UDP網(wǎng)絡(luò)報文的,所以每兩個報文之間的時間間隔大部分為25ms左右。在圖2中出現(xiàn)了8次主機接收到的廣播報文時間間隔為100ms

33、左右的情況,這是由于在目標(biāo)機端進行了8次網(wǎng)卡切換,在網(wǎng)卡切換過程中出現(xiàn)了報文丟失現(xiàn)象。由測試結(jié)果看,本文設(shè)計實現(xiàn)的智能雙冗余驅(qū)動能夠很好地實現(xiàn)雙端口網(wǎng)卡冗余備份的功能,在檢測到主通道網(wǎng)卡設(shè)備連接錯誤時可以切換到備用通道繼續(xù)進行網(wǎng)絡(luò)通信,并且可以在兩塊網(wǎng)卡之間循環(huán)切換;同時,該驅(qū)動對上層用戶透明,呈現(xiàn)單網(wǎng)卡的特性,完全在驅(qū)動中實現(xiàn)網(wǎng)卡間的冗余備份。本文設(shè)計實現(xiàn)了一個基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅(qū)動,在驅(qū)動中實現(xiàn)了網(wǎng)絡(luò)通信故障診斷和網(wǎng)卡間智能切換功能,對上層應(yīng)用呈現(xiàn)單網(wǎng)卡特性。通過對設(shè)計實現(xiàn)的智能雙冗余驅(qū)動進行性能測試,驗證了設(shè)計的正確性和有效性,但通過測試結(jié)果也可以看到,在網(wǎng)卡切換過

34、程中還存在切換時間較長的問題,有待進一步研究?;赑C104總線的2FSK調(diào)制器的設(shè)計與實現(xiàn)作者:時間:2010-03-23來源:網(wǎng)絡(luò)伺服/機器人/新能源的新技術(shù)!大集成工業(yè)時代 應(yīng)運而生英特爾Quark開發(fā)者俱樂部是Quark處理器在國內(nèi)最重要的技術(shù)交流平臺與資源中心,有第一手的技術(shù)資料以及最豐富的Quark開發(fā)案例,英特爾技術(shù)人員坐鎮(zhèn)答疑解惑。摘要:總線與外圍設(shè)備的接口一直是現(xiàn)代工業(yè)控制中最常用而又很重要的一項內(nèi)容;FPGA由于其諸多優(yōu)點也受到電路設(shè)計者的青睞,得到越來越多的應(yīng)用。該調(diào)制器集成了這兩方面的應(yīng)用,將PC104總線上的數(shù)據(jù)通過FPGA進行數(shù)字調(diào)制,經(jīng)放大濾波后產(chǎn)生連續(xù)、沒有相位

35、突變的2FSK信號,并輸出到外圍設(shè)備,起到數(shù)據(jù)傳輸和控制的作用。關(guān)鍵詞:PC104總線;FPGA;2FSK;調(diào)制器本文引用地址:嵌入式計算機系統(tǒng)在現(xiàn)代工業(yè)控制中發(fā)揮著越來越重要的作用,它具有便攜、可靠、低功耗、通用、易擴展等諸多優(yōu)點。使用嵌入式系統(tǒng)進行工業(yè)控制要涉及到計算機數(shù)據(jù)的傳輸、采集、調(diào)制解調(diào)等一系列問題。本調(diào)制器是一種基于PC104總線的嵌入式系統(tǒng)的外圍設(shè)備,嵌入式計算機系統(tǒng)通過PC104總線將數(shù)據(jù)發(fā)送到端口,調(diào)制器接收數(shù)據(jù)并進行調(diào)制后,將信號輸出到受控設(shè)備,從而對相應(yīng)設(shè)備起到控制的功能。在本調(diào)制器的硬件電路中使用FPGA,提高了系統(tǒng)的通用性。1 總體結(jié)構(gòu)該調(diào)制器實現(xiàn)的功能主要包括:識

36、別并接收總線發(fā)送的數(shù)據(jù);根據(jù)不同地址控制信號將數(shù)據(jù)按路區(qū)分(共四路);每路分別將數(shù)據(jù)按照連續(xù)調(diào)制的方式進行2FSK調(diào)制;對調(diào)制后的信號進行放大整形并發(fā)送到端口。因此,該調(diào)制器的電路部分分別包括數(shù)據(jù)接收部分、FPGA及外圍電路(實現(xiàn)數(shù)據(jù)分路及數(shù)字調(diào)制功能)、DA轉(zhuǎn)換電路、放大濾波電路等。系統(tǒng)總體結(jié)構(gòu)如圖1所示。2 PC104總線及數(shù)據(jù)接收電路PCI04總線是專門為嵌入式系統(tǒng)開發(fā)的系統(tǒng)總線,是一種自堆棧式、模塊化的總線,它基于ISA總線發(fā)展而來,有16位和8位兩種接口方式(分別為64+40引腳和64引腳端口結(jié)構(gòu)),該總線具有結(jié)構(gòu)緊湊、便攜、可靠、功耗低、易擴展等優(yōu)點。對于工程開發(fā)而言,常用的引腳主

37、要有以下幾個:SD0SD7,SD8SD15:數(shù)據(jù)總線,當(dāng)采用8位接口方式時,只有SD0SD7工作;SA0SA19,LA17LA23:地址信號,對端口進行操作時使用SA0SA9;AEN:DMA選通信號,為高電平時表示處于DMA模式;IOW,IOR:端口寫、讀信號,低電平有效;SYSCLK:系統(tǒng)提供的基準(zhǔn)時鐘信號,是標(biāo)準(zhǔn)的方波信號,約為8 MHz;VCC,GND,+12 V,-12 V:系統(tǒng)提供的電源接口。 數(shù)據(jù)接收電路就是要在正確的時序上將所需的數(shù)據(jù)進行提取,還要實現(xiàn)將電路工作狀態(tài)傳送回總線,以便總線決定是否發(fā)送下組數(shù)據(jù)的功能。由于PC104總線最高支持約8 MHz的時鐘頻率,而受控設(shè)

38、備所需的2FSK信號頻率為幾千赫茲,因此這里只用8位數(shù)據(jù)總線就完全能夠滿足要求??偩€接收電路如圖2所示。其中SD0SD9,SA0SA9是從總線發(fā)來的數(shù)據(jù)、地址信號,SELOSEL3為分路選擇信號,ANSWER0ANSWER3為FPGA的狀態(tài)返回信號,由于總線速度要比2FSK輸出速度高得多,因此,總線要對FPGA數(shù)據(jù)緩存器是否為空進行查詢,當(dāng)FPGA沒有完成數(shù)據(jù)轉(zhuǎn)換時,總線要等下個周期,直到狀態(tài)返回信號顯示FPGA內(nèi)部為空時,總線才可以發(fā)送下組數(shù)據(jù)到FPGA。74LS273負責(zé)將每路的數(shù)據(jù)分別進行鎖存,4路數(shù)據(jù)共使用4個。OUT1D0D7為第一路8位數(shù)據(jù)輸出,LOCK0為其控制信號,表示數(shù)據(jù)的更

39、新。本文引用地址:3 FPGA及其外圍電路FPGA具有集成度高、設(shè)計靈活、易于修改、節(jié)省空間、通用性高等優(yōu)點。本調(diào)制器中FPGA采用的是Al-tera公司的EPF10K20TC144-4器件,該器件具有20 000個典型門,1 153個邏輯單元,144引腳,包括2個全局輸入時鐘,4個全局輸入,86個通用可編程IO引腳。該芯片采用TQFP封裝,芯片面積較小,功耗低,其輸入、輸出與TTL與PC104總線電平完全兼容。FPGA電路主要實現(xiàn)的功能為:接收數(shù)據(jù)提取電路發(fā)送的分路數(shù)據(jù);以總線上的SYSCLK時鐘為基準(zhǔn),通過分頻產(chǎn)生受控設(shè)備能識別的頻率;為每路輸出進行2FSK的數(shù)字調(diào)制,保證信號的連續(xù)性;完

40、成本身的FPGA電路配置。FPGA配置電路如圖3所示。本文引用地址:FPGA的配置使用PS和JTAG兩種方式,既能實現(xiàn)JTAG方式下電路在線調(diào)試,又能保證調(diào)試完成后能夠正確使用相應(yīng)的配置器件。其中JP5*2插座為JTAG配置端口,TDI、TDO、TMS、TCK為JTAG配置引腳,該配置方式采用BlasterMV線,通過配置計算機的并口與電路板配置端口進行連接,用于將編寫好的配置數(shù)據(jù)實時傳送到FPGA,該方式主要用于電路調(diào)試;EPC1C8為FPGA配置器件,采用PS(被動串行)配置方式,由于FPGA內(nèi)部存儲器屬于易失性RAM存儲因此每次加電后都要將程序重新寫入FPGA,配置器件本身就是存儲器,其

41、主要作用就是在每次加電后將程序?qū)懭隖PGA,保證調(diào)試完畢的電路能夠正常單獨進行工作。來自前級電路的數(shù)據(jù)及控制信號、發(fā)到DA轉(zhuǎn)換電路的數(shù)據(jù)都連接到FPGA芯片的通用IO引腳,通過編程實現(xiàn)所需功能。對FPGA的編程使用Altera公司的Quartus軟件,該軟件采用圖形化與VHDL語言混合編程,易于調(diào)試修改。編程實現(xiàn)的主要功能為:對輸入數(shù)據(jù)進行鎖存移位,確保每位數(shù)據(jù)都能得到正確處理;產(chǎn)生兩組分頻時鐘參與2FSK調(diào)制,并使分頻后的時鐘按照時序進入數(shù)字調(diào)制器;數(shù)字調(diào)制器負責(zé)將不同頻率始終按照順序依次產(chǎn)生連續(xù)量化的8位正弦波數(shù)字量輸出到端口。 本設(shè)計中由于采用兩種頻率分時產(chǎn)生,按時序進入調(diào)制器

42、,而正弦波數(shù)字調(diào)制器單獨工作的方法,保證了輸出正弦波具有連續(xù)的相位,不會產(chǎn)生相位突變。4 DA轉(zhuǎn)換電路DA轉(zhuǎn)換共包括四路,其主要功能是將FPGA輸出的已調(diào)制好的2FSK數(shù)字信號轉(zhuǎn)換為正弦波信號。由于FPGA在進行數(shù)字調(diào)制時產(chǎn)生的是連續(xù)量化的正弦波形,兩個頻率之間不存在相位的突變,不會存在大量的高頻雜波,因此,后期的信號處理電路使用放大電路與簡單的丌型濾波器對信號進行處理即可得到比較理想的2FSK信號。DA轉(zhuǎn)換電路如圖4所示。此電路采用AD7524作為DA轉(zhuǎn)換器,AD7524屬于T型電阻網(wǎng)絡(luò)型DAC,電流輸出,8位數(shù)字輸入,輸出建立時間O2 s015s,其數(shù)字輸入端可采用5 V15 V兩種輸入,

43、本電路采用兼容TTL電平的5 V輸入。電路中將其輸入控制端CS、WR同時接地,當(dāng)有來自FPGA的數(shù)據(jù)AD1O17輸入時無需鎖存,直接進行轉(zhuǎn)換,因此要求FPGA的輸出要具有鎖存功能,此接法可減少輸出控制線,減少時序干擾。R1AD1和R1AD2為DA輸出波形調(diào)整電阻,主要用于調(diào)整波形位置,不致產(chǎn)生失真。DA輸出采用雙極性接法,通過兩路LM324通用放大器進行電壓放大,輸出2FSK信號。圖5(a)為經(jīng)過DA轉(zhuǎn)換后輸出的波形在示波器上的截圖,由圖中可以看到,數(shù)字調(diào)制并經(jīng)DA轉(zhuǎn)換后,波形是一種階梯狀正弦波,且波形連續(xù),頻率變換交界處無相位突變。該信號經(jīng)過雙極性放大器放大并通過丌型濾波器后變成如圖5(b)

44、所示的連續(xù)正弦波。 本文引用地址:5 結(jié) 語采用FPGA進行2FSK調(diào)制不但能產(chǎn)生連續(xù)相位,還能通過軟件直接修改其調(diào)制方式、產(chǎn)生頻率等一系列參數(shù),具有很好的通用性。本電路中數(shù)據(jù)提取電路屬于原理性電路,實際設(shè)計中可將該部分電路置于FPGA內(nèi)部進行設(shè)計,而系統(tǒng)參考時鐘SYSCLK可接在FPGA的全局時鐘輸入端,減少延遲差異。PC104總線系統(tǒng)是一種新型的計算機測控平臺,作為嵌入式PC的一種,在軟件與硬件上與標(biāo)準(zhǔn)的臺式PC(PC/AT)體系結(jié)構(gòu)完全兼容,它具有如下優(yōu)點:體積小、十分緊湊,并采用模塊化結(jié)構(gòu),功耗低,總線易于擴充,緊固堆疊方式安裝,適合于制作高密度、小體積、便攜式測試設(shè)備,因此

45、在軍用航空設(shè)備上有著廣泛的應(yīng)用,但也正是PC104板的這種小尺寸結(jié)構(gòu)、板上可用空間少給設(shè)計帶來了一定的困難,所以本設(shè)計采用了復(fù)雜可編程器件CPLD,用CPLD完成了PC104總線與429總線通訊的主要電路,大大節(jié)省了硬件資源,本文著重介紹了CPLD部分的設(shè)計。本文引用地址:1 系統(tǒng)總體設(shè)計CPLD是一種復(fù)雜的用戶可編程邏輯器件,由于采用連續(xù)連接結(jié)構(gòu),易于預(yù)測延時,從而使電路仿真更加準(zhǔn)確。再加上使用方便的開發(fā)工具,如MAX+PLUSII、Quartus等,使用CPLD器件可以極大地縮短產(chǎn)品開發(fā)周期,給設(shè)計修改帶來很大方便。本論文描述了利用開發(fā)工具MAX+PLUS II實現(xiàn)CPLD處理ARINC4

46、29數(shù)據(jù)通信。系統(tǒng)設(shè)計方案如圖1所示。        ARINC429收發(fā)電路部分,由兩組3282和3l82芯片構(gòu)成,其中每組芯片實現(xiàn)二路接收、一路發(fā)送,其中的控制信號均有CPLD編程產(chǎn)生:在CPLD部分,D0.15為16位雙向數(shù)據(jù)總線,實現(xiàn)AR1NC429收發(fā)電路與PC104總線接口之間的數(shù)據(jù)通信,IO16為16位芯片選擇信號;在PC104總線接口部分,XD0.15為16位雙向數(shù)據(jù)總線,XA1.9為地址總線,連接CPLD,進行選片操作,XIOR和XIOW 為IO讀寫信號,XAEN 是允許DMA控制地址總線、數(shù)據(jù)總

47、線和讀寫命令線進行DMA傳輸以及對存儲器和I/O設(shè)備的讀寫。2 系統(tǒng)硬件組成429的PC104總線接口板的硬件組成框圖如圖2所示,主要包括AR1NC429收發(fā)電路(HS3282和HS3l82芯片組)、CPLD、429板與PC 機的接口總線PC104總線、與外部的429接口IDC16插座、中斷控制開關(guān)等,其關(guān)系如圖2所示。        本接口板元器件布局如圖3所示。        3 CPLD內(nèi)部功能及實現(xiàn)3.1 開發(fā)流程描述本系統(tǒng)中的

48、CPLD使用Altera公司的MAX7000S系列可編程邏輯器件中的EPM7128SQC100-6型號,從最初的電路設(shè)計思想到MAX+PLUSII的波形仿真,再到CPLD芯片編程結(jié)束要經(jīng)過的一般開發(fā)流程如圖4所示。        3.2 CPLD中的模塊設(shè)計本設(shè)計中CPLD 的功能是實現(xiàn)ARINC429收發(fā)電路與接口板的接口總線PC104總線的數(shù)據(jù)通信。其功能模塊可以分為6部分,以下逐一介紹各模塊的功能及其實現(xiàn)的方法。(1)產(chǎn)生AR1NC429控制器HS3282所需的TTCLK時鐘信號模塊TTCLK即發(fā)射器時鐘信號

49、,本設(shè)計中該信號有480 KHZ和1 MHZ兩種可選頻率,是由一個48 MHZ的晶振提供信號給CPLD,然后由CPLD編程產(chǎn)生480KHZ和1MHZ兩種信號以備選擇。該模塊用圖形編輯的方式實現(xiàn)。要產(chǎn)生3282所需要的480KHZ信號需要對輸入48MHZ信號進行兩次10分頻,要產(chǎn)生1 MHZ信號需要對輸入信號進行6分頻再8分頻。6分頻電路采用3個JK觸發(fā)器實現(xiàn),8分頻電路采用74393實現(xiàn),10分頻電路采用7490實現(xiàn)。(2)產(chǎn)生復(fù)位信號/MR和控制發(fā)射器使能信號ENTX的信號ENT模塊/MR是對3282的主復(fù)位信號,/MR將直接送到HS3282,而ENT將送到另一模塊中,用于控制發(fā)射器使能信號

50、ENTX的產(chǎn)生,ENTX=ENT*/TXR,其中TXR為發(fā)送緩沖區(qū)空標(biāo)志。該模塊也采用電路設(shè)計輸入方式。其電路主要由4個D型觸發(fā)器74LS74芯片來完成。輸入為總線驅(qū)動器的前4個輸出,即D0D3,時鐘脈沖為產(chǎn)生HS3282讀寫信號模塊的一個輸出信號/WR3,輸出為兩個HS3282的復(fù)位信號/MR1和/MR2以及ENT1和ENT2。本模塊具體實現(xiàn)電路如圖5所示。       (3)產(chǎn)生片選信號/MCS的模塊本文引用地址:本模塊產(chǎn)生的/MCS信號用于驅(qū)動雙向總線驅(qū)動器,進行數(shù)據(jù)傳輸,并用于選片對HS3282進行讀寫。此模塊用一片

51、8位判決電路74LS688來實現(xiàn)其功能。其中P5-P1接一組基址選擇開關(guān),Q5Q1分別接PC104總線的地址總線的XA7、XA9、XA8、XA6和XA5,G接PC104總線的地址使能信號端XAEN。只有當(dāng)XAEN輸入為低時,并且P5Pl與Q5-Q1的對應(yīng)端相等時,輸出為低,才有效。(4)雙向總線驅(qū)動器模塊該模塊實現(xiàn)AR1NC429收發(fā)電路與接口板的接口總線PC104總線的16位數(shù)據(jù)傳輸。該模塊設(shè)計過程為,先用VHDL設(shè)計輸入方式設(shè)計兩個單向三態(tài)數(shù)據(jù)收發(fā)器,然后用電路設(shè)計輸入方式,將兩個單向數(shù)據(jù)收發(fā)器合成為一個雙向數(shù)據(jù)收發(fā)器。雙向總線驅(qū)動器模塊的功能表如表1所示。  

52、0;      表1 雙向總線驅(qū)動器模塊的功能表 使能信號E 方向DIR 操作         雙向總線驅(qū)動器模塊產(chǎn)生其一個單向三態(tài)數(shù)據(jù)收發(fā)器(TRI_GATE1)的VHDL語言設(shè)計如下        產(chǎn)生另一個單向三態(tài)數(shù)據(jù)收發(fā)器(TRI_GATE)的VHDL語言與此類似,只是少了D0D3的輸出部分。兩個單向三態(tài)數(shù)據(jù)收發(fā)器構(gòu)成雙向總線驅(qū)動器的電路設(shè)計如圖6所示(D0_outD3

53、_out作為圖5中的D0-D3輸入)        (5)產(chǎn)生HS3282讀信號與寫信號和ENTX使能信號模塊本模塊要實現(xiàn)的功能是產(chǎn)生HS3282的讀寫信號和發(fā)送使能信號及一個送入PC104總線的輸入輸出16位芯片選擇信號/IO16。該模塊用VHDL語言輸入,其相應(yīng)的VHDL語言如下                  (6)中斷控制模塊本

54、模塊用于實現(xiàn)中斷控制操作,有一個接收器滿便產(chǎn)生中斷,產(chǎn)生中斷時亦能判斷出中斷源。該模塊是用VHDL輸入方式產(chǎn)生的,其相應(yīng)的VHDL程序如下        3.3 CPLD程序的下載各輸入模塊經(jīng)過編譯處理,根據(jù)其相互關(guān)系連結(jié),再通過功能仿真和時序仿真確認無誤后,對各輸入輸出端口進行管腳分配。當(dāng)整個設(shè)計完成時,MAX+PLUSII將生成一個文件(.pof),該文件通過下載電纜從JTAG口傳送到PC104板上的CPLD芯片內(nèi)部。這樣就可將CPLD構(gòu)造成自己的專用芯片,由此便可以對設(shè)計的PC104板卡進行調(diào)試。調(diào)

55、試過程中CPLD的設(shè)計部分還可根據(jù)需要進行修改,只是修改后要重新產(chǎn)生.pof文件,重新將文件加載到芯片中。4 結(jié)束語針對PC104接口板的尺寸小的特點,本論文介紹了用CPLD實現(xiàn)基于PC104總線的429接口板,CPLD大大節(jié)省了硬件資源,同時也節(jié)省了板卡上的可利用空間,徹底解決了PC104 板卡的小尺寸給設(shè)計帶來的困難。且CPLD修改簡單,給調(diào)試工作帶來了方便。該板卡經(jīng)過調(diào)試后實驗,可穩(wěn)定工作。實驗結(jié)果表明:應(yīng)用CPLD簡化了系統(tǒng)結(jié)構(gòu),縮短了設(shè)計周期,提高了系統(tǒng)的可靠性。DSP HPI口與PC104總線接口的FPGA設(shè)計作者:時間:2006-07-19來源:網(wǎng)絡(luò)伺服/機器人/新能源的新技術(shù)!

56、大集成工業(yè)時代 應(yīng)運而生英特爾Quark開發(fā)者俱樂部是Quark處理器在國內(nèi)最重要的技術(shù)交流平臺與資源中心,有第一手的技術(shù)資料以及最豐富的Quark開發(fā)案例,英特爾技術(shù)人員坐鎮(zhèn)答疑解惑。摘 要 通過對TI公司TMS320C5000系列DSP HPI總線和PC104總線時序的分析,以VHDL語言為工具,使用Altera的FPGA芯片EP1K50,設(shè)計完成PCI04總線和DSP HPI總線之間的通信接口,并在一款以TMS320VC5409DSP為數(shù)據(jù)采集處理器、研華嵌入式工控主板PCM-5825為系統(tǒng)主板組成的嵌入式數(shù)據(jù)采集系統(tǒng)申得到了運用;給出與整個接口設(shè)計相關(guān)的V

57、HDL源代碼和在PCM-5825上驗證接口設(shè)計的X86匯編語言程序。關(guān)鍵詞 DSP HPI PC104總線 FPGA VHDL源代碼在一款嵌入式數(shù)據(jù)采集系統(tǒng)的設(shè)計中,采用TMS320VC5409 DSP作為對多路信號的采集與預(yù)處理,處理后的數(shù)據(jù)送至12.7 Cm(5in)的工控計算機中進行分析與保存。因為工控機的總線為PC104,因此需要設(shè)計PC104與DSP之間的通信接口。系統(tǒng)中以Altera公司的一片F(xiàn)PGA芯片EPlK50來對該接口和數(shù)據(jù)采集過程中的邏輯控制與FIFO進行設(shè)計。下面主要闡述該通信接口的設(shè)計。1 DSP的HP0接口TMS32

58、0VC5409 DSP的HPI是一個8位的并行接口,主要用來與主設(shè)備或主處理器接口。DSP內(nèi)部有一定數(shù)量的雙訪問RAM,除了DSP本身可以訪問該RAM區(qū)域外,主機也可以通過HPI口實現(xiàn)對雙訪問RAM的訪問,從而實現(xiàn)主機與DSP的通信。HPI接口通過HPI控制寄存器HPIC、地址寄存器HPIA、數(shù)據(jù)寄存器HPID等3個HPI寄存器進行控制和實現(xiàn)數(shù)據(jù)傳輸。這3個寄存器都是16位的,因此主機訪問這些寄存器時需要分兩次操作才能完成。HPIC只有4位用于控制HPI的操作,這4位分別位于高字節(jié)和低字節(jié)的低4位,并規(guī)定HPIC的高低字節(jié)必須相同:Bit08(BOB)一一用于字節(jié)順序控制,BOB=1表示第1個字節(jié)為低字節(jié),否則第1個字節(jié)為高字節(jié);Bitl9(SMOD)一一訪問模式控制,SMOD=l表示共享訪問模式(SAM),否則為主機訪問模式(HOM);Bit210(DSPINT)一一主機通過將該位寫l來向DSP發(fā)送1次HPI中斷;Bit311(H1NT)一一DSP通過向該位置l,使外部引腳HINT產(chǎn)生一個低電子作為給主機的中斷,中斷的清除必須由主機向該位寫l來清除。HPID是數(shù)據(jù)寄存器,主機通過讀寫該寄存器來實現(xiàn)對共享RAM的讀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論