新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Linux的MISC類設(shè)備AD7859L的驅(qū)動程序開發(fā)

        基于Linux的MISC類設(shè)備AD7859L的驅(qū)動程序開發(fā)

        作者: 時間:2010-11-02 來源:網(wǎng)絡(luò) 收藏

          1 引言

        本文引用地址:http://www.104case.com/article/151386.htm

          在嵌入式系統(tǒng)中ARM微核的嵌入式處理器已經(jīng)成為市場主流。隨著ARM技術(shù)的廣泛應(yīng)用,建立面向ARM構(gòu)架的嵌入式操作系統(tǒng)成為測量行業(yè)的熱點問題。在LINUX操作系統(tǒng)中添加新的外部時,只需為其添加對應(yīng)的程序即可。介紹另一種程序的編寫方式,即采用。其實質(zhì)也是一個字符??蓪⒂脩舾鞣N不同的設(shè)備類型合成到一種類型中,共用一個主設(shè)備號,通過不同的次設(shè)備號和設(shè)備節(jié)點名來區(qū)分??煞奖愎芾磉@些驅(qū)動模塊。字符型的驅(qū)動設(shè)備模塊在掛載時都要分配主設(shè)備號、次設(shè)備號和創(chuàng)建設(shè)備節(jié)點名,在卸載驅(qū)動設(shè)備時還必須同時刪掉設(shè)備節(jié)點名。通過采用類設(shè)備,在掛載設(shè)備驅(qū)動時無須再用到mknod命令分配主設(shè)備號、次設(shè)備號和創(chuàng)建設(shè)備節(jié)點名,在insmodl掛載之后,只須mdev—s就能自動裝配/dev目錄下的設(shè)備文件。

          2 的引腳功能描述和寄存器

          的引腳功能描述如表1所示。

          

        AD7859L的引腳功能描述 www.elecfans.com


          包含一個控制寄存器,A/D轉(zhuǎn)換輸出寄存器,狀態(tài)寄存器,測試寄存器和10位校正寄存器??刂萍拇嫫髦荒軐懭?,A/D轉(zhuǎn)換輸出寄存器和狀態(tài)寄存器只能讀取,測試寄存器和校正寄存器是可讀可寫的。

          向AD7859L寫入數(shù)據(jù)時,數(shù)據(jù)寬度必須是16位。16位數(shù)據(jù)寫入AD7859L時,既可作為一個16位字,也可作為2個8位字節(jié),取決于引腳W/B上的邏輯電平。當W/B接高電平時,16位數(shù)據(jù)從DB0傳輸?shù)紻Bl5,DB0為最低位,DBl5為最高位。當W/B接低電平時,引腳DB8/HBEN作為高字節(jié)使能,2個8位字節(jié)的數(shù)據(jù)從DB0傳輸?shù)紻B7,DB0為最低位,DB7為最高位。當以2個8位字節(jié)寫入數(shù)據(jù)時,必須先寫低字節(jié),再寫高字節(jié)。16位數(shù)據(jù)的最高2位ADDRl、ADDR0,通過編碼決定訪問哪一個寄存器,后面的14位數(shù)據(jù)寫入該寄存器。表2為編碼分布。

          讀寄存器時必須先設(shè)置控制寄存器的DB6和DB7位,即RDSLTO和RDSLTl。這2位通過編碼決定訪問哪一個寄存器。上電時這2位初始值是00,因此讀取操作訪問的寄存器是A/D轉(zhuǎn)換輸出寄存器。同寫寄存器一樣,字模式或者字節(jié)模式均可以。當以字節(jié)模式讀校正寄存器時,必須先讀低字節(jié)。

          3 AD7859L驅(qū)動程序

          操作系統(tǒng)一般提供設(shè)備驅(qū)動程序完成對特定硬件的控制,以建立應(yīng)用程序和設(shè)備之間的抽象接口,而不是應(yīng)用程序直接操作硬件。設(shè)備驅(qū)動程序?qū)嶋H上是操作硬件的軟件,是內(nèi)核中具有最高特權(quán)級的、駐留內(nèi)存的、可共享的底層硬件處理例程。

          采用類設(shè)備來添加AD7859L驅(qū)動。AD7859L的結(jié)構(gòu)體定義語句如下:

          

        AD7859L的結(jié)構(gòu)體定義語句 www.elecfans.com linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 3 4 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 张北县| 宁安市| 五河县| 洛川县| 沅陵县| 新巴尔虎左旗| 海林市| 宁强县| 宁陕县| 枣阳市| 太白县| 体育| 青冈县| 泉州市| 灌南县| 松滋市| 防城港市| 炉霍县| 屏山县| 临清市| 海宁市| 赤城县| 思茅市| 徐闻县| 长岭县| 江达县| 微山县| 南开区| 镇雄县| 永春县| 定结县| 福安市| 且末县| 安丘市| 临泽县| 靖西县| 旅游| 霍州市| 婺源县| 南江县| 普安县|