日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
虛擬SPI時(shí)序在TC77與S3C2410通信中的應(yīng)用(圖)
虛擬SPI時(shí)序在TC77與S3C2410通信中的應(yīng)用(圖)
 更新時(shí)間:2008-8-18 9:55:07  點(diǎn)擊數(shù):18
【字體: 字體顏色

    圖3  采用SPI虛擬時(shí)序法、TC77與S3C2410的連接圖

    根據(jù)TC77數(shù)據(jù)輸出時(shí)序及相關(guān)參數(shù),一次數(shù)據(jù)輸出的虛擬SPI時(shí)序步驟如下:

1.將SC和/CS置高,初始化通信,將/CS置低,延遲,進(jìn)入開始接受數(shù)據(jù)狀態(tài)。

2.將SC置低,延遲,將SC置高。

3.采樣SI/O信號線上的數(shù)據(jù),延遲。

4.轉(zhuǎn)入步驟2,循環(huán)直至收到16位數(shù)據(jù)。

5.通過將/CS置高結(jié)束通信,進(jìn)入停止?fàn)顟B(tài)。

   虛擬SPI時(shí)序在通信接口中的實(shí)現(xiàn)如下:

    (1)設(shè)備的初始化及卸載

   當(dāng)設(shè)備驅(qū)動程序通過insmod程序插入到核心時(shí),內(nèi)核調(diào)用模塊的init函數(shù),該函數(shù)名通過一個(gè)名為module-init的宏定義聲明,比如:module-init(init-temperature),

  Static int_ _init  inti-temperature(void)

{…

   temperature-file=create-proc-entry(“tem”,044,NULL);//建立/proc/tem文件

   temperature-fileàdata=NULL;//無需參數(shù)

temperature-file àread-proc=&proc_read;//指向回調(diào)函數(shù)指針,該函數(shù)會在文件讀操作時(shí)執(zhí)行

temperature-file àwrite-proc=NULL;//無需寫文件

temperature-file àowner=THIS_MODULE;//該文件為本模塊使用

gpbase=ioremap_nicache(0x56000000,0x80);//映射E端口虛地址

spi_con=readl(gpbase+0x40) ;//取出E端口控制字寄存器值

spi_dat=readl(gpbase+0x44);// 取出E端口數(shù)據(jù)寄存器值

writel(spi_con&0xf03fffff|0x05000000,gpbase+0x40) ;//E端口中E12、E13管腳設(shè)為輸出

//模式,E11設(shè)定為輸入模式

     …

}

模塊卸載時(shí)通過用module_exit(cleanup-temperature)宏定義聲明卸載函數(shù)。、

Static void_ _ exit cleanup-temperature(void)

{ …

  writel(gpbase+0x40,spi_con);//恢復(fù)E端口控制字

  writel(gpbase+0x44,spi_dat);//恢復(fù)E端口控制字寄存器值

  iounmap(gpbase);//取消虛地址映射

}

                                       

(2) 溫度采集函數(shù)

Static int proc_read (char *page, char **start,off_t off, int count, int *eof, void *data)

int len,temperature,i;

 Writel(spi_dat&0xdfff,gpbase+0x44);// E13管腳設(shè)為低電平,發(fā)出選通信號

udelay(100);

Temperature=0;

For(i=0;i<16;i++){

writel(spi_dat&0xefff,gpbase+0x44)// E12引腳設(shè)為低,即時(shí)鐘線變?yōu)榈?/P>

 Udelay(100);

writel(spi_dat|0x1000,gpbase+0x44);// E12引腳設(shè)為高,即時(shí)鐘線變?yōu)楦?/P>

 Udelay(100);

temperature=((temperature<<1|(readl(gpbase+0x44)&(0x0800= =0x0800))//讀取E11引腳狀態(tài)

}

writel(spi_dat|0x02000,gpbase+0x44);// E13管腳設(shè)為高電平,取消選通狀態(tài)

temperature/=128;

len=sprintf(page,”%+d”,temperature);

Return len;

}

(3)溫度數(shù)據(jù)的讀取

  在用戶程序中,對設(shè)備文件/proc/temp讀取采集到的溫度值。

main()

{

   …

   Int fd=open(“/proc/temperature”,O_RDONLY );

   read(fd,buffer,buffer_length);

   close(fd);

   …

}

    5 結(jié)論

   SPI總線現(xiàn)已廣泛應(yīng)用于各種數(shù)字電路中,能夠與各種微處理器相連。尤其是在沒有設(shè)置SPI專用接口的場合,采用虛擬SPI的方法是一種簡便易行的解決方案。實(shí)踐證明,虛擬SPI時(shí)序技術(shù)實(shí)現(xiàn)的通信具有穩(wěn)定、正確、健壯、易用的特點(diǎn),其系統(tǒng)功能實(shí)現(xiàn)的可靠性以及成本、功耗等方面也都能滿足相關(guān)的需求。由于Linux操作系統(tǒng)源碼開放、成熟、性能穩(wěn)定,越來越多的開發(fā)人員將其作為首要的開發(fā)平臺,本系統(tǒng)中數(shù)字溫度傳感器TC77與S3C2410的通信實(shí)例為Linux環(huán)境下嵌入式系統(tǒng)開發(fā)中遇到類似問題的解決提供了有力的參考。 

    參考文獻(xiàn):

[1]Samsung Electronics Limited. User’s Manual of S3C2410.

[2]Microchip Technology Inc. User’s Manual of TC77.

[3]Karim Yaghmour. Building Embedded Linux Systems [M]. Publisher: O’Relly&Associates, 2003

  • 上一篇: 支持HomePNA規(guī)范的模塊
  • 下一篇: 嵌入式模數(shù)轉(zhuǎn)換器的原理及應(yīng)用(圖)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1