软件是怎样控制硬件的?

觉得你是想问,软件是怎么控制一个设备,如机器人、数控机床,让它们执行设定的动作的。不论怎么变化,软件控制硬件,都离不开计算机的中央处理器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等总线接口控制方式。根据需要,灵活运用。


文章TAG:学习笔记022  硬件笔记是什么  学习  学习笔记  笔记  
下一篇