亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM-Linux的IIC串行通信

        2013-09-12 04:24:52徐海林
        電子測試 2013年20期
        關鍵詞:嵌入式信號設備

        徐海林

        (安徽理工大學計算機科學與工程學院,安徽淮南,232001)

        0 引言

        在現(xiàn)代社會,嵌入式以及半導體技術發(fā)展迅速。嵌入式技術被應用到了社會上的各個方面,尤其以手機,平板電腦,醫(yī)療電子,自動領域更為明顯。而嵌入式技術的核心是嵌入式處理器,在眾多的嵌入式處理器領域中又以ARM最為典型。

        IIC總線是Philips公司首先推出的新一代串行擴展總線,在嵌入式系統(tǒng)中得到了廣泛的應用。本文主要研究ARMLinux系統(tǒng)中IIC設備驅動程序的設計方法。

        1 IIC總線技術介紹以及AT24C02與ARM芯片相連接

        IIC 是Inter-Integrated Circuit(集成電路總線)的縮寫,這種總線類型在八十年代初由飛利浦半導體公司設計出來。IIC總線是一種高性能的串行總線,這種總線連線少,結構簡單,使用方便,從而大大簡化系統(tǒng)的硬件設計。IIC總線由數(shù)據(jù)線SDA和時鐘線SCL兩條線構成通信線路,既可以接受數(shù)據(jù)又可以發(fā)送數(shù)據(jù)。每一個帶有IIC總線的芯片都有一個固定的地址,他們通過這個唯一固定的地址通信,互相接受和發(fā)送信息。每個IIC總線芯片都可以是一個單獨的接受者和發(fā)送者。

        1.1 IIC總線的特點

        IIC總線是一種雙向的串行接口總線,它的最大的特點就是簡單和高效率。正是這種總線采用了串行通信方式,所以IIC總線只需要很少的空間和IO接口。IIC總線通過上拉電阻連接正電源,當總線空閑時,兩根線均是高電平。連接到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA與SCL都是“線與”的關系。IIC總線的數(shù)據(jù)傳輸效率在標準模式下可以達到100Kbps,在快速模式下可以達到400Kbps,在高速模式下可以達到3.4Mbps。

        1.2 IIC總線的信號

        IIC總線總共能產生三種信號:起始信號、結束信號和響應信號。

        (1)起始信號:當SCL總線處于高電平狀態(tài),SDA總線的電平從高電平處于低電平,代表著處理器向IIC芯片發(fā)送了起始信號。

        圖1 AT24C02的芯片引腳圖

        (2)結束信號:同樣當SCL總線上的電平為高電平,SDA總線的電平從低電平處于高電平狀態(tài),代表著處理器向IIC芯片發(fā)送了結束信號。

        (3)響應信號:當芯片接受和發(fā)送完數(shù)據(jù)后,在第9個時鐘周期,拉低SDA電平,這就是響應信號,標志著數(shù)據(jù)接受完成或者讀完成。

        1.3 EEPROM AT24C02與ARM芯片連接

        AT24C02是美國公司生產的低功耗的CMOS串行EEPROM,它有四種標準工作電壓,分別是5.0V/2.7V/2.5和1.8V。AT24C02共有8個引腳,SDA引腳輸出串行數(shù)據(jù),SCL輸出串行時鐘,A1、A2、A3是地址線引腳,它決定了AT24C02 的地址,七號引腳是寫保護引腳,當它為低電平時,當WP引腳接到VCC上,所有的內容被寫保護,只能讀。AT24C02內部含有256個8位字節(jié),總共有32個頁,每個頁有8個字節(jié)。AT24C02不能發(fā)送數(shù)據(jù),它只能接受數(shù)據(jù)。AT24C02的引腳如圖1所示。

        由于IIC總線在嵌入式系統(tǒng)中的廣泛應用,S3C2440X芯片內部集成了IIC總線接口,方便系統(tǒng)對IIC總線的應用。IIC總線在主從設備中接受和收發(fā)信息,只需要對IIC的特殊功能寄存器進行相應的設置,就可以使用了。在S3C2440中,IIC特殊功能寄存器有IICCON、IICSTAT、IICDS和IICADD。S3C2440的IIC接口工作流程如圖2所示。

        圖2 S3C2440的IIC接口工作流程圖

        2 接口驅動的編寫

        在嵌入式Linux系統(tǒng)中設備驅動程序是內核的一部分,完成對設備初始化、讀寫操作和控制等功能。在廣泛應用的ARMLinux及其Android的嵌入式軟硬件系統(tǒng)中,經(jīng)常涉及到內部整合電路IIC總線的操作及其設備的添加與驅動的實現(xiàn)。

        2.1 IIC總線設備驅動模型

        ARM-Linux下,IIC總線設備驅動采用了總線設備驅動模型,IIC分為3個層次IIC內核和IIC總線驅動和IIC設備驅動。在IIC內核中定義了一個i2C_bus_type結構體,里面定義了一個mach函數(shù),一個設備鏈表,一個驅動鏈表。在ARM-Linux中通過mach函數(shù)來配對驅動鏈表中的驅動和與之相對應的設備鏈表中的設備。IIC內核中還提供了一些數(shù)據(jù)結構的定義和接口函數(shù),這些函數(shù)實現(xiàn)了一個IIC驅動的注冊、以及設備的尋找和適配器的讀寫通信代碼。在IIC 設備驅動中提供了一個IIC 設備的物理相關信息,而IIC 驅動則實現(xiàn)了從機設備驅動,包括read、write、以及ioctl等用戶層接口。

        2.2 i2C-client定義

        ARM-linux中添加IIC設備驅動,首先是編寫該設備的i2c-driver驅動,然后是編寫跟這個設備相關的i2C-client驅動,最后向系統(tǒng)注冊該驅動。為了方便編寫i2C-client,在linux內核2.6中定義了一個i2C_board_info結構體,里面的兩個重要成員name和addr可以很輕松幫我們識別設備的地址和找到該設備的i2c-driver驅動。成員name定義了該設備的名稱,上面提到的mach函數(shù)會根據(jù)成員name來配對相對應的i2c-driver。而成員addr則向內核提供了該IIC設備的唯一地址,用來辨別該設備。

        2.3 借用通用I2C-dev.c驅動添加新設備

        采用I2C-dev.c來編寫IIC驅動是最簡單的方法。它實際上是通過應用層操作IIC適配器來控制i2c設備的。I2C-dev.c是一種通用的IIC驅動,它提供了通用的read()、write()和ioctl()等函數(shù)接口。應用層通過訪問這些接口來訪問掛接在IIC適配器上的IIC設備的存儲空間和寄存器。其實I2C-dev.c對應的read()、write()是分別調用了IIC內核心的i2C_master_recv()和i2C_master_send ()函數(shù),這樣的驅動可讀性和可設計性都得到了大大的增加。

        3 結束語

        IIC總線在現(xiàn)在電子技術中得到廣泛的應用,在ARM—Linux中,采用了總線驅動模型三層設備驅動架構,使得IIC驅動程序設計更加的簡單,方便閱讀與設計。

        [1]朱文濤,桑楠,楊國武.基于S3C2410的I2C總線接口的軟件仿真與驗證,2011,9(9).

        [2]Data Manual of IIC Serial EEPROM (oaf)[K].Microchip Technology Inc.2005.

        [3]孔令成,王華.串行E2PROM的原理及應用[J].國外電子元器件,1997(8):42.

        [4]李群芳,張士軍,黃建.單片微型計算機與接口技術[M].2版.北京:電子工業(yè)出版社,2005.

        [5]楊文鉑,等.Linux下I2c設備驅動的一種適配器層直接實現(xiàn)方法[J].單片機與嵌入式系統(tǒng)應用,2011,11(6).

        [6]韋東山.嵌入式Linux 應用開發(fā)完全手冊[M].北京:人民郵電出版社.2008.

        [7]Data Manual of IIC Serial EEPROM (oaf)[K].Microchip Technology Inc.2005.

        猜你喜歡
        嵌入式信號設備
        諧響應分析在設備減振中的應用
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        基于MPU6050簡單控制設備
        電子制作(2018年11期)2018-08-04 03:26:08
        基于FPGA的多功能信號發(fā)生器的設計
        電子制作(2018年11期)2018-08-04 03:25:42
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
        500kV輸變電設備運行維護探討
        基于LabVIEW的力加載信號采集與PID控制
        原來他們都是可穿戴設備
        消費者報道(2014年7期)2014-07-31 11:23:57
        亚洲av一二三又爽又爽又色| 青楼妓女禁脔道具调教sm| 青青草视频免费观看| 久久精品免费一区二区喷潮| 91精品亚洲一区二区三区| 干出白浆视频在线观看| 国产精品亚洲片在线观看不卡| 大香伊蕉国产av| 窄裙美女教师在线观看视频| 按摩偷拍一区二区三区| 亚洲 欧美 综合 在线 精品| 亚洲精品无码久久久久秋霞| 九色91精品国产网站| 东京热日本道免费高清| 日本真人添下面视频免费| 国产自偷自偷免费一区| 亚洲一区二区三区在线观看播放| 性感的小蜜桃在线观看| 国产成a人亚洲精品无码樱花| 亚洲av无码国产剧情| 久久亚洲AV无码一区二区综合| 亚洲精品中文字幕乱码| 成人免费无遮挡在线播放| 亚洲色大成网站www尤物| 激情综合网缴情五月天| 天堂网日韩av在线播放一区| 久久久久免费看成人影片| 成年男女免费视频网站| 亚洲区1区3区4区中文字幕码| 国产毛片视频一区二区| 99久久人妻精品免费二区| 久久久国产精品免费无卡顿| 国产黄色一级大片一区二区| 久久久国产乱子伦精品| 又污又黄又无遮挡的网站| 激情亚洲综合熟女婷婷| 大陆老熟女自拍自偷露脸| 日本免费一区二区三区| 日本理论片一区二区三区| 熟女免费视频一区二区| 亚洲国产av无码专区亚洲av|