91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 其它綜合

采用8位單片機驅動PCI總線網卡的設計方案

發布時間:2007/8/29 0:00:00 訪問次數:767

目前,以太網(Ethernet)協議已經非常廣泛地應用于各種計算機網絡,如辦公局域網、工業控制網絡、因特網等場合,并且還不斷地在發展。單片機或微控制器(MCU)(也稱為嵌入式系統)已經在各個領域得到了廣泛的應用。目前絕大多數系統都是以MCU為核心,與監測、伺服、指示設備配合實現一定的功能。如果嵌入式系統能夠連接到Internet,則可以方便、低廉地將信息傳送到世界上的任何一個地方。因此單片機如何控制以太網網卡進行傳輸數據,如何加載TCP/IP協議連接到互聯網,這些都是一些具有挑戰性的問題[1,2]。單片機上網研究最多的一個方案就是用單片機驅動ISA總線網卡或者是驅動基于ISA總線的以太網控制芯片。但是,近年來,隨著ISA總線在臺式電腦上的消失(PC98以后的標準已經取消了ISA總線),ISA總線的設備也不斷減少,而且很多生產ISA網卡芯片的廠家已經停止生產ISA網卡芯片。在計算機上,多數設備用的是PCI總線,因此如何制造低成本的PCI總線的以太網接口設備,如何用單片機來驅動PCI總線網卡,已成為目前計算機工業控制系統的燃眉之急。然而用只有16位地址總線、8位數據端口的8位單片機來直接驅動有32位地址數據復用總線及其他各種信號線的PCI總線網卡,幾乎是不可能的。

為此,本文中采用PCI 9054接口芯片作為溝通單片機與PCI設備間的橋梁,設計實現了單片機與PCI網卡間的可靠通信任務,并提供了主要硬件接口電路和主要程序原代碼。

1 PCI9054芯片介紹

1.1 PCI9054主要特性

PCI9054是由美國PLX公司生產的先進的PCI I/O加速器,他采用了先進的PLX數據管道結構技術。符合PCIV2,2規范的32 位33 MHz總線主控接口控制器可獲得高達132 Mb/s的PCI突發傳輸速度。通用總線主控接口配備先進的數據流水線架構(Data Pipe Architecture(tm)),包含2個DMA引擎,可編程目標、起始器數據傳輸模式和PCI信息傳輸等功能。

1.2 PCI9054本地總線工作模式介紹

PCI9054芯片連接的本地端總線有3種工作模式:M模式、C模式和J模式。可利用模式選擇引腳加以選擇,其中C模式時序較為簡單。為此,本方案設計選擇PCI 9054工作在C模式。當PCI9054工作在C模式時,其數據傳輸采用直接數據傳輸方式,按數據傳輸的控制方式,他又分為3種傳輸模式,如表1所示。


 


本方案設計采用PCI初始化器模式,通過本地端的單片機來控制PCI9054芯片,然后通過PCI9054芯片來驅動PCI總線上的網卡,在這里PCI9054芯片就象一個橋梁,連接了2個不同的總線設備。其讀寫工作原理如圖1所示。



 1.3 PCI9054寄存器簡介

PCI9054內部提供了5種寄存器:PCI配置寄存器,本地端配置寄存器,運行時間RUNTIME寄存器,DMA寄存器和I2O信息寄存器。在本方案設計中,我們主要用到2種配置寄存器:PCI配置寄存器和本地端配置寄存器,下面對這2種寄存器的功能做簡要介紹。

PCI配置寄存器也就是我們常說的PCI配置空間,他提供了配置PCI的一些信息。其中VenderID,DeviceID,RevisionID,HeaderType,ClassCode用于PCI設備的識別。命令寄存器(Command)包含設備控制位,包括允許存儲器讀寫響應等。狀態寄存器(Status)用于記錄PCI總線的相關事件。PCI配置寄存器提供了6個基地址寄存器,這些基地址都是在系統中的物理地址范圍內,其中BASE0和BASE1都是用來訪問其他配置寄存器的基地址,BASE1是其他配置寄存器映射到PCI端內存的基地址,BASE2是其他寄存器映射到PCI端I/O的基地址。所以可以通過PCI端內存和PCI端I/O來訪問LOCAL配置寄存器與其他3種寄存器。BASE2~5四個空間提供了訪問本地端所接的4個芯片(當然可以少于4個),他們將本地端的芯片通過本地端地址(在LOCAL配置寄存器中設)翻譯成PCI的地址,也就是將本地的芯片映射到系統的內存或I/O口。這樣使得用程序操作這一段內存(或I/O)實際上就是對本地的芯片操作。

本地端配置寄存器提供了本地端的一些信息,在本方案設計中,主要是通過配置本地端配置寄存器來將本地端的單片機讀寫指令、周期轉換成PCI端的讀寫指令及周期。也就相當于將PCI端網卡上的芯片及存儲器映射到本地端,與本地端的存儲器統一編址,這樣單片機只要能訪問本地端的內存,那么就能用來訪問PCI總線上的網卡。

PCI9054工作時需要一個配置芯片E?2PROM,以便在PCI卡上電的時候配置PCI 9054,主要配置PCI卡的VendorID和DeviceID,這是系統用來標識PCI卡的。另外,還需要了其他寄存器,主要起到了對PCI 9054初始化的作用。其中本地端寄存器也可以由本地CPU讀寫,直接進行配置。


2  RTL8029網卡簡介


RTL8029是符合Ne2000標準的32位PCI總線網卡,遵循IEEE802.3協議。按功能可將其劃分為:接收功能模塊、CRC產生模塊、發送功能模塊、地址識別模塊、FIFO控制模塊、協

目前,以太網(Ethernet)協議已經非常廣泛地應用于各種計算機網絡,如辦公局域網、工業控制網絡、因特網等場合,并且還不斷地在發展。單片機或微控制器(MCU)(也稱為嵌入式系統)已經在各個領域得到了廣泛的應用。目前絕大多數系統都是以MCU為核心,與監測、伺服、指示設備配合實現一定的功能。如果嵌入式系統能夠連接到Internet,則可以方便、低廉地將信息傳送到世界上的任何一個地方。因此單片機如何控制以太網網卡進行傳輸數據,如何加載TCP/IP協議連接到互聯網,這些都是一些具有挑戰性的問題[1,2]。單片機上網研究最多的一個方案就是用單片機驅動ISA總線網卡或者是驅動基于ISA總線的以太網控制芯片。但是,近年來,隨著ISA總線在臺式電腦上的消失(PC98以后的標準已經取消了ISA總線),ISA總線的設備也不斷減少,而且很多生產ISA網卡芯片的廠家已經停止生產ISA網卡芯片。在計算機上,多數設備用的是PCI總線,因此如何制造低成本的PCI總線的以太網接口設備,如何用單片機來驅動PCI總線網卡,已成為目前計算機工業控制系統的燃眉之急。然而用只有16位地址總線、8位數據端口的8位單片機來直接驅動有32位地址數據復用總線及其他各種信號線的PCI總線網卡,幾乎是不可能的。

為此,本文中采用PCI 9054接口芯片作為溝通單片機與PCI設備間的橋梁,設計實現了單片機與PCI網卡間的可靠通信任務,并提供了主要硬件接口電路和主要程序原代碼。

1 PCI9054芯片介紹

1.1 PCI9054主要特性

PCI9054是由美國PLX公司生產的先進的PCI I/O加速器,他采用了先進的PLX數據管道結構技術。符合PCIV2,2規范的32 位33 MHz總線主控接口控制器可獲得高達132 Mb/s的PCI突發傳輸速度。通用總線主控接口配備先進的數據流水線架構(Data Pipe Architecture(tm)),包含2個DMA引擎,可編程目標、起始器數據傳輸模式和PCI信息傳輸等功能。

1.2 PCI9054本地總線工作模式介紹

PCI9054芯片連接的本地端總線有3種工作模式:M模式、C模式和J模式。可利用模式選擇引腳加以選擇,其中C模式時序較為簡單。為此,本方案設計選擇PCI 9054工作在C模式。當PCI9054工作在C模式時,其數據傳輸采用直接數據傳輸方式,按數據傳輸的控制方式,他又分為3種傳輸模式,如表1所示。


 


本方案設計采用PCI初始化器模式,通過本地端的單片機來控制PCI9054芯片,然后通過PCI9054芯片來驅動PCI總線上的網卡,在這里PCI9054芯片就象一個橋梁,連接了2個不同的總線設備。其讀寫工作原理如圖1所示。



 1.3 PCI9054寄存器簡介

PCI9054內部提供了5種寄存器:PCI配置寄存器,本地端配置寄存器,運行時間RUNTIME寄存器,DMA寄存器和I2O信息寄存器。在本方案設計中,我們主要用到2種配置寄存器:PCI配置寄存器和本地端配置寄存器,下面對這2種寄存器的功能做簡要介紹。

PCI配置寄存器也就是我們常說的PCI配置空間,他提供了配置PCI的一些信息。其中VenderID,DeviceID,RevisionID,HeaderType,ClassCode用于PCI設備的識別。命令寄存器(Command)包含設備控制位,包括允許存儲器讀寫響應等。狀態寄存器(Status)用于記錄PCI總線的相關事件。PCI配置寄存器提供了6個基地址寄存器,這些基地址都是在系統中的物理地址范圍內,其中BASE0和BASE1都是用來訪問其他配置寄存器的基地址,BASE1是其他配置寄存器映射到PCI端內存的基地址,BASE2是其他寄存器映射到PCI端I/O的基地址。所以可以通過PCI端內存和PCI端I/O來訪問LOCAL配置寄存器與其他3種寄存器。BASE2~5四個空間提供了訪問本地端所接的4個芯片(當然可以少于4個),他們將本地端的芯片通過本地端地址(在LOCAL配置寄存器中設)翻譯成PCI的地址,也就是將本地的芯片映射到系統的內存或I/O口。這樣使得用程序操作這一段內存(或I/O)實際上就是對本地的芯片操作。

本地端配置寄存器提供了本地端的一些信息,在本方案設計中,主要是通過配置本地端配置寄存器來將本地端的單片機讀寫指令、周期轉換成PCI端的讀寫指令及周期。也就相當于將PCI端網卡上的芯片及存儲器映射到本地端,與本地端的存儲器統一編址,這樣單片機只要能訪問本地端的內存,那么就能用來訪問PCI總線上的網卡。

PCI9054工作時需要一個配置芯片E?2PROM,以便在PCI卡上電的時候配置PCI 9054,主要配置PCI卡的VendorID和DeviceID,這是系統用來標識PCI卡的。另外,還需要了其他寄存器,主要起到了對PCI 9054初始化的作用。其中本地端寄存器也可以由本地CPU讀寫,直接進行配置。


2  RTL8029網卡簡介


RTL8029是符合Ne2000標準的32位PCI總線網卡,遵循IEEE802.3協議。按功能可將其劃分為:接收功能模塊、CRC產生模塊、發送功能模塊、地址識別模塊、FIFO控制模塊、協

相關IC型號

熱門點擊

 

推薦技術資料

羅盤誤差及補償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
垫江县| 克什克腾旗| 景洪市| 普格县| 宁安市| 惠安县| 绥芬河市| 禹城市| 栖霞市| 莱州市| 芷江| 祁阳县| 高青县| 稷山县| 会理县| 准格尔旗| 天祝| 长沙县| 绥化市| 南郑县| 洮南市| 出国| 南康市| 天全县| 读书| 锡林郭勒盟| 晴隆县| 楚雄市| 瑞丽市| 平顶山市| 石阡县| 永州市| 泗阳县| 鄱阳县| 平泉县| 扎鲁特旗| 邢台县| 琼结县| 信阳市| 南汇区| 城市|