gprs信号保护电路设计
dp83848电路
这个是我用K60做的智能电表总体设计。
1,功能描述本设计通过使用k60一个cortexM内核的高效性能完成智能电表的设计。1、采用K60内置的mac层与外置的PHY层通过MII通信方式完成以太网的硬件连接,通过移植LWIP完成对以太网通信的软件部分;2、通过采用三相计量芯片ADE7878完成电表的主要功能,对电压、电流、功率、频率等等多参数的采集以及计算(这个是智能电表的核心);3、采用外置看门狗芯片完成对K60芯片组的管理以及监督;4、通过外置FLASH模组完成对信息的存储;5、通过采用恩智浦以及ad公司芯片完成对数据传输的保护性以及可靠性上,采用HYM8025以及恩智浦芯片完成对gprs和usb等数据的通信。
2,部分程序设计
case Init_State:
feeddog();//1S喂外加硬狗
ETH_Level_Config();
ucLinkTimeCount = 0;
SimpleStateMachineState = Link_State;
break;
case Link_State:
feeddog();//1S喂外加硬狗
if(ucLinkTimeCount>100)
{
ucLinkTimeCount = 0;
uwLinkStatus = ETH_ReadPHYRegister(ucPHY_Addr, PHY_BSR);
if( (uwLinkStatus!= ETH_ERROR)&&(uwLinkStatus!= 0xFFFF)&&(uwLinkStatus & PHY_Linked_Status))
{
SimpleStateMachineState = Init_MAC;
ucLinkDownCount = 0;
}
else
{
if(ucLinkDownCount++>=3)
{
GPIOE->BSRRH = GPIO_Pin_6 ;//PHYRST拉低
}
}
}
else if((ucLinkTimeCount>20)&&(ucLinkDownCount>=4))
{
GPIOE->BSRRL = GPIO_Pin_6 ;//PHYRST拉高
ucEthernetConnectFlag = 0;
ucLinkDownCount = 0;
// OffErrLight ();
}
break;
case Init_MAC:
feeddog();//1S喂外加硬狗
ETH_BSP_Config();
LwIP_Init();
RingBufInit(&stEthernetRcvBuffer, ucRcvBuffer, sizeof(ucRcvBuffer));
SimpleStateMachineState = GetIPAddress_State;
return;
3、此设计还在完善,不断调试。继续努力。
|