色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 嵌入式系統(tǒng)的PCI接口設計

          嵌入式系統(tǒng)的PCI接口設計

          作者: 時間:2012-07-18 來源:網絡 收藏

          1引言

          本文引用地址:http://cafeforensic.com/article/202255.htm

          通常意義的計算機系統(tǒng)結構是以CPU為中心,再輔以存儲系統(tǒng)和I/O接口構成。其功能主要用于數值計算和數據處理。而是將CPU作為部件嵌入到系統(tǒng)中,此時的CPU并不是用于通用計算。的主要特點是針對性強和實時性強、可靠性高、體積小、功耗低,可廣泛應用于個人數字助理、數碼相機、數字電視、通信、工業(yè)測控系統(tǒng)以及導彈控制等諸多領域。的設計過程包括:需求論證、規(guī)格說明、體系結構設計、硬件和軟件構件設計以及系統(tǒng)集成等。較好的方法是采用統(tǒng)一的建模語言(UML)來描述設計任務。這是一種面向對象的建模語言,它可將設計描述為許多交互的對象,這些對象對應系統(tǒng)中的軟件和硬件。與嵌入式系統(tǒng)緊密相關的概念還包括實時操作系統(tǒng)(RTOS)、在片系統(tǒng)(SOC)和硬件描述語言(HDL)。所以說嵌入式系統(tǒng)的設計是一個“系統(tǒng)工程”。

          以MPC8260為CPU,再加上PLX9656的64bit/66MHz 接口所組成的嵌入式系統(tǒng)有很高的性能,其數據吞吐量可達幾百MB/S。其中MPC8260是MOTOROLA公司生產的具有603eTM核及通信處理模塊(CPM)的高性能、高集成度CPU。它在片內集成了存儲管理單元(MMU)、系統(tǒng)接口單元(SIU)、64位60x總線和32位本地總線以及強大的網絡接口(三個FCC、兩個MCC、四個SCC、兩個SMC等)。

          嵌入式系統(tǒng)有兩種工作模式:第一種為附屬工作方式,該方式將嵌入式系統(tǒng)設計成板卡形式,并通過主機的接口進行數據傳輸。這種方式具有一定的獨立性,可承擔某項特定的任務,從而可使主機CPU的開銷大大減少。常用的視頻壓縮卡、工業(yè)數據采集卡等都屬此種類型。第二種工作模式為獨立工作方式。該方式由于嵌入式系統(tǒng)本身含有CPU,因而是一個自主的系統(tǒng)和功能單元,能獨立完成某項任務,并可通過網絡接口(如以太網、ATM、HDLC/SDLC等)或通道(如SCSI、USB等)將數據傳輸給服務器,以實現數據的傳輸與管理。其典型產品有機頂盒、磁盤陣列控制器等。

          2 規(guī)范及其接口芯片

          第一個PCI技術規(guī)范1.0版本于1992年6月面世,到1999年2月發(fā)布了2.2版,不久前又公布了PCIX規(guī)范。PCI的位數由32位擴展為64位,頻率從33MHz提高到133MHz。該規(guī)范是處理器、存儲器總線至周邊設備擴展的橋梁,根據PCI橋接的對象可分為Host/PCI橋(北橋)和PCI/SA橋(南橋),它們可一起構成芯片組。PCI接口芯片通過配置和編程可將其數據空間映射為Memory和I/O方式;其數據傳送既可以是單數據段讀寫,又可以是突發(fā)方式、中斷方式或DMA方式。

          許多廠商(如AMCC、IBM、PLX等)都可提供PCI接口芯片,圖1所示是PLX的64bit/66MHz PCI接口芯片PLX9656的結構框圖。

          PLX9656符合PCIr2.2、CompactPCIr1.0及PCI熱插拔r1.0規(guī)范。它可配置為M模式(可與Motorola的MPC850、MPC860無縫接口)、C模式(為非復用地址/數據方式,可與DSP、ASIC和FPGA接口)和J模式(為復用地址/數據方式,可與IBMPoweerPC401和IOP480接口)。此外,它還具有以下特點:

          ●采用先進的Direct Master、Direct Slave和DMA數據傳輸技術,其迸發(fā)數據傳輸率PCIBus端為528MB/s,Local Bus端為264MB/s;

          ●I2OTM信息單元包括8個32位郵箱寄存器和2個32位門鈴寄存器;

          ●PCI仲裁器支持7個外部主設備;

          ●帶有可編程中斷產生器及串行EEPROM接口。

          3硬聯(lián)邏輯設計

          PCI接口芯片的主要功能是橋接CPU端的LocalBus與PCI總線。另外,還必須通過串行總線上的EEPROM來配置PCI芯片的初始工作方式。PLX9656的三種工作模式(M、C和J)可以和大多數CPU和DSP接口。其中M模式是專為MOTOROLA的POW-ERPC系列CPU而設計的接口模式。

          由PLX9656與MPC8260組成的最小系統(tǒng)至少應包括以下幾個組成部分:FLASH、SDRAM、SRAM、PCI連接器、JTAG端口、時鐘、復位、電源、EEPROM、以太網接口、ATM和RS232串行口等。

          PLX9656信號線包括PCI端信號、Local Bus端地址與數據、控制信號、電源和地。其中前兩項占了信號數量的絕大部分。為了保證信號的可靠傳輸,芯片上用很多引腳作電源和地,這些引腳在布線時應仔細連接,并應大面積敷銅,同時還要連接濾波電容。另外要注意的是:MPC8260有60x Bus和LocalBus兩條總線,前者為MPC8260與外界的接口總線,所以應將PLX9656的Local Bus信號與MPC8260的60x Bus連接。圖2所示是系統(tǒng)的硬聯(lián)邏輯框圖。

          4驅動程序

          開發(fā)Windows環(huán)境和Linux環(huán)境的驅動程序有很大不同。

          4.1 Windows環(huán)境中驅動程序的編寫

          由于Windows操作系統(tǒng)被Microsoft所壟斷,它是一個封閉的操作系統(tǒng),因此很難將用戶驅動程序掛接到Windows操作系統(tǒng)中。通常要利用一些開發(fā)工具,如Microsoft的DDK、Numega的DriverStudio和Jungo的WinDriver等。因而應首先是由它們生成驅動程序的框架后,再導入到Microsoft的Visual C++中,在填入與設計對象相關的代碼后,最后由build生成Windows環(huán)境下的驅動程序。

          PLX公司的PLX9656RDK提供了Windows API及其源代碼和調試工具PLXMon。利用這些針對PLX芯片的API可以驅動PCI接口,而且其編程工作也非??旖?。

          PLX芯片的初始化函數原型為:

          S8 Select Device(DEVICE_LOCATION*pDev);

          它可提供很多對PCI的接口操作,其中包括寄存器讀/寫、中斷允許/禁止、獲取中斷狀態(tài)、IOP總線讀/寫、IOP端口讀/寫、電源管理、熱插拔功能、VPD讀/寫、EEPROM讀/寫、郵箱寄存器讀/寫、門鈴寄存器讀/寫、DMA控制/狀態(tài)、DMA塊通道操作、DMASgl通道操作以及DMAShuttle通道操作等。

          在對PLX芯片進行初始化后,便可利用PLX9656RDK提供的上述功能對PCI接口進行操作。

          4.2 Linux環(huán)境下驅動程序編寫

          Linux是源代碼開放型操作系統(tǒng)。在這種系統(tǒng)中,用戶自編的設備驅動程序可以和原操作系統(tǒng)的驅動程序享有同等的“地位”。Linux環(huán)境下,驅動程序的編寫有兩種方式,一種是基于內核的,另一種是基于模塊的。前一種方式是將驅動程序直接注冊在相應的系統(tǒng)文件中,然后在操作系統(tǒng)啟動時將它裝載在內存中使用;后一種方式則通過命令行insmod和mmod來加載和卸載驅動程序模塊,因此比較方便靈活。

          Linux對設備的操作與對文件的操作一致,所有的驅動程序都毫不例外地要使用file operations結構。其中的read、write、ioctl、mmap、open、release指針分別指向用戶編寫的驅動程序的相關操作。

          每個PCI設備均可由總線號、設備號和功能號來確定,它共有三個訪問空間,即內存空間、I/O端口和配置寄存器。配置空間用于決定PCI器件的工作方式和映射到系統(tǒng)中的地址。其基本功能函數如下:

          訪問I/O和內存空間時,要根據配置寄存器中PCL-BASE-ADDRESS-i(i=0...5)所給定的基地址來讀寫數據。

          5嵌入式系統(tǒng)的實現

          嵌入式系統(tǒng)的開發(fā)平臺包括Host(主機)和Tar-get(目標)兩部分。通常,Host和Target的硬件構架(如x86、PowerPC、ARM、MIPS等)和操作系統(tǒng)都不盡相同。因此需要用CDK(交叉開發(fā)工具包)把在Host上開發(fā)的代碼下載到Target上。此開發(fā)平臺的模型如圖3所示。

          由于主機上資源豐富(如功能強大的操作系統(tǒng)和應用軟件、CRT顯示輸出和打印機硬拷貝輸出、鍵盤和鼠標輸入等),因此調試起來非常便捷。針對不同的目標系統(tǒng),HardHat CDK有不同的開發(fā)工具包,但開發(fā)流程及工具的使用幾乎一樣。首先用相應目標系統(tǒng)的交叉編譯器將源程序編譯為可執(zhí)行文件,再將可執(zhí)行文件拷貝到目標系統(tǒng)的NFS目錄下,待目標系統(tǒng)裝載內核并引導后,便可調試和運行應用程序了。程序調試成功后,就可以使用EmbeddedPlanet公司的Planet Core來將應用程序燒錄到目標板的FLASH中,這樣,目標板就成了可獨立運行的嵌入式系統(tǒng)了。

          6小結

          由MPC8260和PLX9656構成的嵌入式系統(tǒng)有著廣闊的應用前景??蓱糜诟咝阅芡ㄐ畔到y(tǒng)中的WAN/LAN控制卡、高速MODEM卡、幀中繼卡、路由和交換機等,處理器集成的ATM、T1/E1及以太網等通信通道均能很好地支持上述通信功能;另外還支持高速PC適配卡、CompctPCI接口卡以及嵌入式主機系統(tǒng)等。由于PLX9656具有數據管道構架的直接傳輸方式,因而可方便的用于PCI及Local Bus端的I/O和設備的高速數據傳輸。

          更多計算機與外設信息請關注21ic計算機與外設頻道

          c++相關文章:c++教程




          評論


          相關推薦

          技術專區(qū)

          關閉