摘要:背景開(kāi)發(fā)板具有接口,本文對(duì)該接口的使用方法做一介紹。同時(shí),與設(shè)備要共地連接。例如向號(hào)總線上,設(shè)備地址,寄存器地址開(kāi)始,讀取長(zhǎng)度為個(gè)字節(jié)的數(shù)據(jù)。
Jetson 開(kāi)發(fā)板具有 I2C 接口,本文對(duì)該接口的使用方法做一介紹。以 Jetson TX2 為例,其它設(shè)備的方法類似,主要是硬件接口區(qū)別
通過(guò)《Jetson TX1-TX2 Developer Kit Carrier Board Specification?》可以看到,TX2 的 J21 排針中,第 3 和第 5 個(gè)引腳,分別表示 SDA 和 SCL 接口,通過(guò)杜邦線與設(shè)備相連即可。同時(shí),與設(shè)備要共地連接。(其它設(shè)備如 nano/NX 可查看其對(duì)應(yīng)的載板文檔)
?J21 引腳定義如下
或者直接查看該鏈接,可以看到第 3 和 第 5 引腳為 I2C BUS 1 的 SDA 與 SCL 引腳
在 jetpack 中,已經(jīng)安裝好了 i2c-tools 工具,用來(lái)進(jìn)行 i2c 指令查詢。如果沒(méi)有的話,可以使用 apt 安裝
$ sudo apt-get update$ sudo apt-get install -y i2c-tools
i2c-tools 工具包括以下幾部分
i2cdetect----用來(lái)查找所連接的設(shè)備的地址
i2cdump----用來(lái)讀出特定地址中所有寄存器中的內(nèi)容
i2cset--------對(duì)特定寄存器寫入內(nèi)容
i2cget-------從特定寄存器中讀值
i2cdetect 指令用于檢測(cè)系統(tǒng)上的 I2C 總線情況
$ sudo i2cdetect -li2c-3 i2c 3190000.i2c I2C adapteri2c-1 i2c c240000.i2c I2C adapteri2c-8 i2c 31e0000.i2c I2C adapteri2c-6 i2c 31c0000.i2c I2C adapteri2c-4 i2c Tegra BPMP I2C adapter I2C adapteri2c-2 i2c 3180000.i2c I2C adapteri2c-0 i2c 3160000.i2c I2C adapteri2c-7 i2c c250000.i2c I2C adapteri2c-5 i2c 31b0000.i2c I2C adapter
可以看到,TX2 上具有 9 組 I2C 接口,分別對(duì)每條總線進(jìn)行掃描,獲得掛載信息
i2cdetect -y -r -a 1
其中:
i2cdump 用于查看設(shè)備寄存器的值
i2cdump [-f] [-y] [-r first-last] I2CBUS ADDRESS [MODE [BANK [BANKREG]]]
查看 7 號(hào)總線上設(shè)備 0x50 全部寄存器的值
$ i2cdump -y 7 0x50No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef00: 01 00 0d 00 ee 0c e8 03 42 44 00 00 00 00 00 00 ?.?.????BD......10: 00 00 00 00 36 39 39 2d 38 33 33 31 30 2d 31 30 ....699-83310-1020: 30 30 2d 42 30 32 20 44 2e 30 00 00 00 00 00 00 00-B02 D.0......30: 00 00 a5 04 a8 4b 04 00 a6 04 a8 4b 04 00 00 00 ..???K?.???K?...40: 00 00 00 00 a7 04 a8 4b 04 00 30 33 32 30 32 31 ....???K?.03202150: 38 31 36 39 30 39 39 00 00 00 00 00 00 00 00 00 8169099.........60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................90: 00 00 00 00 00 00 4e 56 43 42 1c 00 4d 31 00 00 ......NVCB?.M1..a0: a5 04 a8 4b 04 00 a6 04 a8 4b 04 00 a7 04 a8 4b ???K?.???K?.???Kb0: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?...............c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b9 ...............?
i2cset 用于設(shè)置設(shè)備單個(gè)寄存器的值
i2cset [-f] [-y] [-m MASK] [-r] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]
例如:設(shè)置地址為 0x50 設(shè)備里 0x20 寄存器的值為 0x04。
$ sudo i2cset -f -y 2 0x50 0x20 0x04
i2cget 用于查看設(shè)備單個(gè)寄存器值
i2cget [-f] [-y] I2CBUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]I2CBUS is an integer or an I2C bus nameADDRESS is an integer (0x03 - 0x77)MODE is one of: b (byte, default) w (word) W (word on even register addresses) s (SMBus block) i (I2C block) c (consecutive byte) Append p for SMBus PEC
例如:讀取地址為0x50設(shè)備里0x20寄存器的值。
$ sudo i2cget -y 2 0x50 0x200x30
i2ctransfer 用于讀寫設(shè)備寄存器值(可用于雙字節(jié)寄存器)
sudo i2ctransfer -f -y [總線序號(hào)] w[待寫入數(shù)據(jù)長(zhǎng)度]@[設(shè)備地址] [寄存器地址高字節(jié)] [寄存器地址低字節(jié)] r[待讀出數(shù)據(jù)長(zhǎng)度]。
例如:向1號(hào)總線上,設(shè)備地址0x10,寄存器地址0x0101開(kāi)始,讀取長(zhǎng)度為16個(gè)字節(jié)的數(shù)據(jù)。
$ sudo i2ctransfer -f -y 1 w2@0x10 0x01 0x01 r160x80 0x80 0x00 0x08 0x10 0x1a 0x00 0x00 0x00 0x10 0x27 0x00 0x00 0x40 0x79 0x0d
在 github 上有針對(duì) linux 的 i2c 庫(kù),地址:https://github.com/amaork/libi2c
下載后通過(guò)腳本安裝即可使用
git clone https://github.com/amaork/libi2c.gitcd libi2csudo python setup.py install
測(cè)試腳本
cd examplepython pylibi2c_tools.py -b /dev/i2c-1 -d 0x1b --iaddr 0x0b --data 0x00
表示向 1 號(hào) bus 上地址為 0x1b 的設(shè)備給寄存器 0x0b 寫值 0x00,其它使用方法類似, 參考代碼說(shuō)明即可?
參考
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/119364.html
摘要:沒(méi)有顯卡也沒(méi)有關(guān)系,可以看看我前面發(fā)布的兩篇文章谷歌云計(jì)算平臺(tái),免費(fèi)又好用上安裝本文采用的深度學(xué)習(xí)模型是雅虎開(kāi)源的深度學(xué)習(xí)色情圖片檢測(cè)模型,這里的代表,該項(xiàng)目基于框架。你還可以讀利用人工智能檢測(cè)色情圖片谷歌云計(jì)算平臺(tái),免費(fèi)又好用上安裝隨著互聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的圖片和視頻出現(xiàn)在網(wǎng)絡(luò),特別是UCG產(chǎn)品,激發(fā)人們上傳圖片和視頻的熱情,比如微信每天上傳的圖片就高達(dá)10億多張。每個(gè)人都可以上傳,...
摘要:從端開(kāi)始,針對(duì)的彈性容器服務(wù)將支持。有了我們新的基于的實(shí)例,我們使客戶更容易更經(jīng)濟(jì)高效地加速機(jī)器學(xué)習(xí)推理和圖形密集型應(yīng)用程序。在圣何塞舉行的的技術(shù)會(huì)議上,該聲明與其他各種新聞一起發(fā)布。AWS將支持Nvidia的T4 GPU,專注于密集的機(jī)器學(xué)習(xí)工作負(fù)載,而Amazon Web Services(AWS)將發(fā)布其最新的配備GPU的實(shí)例,支持Nvidia的T4 Tensor核心GPU,特別關(guān)注機(jī)...
摘要:從端開(kāi)始,針對(duì)的彈性容器服務(wù)將支持。有了我們新的基于的實(shí)例,我們使客戶更容易更經(jīng)濟(jì)高效地加速機(jī)器學(xué)習(xí)推理和圖形密集型應(yīng)用程序。在圣何塞舉行的的技術(shù)會(huì)議上,該聲明與其他各種新聞一起發(fā)布。AWS將支持Nvidia的T4 GPU,專注于密集的機(jī)器學(xué)習(xí)工作負(fù)載,而Amazon Web Services(AWS)將發(fā)布其最新的配備GPU的實(shí)例,支持Nvidia的T4 Tensor核心GPU,特別關(guān)注機(jī)...
摘要:有了我們新的基于的實(shí)例,我們使客戶更容易更經(jīng)濟(jì)高效地加速機(jī)器學(xué)習(xí)推理和圖形密集型應(yīng)用程序。月,谷歌標(biāo)榜自己是第一家也是唯一一家提供兼容性的主要云供應(yīng)商。,該公司宣布其實(shí)例在六個(gè)國(guó)家的測(cè)試版中都可用。AWS將支持Nvidia的T4 GPU,專注于密集的機(jī)器學(xué)習(xí)工作負(fù)載,weetAmazon Web Services(AWS)將發(fā)布其最新的配備GPU的實(shí)例,支持Nvidia的T4 Tensor ...
摘要:從側(cè),將由用于的支持。有了新的基于的實(shí)例,我們使客戶能夠更輕松更經(jīng)濟(jì)地加速機(jī)器學(xué)習(xí)推理和圖形密集型應(yīng)用程序。,并伴隨著各種其他新聞。月份,該公司宣布其實(shí)例在六個(gè)國(guó)家的版本中都可用。Amazon Web Services(AWS)將發(fā)布其最新配備GPU的實(shí)例,支持Nvidia的T4 Tensor Core GPU,特別關(guān)注機(jī)器學(xué)習(xí)工作負(fù)載。The specs,while not fully t...
閱讀 2680·2021-11-18 10:02
閱讀 3412·2021-09-28 09:35
閱讀 2592·2021-09-22 15:12
閱讀 750·2021-09-22 15:08
閱讀 3100·2021-09-07 09:58
閱讀 3472·2021-08-23 09:42
閱讀 733·2019-08-30 12:53
閱讀 2083·2019-08-29 13:51