发表于:2003-10-05 00:54:00
楼主
一.敲敲键盘也能干工控
在我干硬件工程师的时侯遇到麻烦时,常听到的一句话是:
“楼上那家伙[指计算机房内的软件工程师]连个电阻都搞不清,也来搞工控!”
在我干软件工程师的时侯遇到麻烦时,常听到的一句话是:
“楼下那家伙[指工厂车间里的硬件工程师]连个线程都搞不清,也来搞工控!”
当我干设计工程师的时侯遇到麻烦时,常听到的几句话是:
硬件工程师指责软件工程师是“软件上有虫子.”
软件工程师指责硬件工程师是“硬件没有信号来.”
???
难道真没有办法,敲敲键盘也能干工控?
难道真没有办法,硬件与软件彻底的分家?
所谓彻底的分家指的是:
软件工程师就是没有一点硬件知识也能搞工控,
硬件工程师仅知道信息上传下达,就就算全职了,
emdos就是在这样一种需求中产生的.
二.emdos的结构
[概述]
emdos是一个独立于上位机与下位机的平台,
不菅是上位机死了还下位机坏了,都不受影响,
物理上完全隔离,只存在通过z893来联结.
emdos有自己的指令系统.
这种指令具备以下二个前提:
(1)能够让所有系统机[上位机],勿论采用何种操作系统,都能直接运行.
(2)能够让所有单片机,DSP,CPLD,PLC,包括家用电器的专用芯片,都能识别.
还有一个不能胡视的是,
emdos又必须是一个实时的操作系统.
emdos虽说是个小东西,
8k字节的ROM +8K字节的RAM +256字节的软猫[供工作站嵌入],
仅9条通用指令[与盖老师的操作系统win上G字节大作实在无法比],
但如果推广起来,
工控界的日子可能就好搞多了,
你只想想家电也能进工控,
你只想想DSP 也能进工控,
你只想想CPLD也能进工控,
你只想想FPGA也能进工控,
里面就有多少生机和机遇呀.
emdos采用的是标准的232格式,
一个起启始位,八个数据位,一个停止位,共十个位;
没有考虑[校验位]是为了最大限度的兼容各类单片机以及家用电器目前cpu的状况.
emdos的RAM设计容量为64k字节,但是在实际中4k字节都用不完,
选用8k是基于目前6264芯片便宜地象破乱一样,到处都有,[开个玩笑]
但是随着62256下调,32k也是可行的方案.
选用何种芯片对软件层面来讲基本上没有影响,
条件是你别把你的i/o定义到不存在的RAM上就行.
早期的z893我曾设计过2总线方式,就如同现在CAN 类似,
事实上我也干过一年,那是1992年,
很快我就放弃了这个方案,是基于以下两个原因:
(1)效率不高,起因于当一个服务器启叫一个新的用户时,
服务器要等多长时间才能改换呼叫下一个用户,
时间短了,被叫用户将有可能被会挂在总线上[掉死],
时间长了,被叫用户虽然没有问题,但是白白浪费了总线的带宽.
(2)当一个应用需要较多的CPU模块,而且分布又较远,[总线中继]实在是挺麻烦的问题.
标准的z893启用于1993年5月1日,为3总线方式.
前2个字母之所以叫z8,是为了记念操作系统首先是在zlog公司的z8系列上实现的,
当然现在是89c52,以后就难说了,
我认为ROM与RAM完全可以集成在一个芯片上,
问题在于价格.
服务器输出7个字节的引导程序之后,
立即启用下一个引导程序,
中间没有任何等待时间,
被叫用户收到呼叫信息之后,启用一个命令只需要5个字节,也就是说:
7-6=1,
即使服务器没有等待时间,它也也获得有1个字节的缓冲空间.
服务器也不是吃稀饭,除第1个字节为设备号外,
第2-3字节为显示通道,256个字节,每次传1个,
第4-7字节为高速通道,固定发送.
z893认定在整个信息流程上,任何方都不要考虑对方是否受不受得了,只菅发就是.
为这个问题,在初期曾召来很多非议,在现在也未毕人人赞同,
我只能说,十年的实践证明没有任何问题,方案是可行的.
这种方案带来的好处有2条,
(1)带宽利用率极高: [89c52/Ft=14.7456MHz]
28.8Kbps 99.9%
38.4kbps 99.9%
57.6kbps 99.9%
116.2kbps 90.9%
(2)应用程序更简洁更易懂.
[后续] 米d. QQ158326068