国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SMP8654平臺的RTC驅(qū)動實現(xiàn)

2012-04-29 20:23楊北海韓霜王敬儒
電腦知識與技術(shù) 2012年26期
關(guān)鍵詞:驅(qū)動

楊北海 韓霜 王敬儒

摘要:隨著嵌入式的發(fā)展,定時器Real-Time Clock(RTC)的使用越來越廣泛。結(jié)合Linux環(huán)境,使用Sigma Designs推出的全新SOC SMP8654多媒體處理方案平臺來實現(xiàn)基于linux操作系統(tǒng)下RTC(實時時鐘芯片)驅(qū)動。該文首先研究了SMP8654系統(tǒng)的框架,然后利用I/O口來模擬I2C協(xié)議進(jìn)行數(shù)據(jù)通信,最后詳細(xì)介紹了基于linux下RTC驅(qū)動的整體架構(gòu)以及模塊的實現(xiàn)。

關(guān)鍵詞:SMP8654;Linux;RTC;I2C;驅(qū)動

中圖分類號:TP316文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)26-6403-03

Based on SMP8654 Platform RTC Driver to Achieve

YANG Bei-hai, HAN Shuang, WANG Jing-ru

(Navy Maritime Security Repair Factory, Qingdao 266071, China)

Abstract:With the development of embedded timer Real-Time Clock(RTC)is more widely used. Linux environment, use the SOC SMP8654 Sigma Designs launch new multimedia processing solutions platform based on the Linux operating system, RTC(real-time clock chip) driver. The paper first studied the the SMP8654 systems framework, and then use the I / O port to emu? late I2C protocol for data communications, the last details of the implementation of the overall architecture and modules based on RTC driver under linux.

Key words: SMP8654; Linux; RTC; I2C items; driver 2.1 I2C協(xié)議及總線模擬

I2C協(xié)議是由PHILIPS公司開發(fā)的兩線串行總線,主要用于連接CPU與外圍設(shè)備。I2C總線由兩線組成,分別為串行數(shù)據(jù)總線(SDA)和串行時鐘總線(SCL),連接于I2C總線上的每一個設(shè)備都有唯一的地址進(jìn)行識別,并且都可以作為發(fā)送器或者接收器。數(shù)據(jù)傳輸速率在標(biāo)準(zhǔn)模式下為100Kbit/S,在快速模式下達(dá)到400Kbit/S[3]。

I2C總線對數(shù)據(jù)的傳輸以及命令的控制都是通過時序信號來實現(xiàn)[4],主要信號包含三種:起始、停止以及應(yīng)答。當(dāng)SCL線為高電平時,SDA線由高電平向低電平切換表示為起始信號;當(dāng)SCL線為高電平而SDA線由低電平向高電平切換表示為停止信號;當(dāng)設(shè)備接收到八位數(shù)據(jù)時,必須向發(fā)送端發(fā)送一個應(yīng)答信號,在響應(yīng)的時鐘脈沖期間,發(fā)送端將SDA置為高電平,接收端將SDA線置為低

在這個結(jié)構(gòu)中,所有的功能基本由上層調(diào)用ioctl來實現(xiàn)完成:

int pcf8563_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)

在這個函數(shù)中,cmd的傳輸讀寫命令為RTC_RD_TIME與RTC_SET_TIME,arg為指向struct rtc_time結(jié)構(gòu)指針,用于存取時間。函數(shù)首先讀取用戶傳輸?shù)拿頲md,判斷是讀或者寫,如果是讀時間,則調(diào)用rtc_read函數(shù)進(jìn)行寄存器的讀取,數(shù)據(jù)保存在arg參數(shù);如果是寫時間,則調(diào)用rtc_write函數(shù)往寄存器寫入數(shù)據(jù)。

本文介紹了基于SMP8654平臺的RTC驅(qū)動開發(fā)實現(xiàn),主要介紹了平臺的硬件結(jié)構(gòu)并采用I/O口來模擬I2C總線協(xié)議,并在此基礎(chǔ)上實現(xiàn)了RTC字符設(shè)備驅(qū)動程序。該驅(qū)動程序包含了底層對設(shè)備的讀寫以及對上層應(yīng)用程序的數(shù)據(jù)傳輸,實現(xiàn)了RTC時鐘功能。

[1]鄭靈翔.嵌入式系統(tǒng)設(shè)計與應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2006.

[2]涂剛,陽富民,胡貫榮.嵌入式操作系統(tǒng)綜述[J].計算機(jī)應(yīng)用研究,2000(11):4-5,9.

[3]張勇,郭嘉崴.嵌入式linux實時性分析與實時性改進(jìn)[J].沈陽師范大學(xué)學(xué)報:自然科學(xué)版,2006(4).

[4]周立功,陳明記,陳渝.ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例[M].北京:北京航空航天大學(xué)出版社,2006.

[5]毛德操,胡希明.Linux內(nèi)核源代碼情景分析[M].杭州:浙江大學(xué)出版社,2001.

猜你喜歡
驅(qū)動
基于模糊PI控制的驅(qū)動防滑仿真系統(tǒng)分析
屈宏斌:未來五年,雙輪驅(qū)動,砥礪前行
軌旁ATC系統(tǒng)門控柜接收/驅(qū)動板改造
在808DA上使用WIFI進(jìn)行驅(qū)動數(shù)據(jù)同步
基于S3C6410的Wi-Fi驅(qū)動移植實現(xiàn)
創(chuàng)新驅(qū)動 攻堅克難