国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術JAVA操作英創主板SPI接口簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-06 11:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

2017年9月,英創在Linux的文件系統中移植了針對嵌入式Linux的JRE(Java Runtime Environment),能夠支持Java應用程序的運行。由于Java語言不能直接訪問硬件資源,英創提供了Java硬件支持包,主要支持的工控接口有:以太網、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介紹使用Java語言調用英創Java硬件支持包,操作英創主板SPI接口的過程。

1、SPI簡介

SPI(Synchronous Peripheral Interface)是一種同步串行數據通訊總線接口,常用于連接ADCs、EPROMs、Sensors或者是其他一些微控制器,SPI具有兩種工作模式:master和slave模式,其中master模式提供時鐘信號

圖1SPI主從設備信號連接

SPI有四種數據傳輸模式,如表1所示,主要差別在于:輸出串行同步時鐘極性(CPOL)和相位(CPHA)可以進行配置。

SPI mode CPOL CPHA Comments
0 0 0 時鐘的空閑狀態為低電平;上升沿采樣
1 0 1 時鐘的空閑狀態為低電平;下降沿采樣
2 1 0 時鐘的空閑狀態為高電平;下降沿采樣
3 1 1 時鐘的空閑狀態為高電平;上升沿采樣

表1SPI四種數據傳輸模式

2、SPI傳輸數據結構

英創提供的SPI傳輸數據結構源文件為emtronix.hardware.SPITransfer.java。每一個SPITransfer類實例代表一次SPI傳輸,其主要成員變量如下所示:

public class SPITransfer {

/*寫數據緩存,只讀模式時為null*/

public byte[] tx_buf;

/*讀數據緩存,只寫模式時為null */

public byte[] rx_buf;

/* 緩存長度

* 全雙工時,讀寫緩存應該長度相同;

* 半雙工時,非工作狀態的緩存為null

*/

public int len;

/*SPI時鐘頻率*/

public int speed_hz;

/*兩個SPITransfer之間的延時*/

public char delay_usecs;

/*SPI傳輸字寬*/

public byte bits_per_word;

/*本次傳輸完成之后,是否改變片選*/

public byte cs_change;

public int pad;

}

SPI傳輸使用同步時鐘,在發送的同時,也在接收數據。因此其傳輸數據結構要同時擁有寫數據緩存tx_buf和讀數據緩存rx_buf才能支持這種全雙工工作模式,并且兩個緩存區域長度都為len字節。當然,如果要使用半雙工讀/寫,只需要讓tx_buf/rx_buf等于null就可以了。speed_hz為SPI的時鐘頻率,esm335x最大時鐘頻率48MHz,esm6800最大時鐘頻率60MHz;delay_usecs表示連續傳輸的Transfer之間的間隔,單位為微秒;bits_per_word表示一個字有幾個比特組成,最大32;cs_change表示本次傳輸完成后是否修改片選信號;pad暫時不用設置,保留。

3、SPI傳輸接口函數

英創提供的SPI傳輸接口源文件為emtronix.hardware.SPI.java。用戶在實例化SPI類后可以調用Open、SetSPI、Transfer、Close對SPI硬件接口進行操作。SPI類的具體信息如下,其中mFd為設備描述符,用戶不用設置,由接口函數自動修改。

public class SPI {

private int mFd;

/**

*打開spi主設備,返回fd.自動修改mFd

*@paramdev "/dev/spidev1.0"

*@return成功返回spi主設備描述符,失敗返回-1

*/

publicnativeintOpen(String dev);

/**

*設置SPI的工作參數

*@paramargs "S16000000-M1-B16-D100" S為時鐘速率,M為數據傳輸模式(0-3),B為數據位寬,D發送完后的延時

* 四個參數之間不分順序“M1-D100-B16-S16000000”與之前的相同

*@return成功返回0;失敗返回-1

*/

publicnativeintSetSPI(String args);

/**

* SPI一次傳輸,trans.tx_buf=null,trans.rx_buf != null, only receive;

* trans.tx_buf!=null,trans.rx_buf=null,only send;

* trans.tx_buf!=null,trans.rx_buf!=null, send&receive

*@paramtrans,一次spi傳輸參數

*@paramntrans,進行ntrans次spitransfer

*@return成功返回0;失敗返回-1

*/

publicnativeintTransfer(SPITransfer[] trans,intntrans);

/**

*關閉SPI主設備

*@return成功返回0;失敗返回-1

*/

publicnativeintClose() ;

}

4、SPI測試程序

SPI傳輸接口中操作SPI的接口函數聲明都有native的前綴,表明其實現部分在本地的庫當中。英創將所有英創主板的硬件接口訪問函數的實現部分編譯成了動態鏈接庫libemtronixhardware.so,放在了文件系統/lib目錄下。

在編寫SPI傳輸主程序的時候,首先需要加載該庫,如下所示:

publicclasstestSPIMain {

static{

System.loadLibrary("emtronixhardware");

}

publicstaticvoidmain(String[] args) {

...

}

}

然后,就可以在main函數中實例化SPI類,并打開主板的SPI設備:

SPI spi = new SPI();

spi.Open("/dev/spidev1.0");

接著,初始化SPI傳輸數據結構,發送數據:

int transcnt = 1;

SPITransfer[] trans = new SPITransfer[transcnt];

trans[0] = new SPITransfer();

trans[0].tx_buf = tArray;

trans[0].rx_buf = rArray;

trans[0].len = bytes;

trans[0].speed_hz = speed;

trans[0].bits_per_word = (byte) bitspw;

if(spi.Transfer(trans, transcnt) == 0) {

//傳輸成功,處理數據

}

其中,transcnt表示SPITransfer的個數,每一個SPITransfer需要用戶自己實例化。

最后,使用完畢后關閉SPI設備:

spi.Close();

5、SPI測試程序運行結果

運行SPI傳輸Java主程序需要把編譯結果bin文件中的所有目錄文件拷貝到主板/mnt/nandflash,或者通過nfs掛載到主板/mnt/nfs目錄下。然后,使用“java 包名.類名”運行,如下圖所示:

圖2運行SPI測試程序

以上就是使用Java操作英創主板SPI接口的介紹,感興趣的客戶可以通過電話或者郵件聯系英創工程師。我們將提供Java示例程序源碼供客戶參考。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11758

    瀏覽量

    219009
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

    37071
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    產業駛入快車道,國產工控主板成自主可控關鍵支撐

    當前,我國信產業規模大幅突破,信息技術應用創新產業迎來高速發展期。發展信,早已超越單純的技術升級范疇,成為保障國家信息安全、推動經濟高質
    的頭像 發表于 03-04 14:18 ?29次閱讀
    信<b class='flag-5'>創</b>產業駛入快車道,國產工控<b class='flag-5'>主板</b>成自主可控關鍵支撐

    國產化引領丨康仕攜手龍芯打造信國產化工控全場景解決方案

    基于龍芯平臺的國產化工控產品矩陣已全面成型,全系列符合信國產化標準。 圍繞龍芯2K3000與龍芯3B6000M處理器,康仕完成覆蓋邊緣計算、智能制造、智能交通、移動加固計算等領域的全場景信產品布局
    的頭像 發表于 02-24 16:11 ?1099次閱讀
    信<b class='flag-5'>創</b>國產化引領丨<b class='flag-5'>英</b>康仕攜手龍芯打造信<b class='flag-5'>創</b>國產化工控全場景解決方案

    國產金融主板:賦能智慧金融,驅動信產業升級

    隨著信息技術的飛速迭代,信產業已在全球范圍內崛起,成為拉動經濟增長、激活創新動能的核心力量。在信產業的關鍵布局中,智慧金融建設是重中之重,而國產金融主板的規模化應用,正為智慧金融建
    的頭像 發表于 12-31 09:03 ?167次閱讀
    國產金融<b class='flag-5'>主板</b>:賦能智慧金融,驅動信<b class='flag-5'>創</b>產業升級

    國產芯筑基,飛騰主板賦能信未來

    信息技術自主可控成為國家戰略的今天,信產業正從“政策驅動”邁向“市場驅動”的高質量發展新階段。作為信產業鏈的核心硬件基石,主板的國產化水平直接決定著整個
    的頭像 發表于 12-30 09:49 ?198次閱讀
    國產芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創</b>未來

    誠邁科技信電腦助力2025第二屆教育信息技術應用創新大賽圓滿收官

    11月15日,由中國教育技術協會主辦、浙江大學與中國教育技術協會網絡安全專業委員會聯合承辦,中國電子工業標準化技術協會信息技術應用創新工作委員會、浙江高校信
    的頭像 發表于 11-17 17:58 ?671次閱讀
    誠邁科技信<b class='flag-5'>創</b>電腦助力2025第二屆教育<b class='flag-5'>信息技術</b>應用創新大賽圓滿收官

    新時代的硬核基石:龍芯工控主板助力信產業新基建

    在數字技術重塑產業格局的今天,信產業已成為保障國家信息技術安全的核心戰略。作為工業自動化系統的大腦,工控主板的自主可控程度直接決定信創新基建的穩固性。
    的頭像 發表于 11-05 13:54 ?288次閱讀

    智慧新核心,龍芯主板助力信體系再升級

    信息技術飛速發展的當下,信體系的自主可控與創新升級已成為國家戰略層面的關鍵任務。作為信產業發展的重要基礎硬件支撐,國產工控主板正發揮著日益重要的作用。
    的頭像 發表于 08-11 09:14 ?694次閱讀

    飛騰主板為信產業發展提高硬實力

    信息技術飛速發展的當下,信產業已成為我國實現科技自立自強、保障國家信息安全的關鍵領域。信,即信息技術應用創新,其核心目標是實現
    的頭像 發表于 07-22 18:20 ?707次閱讀

    浪潮澎湃,國產主板迎來黃金時代!

    2025年7月,表示必須在2027年底前完成信100%替代,覆蓋基礎硬件、基礎軟件等核心領域。在信息技術應用創新浪潮席卷下,國產主板作為計算機系統的骨架,正從幕后走向臺前。政策加持、技術
    的頭像 發表于 07-21 14:00 ?501次閱讀

    諾達EDA專題技術研討會成都站圓滿收官

    近日,諾達的EDA專題技術研討會在成都“芯火”雙基地成功舉辦,吸引了來自芯片設計企業、科研院所及產業鏈上下游的三十余家單位參會,共同探索國產EDA工具在芯片設計關鍵領域的創新突破與應用實踐。
    的頭像 發表于 07-21 10:38 ?923次閱讀

    中星微技術斬獲2025金牛科企業獎

    6月14日,由中國證券報主辦的2025科金牛獎頒獎典禮在上海市舉行,2025科金牛獎獲獎名單現場揭曉。其中中星微技術獲得新一代信息技術金牛科
    的頭像 發表于 06-16 14:16 ?1189次閱讀

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡安全、推動產業升級和實現數字主權的重任。簡單來
    的頭像 發表于 06-13 10:06 ?8203次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

    諾達斬獲第四屆“贏未來”集成電路賽道一等獎

    日前,“贏未來”第四屆長三角G60科走廊科技與產業創新大賽(松江賽區)暨第五屆“海聚英才”全球創新創業大賽(松江區選拔賽)成功舉辦,諾達憑借其EDA軟件及解決方案,從80余個硬科技項目中脫穎而出,斬獲集成電路賽道一等獎!
    的頭像 發表于 05-23 10:16 ?928次閱讀

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產主板的發展提供了廣
    的頭像 發表于 05-09 09:24 ?720次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    韌科技推出新主控,4K隨機讀寫超120萬IOPS行業標桿

    了一款新的主控芯片,這顆芯片在技術上有了哪些突破?針對當前洶涌而來的AI技術,又有哪些布局?為此,電子發燒友網采訪到了韌科技的CEO劉剛和數據存儲技術副總裁陳杰。 ?
    的頭像 發表于 03-26 00:10 ?3450次閱讀
    <b class='flag-5'>英</b>韌科技推出新主控,4K隨機讀寫超120萬IOPS<b class='flag-5'>創</b>行業標桿