久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于CPLD的單片機與PCI接口設計方案

一種基于CPLD的單片機與PCI接口設計方案

作者: 時間:2009-11-11 來源:網絡 收藏

2.2 PCI讀寫C語言程序

在幫助下,讀寫PCI設備就變得相當簡單。首先,將pci_cbe等寄存器都聲明為外部存儲器變量,并根據指定地址。然后,傳遞適當的參數給以下兩個讀寫子函數,即可完成對PCI設備配置空間、I/O空間、存儲器空間的讀寫操作。從PCI設備的返回數據存放在全局變量savedata中。

實際上在寫PCI設備時,也可以從pci_data中得到返回數據。這個數據必須等于往PCI設備寫的數據。利用這一點可以進行差錯檢驗和故障判斷,視具體應用而定。

   bdate unigned char request;

sbit IRDY0=request^4;

sbit FRAME0=request^5;

sbit VALID="request"^7;

void readpci(unsigned char addr,unsigned char cbe){

pci_address0=addr;

pci_cbe=cbe;

request="pci"_request;

while(!IRDY0 FRAME0)) request="pci"_request;

savedata0=pci_data0;

nbsp; savedata1=pci_data1;

savedata2=pci_data2;

savedata3=pci_data3;

if(!VALID)printf("Data read is invalid! ");

}

void writepci(uchar addr,uchar value0,uchar cbe){

data uchar temp;

pci_address0=addr;

pci_datas0=value0;

pci_cbe=cbe;

request="pci"_request;

while(!(IRDY0 FRAME0)) request="pci"_request;

if(!VALID)printf("Data write is invalid!");

}

3 結論

實現與PCI總線接口的并行通信,電路結構簡單、體積小,1片CPLD芯片足夠,并且控制方便,實時性強,通信效率高。本方法已成功地應用于作者開發的各種數據采集系統中,用作單片機與PC104之間的并行數據通信,效果非常理想。

4 參考文獻

[1] 周明德.微型計算機系統原理及應用 [M] .第四版,北京:清華大學出版社,2002.

[2] 白中英.計算機組成原理 [M] .北京:科學出版社,1999.

[3] Xilinx芯片手冊.美國賽靈思半導體公司.


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉