SlideShare uma empresa Scribd logo
1 de 24
Keshava G N
Member – Technical (Software)
Topics
 Introduction: What is PCI bus?
 Introduction: What is PCI Express?
 Difference between PCI and PCI Express
 PCI Express: Architecture
 PCI Express: Hardware basics
 PCI Express: Configuration Space
 PCI Express: Memory mapping
 PCI Express: WEC7 driver basics
What is PCI bus?
Peripheral Component Interconnect (PCI) is a type of computer bus for attaching
hardware devices/peripherals in a computer.
It is a parallel bus, and devices connected to the PCI bus appear to a bus master to be
connected directly to its own bus.
PCI is used to connect computer
peripherals such as Graphic cards,
sound cards, network cards (Wi-Fi /
Ethernet), USB ports etc.
What is PCI bus?
PCI bus specifications were introduced by
Intel In July 1993.
It provides direct access to system
memory for connected devices.
PCI bus supports fixed width 32 bits, and
maximum of 5 devices can be connected.
PCI operated at 33 MHz using a 32-bit-
wide path.
Revisions to the standard include
increasing the speed from 33 MHz to 66
MHz and doubling the bit count to 64.
What is PCI bus?
PCI achieved popularity after the arrival of Windows 95 (in 1995).
This is due to the fact that Windows95 supported a feature called Plug and Play
(PnP).
Intel created the PnP standard and incorporated it into the design for PCI.
PCI-X:
PCI-X is extended version of PCI.
PCI-X provides for 64-bit transfers at a
speed of 133 MHz.
What is PCI Express?
PCI Express (Peripheral Component Interconnect Express), abbreviated as PCIe,
is a high-speed serial computer expansion bus standard designed to replace the older PCI
and PCI-X bus standards.
PCIe is having many improvements over the
older PCI/PCI-X such as:
Developed by Intel in 2004.
PCI Express is a serial interface, unlike PCI and PCI-X, which are parallel
interfaces.
Higher maximum system bus throughput, lower I/O pin count, smaller physical
footprint, better performance-scaling for bus devices, a more detailed error detection
and reporting mechanism (Advanced Error Reporting (AER)).
What are the differences between PCI
and PCI Express?
PCI PCI Express
Parallel Bus Serial Bus
Speed is 133MB/s to 533 MB/s Speed is 250 MB/s to several GB/s per
lane
Maximum of 5 End point devices can
be connected
Maximum of 32 devices can be
connected on each bus
Shared bus topology Point-to-point bus/
Shared switch topology
Hot plugging functionality is not
available
Hot plugging is supported
What are the differences between PCI
and PCI Express?
Difference in topology:
PCI : Parallel PCI Express: Serial
PCI Express Architecture
PCI Express Architecture
PCIe Root Complex:
In a PCI Express system, a root complex device connects the processor (and memory
subsystem) to the PCI Express End point devices or switch devices.
A root complex can be connected a maximum of 32 devices (Either end point device or
switch.)
The root complex generates transaction requests on behalf of the processor, which is
interconnected through a local bus.
Root complex functionality may be implemented as a discrete device, or may be
integrated with the processor.
PCI Express Architecture
PCIe End point device:
Endpoints are devices other than root complex and switches that are requesters or completers
of PCI Express transactions.
They are peripheral devices such as Ethernet, USB or graphics devices. Endpoints initiate
transactions as a requester or respond to transactions as a completer.
End point device will be connected to either root complex or switch.
Two types of endpoints exist, PCI Express (Native) endpoints and legacy
endpoints.
Some PCIe End point devices
Wi-Fi card Ethernet card Graphic card
USB ports
Audio card
PCI Express Architecture
PCIe Switch:
In a PCI Express system, a PCIe switch a device, which allows connection to multiple
end point devices.
Since PCI Express is a point-to-point serial interconnect standard, it requires a switch
to connect a single PCI express port from a processor to multiple end-points.
A PCIe switch will be connected to either root complex or another switch.
PCI Express Architecture
PCIe Bridges:
PCI Express bridges allow devices with other standards to be used in systems that need
to interoperate with PCI Express.
These bridges facilitate connection back to conventional PCI/PCI-X buses.
Applications using these bridge devices include servers, storage host bus adapters,
graphics, TV tuners and security systems.
PCI Express Architecture
Each end point device is identified by the combination of bus number, device number
and function number.
Function number:
PCI Express devices may support up to 8 functions per endpoint with at least one
function being number 0.
Device number:
Each bus can support up to 32 PCIe devices, which can be either switch or end point
device.
Bus number:
A system could theoretically include up to 256 buses. (Also called Links)
PCI Express Architecture
Bus numbering
PCI Express Architecture
A Port is the interface between a PCI Express component and the bus, and
consists of differential transmitters and receivers.
An Upstream Port is a port that points in the direction of the root complex.
A Downstream Port is a port that points away from the root complex.
An endpoint port is therefore, by definition, always an upstream port, and A
root complex port(s) is a downstream port.
PCI Express Lanes
The PCIe link between two devices can
consist of anywhere from 1 to 32 lanes.
These are differentiated as x1, x2, x4, x8,
x16 and x32 PCIe links (and PCIe
connectors).
Each lane consists on two pair of wires,
one pair for receiving data, and another for
transmitting.
Each lane carries data of 1 bit/cycle.
So, transfer rate increases as number of
lanes increases.
PCI Express Connectors (PCIe Slots)
PCIe slot can be of types: x1, x2, x4,
x8, x16 or x32.
A connector of type x1 can be
connected in x2 slot, but the reverse is
not possible.
PCIe Configuration space
 Software model of PCIe is same as older PCI/PCI-X.
 So there will be no difference in the bus driver software model.
 The PCI Express configuration model supports two mechanisms:
The PCI compatible configuration model, which is 100% compatible with old
PCI/PCI-X drivers and bus enumeration and configuration software for PCI/PCI-
X systems.
The PCI Express enhanced configuration mechanism which provides access to
additional configuration space beyond the first 256 Bytes, up to 4Kbytes per
function.
 Enhanced configuration
contains the data that are
additional features for PCIe.
E.g: Link training (Linkup
detection)
 Configuration space will be
according to PCIe v2.1.
Example is as shown:
PCIe Memory mapping
 Memory mapping for PCIe has 3 main parts:
1.Config space
2.Memory space
3.I/O space
Config space may also contain all the PCIe
controller registers
(e.g. :Freescale’s iMX6Q)
Memory and I/O space of each device is
mapped into the respective memory areas on
RAM.
WEC7 PCIe driver
 WEC7 PCIe driver mainly has 2
parts:
1.PCI bus driver (Provided by
Microsoft)
2.OAL PCIe configurations (Contains
PCIInit, PCIWriteCfg and
PCIReadCFg)
 These functions used by PCI bus
driver for all PCIe operations.
WEC7 PCI Bus driver
 PCI bus driver which is available with WEC7 installation in /public folder.
 The driver flow is as follows:
Enumerate PCI bus
(Read cfg data including
VendorID and Device ID)
Configure PCI bus memory
mapping
(Allocate memory/IO
space for PCIe devices)
Launch the PCIe EP driver
(Compare Vid & Pid with
registry entries, and
launch corresponding
EPDriver.dll)
THANK YOU

Mais conteúdo relacionado

Mais procurados

Creating Your Own PCI Express System Using FPGAs: Embedded World 2010
Creating Your Own PCI Express System Using FPGAs: Embedded World 2010Creating Your Own PCI Express System Using FPGAs: Embedded World 2010
Creating Your Own PCI Express System Using FPGAs: Embedded World 2010
Altera Corporation
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
DVClub
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
Gopi Krishnamurthy
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power
Deepak Shankar
 
Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled Interrupts
Anshuman Biswal
 

Mais procurados (20)

Pc ie tl_layer (3)
Pc ie tl_layer (3)Pc ie tl_layer (3)
Pc ie tl_layer (3)
 
Pci express technology 3.0
Pci express technology 3.0Pci express technology 3.0
Pci express technology 3.0
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
 
Creating Your Own PCI Express System Using FPGAs: Embedded World 2010
Creating Your Own PCI Express System Using FPGAs: Embedded World 2010Creating Your Own PCI Express System Using FPGAs: Embedded World 2010
Creating Your Own PCI Express System Using FPGAs: Embedded World 2010
 
PCIe Gen 3.0 Presentation @ 4th FPGA Camp
PCIe Gen 3.0 Presentation @ 4th FPGA CampPCIe Gen 3.0 Presentation @ 4th FPGA Camp
PCIe Gen 3.0 Presentation @ 4th FPGA Camp
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
AMBA AHB 5
AMBA AHB 5AMBA AHB 5
AMBA AHB 5
 
AMBA 5 COHERENT HUB INTERFACE.pptx
AMBA 5 COHERENT HUB INTERFACE.pptxAMBA 5 COHERENT HUB INTERFACE.pptx
AMBA 5 COHERENT HUB INTERFACE.pptx
 
axi protocol
axi protocolaxi protocol
axi protocol
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
 
Apb
ApbApb
Apb
 
PCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewPCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-Review
 
Ambha axi
Ambha axiAmbha axi
Ambha axi
 
Difference between PCI PCI-X PCIe
Difference between PCI PCI-X PCIeDifference between PCI PCI-X PCIe
Difference between PCI PCI-X PCIe
 
Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled Interrupts
 
Amba axi 29 3_2015
Amba axi 29 3_2015Amba axi 29 3_2015
Amba axi 29 3_2015
 
AXI Protocol.pptx
AXI Protocol.pptxAXI Protocol.pptx
AXI Protocol.pptx
 

Semelhante a PCIe and PCIe driver in WEC7 (Windows Embedded compact 7)

PCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdfPCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdf
zahixdd
 
Chapter 6: Expansion Buses
Chapter 6: Expansion BusesChapter 6: Expansion Buses
Chapter 6: Expansion Buses
askme
 
P C I L O C A L B U S
P C I  L O C A L  B U S P C I  L O C A L  B U S
P C I L O C A L B U S
jainfu2
 
All chapters to be printed
All chapters to be printedAll chapters to be printed
All chapters to be printed
Mik Endale
 

Semelhante a PCIe and PCIe driver in WEC7 (Windows Embedded compact 7) (20)

Bus & Interface
Bus & InterfaceBus & Interface
Bus & Interface
 
PCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdfPCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdf
 
Pc interface
Pc interfacePc interface
Pc interface
 
Chapter 6: Expansion Buses
Chapter 6: Expansion BusesChapter 6: Expansion Buses
Chapter 6: Expansion Buses
 
pciexpress-200220095945.pdf
pciexpress-200220095945.pdfpciexpress-200220095945.pdf
pciexpress-200220095945.pdf
 
Chap1 expan slots
Chap1 expan slotsChap1 expan slots
Chap1 expan slots
 
P C I L O C A L B U S
P C I  L O C A L  B U S P C I  L O C A L  B U S
P C I L O C A L B U S
 
Slots Presentation
Slots PresentationSlots Presentation
Slots Presentation
 
Motherboard components and their functions
Motherboard components and their functionsMotherboard components and their functions
Motherboard components and their functions
 
Bus Standards and Networking
Bus Standards and NetworkingBus Standards and Networking
Bus Standards and Networking
 
Types Of Buses
Types Of BusesTypes Of Buses
Types Of Buses
 
Bus
BusBus
Bus
 
Mother board
Mother boardMother board
Mother board
 
Pci
PciPci
Pci
 
Bus Interfacing with Intel Microprocessors Based Systems
Bus Interfacing with Intel Microprocessors Based SystemsBus Interfacing with Intel Microprocessors Based Systems
Bus Interfacing with Intel Microprocessors Based Systems
 
Bus
BusBus
Bus
 
PCI.pdf
PCI.pdfPCI.pdf
PCI.pdf
 
All chapters to be printed
All chapters to be printedAll chapters to be printed
All chapters to be printed
 
Hyper Transport Technology
Hyper Transport TechnologyHyper Transport Technology
Hyper Transport Technology
 
XIO2200A PCI Express to 1394a Chip
XIO2200A PCI Express to 1394a ChipXIO2200A PCI Express to 1394a Chip
XIO2200A PCI Express to 1394a Chip
 

Último

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Último (20)

Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 

PCIe and PCIe driver in WEC7 (Windows Embedded compact 7)

  • 1. Keshava G N Member – Technical (Software)
  • 2. Topics  Introduction: What is PCI bus?  Introduction: What is PCI Express?  Difference between PCI and PCI Express  PCI Express: Architecture  PCI Express: Hardware basics  PCI Express: Configuration Space  PCI Express: Memory mapping  PCI Express: WEC7 driver basics
  • 3. What is PCI bus? Peripheral Component Interconnect (PCI) is a type of computer bus for attaching hardware devices/peripherals in a computer. It is a parallel bus, and devices connected to the PCI bus appear to a bus master to be connected directly to its own bus. PCI is used to connect computer peripherals such as Graphic cards, sound cards, network cards (Wi-Fi / Ethernet), USB ports etc.
  • 4. What is PCI bus? PCI bus specifications were introduced by Intel In July 1993. It provides direct access to system memory for connected devices. PCI bus supports fixed width 32 bits, and maximum of 5 devices can be connected. PCI operated at 33 MHz using a 32-bit- wide path. Revisions to the standard include increasing the speed from 33 MHz to 66 MHz and doubling the bit count to 64.
  • 5. What is PCI bus? PCI achieved popularity after the arrival of Windows 95 (in 1995). This is due to the fact that Windows95 supported a feature called Plug and Play (PnP). Intel created the PnP standard and incorporated it into the design for PCI. PCI-X: PCI-X is extended version of PCI. PCI-X provides for 64-bit transfers at a speed of 133 MHz.
  • 6. What is PCI Express? PCI Express (Peripheral Component Interconnect Express), abbreviated as PCIe, is a high-speed serial computer expansion bus standard designed to replace the older PCI and PCI-X bus standards. PCIe is having many improvements over the older PCI/PCI-X such as: Developed by Intel in 2004. PCI Express is a serial interface, unlike PCI and PCI-X, which are parallel interfaces. Higher maximum system bus throughput, lower I/O pin count, smaller physical footprint, better performance-scaling for bus devices, a more detailed error detection and reporting mechanism (Advanced Error Reporting (AER)).
  • 7. What are the differences between PCI and PCI Express? PCI PCI Express Parallel Bus Serial Bus Speed is 133MB/s to 533 MB/s Speed is 250 MB/s to several GB/s per lane Maximum of 5 End point devices can be connected Maximum of 32 devices can be connected on each bus Shared bus topology Point-to-point bus/ Shared switch topology Hot plugging functionality is not available Hot plugging is supported
  • 8. What are the differences between PCI and PCI Express? Difference in topology: PCI : Parallel PCI Express: Serial
  • 10. PCI Express Architecture PCIe Root Complex: In a PCI Express system, a root complex device connects the processor (and memory subsystem) to the PCI Express End point devices or switch devices. A root complex can be connected a maximum of 32 devices (Either end point device or switch.) The root complex generates transaction requests on behalf of the processor, which is interconnected through a local bus. Root complex functionality may be implemented as a discrete device, or may be integrated with the processor.
  • 11. PCI Express Architecture PCIe End point device: Endpoints are devices other than root complex and switches that are requesters or completers of PCI Express transactions. They are peripheral devices such as Ethernet, USB or graphics devices. Endpoints initiate transactions as a requester or respond to transactions as a completer. End point device will be connected to either root complex or switch. Two types of endpoints exist, PCI Express (Native) endpoints and legacy endpoints.
  • 12. Some PCIe End point devices Wi-Fi card Ethernet card Graphic card USB ports Audio card
  • 13. PCI Express Architecture PCIe Switch: In a PCI Express system, a PCIe switch a device, which allows connection to multiple end point devices. Since PCI Express is a point-to-point serial interconnect standard, it requires a switch to connect a single PCI express port from a processor to multiple end-points. A PCIe switch will be connected to either root complex or another switch.
  • 14. PCI Express Architecture PCIe Bridges: PCI Express bridges allow devices with other standards to be used in systems that need to interoperate with PCI Express. These bridges facilitate connection back to conventional PCI/PCI-X buses. Applications using these bridge devices include servers, storage host bus adapters, graphics, TV tuners and security systems.
  • 15. PCI Express Architecture Each end point device is identified by the combination of bus number, device number and function number. Function number: PCI Express devices may support up to 8 functions per endpoint with at least one function being number 0. Device number: Each bus can support up to 32 PCIe devices, which can be either switch or end point device. Bus number: A system could theoretically include up to 256 buses. (Also called Links)
  • 17. PCI Express Architecture A Port is the interface between a PCI Express component and the bus, and consists of differential transmitters and receivers. An Upstream Port is a port that points in the direction of the root complex. A Downstream Port is a port that points away from the root complex. An endpoint port is therefore, by definition, always an upstream port, and A root complex port(s) is a downstream port.
  • 18. PCI Express Lanes The PCIe link between two devices can consist of anywhere from 1 to 32 lanes. These are differentiated as x1, x2, x4, x8, x16 and x32 PCIe links (and PCIe connectors). Each lane consists on two pair of wires, one pair for receiving data, and another for transmitting. Each lane carries data of 1 bit/cycle. So, transfer rate increases as number of lanes increases.
  • 19. PCI Express Connectors (PCIe Slots) PCIe slot can be of types: x1, x2, x4, x8, x16 or x32. A connector of type x1 can be connected in x2 slot, but the reverse is not possible.
  • 20. PCIe Configuration space  Software model of PCIe is same as older PCI/PCI-X.  So there will be no difference in the bus driver software model.  The PCI Express configuration model supports two mechanisms: The PCI compatible configuration model, which is 100% compatible with old PCI/PCI-X drivers and bus enumeration and configuration software for PCI/PCI- X systems. The PCI Express enhanced configuration mechanism which provides access to additional configuration space beyond the first 256 Bytes, up to 4Kbytes per function.  Enhanced configuration contains the data that are additional features for PCIe. E.g: Link training (Linkup detection)  Configuration space will be according to PCIe v2.1. Example is as shown:
  • 21. PCIe Memory mapping  Memory mapping for PCIe has 3 main parts: 1.Config space 2.Memory space 3.I/O space Config space may also contain all the PCIe controller registers (e.g. :Freescale’s iMX6Q) Memory and I/O space of each device is mapped into the respective memory areas on RAM.
  • 22. WEC7 PCIe driver  WEC7 PCIe driver mainly has 2 parts: 1.PCI bus driver (Provided by Microsoft) 2.OAL PCIe configurations (Contains PCIInit, PCIWriteCfg and PCIReadCFg)  These functions used by PCI bus driver for all PCIe operations.
  • 23. WEC7 PCI Bus driver  PCI bus driver which is available with WEC7 installation in /public folder.  The driver flow is as follows: Enumerate PCI bus (Read cfg data including VendorID and Device ID) Configure PCI bus memory mapping (Allocate memory/IO space for PCIe devices) Launch the PCIe EP driver (Compare Vid & Pid with registry entries, and launch corresponding EPDriver.dll)