AN00007.TXT Advanced Communication Board Developer's Toolkit 1995 ---------------------------------------------------------------------- ---------------------------------------------------------------------- Subject: ACB Initialization. Initialization of the Z8530 SCC is a very important part of building a reliable ACB based application. Due to the fact that there are sixteen programmable write registers in the SCC, care must be taken to ensure that SCC recovery time is not violated and no SCC internal race conditions are occurring. If the application displays unusual or erratic behavior, the first thing to check is a recovery time violation. The second factor that may cause the SCC to behave intermittently is an internal race condition. An SCC internal race condition is caused by initializing the SCC write registers in an order that is not recommended. The SCC initialization is divided into three parts: Modes, Enables, and Interrupts. The SCC write commands are mostly divided into separate registers that will allow these three initialization sequences to remain separate. The SCC should be reset through software before the initialization process is started. Once the reset command has been issued, program the Modes (i.e. sync or async, number of data bits). After the Modes have been set, enable the transmitter, receiver, baud rate generator (optional), reset the TX CRC generator (optional) and enable DMA. Once the Enables have been programmed, set the conditions that should cause an interrupt on the SCC to occur. For a detailed worksheet on the recommended initialization order, please refer to the application note titled 'ACB Initialization Worksheet' (an00008.txt) or the SCC User Manual. All example programs on this disk follow proper initialization order.