五个组轮流汇报进度,把当天发现的新模块念一遍,把遇到的问题摆出来,大家一起讨论解决方案。
有时候讨论热烈了,会开到七点多才散。食堂的炊事员把饭菜送到会议室,大家端着碗边吃边聊,嘴里的饭还没咽下去,就开始争论下一个问题。
到了4月28日,137条自动化产线,241条普通产线,全部完成。
钱兰把所有数据汇总,做成一张总表。
她的桌上,摊着五组交上来的标准模块手册,她一本一本地翻,一页一页地核。
五本手册,加起来八百多页,每一页都写着模块名称、功能描述、逻辑步骤、特殊需求、建议的硬件支持。
她把所有模块重新分类,按照“通用逻辑”和“专用逻辑”两个大类,整理出一张总表。
通用逻辑73类,1867个基本操作——都是绝大多数产线都会用到的读开关、驱动继电器、定时、计数、模拟量采集等基础操作,数量有限,但使用频率极高。
数字量输入/输出、模拟量输入/输出、热电偶/热电阻信号调理、定时器、计数器、比较器、逻辑运算、锁存器/触发器、脉冲捕捉、看门狗、电源监测与复位、光电隔离、通信接口……
钱兰在每一条后面都标注了使用频率和典型应用场景。
专用逻辑462个,以微程序形式写在二维卡上——都是某一条或某一类产线特有的控制算法,数量庞大,变化多样。
轧钢线的张力控制算法、热处理线的多段升温曲线控制、锻造线的位置同步控制、轴承线的磨削循环控制、飞剪的同步剪切算法、连轧的活套控制、酸洗线的张力与速度解耦……
吕辰在总表的末尾写了一行字:“通用逻辑做成硬件芯片,专用逻辑写成微程序模块。”
然后他站起来,走到黑板前,把这两行字写在最上面。
“电路梳理,到此结束。”他转过身,看着会议室里的人,“接下来,转战集成电路实验室。”
五月二日,假期刚过,第八组的设计室里,30人全部到齐,还有曾经参与星河cAd接口芯片设计的12名新人。
黑板上,画着工业计算机的“五大模块”架构图——中央处理模块、存储模块、输入/输出模块、通信模块、电源模块。
吕辰站在黑板前:“电路梳理已经结束。73类通用逻辑,1867个基本操作。这些,就是我们要做成芯片的东西。”
他指着黑板上的架构图:“按五大模块分类,我把这些通用逻辑分配到了26颗芯片上。”
他拿起粉笔,开始讲解芯片分类。
“中央处理模块是整台计算机的大脑,是唯一需要运行通用微程序的部分,要读取二维卡上的控制程序,并据此发出指令。我们做一个4芯方案——1颗主控制核心运行主控微程序,负责顺序控制、连锁保护逻辑;1颗冗余监控核心,与主核心跑同样的程序,结果比对,不一致就报警或接管;2颗定点运算器,负责处理简单的算术运算,如计数、计时、累加。”
钱兰问:“完全不考虑浮点运算吗?”
“暂时不考虑。工业控制主要还是温度、压力、速度,定点够用了。”
吕辰继续讲存储模块:“存储模块,我们做一个7芯方案。1颗程序存储器,固化操作系统和自检程序,只读;5颗数据存储器,暂存生产过程中的温度、压力、速度等数据,可读写,每秒钟记一次,循环缓冲区;1颗参数存储器,存储工艺参数,可擦写,通过插二维卡加载。”
诸葛彪弹了弹烟灰:“5颗数据存储器?一条产线用得着这么多吗?”
钱兰摇头:“诸葛,你算算,温度、压力、速度、位置、电流、电压,上百个数据点,每秒钟记一次,数据量不小。5颗只能算是勉强够用。”
“钱师姐说得对,先这样,不够再加。”吕辰点点头,“输入/输出模块是专用芯片最多的部分,负责与车间里的传感器、电机、阀门打交道。这是大头,保守估计,需要9颗。”
他掰着手指头数:“2颗数字量输入隔离,接收开关、按钮、限位开关的信号,光电隔离,保护计算机;2颗数字量输出驱动,驱动继电器、接触器、指示灯;2颗模拟量输入,将温度、压力、流量等连续信号转换为数字量;2颗模拟量输出,将数字控制量转换为模拟信号,控制变频器、调节阀;1颗热电偶/Rtd接口,专门处理热电偶、热电阻信号的放大和线性化。”
诸葛彪又问:“热电偶和热电阻的接口电路不一样,一颗芯片能搞定?”
“信号调理部分做在一起,前端加一个可编程增益放大器,通过配置寄存器选择热电偶或热电阻模式。这样一颗就够了。”
诸葛彪点了点头,在本子上记下来。
接下来是通信模块,吕辰设计了一个3芯组合:1颗二维卡接口,读取微程序和数据;1颗串行通信控制器,实现