软件是怎样控制硬件的?

是不是软件想要的功能,硬件都能实现?

硬件的变化由高低电平决定,软件通过控制逻辑输入的变化,实现电平的变化, 特定硬件配合特定的供电模块, 来实现状态的变化, 比如,电机这种硬件, 通过控制高低电平变化的相对占比,实现不同的转速,这样就实现了电机的不同转速, 接下来电机就能拉着车或者拖动滑轮等等运动

软件是怎样控制硬件的?

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

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

(以上图片来自网络,仅为示意)

软件是怎样控制硬件的?

很高兴能够看到和回答这个问题!

软件和硬件在电路中的本质和作用

软件也是过程中的一个实体。软件的本质是电信号、中低压和不同的数据。这些电流信号控制着逻辑电路的关断,通过关闭逻辑电路来控制硬件的工作。归根结底,软件起到的是开关信号的作用,当开关工作时,要保证设备带电而不开机,硬件是不能被软件控制的。就像一个灯泡如果不接电源,按下开关就不会亮。任何软件都必须通过物理方式转换成电流信号,你写在纸上的软件永远无法控制硬件。以我们每天使用的电脑为例,软硬件工作原理图如下图所示:

以前,我们使用的是软盘,硬盘通过磁头将程序码转换成电信信号,光盘需要光头将程序码转换成电信码,等等。

在指令存储器中发送信息时,计算机存储器中的软件会显示出电流和电流的变化情况。在软件中,电压和高度的存在可以理解为1和0,0和1的各种组合相当于实现控制硬件目标的新指令。一个简单的电路甚至需要多个电流。硬件控制功能,软件是复杂的,可以理解为复杂的电信号。

软件是怎样控制硬件的?

当处理器准备好后,处理器中的指令寄存器会从存储器中检索指令,执行指令后,会对指令进行解码,查看命令、计划工作、设备等需要什么。然后,控制器就可以根据计划的订单,开始所有参与生产的设备的工作。在调试过程中,数据寄存器会将处理后的数据从存储器中输出,并传送到算术逻辑单元。算术逻辑单元包括累加寄存器和程序状态寄存器。积累寄存器相当于草稿墨水。运行过程中的一些数据和结果会暂时存放在这个位置,程序状态寄存器专门负责记录运行过程中是否有传输、溢出等信息。从内存中检索结果并保存到硬盘后的点击数。

上图是软件,也就是客户端访问硬件时候的过程图。可以帮助我们很好地理解软件控制硬件的原理。

如何理解通俗理解软件控制硬件的过程?

软件是指为实现特定目的而具有特定逻辑功能的可执行代码,通常以符号字母或特殊图形框等包装形式出现。但这些设备无法识别。控制硬件是指由各种驱动控制器(如变频器、服务器、屏幕驱动器、单片机、工业可编程自动控制器等)控制的执行器,它可以根据提供的命令直接控制软件......

在存储器和硬盘之间进行数据传输,并将采集到的二进制代码写入存储器中。存储器读取存储的数据,即通过不同的磁化方向,将0和1转换成不同高度、不同电压的电信号,然后处理器通过数据总线搜索存储器,找到存储器中的数据。要执行的指令,再将相应的指令发送给处理器,同时执行指令,输出的结果也是与高度相连的电压信号。

最后,通过驱动器开辟的接口,将指令结果传送给硬件控制芯片,对机器进行控制。硬件控制芯片事先切入控制指令集,然后通过指令集分析进入控制器的纵横电压信号的顺序。只要命令结果与控制命令一致,就会采取相应的措施。

答案写到这里,我想您应该明白了软件是怎样控制硬件的原理。软件就是一串串代码,将相应的代码转变为特定的计算机硬件可以识别的信息后,硬件就可以正常工作了。

以上便是我的一些见解和回答,可能不能如您所愿,但我真心希望能够对您有所帮助!不清楚的地方您还可以关注我的头条号“每日精彩科技”我将竭尽所知帮助您!

码字不易,感觉写的还行的话,还请点个赞哦!

软件是怎样控制硬件的?

软件是怎样控制硬件的?

★当你往计算机设备里看时,能看到一大推电路、芯片、电线,扬声器、接口和其他东西,这些都是硬件,你看不见摸不着的就是软件。

软件是计算机上所有的程序,或运行在机器上的代码。软件可以是任何形式,从应用程序和游戏到网页,以及在网站上给客户行为的数据科学软件。

但是软件和硬件是如何结合起来起作用的呢?让我们从计算机的中央处理器,即CPU开始说起。CPU是控制计算机其他部分的主芯片,CPU需要做不同的事情,因此它内部有很多小的电路来处理特定的任务,它有电路来做简单的数学和逻辑计算。其他电路用来从计算机的不同部分发送和接收信息。CPU最神奇之处在于它知道使用哪个电路,什么时候用。

CPU会接收简单的命令来告诉它用哪个电路来执行特定的任务。例如,一个“加”的命令告诉CPU用外部电路来计算新数字,然后用“存储”命令告诉计算机用不同的电路来将结果存到存储器中。和数字一样,所有的这些简单的命令都用二进制的1和0表示,或者ON/OFF的电路信号。

二进制命令存在存储器中,CPU将它一条条的取出来执行。实际上,这一系列的命令就是一个非常简单的计算机程序。

二进制代码是软件的基本形式,它控制了计算机上的所有硬件。现在没有人用二进制写程序了,因为这样太慢了。现在程序员写的软件更像是PYTHON或这样RUBY,甚至是这样BLOCKLY。像这样的编程语言,用非常像英语的方法来输入命令。只需要一条命令就能在屏幕上画一个正方形。这条高级命令会被转换为成百上千CPU能理解的简单二进制命令。

软件告诉硬件CPU做什么,当你听音乐时,又浏览网页,并和朋友聊天,你的计算机会同时运行多个软件。那么这些程序是如何到计算机上,CPU又如何一起运行它们的呢?为了寻找答案,我们要看一看操作系统。

操作系统是计算机的主程序,它负责管理软件如何使用硬件、管理软件资源使计算机有效地利用这些资源的程序集合。操作系统的任务是:管理处理器、管理存储器、管理设备、管理文件和管理最终输出作业。例如大多数人个人计算机的Windows操作系统。

操作系统是一种能控制计算机上其他软件的特殊应用程序。它让你能通过将程序读取到内存中来安装新程序。它决定了什么时候程序运行在CPU上,程序是否能操作输入和输出设备。你可能认为计算机在同时运行多个程序,实际上并非如此,操作系统能在一秒钟内非常快速的切换程序好多次,从而共享CPU。

知足常乐2021.9.7日

软件是怎样控制硬件的?

硬件就是电路,软件和硬件所存储的信息的本质其实就是电路上一些开关的状态,只不过现代计算机的集成电路规模之大使其产生质的转变。

就最简单的举例,家里走廊一盏灯有两个开关,按其中任何一个,无论另一个开关的状态如何,都会改变灯的状态(开的就关,关的就开)。或者说必须两个都是关的,灯才会关,否则就是开的。这就是一个简单的逻辑电路,电脑就是上亿个这种电路的结合体。软件和任何存储的信息就是这些开关的状态,开还是关。

以廊灯的例子来说,硬件的功能是受到物理法则约束的,它的可能性只有开合关。无论你怎么按动开关都不可能造成开灯和关灯以外的状态。电脑也是一个道理,任何被物理法则允许的硬件行为理论上都有可能用软件实现。比如说手机的显示屏理论上可以显示任何画面,闪光灯可以用来发光(到一定的亮度),扬声器可以用来说话等。但是没有软件可以让手机飞起来变成无人机。

软件和信息本身也是没有明确分界线的,现代操作系统因为内存很大所以可以人为划分哪些信息是用来定义逻辑关系,哪些是要用来运算的。几十年前电脑刚发明的时候内存受限制,软件和信息都是混合在一起录入的以节省内存和带宽。现代的划分只是方便人类程序员去理解程序的工作方式。

软件是怎样控制硬件的?

手机、智能电器、电脑、PLC、单片机等等,有一个共同的特点,就是他们都有构成计算机系统的核心部件,CPU,存储器和I/O接口。如下图所示,以51单片机为例,软件代码安装在程序存储器,CPU,存储器和I/O接口之间有三条高速通道,分别是控制总线,地址总线和数据总线。

CPU通过控制总线发布命令,通过地址总线选择程序存储器单元,代码一条一条通过数据总线到达CPU译码器,根据代码命令,由CPU协调各方,把数据从I/O接口输入输出,实现设备控制。

接下来我们从大到小,层层深入,以单片机为例,看看计算机内部电路组成结构。8051一位I/O口结构如下图所示。可见其核心部件是一个D触发器构成的锁存器。8个这样的电路组成了P1接口。

计算机处理的数据就是1、0组合,实际上0、1就是低电平和高电平,说白了就是电压信号。如下图所示,计算机内部电路常用的D触发器,D触发器的/S端为低电平,Q=D,信号从D传送到Q,/R端为低电平,Q=0,复位。

D触发器内部主要元件就是与非门电路。那么与非门电路内部什么样呢?如下图,为TTL与非门内部电路,Y=/A.B,Y等于A与B的反。例如,A=1,B=1,Y=0,当A=0,B=1,Y=1。1是高电平,0是低电平。当然,TTL门电路采用晶体管,属于电流控制型器件,功耗大,现在一般使用CMOS器件,电压控制型器件,功耗大为降低。

可以这么说,千千万万的三极管、MOS晶体管、二极管、电阻电容基本元件构成了门电路、D触发器这样的基本功能器件,千千万万的基本功能器件又组成了寄存器,缓存器,编译码器,运算器,控制器,又以他们为基础构成CPU,存储器和I/0接口,组成了计算机。而其内部流动的是难以计数的0和1。

内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请与我们联系,我们将及时删除。

相关推荐