NB6L295M
2.5V / 3.3V 双通道可编程时钟 / 数据差分 CML 的耽误输出多电平输入,带内部终端;NB6L295M 是一款双通道可编程耽误芯片主要用于 Clock 或 Data 去偏斜和定时调解。NB6L295M 在那两个单独的可变耽误通道 PD0 和 PD1 可以在以下之一中配置两种操作模式,Dual Delay 或 Extended Delay。在 Dual Delay Mode(双耽误模式)中,每个通道都有一个可编程耽误部门,该部门使用门矩阵和多路复用器。每个通道的最小耽误固定为 3.2 ns。Extended Delay Mode 相当于 PD0 的附加耽误加上 PD1,并通过串行数据接口 MSEL 位完成设置为 High。这会在内部将 PD0 的 output 级联到 input 中的 PD1。因此,Extended Delay 路径从 IN0/IN0 开始输入,流经 PD0,级联到 PD1,输出通过第 1 季度/第 1 季度。有一个固定的最小耽误为 6.0 n。
硬件设计
本文设计资料资源参考如下连接
NB6L295MMCU设计参考,含工程代码使用分析手册等资料,代码工程在实际项目中多次重复使用,加速NB6L295M的设计资源-CSDN文库
MCU采用STM32F407搭配NBL295M,实现的时序设计。
原理图设计如下
与MCU管脚连接如下表所示
Label
| NB6L295M
| STM32F407
| EN_3V3_GTDLY2_1
| EN
| PE4
| SLOAD_3V3_GTDLY2_1
| SLOAD
| PE5
| SDIN_3V3_GTDLY2_1
| SDIN
| PE6
| SCLK_3V3_GTDLY2_1
| SCLK
| PE7
| 软件设计
参考如下时序图
主步伐设计
- void NB6L295M_init(void)
- {
- //PSEL: 0 Loads Data to PD0 1 Loads Data to PD1
- //MSEL: 0 Selects Dual Programmable Delay Paths, 3.1 ns to 8.8 ns Delay Range for Each Path
- //MSEL: 1 Selects Extended Delay Path from IN0/IN0 to Q1/Q1, 6.0 ns to 17.2 ns Delay Range; Disables Q0/Q0 Outputs,
- //Q0-LOW, Q0-HIGH.
- uint16_t delay_p0, delay_p1, delay_sum = 800;
- //H门脉冲第二级延时(通道1)芯片U43(R/W)
- if(delay_sum >= 511)
- {
- delay_p0 = 511;
- delay_p1 = delay_sum - delay_p0;
- }
- else
- {
- delay_p0 = delay_sum;
- delay_p1 = 0;
- }
- NB6L295M_3V3_GTDLY2_1(0, 1, delay_p0);
- delay_us(2);
- NB6L295M_3V3_GTDLY2_1(1, 1, delay_p1);
- }
- //3V3_GTDLY2_1
- #define EN_3V3_GTDLY2_1_H {HAL_GPIO_WritePin(EN_3V3_GTDLY2_1_GPIO_Port, EN_3V3_GTDLY2_1_Pin, GPIO_PIN_SET);}
- #define EN_3V3_GTDLY2_1_L {HAL_GPIO_WritePin(EN_3V3_GTDLY2_1_GPIO_Port, EN_3V3_GTDLY2_1_Pin, GPIO_PIN_RESET);}
- #define SLOAD_3V3_GTDLY2_1_H {HAL_GPIO_WritePin(SLOAD_3V3_GTDLY2_1_GPIO_Port, SLOAD_3V3_GTDLY2_1_Pin, GPIO_PIN_SET);}
- #define SLOAD_3V3_GTDLY2_1_L {HAL_GPIO_WritePin(SLOAD_3V3_GTDLY2_1_GPIO_Port, SLOAD_3V3_GTDLY2_1_Pin, GPIO_PIN_RESET);}
- #define SDIN_3V3_GTDLY2_1_H {HAL_GPIO_WritePin(SDIN_3V3_GTDLY2_1_GPIO_Port, SDIN_3V3_GTDLY2_1_Pin, GPIO_PIN_SET);}
- #define SDIN_3V3_GTDLY2_1_L {HAL_GPIO_WritePin(SDIN_3V3_GTDLY2_1_GPIO_Port, SDIN_3V3_GTDLY2_1_Pin, GPIO_PIN_RESET);}
- #define SCLK_3V3_GTDLY2_1_H {HAL_GPIO_WritePin(SCLK_3V3_GTDLY2_1_GPIO_Port, SCLK_3V3_GTDLY2_1_Pin, GPIO_PIN_SET);}
- #define SCLK_3V3_GTDLY2_1_L {HAL_GPIO_WritePin(SCLK_3V3_GTDLY2_1_GPIO_Port, SCLK_3V3_GTDLY2_1_Pin, GPIO_PIN_RESET);}
复制代码 工程代码在实际项目中使用。
本文设计资料资源参考如下连接
NB6L295MMCU设计参考,含工程代码使用分析手册等资料,代码工程在实际项目中多次重复使用,加速NB6L295M的设计资源-CSDN文库
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |