KTO9512 光编 七百七十毫伏暗电平,会先卡住 ADC 动态范围

首发于公众号「如是有为」 · 查看原文

KTO9512 光编 七百七十毫伏暗电平,会先卡住 ADC 动态范围

KTO9512 的数据手册里,有个不太起眼的数:暗电平 770 mV。

它排在一堆参数中间,不像分辨率、精度那么抢眼。可真拿它做光编、往后级接 ADC 的时候,这个数没算清,动态范围先被它吃掉一块——尤其是把这颗差分芯片,单端接进 ADC 的那种接法。

下面把这 770 mV 从头捋一遍:它是什么、单端接为什么会削顶、差分接为什么本来不该出这事。全程用手册的数和能复算的假设,不编现场。

这颗芯片,输出到底长什么样

先看它的系统框图(手册原图):

KTO9512 光编 七百七十毫伏暗电平,会先卡住 ADC 动态范围

图:KTO9512 系统框图(差分 TIA 与三码道)

左右两排都是光电二极管(PD)加跨阻放大器(TIA):LED 照到码盘,亮暗变成光电流,TIA 用大约 1 MΩ 的跨阻把电流变成电压。到这儿是常规操作。

不常规的是输出。翻引脚表,每个码道的正弦、余弦都是成对的:

码道COS 差分对SIN 差分对
N(粗)PCN(+) / NCN(−)NSN(+) / PSN(−)
M(中)PCM(+) / NCM(−)NSM(+) / PSM(−)
S(细)PCS(+) / NCS(−)NSS(+) / PSS(−)

一个 +COS 配一个 −COS,一个 +SIN 配一个 −SIN,还分 N/M/S 三组码道做粗中细。它是差分输出——芯片给你两条反相的线,就是让你差着用的。这一点,是后面所有事的前提。

那个 770 mV 从哪来

翻手册电器性能表,这个直流点写得清清楚楚:

参数符号最小典型最大单位
等效跨阻增益Z0.71.01.4MΩ
允许最大输出电压Vout_max——2.0V
暗电平信号Vout_d5757701000mV
内部输出电阻Ri70110180Ω
上电稳定时间ton——100µs

暗电平典型 770 mV,跑到 575~1000 mV 都算正常(以上均为手册标称值)。

这个 770 mV 不是随便垫的。PD 只往一个方向吐电流,TIA 要把这么个单极性电流变成一条能上能下的正弦,就得先垫一个直流台阶,让信号在台阶上下摆。+COS 往上摆,−COS 就往下摆,两条各自绕着自己的 770 mV 反着动。

所以后级 ADC 看到的从来不是干净的 sin/cos,是「770 mV 打底,上面摆着正余弦」。这个底怎么处理,后面全看它。

单端接:770 mV 直接压在 ADC 上

先算笔账(下面是按手册数值的假设推演,不是实测)。

假设只接一路、单端进 ADC,信号中心就落在 770 mV。往上,手册允许最摆到 Vout_max = 2.0 V,从 770 到 2000 只剩 1230 mV;往下到 0 V 触底,只有 770 mV。本来就不宽,还两头不对称。

一旦工况让摆幅变大——温度升、码盘反射率高、电源纹波叠上来——波峰先顶到 2.0 V 被削平,波谷再触 0 V 被截断:

KTO9512 光编 七百七十毫伏暗电平,会先卡住 ADC 动态范围

灰虚线是本该有的摆幅,红的是被切掉的两截

削顶阴在哪?示波器上乍看 sin/cos 还在转、还像正弦,不盯着波峰不一定看得出。可 atan2 算角度看的是两路比例,波峰一压扁,比例就错,角度误差专挑那几个象限往外冒。

而且它不像 offset 那么好治。offset 整条平移,转一圈平均就拉回来;幅值不匹配变成两次谐波,椭圆校准能修一截;削顶只在顶到边界那一小段发生,像把圆周上某几段硬按扁——拿常规线性校准表去补,常温满光能糊过去,一到低温、高光、换批码盘又露馅。我们的削顶笔记里记过一个量级:削顶哪怕只有 5%,也能把 0.05° 的精度打到 0.5°。更要命的是,波峰那点幅值信息一旦切没了,数字端再怎么补都补不回来——这是模拟前端就得堵死的事。

差分接:770 mV 本来就该消失

回头看,这颗芯片其实不该栽在 770 mV 上。它是差分的,那 770 mV 压根不用进 ADC。

差分接就是后级取 (+COS) − (−COS)。两路都绕 770 mV 反相摆,一相减,770 mV 这个共模自己就抵消没了,剩下的是翻了倍的干净摆幅:

KTO9512 光编 七百七十毫伏暗电平,会先卡住 ADC 动态范围

共模消失,动态范围翻倍

芯片给你 + 和 − 两条,本意就是这个:把 770 mV 当共模丢掉,动态范围还翻倍,连暗电平随温度、光源那点漂移,也一起被共模抑制吃掉大半。

反过来说,单端接一路,等于把这份好处白扔——770 mV 压回 ADC、摆幅腰斩、温漂全露。一颗差分芯片,被用出了单端的病。前面那笔削顶的账,根子就在这个接法上。

差分接也有它自己的账

话说回来,差分接也不是接上就万事大吉,它只是把账挪了个地方记。

那条 770 mV 共模自己会随温度爬,再叠上长线两头的接地电位差——走滑环、过接线盒,日常就有 0.5~1 V。常温这三样加起来还在后级 ADC 的共模输入窗口里;温度一升,工作点被顶到窗口边上,共模抑制一塌,就是高温长线下偶尔丢帧那种毛病。所以差分接也得回头算一下:后级的共模范围,盖不盖得住 770 mV 加温漂加接地差。

为什么手册把 ADC 留给你,自己不做

到这儿会冒出个问题:既然单端接容易出事,芯片干嘛不把 ADC、插值一起做了,直接吐数字角度,省得后级接错?

这是两种设计取舍。模拟 sin/cos 甩给后级,好处是后级 ADC 自己挑,想冲精度就上高位数 ADC,芯片不给你封顶;模拟前端简单、功耗低、成本低。代价是削顶、共模、接法、长线这些接口上的事,全落到用户头上。反过来把 ADC 塞进芯片、直接出数字角度的做法,接口干净了,代价是片上 ADC 的有效位数被工艺和噪声按着,精度有个头,也不让你换。

KTO9512 选的是前一种——它把动态范围这道题,留在了芯片外面,留给了接线的人。所以 770 mV 才成了一个「看你怎么接」的数,而不是芯片自己兜底的数。

其实还有第三条路,干脆不在幅度域采样。有一类解调(比如 Jin、Li 2026 年发在 Applied Sciences 上的时空调制方法,Space–Time Modulation)不去量 sin/cos 的幅度,而是用高频时钟给正余弦的过零点打时间戳,靠相邻过零的时间差反推角度——幅度 ADC 直接被换成了时间测量,770 mV 这种幅度域的账自然也就绕开了。代价是它换一本账记:过零点会被 offset、幅值不匹配、非正交搅得发抖,信号质量不好照样翻车,两次过零之间的角度还得靠预测,天生带延迟。没有免费的路,只有把账记在哪一头的选择。

24 bit 落到手上,剩几位

顺一句分辨率的账。

高分辨率插值说的是角度能切多细,是纸面上的标称位数。真正落到手上几位,得看模拟这头给 ADC 留了多宽的动态范围。单端接的话:770 mV 先吃一段摆幅,削顶再抹掉波峰幅值,后级窗口再压一道——真实有效位数(ENOB)比标称掉好几位。这跟之前聊的「标称 22 位、工况下有效只剩十七点几」是一个道理。差分接、把动态范围留够,标称位数才有机会落到手上。

落到验收:先分清差分还是单端,再谈 770 mV

手册那几个数——575~1000 mV 暗电平、2.0 V 最大输出、典型 110 Ω 内部输出电阻——都不能只当芯片内部指标看,得和后级一起验:

  • 先分清差分接还是单端接。

差分接、配差分 ADC 或差分接收器,是这颗芯片的正路,770 mV 当共模抵消、摆幅翻倍。真要单端接,就老老实实拿 770 mV 到 2.0 V 那点余量,按目标工况的高温、码盘、电源纹波一项项核,别指望数字端补。

  • 差分接,核共模窗口。

确认后级 ADC 的共模输入范围盖得住 770 mV + 温漂 + 接地电位差,尤其高温长线场景。

  • VREF 那个脚问清用途。

是芯片内部参考,还是给外部对齐 ADC;若是后者,共模噪声、负载、启动顺序都要交代。上电稳定 100 µs 内别急着采第一帧。

  • 台架别只跑 INL。

三档 LED 电流各扫一圈,记每条码道 + 和 − 两路的最高/最低电压和暗电平;温度拉到 −40、常温、125°C 看共模整体漂多少;最后把 ADC 原始码抓出来,确认没有哪段角度贴着上下边界。只看最终角度是看不出削顶的——原始 sin/cos(+ 和 −)、raw code、VREF、温度得摆一块儿看。

那颗 770 mV,说到底不是背景噪声,是后级 ADC 动态范围的起跑线。这条线划在哪,不在手册里,在你怎么把这颗差分芯片接进板子。

🔗 来源

  • KTO9512-D26-QN32 手册(v1.0,2025-08-14):文中暗电平、跨阻增益、最大输出等参数及框图、引脚、参数表图均出自此

  • 过零测时对照方法:Jin, Li, Research on a Space–Time Modulation-Based Angle Demodulation Method for Magnetic Encoders, Applied Sciences (MDPI), 2026

-

应作如是观
公众号「如是有为」二维码

关注公众号「如是有为」

微信扫一扫,新文章先在公众号发出。