精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

英創信息技術嵌入式Linux工控板EM9160介紹

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-14 10:57 ? 次閱讀

I2C總線是一種2線制的主從通訊協議,主要運用于器件之間的數據通訊,在嵌入式系統中得到非常廣泛的應用。作為一款高性價比的嵌入式Linux工控板,EM9160的對I2C總線提供了良好的支持,其主要特點是EM9160的16位GPIO中的任意位都可作為I2C總線的時鐘信號SCL或數據地址信號SDA,這樣客戶可根據自己整機的具體情況,靈活的配置EM9160的GPIO管腳來作為I2C總線信號。

在Linux環境,I2C的驅動程序已自動加載,其設備文件名為“/dev/em9x60_i2c”。應用程序通過3個IOCTL命令來操作I2C接口:首先需要配置I2C總線資源,包括SCL、SDA信號和通訊速度,然后才能根據具體芯片的特性對其內部寄存器進行讀寫操作。以下以電力智能終端中廣泛使用的RTC芯片RX-8025為例,對I2C的操作流程作進一步的介紹。

硬件電路:RX-8025是一種帶I2C總線接口的實時時鐘(RTC)芯片,具有精確調整的晶體頻率,可滿足電力智能終端需求。在下圖中,EM9160的GPIO6作為I2C總線的SCL信號、GPIO7作為SDA信號,注意10K上拉是必須的。

I2C總線配置:PWM調用函數fd=open(”/dev/em9x60_i2c”, O_RDWR)打開設備文件后,首先需要配置總線,具體操作是把參數設置到指定的數據結構中,再調用IOCTL命令如下:

struct i2c_config config; //定義在em9x60_drivers.h
config.scl_gpio_num = GPIO6; //GPIO6作為SCL,定義見em9x60_drivers.h
config.sda_gpio_num = GPIO7; //GPIO7作為SCL
config.speed = 0; //=0:正常速度;=1:高速;=2:全速

I2C總線的速度指波特率,=0是最通常的速度,大約200kbps,可用于大多數RTC、AD芯片;=1:高速時指波特率接近400kbps;=2:全速的波特率可高達1Mbps,主要用于存儲器類型的芯片。設置操作如下:

rc = ioctl(fd, EM9X60_I2C_IOCTL_CONFIG, &config);

I2C數據寫:EM9160的I2C總線寫操作,由數據結構struct i2c_io來傳遞參數和數據,具體定義可查看em9x60_drivers.h。寫操作支持一次最多可寫入16個字節,但具體寫入多少還受I2C器件本身的限制,如RX-8025只支持一次對一個寄存器寫入,例如寫入30秒到RTC的秒寄存器的具體代碼操作如下:

struct i2c_io io_info;
io_info.dev_addr = RX8025_ADDR; //RX8025_ADDR定義在RX-8025.h
io_info.reg_addr = SEC_REG; //SEC_REG定義在RX-8025.h
io_info.data_len = 1; //1個字節
io_info.data_buf[0] = 0x30; //注意是BCD碼
rc = ioctl(fd, EM9X60_I2C_IOCTL_WRITE, &in_info); //執行寫操作

I2C數據讀:EM9160的I2C總線讀操作,由數據結構struct i2c_io來傳遞參數和數據,具體定義可查看em9x60_drivers.h。讀操作支持一次最多可寫入16個字節,但具體一次讀出多少字節還受I2C器件本身的限制,RX-8025支持一次讀出多個寄存器的數據,例如一次讀取全部日期時間信息共7個字節,具體代碼操作如下:

struct i2c_io io_info;
io_info.dev_addr = RX8025_ADDR; //RX8025_ADDR定義在RX-8025.h
io_info.reg_addr = SEC_REG; //SEC_REG定義在RX-8025.h
io_info.data_len = 7; //7個字節
rc = ioctl(fd, EM9X60_I2C_IOCTL_READ, &in_info); //執行讀操作

I2C數據讀寫所用的數據結構中,reg_addr表示被讀寫器件的寄存器地址,若為單字節地址,該變量的最高位(MSB = D31)應為0;若為雙字節地址,地址占用reg_addr的D15 - D0(最低位,LSB),而變量的最高位D31必須置為1。另外,對不需要寄存器的器件,可把reg_addr設置為0xFFFFFFFF,這時驅動程序將不再發送寄存器地址。上述代碼中從RX-8025讀出的數據均為BCD,通常需要轉換成C語言的整型數據類型。

為了方便客戶使用RX-8025,我們編寫了通過EM9160的I2C驅動程序操作RTC的范例程序,包括啟動RTC,設置時間,讀取時間等功能。感興趣的客戶可向英利公司技術支持索取范例源碼。

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

    關注

    41

    文章

    3566

    瀏覽量

    129227
  • Linux
    +關注

    關注

    87

    文章

    11227

    瀏覽量

    208924
收藏 人收藏

    評論

    相關推薦

    無風扇嵌入式工控機特點

    隨著信息技術的飛速發展和工業自動化程度的不斷提高,工業控制領域對嵌入式工控機的需求日益增加。無風扇嵌入式工控機作為這一領域的重要組成部分,因
    的頭像 發表于 11-18 15:16 ?125次閱讀
    無風扇<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>機特點

    嵌入式工控機如何使用?嵌入式工控機操作方法及注意事項

    嵌入式工控機作為現代工業自動化和控制系統中重要的硬件支持,廣泛應用于生產線監控、軌道交通、電力能源等多個領域。其穩定性、可靠性以及適應惡劣環境的能力,使其成為許多行業的首選。那么,嵌入式工控
    的頭像 發表于 10-18 10:02 ?214次閱讀

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是嵌入式Linux開發的基本步驟,以及每個步驟的說明。 硬件選擇 在開始
    的頭像 發表于 09-02 09:11 ?398次閱讀

    嵌入式linux開發怎么操作

    嵌入式Linux開發是一種基于Linux操作系統的嵌入式系統開發平臺。它通常包括一個處理器、內存、存儲器、輸入/輸出接口等硬件組件,以及一
    的頭像 發表于 09-02 09:09 ?327次閱讀

    嵌入式linux開發芯片的工作原理

    嵌入式Linux開發是一種基于Linux操作系統的嵌入式系統開發平臺,它廣泛應用于工業控制、智能家居、智能交通、醫療設備等領域。
    的頭像 發表于 09-02 09:07 ?335次閱讀

    飛凌嵌入式技術創新日(深圳站)精彩回顧

    工的分享,則更加側重于嵌入式技術的研發和創新,為與會者提供了新的問題解決思路;最后,粵港澳大灣區國中心技術專家的溫老師 介紹了openEu
    發表于 08-28 09:06

    聚徽-嵌入式工控機是如何散熱的

    嵌入式工控機散熱主要依賴于以下幾種方式:
    的頭像 發表于 08-14 09:21 ?306次閱讀

    聚徽-嵌入式工控機在性能方面有什么優勢

    嵌入式工控機,亦被稱為 Box 整機或 Embedded Industrial Computer,是專為工業現場環境打造的緊湊型計算機。與普通工控機相比,嵌入式
    的頭像 發表于 08-13 09:25 ?303次閱讀

    嵌入式工控一體機的安裝方法和使用注意事項?

    客戶咨詢嵌入式工控一體機的安裝問題和維護問題,本文中為大家介紹一下嵌入式工控一體機的安裝方法和使用注意事項。
    的頭像 發表于 08-04 11:12 ?1124次閱讀

    聚徽觸控-嵌入式工控機與傳統工控機有什么不同

    嵌入式工控機得到了飛速的發展,其應用領域也愈發廣泛。在某些行業和場景中,傳統的工控機已經被新型的嵌入式工控機所替代。如今,
    的頭像 發表于 07-24 09:31 ?359次閱讀

    什么是嵌入式工控機?它有哪些特點?

    隨著工業自動化程度的不斷提高,嵌入式工控機作為工業控制領域的重要設備,其地位和作用日益凸顯。嵌入式工控機以其獨特的設計理念和卓越的性能特點,在工業控制、智能制造等領域發揮著重要作用。本
    的頭像 發表于 06-11 17:58 ?1235次閱讀

    基于AMD、ARM、Intel和NVIDIA技術構建的嵌入式工控

    嵌入式工控機具有高度可定制性,可以滿足所有行業的所有邊緣計算任務。在AMD、ARM、Intel和NVIDIA等領先技術公司的支持下,我們擁有適用于所有工業應用的全系列經過預審的嵌入式
    的頭像 發表于 05-22 17:13 ?507次閱讀
    基于AMD、ARM、Intel和NVIDIA<b class='flag-5'>技術</b>構建的<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>機

    嵌入式工控機是什么?嵌入式工控機有哪些特點?技術特點是什么?

    ? ? ? ?嵌入式工控機是一種由工業設備生產的特殊單板計算機,就像個人計算機切片的功能一樣,專門為某個行業設計。嵌入式工業計算機主要用于銀行,工業智能設備和其他需要高可靠性和穩定性的領域。
    的頭像 發表于 04-12 08:47 ?389次閱讀

    嵌入式工控機性能特點 嵌入式工控機應用場景

    嵌入式工控機性能特點 嵌入式工控機應用場景 嵌入式工控機是一種專門設計用于工業控制系統的計算機設
    的頭像 發表于 02-04 11:35 ?638次閱讀

    嵌入式工控機與傳統工控機的區別

    嵌入式工控機與傳統工控機的區別? 嵌入式工控機和傳統工控機是兩種不同類型的工業控制計算機設備,雖
    的頭像 發表于 02-04 11:35 ?622次閱讀