電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1496|回復(fù): 0
收起左側(cè)

廣州嵌入式培訓(xùn)費(fèi)多少_嵌入式系統(tǒng)的SD控制器設(shè)計(jì)實(shí)現(xiàn)

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-27 17:54:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
廣州嵌入式培訓(xùn)費(fèi)多少_嵌入式系統(tǒng)的SD控制器設(shè)計(jì)實(shí)現(xiàn),   

  引言

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

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

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

  1 SDHost硬件設(shè)計(jì)

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

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

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

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

  國內(nèi)嵌入式3d, 嵌入式經(jīng)典項(xiàng)目, 嵌入式usb實(shí)驗(yàn), 嵌入式存儲(chǔ)技術(shù)專訪, 嵌入式頁顯示, 嵌入式系統(tǒng)創(chuàng)新論文, 嵌入式要求算法嗎, 48路嵌入式錄音儀, 嵌入式和電子電路, 嵌入式sd卡fat, 螺釘嵌入式什么意思, 嵌入式的中年危機(jī), 嵌入式硬件設(shè)計(jì)原理, 華為嵌入式好進(jìn)不, 嵌入式攝像系統(tǒng), 要成為嵌入式工程師, 嵌入式程序員外快, 濟(jì)寧嵌入式系統(tǒng), 嵌入式ai項(xiàng)目實(shí)例, 嵌入式軟件教學(xué), 嵌入式中什么是復(fù)用, 嵌入式中的xml,
  


   

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

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

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

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

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

  2 驅(qū)動(dòng)程序的實(shí)現(xiàn)

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

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

  WindowsCE的驅(qū)動(dòng)程序模型主要有兩種類型:流式接口驅(qū)動(dòng)和本地設(shè)備驅(qū)動(dòng)。流式設(shè)備驅(qū)動(dòng)向上層提供統(tǒng)一的流式設(shè)備接口,而本地設(shè)備驅(qū)動(dòng)可根據(jù)具體設(shè)備要求提供相應(yīng)接口。

  

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表