news 2026/9/22 2:26:20

异步SAR Simulink模型及其在MATLAB仿真中的应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
异步SAR Simulink模型及其在MATLAB仿真中的应用

异步SAR simulink模型(和virtuoso电路模型很像,精度自己可以改)。 做MATLAB仿真,包括zoom或者其他混合架构adc可以用到这个模型。

在玩ADC设计的时候,异步SAR结构就像个宝藏男孩——速度快还省电,但要把行为级模型建得真实好用可不容易。最近折腾了个Simulink异步SAR模型,比传统Matlab脚本灵活得多,特别是需要做混合架构(比如Zoom ADC)的时候,这种模块化建模的优势就出来了。

先看核心模块——异步状态机。这里直接用了Matlab Function块写了个鬼畜版状态流转逻辑:

function ctrl = async_FSM(clk, cmp_result) persistent state; if isempty(state) state = uint8(0); % 0:采样 1:逐次逼近 end if clk switch state case 0 ctrl = 'sample'; state = 1; case 1 if cmp_result ~= 0 ctrl = 'shift'; else ctrl = 'hold'; end end end end

这个状态机的精髓在于不依赖固定时钟周期,每次比较器结果(cmp_result)一出来就立即触发动作。注意第9行的clk信号其实是外部事件驱动,模拟实际电路中的异步就绪信号。

DAC模块的实现更有意思。为了支持精度调整,专门做了个参数化电容阵列模型:

classdef VarDAC < matlab.System properties bit_depth = 8; % 可自定义精度 C_unit = 1e-15; % 单位电容 end methods function y = step(obj, code) weights = 2.^(0:obj.bit_depth-1); total_C = sum(weights) * obj.C_unit; y = sum(code .* weights)/total_C * Vref; % 模拟电荷分配 end end end

重点在bitdepth参数——做Zoom ADC时可能需要12bit模式的SAR子模块,这时候不用改结构,直接把bitdepth从8调到12就能验证架构可行性。

仿真时最抓狂的是时序对齐问题。异步SAR的每个bit转换时间不固定,这里用Simulink的Triggered Subsystem实现动态调度:

  1. 比较器输出触发T延迟模块
  2. 延迟时间取自当前bit位置的查找表(模拟DAC建立时间)
  3. 触发信号连到控制状态机的使能端

这种骚操作完美复现了实际电路中的"完成-触发"机制。测试时发现当DAC建立时间设置为非线性分布(比如高位比低位多50%延迟)时,系统依然稳定工作,说明模型对非理想因素兼容性不错。

最后来个实战场景:在Zoom ADC里调用这个SAR模块。需要把模型封装成Simulink Component,通过configSet动态修改SAR的精度参数。比如当Delta-Sigma调制器检测到高频信号时,自动把SAR精度从10bit切换到8bit,这时候模型里的DAC权重会实时重新计算,整个过程不需要停止仿真——这对验证架构适应性简直不要太方便。

这个模型的彩蛋是埋了个噪声注入端口,可以直接在比较器输入端加随机抖动。曾经用它发现了某个工艺角下会出现误码突增,后来在流片前加了冗余比较电路避坑。所以说,行为级模型玩得够溜,真的能救命。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 14:01:20

Week 29: 深度学习补遗:MoE的稳定性机制与路由策略实现

文章目录Week 29: 深度学习补遗&#xff1a;MoE的稳定性机制与路由策略实现摘要Abstract1. Noisy Top-K Router1.1 理论背景1.2 代码实现2. Token 级与 Pooling 级路由2.1 理论背景2.2 代码实现3. Auxiliary Loss3.1 理论背景3.2 代码实现总结Week 29: 深度学习补遗&#xff1a…

作者头像 李华
网站建设 2026/9/21 11:55:48

25年12月14日复盘总结,大盘方向,操作建议,板块机会,实用干货

25年12月14日复盘总结&#xff0c;大盘方向&#xff0c;操作建议&#xff0c;板块机会&#xff0c;实用干货大盘指数经过近一个季度回调半指的风险得到了极大的释放&#xff0c;指数走出了三段4的调整&#xff0c;那在这个位置我们就不应该再看风险&#xff0c;三段4的调整已经…

作者头像 李华
网站建设 2026/9/22 1:38:33

what?动态规划?

动态规划入门&#xff1a;从原理到实战&#xff0c;吃透基础算法动态规划&#xff08;Dynamic Programming&#xff0c;简称 DP&#xff09;是算法领域的核心思想之一&#xff0c;也是面试、竞赛中的高频考点。它并非单一算法&#xff0c;而是一种 “化繁为简” 的解题思路 ——…

作者头像 李华
网站建设 2026/9/22 1:37:57

CommonJS 的缓存机制:为什么二次 require 得到的对象是同一个?

各位同仁&#xff0c;下午好&#xff01;今天&#xff0c;我们将深入探讨 Node.js 中 CommonJS 模块系统的核心机制之一&#xff1a;模块缓存。这是一个看似简单却蕴含深厚设计哲学的机制&#xff0c;它直接决定了我们在 Node.js 应用中管理状态、优化性能以及理解模块行为的关…

作者头像 李华
网站建设 2026/9/21 14:27:14

跨标签页通信的五种方案:LocalStorage、BroadcastChannel 与 SharedWorker

各位同仁&#xff0c;下午好&#xff01;今天&#xff0c;我们将深入探讨前端开发中一个既常见又关键的议题&#xff1a;跨标签页通信。在现代Web应用中&#xff0c;用户经常会同时打开多个标签页或窗口来访问同一个网站的不同部分&#xff0c;或者处理同一任务的不同阶段。在这…

作者头像 李华