標(biāo)題: 芯片引腳與信號識別的問題 [打印本頁]

作者: haogetsh    時間: 2023-1-29 10:39
標(biāo)題: 芯片引腳與信號識別的問題
大家好,初來乍到,今天工作中在研究一個傳感器的時候讀到一份16進(jìn)制報文,0x00f00fh   ,然后不理解為什么所有的都有0x......h這類格式,后來知道是C/C++編程環(huán)境的要求,然后又了解到MSB 和LSB,之前是接觸過SENT信號, LSB對于我的印象只是一個單位如:217± 34 LSB  ,可這里的又變成了
1001 0010     
↑            ↑是
是MSB    LSB

所以就聯(lián)系不起來了,電子方面的知識是十幾年前學(xué)的,所以現(xiàn)在基本記不起來了,所以請教各位大佬,補充一下知識。

我的第二個問題是:想知道不同的信號源輸入到芯片中時,是不是也要選擇對應(yīng)類型的芯片來接受信號。

如一款8pin的芯片, 排開VCC,GND, 剩下6跟引腳肯定對應(yīng)各類的功能,如模擬信號輸入,數(shù)字信號輸入等。。

以凸輪軸脈沖信號為例,示波器讀取的是高低電平, 轉(zhuǎn)化為二進(jìn)制是0-1 類型信號,那這類信號,其本身是數(shù)字信號,示波器只起呈現(xiàn)作用,
那假設(shè)0-1 輸入到3號pin腳時(數(shù)字信號輸入), 芯片只能接受一個0或1 還是可以同時接受0和1?,我的疑惑在于,如果只能接受一個信號,那么剩下的0或1,不就丟失了嗎?所以我推測是同時接受,那么這就存在先后的問題(依次接受?),以及儲存的問題了,信號進(jìn)來后,是不是就類似于“堆棧”了?(這是我此時能聯(lián)想到的電子知識了)。那么還需要儲存位一說吧?方便調(diào)用或者是運算后供給更上一級的芯片做為輸入,(節(jié)氣門抬起,關(guān)閉系統(tǒng),以及轉(zhuǎn)速的運算系統(tǒng),當(dāng)然了,整車級別的肯定是can通訊,我在這舉例只是以我認(rèn)知范圍內(nèi)的做例子,大佬們可以等同為 電視機,空調(diào)等家電的電路,等等

舉另外一個例子(說人話):

小區(qū)門口的自動抬杠系統(tǒng),攝像頭識別+紅外線識別車輛,如果無車輸入到芯片0,有車輸入1, 那么芯片接受到的信號是 常規(guī)狀態(tài)下是0000000無限個0   到識別到車時是 無限個1111111111,然后芯片控制電機抬桿,車輛開走,又變成00000,
如果 這里選用的是個4pin的芯片, 排除VCC和 GND(PIN1-PIN2),  剩下2個引腳或許是這樣分配的, 攝像頭識別車為1(PIN3), 紅外線識別到車是1(PIN4),都為1時,抬桿。芯片內(nèi)部再變成為邏輯與門,打開電機電源,電機機械結(jié)構(gòu)聯(lián)動導(dǎo)致抬桿,達(dá)成結(jié)果。其他情況一律不抬桿。  

我想問的是:0-1這類信號,真的是這樣被輸入到芯片當(dāng)中的嗎?一個引腳接收一個數(shù)字?那有時候出bug了,pin3輸入了10 而不是1的時候,它是怎么接受的呢? 還是說這種“兩位”的輸入 這個芯片就接受不了了? 需要更換那種可以接受“兩位”的芯片才行?我在上面那個例子也是想表達(dá)這層意思,芯片要根據(jù)信號源的輸入來選擇芯片類型嗎?(強大的芯片就能支持各種類型的信號輸入?or 通過運算可以等效出相同的結(jié)果?)起點這么低嗎?我懂了我也可以做?不會吧?

以上的提問只是舉例,實際情況是我從事霍爾式的凸輪,曲軸傳感器,知道霍爾原理,傳感器的制作等工作,但是芯片接觸的很少,不知其原理,所以在發(fā)送此貼時,不確定這與51單片機是否有類似關(guān)聯(lián)。如有不適地方還請大家包含,擔(dān)待。

作者: yxtao    時間: 2023-1-29 11:02
樓主想問的應(yīng)該是數(shù)字信號的輸入問題,數(shù)字信號是不連續(xù)的,只能在某個時間點讀取輸入寄存器的值,因此想讀取上升沿,就必須有寄存器保存舊值,然后再和新值做比較,兩值不同時,觸發(fā)邏輯功能模塊
作者: abob    時間: 2023-1-29 13:52
數(shù)字芯片 任何一個引腳任意時刻只能接收0(低電平),1(高電平)。  至于為什么可以表示信息。  你可以從時間上復(fù)用, 發(fā)一連串的0/1表示信息. 可以從引腳上復(fù)用,多組0/1表示信息。
作者: wufa1986    時間: 2023-1-29 15:02
我完全沒看懂你在說什么
作者: haogetsh    時間: 2023-1-29 16:24
yxtao 發(fā)表于 2023-1-29 11:02
樓主想問的應(yīng)該是數(shù)字信號的輸入問題,數(shù)字信號是不連續(xù)的,只能在某個時間點讀取輸入寄存器的值,因此想讀 ...

感謝您的回復(fù),
這個輸入寄存器的值是只能是二進(jìn)制嗎,如果是16進(jìn)制,是不是得選支持16進(jìn)制的芯片才可以?
作者: haogetsh    時間: 2023-1-29 16:27
abob 發(fā)表于 2023-1-29 13:52
數(shù)字芯片 任何一個引腳任意時刻只能接收0(低電平),1(高電平)。  至于為什么可以表示信息。  你可以從時間 ...

感謝您,從1樓的盆友給我的解答,我加上自己的理解: 一個二進(jìn)制信號輸入到您說的“數(shù)字芯片”中,是按順序輸入的,即使是連續(xù)的二進(jìn)制信號,也得0,,1,,1,,0 這么來輸入,然后寄存在芯片中。對嗎?
作者: coody_sz    時間: 2023-1-29 16:56
搞電子的,是需要一點點電子技術(shù)基礎(chǔ)的。
作者: 名字不是重點    時間: 2023-1-29 17:49
歡迎入坑!
如果是只使用單獨一個IO做為數(shù)據(jù)(SDA)通信,(同時可能還需要有時鐘(SCK)、片選(CS、CD、EN。。。)),一般 是從最低位開始(LSB),有些器件是從最高位開始(MSB),依次從IO口出入。
如果是LSB在前,傳一個0x11000001,那么,就按1、0、0、0、0、0、1、1出現(xiàn)在IO口;
如果是MSB在前,傳一個0x11000001,那么,就按1、1、0、0、0、0、0、1出現(xiàn)在IO口;
不知道這樣說你能明白?
作者: Hephaestus    時間: 2023-1-30 07:24
haogetsh 發(fā)表于 2023-1-29 16:24
感謝您的回復(fù),
這個輸入寄存器的值是只能是二進(jìn)制嗎,如果是16進(jìn)制,是不是得選支持16進(jìn)制的芯片才可以 ...

不存在支持16進(jìn)制的芯片。
作者: abob    時間: 2023-1-30 09:48
haogetsh 發(fā)表于 2023-1-29 16:27
感謝您,從1樓的盆友給我的解答,我加上自己的理解: 一個二進(jìn)制信號輸入到您說的“數(shù)字芯片”中,是按順 ...

是的。只能一位一位輸入, 存到芯片中。
作者: pdwdzz    時間: 2023-1-30 10:11
haogetsh 發(fā)表于 2023-1-29 16:24
感謝您的回復(fù),
這個輸入寄存器的值是只能是二進(jìn)制嗎,如果是16進(jìn)制,是不是得選支持16進(jìn)制的芯片才可以 ...

“進(jìn)制“只是方便理解和說明數(shù)字的一種方式。同樣是十二個蘋果。二進(jìn)制是1100。十進(jìn)制是12。十六進(jìn)制是C。但他們都是同一個數(shù)十二。
樓主如果真想學(xué)習(xí)這些知識,建議還是先從弄些淺顯易懂電子知識相關(guān)的書籍或視頻看看。你這樣論壇隨便一問,是學(xué)不到太多。因為對于我們學(xué)會的人,太基礎(chǔ),反而解釋不好;A(chǔ)的東西需要自己領(lǐng)悟。

作者: mtt661    時間: 2023-1-30 10:45
MSB表示高位,LSB表示低位,這只是一種叫法把,方便理解,例如 8位數(shù)據(jù) 0000 0001 其中的0000就可以表示成高位,0001就可以表示成低位,如果16位數(shù)據(jù) 0001 0002 0003 0004 那么0001 0002就是高八位MSB 0003 0004就是低八位,這么分是因為一般寄存器是8位的,16位分割成兩個八位放入寄存器,或者把兩個寄存器的值讀出來組合成16位能好理解些。
第二個問題,單片機的某個針腳(IO)高低電平,某個時間點永遠(yuǎn)不是0就是1,是數(shù)字信號,要不也不會有ADC和PMW了。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1