Simulink中的时钟分频。

目前Simulink中已经有时钟分频的现成模块了。分别是下面两个:

Fractional Clock Divider with DSM

Fractional Clock Divider with Accumulator

Mixed-Signal Blockset / PLL / Building Blocks下面。

如果不用现成模块,实际上是可以用上升沿下降沿触发的思路自己搭建一个时钟分频器的。

利用Triggered Subsystem的功能,按照硬件语言的思路,按照沿触发一个计数器,到固定的数清零,循环计数,很方便的就能够对一个时钟进行分频。

输入为外部时钟。

Triggered Subsystem内部有一个计数器和一个比较器。如图:

设置为6分频,结果如下:

 

 

### 小数分频锁相环在Simulink中的实现 #### 设计概述 小数分频锁相环(Fractional-N PLL)是一种复杂的频率合成器,在通信系统中有广泛应用。该类PLL允许输出频率以小于整数倍的方式变化,从而提供更高的分辨率和灵活性。为了有效设计并模拟这种类型的锁相环,可以利用MATLAB Simulink平台提供的强大工具集。 #### 建立基础模型 创建一个新的Simulink项目,并添加必要的组件来构建基本的小数分频PLL架构: 1. **电压控制振荡器 (VCO)** VCO是PLL的核心部分之一,它接收来自误差放大器的输入信号并产生相应频率的变化。可以在Simulink库浏览器中找到`Continuous-Time Blockset/Voltage-Controlled Oscillator`模块用于表示此功能[^4]。 2. **鉴频鉴相器(PFD)** PFD比较参考时钟与反馈路径之间的相位差,并据此生成脉冲宽度调制信号作为后续处理单元的输入。同样地,在Simulink环境中存在相应的PFD模块可供选用。 3. **电荷泵(CP)** CP负责将PFD产生的PWM信号转换成电流形式供低通滤波器使用。选择合适的CP模型对于确保整个系统的线性和动态响应至关重要。 4. **低通滤波器(LPF)** LPF用来平滑由CP传递过来的瞬态波动,使得最终施加给VCO的直流偏置稳定可靠。根据具体需求定制LPF参数可优化整体性能表现。 5. **除法器(Divider)** 实现分数N分频的关键在于引入一个灵活可控的比例因子n+m/k(n为整数值,m<k),其中k决定了最小步进单位。因此需加入专门针对此类操作而设的数字逻辑电路——即累加器/余数寄存器组合体,配合开关矩阵完成周期性的切换动作。 ```matlab % 创建新的Simulink模型 new_system('fractional_pll'); % 添加所需模块至工作区 add_block('simulink/Sources/Clock', 'fractional_pll/ref_clk'); add_block('dsplib/Digital Filter Design', 'fractional_pll/lpf'); add_block('simulink/Commonly Used Blocks/Gain', 'fractional_pll/vco_gain'); ... ``` #### 参数配置与调试 一旦完成了上述硬件级描述之后,则应着手于细部设定环节,比如调整各元件的具体属性值、连接线路关系等;与此同时借助内置函数评估当前方案是否满足预期指标要求。值得注意的是,由于涉及到较为精细的时间尺度考量,故推荐采用固定步长求解算法以便获得更精准的结果展示。 #### 进一步探索 除了掌握常规搭建流程外,还可以尝试其他高级技巧进一步提升效率或效果,例如但不限于: - 利用Verilog-A语言编写自定义行为模型,特别是当目标器件具备特殊工艺特征时不失为一种可行途径; - 结合遗传算法等全局寻优策略自动寻找最优设计方案; - 对比多种候选结构间的差异性影响因素进而得出更具普适意义结论[^2]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值