基于PCI總線的測(cè)控卡的設(shè)計(jì)
發(fā)布時(shí)間:2007/4/23 0:00:00 訪問次數(shù):1377
關(guān)鍵詞:PCI9054 FPGA 狀態(tài)機(jī) 乒乓FIFO WinDriver
PCI總線是一種高性能的局部總線,它具有32/64位總線寬度,且總線地址和數(shù)據(jù)復(fù)用,支持猝發(fā)傳輸,傳輸速率高達(dá)132MB/s;同時(shí)可支持多組外圍設(shè)備。另外,PCI總線不依賴于熱和CPU,具有較好的兼容性。
近幾年來,現(xiàn)場(chǎng)可編程門陣列(FPGA)在現(xiàn)代電子設(shè)計(jì)中的成功應(yīng)用,使充分利用FPGA的本身資源設(shè)計(jì)專用電路,完成系統(tǒng)功能成為可能,從而簡(jiǎn)化了電路、縮小了體積、提高了穩(wěn)定性、具有更大的靈活性。
基于這種設(shè)計(jì)思想,筆者利用FPGA和PCI總線接口芯片設(shè)計(jì)了一種測(cè)控電路板卡,經(jīng)實(shí)驗(yàn)運(yùn)行,效率很好。
1 系統(tǒng)結(jié)構(gòu)與功能
本板卡為基于PCI總線,采用RS485電平傳輸?shù)漠惒酱型ㄐ艤y(cè)控卡。它與PCI總線的協(xié)議部分利用PCI9054專用接口芯片來完成。PCI9054是由美國(guó)PLX公司生產(chǎn)的一款高性能PCI I/O加速器,它采用了先進(jìn)的32位數(shù)據(jù)管道結(jié)構(gòu)技術(shù),支持復(fù)用/非復(fù)用的32位數(shù)據(jù)/地址總線,本地總線有三種模式可選;M、C、J模式,被廣泛應(yīng)用于PCI總線板卡的開發(fā)中。在本設(shè)計(jì)中,PCI9054工作在C模式下,采用中斷方式,總線周期為“PCI目標(biāo)讀單周期”和“PCI目標(biāo)寫單周期”,數(shù)據(jù)總線為8位。
異步串行通信電路部分完全用FPGA來實(shí)現(xiàn)。在設(shè)計(jì)上,筆者選用了Xilinx公司的Spartan II系列的XC2S200來實(shí)現(xiàn)異步串行通信的接收、發(fā)送和接口控制功能,F(xiàn)PGA具有在線可編程能力,設(shè)計(jì)者可根據(jù)實(shí)際需求分配資源。
測(cè)控卡的通信協(xié)議為起止式協(xié)議,采用固定的幀格式:1位開始位、8位數(shù)據(jù)位、1位停止位,無奇偶校驗(yàn)位,在軟件中采用統(tǒng)一的CRC校驗(yàn),傳輸波特率為19.2kbps。為保證接收數(shù)據(jù)的正確性,設(shè)計(jì)中采用16倍頻波特率作為接收采樣時(shí)鐘,并把第八個(gè)采樣值作為接收數(shù)據(jù)。
測(cè)控卡主要完成以下工作:采用RS485差分電平傳輸?shù)倪b測(cè)數(shù)據(jù)經(jīng)過電平轉(zhuǎn)換后,由接收模塊接收后乒乓緩存到FIFO中,并通過PCI總線接口芯片PCI9054以單周期方式送到計(jì)算機(jī)內(nèi)存中以便進(jìn)行下一步處理。發(fā)送模塊接收到PCI總線傳輸過來的遙控命令后,按照通信協(xié)議格式組幀,在通過電平轉(zhuǎn)換芯片轉(zhuǎn)換成RS485電平后,以19.2kHz的頻率發(fā)送給目標(biāo)設(shè)備,實(shí)現(xiàn)對(duì)目標(biāo)設(shè)備的各種控制。
根據(jù)以上分析,筆者設(shè)計(jì)的測(cè)控卡的具體功能結(jié)構(gòu)如圖1所示。下面詳細(xì)闡述各部分的功能。
·MAX3490E:完成RS485差分電平到TTL電平的轉(zhuǎn)換;
·接收模塊:完成遙測(cè)數(shù)據(jù)的接收和緩沖;
·發(fā)送模塊:完成遙控?cái)?shù)據(jù)的緩沖和發(fā)送;
·接口模塊:實(shí)現(xiàn)與PCI9054的接口功能,完成讀寫和傳輸控制操作;
·PCI9054:完成和PCI總線的接口協(xié)議。
1.1 發(fā)送模塊設(shè)計(jì)
發(fā)送模塊主要實(shí)現(xiàn)對(duì)遙控?cái)?shù)據(jù)的緩存和并/串轉(zhuǎn)換,同時(shí)按照設(shè)計(jì)的異步串行通信數(shù)據(jù)幀格式進(jìn)行相應(yīng)的處理,最后將數(shù)據(jù)串行發(fā)送。處理器讀取線路狀態(tài)寄存器信息,檢查發(fā)送FIFO(TxFifo)是否為空,如為空且有遙控?cái)?shù)據(jù)待發(fā),則將控制數(shù)據(jù)通過PCI9054發(fā)送并存儲(chǔ)到發(fā)送FIFO中。發(fā)送狀態(tài)機(jī)讀取TxFifo中數(shù)據(jù),通過并/串移位后用19.2kbps的波特率串行輸出。發(fā)送狀態(tài)機(jī)實(shí)現(xiàn)起止位“0”、并/串移位信號(hào)、停止位“1”的發(fā)送,具體如圖2所示。
圖3
開始:當(dāng)移位寄存器空,發(fā)送模塊處于等待開始狀態(tài),一旦檢測(cè)到非空,發(fā)送起始位“0”,狀態(tài)機(jī)進(jìn)入移位狀態(tài);
移位:通過并/串移位寄存器串行發(fā)出,當(dāng)完成8bit移位后,狀態(tài)機(jī)轉(zhuǎn)入停止?fàn)顟B(tài);
停止:在這個(gè)狀態(tài),為發(fā)送的數(shù)據(jù)加上一位停止位,然后轉(zhuǎn)入開始狀態(tài),等待下一個(gè)數(shù)據(jù)。
發(fā)送模塊包含8位并/串移位寄存器TSR、51×8 bits發(fā)送FIFO(TxFifo)、用于實(shí)現(xiàn)發(fā)送遙控?cái)?shù)據(jù)計(jì)數(shù)
關(guān)鍵詞:PCI9054 FPGA 狀態(tài)機(jī) 乒乓FIFO WinDriver
PCI總線是一種高性能的局部總線,它具有32/64位總線寬度,且總線地址和數(shù)據(jù)復(fù)用,支持猝發(fā)傳輸,傳輸速率高達(dá)132MB/s;同時(shí)可支持多組外圍設(shè)備。另外,PCI總線不依賴于熱和CPU,具有較好的兼容性。
近幾年來,現(xiàn)場(chǎng)可編程門陣列(FPGA)在現(xiàn)代電子設(shè)計(jì)中的成功應(yīng)用,使充分利用FPGA的本身資源設(shè)計(jì)專用電路,完成系統(tǒng)功能成為可能,從而簡(jiǎn)化了電路、縮小了體積、提高了穩(wěn)定性、具有更大的靈活性。
基于這種設(shè)計(jì)思想,筆者利用FPGA和PCI總線接口芯片設(shè)計(jì)了一種測(cè)控電路板卡,經(jīng)實(shí)驗(yàn)運(yùn)行,效率很好。
1 系統(tǒng)結(jié)構(gòu)與功能
本板卡為基于PCI總線,采用RS485電平傳輸?shù)漠惒酱型ㄐ艤y(cè)控卡。它與PCI總線的協(xié)議部分利用PCI9054專用接口芯片來完成。PCI9054是由美國(guó)PLX公司生產(chǎn)的一款高性能PCI I/O加速器,它采用了先進(jìn)的32位數(shù)據(jù)管道結(jié)構(gòu)技術(shù),支持復(fù)用/非復(fù)用的32位數(shù)據(jù)/地址總線,本地總線有三種模式可選;M、C、J模式,被廣泛應(yīng)用于PCI總線板卡的開發(fā)中。在本設(shè)計(jì)中,PCI9054工作在C模式下,采用中斷方式,總線周期為“PCI目標(biāo)讀單周期”和“PCI目標(biāo)寫單周期”,數(shù)據(jù)總線為8位。
異步串行通信電路部分完全用FPGA來實(shí)現(xiàn)。在設(shè)計(jì)上,筆者選用了Xilinx公司的Spartan II系列的XC2S200來實(shí)現(xiàn)異步串行通信的接收、發(fā)送和接口控制功能,F(xiàn)PGA具有在線可編程能力,設(shè)計(jì)者可根據(jù)實(shí)際需求分配資源。
測(cè)控卡的通信協(xié)議為起止式協(xié)議,采用固定的幀格式:1位開始位、8位數(shù)據(jù)位、1位停止位,無奇偶校驗(yàn)位,在軟件中采用統(tǒng)一的CRC校驗(yàn),傳輸波特率為19.2kbps。為保證接收數(shù)據(jù)的正確性,設(shè)計(jì)中采用16倍頻波特率作為接收采樣時(shí)鐘,并把第八個(gè)采樣值作為接收數(shù)據(jù)。
測(cè)控卡主要完成以下工作:采用RS485差分電平傳輸?shù)倪b測(cè)數(shù)據(jù)經(jīng)過電平轉(zhuǎn)換后,由接收模塊接收后乒乓緩存到FIFO中,并通過PCI總線接口芯片PCI9054以單周期方式送到計(jì)算機(jī)內(nèi)存中以便進(jìn)行下一步處理。發(fā)送模塊接收到PCI總線傳輸過來的遙控命令后,按照通信協(xié)議格式組幀,在通過電平轉(zhuǎn)換芯片轉(zhuǎn)換成RS485電平后,以19.2kHz的頻率發(fā)送給目標(biāo)設(shè)備,實(shí)現(xiàn)對(duì)目標(biāo)設(shè)備的各種控制。
根據(jù)以上分析,筆者設(shè)計(jì)的測(cè)控卡的具體功能結(jié)構(gòu)如圖1所示。下面詳細(xì)闡述各部分的功能。
·MAX3490E:完成RS485差分電平到TTL電平的轉(zhuǎn)換;
·接收模塊:完成遙測(cè)數(shù)據(jù)的接收和緩沖;
·發(fā)送模塊:完成遙控?cái)?shù)據(jù)的緩沖和發(fā)送;
·接口模塊:實(shí)現(xiàn)與PCI9054的接口功能,完成讀寫和傳輸控制操作;
·PCI9054:完成和PCI總線的接口協(xié)議。
1.1 發(fā)送模塊設(shè)計(jì)
發(fā)送模塊主要實(shí)現(xiàn)對(duì)遙控?cái)?shù)據(jù)的緩存和并/串轉(zhuǎn)換,同時(shí)按照設(shè)計(jì)的異步串行通信數(shù)據(jù)幀格式進(jìn)行相應(yīng)的處理,最后將數(shù)據(jù)串行發(fā)送。處理器讀取線路狀態(tài)寄存器信息,檢查發(fā)送FIFO(TxFifo)是否為空,如為空且有遙控?cái)?shù)據(jù)待發(fā),則將控制數(shù)據(jù)通過PCI9054發(fā)送并存儲(chǔ)到發(fā)送FIFO中。發(fā)送狀態(tài)機(jī)讀取TxFifo中數(shù)據(jù),通過并/串移位后用19.2kbps的波特率串行輸出。發(fā)送狀態(tài)機(jī)實(shí)現(xiàn)起止位“0”、并/串移位信號(hào)、停止位“1”的發(fā)送,具體如圖2所示。
圖3
開始:當(dāng)移位寄存器空,發(fā)送模塊處于等待開始狀態(tài),一旦檢測(cè)到非空,發(fā)送起始位“0”,狀態(tài)機(jī)進(jìn)入移位狀態(tài);
移位:通過并/串移位寄存器串行發(fā)出,當(dāng)完成8bit移位后,狀態(tài)機(jī)轉(zhuǎn)入停止?fàn)顟B(tài);
停止:在這個(gè)狀態(tài),為發(fā)送的數(shù)據(jù)加上一位停止位,然后轉(zhuǎn)入開始狀態(tài),等待下一個(gè)數(shù)據(jù)。
發(fā)送模塊包含8位并/串移位寄存器TSR、51×8 bits發(fā)送FIFO(TxFifo)、用于實(shí)現(xiàn)發(fā)送遙控?cái)?shù)據(jù)計(jì)數(shù)
熱門點(diǎn)擊
- 基于按鍵觸發(fā)方式的PDA壽命檢測(cè)系統(tǒng)
- DS1820及其高精度溫度測(cè)量的實(shí)現(xiàn)
- WLAN制造測(cè)試技術(shù)的發(fā)展
- 基于S3C44B0X的儀表以太網(wǎng)接口設(shè)計(jì)
- 基于光電控制的高精度可高度檢測(cè)系統(tǒng)
- 基于Internet的遠(yuǎn)程測(cè)控技術(shù)
- 基于信號(hào)接口的自動(dòng)測(cè)試系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 測(cè)量并抑制存儲(chǔ)器件中的軟誤差
- 高速信號(hào)采集系統(tǒng)在超聲回波測(cè)量中的應(yīng)用
- LabVIEW是一種通用的編程語言嗎?
推薦技術(shù)資料
- 滑雪繞樁機(jī)器人
- 本例是一款非常有趣,同時(shí)又有一定調(diào)試難度的玩法。EDE2116AB... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究