📄 triton_ldo_test.c
字号:
#include "triton_ldo_test.h"
#include "UART_irDA.h"
void triton_VRSIM_OFF();
extern UWORD16 AbbDeviceAddress ;
void triton_ldo_test(void)
{ unsigned short val ;
int previous_content,i;
AbbDeviceAddress = AbbDeviceAddressDefault ;
/* I2c interface initialization */
MSI2C_InitConnectionAbb();
// Tritonsys_Regen_Sleepoff();
/* to access to the page of the Abb module MASTER */
MSI2C_AccessPage(PMC_MASTER_page);
/* configure PU and PD config registers */
/* set MCLK2 PD for non-apps usage */
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_PU_PD_CFG1);
MSI2C_MasterPollingSendAbb(PMC_MASTER_PU_PD_CFG1,(previous_content & 0x02));
// previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_PU_PD_CFG1);
/* configure ITWAKEUP1 to be unmasked after 1st switch-on(P1_LVL_WAKEUP=1) */
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_P1_CFG_TRANSITION);
MSI2C_MasterPollingSendAbb(PMC_MASTER_P1_CFG_TRANSITION,(previous_content | 0x80));
// previous_content = MSI2C_MasterPollingReceiveAbb(PMC_MASTER_P1_CFG_TRANSITION);
Tritonsys_Remap_Resources();
//Tritonsys_Map_MMC_SIM();
// Triton_Map_MMC_SIM();
triton_VRDBB(VRDBB1_40v); // vrdbb open to1.4v
triton_VRPLL(VRPLL_1_40V);
UART_Printf(UART2,"\n\r");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2," TRITON Test Menu\r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"0 : EXIT \t\n");
UART_Printf(UART2,"1 : SETUP VRMMC VOLTAGE TO: 1.8V \r\n");
UART_Printf(UART2,"2 : SETUP VRMMC VOLTAGE TO: 2.8V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"3 : SETUP VRSIM VOLTAGE TO: 1.8V \r\n");
UART_Printf(UART2,"4 : SETUP VRSIM VOLTAGE TO: 2.8V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"5 : SETUP VRPLL VOLTAGE TO: 1.4V \r\n");
UART_Printf(UART2,"6 : SETUP VRPLL VOLTAGE TO: 1.3V \r\n");
UART_Printf(UART2,"7 : SETUP VRPLL VOLTAGE TO: 1.05V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"8 : SETUP VREXTH VOLTAGE TO: 2.8V \r\n");
UART_Printf(UART2,"9 : SETUP VREXTH VOLTAGE TO: 1.8V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"10 : SETUP VREXTL VOLTAGE TO: 1.05V \r\n");
UART_Printf(UART2,"11 : SETUP VREXTL VOLTAGE TO: 1.3V \r\n");
UART_Printf(UART2,"12 : SETUP VREXTL VOLTAGE TO: 1.8V \r\n");
UART_Printf(UART2,"13 : SETUP VREXTL VOLTAGE TO: 2.8V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"14 : SETUP VRVBUS VOLTAGE TO: 5V \r\n");
UART_Printf(UART2,"15 : SETUP VRUSB VOLTAGE TO: 3.3V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"16 : SETUP VRDBB VOLTAGE TO: 1.40V \r\n");
UART_Printf(UART2,"17 : SETUP VRDBB VOLTAGE TO: 1.37V \r\n");
UART_Printf(UART2,"18 : SETUP VRDBB VOLTAGE TO: 1.34V \r\n");
UART_Printf(UART2,"19 : SETUP VRDBB VOLTAGE TO: 1.31V \r\n");
UART_Printf(UART2,"20 : SETUP VRDBB VOLTAGE TO: 1.28V \r\n");
UART_Printf(UART2,"21 : SETUP VRDBB VOLTAGE TO: 1.25V \r\n");
UART_Printf(UART2,"22 : SETUP VRDBB VOLTAGE TO: 1.22V \r\n");
UART_Printf(UART2,"23 : SETUP VRDBB VOLTAGE TO: 1.19V \r\n");
UART_Printf(UART2,"24 : SETUP VRDBB VOLTAGE TO: 1.16V \r\n");
UART_Printf(UART2,"25: SETUP VRDBB VOLTAGE TO: 1.13V \r\n");
UART_Printf(UART2,"26 : SETUP VRDBB VOLTAGE TO: 1.10V \r\n");
UART_Printf(UART2,"27 : SETUP VRDBB VOLTAGE TO: 1.07V \r\n");
UART_Printf(UART2,"28 : SETUP VRDBB VOLTAGE TO: 1.04V \r\n");
UART_Printf(UART2,"29 : SETUP VRDBB VOLTAGE TO: 1.01V \r\n");
UART_Printf(UART2,"30 : SETUP VRDBB VOLTAGE TO: 1.95V \r\n");
UART_Printf(UART2,"==========================================\r\n");
UART_Printf(UART2,"31 : SETUP VRSIM VOLTAGE TO: 0V \r\n");
UART_Printf(UART2,"------------------------------------------\n\r");
UART_Printf(UART2,"Please Enter your choice: \r\n ");
val = UART_GetNum(UART2);
UART_Printf(UART2,"\n\r");
switch (val)
{
case 0:
{
break;
}
case 1:
{
triton_VRMMC_1v8();
break;
}
case 2:
{
triton_VRMMC_2v8();
break;
}
case 3:
{
CONFIGURATION_VOLTAGE_CTRL_0 |= 0x044; //enable down mode and Vmode='1';
for(i=0;i<1000;i++);
CONFIGURATION_VOLTAGE_CTRL_0 &= ~(0x0007); //Vmode='0', Fmode='00' 1.8V
for(i=0;i<1000;i++);
trition_VRSIM(VRSIM_1V8);
for(i=0;i<1000;i++);
CONFIGURATION_VOLTAGE_CTRL_0 &= ~(0x040); //disable down mode
break;
}
case 4:
{
CONFIGURATION_VOLTAGE_CTRL_0 |= 0x044; //enable down mode and Vmode='1';
for(i=0;i<1000;i++);
trition_VRSIM(VRSIM_2V8); //set triton output 2.8V
for(i=0;i<1000;i++);
CONFIGURATION_VOLTAGE_CTRL_0 |= 0x0001; //set FMODE='01', 2.8v
for(i=0;i<1000;i++);
CONFIGURATION_VOLTAGE_CTRL_0 &= ~(0x040); //disable down mode
break;
}
case 5:
{
triton_VRPLL(VRPLL_1_40V);
break;
}
case 6:
{
triton_VRPLL(VRPLL_1_30V);
break;
}
case 7:
{
triton_VRPLL(VRPLL_1_05V);
break;
}
case 8:
{
trition_VREXTH(VREXTH_2_80v);
break;
}
case 9:
{
trition_VREXTH(VREXTH_1_80v);
break;
}
case 10:
{ trition_VREXTL(VREXTL_SLEEP_ACTIVE_1_05v);
break;
}
case 11:
{
trition_VREXTL(VREXTL_SLEEP_ACTIVE_1_30v);
break;
}
case 12:
{
trition_VREXTL(VREXTL_SLEEP_ACTIVE_1_80v);
break;
}
case 13:
{
trition_VREXTL(VREXTL_SLEEP_ACTIVE_2_80v);
break;
}
case 14:
{triton_VRVBUS();
break;
}
case 15:
{
triton_VRUSB();
break;
}
case 16:
{
triton_VRDBB(VRDBB1_40v);
break;
}
case 17:
{ triton_VRDBB(VRDBB1_37v);
break;
}
case 18:
{ triton_VRDBB(VRDBB1_34v);
break;
}
case 19:
{ triton_VRDBB(VRDBB1_31v);
break;
}
case 20:
{ triton_VRDBB(VRDBB1_28v);
break;
}
case 21:
{ triton_VRDBB(VRDBB1_25v);
break;
}
case 22:
{ triton_VRDBB(VRDBB1_22v);
break;}
case 23:
{ triton_VRDBB(VRDBB1_19v);
break;}
case 24:
{ triton_VRDBB(VRDBB1_16v);
break;}
case 25:
{ triton_VRDBB(VRDBB1_13v);
break;}
case 26:
{ triton_VRDBB(VRDBB1_10v);
break;}
case 27:
{ triton_VRDBB(VRDBB1_07v);
break;}
case 28:
{ triton_VRDBB(VRDBB1_04v);
break;}
case 29:
{ triton_VRDBB(VRDBB1_01v);
break;}
case 30:
{ triton_VRDBB(VRDBB0_95v);
break;
}
case 31:
{ triton_VRSIM_OFF();
break;
}
}
// triton_VRDBB(VRDBB1_40v);
// triton_VRDBB(VRDBB1_37v);
// triton_VRDBB(VRDBB1_34v);
// triton_VRDBB(VRDBB1_31v);
// triton_VRDBB(VRDBB1_28v);
// triton_VRDBB(VRDBB1_25v);
// triton_VRDBB(VRDBB1_22v);
// triton_VRDBB(VRDBB1_19v);
// triton_VRDBB(VRDBB1_16v);
// triton_VRDBB(VRDBB1_13v);
// triton_VRDBB(VRDBB1_10v);
// triton_VRDBB(VRDBB1_07v);
// triton_VRDBB(VRDBB1_04v);
// triton_VRDBB(VRDBB1_01v);
// triton_VRDBB(VRDBB0_98v);
// triton_VRDBB(VRDBB0_95v);
// triton_VRDBB(VRDBB1_40v);
// PM_P1_P2_P3_DEVOFF();
}
void triton_VRDBB(UWORD8 voltage)
{
PM_VRDBB_voltage_controled_by_software(voltage);
}
void triton_VRPLL(UWORD8 voltage)
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRPLL_CFG_DEDICATED);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRPLL_CFG_DEDICATED,(voltage |(previous_content & 0xFC)));
}
void triton_VRMMC_1v8(void)
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED,(previous_content & 0x0));
/* to access to the page of the Abb module PMC_SLAVE */
MSI2C_AccessPage(PMC_SLAVE_page);
/* change VRMMC from NO_GROUP to DEV_GRP_APPLI (0b001) */
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_STS);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_STS,(previous_content | 0x20));
}
void triton_VRMMC_2v8(void)
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_DEDICATED,(previous_content | 0x01));
/* to access to the page of the Abb module PMC_SLAVE */
MSI2C_AccessPage(PMC_SLAVE_page);
/* change VRMMC from NO_GROUP to DEV_GRP_APPLI (0b001) */
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRMMC_CFG_STS);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRMMC_CFG_STS,(previous_content | 0x20));
}
void trition_VRSIM(UWORD8 voltage)
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRSIM_CFG_DEDICATED);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRSIM_CFG_DEDICATED,(voltage |(previous_content & 0xFE)));
MSI2C_AccessPage(PMC_SLAVE_page);
/* change VRSIM from NO_GROUP to DEV_GRP_PERIPH (0b001) */
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRSIM_CFG_STS);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRSIM_CFG_STS,(previous_content | 0x20));
}
void triton_VRSIM_OFF()
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
/* change VRSIM from NO_GROUP to other (0b000) */
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VRSIM_CFG_STS);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VRSIM_CFG_STS,(previous_content & ~(0xE0)));
}
void trition_VREXTL(UWORD8 voltage)
{
int previous_content;
MSI2C_AccessPage(PMC_SLAVE_page);
previous_content = MSI2C_MasterPollingReceiveAbb(PMC_SLAVE_VREXTL_CFG_DEDICATED);
MSI2C_MasterPollingSendAbb(PMC_SLAVE_VREXTL_CFG_DEDICATED,(voltage |(previous_content & 0xF0)));
}
void trition_VREXTH(UWORD8 voltage)
{
int previous_content;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -