www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式系統(tǒng)的SD控制器設(shè)計實現(xiàn)

引言

  在目前的掌上電腦等嵌入式系統(tǒng)中,SD(securedigital)卡以其體積小和引腳數(shù)少的優(yōu)勢,提供了比CF更好的外部設(shè)備擴展解決方案。因此,如何在系統(tǒng)中集成SDHost控制模塊,以及在嵌入式操作系統(tǒng)里面實現(xiàn)其驅(qū)動程序,都是目前嵌入式系統(tǒng)設(shè)計者要考慮的問題。
 

        本文實現(xiàn)所采用的開發(fā)平臺是基于SAMSUNG公司的S3C2410AARM微處理器,利用處理內(nèi)部的SD控制模塊,采用GPIO擴展的方法實現(xiàn)SDHost控制器。

        使用S3C2410A的SD控制模塊,通過對GPIO功能的擴展來完成SD的檢測和寫保護的功能,實現(xiàn)SDHost控制器相對比較靈活。在進行驅(qū)動程序開發(fā)過程中,對SD卡檢測進行防抖動處理是必要的,必須根據(jù)系統(tǒng)電路特性來確定合適的檢測時機,在驅(qū)動程序里面實現(xiàn)防抖動處理,保證整個系統(tǒng)的效率。

  1 SDHost硬件設(shè)計

  SCDA1A0100是ALPS公司生產(chǎn)的SD卡連接插槽,采用高可用的滑動觸點開關(guān),能夠準(zhǔn)確地檢測到卡插入的時機。

  通過小型化和薄型化設(shè)計,已經(jīng)廣泛應(yīng)用于PDA,數(shù)碼相機和個人電腦。當(dāng)插槽有SD卡插入時,SD卡會觸動槽內(nèi)的觸點開關(guān),引起卡的檢測引腳和寫保護引腳的相應(yīng)電平變化。

  Samsung的S3C2410A內(nèi)部支持SDHost的控制模塊,有SDHost控制寄存器和可以用于SDHost控制器的IO引腳,可用編程的方法對其功能進行選擇;但對于SD卡的檢測,寫保護和插槽的電源使能等功能沒有專門的引腳。在本文實現(xiàn)中,對于卡檢測、電源引腳,通過GPIO擴展來實現(xiàn)。部分引腳定義如表1所示。

  表1 S3C2410A部分GPIO引腳功能定義

  

 

  S3C2410A的GPIO引腳分為GPA,GPB等8組,每組的IO引腳有控制寄存器(GPxCON),數(shù)據(jù)寄存器(GPxDAT),Pull-Up寄存器(GPxUP)進行控制。每根引腳所在的GPxCON里有對應(yīng)位控制其功能,通過對GPxCON編程來控制其功能,某一時刻,該引腳只能使用一種功能。

  對于SD卡檢測引腳,需要配置成外部中斷源(EINTx),對應(yīng)的EXTINT0,EXTINT1和EXTINT2寄存器控制該中斷源的觸發(fā)模式:低電平觸發(fā),高電平觸發(fā),前沿觸發(fā),后沿觸發(fā)或是前后沿觸發(fā)。

  S3C2410A時鐘控制邏輯有兩個鎖相環(huán)路PLL(phaselockedloop):UPLL專用于USB時鐘;MPLL能夠產(chǎn)生系統(tǒng)要求的3種時鐘信號:FCLK供CPU內(nèi)核使用,HCLK供系統(tǒng)總線使用,PCLK供外部總線使用。通過對MPLL控制寄存器MPLLCON配置,可以產(chǎn)生需要的時鐘頻率。

  在時鐘控制邏輯里,寄存器CLKCON用來控制如USB,LCD,UART,SD等接口模塊的時鐘使能。其中bit[9]用于控制SD/MMC接口的時鐘。SDHost控制器不能直接使用PCLK信號。正常工作模式下,F(xiàn)CLK為266MHz,PCLK為66.5MHz,而SD卡的最高時鐘為25MHz,MMC卡最高為20MHz。通過對SDIPRE寄存器的bit[0-7]設(shè)置可以對PCLK進行分頻,選擇合適SD/MMC卡的工作頻率。分頻公式為:

  Clockrate=PCLK/2/(SDIPRE[0-7]+1)

  2 驅(qū)動程序的實現(xiàn)

  2.1 驅(qū)動程序體系結(jié)構(gòu)

  我們?yōu)殚_發(fā)平臺上運行的WindowsCE系統(tǒng)開發(fā)了SDHost控制器的驅(qū)動程序。WindowsCE下,驅(qū)動程序是用戶態(tài)的DLL,這些DLL向內(nèi)核提供一些接口函數(shù),這樣設(shè)備管理模塊就可以通過這些函數(shù)與具體的硬件設(shè)備進行通信。

  WindowsCE的驅(qū)動程序模型主要有兩種類型:流式接口驅(qū)動和本地設(shè)備驅(qū)動。流式設(shè)備驅(qū)動向上層提供統(tǒng)一的流式設(shè)備接口,而本地設(shè)備驅(qū)動可根據(jù)具體設(shè)備要求提供相應(yīng)接口。[!--empirenews.page--]本文實現(xiàn)中SDHost的驅(qū)動程序采用流式接口驅(qū)動模型。

 

  驅(qū)動程序要實現(xiàn)相應(yīng)的XXX_Open(),XXX_Close(),XXX_Init(),XXX_Deinit(),XXX_IOControl(),XXX_Read(),XXX_Write(),XXX_Seek(),XXX_PowerUp(),XXX_PowerDown()等接口函數(shù),其中XXX為設(shè)備驅(qū)動的前綴,應(yīng)用程序可以通過文件操作來控制設(shè)備。

  為了減少了SDHost驅(qū)動程序設(shè)計的復(fù)雜性,使其具有較好的可移植性,采用SDHostDDK,它在BSQUARESD協(xié)議棧的基礎(chǔ)上,提供了平臺獨立的總線和客戶端驅(qū)動和一組標(biāo)準(zhǔn)化的API供使用。BSQUARESD卡的協(xié)議棧結(jié)構(gòu)如圖1所示。

  

 

  圖1 SD卡協(xié)議棧體系結(jié)構(gòu)

  該結(jié)構(gòu)的設(shè)計很大程度上減少了SDHost驅(qū)動程序設(shè)計的復(fù)雜性,使SDHost控制器驅(qū)動程序設(shè)計可以專著于硬件相關(guān)的部分??偩€驅(qū)動是SD卡客戶端驅(qū)動程序和SDHost驅(qū)動程序之間的一個抽象層,它為SD卡客戶端驅(qū)動提供平臺獨立的服務(wù)接口。SDHost驅(qū)動程序需要完成處理器和硬件平臺相關(guān)的處理,向上層驅(qū)動提供統(tǒng)一的服務(wù)接口。

  2.2 中斷控制

  中斷控制是設(shè)備驅(qū)動程序里的關(guān)鍵部分,它關(guān)系到操作系統(tǒng)的實時相應(yīng)速度和系統(tǒng)的整體性能。WindowsCE是通用的嵌入式系統(tǒng),它在中斷處理方面也有一定實時能力。

  WindowsCE處理中斷的過程分為兩部分實現(xiàn):核心的ISR和用戶線程IST。ISR實現(xiàn)一般要求短小精悍、效率很高,它只實現(xiàn)簡單的功能:響應(yīng)設(shè)備中斷并返回一個中斷標(biāo)識碼。IST是用戶態(tài)線程,負(fù)責(zé)處理具體的中斷事務(wù)。

  當(dāng)有硬件設(shè)備產(chǎn)生中斷時,系統(tǒng)進入核心ISR執(zhí)行,響應(yīng)設(shè)備中斷并返回一個中斷標(biāo)識碼,核心根據(jù)返回的中斷標(biāo)識碼設(shè)置相應(yīng)的事件,該事件將引起IST的執(zhí)行,處理具體的中斷事務(wù)。處理過程如圖2所示。

  

 

  圖2 WindowsCE中斷處理過程

  本實現(xiàn)中用到了下列中斷:SD卡檢測中斷,SDIO中斷和DMA0中斷(DMA0專用于SDHost的DMA數(shù)據(jù)傳輸)。SD卡檢測中斷IST負(fù)責(zé)檢測SD卡的插入和拔出,通知上層應(yīng)用SD插槽的狀態(tài);SDIO中斷IST只是簡單的通知總線驅(qū)動有SDIO中斷產(chǎn)生,具體處理交給SDIO卡的驅(qū)動程序;DMA0中斷IST負(fù)責(zé)處理SD的DMA數(shù)據(jù)傳送。

  在WindowsCE中,由于驅(qū)動程序DLL運行在用戶態(tài),因此驅(qū)動程序要訪問硬件寄存器,必須在驅(qū)動程序的進程空間分配一段虛擬空間,然后將這段虛擬空間映射到硬件寄存器所映射到內(nèi)核的虛擬地址才能夠完成相應(yīng)的訪問。SDHost驅(qū)動程序在初始化的時候,必須進行資源分配和地址映射,配置好各個GPIO引腳的功能;然后需要創(chuàng)建事件和相應(yīng)的中斷標(biāo)識碼的關(guān)聯(lián),創(chuàng)建中斷服務(wù)線程IST,準(zhǔn)備進行中斷響應(yīng)服務(wù)。[!--empirenews.page--]3 卡檢測與防抖動

 

  系統(tǒng)初始化時,SD_nCD檢測引腳被設(shè)置為上升沿和下降沿觸發(fā),因此引腳電平發(fā)生變化時,都會有中斷產(chǎn)生。當(dāng)硬件產(chǎn)生中斷時,系統(tǒng)進入核心ISR,對SD_nCD進行檢測,返回相應(yīng)的中斷標(biāo)識碼,對于是SD插入還是拔出,則由驅(qū)動程序的IST來處理。

  由于SD卡插槽采用的是機械式開關(guān),在插拔卡的時候,機械開關(guān)斷開、閉合時會有抖動,導(dǎo)致SD卡檢測引腳的電平不穩(wěn)定,從而有可能引起對卡的狀態(tài)的誤判。這樣會導(dǎo)致加載上層驅(qū)動,初始化失敗造成系統(tǒng)宕機。為了使每次插拔只響應(yīng)一次,必須要采用相應(yīng)的方法來防止抖動,避開按鍵按下的抖動時間。

  在驅(qū)動程序IST里采用延時采樣的方法來避免抖動,同時也嘗試了多次采樣的檢測方法來避開用戶按鍵的抖動時間。

  延時采樣是IST在收到SD卡檢測事件以后,并不是立刻進行引腳信號判斷,而是延時一段時間采樣,延遲時間要根據(jù)系統(tǒng)電路特性而定,然后檢測引腳信號,判斷插槽的狀態(tài)是卡插入還是拔出。多次采樣方法是IST在收到SD卡檢測事件以后,要對引腳進行多次等間隔采樣,根據(jù)采樣出的多數(shù)電平信號的值來決定插槽卡的狀態(tài)。多次采樣的方法可以有更短的響應(yīng)時間,當(dāng)采樣出的電平信號多數(shù)值不能決定卡的狀態(tài)時,需要進行重新采樣判斷。

  對于延時采樣的防抖動方法,必須考慮到實現(xiàn)的效率。

  ISR運行于系統(tǒng)核心態(tài),它的延時會影響整個系統(tǒng),導(dǎo)致用戶的輸入響應(yīng)時間過長,造成整體性能的下降。而WindowsCE的驅(qū)動程序是用戶態(tài)的DLL,作為用戶進程來調(diào)度,因此在SDHost的驅(qū)動程序里實現(xiàn)防抖動,可保證系統(tǒng)整體性能不下降。

  對于上述兩種防抖動方法,我們進行了連續(xù)插拔的測試,結(jié)果如圖3所示。測試結(jié)果表明,這兩種方法都取得了較好的效果,基本上解決了SD卡檢測的抖動問題。

  

 

  圖3 SD卡插拔宕機次數(shù)測試

  4 結(jié)語

  本文介紹的SDHost控制器已經(jīng)應(yīng)用在工程實踐中,結(jié)果表明設(shè)計是靈活有效的,防抖動設(shè)計對于類似的設(shè)計也具有一定的借鑒意義。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉