當前位置:首頁 » 存儲配置 » 存儲lsb

存儲lsb

發布時間: 2022-10-16 20:57:15

A. LSB信息隱藏C語言代碼問題

>for(j=64;j<(64+i*8);j++) //為什麼是從64開始??????

這個我猜是因為點陣圖文件頭包含一些很重要的信息,為避免修改而跳過這段內存;

>第二個問題是a[j]=a[j]>>1; //逐位獲取文字的二進制代碼 這句話怎麼理解?

for(k=0;k<8;k++){ }這個循環體內是對文字每個位元組的8bit信息逐位讀出。

t=a[j]&0x01; 這一句是讀出8個bit的最低位。

a[j]=a[j]>>1; //這句是讀完之後右移一位,高位清零,低位的第二bit移到第一bit,繼續循環讀取下一位。循環8次以完成從低到高的8bit的讀取。

通過j*k次循環,先將文字轉換成二進制數據,然後一位一位的存儲在圖像的LSB中。

LSB水印演算法比較簡單的一種演算法,極易被各種圖形處理破壞,屬於易損水印。

B. 為什麼數據在內存中是按4位元組逆序存儲的

位元組序通常有小端、大端兩種位元組順序。小端位元組序指低位元組數據存放在內存低地址處,高位元組數據存放在內存高地址處;也就是低地址存放最低有效位元組(LSB)。大端位元組序是高位元組數據存放在低地址處,低位元組數據存放在高地址處。也就是是指低地址存放最高有效位元組(MSB)。

C. 什麼是MSB/LSB碼

MSB是Most Significant Bit的縮寫,指最高有效位。在二進制數中,MSB是最高加權位。與十進制數字中最左邊的一位類似。通常,MSB位於二進制數的最左側,LSB位於二進制數的最右側。

LSB是Linux Standards Base的縮寫,是一套核心標准,它保證了LINUX發行版同LINUX應用程序之間的良好結合。

【拓展資料】

關於有效位

一、最低有效位

1、定義:LSB,英文 least significant bit,中文義最低有效位。

對於一個給定的數據串(整數),如二進制的1001或者十進制351,其最低有效位就是擁有最小單位數值的那一位。比如二進制1001的最右一位,擁有數值1,在該整數中代表最低位,該位的值可以決定整數是奇數(為1)還是偶數(為0)。十進制數同理。

一般lsb就是一個整數的最右一位,所以似乎該概念有些多餘。但是凡事都有例外,某些數據傳輸或是處理器恰恰相反,最左一位是lsb,所以在計算領域就定義了這個最低有效位以明確說明數據格式。

2、意義:

(LSB: Least Significant Byte)最低有效位元組。

其意義和lsb類似,只是擴展到整個位元組,以位元組為最小單位來說明數據的順序。

msb(most significant bit),即最高有效位,是一個整數數位中權重最高的那個,當然有時候該位也用作符號位,0為正,1為負,視編碼標准而定。

MSB為最高有效位元組,意義類似於LSB。

二、最高有效位

1、定義:(MSB)

指二進制中最高值的比特。在16比特的數字音頻中,其第1個比特便對16bit的字的數值有最大的影響。例如,在十進制的15,389這一數字中,相當於萬數那1行(1)的數字便對數值的影響最大。比較與之相反的「最低有效位」(LSB)。

2、詳細介紹

當選擇模數轉換器(ADC)時,最低有效位(LSB)這一參數的含義是什麼?有位工程師告訴我某某生產商的某款12位轉換器只有7個可用位。也就是說,所謂12位的轉換器實際上只有7位。他的結論是根據器件的失調誤差和增益誤差參數得出的,這兩個參數的最大值如下:

失調誤差 =±3LSB,

增益誤差 =±5LSB,

乍一看,覺得他似乎是對的。從上面列出的參數可知最差的技術參數是增益誤差(±5 LSB)。進行簡單的數學運算,12位減去5位解析度等於7位,對嗎?果真如此的話,ADC生產商為何還要推出這樣的器件呢?增益誤差參數似乎表明只要購買成本更低的8位轉換器就可以了,但看起來這又有點不對勁了。正如您所判斷的,上面的說法是錯誤的。

讓我們重新來看一下LSB的定義。考慮一個12位串列轉換器,它會輸出由1或0組成的12位數串。通常,轉換器首先送出的是最高有效位(MSB)(即LSB + 11)。有些轉換器也會先送出LSB。在下面的討論中,我們假設先送出的是MSB(如圖1所示),然後依次送出MSB-1 (即 LSB + 10)和MSB -2(即LSB + 9)並依次類推。轉換器最終送出MSB -11(即LSB)作為位串的末位。

LSB這一術語有著特定的含義,它表示的是數字流中的最後一位,也表示組成滿量程輸入范圍的最小單位。對於12位轉換器來說,LSB的值相當於模擬信號滿量程輸入范圍除以2^12 或 4,096的商。如果用真實的數字來表示的話,對於滿量程輸入范圍為4.096V的情況,一個12位轉換器對應的LSB大小為1mV。但是,將LSB定義為4096個可能編碼中的一個編碼對於我們的理解是有好處的。

讓我們回到開頭的技術指標,並將其轉換到滿量程輸入范圍為4.096V的12位轉換器中:

失調誤差 = ±3LSB =±3mV,

增益誤差 =±5LSB = ±5mV,

這些技術參數表明轉換器轉換過程引入的誤差最大僅為8mV(或 8個編碼)。這絕不是說誤差發生在轉換器輸出位流的LSB、LSB-1、LSB-2、LSB-3、LSB-4、LSB-5、LSB-6和 LSB-7 八個位上,而是表示誤差最大是一個LSB的八倍(或8mV)。

准確地說,轉換器的傳遞函數可能造成在4,096個編碼中相差最多8個編碼。例如,誤差為+8LSB ((+3LSB失調誤差) + (+5LSB增益誤差)) 的一個12位轉換器可能輸出的編碼范圍為0 至 4,095,實際的有效編碼為4096/8 ,即2^9=512個。這個例子給出的都是最壞情況。在實際的轉換器中,失調誤差和增益誤差很少會如此接近最大值。

3、實際應用

在實際應用中,由於ADC失調或增益參數的改進而使性能提升的程度微不足道,甚至可以忽略。但是,對於那些將精度作為一項設計目標的設計人員來說,這種 假設太過絕對。利用固件設計可以很容易地實現數字校準演算法。但更重要的是,電路的前端放大/信號調理部分通常會產生比轉換器本身更大的誤差。

通過上面的討論可以對本文開頭提到的錯誤結論有一個更為全面而清晰的認識。事實上,上述的12位轉換器的精度約為11.997位。採用微處理器或單片機可以利用簡單的校準演算法消除這種失調和增益誤差,這對設計人員來說無疑是個好消息。

D. verilog表達式的數據類型

1. 常量

verilog有四種基本值:

·0表示邏輯0或「假」;

·1表示邏輯1或「真」;

·x表示未知;

·z表示高阻。

x和z在這里是不分大小寫的。也就是說,0x1z和0X1Z是相同的。

1.1 整型常量

整形常量即整數,Verilog的整數有兩種書寫格式:

·十進制數格式和基數格式。

(1)十進制數格式是一個可以帶正負號的數字序列,代表一個有符號數。

(2)基數格式的數通常都是無符號數。形式如下:

[size]'base value

size定義常量的位數(長度),這是可選項;base是基數,規定數據的進制,可以是o(八進制)、B、H和D。value是一個數字序列,其形式應與base定義的形式相符。

7'Hx //7位x(擴展的x),即xxxxxxx

4'HZ //4位Z,即ZZZZ

如果size定義的長度大於數字的實際長度,通常在數據序列的高位補0.但是如果這個數字序列最左邊一位是x或z,就用x或z在左邊補位。如果定義的長度小於數字序列的實際長度,這個數字序列最左邊超出的位將被截斷。

1.2 實數型常量

在verilog中,實數就是浮點數,實數的定義方式有兩種:

(1)十進制格式,由數字和小數點組成。

(2)指數格式,由數字和字元e(E)組成,e(E)的前面必須要有數字而且後面必須為整數:

23_5.1e2 //其值為23510.0,忽略下劃線

3.6E2 //其值為360.0

這里的e可以理解為10。

1.3 字元串型常量

字元串常量是由一對雙引號括起來的字元序列。

2 變數

2.1 線網型變數

線網表示元件之間的物理連線,它 不能存儲數據。線網是被驅動的,可以用連續賦值或把元件的輸出連接到線網等方式給線網提供驅動,給線網提供驅動的賦值元件就是「驅動源」,線網的值由驅動源決定。如果沒有驅動源連接到線網,線網的預設值為Z。

verilog共有11種線網類型:wire tri wor trior wand triand trireg tril tri0 supply0 supply1。

線網的聲明語法形式:net_kind[msb:lsb]net1, net2, .........,netN;

net_kind是線網類型;[msb:lsb]定義線網寬度????????的最高位和最低位,這一項是可選的,默認為一位;netN是線網變數的名稱。線網可以有多個驅動源,每個驅動源都會給線網賦值,出現這種情況時,線網的取值由線網類型決定。

關於位寬的一點補充:

最高有效位(MSB)
指二進制中最高值的比特。在16比特的數字音頻中,其第1個比特便對16bit的字的數值有最大的影響。例如,在十進制的15,389這一數字中,相當於萬數那1行(1)的數字便對數值的影響最大。比較與之相反的「最低有效位」(LSB)。匯編中,比如8位2進制數10000001,其中第一個1是MSB,第二個1是LSB。在計算機計算的時候用於判斷的比如如果是整數那麼小數點(實際上是沒有小數點的,但就把那一位和下一位之間看作有)在LSB後面,如果是小數小數點在MSB後面,其中MSB在有符號數中又是符號位。

在這11種線網中,經常用到的是前六種,下面給出其詳細的用法舉例。

(1)wire和tri線網

有些問題,先跳過!

(2)wor和trior線網

·wor線或 ·trior三態線或

(3)wand和triand線網

·wand線與 ·triand線與

(4)trireg線網(三態寄存器)

這種線網可以存儲數值,可用於電容節點的建模。當沒有驅動源時,三態寄存器線網的預設初始值為x。當它的所有驅動源都處於高組態時,三態寄存器保存的值是作用在該線網上的最後一個值。

(5)tri0和tri1線網

·tri0 三態0 ·tri1 三態1

這兩個的特徵是,若無驅動源(z可視為無驅動源),它的值為0(tri0)或1(tri1)。

(6)supply0 supply1線網

·supply0用於對「地」建模,即低電平。

·supply1用於對電源建模,即高電平1。

2.2 寄存器型變數

寄存器表示一個抽象的數據存儲單元,可以通過賦值語句改變寄存器內存儲的值。寄存器只能在always語句和initial語句中賦值,always語句和initial語句是verilog提供的功能強大的結構語句。在未被賦值時,寄存器的預設值為x。

verilog共有五種寄存器類型:reg integer time real realtime。

2.2.1 reg寄存器

(1)reg寄存器的類型

reg寄存器是最常用的寄存器類型,這種寄存器中只能存放無符號數。如果給reg中存入一個負數,通常會被視為正數。

(2)用reg聲明存儲器

在verilog中不能直接聲明存儲器,存儲器是通過寄存器數組聲明的,即用reg聲明。可以說,存儲器是由若干個寄存器組成的,通過定義單個寄存器的位寬和寄存器的個數可以決定存儲器的大小。

存儲器聲明如下:

reg [msb:lsb] memory1 [upper1:lower1], memory2 [upper2:lower2], ...............

其中msb、lsb定義了存儲器單個寄存器的位寬,memory1和memory2是存儲器名;upper和lower分別定義了這兩個存儲器的大小。

2.2.2 integer寄存器類型

integer是整數寄存器,也是verilog中最常用的變數類型,這種寄存器中存儲有符號整數值。integer即可以定義單個寄存器,也可以用來定義一個寄存器組。整數寄存器中最少可以容納32位的數,但是不能作為位向量訪問

2.2.3 time寄存器類型

time類型寄存器用於存儲和處理時間,通常用在系統函數$time中。其聲明形式如下:

time time_id1, time_id2, ..........,time_idN[msb:lsb];

msb lsb是規定范圍界限的常量,這個范圍將決定寄存器內能存儲時間值的個數,如果未定義界限,默認值為1,那麼每個寄存器只能存儲一個至少64位的時間值。time類型的寄存器只存儲無符號數。

2.2.4 real和realtime寄存器類型

real(實數型寄存器)和realtime(實數型時間寄存器)一般用於在測試模塊中存儲模擬時間,二者聲明形式完全相同。real變數的預設值為0,當將值x和z賦給real型寄存器時,這些值被當作0。

3. 表達式

3.1 操作數

操作數即運算對象,位於操作符左右兩側。操作數有以下8種類型:常數、參數、線網、寄存器、位選擇、部分選擇、存儲器單元、函數調用。

(1)常數:表達式中經常出現常數,一般是做運算或賦值。表達式中的整數值可以是有符號數或無符號數。如果表達式中的整數形式是十進制整數,就會被當作有符號數,如果整數形式是基數型整數,那麼該整數會被當作無符號數對待。

(2)參數:參數類似於常量,表達式中出現的參數都作為常數對待。參數是用某標識符代表某個數字的,所以定義它時要給它賦值。

(3)線網

(4)寄存器:寄存器是在表達式中出現次數最多的操作數,許多程序語句都是通過對寄存器中存儲的值進行轉換和傳輸實現設計目的的。注意:整型寄存器中的值被視為有符號的二進制補碼數;實數和實數時間類型寄存器中的值被視為有符號浮點數;而reg寄存器或時間寄存器中的值被視為無符號數。

(5)位選擇

(6)部分選擇

(7)存儲器單元:存儲器建模是使用reg聲明寄存器組,不能在一條語句內就完成對存儲器內所有寄存器單元的賦值,必須對其中的存儲單元進行賦值。形式如下:

memory[word_address]

其中,memory是存儲器名,word_address是要選擇單元的編號。不允許對存儲器單元做位選擇或部分選擇。

(8)函數調用:verilog中的函數和C語言中的函數沒什麼大的區別,都用來實現某個計算過程或完成某個事件處理。函數可以被隨意調用,函數調用也可以作為表達式中的操作數。調用的函數可以是系統函數(以字元$開始)或用戶定義的函數。

3.2 操作符

verilog的操作符有如下九種類型:

·算術操作符

·關系操作符

·相等操作符

·邏輯操作符

·按位操作符

·歸約操作符

·移位操作符

·條件操作符

·連接和復制操作符

(1)算術操作符

+ - * 、 %

·整數除法截斷所有小數部分。

·模操作符求出與第一個操作數符號相同的余數,如-7/4結果為-3。

·如果算術操作符的操作數中出現x或z,那麼整個算術操作的運算結果為x。

·算術操作結果的長度

進行算術操作時,表達式中操作數的長度可能不一致,這時運算結果的長度由最長的操作數決定。在賦值語句中,算術操作符結果的長度由操作符左端的賦值目標長度決定。

reg [0:3] Arc, Bar, Crt;

reg [0:5] Frx;

Arc = Bar + Crt;

Frx = Bar + Crt;

在第一個賦值中,加法操作的溢出部分被丟棄,而在第二個賦值中,任何溢出的為存儲在位Frx[1]中。在較大的表達式中,中間結果的長度應取最大操作數的長度(在賦值時此規則也包括左端賦值目標)。

·無符號數和有符號數

執行算術操作和賦值時,要注意哪些操作數時無符號數、哪些操作數是有符號數。無符號數存儲在線網、一般寄存器和基數格式表示形式的整數中。有符號數存儲在整數寄存器和十進制形式的整數中。

·關系操作符

關系操作符是對兩個操作數進行比較,如果比較結果為真則結果為1,如果比較結果為假則結果為0,關系操作符多用與條件判斷。 > < >= <=

如果操作數中有x或z出現,那麼結果為x。

·相等操作符

四種:== != === !== 其中==和!=是比較邏輯值,由於操作數中某些位可能是x,所以比較結果也有可能是x。===和!==是按位比較,所以不會出現結果為x的情況。

·邏輯操作符

&& || !

如果操作數是向量,那麼非0向量被當作邏輯1。

·位操作符

位操作符是對操作數按位進行與、或、非等邏輯操作。

~:一元非 &:二元與 | : 二元或 ^~,~^二元異或或非

·規約操作符

規約操作符的操作數只有一個,並只產生一位結果。共有如下6種:

(1)& 規約與 將操作數的各位進行與操作的結果。

(2)~& 規約與非 與規約與相反。

(3)| 規約或 將操作數的各位進行或操作的結果。

(4)~| 規約或非

(5)^ 規約異或:某個位有x或z,結果為x,操作數有偶數個1,那麼結果為0;否則為1。

·移位操作符

<< >>

·條件操作符

條件操作符是根據條件表達式的值來選擇執行表達式,形式如下:

cond_expr?expr1:expr2

其中,con_expr是條件表達式,他的結果是真或假,expr1和expr2是待選的執行表達式。con_expr為真,選擇執行1,否則選擇執行2。如果con_expr為x或z,兩個都要計算,然後對計算結果按位運算,某一位都為1,則結果為1,都為0,結果為0,否則為x。

·連接操作符

連接操作符是把位於大括弧{}中的兩個或以上用「,」分隔的小表達式按位連接在一起,形成一個大表達式。

·賦值操作符

E. 大端模式、小端模式和MSB、LSB是一個概念嗎兩者有何區別

不是同一個概念。
大端模式:高位元組放入低地址。
小端模式:高位元組放入高地址。
一般在單片機系統中要分清。常用的X86、GCC-AVR是小端模式;而KEIL C51為大端模式。還有其他的編譯環境都有默認的模式,具體看變異環境說明。

MSB是一串數據的最高位。
LSB是一串數據的最低位。
一般在AD轉換的DATASHEET中會提到。

F. 位帶區和位帶別名區在cortex-m3存儲器中哪兩個區域

在CM3中,有兩個區實現了位帶,其中一個是SRAM區的最低1MB范圍,第二個是片內外設區的最低1MB范圍,這兩個區域的地址可以像普通的RAM一樣使用外,還有自己的位帶別名區,位帶別名區把位帶區的每個bit膨脹成一個32位的字。可以通過位帶別名區訪問這些字,就可以達到訪問原始bit的目的。因此位帶別名區的word值只是表示位帶區的一個bit的值,也就是說這個word只有最低位LSB有效。

G. 原始數據文件中,出現MSB first,then LSB是什麼意思

MSB:Most Significant Bit. 「最高有效位」
LSB:Least Significant Bit. 「最低有效位」
MSB first表示,數據採用大端模式,意思就是一個多位元組數據的高位元組在前,低位元組在後。例如0x1234567890ab,它的存儲方式就是12 34 56 78 90 ab.
相反,lsb first就是小端模式,一個多位元組數據的低位元組在前,高位元組在後。上例的存儲就是ab 90 78 56 34 12

H. 溫度感測器數據用十六進制進行存儲時的標志是怎麼確定的

集成溫度感測器AD590及其應用
摘 要:AD590是AD公司利用PN結構正向電流與溫度的關系製成的電流輸出型兩端溫度感測器,文中介紹了AD590的功能和特性,分析了AD590的工作原理,給出了採用AD590設計的...

2 電子技術文章-技術資料
集成溫度感測器AD590及其應用
集成溫度感測器AD590及其應用
瀏覽次數 1978
添加日期 2004-06-26 相關評論
主題: 有沒有數字電流表製作圖 ( 發布人:發布時間:2005-8-22 21:21:37 )
評論內容: 有沒有數字電流表製作圖 請問...
...

3 技術論壇 C++,VC...
集成溫度感測器AD590及其應用[
標題:集成溫度感測器AD590及其應用 htkj
等級:超級版主 文章:199 積分:2698 門派:無門無派
注冊:2005年...集成溫度感測器AD590及其應用集成溫度感測器AD590及其應用點擊瀏覽該文件

溫度感測器,使用范圍廣,數量多,居各種感測器之首。溫度感測器的發展大致經歷了以下3個階段:
1.傳統的分立式溫度感測器(含敏感元件),主要是能夠進行非電量和電量之間轉換。2.模擬集成溫度感測器/控制器。
3.智能溫度感測器。目前,國際上新型溫度感測器正從模擬式想數字式、集成化向智能化及網路化的方向發展。
溫度感測器的分類
溫度感測器按感測器與被測介質的接觸方式可分為兩大類:一類是接觸式溫度感測器,一類是非接觸式溫度感測器。
接觸式溫度感測器的測溫元件與被測對象要有良好的熱接觸,通過熱傳導及對流原理達到熱平衡,這是的示值即為被測對象的溫度。這種測溫方法精度比較高,並可測量物體內部的溫度分布。但對於運動的、熱容量比較小的及對感溫元件有腐蝕作用的對象,這種方法將會產生很大的誤差。
非接觸測溫的測溫元件與被測對象互不接觸。常用的是輻射熱交換原理。此種測穩方法的主要特點是可測量運動狀態的小目標及熱容量小或變化迅速的對象,也可測量溫度場的溫度分布,但受環境的影響比較大。
溫度感測器的發展
1.傳統的分立式溫度感測器——熱電偶感測器
熱電偶感測器是工業測量中應用最廣泛的一種溫度感測器,它與被測對象直接接觸,不受中間介質的影響,具有較高的精度;測量范圍廣,可從-50~1600℃進行連續測量,特殊的熱電偶如金鐵——鎳鉻,最低可測到-269℃,鎢——錸最高可達2800℃。

2.模擬集成溫度感測器
集成感測器是採用硅半導體集成工藝製成的,因此亦稱硅感測器或單片集成溫度感測器。模擬集成溫度感測器是在20世紀80年代問世的,它將溫度感測器集成在一個晶元上、可完成溫度測量及模擬信號輸出等功能。
模擬集成溫度感測器的主要特點是功能單一(僅測量溫度)、測溫誤差小、價格低、響應速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫,不需要進行非線性校準,外圍電路簡單。

2.1光纖感測器

光纖式測溫原理
光纖測溫技術可分為兩類:一是利用輻射式測量原理,光纖作為傳輸光通量的導體,配合光敏元件構成結構型感測器;二是光纖本身就是感溫部件同時又是傳輸光通量的功能型感測器。光纖撓性好、透光譜段寬、傳輸損耗低,無論是就地使用或遠傳均十分方便而且光纖直徑小,可以單根、成束、Y型或陣列方式使用,結構布置簡單且體積小。因此,作為溫度計,適用的檢測對象幾乎無所不包,可用於其他溫度計難以應用的特殊場合,如密封、高電壓、強磁場、核輻射、嚴格防爆、防水、防腐、特小空間或特小工件等等。目前,光纖測溫技術主要有全輻射測溫法、單輻射測溫法、雙波長測溫法及多波長測溫等
2.1.1 全輻射測溫法
全輻射測溫法是測量全波段的輻射能量,由普朗克定律:

測量中由於周圍背景的輻射、測試距離、介質的吸收、發射及透過率等的變化都會嚴重影響准確度。同時輻射率也很難預知。但因該高溫計的結構簡單,使用操作方便,而且自動測量,測溫范圍寬,故在工業中一般作為固定目標的監控溫度裝置。該類光纖溫度計測量范圍一般在600~3000℃,最大誤差為16℃。
2.1.2 單輻射測溫法
由黑體輻射定律可知,物體在某溫度下的單色輻射度是溫度的單值函數,而且單色輻射度的增長速度較溫度升高快得多,可以通過對於單輻射亮度的測量獲得溫度信息。在常用溫度與波長范圍內,單色輻射亮度用維恩公式表示:

2.1.3 雙波長測溫法
雙波長測溫法是利用不同工作波長的兩路信號比值與溫度的單值關系確定物體溫度。兩路信號的比值由下式給出:

際應用時,測得R(T)後,通過查表獲知溫度T。同時,恰當地選擇λ1和λ2,使被測物體在這兩特定波段內,ε(λ1,T)與ε(λ2,T)近似相等,就可得到與輻射率無關的目標真實溫度。這種方法響應快,不受電磁感應影響,抗干擾能力強。特別在有灰塵,煙霧等惡劣環境下,對目標不充滿視場的運動或振動物體測溫,優越性顯著。但是,由於它假設兩波段的發射率相等,這只有灰體才滿足,因此在實際應用中受到了限制。該類儀器測溫范圍一般在600~3000℃,准確度可達2℃。

2.1.4 多波長輻射測溫法
多波長輻射測溫法是利用目標的多光譜輻射測量信息,經過數據處理得到真溫和材料光譜發射率。考慮到多波長高溫計有n個通道,其中第i個通道的輸出信號Si可表示為:

將式(9)~(13)中的任何一式與式(8)聯合,便可通過擬合或解方程的方法求得溫度T和光譜發射率。Coates[8,9]在1988年討論了式(9)、(10)假設下多波長高溫計數據擬合方法和精度問題。1991年Mansoor[10]等總結了多波長高溫計數據擬合方法和精度問題。 該方法有很高的精度,目前歐共體及美國聯合課題組的Hiernaut等人已研究出亞毫米級的6波長高溫計(圖4),用於2000~5000K真溫的測量[11]。哈爾濱工業大學研製成了棱鏡分光的35波長高溫計,並用於燒蝕材料的真溫測量。多波長高溫計在輻射真溫測量中已顯出很大潛力,在高溫,甚高溫,特別是瞬變高溫對象的真溫測量方面,多波長高溫計量是很有前途的儀器。該類儀器測溫范圍廣,可用於600~5000℃溫度區真溫的測量,准確度可達±1%。

2.1.5 結 論
光纖技術的發展,為非接觸式測溫在生產中的應用提供了非常有利的條件。光纖測溫技術解決了許多熱電偶和常規紅外測溫儀無法解決的問題。而在高溫領域,光纖測溫技術越來越顯示出強大的生命力。全輻射測溫法是測量全波段的輻射能量而得到溫度,周圍背景的輻射、介質吸收率的變化和輻射率εT的預測都會給測量帶來困難,因此難於實現較高的精度。單輻射測溫法所選波段越窄越好,可是帶寬過窄會使探測器接收的能量變得太小,從而影響其測量准確度。多波長輻射測溫法是一種很精確的方法,但工藝比較復雜,且造價高,推廣應用有一定困難。雙波長測溫法採用波長窄帶比較技術,克服了上述方法的諸多不足,在非常惡劣的條件下,如有煙霧、灰塵、蒸汽和顆粒的環境中,目標表面發射率變化的條件下,仍可獲得較高的精度
2.2半導體吸收式光纖溫度感測器是一種傳光型光纖溫度感測器。所謂傳光型光纖溫度感測器是指在光纖感測系統中,光纖僅作為光波的傳輸通路,而利用其它如光學式或機械式的敏感元件來感受被測溫度的變化。這種類型主要使用數值孔徑和芯徑大的階躍型多模光纖。由於它利用光纖來傳輸信號,因此它也具有光纖感測器的電絕緣、抗電磁干擾和安全防爆等優點,適用於傳統感測器所不能勝任的測量場所。在這類感測器中,半導體吸收式光纖溫度感測器是研究得比較深入的一種。
半導體吸收式光纖溫度感測器由一個半導體吸收器、光纖、光發射器和包括光探測器的信號處理系統等組成。它體積小,靈敏度高,工作可靠,容易製作,而且沒有雜散光損耗。因此應用於象高壓電力裝置中的溫度測量等一些特別場合中,是十分有價值的。
B 半導體吸收式光纖溫度感測器的測溫原理
半導體吸收式光纖溫度感測器是利用了半導體材料的吸收光譜隨溫度變化的特性實現的。根據 的研究,在 20~972K 溫度范圍內,半導體的禁帶寬度能量Eg 與
溫度T 的關系為
"

3.智能溫度感測器
智能溫度感測器(亦稱數字溫度感測器)是在20世紀90年代中期問世的。它是微電子技術、計算機技術和自動測試技術(ATE_)的結晶。目前,國際上已開發出多種智能溫度感測器系列產品。智能溫度感測器內部包含溫度感測器、A/D感測器、信號處理器、存儲器(或寄存器)和介面電路。有的產品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。
智能溫度感測器能輸出溫度數據及相關的溫度控制量,適配各種微控制器(MCU),並且可通過軟體來實現測試功能,即智能化取決於軟體的開發水平。

3.1數字溫度感測器。
隨著科學技術的不斷進步與發展,溫度感測器的種類日益繁多,數字溫度感測器更因適用於各種微處理器介面組成的自動溫度控制系統具有可以克服模擬感測器與微處理器介面時需要信號調理電路和A/D轉換器的弊端等優點,被廣泛應用於工業控制、電子測溫計、醫療儀器等各種溫度控制系統中。其中,比較有代表性的數字溫度感測器有DS1820、MAX6575、DS1722、MAX6635等。
一、DS1722的工作原理
1 、DS1722的主要特點
DS1722是一種低價位、低功耗的三匯流排式數字溫度感測器,其主要特點如表1所示。
2、DS1722的內部結構
數字溫度感測器DS1722有8管腳m-SOP封裝和8管腳SOIC封裝兩種,其引腳排列如圖1所示。它由四個主要部分組成:精密溫度感測器、模數轉換器、SPI/三線介面電子器件和數據寄存器,其內部結構如圖2所示。

開始供電時,DS1722處於能量關閉狀態,供電之後用戶通過改變寄存器解析度使其處於連續轉換溫度模式或者單一轉換模式。在連續轉換模式下,DS1722連續轉換溫度並將結果存於溫度寄存器中,讀溫度寄存器中的內容不影響其溫度轉換;在單一轉換模式,DS1722執行一次溫度轉換,結果存於溫度寄存器中,然後回到關閉模式,這種轉換模式適用於對溫度敏感的應用場合。在應用中,用戶可以通過程序設置解析度寄存器來實現不同的溫度解析度,其解析度有8位、9位、10位、11位或12位五種,對應溫度解析度分別為1.0℃、0.5℃、0.25℃、0.125℃或0.0625℃,溫度轉換結果的默認解析度為9位。DS1722有摩托羅拉串列介面和標准三線介面兩種通信介面,用戶可以通過SERMODE管腳選擇通信標准。
3、DS1722溫度操作方法
感測器DS1722將溫度轉換成數字量後以二進制的補碼格式存儲於溫度寄存器中,通過SPI或者三線介面,溫度寄存器中地址01H和02H中的數據可以被讀出。輸出數據的地址如表2所示,輸出數據的二進制形式與十六進制形式的精確關系如表3所示。在表3中,假定DS1722 配置為12位解析度。數據通過數字介面連續傳送,MSB(最高有效位)首先通過SPI傳輸,LSB(最低有效位)首先通過三線傳輸。
4、DS1722的工作程序
DS1722的所有的工作程序由SPI介面或者三匯流排通信介面通過選擇狀態寄存器位置適合的地址來完成。表4為寄存器的地址表格,說明了DS1722兩個寄存器(狀態和溫度)的地址。
1SHOT是單步溫度轉換位,SD是關閉斷路位。如果SD位為「1」,則不進行連續溫度轉換,1SHOT位寫入「1」時,DS1722執行一次溫度轉換並且把結果存在溫度寄存器的地址位01h(LSB)和02h(MSB)中,完成溫度轉換後1SHOT自動清「0」。如果SD位是「0」,則進入連續轉換模式,DS1722將連續執行溫度轉換並且將全部的結果存入溫度寄存器中。雖然寫到1SHOT位的數據被忽略,但是用戶還是對這一位有讀/寫訪問許可權。如果把SD改為「1」,進行中的轉換將繼續進行直至完成並且存儲結果,然後裝置將進入低功率關閉模式。
感測器上電時默認1SHOT位為「0」。R0,R1,R2為溫度解析度位,如表5所示(x=任意值)。用戶可以讀寫訪問R2,R1和R0位,上電默認狀態時R2=「0」,R1=「0」,R0=「1」(9位轉換)。此時,通信口保持有效,用戶對SD位有讀/寫訪問許可權,並且其默認值是「1」(關閉模式)。
二、智能溫度感測器DS18B20的原理與應用
DS18B20是美國DALLAS半導體公司繼DS1820之後最新推出的一種改進型智能溫度感測器。與傳統的熱敏電阻相比,他能夠直接讀出被測溫度並且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式。可以分別在93.75 ms和750 ms內完成9位和12位的數字量,並且從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線(單線介面)讀寫,溫度變換功率來源於數據匯流排,匯流排本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統結構更趨簡單,可靠性更高。他在測溫精度、轉換時間、傳輸距離、解析度等方面較DS1820有了很大的改進,給用戶帶來了更方便的使用和更令人滿意的效果。
2DS18B20的內部結構
DS18B20採用3腳PR35封裝或8腳SOIC封裝,其內部結構框圖如圖1所示。

(1) 64 b閃速ROM的結構如下:

開始8位是產品類型的編號,接著是每個器件的惟一的序號,共有48位,最後8位是前56位的CRC校驗碼,這也是多個DS18B20可以採用一線進行通信的原因。
(2) 非易市失性溫度報警觸發器TH和TL,可通過軟體寫入用戶報警上下限。
(3) 高速暫存存儲器
DS18B20溫度感測器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM。後者用於存儲TH,TL值。數據先寫入RAM,經校驗後再傳給E2RAM。而配置寄存器為高速暫存器中的第5個位元組,他的內容用於確定溫度值的數字轉換解析度,DS18B20工作時按此寄存器中的解析度將溫度轉換為相應精度的數值。該位元組各位的定義如下:

低5位一直都是1,TM是測試模式位,用於設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動,R1和R0決定溫度轉換的精度位數,即是來設置解析度,如表1所示(DS18B20出廠時被設置為12位)。

由表1可見,設定的解析度越高,所需要的溫度數據轉換時間就越長。因此,在實際應用中要在解析度和轉換時間權衡考慮。
高速暫存存儲器除了配置寄存器外,還有其他8個位元組組成,其分配如下所示。其中溫度信息(第1,2位元組)、TH和TL值第3,4位元組、第6~8位元組未用,表現為全邏輯1;第9位元組讀出的是前面所有8個位元組的CRC碼,可用來保證通信正確。

當DS18B20接收到溫度轉換命令後,開始啟動轉換。轉換完成後的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1,2位元組。單片機可通過單線介面讀到該數據,讀取時低位在前,高位在後,數據格式以0062 5 ℃/LSB形式表示。溫度值格式如下:

對應的溫度計算:當符號位S=0時,直接將二進制位轉換為十進制;當S=1時,先將補碼變換為原碼,再計算十進制值。表2是對應的一部分溫度值。

DS18B20完成溫度轉換後,就把測得的溫度值與TH,TL作比較,若T>TH或T<TL,則將該器件內的告警標志置位,並對主機發出的告警搜索命令作出響應。因此,可用多隻DS18B20同時測量溫度並進行告警搜索。
(4) CRC的產生
在64 b ROM的最高有效位元組中存儲有循環冗餘校驗碼(CRC)。主機根據ROM的前56位來計算CRC值,並和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM數據是否正確。

3DS18B20的測溫原理
DS18B20的測溫原理如圖2所示,圖中低溫度系數晶振的振盪頻率受溫度的影響很小〔1〕,用於產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震盪頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入,圖中還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振盪器產生的時鍾脈沖後進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振盪器來決定,每次測量前,首先將-55 ℃所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器1和溫度寄存器被預置在-55 ℃所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。圖2中的斜率累加器用於補償和修正測溫過程中的非線性,其輸出用於修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。
另外,由於DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統對DS18B20的各種操作必須按協議進行。操作協議為:初始化DS18B20(發復位脈沖)→發ROM功能命令→發存儲器操作命令→處理數據。

I. SQL建立存儲過程更新存儲過程 提示未提供該參數

create procere up_lsb
@零食編號 char(5),@售價 int
as update 零食表 set 售價=@售價 where 零食編號=@零食編號
go

J. 什麼是MSB、LSB和大端、小端是否是一個概念

MSB是Most Significant Bit的縮寫,最高有效位。在二進制數中,MSB是最高加權位。與十進制數字中最左邊的一位類似。通常,MSB位於二進制數的最左側,LSB位於二進制數的最右側。
LSB(Least Significant Bit),意為最低有效位;MSB(Most Significant Bit),意為最高有效位。
計算機業界,端表示數據在存儲器中的存放順序。大端與小端是兩種數據的存儲方式!
大端方式將高位存放在低地址,小端方式將高位存放在高地址。(比如將16位數0x1234存放在地址0x00,0x01兩個連續地址中時,按照大端方式應該0x00中存放0x12,而0x01中存放0x34,小端方式0x00中存放0x34,而x01中存放0x12)

熱點內容
柳工挖機密碼多少合適 發布:2024-05-17 11:00:40 瀏覽:187
android工程嘆號 發布:2024-05-17 10:56:21 瀏覽:480
在蘋果手機應用怎麼比安卓貴 發布:2024-05-17 10:56:20 瀏覽:547
賽歐313配置怎麼樣 發布:2024-05-17 10:43:16 瀏覽:988
c語言預算 發布:2024-05-17 10:43:16 瀏覽:492
推薦對稱加密演算法 發布:2024-05-17 10:43:15 瀏覽:822
有存儲功能計算器 發布:2024-05-17 10:42:34 瀏覽:118
小米賬號密碼保險箱在哪裡 發布:2024-05-17 10:17:00 瀏覽:752
抖音引流腳本推薦 發布:2024-05-17 10:11:16 瀏覽:724
sql資料庫數據路徑 發布:2024-05-17 10:00:25 瀏覽:132