54 lines
2.3 KiB
C
54 lines
2.3 KiB
C
//----------------------------------------------------------------------------
|
|
// ICD2051.C
|
|
//----------------------------------------------------------------------------
|
|
// PLL (Cypress ICD2051) programming
|
|
//----------------------------------------------------------------------------
|
|
// Copyright SGS Thomson Microelectronics ! Version alpha ! Jan 1st, 1995
|
|
//----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Include files
|
|
//----------------------------------------------------------------------------
|
|
#include "stdefs.h"
|
|
#include "aal.h"
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Private Constants
|
|
//----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Private Types
|
|
//----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Private GLOBAL Variables (static)
|
|
//----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Functions (statics one are private)
|
|
//----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Send a 22 bit Word (LSB first) to an ICD2051 component
|
|
//----------------------------------------------------------------------------
|
|
VOID ICD2051SendWord(BOOL PLLA, DWORD Data)
|
|
{
|
|
BYTE i;
|
|
|
|
for (i = 0; i < 22; i++) {
|
|
if ((Data & 0x01) != 0) {
|
|
ICD2051WriteCMD(1, 0 && PLLA, 0 && !PLLA);
|
|
ICD2051WriteCMD(1, 1 && PLLA, 1 && !PLLA);
|
|
ICD2051WriteCMD(1, 0 && PLLA, 0 && !PLLA);
|
|
}
|
|
else {
|
|
ICD2051WriteCMD(0, 0 && PLLA, 0 && !PLLA);
|
|
ICD2051WriteCMD(0, 1 && PLLA, 1 && !PLLA);
|
|
ICD2051WriteCMD(0, 0 && PLLA, 0 && !PLLA);
|
|
}
|
|
Data = Data >> 1;
|
|
}
|
|
}
|
|
|
|
//------------------------------- End of File --------------------------------
|