Mohsen Samadani
/
Algorithm-testing
Code for measuring the signal with a specified length and sampling rate, and saving it on a SD card.
savePower.cpp@2:8c5b6522139f, 2017-10-05 (annotated)
- 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?
User | Revision | Line number | New 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 | } |