新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DS1621在Linux下的IIC接口驅動設計

        DS1621在Linux下的IIC接口驅動設計

        作者: 時間:2013-02-25 來源:網絡 收藏

        驅動程序設計流程圖

        圖4 驅動程序設計流程圖

          3.1 設備驅動的主要函數

          對于字符設備,內核對這些操作進行了統一的抽象,把它們定義在結構體file-operation中。通常,字符設備提供給應用程序的是一個流控制接口,主要包括open、release、read、ioctl等。


          3.2 從器件,設備的初始化代碼


          3.3 IIC總線的初始化

          對的IIC控制器進行配置時需要用到的寄存器有:IICCON、IICSTAT、IICDS、IICADD。

          IICCON:IIC總線控制寄存器;IICSTAT:IIC總線控制狀態寄存器;HCDS:IIC總線接收/發送數據移位寄存器;IICADD:IIC總線地址寄存器。

          1)的GPE15為HCSDA,是串行數據線端口,GPE14為IICSCL,是串行時鐘線;

          2)將IICCON設置為:0xA7,表示傳輸過程中ACK應答使能,IIC的工作時鐘為:HCCLK=fpclk/512,IlC總線中斷使能,數據傳輸的時鐘為:Tx clock=IICCLK/(IICCON[3:O]+1),約為400 k/s;

          3)將IICSTAT置為:0x10,即使用從器件接收數據模式,數據輸出/接收使能。


          3.4 主器件從HC總線讀數據

          對于的寄存器配置,當通過IIC讀取從器件的數據時,需要切換數據收發的方向,先在主機發送數據模式下,向從器件DS1621發送從地址、DS1621內部寄存器的子地址和寫信號位,然后在主機接收數據模式下,再次向從器件發送從地址和讀信號位,并將子地址內的數據讀回,其讀數據操作如圖5所示。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 噶尔县| 壶关县| 德钦县| 枣阳市| 巩留县| 海门市| 贵港市| 吉安县| 资中县| 海丰县| 凤翔县| 潞西市| 永寿县| 理塘县| 渝北区| 揭阳市| 彭州市| 茌平县| 乡城县| 崇左市| 灵璧县| 敖汉旗| 阳西县| 通化县| 错那县| 温州市| 黄平县| 慈溪市| 镇雄县| 阜平县| 星子县| 大石桥市| 云南省| 庆元县| 惠东县| 哈巴河县| 武邑县| 克山县| 饶河县| 安徽省| 武义县|