第五十六章:完美的不像人
愿你在这里,遇见真正值得阅读的故事。
  接下来的日子,陆沉的生活多了一项高度保密的地下工作。
  他依旧认真上课,备考,但所有的课余时间,包括晚上熄灯后打手电的时间,几乎都投入到了这份寒假作业中。
  他先反覆研读那叠材料,吃透系统需求、硬体约束和核心难点。
  然后在笔记本上,开始自己的纸上设计。
  没有实际的z80单板机,他就根据tp801的手册(张老师又帮他找了一份更详细的),在笔记本上画出系统內存映射、io口分配、中断向量表。
  他设计了一个极简的、基於定时器中断的调度核心,用来协调数据採集、处理和通信任务。
  数据滤波算法,他放弃了材料中提到的几种复杂但耗时的方案,结合自己前世的经验,选择了一种改进型的递推平均滤波结合简单限幅滤波的方法,在保证一定效果的前提下,极大减少了计算量。
  为了对抗工频干扰,他设计了一个简单的自適应陷波器思路,虽然以z80的性能实现完整的自適应不现实,但他简化了参数调整逻辑,使其能在初始化时根据预设工频进行一次性配置。
  每一个设计,他都要反覆推敲时序是否衝突,计算量是否超限,內存是否够用。
  他在草稿纸上写满偽代码,画满时序图。
  遇到卡住的地方,就去查资料,翻看那本《微型计算机原理》,或者去图书馆的旧纸堆里寻找灵感。
  有时也会带著提炼后的问题,去请教张老师,但只问原理和思路,不涉及具体设计细节。
  他还真的用苹果ii的basic,写了一些小程序,来模擬验证算法效果。
  比如用隨机数模擬带噪声的採样数据,验证他的滤波算法效果;用简单循环模擬多任务调度,看会不会出现优先级反转或死锁。
  虽然运行环境天差地別,但能帮助他理清逻辑。