99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內不再提示

英創(chuàng)信息技術嵌入式Linux工控板EM9160介紹

英創(chuàng)信息技術 ? 來源:英創(chuàng)信息技術 ? 作者:英創(chuàng)信息技術 ? 2020-01-14 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

I2C總線配置:PWM調用函數(shù)fd=open(”/dev/em9x60_i2c”, O_RDWR)打開設備文件后,首先需要配置總線,具體操作是把參數(shù)設置到指定的數(shù)據(jù)結構中,再調用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,可用于大多數(shù)RTC、AD芯片;=1:高速時指波特率接近400kbps;=2:全速的波特率可高達1Mbps,主要用于存儲器類型的芯片。設置操作如下:

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

I2C數(shù)據(jù)寫:EM9160的I2C總線寫操作,由數(shù)據(jù)結構struct i2c_io來傳遞參數(shù)和數(shù)據(jù),具體定義可查看em9x60_drivers.h。寫操作支持一次最多可寫入16個字節(jié),但具體寫入多少還受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個字節(jié)
io_info.data_buf[0] = 0x30; //注意是BCD碼
rc = ioctl(fd, EM9X60_I2C_IOCTL_WRITE, &in_info); //執(zhí)行寫操作

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

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個字節(jié)
rc = ioctl(fd, EM9X60_I2C_IOCTL_READ, &in_info); //執(zhí)行讀操作

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

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

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

    關注

    41

    文章

    3682

    瀏覽量

    131367
  • Linux
    +關注

    關注

    87

    文章

    11509

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    聚徽智控——從嵌入式到邊緣計算:平板工控電腦的技術進化論

    在工業(yè)數(shù)字化轉型的浪潮中,平板工控電腦作為核心終端設備,正經歷從嵌入式系統(tǒng)到邊緣計算架構的范式革命。這一進化不僅重塑了設備的技術形態(tài),更推動了工業(yè)互聯(lián)從“數(shù)據(jù)采集”向“智能決策”的跨越。本文將從
    的頭像 發(fā)表于 06-13 13:48 ?231次閱讀

    嵌入式工控機VS普通工控機,哪個產品的性能更好?

    嵌入式工控機與普通工控機相比, 嵌入式工控機區(qū)別在哪里?優(yōu)勢在哪里呢? 嵌入式
    的頭像 發(fā)表于 04-30 17:53 ?298次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>機VS普通<b class='flag-5'>工控</b>機,哪個產品的性能更好?

    無風扇嵌入式工控機特點

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

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

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

    北京迅為RK3568開發(fā)嵌入式學習之Linux驅動全新更新-CAN+

    北京迅為RK3568開發(fā)嵌入式學習之Linux驅動全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?1041次閱讀
    北京迅為RK3568開發(fā)<b class='flag-5'>板</b><b class='flag-5'>嵌入式</b>學習之<b class='flag-5'>Linux</b>驅動全新更新-CAN+

    嵌入式linux開發(fā)的基本步驟有哪些?

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

    嵌入式linux開發(fā)怎么操作

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

    嵌入式linux開發(fā)芯片的工作原理

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

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

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

    研華嵌入式工控機EPC 系列:創(chuàng)新驅動的工業(yè)控制解決方案

    機。不同系列的嵌入式工控機在性能、接口、擴展性等方面會有所差異。本篇蘇州研訊電子科技有限公司就來簡單介紹下 研華嵌入式工控機 EPC 系列:
    的頭像 發(fā)表于 08-26 15:22 ?936次閱讀
    研華<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>機EPC 系列:創(chuàng)新驅動的工業(yè)控制解決方案

    學習hypervisor嵌入式產品安全設計

    第一部分(第1~2章)介紹Hypervisor基礎,涵蓋虛擬化技術與實現(xiàn)、主流的嵌入式Hypervisor產品,以及基于分離內核的嵌入式Hypervisor等內容。第二部分(第3~12
    發(fā)表于 08-25 09:11

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

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

    聚徽-嵌入式工控機在性能方面有什么優(yōu)勢

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

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

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

    聚徽觸控-嵌入式工控機與傳統(tǒng)工控機有什么不同

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