|
Part 2: The Software and Firmware Exposed
by Fred Eady
Start ý The
Basics ý Registers ý Bus
Interface Registers ý Status and Control
Registers ý InitChip ý Initiate
Transmit Registers ý Address Filter Registers
ý Receive and Transmit Frame Locations
ý CS8900A-CQ Transmit and Receive Operations
ý The Next Read ý Broadcast
ý ARP ý No Cheating
ý Tiger Woodsý Putter ý Whatýs
the Point? ý And It Programs, Too!
ý Sources and PDF
BUS INTERFACE REGISTERS
The bus interface registers are primarily
used for interfacing the CS8900A-CQ to a real ISA bus. Because there
is no place for an ISA connector on the PIC or the Ethernet development
board, not much of the bus interface registerýs functionality is used.
The ppageBaseIO, which is part of the bus interface register group,
defaults to 0x300, which is the Ethernet development boardýs selected
I/O base address. So, you donýt have to set it with code (good thing).
You could use the ppagePID register to determine which level of CS8900A-CQ
is glued to your printed circuit board, but that is just a waste of
code, memory space, and CPU cycles for this application.
CS8900A-CQ 8-bit mode does not allow
the use of CS8900A-CQ interrupts, EEPROM, or DMA. So, you must poll
the CS8900A-CQ INTRQX line to sense transmit, receive, or error activity.
For the polling to be realized, you must set up one of the INTRQX
lines to transmit activity status to the PIC16F877ýs input pin. The
application will use the INTRQ0 line, which is defined in the ppageINT
register using the mask for INTRQ0 (0x00), as shown in Listing
5. After the interrupt is defined and enabled, you can turn on
the CS8900A-CQ transmitter and receiver.
PREVIOUS
NEXT
Circuit Cellar provides up-to-date information for engineers. Visit
www.circuitcellar.com for
more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com
or subscribe online.
ýCircuit Cellar, the Magazine for Computer Applications. Posted with
permission. |