这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » [资料]MCU的工作原理

共3条 1/1 1 跳转至

[资料]MCU的工作原理

助工
2020-07-07 11:32:24     打赏

  MCU(microControlUnit)中文名称为微控制单元,又称单片微型计算机(SingleChiPMICrocomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
  MCU在现代流行的视频会议中起到核心领导设备,通过MCU设备给下面终端设备设置好权限属性就可以组建一个完整的视频会议网络。
  MCU是视频会议系统的核心部分,为用户提供群组会议、多组会议的连接服务。目前主流厂商的MCU一般可以提供单机多达190个用户的接入服务,并且可以进行级联,主流厂家支持三级数字合并级联(上级MCU可控制下级MCU终端,对终端进行选看,遥控摄像机等会议操作),可以基本满足用户的使用要求。MCU的使用和管理不应该太复杂,要使客户方技术部甚至行政部的一般员工能够操。
  MCU同温度传感器之间通过I2C总线连接。I2C总线占用2条MCU输入输出口线,二者之间的通信完全依靠软件完成。温度传感器的地址可以通过2根地址引脚设定,这使得一根I2C总线上可以同时连接8个这样的传感器。本方案中,传感器的7位地址已经设定为1001000。MCU需要访问传感器时,先要发出一个8位的寄存器指针,然后再发出传感器的地址(7位地址,低位是WR信号)。传感器中有3个寄存器可供MCU使用,8位寄存器指针就是用来确定MCU究竟要使用哪个寄存器的。本方案中,主程序会不断更新传感器的配置寄存器,这会使传感器工作于单步模式,每更新一次就会测量一次温度。
  要读取传感器测量值寄存器的内容,MCU必须首先发送传感器地址和寄存器指针。MCU发出一个启动信号,接着发出传感器地址,然后将RD/WR管脚设为高电平,就可以读取测量值寄存器。
  为了读出传感器测量值寄存器中的16位数据,MCU必须与传感器进行两次8位数据通信。当传感器上电工作时,默认的测量精度为9位,分辨力为0.5C/LSB(量程为-128.5C至128.5C)。本方案采用默认测量精度,根据需要,可以重新设置传感器,将测量精度提高到12位。如果只要求作一般的温度指示,比如自动调温器,那么分辨力达到1C就可以满足要求了。这种情况下,传感器的低8位数据可以忽略,只用高8位数据就可以达到分辨力1C的设计要求。由于读取寄存器时是按先高8位后低8位的顺序,所以低8位数据既可以读,也可以不读。只读取高8位数据的好处有二,第一是可以缩短MCU和传感器的工作时间,降低功耗;第二是不影响分辨力指标。
  MCU读取传感器的测量值后,接下来就要进行换算并将结果显示在LCD上。整个处理过程包括:判断显示结果的正负号,进行二进制码到BCD码的转换,将数据传到LCD的相关寄存器中。
  数据处理完毕并显示结果之后,MCU会向传感器发出一个单步指令。单步指令会让传感器启动一次温度测试,然后自动进入等待模式,直到模数转换完毕。MCU发出单步指令后,就进入LPM3模式,这时MCU系统时钟继续工作,产生定时中断唤醒CPU。定时的长短可以通过编程调整,以便适应具体应用的需要。




关键词: MCU     传感器     寄存器    

工程师
2020-07-07 22:12:39     打赏
2楼

学会了


工程师
2020-07-12 20:57:13     打赏
3楼

原理还是很复杂的


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]