<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式系統的SD控制器設計實(shí)現

嵌入式系統的SD控制器設計實(shí)現

作者: 時(shí)間:2011-09-06 來(lái)源:網(wǎng)絡(luò ) 收藏
3 卡檢測與防抖動(dòng)

本文引用地址:http://dyxdggzs.com/article/150261.htm

  初始化時(shí),_nCD檢測引腳被設置為上升沿和下降沿觸發(fā),因此引腳電平發(fā)生變化時(shí),都會(huì )有中斷產(chǎn)生。當硬件產(chǎn)生中斷時(shí),進(jìn)入核心ISR,對_nCD進(jìn)行檢測,返回相應的中斷標識碼,對于是插入還是拔出,則由驅動(dòng)程序的IST來(lái)處理。

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

  在驅動(dòng)程序IST里采用延時(shí)采樣的方法來(lái)避免抖動(dòng),同時(shí)也嘗試了多次采樣的檢測方法來(lái)避開(kāi)用戶(hù)按鍵的抖動(dòng)時(shí)間。

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

  對于延時(shí)采樣的防抖動(dòng)方法,必須考慮到的效率。

  ISR運行于系統核心態(tài),它的延時(shí)會(huì )影響整個(gè)系統,導致用戶(hù)的輸入響應時(shí)間過(guò)長(cháng),造成整體性能的下降。而WindowsCE的驅動(dòng)程序是用戶(hù)態(tài)的DLL,作為用戶(hù)進(jìn)程來(lái)調度,因此在SDHost的驅動(dòng)程序里防抖動(dòng),可保證系統整體性能不下降。

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

  

SD卡插拔宕機次數測試

  圖3 SD卡插拔宕機次數測試

  4 結語(yǔ)

  本文介紹的SDHost已經(jīng)應用在工程實(shí)踐中,結果表明是靈活有效的,防抖動(dòng)對于類(lèi)似的也具有一定的借鑒意義。

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

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>