Code for measuring the signal with a specified length and sampling rate, and saving it on a SD card.

Dependencies:   EALib I2S mbed

Committer:
msamadani
Date:
Thu Oct 05 17:44:39 2017 +0000
Revision:
2:8c5b6522139f
Parent:
0:c05b00be2229
A version of the code that initializes the SD RAM, activates the codec, measures the signal and saves the signal onto the SD Card.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
msamadani 0:c05b00be2229 1 #include "mbed.h"
msamadani 0:c05b00be2229 2 #include "sdram.h"
msamadani 0:c05b00be2229 3 #include "savePower.h"
msamadani 0:c05b00be2229 4
msamadani 0:c05b00be2229 5 static int phy_write(unsigned int PhyReg, unsigned short Data)
msamadani 0:c05b00be2229 6 {
msamadani 0:c05b00be2229 7 unsigned int timeOut;
msamadani 0:c05b00be2229 8
msamadani 0:c05b00be2229 9 LPC_EMAC->MADR = DP83848C_DEF_ADR | PhyReg;
msamadani 0:c05b00be2229 10 LPC_EMAC->MWTD = Data;
msamadani 0:c05b00be2229 11
msamadani 0:c05b00be2229 12 for(timeOut = 0; timeOut < MII_WR_TOUT; timeOut++) { /* Wait until operation completed */
msamadani 0:c05b00be2229 13 if((LPC_EMAC->MIND & MIND_BUSY) == 0) {
msamadani 0:c05b00be2229 14 return 0;
msamadani 0:c05b00be2229 15 }
msamadani 0:c05b00be2229 16 }
msamadani 0:c05b00be2229 17
msamadani 0:c05b00be2229 18 return -1;
msamadani 0:c05b00be2229 19 }
msamadani 0:c05b00be2229 20
msamadani 0:c05b00be2229 21 DigitalOut cke(P2_24);
msamadani 0:c05b00be2229 22 Ethernet eth;
msamadani 0:c05b00be2229 23 DigitalOut p1_19(P1_19);
msamadani 0:c05b00be2229 24 DigitalOut p2_18(P2_18);
msamadani 0:c05b00be2229 25
msamadani 0:c05b00be2229 26
msamadani 0:c05b00be2229 27 void savePower(void)
msamadani 0:c05b00be2229 28 {
msamadani 0:c05b00be2229 29 /*
msamadani 0:c05b00be2229 30 ------------------------------------------------------->
msamadani 0:c05b00be2229 31 Initialize SDRAM and set CKE 0 to make sure SDRAM is
msamadani 0:c05b00be2229 32 in power-down mode. CKE is also connected to a 1K5 pull
msamadani 0:c05b00be2229 33 down resistor
msamadani 0:c05b00be2229 34 */
msamadani 0:c05b00be2229 35 // DigitalOut cke(P2_24);
msamadani 0:c05b00be2229 36 sdram_init();
msamadani 0:c05b00be2229 37 cke = 0; // set low not to draw any current
msamadani 0:c05b00be2229 38
msamadani 0:c05b00be2229 39 /* ------------------------------------------------------->
msamadani 0:c05b00be2229 40 Initialize Ethernet by instantiating the Ethernet class
msamadani 0:c05b00be2229 41 The Ethernet interface doesn't contain a power-down
msamadani 0:c05b00be2229 42 method so we reimplement phy_write in this app and
msamadani 0:c05b00be2229 43 puts the PHY in power-down here
msamadani 0:c05b00be2229 44 */
msamadani 0:c05b00be2229 45 // Ethernet eth;
msamadani 0:c05b00be2229 46
msamadani 0:c05b00be2229 47 phy_write(PHY_REG_BMCR, PHY_BMCR_PWR_DOWN);
msamadani 0:c05b00be2229 48
msamadani 0:c05b00be2229 49 /*<-------------------------------------------------------
msamadani 0:c05b00be2229 50 must be low to disable U7 (STMPS2171STR)
msamadani 0:c05b00be2229 51 DigitalOut p1_19(P1_19);
msamadani 0:c05b00be2229 52 */
msamadani 0:c05b00be2229 53 p1_19 = 0;
msamadani 0:c05b00be2229 54
msamadani 0:c05b00be2229 55
msamadani 0:c05b00be2229 56 /* p2.18 connected to 1K5 pull-down resistor
msamadani 0:c05b00be2229 57 DigitalOut p2_18(P2_18);
msamadani 0:c05b00be2229 58 */
msamadani 0:c05b00be2229 59 p2_18 = 0;
msamadani 0:c05b00be2229 60
msamadani 0:c05b00be2229 61 }