Loading and Unloading an Interrupt Service Routine (ISR)

Cleanup uses the same HwSetIntVector routine to restore the old value. This time, the parameter is the old value and the interim value returned by the func- tion is ignored. Only the three interrupts that were asserted are restored, and only if the structure for the NIC instance has had old values saved in it.

//±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

//cleanup() ± cleanup in preparation for exiting to dos //±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± static void cleanup(void)

{

if (nic.Irq) HwSetIntMask((BYTE)nic.Irq,1);

if (nic.OldNic) HwSetIntVector((BYTE)nic.Irq,nic.OldNic);

if (nic.OldTimer) HwSetIntVector(0x1C,nic.OldTimer);

if (nic.OldAbort) HwSetIntVector(0x23,nic.OldAbort);

}

The next interrupt to be intercepted corresponds to the actual hardware inter- rupt. Since the original installation for a ThunderLAN controller is a PCI slot, its interrupt in the PC is assigned by the PCI BIOS code. You must interrogate the PCI configuration space to find it. This was done in the previous section as part of GetPciConfig(). It uses the same function call as the two intercept installs below:

nic.OldNic = HwSetIntVector((BYTE)nic.Irq, NicIsr);

Note that the actual interrupt request (IRQ) is passed as a variable, not a constant as in the interrupts installed above. As in most interrupt service rou- tines, make sure that stack space is available for calls and protect the informa- tion currently in the registers.

4-4

Page 71
Image 71
Texas Instruments TNETE100A, TNETE211, TNETE110A manual Nic.OldNic = HwSetIntVectorBYTEnic.Irq, NicIsr

TNETE110A, TNETE211, TNETE100A specifications

Texas Instruments has been a leader in developing innovative semiconductor solutions, and their Ethernet PHY (Physical Layer Transceiver) family, specifically the TNETE100A, TNETE211, and TNETE110A, exemplifies this commitment to excellence. These devices are designed to address the needs of a variety of applications, ranging from industrial automation to consumer electronics.

The TNETE100A is a highly versatile Ethernet PHY capable of supporting 10/100 Mbps Ethernet connectivity. One of its main features is the low power consumption, which makes it an ideal choice for battery-operated devices. It incorporates advanced power management technologies, ensuring that the device operates efficiently while maintaining high performance. The TNETE100A also supports Auto-Negotiation, allowing for seamless communication between devices at different speeds, thereby enhancing flexibility in network configurations.

Moving to the TNETE211, this device supports 10/100/1000 Mbps Ethernet, making it suitable for high-speed networking applications. This PHY integrates features such as Energy Efficient Ethernet (EEE), which reduces power consumption during low-traffic periods, aligning with the contemporary demand for energy efficiency in networking equipment. The TNETE211 is engineered with robust EMI (Electromagnetic Interference) performance and provides multiple interface options, making it a versatile choice for embedded systems and networking applications.

The TNETE110A stands out in the lineup as a sophisticated device that supports both Fast Ethernet and Gigabit Ethernet. This PHY utilizes advanced signal processing techniques to ensure superior link robustness and performance in noisy environments. Its features include an integrated transformer driver, which simplifies PCB design and allows for compact device layouts. Additionally, the TNETE110A is designed to be fully compliant with Ethernet standards, ensuring reliable interoperability with other network components.

All three PHYs leverage Texas Instruments' expertise in integrated circuit design, resulting in low jitter and high signal integrity, essential for modern communication standards. They are optimized for a wide range of temperatures, making them suitable for harsh industrial applications. With built-in diagnostic capabilities, these devices also enable efficient fault detection and troubleshooting in network infrastructures.

In summary, the Texas Instruments TNETE100A, TNETE211, and TNETE110A are exemplary Ethernet PHY devices, each tailored to meet specific networking needs while adhering to stringent efficiency and performance criteria. Their advanced features, technologies, and reliability make them pivotal components in today's fast-paced digital landscape.