首页 > 言情 > 1978:从婴儿开始增加智商 > 第六十章:讲解

第六十章:讲解(2/2)

目录

吴涛和周倩也好奇地等待这个小天才如何回答。

陆沉没有立刻回答。

他先走近实验桌,更仔细地看了看那块数据採集板,又看了看旁边示波器上正在显示的、带有明显50hz工频纹波的模擬信號波形。

然后,他转过身,面向王研究员和李主任,声音清晰,语速平稳:

“王老师,李主任,我的想法是基於几个前提。第一,明確係统最核心的实时性要求是定时採集不丟点,初步处理不掉队,上传可以稍有缓衝。第二,z80的资源必须极致利用,避免任何不必要的计算和內存访问。”

他走到旁边一块白板前(上面还残留著一些电路公式),拿起笔,开始边画边说。

“任务调度,我认为可以基於一个简单的、非抢占式的优先级循环。最高优先级给定时器中断,严格定时触发ad转换。转换完成中断优先级次之,负责读取ad结果,存入双缓衝队列。主循环以较低优先级运行,从队列取数,进行递推平均滤波和限幅判断。滤波窗口大小可以根据信號变化率和噪声水平预先测定,比如取8点或16点,用移位代替除法,提高速度。限幅閾值根据信號正常波动范围设定。”

他在白板上画出任务框图和数据流,標註优先级和缓衝队列。

“针对工频干扰,完整的自適应陷波在z80上负担太重。我设想在系统初始化时,根据预设的工频(50hz),计算出一个固定的陷波器係数,烧录在epro里。实际运行时,直接调用这个固定係数的滤波环节。虽然无法跟踪工频微小波动,但能抑制大部分固定频率干扰。可以將这个固定陷波作为可选环节,根据现场干扰情况由上位机配置是否启用。”

他又画了简单的滤波器结构示意图。

“內存方面,双缓衝队列的大小、滤波窗口大小、中间变量,都用字节或整型,避免浮点。关键的时间敏感代码,考虑用z80汇编手写优化。看门狗定时器必须启用,防止程序跑飞。”

他讲得条理分明,逻辑清晰,每一个设计选择都给出了理由和约束条件。

没有高深的理论堆砌,全是紧扣z80能力和实际问题的务实考量。

他甚至在白板上写了几行关键的偽代码,展示如何用移位和加法实现快速的递推平均。

房间里很安静,只有陆沉清朗的声音和笔尖划过白板的沙沙声。

王研究员从一开始的考较,渐渐变成了凝神倾听,不时微微点头。

李主任双手抱胸,目光隨著陆沉的笔尖移动,眼中露出思索。

其他几位研究人员也收起了最初的怀疑,有的凑近看白板,有的小声交换著眼神。

张老师悬著的心慢慢放了下来,脸上露出欣慰的笑容。

吴涛和周倩虽然对具体技术细节不太懂,但也能感受到陆沉表述的清晰和自信,眼中充满了惊嘆。

目录
返回顶部