PULSE讲义:10/100Base-T LAN设计与磁性模块解析

需积分: 11 6 下载量 114 浏览量 更新于2024-07-31 收藏 1.81MB PPT 举报
"这份PULSE讲义主要涵盖了10/100Base-T网络设计的基础知识,包括LAN市场细分、磁性模块(如变压器和扼流圈)的应用、以及LAN技术的发展历程。此外,还讨论了磁性模块的重要性和功能,如电压隔离、阻抗匹配和波形整形等。" 在IT行业中,网络基础设施是至关重要的,10/100Base-T设计是局域网(LAN)中广泛采用的标准,为桌面、服务器、笔记本电脑、LOM(板载网络模块)、MiniPCI设备、外设、VoIP电话、交换机、集线器和路由器等各种应用提供了连接能力。这个标准自1994年引入以来,因其可扩展性和可靠性而得到广泛应用。 LAN市场可以根据应用和数据速率进行细分。例如,NICs(网络接口卡)分为桌面、服务器和笔记本电脑等类型;根据数据速率,有最初的10Base-T(1989年),再到支持10/100Mbps的10/100Base-T(1994年),以及后来的千兆以太网1000Base-T(1999年)。在封装方面,有单端口、四端口和PCMCIA等形式。 基本磁性模块是网络硬件中的关键组件,主要包括变压器和扼流圈。中心抽头自耦变压器是一种特殊类型的变压器,具有两个次级绕组,一个中心抽头连接到初级,通常用于平衡传输线。磁性模块的作用包括: 1. 电压隔离:提供1500Vrms的初级到次级隔离,确保用户安全。 2. 阻抗匹配:确保信号在不同设备间有效传输,减少信号损失。 3. 波形整形:符合IEEE 802.3标准,调整电压的上升/下降时间,同时抑制共模噪声,提高网络性能。 随着网络技术的发展,不同的LAN标准对磁性模块的要求也有所不同。例如,早期的10Base-T网络可能只需要滤波器,但第二代10Base-T和10/100Base-T则需要结合变压器和共模扼流圈来提升性能和稳定性。 这份PULSE讲义为初入RJ45连接器行业的学习者提供了深入理解10/100Base-T网络设计的关键知识点,包括市场趋势、技术规格以及磁性组件在实现高效、安全网络连接中的作用。对于理解和设计网络设备,这些信息是不可或缺的。

帮我转换成HAL库 void TIM2_PWM_Output(float Duty , uint32_t Frequency) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /* GPIOA clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO ,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /* Time base configuration */ TIM_TimeBaseStructure.TIM_Period = (1000000/Frequency)-1; //ARR = (TIM3 counter clock /Frequency)-1 TIM_TimeBaseStructure.TIM_Prescaler = 71; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /* PWM1 Mode configuration: Channel3 */ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = ((1000000/Frequency)-1)*Duty; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC3Init(TIM2, &TIM_OCInitStructure); TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM2, ENABLE); /* TIM3 enable counter */ TIM_Cmd(TIM2, ENABLE); }

2023-07-15 上传

void TIM2_PWMShiftInit_3(TypeDef_Tim* Tim) { TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; GPIO_InitTypeDef GPIO_InitStruct = {0}; Tim->Psc=3; Tim->TimeClock=200000000;// Tim->Frequence=2000;// Tim->Duty=0.5; Tim->DT=2000;// Tim->Arr=Tim->TimeClock/(Tim->Psc+1)/Tim->Frequence/2;// // Tim->CH1Ccr=Tim->Arr-(Tim->Arr*Tim->Duty)-Tim->DT/((Tim->Psc+1)*(1000000000.0f/Tim->TimeClock));// Tim->CH2Ccr=Tim->Arr-(Tim->Arr*Tim->Duty); Tim->Htim.Instance = TIM2; Tim->Htim.Init.Prescaler = Tim->Psc; Tim->Htim.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED3; Tim->Htim.Init.Period = Tim->Arr; Tim->Htim.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; Tim->Htim.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; HAL_TIM_Base_Init(&Tim->Htim); HAL_TIM_Base_Start_IT(&Tim->Htim);// sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; HAL_TIM_ConfigClockSource(&Tim->Htim, &sClockSourceConfig); HAL_TIM_OC_Init(&Tim->Htim); sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; HAL_TIMEx_MasterConfigSynchronization(&Tim->Htim, &sMasterConfig); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = Tim->CH1Ccr; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;// sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_OC_ConfigChannel(&Tim->Htim, &sConfigOC, TIM_CHANNEL_3); __HAL_TIM_ENABLE_OCxPRELOAD(&Tim->Htim, TIM_CHANNEL_3); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = Tim->CH2Ccr; sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;// sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_OC_ConfigChannel(&Tim->Htim, &sConfigOC, TIM_CHANNEL_4); __HAL_TIM_ENABLE_OCxPRELOAD(&Tim->Htim, TIM_CHANNEL_4); __HAL_RCC_GPIOB_CLK_ENABLE(); /**TIM2 GPIO Configuration PB10 ------> TIM2_CH3 PB11 ------> TIM2_CH4 */ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_TIM_PWM_Start(&Tim->Htim, TIM_CHANNEL_3); HAL_TIM_PWM_Start(&Tim->Htim, TIM_CHANNEL_4); } TIM2_PWMShiftInit_3(&MyTim2);是什么意思

2023-04-24 上传