在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產(chǎn)品分類

當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 溫度傳感器

類型分類:
科普知識
數(shù)據(jù)分類:
溫度傳感器

i2c溫度傳感器:IIC實現(xiàn)溫度傳感器(TMP1XX,LM75X)測量與顯示

發(fā)布日期:2022-10-09 點擊率:1420


i2c溫度傳感器:IIC實現(xiàn)溫度傳感器(TMP1XX,LM75X)測量與顯示

IIC調(diào)試學(xué)習(xí)

由于項目要用到溫度傳感器,所以就挑選了TI的一款溫度傳感器Tmp102,這款溫度傳感器和TI的很多溫度傳感器都類似,比如Tmp112,lm75,lm75a等。這款溫度傳感器所用到的通信方式為IIC,之前僅僅了解過IIC并沒有進行實際的操作,借著這個機會進行實際的IIC運用和學(xué)習(xí)。
其中IIC的基礎(chǔ)知識點就不詳細(xì)說明了,想要進行IIC的編程和學(xué)習(xí),首先學(xué)習(xí)的應(yīng)該是他的基本知識,只有知道了他的基礎(chǔ)知識才能夠進行有條不紊的應(yīng)用。

我用的單片機是STM32F103ZET6,IIC為軟件的形式是實現(xiàn)

IIC協(xié)議軟件實現(xiàn)
產(chǎn)生開始信號

2.產(chǎn)生停止信號

3.主機等待從機應(yīng)答

4.主機不產(chǎn)生應(yīng)答

5.主機產(chǎn)生應(yīng)答

6.IIC發(fā)送一個字節(jié)

6.IIC讀一個字節(jié)

溫度傳感器實現(xiàn)
1.溫度傳感器初始化

2.溫度傳感器讀取一個字節(jié)

3.溫度傳感器讀取一個字

4.寫入一個字節(jié)

5.寫入一個字

主函數(shù)

實際測試效果

圖片:

代碼下載
鏈接: //download.csdn.net/download/little_ox/.
i2c溫度傳感器:IIC實現(xiàn)溫度傳感器(TMP1XX,LM75X)測量與顯示  第1張

i2c溫度傳感器:linux下的I2C溫度傳感器應(yīng)用

需求:
? 讀嵌入式溫度傳感器的值。

已知條件:
*溫度傳感器已經(jīng)在主板上焊好了。
*溫度傳感器型號為lm75
*linux自帶驅(qū)動,在linux-2.6.20.21/drivers/hwmon/lm75.c
*溫度傳感器的電路

?

問題與解答:
*linux自帶的驅(qū)動怎么用的?

看lm75.c的代碼,發(fā)現(xiàn)此溫度傳感器用的是I2C的總線。
代碼中看到i2c驅(qū)動的接口定義如下,和以前做過的字符型驅(qū)動的接口不一樣。
static struct i2c_driver lm75_driver = {
.driver = {
 .name = "lm75",
},
.id  = I2C_DRIVERID_LM75,
.attach_adapter = lm75_attach_adapter,
.detach_client = lm75_detach_client,
};

在linux Device Driver這本書中搜,在此書中無介紹。

?

講得還不錯。尤其是后者對路。I2C在讀主板上的傳感器的應(yīng)用上應(yīng)用比較多,但它是在比較新的版本的LINUX內(nèi)核版本中才加進來的,難怪LDD這本書中沒有講了。

再看上面數(shù)據(jù)結(jié)構(gòu)中的回調(diào)函數(shù),具體干什么就比較清楚了。根據(jù)函數(shù)內(nèi)容得知,驅(qū)動在加載的時候會自動檢測I2C總線上的設(shè)備,因此會自動發(fā)現(xiàn)溫度傳感器。lm75_update_device()是對溫度傳感器進行輪詢讀數(shù)時用的函數(shù)。

根據(jù)文章指引,看設(shè)備的/sys/bus/i2c/。下面已經(jīng)有了lm75傳感器的數(shù)據(jù),直接讀是有數(shù)據(jù)的,而且數(shù)據(jù)會變化,如下:

root:~# cat /sys/bus/i2c/devices/0-0048/temp1_input
-

*讀數(shù)為負(fù)。什么樣的讀數(shù)才是正常的?
在驅(qū)動代碼里增加了調(diào)試信息,打印出傳感器上讀的寄存器的值,和文件系統(tǒng)上讀出的不一樣。
看 linux-2.6.20.21/documentation/hwmon/lm75,了解到lm75是一個工業(yè)標(biāo)準(zhǔn)。所以linux里的lm75驅(qū)動是支持多種溫度傳感器的。

看了一下板子上的芯片,是lm75A.在網(wǎng)上下載了一個datasheet,上面顯示一共9-bit來控制讀數(shù)。頭位為正負(fù),后面8-bit為值。
在驅(qū)動代碼里添加調(diào)試信息,只打印寄存器值的后8-bit,放到溫度實驗箱里測試的結(jié)果看起來滿合理的。
@drivers/base/sys.c
static ssize_t
sysdev_show(struct kobject * kobj, struct attribute * attr, char * buffer)
{
struct sys_device * sysdev = to_sysdev(kobj);
struct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr);
if (sysdev_attr->show)
return sysdev_attr->show(sysdev, buffer);
return -EIO;
}

?

?static DEVICE_ATTR(temp1_input, S_IRUGO, show_temp_input, NULL);
?

?

struct device_attribute {
struct attribute attr;
ssize_t (*show)(struct device *dev, struct device_attribute *attr,
char *buf);
ssize_t (*store)(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count);
};
#define show(value) /
static ssize_t show_##value(struct device *dev, struct device_attribute *attr, char *buf) /
{ /
struct lm75_data *data = lm75_update_device(dev); /
return sprintf(buf, "%d/n", LM75_TEMP_FROM_REG(data->value)); /
  ///sys/bus/i2c/devices/0-0048/temp1_input里面的東西就是通過上面打印到buffer中去的
}
show(temp_input);

?

? show_temp_input); //@ show_##value()?

lm75_update_device(dev);?

然后把內(nèi)核的lm75.h的代碼修正(只讀后面8個比特并根據(jù)大小判斷正負(fù)),測試通過。

?

?

?

i2c溫度傳感器:開發(fā)板溫度傳感器

上一篇教程挖了一個NEXYS4 開發(fā)板中MicroSD的天坑,發(fā)現(xiàn)難度過高,打算放到之后再完成,這一篇來電不這么重口味的溫度傳感器配置。在NEXYS 4開發(fā)板上的溫度傳感器使用的是I2C接口,這個接口很常見,可以寫一個模塊留著以后使用

FPGA基礎(chǔ)入門【15】開發(fā)板I2C溫度傳感器配置
開發(fā)板溫度傳感器I2C接口簡介ADT7420簡介寄存器
 邏輯設(shè)計I2C控制模塊UART串口控制模塊頂層邏輯
 模擬仿真Testbench仿真腳本仿真結(jié)果
 編譯測試結(jié)果
 總結(jié)

開發(fā)板溫度傳感器
NEXYS 4文檔中寫著它使用的溫度傳感器名字是Analog Device ADT7420,提供16位精度,一般精確到0.25攝氏度,用I2C接口和FPGA連接如下:

SCL和SDA是I2C接口,用來和FPGA連接??梢钥吹剿挥袃筛€,非常精簡,一般用來和不太復(fù)雜的外圍設(shè)備連接。并且它還有地址識別,因此1個master設(shè)備可以同時和多個slave設(shè)備相連。剩下兩條線表示溫度溢出(過高或者過低),以及溫度高到有危險的程度。

ADT7420的文檔鏈接:ADT7420

I2C接口簡介
從ADT7420的文檔中讀到,它的時鐘需求是400kHz以下,我們采用200kHz,需要把系統(tǒng)時鐘100MHz減慢500倍

和這款芯片相關(guān)的I2C的時序如下:
寫單字節(jié)數(shù)據(jù)

寫雙字節(jié)數(shù)據(jù):

從配置寄存器中讀取數(shù)據(jù):

讀取溫度數(shù)據(jù):

在SCL為高電平時,拉低SDA是開始信號在SCL為高電平時,拉高SDA是結(jié)束信號Master設(shè)備在讀回信號的最后傳出低電平表示,再來一個,高電平表示,夠了夠了不用再傳了
從這個時序圖看出,I2C讀寫控制參數(shù)有四個:讀寫控制、寄存器地址、讀寫數(shù)據(jù)長度、寫的8位數(shù)據(jù)(每完成一次輸出就更新一次)

ADT7420簡介
網(wǎng)上很多Arduino用的溫度傳感器模塊用的就是這款芯片,引腳如下:

其中SCL和SDA是和FPGA相連的I2C接口,CT和INT是臨界溫度警告,VDD和GND是電源和接地,A0和A1是低地址位,在芯片較少時可以直接通過連線來同時連接幾個芯片。

NEXYS 4文檔中說要制定slave地址0x4B來和傳感器通信,通過前面的I2C接口介紹可以看出,開發(fā)板把A0和A1兩個引腳都拉高了。

ADT7420在上電后會自動進入簡單溫度傳感器模式,不需要初始化配置。設(shè)備地址寄存器一開始被指向溫度數(shù)據(jù)的高位MSB,因此不用制定地址讀出來的第一個字節(jié)就是溫度的MSB,第二個字節(jié)是LSB,組成需要的16位結(jié)果。因此上面的時序圖中讀取溫度的兩步,如果一開始沒有做別的操作,可以把寫地址省略。把16位結(jié)果右移3位,再除以16,就可以得到攝氏溫度

寄存器
ADT7420的寄存器全家福及其默認(rèn)值如下:

這里我們只關(guān)注溫度高低位、狀態(tài)和配置四個寄存器

溫度高低位:

狀態(tài)寄存器,復(fù)位后要先等這個寄存器的最高位變成0:

配置寄存器:

邏輯設(shè)計
首先需要一個I2C的控制邏輯模塊I2C_transmitter.v,然后就可以配置一個串口控制器,隨時讀取寄存器與數(shù)據(jù)。這里我們把之前做過的串口模塊集成一下,加個FIFO以便之后再使用

這次的代碼比較長,要把之前做過的一些東西做個綜合

I2C控制模塊
從前面的I2C時序邏輯可以分析,定義一段I2C數(shù)據(jù)傳輸參數(shù)有這么幾個:寄存器地址、讀寫選擇、讀寫長度、需要寫入的8位數(shù)據(jù)。

新建一個代碼文件I2C_transmitter.v,代碼如下:

頂層接口配置,前面分析過I2C必要參數(shù),還需要一些其他的控制信號

設(shè)備地址dev_addr,這個應(yīng)該連到固定值0x4B讀寫控制rdh_wrl,高電平代表讀,低電平代表寫寄存器地址reg_addr操作準(zhǔn)備信號ready,它的上升沿代表數(shù)據(jù)準(zhǔn)備完成,可以進行I2C傳輸輸出8位數(shù)據(jù)dout傳輸長度dout_length輸出確認(rèn)dout_ack,表示一個byte已經(jīng)輸出完成,可以更新到下一個byte輸入8位數(shù)據(jù)din輸入準(zhǔn)備信號din_valid,每當(dāng)此信號升高,就有一個byte輸入在din接口準(zhǔn)備好

生成I2C接口需要的100kHz時鐘,用I2C_SCL_en來使能控制

實時監(jiān)測SCL的上升沿和下降沿,由于SDA是雙向的信號,讀的時候用上升沿,寫的時候用下降沿,經(jīng)常需要切換

探測ready信號的上升沿以開始I2C傳輸

狀態(tài)機配置

偵測到ready上升沿,在SCL為高的情況下拉低SDA表示開始(Start by master),這也就是SCL生成器在復(fù)位情況下為高的原因

輸出設(shè)備地址0x4B,帶上最低位為1表示寫入,經(jīng)歷9個時鐘周期,最后一個上升沿觀察設(shè)備是否傳回一個ack信號

寫入寄存器地址,根據(jù)讀寫控制信號進入讀流程或者寫流程

當(dāng)需要讀數(shù)據(jù)時,需要再次進行Start by master,拉高SDA后,在SCL的高電平時拉低SDA

讀流程還需要再寫一次設(shè)備地址,并把最后一位改成高電平以表示讀取

寫操作,將一個byte輸出給設(shè)備,獲得ack信號后計算是否已經(jīng)輸出到指定長度,如果已經(jīng)達到則進入結(jié)束流程

讀操作,從設(shè)備讀取一個byte后,如果還沒有讀取足夠數(shù)據(jù),則在第九個時鐘周期輸出一個低電平作為ack信號,否則輸出一個高電平作為no ack信號,表示master已經(jīng)讀取了足夠的數(shù)據(jù)

結(jié)尾操作,關(guān)閉SCL生成器,在SCL的高電平拉高SDA(Stop by master)

UART串口控制模塊
看過前面教程的人可能會覺得奇怪,為什么還需要寫UART串口控制的模塊,明明已經(jīng)有它的邏輯代碼了。問題是ADT7420的I2C接口(包括不少其他芯片的I2C)使用的時鐘是400kHz以下,一般比UART串口用的波特率要高很多,如果繼續(xù)用之前的簡單邏輯會出現(xiàn)串口數(shù)據(jù)還沒送完,新的數(shù)據(jù)就已經(jīng)進來的情況。

這里我們改進一下串口邏輯,添加一個同步先入先出隊列(First in first out, FIFO)。FIFO在FPGA設(shè)計中非常常見,通過調(diào)用少量存儲器平衡寫入和讀出兩端的速度差。同步是指讀寫用的是同一個時鐘,讀寫使能可以在不同的時間段激活,對于高速時鐘控制低速接口很有用。異步FIFO是用在讀寫用的是不同時鐘的情況下(不是讀寫使能信號),比起同步FIFO,它的難點在于跨越了時鐘域,這部分有很多細(xì)節(jié),以后再寫。

同步FIFO的代碼syn_fifo.v如下:

頂層接口定義,這里我們用了模塊定義參數(shù),在名稱后面加上井號#與一對括號,在其中定義一些與該模塊有關(guān)的參數(shù),比如FIFO的數(shù)據(jù)寬度和地址長度,這樣在調(diào)用相似模塊時不用寫多個模塊,只需要在調(diào)用時候配置不同參數(shù)即可

接口比較簡單,rd_en讀使能的高電平時讀取一個FIFO數(shù)據(jù)到data_out,wr_en寫使能的高電平時寫一個data_in到FIFO中,empty和full分表代表FIFO空了或者滿了,避免出現(xiàn)錯誤

最大深度由地址寬度決定,定義RAM的讀指針和寫指針(可循環(huán)),加上一個FIFO有效計數(shù)器,用來觀察FIFO是空還是滿。

這里data_ram是RAM的核心,定義比較特殊,前面的寬度代表每個地址對應(yīng)的數(shù)據(jù)寬度,后面的是定義它的深度

定義一個RAM,通過操控讀寫的地址來讀寫數(shù)據(jù)

有了FIFO的代碼,我們可以改進之前的串口控制代碼為UART_transmitter.v:

頂層定義,除了UART必要的接口外,加上dout、din以及他們的準(zhǔn)備信號。這些信號都是十六進制數(shù),每4位都是一位數(shù)

加入前面寫好的FIFO代碼,調(diào)用時參數(shù)的配置可以參考下面的代碼

和之前差不多的串口發(fā)送端代碼,去除了接收回傳,這部分由調(diào)用串口模塊的頂層做

和之前差不多的串口接收邏輯,加入了轉(zhuǎn)換成16進制數(shù)的邏輯,每次輸出一個4位的十六進制數(shù)

頂層邏輯
做好兩個接口的準(zhǔn)備工作,開始寫頂層的temperature.v:

頂層定義,時鐘復(fù)位和LED,I2C接口以及UART串口接口

將ADT7420另外兩個引腳直接連接到LED上

調(diào)用前面寫好的I2C控制器

調(diào)用前面寫好的UART串口控制模塊

根據(jù)串口接收到的指令,進行不同的讀寫操作

0讀取溫度數(shù)據(jù),傳回四個byte1讀取ADT7420的狀態(tài)寄存器,期望是0x002讀取溫度上限高位寄存器3把溫度上限設(shè)置為28攝氏度4把溫度上限改回默認(rèn)的64攝氏度
另外把串口接收到的數(shù)據(jù)重傳回PC,用來顯示自己打入的命令,由于收到的是4位,而輸出是8位,在高位加4位0

模擬仿真
和之前一樣,要寫一個Testbench和一個仿真腳本來仿真

Testbench
代碼tb_temperature如下:

復(fù)位以后,參考I2C的時序,接收或者傳回生成的數(shù)據(jù),使用指令0,讀取溫度數(shù)據(jù)

仿真腳本
寫腳本sim.do如下:

調(diào)用前面全部的代碼,打開ModelSim后轉(zhuǎn)到腳本在的路徑,使用命令do sim.do即可開始仿真。

仿真時可以添加想要的信號到waveform窗口中觀察,然后可以保存為wave.do,這樣下次可以通過調(diào)用它來加入一樣的信號,節(jié)省一個一個加入的時間,這時你可以把sim.do中被#注釋掉的那行去注釋

仿真結(jié)果
調(diào)用仿真腳本得到的結(jié)果如下:

和前面介紹的I2C時序比較可以看出是符合預(yù)期的,當(dāng)中的一些藍(lán)色和紅色是由于Testbench畢竟不是真實芯片,無法返回完美的確認(rèn)信號ack,之后可以用ChipScope來觀察I2C信號

編譯測試
新建一個叫temperature的project,配置為開發(fā)板NEXYS4。添加代碼文件temperature.v、I2C_transmitter.v、UART_transmitter.v和syn_fifo.v

下一步加入約束constraint文件temperature.xdc,同樣這是用標(biāo)準(zhǔn)模板取自己需要部分修改出來的(NEXYS 4 DDR Master XDC):

到這里可以點擊 Run Synthesis做綜合,幾分鐘完成后用Set Up Debug配置ChipScope,加入和I2C有關(guān)的接口SCL和SDA(進出兩個口),并設(shè)置長度為:

下面就可以Run Implementation和Generate Bitstream生成bitstream了。

和前面的教程一樣,USB線連接NEXYS4板子,開啟Hardware Manager,然后auto連接上板子,Program Device燒寫進程序,注意Debug probes file有對應(yīng)的ltx文件。

結(jié)果
打開Putty串口接口,具體配置可以參考教程系列11,分別打入幾個指令后收到結(jié)果如下:

指令00讀取溫度,返回0x0DC8,根據(jù)溫度的計算方式,右移3位后除以16,得到溫度27.5625攝氏度,當(dāng)然精度沒有這么高,只是計算的結(jié)果指令01讀取狀態(tài)寄存器,如同預(yù)料的返回0x00指令02讀取溫度上限的高位,返回了默認(rèn)值0x20,表示64攝氏度指令03寫溫度上限的高位為0x0E,表示28攝氏度,不會返回數(shù)據(jù)再用指令02讀取溫度上限高位,返回的是剛剛寫入的0x0E指令04把溫度上限的高位寫回0x20再用指令02,讀回的是0x20
調(diào)用ChipScope,設(shè)置trigger為SCL的下降沿,分別在putty打入指令0和3顯示如下:

這個波形圖基本展示了I2C讀和寫的時序圖,就算不是使用FPGA,應(yīng)該也可以參考這兩張圖。

總結(jié)
沒能填上上期說的SD卡的坑,那部分要放到最后。下一篇要介紹板載的加速度傳感器accelerometer ADXL362
i2c溫度傳感器:IIC實現(xiàn)溫度傳感器(TMP1XX,LM75X)測量與顯示  第2張

i2c溫度傳感器:數(shù)字溫度傳感器系統(tǒng)接口:SPI、I2C 、SMBus如何選

相關(guān)推薦

羅姆公司的ML5238電壓采集芯片問題

發(fā)表于 2018-04-09 16:58
?
66次閱讀

溫度傳感器I2C的總線應(yīng)用及設(shè)計

需求:讀嵌入式溫度傳感器的值。已知條件:*溫度傳感器已經(jīng)在主板上焊好了。*溫度傳感器型號為lm75*...

發(fā)表于 2018-04-07 07:11
?
1147次閱讀

基于Proteus的SPI接口的設(shè)計與實現(xiàn)方案資...

基于Proteus的SPI接口的設(shè)計與實現(xiàn) 現(xiàn)在,人們生活中的每個角落都有 嵌入式 設(shè)備的存在,比如...

發(fā)表于 2018-04-05 09:31
?
61次閱讀

at24c04中文資料匯總(at24c04引腳圖...

本文主要介紹了at24c04中文資料匯總(at24c04引腳圖及功能_工作原理及電路圖)。AT24C...

發(fā)表于 2018-04-04 16:26
?
107次閱讀

詳細(xì)講解RT-Thread I2C設(shè)備驅(qū)動框架及...

本應(yīng)用筆記以驅(qū)動I2C接口的6軸傳感器MPU6050為例,說明了如何使用I2C設(shè)備驅(qū)動接口開發(fā)應(yīng)用程...

發(fā)表于 2018-03-29 10:52
?
203次閱讀

新手關(guān)于I2C,master轉(zhuǎn)slave的一些問題

發(fā)表于 2018-03-26 10:54
?
199次閱讀

淺淡CAN總線,CAN總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

CAN 總線網(wǎng)絡(luò)是一種真正的多主機網(wǎng)絡(luò),在總線處于空閑狀態(tài)時,任何一個節(jié)點單元都可以申請成為主機,向...

發(fā)表于 2018-03-22 11:13
?
504次閱讀

基于I2C接口與上級無線傳感器網(wǎng)絡(luò)通信的環(huán)境監(jiān)測...

本項目開發(fā)了一個使用 Xilinx 公司的 SPARTAN3A-DSP FPGA 作為目標(biāo)開發(fā)板,采...

發(fā)表于 2018-03-21 16:46
?
267次閱讀

淺談I2C總線,I2C接口和SPI接口的作用相同

SDA 和 SCL 都是雙向的。SPI 總線有兩根單獨的線,分別用于兩個方向的通信,而 I2C 總線...

發(fā)表于 2018-03-21 10:24
?
2572次閱讀

根據(jù)時鐘極性和時鐘相位的不同,SPI有四個工作模...

串行外圍設(shè)備接口是由 Motorola 公司開發(fā)的,用來在微控制器和外圍設(shè)備芯片之間提供一個低成本、...

發(fā)表于 2018-03-20 11:43
?
514次閱讀

單片機與數(shù)字溫度接口及程序設(shè)計分析

數(shù)字式溫度傳感器(簡稱SWC),又稱集成數(shù)字脈沖式感溫探頭,是一種新型的三端溫度變送器件。該器件采用...

發(fā)表于 2018-03-17 11:40
?
472次閱讀

串行SPI Nor Flash啟動流程

關(guān)于外部Flash的代碼安全問題和代碼在外部執(zhí)行對整個系統(tǒng)性能的影響,RT105x的加密啟動(HA...

發(fā)表于 2018-03-16 09:32
?
650次閱讀

模擬SPI數(shù)據(jù)傳輸?shù)淖x寫程序(時鐘芯片DS130...

在時鐘的上升沿是寫入數(shù)據(jù),是從低位開始寫入。還有一個需要注意的地方是寫字節(jié)和讀字節(jié)連接處,從圖中可以...

發(fā)表于 2018-03-14 14:46
?
231次閱讀

代碼分析:九軸姿態(tài)傳感器是無人機中必備重要器件。

SPI連接的是型號為BMI160的六軸加速度計和陀螺儀傳感器。具體是如何通過寄存器的讀取加速度值的我...

發(fā)表于 2018-03-12 11:29
?
630次閱讀

教你分清楚SPI、I2C、UART、I2S、GP...

一個由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個節(jié)點。實際應(yīng)用中,節(jié)點數(shù)目受網(wǎng)絡(luò)硬件的電氣特性...

發(fā)表于 2018-03-12 08:53
?
692次閱讀

SPI通信總線的原理及工作過程簡單分析

SPI, 串行外圍設(shè)備接口。高速的,全雙工的,同步通信總線。有四個引腳:SDI(數(shù)據(jù)輸入),SDO(...

發(fā)表于 2018-03-08 09:39
?
709次閱讀

高通gpio模擬i2c

發(fā)表于 2018-03-07 09:11
?
467次閱讀

CAN總線,I2C,USB等的FPGA實現(xiàn)源碼

發(fā)表于 2018-02-27 12:53
?
315次閱讀

深度解讀SPI特點、機制和驅(qū)動以及其舉例

SPI,是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設(shè)備...

發(fā)表于 2018-02-19 09:58
?
1712次閱讀

MSP430f249使用SPI通信遇到問題

發(fā)表于 2018-02-18 15:12
?
890次閱讀

DSP虛擬I2C軟件包的應(yīng)用設(shè)計案例

TMS320C2XX系列產(chǎn)品,基本包括4根通用I/O口線I/O0~I/O4(由于XF僅能作為輸入口線...

發(fā)表于 2018-02-12 16:35
?
271次閱讀

基于S3C2410的串行外圍設(shè)備接口SPI實現(xiàn)數(shù)...

串行外圍設(shè)備 接口 SPI (serial peripheral interface)總線技術(shù)是Mo...

發(fā)表于 2018-02-07 09:16
?
150次閱讀

分享一個用計算機直接通過串口驅(qū)動DS1621測溫...

今天發(fā)現(xiàn)的這個實驗作品非常經(jīng)典,用計算機直接通過串口驅(qū)動DS1621測溫,整個測溫模塊精簡之至,沒有...

發(fā)表于 2018-02-05 16:55
?
1268次閱讀

如何使用單片機I/O口模擬I2C信號讀取SHT30溫濕度。

發(fā)表于 2018-02-05 09:02
?
794次閱讀

SPI接口的概念,數(shù)據(jù)傳輸, 時鐘極性、時鐘相位...

SPI(Serial Peripheral Interface,串行外設(shè)接口)是Motorola公司...

發(fā)表于 2018-02-05 08:49
?
5138次閱讀

spi讀取sd卡數(shù)據(jù)例程

SD 卡有兩個可選的通訊協(xié)議:SD 模式和 SPI模式 SD 模式是SD 卡標(biāo)準(zhǔn)的讀寫方式,但是在選...

發(fā)表于 2018-02-02 13:55
?
105次閱讀

SPI的MRST和SDO怎么接

發(fā)表于 2018-02-02 10:47
?
291次閱讀

i2s和i2c的區(qū)別

I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總...

發(fā)表于 2018-01-29 16:47
?
620次閱讀

數(shù)字溫度傳感器全方面分析介紹

數(shù)字溫度傳感器有兩種:本地或遠(yuǎn)程溫度傳感器,它們均采用某種方法強制兩個成比例的電流通過一個連接成二極...

發(fā)表于 2018-01-22 14:37
?
290次閱讀

nrf24l01+和stm32的spi通訊需要設(shè)置nrf24l01+的spi波特率嗎

發(fā)表于 2018-01-21 17:16
?
600次閱讀

I2C總線主機和從機之間加隔離開關(guān)后,不能通訊(從機無應(yīng)答)

發(fā)表于 2018-01-20 08:07
?
609次閱讀

實現(xiàn)智能家電控制系統(tǒng)設(shè)計方案的幾大關(guān)鍵點

計算機網(wǎng)絡(luò)、通信和控制技術(shù)的發(fā)展使家電的集中和遠(yuǎn)程智能控制成為可能,將信息技術(shù)和家電技術(shù)相融合,在更...

發(fā)表于 2018-01-18 07:37
?
1949次閱讀

SPI-WIFI模塊讓普通單片機實現(xiàn)“有效速度”過兆字節(jié)每秒的高速傳輸不再是夢想

發(fā)表于 2018-01-17 12:51
?
411次閱讀

深度解析IO模擬時序(SPI)的注意事項

有硬件I2C、SPI時盡量用硬件操作,省去IO模擬繁瑣的時序調(diào)試。但在內(nèi)部資源不夠時就要用IO模擬總...

發(fā)表于 2018-01-17 09:37
?
1359次閱讀

STM32通過I2C與BMP280通信

BMP280對溫度和氣壓的測量是通過一堆補償數(shù)據(jù)然后根據(jù)自己的算法算出來的,要注意這些數(shù)據(jù)是什么類型...

發(fā)表于 2018-01-12 13:14
?
898次閱讀

揭開Zynq Z-7000從SPI接口掛載的fl...

今天給各位介紹另外一款Xilinx公司芯片的產(chǎn)品Zynq Z-7000 SoC,我們一起來揭開它從S...

發(fā)表于 2018-01-10 10:37
?
1516次閱讀

詳細(xì)剖析I2C和SPI通信協(xié)議的區(qū)別

IIC和SPI都對低速設(shè)備通信提供了很好的支持,不過,SPI適合數(shù)據(jù)流應(yīng)用,而IIC更適合“字節(jié)設(shè)備...

發(fā)表于 2018-01-03 11:40
?
1246次閱讀

spi從機程序設(shè)計_spi從機程序代碼詳細(xì)介紹

本文介紹STM32F407的SPI主從機通信程序和基于計數(shù)器的spi從機程序這兩種spi從機程序

發(fā)表于 2017-12-29 15:05
?
336次閱讀

I2C總線的特點、控制技術(shù)與傳輸分析

I2C總線主要在微處理器的控制之下,因此通常稱微處理器是I2C總線的主機。習(xí)慣上總稱受控設(shè)備及功能電...

發(fā)表于 2017-12-25 15:17
?
944次閱讀

嵌入式工程師詳解常用的IIC和SPI總線協(xié)議概念

IIC vs SPI 現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見IIC (Inter-Integra...

發(fā)表于 2017-12-22 20:15
?
162次閱讀

深度解析IIC和SPI總線協(xié)議的區(qū)別與應(yīng)用場景

IIC vs SPI: 哪位是贏家?我們來對比一下IIC 和 SPI的一些關(guān)鍵點:
第一,總線拓?fù)?..

發(fā)表于 2017-12-22 16:48
?
3697次閱讀

詳細(xì)講解重用外設(shè)驅(qū)動代碼_SPI_NOR_Fla...

第六章為重用外設(shè)驅(qū)動代碼,本文內(nèi)容為6.2 SPI NOR Flash 存儲器。

發(fā)表于 2017-12-21 07:59
?
2668次閱讀

基于Linux驅(qū)動的I2C總線的深度分析

I2C總線的硬件特性:兩線式串行總線.用于連接CPU和外設(shè)之間的通信接口需要2根信號線,時鐘控制線S...

發(fā)表于 2017-12-18 16:31
?
719次閱讀

iic和spi有什么區(qū)別

IIC的數(shù)據(jù)輸入輸出用的是一根線,SPI則分為data IN和 data OUT。由于這個原因,采用...

發(fā)表于 2017-12-12 11:51
?
461次閱讀

I2C和SPI總線協(xié)議詳解

一種只使用二根線接連所有外圍芯片的總線協(xié)議。最初的標(biāo)準(zhǔn)定義總線速度為100kbps。經(jīng)歷幾次修訂,主...

發(fā)表于 2017-12-12 11:08
?
1319次閱讀

mpu6050對應(yīng)i2c地址是什么_如何讀取數(shù)據(jù)

本文主要介紹了mpu6050對應(yīng)i2c地址是什么,并通過stm32的硬件讀取mpu6050的數(shù)據(jù)。M...

發(fā)表于 2017-12-11 16:04
?
963次閱讀

spi與i2c總線協(xié)議的對比分析

現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見I2C (Inter-Integrated Circuit...

發(fā)表于 2017-12-06 11:57
?
222次閱讀

spi與i2c總線有什么區(qū)別

SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。I2C總線是一...

發(fā)表于 2017-12-06 11:39
?
323次閱讀

LTC3675 非常適用于要求用單節(jié)鋰離子電池提...

LTC3675 是一個節(jié)省空間的單芯片電源解決方案,適用于靠單節(jié)鋰離子電池運行的多軌應(yīng)用。其 4mm...

發(fā)表于 2017-12-04 01:13
?
154次閱讀

軟件模擬SPI接口的實現(xiàn)方法過程詳解

由于SPI總線接口只占用微處理器四個I/O口線,采用SPI總線接口可以簡化電路沒計,節(jié)省很多常規(guī)電路...

發(fā)表于 2017-12-01 11:13
?
1189次閱讀

u-boot i2c的調(diào)試

有許多外設(shè)芯片都通過i2c總線接到主芯片上,主芯片通過i2c發(fā)命令去初始化外設(shè)芯片。

發(fā)表于 2017-11-27 15:00
?
163次閱讀

Stm32的io口模擬spi例程分析

SPCE061A的I/O端口,對某一位的設(shè)定包括以下3個基本項:數(shù)據(jù)向量Data、屬性向量Attri...

發(fā)表于 2017-11-24 17:45
?
491次閱讀

基于FPGA的SPI串行方式自動發(fā)送技術(shù)設(shè)計

SPI接口應(yīng)用十分廣泛,在很多情況下,人們會用軟件模擬的方法來產(chǎn)生SPI時序或是采用帶SPI功能模塊...

發(fā)表于 2017-11-24 15:32
?
310次閱讀

Arduino主從機之間的I2C通訊實驗

I2C總線是由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC...

發(fā)表于 2017-11-23 16:20
?
681次閱讀

一種可復(fù)用的高速SPI總線的設(shè)計

隨著計算機處理能力及存儲規(guī)模的迅速增長,這個問題表現(xiàn)得更加突出。為此人們采取了各種軟、硬件的方法,不...

發(fā)表于 2017-11-23 15:40
?
244次閱讀

一文讀懂i2c的總線信號傳輸

總線空閑狀態(tài)   I2C總線總線的SDA和SCL兩條信號線同時處于高電平時,規(guī)定為總線的空閑狀態(tài)。此...

發(fā)表于 2017-11-21 15:09
?
2321次閱讀

全面剖析i2c總線的原理與控制技術(shù)

IIC總線,是INTER-IC串行總線的縮寫。INTER-IC原文大意是用于相互作用的集成電路,這種...

發(fā)表于 2017-11-20 10:54
?
1240次閱讀

EMIO方式模擬I2C時序?qū)DV7511進行讀...

創(chuàng)建硬件工程,很簡單,PS接出兩個EMIO和一個74.25M時鐘

發(fā)表于 2017-11-18 13:50
?
218次閱讀

FPGA多重加載技術(shù)的設(shè)計模塊及其在硬件平臺上的...

Xilinx 7系列FPGA是Xilinx公司最新推出的一個芯片系列,Kintex7是該系列芯片中...

發(fā)表于 2017-11-18 04:41
?
253次閱讀

在ZedBoard下SPI接口和ARM處理器端實...

該文介紹了ZedBoard平臺下可編程邏輯端SPI接口和ARM處理器端以太網(wǎng)遠(yuǎn)端傳輸?shù)脑O(shè)計。結(jié)合實例...

發(fā)表于 2017-11-17 12:12
?
176次閱讀

I2C標(biāo)準(zhǔn)協(xié)議的時序時鐘問題詳解

對于嵌入式開發(fā)的朋友來說,I2C協(xié)議實在是再熟悉不過了,有太多的器件,采用的都是通過I2C來進行相應(yīng)...

發(fā)表于 2017-11-15 15:08
?
286次閱讀

對三種總線SPI、UART、I2C分析理解

SPI(Serial Peripheral Interface,串行外設(shè)接口) SPI是一種高速、全...

發(fā)表于 2017-11-15 12:32
?
202次閱讀

數(shù)字鎖相環(huán)ADF4351原理詳解與合成頻率源的設(shè)...

以數(shù)字鎖相環(huán)ADF4351和Xilinx公司的Spartan-6系FPGA為主要元件設(shè)計了一個合成頻...

發(fā)表于 2017-11-15 11:27
?
431次閱讀

PIC單片機之I2C(從模式)詳解

I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總...

發(fā)表于 2017-11-14 17:24
?
562次閱讀

i2c時序圖的詳細(xì)講解

開始信號:主機+從設(shè)備地址+寫命令,從機應(yīng)答,應(yīng)答成功,表示有這個設(shè)備,然后主機+設(shè)備內(nèi)部寄存器地址...

發(fā)表于 2017-11-14 16:59
?
5186次閱讀

ad7190配置GPIO模擬SPI程序源碼

 AD7190是一款適合高精密測量應(yīng)用的低噪聲完整模擬前端。它集成一個低噪聲、24位Σ-Δ型模數(shù)轉(zhuǎn)換...

發(fā)表于 2017-11-14 14:14
?
347次閱讀

數(shù)字通信協(xié)議中,什么是I2C和SPI總線協(xié)議?

現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見IIC (Inter-Integrated Circuit...

發(fā)表于 2017-11-12 09:28
?
2434次閱讀

教你如何有效解決I2C配置順序引發(fā)無法收發(fā)數(shù)據(jù)問...

在參考Cube軟件包中I2C例程后, 根據(jù)應(yīng)用需要新增了一路I2C接口,結(jié)果新增I2C無法收發(fā)數(shù)據(jù)。...

發(fā)表于 2017-11-12 08:55
?
3791次閱讀

spi是什么spi檢測是什么意思

SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。SPI,是一種...

發(fā)表于 2017-11-09 10:01
?
812次閱讀

spi與i2c區(qū)別

 我相信如果你是從事的是嵌入式開發(fā),一定會用到這三種通信協(xié)議,串口的話因為和波特率有關(guān),所以一般的C...

發(fā)表于 2017-11-09 09:58
?
488次閱讀

簡述spi與sci區(qū)別

SCI串行通信接口(serial communication interface)也是由Motoro...

發(fā)表于 2017-11-08 14:46
?
251次閱讀

ds18b20中文資料詳解

DS18B20是常用的數(shù)字溫度傳感器,具有體積小,硬件開銷低,抗干擾能力強,精度高的特點。DS18B...

發(fā)表于 2017-11-06 16:15
?
3630次閱讀

終于看懂了iic與spi這兩種通訊協(xié)議了

IIC vs SPI現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見IIC (Inter-Integrat...

發(fā)表于 2017-11-02 11:06
?
5729次閱讀

SPI總線有四種工作方式,哪幾種最為廣泛

SPI總線有四種工作方式(SP0, SP1, SP2, SP3),其中使用的最為廣泛的是SPI0和S...

發(fā)表于 2017-10-25 06:44
?
5146次閱讀

stc12c5a60s2_spi程序

單片機是STC12C5A60S2,用的是單片機的硬件SPI驅(qū)動的nRF24L01+,這個是從機(接收...

發(fā)表于 2017-10-20 18:08
?
310次閱讀

在SPI總線中常用的6N137和ADuM315x...

SPI即串行外圍設(shè)備接口,是一種高速的,全雙工,同步的通信總線,在強干擾環(huán)境中,或是高的性能要求下,...

發(fā)表于 2017-08-25 17:14
?
992次閱讀

教你LPC雙核套件固件庫SPI的用法

最近進度有點慢?,F(xiàn)在把我SPI這部分分享下吧。這次我使用SPI0和I2C2這兩個模塊,I2C2負(fù)責(zé)采...

發(fā)表于 2017-08-25 15:58
?
238次閱讀

如何滿足復(fù)雜系統(tǒng)的高性能時序需求

時鐘設(shè)備設(shè)計使用 I2C 可編程小數(shù)鎖相環(huán) (PLL),可滿足高性能時序需求,這樣可以產(chǎn)生零 PPM...

發(fā)表于 2017-08-23 17:39
?
234次閱讀

數(shù)字電位器串口設(shè)計與仿真

數(shù)字電位器是利用微電子技術(shù)制成的集成電路,它是依靠電阻陣列和多路模擬開關(guān)的組合完成阻值的變化。它沒有...

發(fā)表于 2017-06-30 09:42
?
283次閱讀

如何判斷芯片程序不正常的原因

最近有用戶反映一個非常蹊蹺的現(xiàn)象,在燒錄文件時,編程器全過程提示PASS,但是芯片貼板后產(chǎn)品無法正常...

發(fā)表于 2017-06-14 17:09
?
662次閱讀

SPI、I2C、UART三種串行總線協(xié)議的區(qū)別和...

SPI接口在Master控制下產(chǎn)生的從器件使能信號和時鐘信號,兩個雙向移位寄存器按位傳輸進行數(shù)據(jù)交換...

發(fā)表于 2017-05-08 14:40
?
9308次閱讀

在Linux環(huán)境下I2C總線EEPROM驅(qū)動程序...

I2C?。↖nter-Integrated Circuit1總線是一種由Philips公司開發(fā)的2線...

發(fā)表于 2017-04-27 15:30
?
621次閱讀

帶SPI接口、尺寸最小的1Mb FRAM器件誕生...

富士通半導(dǎo)體(上海)有限公司日前宣布,成功推出擁有1 Mb內(nèi)存的FRAM產(chǎn)品---MB85RS1MT...

發(fā)表于 2017-03-28 17:52
?
483次閱讀

用示波器直接破解30種通信協(xié)議

數(shù)字示波器的發(fā)展極大的降低了低速總線調(diào)試的難度,無論是IIC、SPI還是CAN、LIN等,示波器都可...

發(fā)表于 2017-03-21 12:04
?
1305次閱讀

7000 芯片Linux下的SPI接口與驅(qū)動配置

本文將介紹如何利用Vivado和petalinux開發(fā)Zynq7000系列芯片的SPI外設(shè)接口。

發(fā)表于 2017-03-20 14:00
?
538次閱讀

教你的安卓系統(tǒng)DragonBoard 410c也...

內(nèi)核的定制。首先我們需要對內(nèi)核進行重新配置,從而添加我們的設(shè)備驅(qū)動,重新編譯內(nèi)核,在96board官...

發(fā)表于 2017-03-01 10:47
?
405次閱讀

單片機SPI通信接口

SPI 是一種高速的、全雙工、同步通信總線,標(biāo)準(zhǔn)的 SPI 也僅僅使用 4 個引腳,常用于單片機和 ...

發(fā)表于 2016-12-26 15:46
?
2103次閱讀

聽說,電子工程師經(jīng)常被“狗”咬!

匯總看門狗問題的解決辦法,希望能夠合理設(shè)計仿真、編程接口,以及合理設(shè)計應(yīng)用程序,規(guī)避看門狗對編程、仿...

發(fā)表于 2016-09-08 09:56
?
620次閱讀

工程師很有必要了解的常用接口大全

接口就是一種間接手段,所以相比起直接溝通,會引致些額外負(fù)擔(dān)。在電子產(chǎn)品中有硬件接口和軟件接口之分:電...

發(fā)表于 2016-08-15 09:50
?
3909次閱讀

CAN、USART、SPI、SCI等常見總線技術(shù)...

隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,總線技術(shù)也在不斷地發(fā)展和完善,而使計算機總線技術(shù)種類繁多,各具特色...

發(fā)表于 2016-07-08 14:46
?
3051次閱讀

工程師經(jīng)驗分享:采用硬件I2C讀取E2PROM

在I2C主設(shè)備進行讀寫操作的過程中。主設(shè)備在開始信號后控制SCL產(chǎn)生8個時鐘脈沖,然后拉低SCL信號...

發(fā)表于 2016-06-16 17:06
?
2006次閱讀

帶你詳細(xì)解析串行外設(shè)接口(SPI)總線時序

SPI是一個環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時序其實很簡單,主要是在sc...

發(fā)表于 2016-01-25 13:54
?
1976次閱讀

利用I2C通信接口實現(xiàn)測溫的設(shè)計方案

測溫功能是很多智能硬件設(shè)計都會用到的,本文介紹一種帶I2C通信接口的數(shù)字溫度傳感器SD5075來實現(xiàn)...

發(fā)表于 2015-10-13 13:51
?
1049次閱讀

高清視頻監(jiān)控中的I2C總線云臺電機控制設(shè)計

社會的發(fā)展,汽車增量不斷增多,道路上各種違章的車輛也逐漸增多,為了構(gòu)建一個平安交通和智能交通,視頻監(jiān)...

發(fā)表于 2015-08-01 23:29
?
426次閱讀

使用光學(xué)鼠標(biāo)傳感器實現(xiàn)旋轉(zhuǎn)測量

 本設(shè)計實例使用光學(xué)電腦鼠標(biāo)中的傳感器測量圓盤的旋轉(zhuǎn),其中的圓盤可以通過機械方式連接到任何一種旋轉(zhuǎn)裝...

發(fā)表于 2015-07-30 16:33
?
1418次閱讀

最小尺寸USB Type-C解決方案

 全球領(lǐng)先的高性能功率半導(dǎo)體解決方案供應(yīng)商Fairchild今天發(fā)布了USB Type-C解決方案的...

發(fā)表于 2015-07-30 11:40
?
887次閱讀

如何通過一個差分接口來延長SPI總線

本文將介紹如何通過一個差分接口來延長串行外設(shè)接口 (SPI) 總線,而這可以應(yīng)用在支持遠(yuǎn)程溫度或壓力...

發(fā)表于 2015-04-24 11:27
?
2250次閱讀

I2C與串口通信模塊電子電路設(shè)計

OZ89采樣模塊將采集處理后的數(shù)據(jù)通過I2C總線發(fā)送到LF2407,由于LF2407自身不帶I2C ...

發(fā)表于 2014-09-17 13:42
?
5148次閱讀

采用SMBus溫度傳感器IC實現(xiàn)風(fēng)扇開關(guān)控制

在很多產(chǎn)品中,低或中速運行的風(fēng)扇已足以散熱,同時允許保留最高速模式以應(yīng)付最糟糕的情形。本文闡述的電路...

發(fā)表于 2014-07-10 17:25
?
623次閱讀

如何利用isoSPI數(shù)據(jù)鏈路實現(xiàn)高性能車載電池管...

通過整合行之有效的數(shù)據(jù)通信技術(shù),isoSPI提供了一種穩(wěn)健和簡單的標(biāo)準(zhǔn)SPI設(shè)備遠(yuǎn)程控制法,而這在以...

發(fā)表于 2013-06-14 15:21
?
2075次閱讀

下一篇: PLC、DCS、FCS三大控

上一篇: 電氣控制線路圖控制原

推薦產(chǎn)品

更多