DA module library for MCU Gear with LPC1114FN28. This library contains wiring setting function.

Committer:
Info
Date:
Mon May 05 10:40:11 2014 +0000
Revision:
0:177e80bbbd3b
DA module library for MCU Gear with LPC1114FN28 mbed.; This library contain wiring setting for DA module.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Info 0:177e80bbbd3b 1
Info 0:177e80bbbd3b 2 #include "mbed.h"
Info 0:177e80bbbd3b 3 #include "MCUGearALPC1114.h"
Info 0:177e80bbbd3b 4 #include "MCUGearBaseALPC1114.h"
Info 0:177e80bbbd3b 5 #include "DAmoduleLPC1114.h"
Info 0:177e80bbbd3b 6
Info 0:177e80bbbd3b 7 DAmodule::DAmodule(SPI _spi, PinName _cs, PinName _dout1, MCUGear *mcugear)
Info 0:177e80bbbd3b 8 :spi(_spi),cs(_cs), dout1(_dout1) {
Info 0:177e80bbbd3b 9
Info 0:177e80bbbd3b 10 //Dout,mosi,sck,cs
Info 0:177e80bbbd3b 11 mcugear->setWireA(IOout1, IO_REG_OUT_DIR, 0);
Info 0:177e80bbbd3b 12 mcugear->setWireA(IOMOSI, IO_REG_OUT_DIR, 1);
Info 0:177e80bbbd3b 13 mcugear->setWireA(IOSCK, IO_REG_OUT_DIR,2);
Info 0:177e80bbbd3b 14 mcugear->setWireA(IOCS, IO_REG_OUT_DIR,3);
Info 0:177e80bbbd3b 15 }
Info 0:177e80bbbd3b 16
Info 0:177e80bbbd3b 17
Info 0:177e80bbbd3b 18 void DAmodule::initDA(MCUGear *mcugear){
Info 0:177e80bbbd3b 19
Info 0:177e80bbbd3b 20 cs = 1;
Info 0:177e80bbbd3b 21 dout1=1; //reset ratch signal
Info 0:177e80bbbd3b 22
Info 0:177e80bbbd3b 23 //12bit SPI DA module----------------
Info 0:177e80bbbd3b 24 spi.frequency(20000000); //10MHz
Info 0:177e80bbbd3b 25 }
Info 0:177e80bbbd3b 26
Info 0:177e80bbbd3b 27 void DAmodule::writeDAm(MCUGear *mcugear, int data){
Info 0:177e80bbbd3b 28
Info 0:177e80bbbd3b 29 //12bit SPI DA module----------------
Info 0:177e80bbbd3b 30 //DA signl uses the data of AD 0ch.
Info 0:177e80bbbd3b 31 //cs = 1;
Info 0:177e80bbbd3b 32 //dout1=1; //reset ratch signal
Info 0:177e80bbbd3b 33
Info 0:177e80bbbd3b 34 //12bit SPI DA module----------------
Info 0:177e80bbbd3b 35 //spi.frequency(20000000); //10MHz
Info 0:177e80bbbd3b 36 //connection
Info 0:177e80bbbd3b 37 //mcugear->connectModuleA(); //connect---
Info 0:177e80bbbd3b 38 cs = 0;
Info 0:177e80bbbd3b 39 spi.write((0x30)+((data>>8)&0x0F));//write 0011 0000
Info 0:177e80bbbd3b 40 spi.write(data&0xFF);//write 0011 1000 0000 0000
Info 0:177e80bbbd3b 41
Info 0:177e80bbbd3b 42 wait_us(1); //over 15nsec
Info 0:177e80bbbd3b 43 cs = 1; //CS high
Info 0:177e80bbbd3b 44 wait_us(1); //over 40nsec
Info 0:177e80bbbd3b 45 dout1=0; //ratch for DA out enable
Info 0:177e80bbbd3b 46 wait_us(1); //over 100nsec
Info 0:177e80bbbd3b 47 dout1=1; //reset ratch signal
Info 0:177e80bbbd3b 48 //mcugear->disconnectModule(); //disconnect---
Info 0:177e80bbbd3b 49 //wait_us(1); //wait after disconnect
Info 0:177e80bbbd3b 50 }
Info 0:177e80bbbd3b 51
Info 0:177e80bbbd3b 52 void DAmodule::writeDAa(MCUGear *mcugear, int data){
Info 0:177e80bbbd3b 53
Info 0:177e80bbbd3b 54 //12bit SPI DA module----------------
Info 0:177e80bbbd3b 55 //DA signl uses the data of AD 0ch.
Info 0:177e80bbbd3b 56 cs = 1;
Info 0:177e80bbbd3b 57 dout1=1; //reset ratch signal
Info 0:177e80bbbd3b 58
Info 0:177e80bbbd3b 59 //12bit SPI DA module----------------
Info 0:177e80bbbd3b 60 spi.frequency(20000000); //10MHz
Info 0:177e80bbbd3b 61 //connection
Info 0:177e80bbbd3b 62 mcugear->connectModuleA(); //connect---
Info 0:177e80bbbd3b 63 cs = 0;
Info 0:177e80bbbd3b 64 spi.write((0x30)+((data>>8)&0x0F));//write 0011 0000
Info 0:177e80bbbd3b 65 spi.write(data&0xFF);//write 0011 1000 0000 0000
Info 0:177e80bbbd3b 66
Info 0:177e80bbbd3b 67 wait_us(1); //over 15nsec
Info 0:177e80bbbd3b 68 cs = 1; //CS high
Info 0:177e80bbbd3b 69 wait_us(1); //over 40nsec
Info 0:177e80bbbd3b 70 dout1=0; //ratch for DA out enable
Info 0:177e80bbbd3b 71 wait_us(1); //over 100nsec
Info 0:177e80bbbd3b 72 dout1=1; //reset ratch signal
Info 0:177e80bbbd3b 73 mcugear->disconnectModule(); //disconnect---
Info 0:177e80bbbd3b 74 }