找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 796|回复: 11
收起左侧

芯片引脚与信号识别的问题

[复制链接]
ID:1061703 发表于 2023-1-29 10:39 | 显示全部楼层 |阅读模式
大家好,初来乍到,今天工作中在研究一个传感器的时候读到一份16进制报文,0x00f00fh   ,然后不理解为什么所有的都有0x......h这类格式,后来知道是C/C++编程环境的要求,然后又了解到MSB 和LSB,之前是接触过SENT信号, LSB对于我的印象只是一个单位如:217± 34 LSB  ,可这里的又变成了
1001 0010     
↑            ↑是
是MSB    LSB

所以就联系不起来了,电子方面的知识是十几年前学的,所以现在基本记不起来了,所以请教各位大佬,补充一下知识。

我的第二个问题是:想知道不同的信号源输入到芯片中时,是不是也要选择对应类型的芯片来接受信号。

如一款8pin的芯片, 排开VCC,GND, 剩下6跟引脚肯定对应各类的功能,如模拟信号输入,数字信号输入等。。

以凸轮轴脉冲信号为例,示波器读取的是高低电平, 转化为二进制是0-1 类型信号,那这类信号,其本身是数字信号,示波器只起呈现作用,
那假设0-1 输入到3号pin脚时(数字信号输入), 芯片只能接受一个0或1 还是可以同时接受0和1?,我的疑惑在于,如果只能接受一个信号,那么剩下的0或1,不就丢失了吗?所以我推测是同时接受,那么这就存在先后的问题(依次接受?),以及储存的问题了,信号进来后,是不是就类似于“堆栈”了?(这是我此时能联想到的电子知识了)。那么还需要储存位一说吧?方便调用或者是运算后供给更上一级的芯片做为输入,(节气门抬起,关闭系统,以及转速的运算系统,当然了,整车级别的肯定是can通讯,我在这举例只是以我认知范围内的做例子,大佬们可以等同为 电视机,空调等家电的电路,等等

举另外一个例子(说人话):

小区门口的自动抬杠系统,摄像头识别+红外线识别车辆,如果无车输入到芯片0,有车输入1, 那么芯片接受到的信号是 常规状态下是0000000无限个0   到识别到车时是 无限个1111111111,然后芯片控制电机抬杆,车辆开走,又变成00000,
如果 这里选用的是个4pin的芯片, 排除VCC和 GND(PIN1-PIN2),  剩下2个引脚或许是这样分配的, 摄像头识别车为1(PIN3), 红外线识别到车是1(PIN4),都为1时,抬杆。芯片内部再变成为逻辑与门,打开电机电源,电机机械结构联动导致抬杆,达成结果。其他情况一律不抬杆。  

我想问的是:0-1这类信号,真的是这样被输入到芯片当中的吗?一个引脚接收一个数字?那有时候出bug了,pin3输入了10 而不是1的时候,它是怎么接受的呢? 还是说这种“两位”的输入 这个芯片就接受不了了? 需要更换那种可以接受“两位”的芯片才行?我在上面那个例子也是想表达这层意思,芯片要根据信号源的输入来选择芯片类型吗?(强大的芯片就能支持各种类型的信号输入?or 通过运算可以等效出相同的结果?)起点这么低吗?我懂了我也可以做?不会吧?

以上的提问只是举例,实际情况是我从事霍尔式的凸轮,曲轴传感器,知道霍尔原理,传感器的制作等工作,但是芯片接触的很少,不知其原理,所以在发送此贴时,不确定这与51单片机是否有类似关联。如有不适地方还请大家包含,担待。
回复

使用道具 举报

ID:596109 发表于 2023-1-29 11:02 | 显示全部楼层
楼主想问的应该是数字信号的输入问题,数字信号是不连续的,只能在某个时间点读取输入寄存器的值,因此想读取上升沿,就必须有寄存器保存旧值,然后再和新值做比较,两值不同时,触发逻辑功能模块
回复

使用道具 举报

ID:891041 发表于 2023-1-29 13:52 | 显示全部楼层
数字芯片 任何一个引脚任意时刻只能接收0(低电平),1(高电平)。  至于为什么可以表示信息。  你可以从时间上复用, 发一连串的0/1表示信息. 可以从引脚上复用,多组0/1表示信息。
回复

使用道具 举报

ID:879348 发表于 2023-1-29 15:02 | 显示全部楼层
我完全没看懂你在说什么
回复

使用道具 举报

ID:1061703 发表于 2023-1-29 16:24 | 显示全部楼层
yxtao 发表于 2023-1-29 11:02
楼主想问的应该是数字信号的输入问题,数字信号是不连续的,只能在某个时间点读取输入寄存器的值,因此想读 ...

感谢您的回复,
这个输入寄存器的值是只能是二进制吗,如果是16进制,是不是得选支持16进制的芯片才可以?
回复

使用道具 举报

ID:1061703 发表于 2023-1-29 16:27 | 显示全部楼层
abob 发表于 2023-1-29 13:52
数字芯片 任何一个引脚任意时刻只能接收0(低电平),1(高电平)。  至于为什么可以表示信息。  你可以从时间 ...

感谢您,从1楼的盆友给我的解答,我加上自己的理解: 一个二进制信号输入到您说的“数字芯片”中,是按顺序输入的,即使是连续的二进制信号,也得0,,1,,1,,0 这么来输入,然后寄存在芯片中。对吗?
回复

使用道具 举报

ID:1034262 发表于 2023-1-29 16:56 | 显示全部楼层
搞电子的,是需要一点点电子技术基础的。
回复

使用道具 举报

ID:824490 发表于 2023-1-29 17:49 | 显示全部楼层
欢迎入坑!
如果是只使用单独一个IO做为数据(SDA)通信,(同时可能还需要有时钟(SCK)、片选(CS、CD、EN。。。)),一般 是从最低位开始(LSB),有些器件是从最高位开始(MSB),依次从IO口出入。
如果是LSB在前,传一个0x11000001,那么,就按1、0、0、0、0、0、1、1出现在IO口;
如果是MSB在前,传一个0x11000001,那么,就按1、1、0、0、0、0、0、1出现在IO口;
不知道这样说你能明白?
回复

使用道具 举报

ID:883242 发表于 2023-1-30 07:24 | 显示全部楼层
haogetsh 发表于 2023-1-29 16:24
感谢您的回复,
这个输入寄存器的值是只能是二进制吗,如果是16进制,是不是得选支持16进制的芯片才可以 ...

不存在支持16进制的芯片。
回复

使用道具 举报

ID:891041 发表于 2023-1-30 09:48 | 显示全部楼层
haogetsh 发表于 2023-1-29 16:27
感谢您,从1楼的盆友给我的解答,我加上自己的理解: 一个二进制信号输入到您说的“数字芯片”中,是按顺 ...

是的。只能一位一位输入, 存到芯片中。
回复

使用道具 举报

ID:146878 发表于 2023-1-30 10:11 | 显示全部楼层
haogetsh 发表于 2023-1-29 16:24
感谢您的回复,
这个输入寄存器的值是只能是二进制吗,如果是16进制,是不是得选支持16进制的芯片才可以 ...

“进制“只是方便理解和说明数字的一种方式。同样是十二个苹果。二进制是1100。十进制是12。十六进制是C。但他们都是同一个数十二。
楼主如果真想学习这些知识,建议还是先从弄些浅显易懂电子知识相关的书籍或视频看看。你这样论坛随便一问,是学不到太多。因为对于我们学会的人,太基础,反而解释不好。基础的东西需要自己领悟。
回复

使用道具 举报

ID:1010435 发表于 2023-1-30 10:45 | 显示全部楼层
MSB表示高位,LSB表示低位,这只是一种叫法把,方便理解,例如 8位数据 0000 0001 其中的0000就可以表示成高位,0001就可以表示成低位,如果16位数据 0001 0002 0003 0004 那么0001 0002就是高八位MSB 0003 0004就是低八位,这么分是因为一般寄存器是8位的,16位分割成两个八位放入寄存器,或者把两个寄存器的值读出来组合成16位能好理解些。
第二个问题,单片机的某个针脚(IO)高低电平,某个时间点永远不是0就是1,是数字信号,要不也不会有ADC和PMW了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表