VLSI Solution Oy VLSI Solution Oy Evaluation MP3 Player Source Code Documentation

Main Page | Class List | File List | Class Members | File Members | Related Pages

board.c File Reference

Board related utility functions such as delay(). More...

#include "board.h"
#include "lcd.h"

Include dependency graph for board.c:

Include dependency graph

Go to the source code of this file.

Classes

union  Temp
 Generic temp variable for non-reentrant main routines. More...


Functions

unsigned char SPIGetChar ()
 Send 8 ones to SPI bus and receive the result byte.

void SPI8Clocks (unsigned char nClocks)
 Send nClocks x 8 clock transitions with MOSI=1 (0xff).

void Delay (int milliseconds)
 Busy loop delay function.

void InitBoard ()
 Startup initialization of the microcontroller board.


Variables

Temp temp
 Generic temp variable for non-reentrant main routines.


Detailed Description

Board related utility functions such as delay().

Definition in file board.c.


Function Documentation

void Delay int  milliseconds  ) 
 

Busy loop delay function.

Creates n times 1 ms hardware delays

Definition at line 35 of file board.c.

References InitiateDelay, and WaitOutDelay.

Referenced by InitMMC(), LcdPrintGenericResult(), LoadPatch(), Mp3Reset(), Mp3SoftReset(), RebootMMC(), Record(), and VsSineTest().

00035 { 00036 for (;milliseconds;milliseconds--){ /* for n times do: */ 00037 InitiateDelay (1000); 00038 WaitOutDelay(); /* 1 ms delay */ 00039 } 00040 }

void InitBoard  ) 
 

Startup initialization of the microcontroller board.

Definition at line 43 of file board.c.

References InitiateDelay, MMC_OFF, and MP3_XRESET.

Referenced by main().

00044 { 00045 AUXR = 0x11; /* Take full memory into use */ 00046 MP3_XRESET = 0; /* Put the MP3 chip into reset */ 00047 MMC_OFF = 1; /* Turn mmc power off */ 00048 00049 00050 SPCON = 0xF2; /* Set slow spi clock */ 00051 CKCON0 = 0x01; /* CPU x 2, timer2 x 1 */ 00052 IEN0 = 0; /* Disable all interrupts */ 00053 00054 BDRCON = 0x1F; /* Set uart for 115200,8n1 */ 00055 PCON = 0x80; /* Double Baud Rate */ 00056 BRL = 248; 00057 SCON = 0x50; /* Serial Port Control Register */ 00058 TI = 1; 00059 00060 ConsoleWrite ("\r\r\rBoard: Console is up.\r"); 00061 00062 00063 TMOD = 1; 00064 00065 00066 RCAP2H = 143; /* Set timer2 for 128 interrupts in second */ 00067 RCAP2L = 89; 00068 TH2 = 143; 00069 TL2 = 89; 00070 T2CON = 0; 00071 T2MOD = 0; 00072 00073 TR2 = 1; /* Start timer2 */ 00074 // ET2 = 1; /* Enable timer2 interrupts */ 00075 00076 P2 = 0xEF; 00077 P3 = 0xFF; 00078 00079 InitiateDelay(0); /* Initialize the Delay System */ 00080 00081 ConsoleWrite ("Init: Board; supports: AT89C51RD2, MMC, VS10xx, RS232\r"); 00082 00083 00084 // EA = 1; /* Global enable for interrupts */ 00085 }

void SPI8Clocks unsigned char  nClocks  ) 
 

Send nClocks x 8 clock transitions with MOSI=1 (0xff).

Definition at line 26 of file board.c.

References SPIPutCharWithoutWaiting, and SPIWait.

Referenced by MmcCommand(), MmcWaitForData(), ReadPhysicalSector(), and WritePhysicalSector().

00026 { 00027 while (nClocks--){ 00028 SPIPutCharWithoutWaiting(0xff); 00029 SPIWait(); 00030 } 00031 }

unsigned char SPIGetChar  ) 
 

Send 8 ones to SPI bus and receive the result byte.

Definition at line 18 of file board.c.

References SPI_RESULT_BYTE, SPIPutCharWithoutWaiting, and SPIWait.

Referenced by ConsoleDecipherMMCResponse(), MmcCommand(), MmcGetData(), MmcWaitForData(), and WritePhysicalSector().

00018 { 00019 SPIPutCharWithoutWaiting(0xff); /* send 0xff */ 00020 SPIWait(); /* wait for the byte to transfer */ 00021 return SPI_RESULT_BYTE; /* Return the received byte */ 00022 }


Variable Documentation

union Temp temp
 

Generic temp variable for non-reentrant main routines.

Referenced by BuildFragmentTable(), FatInitGlobals(), GetAVIBlock(), InitMMC(), LoadPatch(), main(), OpenFile(), Record(), SendZerosToVS10xx(), UpdateDisplay(), and WriteClusterChain().


All software copyright 2000-2004 VLSI Solution OY. Redistribution of these software modules are limited to promotional use only and only with the VS1011 / VS1002 / VS1003 MP3-Evakit evaluation boards. Free or commercial use of these software modules in MP3 players is ok if the product includes MP3 decoder chip(s) from VLSI. You can request the complete (compilable) package from mp3@vlsi.fi