软件是怎样控制硬件的?

如题所述

我觉得你是想问,软件是怎么控制一个设备,如机器人、数控机床,让它们执行设定的动作的。不论怎么变化,软件控制硬件,都离不开计算机的中央处理器CPU,或者单片机MPU。因为只有处理器才能把控制软件的指令,传递到接口电路,最终控制目标设备的动作。

以下介绍几种我用过的控制方式。

通过I/O口进行控制

CPU有GPIO接口,MPU有P0~P4及更多的IO接口。这些接口,可以通过软件设置,做为输出、输入口。

从CPU,MPU出来的控制信号,一般不能直接控制目标对象,比如最简单的LED灯,电机等,必须经过一些锁存芯片、光电隔离芯片、继电器、接触器、信号驱动等电路,才能控制目标的动作。一些成熟的电机驱动器,也可直接接收从处理器出来的输出信号,只要用一些芯片进行信号转换即可。

通过内存扩展地址,用可编程芯片如PLC,CPLD,FPGA等对目标进行控制。

有的控制对象需要几十、几百个控制点,这样P口就不够用了。

解决的方法,就是用扩展外部存储器地址的方法,如使用E200H,E300H......这样的扩展地址线,通过PLC、CPLD、FPGA等可编程器件,可以扩展出需要数量的控制输出。

很多硬件从业者,很擅长用PLC、CPLD、FPGA等芯片,以至于单片机最直接的P口被束之高阁,只完成看门狗Watchdog最简单的监视作用。

通过CAN,EtherCAT,ISA,PCIE等总线接口传递控制指令

随着外部控制器件的日益智能化、处理器化,各种总线应运而生。

如上位机为高速的PC机,下位机为控制各种动作的单片机,那么PC104的ISA总线接口、PCIE接口、CAN总线接口等,就是最好的选择。或者下位机直接就是一个支持EtherCAT总线的电机驱动器。

通过这些总线接口,可以快速地传递上位机的控制信号到控制单元中。

总结:软件对硬件的控制,有很多种实现方式,IO直接控制;扩展地址外加PLC,CPLD,FPGA可编程芯片控制;CAN,EtherCAT,ISA,PCIE等总线接口控制方式。根据需要,灵活运用。

我们国家自动控制的实力还是很历害的,控制系统也是非常可靠智能的,相信你的所有想法都会通过控制系统变为现实。

温馨提示:答案为网友推荐,仅供参考
相似回答