| |
|
||||
![]() |
![]() |
||||
|
EPP_Slave Extended Parallel Port Interface Slave CoreOn this page: Description | Implementation Results | Features | Applications | Symbol Diagram | Functional Description | Support | Verification | Deliverables The Enhanced Parallel Port (EPP) interface is a standard protocol that permits bi-directional data transfer between a personal computer and a peripheral device. Data transfer rates may vary between 500 kbytes/s and 2000 kbytes/s, depending on the EPP master implementation in the host PC. The EPP slave is ideal for interfacing to a PC through the widely used Parallel Port, easily and with low cost, without having to develop sophisticated software drivers. It is suited for peripherals that require relatively high data transfer rates and bi-directional data transfer. The core implements EPP version 1.9, which is compatible with both EPP 1.9 and 1.7 hosts. It was carefully designed to provide reliable communication, and a prototype peripheral using the core was developed and exercised during the testing procedures. The EPP_Slave core is a fully synchronous design. The core is available in both VHDL and Verilog and the code is technology independent. See representative implementation results (each in a new pop-up window): Features
ApplicationsThe EPP_SLAVE can be utilized for a variety of applications including:
Symbol Diagram
Functional DescriptionFrom the peripheral side, a generic microprocessor bus interface is implemented, using interlocking handshakes. This means that there are acknowledge signals that depend on each other. For example, in case of an EPP read transaction, the EPP slave will wait for the peripheral to assert the ready flag before sending a re pulse to it. The EPP core will wait until the peripheral sends back an acknowledge signal (data_valid) to indicate that data fed to the core’s input are valid. Then the core passes the data to the EPP host and asserts epp_nwait, which is the acknowledge signal used by the EPP to end the transaction. By using interlocked handshakes, the peripheral can extend the EPP transaction for a short period of time, enough to be able to respond. The peripheral sees the host PC through the parallel port as an external microprocessor. The core provides to the peripheral 8-bit input and output data buses, an 8-bit address bus, read / write strobes and handshake signals. The PC always plays the role of the master and initiates read or write transactions. One global clock domain is used in the fully-synchronous core. All flip-flops are triggered with the positive edge of the clock, and no latches are used. Tristate enable signals are provided for use with tristate buffers in the top level where needed to combine input and output buses to a single bi-directional bus. SupportThe core as delivered is warranted against defects for ninety days from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available. VerificationThe EPP_Slave core was implemented on a general purpose prototyping platform and tested with several host PCs. DeliverablesThe core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:
On this page: Description | Implementation Results | Features | Applications | Symbol Diagram | Functional Description | Support | Verification | Deliverables Download PDF datasheets for more info: ASIC | Altera | Xilinx
|
||||||||||||||||||||
|
top of page |
|||||||||||||||||||||