《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 基于ARM9的SD/MMC卡控制器的ASIC設計[圖]

基于ARM9的SD/MMC卡控制器的ASIC設計[圖]

2011-09-22
0 引言

如今多媒體數碼產品的迅猛發展,其中,各種音頻視頻等功能的不斷增強,使得系統對于存儲介質的性能,容量,安全等方面的要求與日俱增。MMC卡和SD卡均是基于flash的存儲設備,近年來,它們以高存儲容量,快速的數據傳輸速率,加上極大的移動靈活性和更高的安全性已經成為閃存市場的標準,其廣泛應用于手機,MP3,MP4,掌上電腦等各種產品中。可見,其已經成為面向便攜式數碼電子產品的SOC芯片中通用的功能接口。

文章設計的SD/MMC控制器基于一款3G手機基帶芯片,其內核采用ARM926EJ,系統總線架構為AMBA,控制器連接到APB總線上。通過分析SD卡和MMC卡的規范,利用Verilog HDL實現了符合該規范的SD/MMC卡控制器IP核,該IP在SMIC的0.13um標準單元工藝庫下對模型進行了綜合和優化。

1 SD/MMC卡控制器工作原理

SD(Secure Digital)卡和MMC(Multi Media Card)卡是市面上常見的兩種數據存儲卡。SD卡向下兼容MMC卡。

兩者基本特性相同,只是在數據接口以及傳輸模式上有一些區別:SD卡的數據線為4根,而MMC卡只有1根;SD卡支持安全性保護;而MMC卡支持比特流傳輸(不限長傳輸,即必須接受到停止命令時才停止傳輸)。

控制器就是通過SD/MMC總線對SD/MMC卡進行初始化,讀,寫等一系列操作。其總線包括時鐘線CLK,命令線CMD,數據線DAT3-DAT0(MMC卡只有DAT0)等。上電后,控制器必須按一定的總線協議傳輸命令給卡,使其初始化。總線上一共有三種數據格式:命令包,響應包,數據包。由于在傳輸中數據和命令均有可能出錯,命令帶有7位的CRC校驗碼,數據帶有16位的CRC校驗碼。

控制器對卡進行讀操作時,將接收到的串行數據(可能是比特流,也可能是多塊)轉換為并行數據,存入FIFO。寫操作也是相同的,控制器將并行數據從FIFO里面取出,串行發出。

SD/MMC卡的工作時鐘來源于控制器,對卡的命令或數據傳輸等一系列操作均要與該時鐘同步。該時鐘可以通過控制器進行配置,以適應不同工作狀態中卡正常工作所需的不同時鐘頻率。需要注意的是,SD卡的最大工作頻率是25Mhz,MMC卡的最大工作頻率是20Mhz.

總之,控制器不僅要輸出合適的工作時鐘,還要完成對命令/響應以及數據讀寫的正常工作,并針對命令和數據進行CRC校驗,中斷的及時產生和清除。

2 控制器設計與實現

2.1 模塊劃分

在整個SOC中,我們這片TD基帶芯片采用的是ARM926EJ-S內核,系統架構為AMBA總線。在設計中,將SD/MMC卡控制器作為APB的SLAVE掛在APB總線上,ARM通過APB總線來訪問和控制該模塊。本模塊主要分為接口模塊,CMD控制模塊及DATA控制模塊三部分。其結構框圖如圖1所示。

基于ARM9的SD/MMC卡控制器的<a class=ASIC設計" height="283" src="http://files.chinaaet.com/images/20110922/2116f50c-7fd4-48a3-9b04-d8600000b7e2.jpg" width="400" />
圖1 SD/MMC控制器結構

接口模塊實現與ARM的APB總線相連接,通過該模塊,ARM可以對相應寄存器進行讀寫,從而實現對本模塊和外部存儲卡的控制。其讀寫時序按照APB總線讀寫時序,具體見文獻。

CMD控制模塊主要發送和接收CMD線上的信號。控制器發送給卡的命令長度固定為48bit,而從卡接收到的響應長度不固定,有短應答(48bit)和長應答(136bit)之分。

其中,包含CRC7的子模塊,不管是命令還是響應,均要用到CRC校驗。

DATA控制模塊主要是通過RXDATA數據線接收數據,并通過TXDATA發送數據。主要的數據傳輸方式有兩種:比特流數據傳輸和多塊數據傳輸,另外,該控制器還支持無響應包數據傳輸。為確保傳輸的正確,包含了CRC16校驗的子模塊。

2.2 CMD控制模塊的設計

由于SD/MMC卡的操作命令不一致,在模塊中并沒有對命令作譯碼,而是通過軟件來設置命令的類型。單塊(signalblock data)讀數據命令(CMD17),寫數據命令(CMD24);多塊(multi-block data)讀數據命令(CMD18),寫數據命令(CMD25)等需要控制模塊根據SD_CMD_INDEX寄存器的內容來發布相應的命令,并作不同的狀態轉換。CMD控制模塊的狀態轉換圖如圖2所示。

基于ARM9的SD/MMC卡控制器的ASIC設計
圖2 CMD控制模塊的狀態轉換

2.3 DATA控制模塊的設計

本模塊主要功能是向卡發送數據和從卡讀取數據,另外,針對SD卡該模塊可以通過DATA[3]檢測卡是否插入,通過DATA[2]發送讀等待信號,通過DATA[1]接收卡送來的中斷信號以及通過DATA[0]來檢測卡是否處于忙狀態。

APB總線上還有其他一些功能模塊,如SPI接口控制器,CAMERA控制器等,由于不能一直占有總線,在對卡進行讀寫的同時,來不及處理及時收到的數據或來不及獲取新的發送數據,所以我們采取數據緩存,添加一個64bytes的FIFO。

控制器對卡進行讀操作時,需要先發送CMD9命令,獲得卡的CSD寄存器數據,其中包含了卡的數據長度,卡存儲容量,卡最大時鐘速度等。控制器可以持續進行數據讀取,直到向卡發送停止傳輸命令;或者讀取指定個數的數據塊。

讀數據過程中,如果卡檢測到錯誤,如超出范圍,地址對齊錯誤等,卡會停止數據發送,停在sending-data狀態,控制器需要發送停止傳輸命令,此時,卡會將錯誤信息,通過響應返回給控制器。

控制器可以對卡持續進行寫數據操作,直到向卡發送停止傳輸命令;或者指定個數的數據塊寫完。寫數據過程中,如果卡檢測到錯誤,如寫保護,地址超出范圍,地址對齊錯誤等,卡會停止數據的接收,停在Receiving-data狀態,控制器需要發送停止傳輸命令,此時卡會將錯誤信息,通過響應包返回給控制器。一個數據塊寫完后,卡需要一段時間將這塊數據寫到內部Flash中,控制器需要查詢卡的狀態,等卡寫完數據后,才能發送下一個命令。

2.4 CRC的算法設計

在CMD控制模塊和DATA控制模塊中均用到CRC校驗。CMD控制模塊中用的是CRC7,其公式是G(x)=x7+x3+1。實現其算法的邏輯圖如圖3。

基于ARM9的SD/MMC卡控制器的ASIC設計
圖3 CRC7生成邏輯

在DATA控制模塊中用的是CRC16,其公式是G(x)=x16+x12+x5+1。算法邏輯圖同CRC7類試,這里我們不再贅述。

兩種校驗本質相同,后者精度更高,適應數據尤其是長數據的傳輸校驗。

3 功能驗證與綜合

使用Mentor公司的ModelSim軟件進行仿真,該軟件許可在PC、Solaris、HP-UX或Linux平臺上使用,支持VHDL或Verilog硬件描述語言(HDL)仿真。它支持所有器件的行為級仿真和VHDL或Verilog仿真激勵。

為了測試設計的正確性,編寫了testbench模塊,其中包括一個用HDL描述的SD卡的原型(使得控制器能夠對該卡進行操作),包括產生時鐘信號,輸出命令,讀寫的數據,產生的中斷等。下面以測試SDMMC讀寫寄存器,發送命令接收響應,4線塊數據(block data)傳輸等為例來說明:

當滿足片選信號后,APB總線對內部寄存器先進行配置,然后確定命令的發送,并附上CRC7的校驗碼,最后接收響應和響應的CRC7校驗碼。

對流傳輸,單塊,多塊數據等所有傳輸方式進行完仿真,利用目前業界最流行的綜合工具:SYNOPSYS公司的DesignCompiler對其綜合。經過對Script腳本約束的設定,通過DC將控制器的時序和面積進行優化,工作頻率滿足手機基帶芯片頻率125Mhz(最高可到200以上),面積在3萬門,比主流的4萬門有所降低,節省了面積。

最后采用Xilinx公司的xc4vlx200-10ff1513芯片進行FPGA驗證,測試結果表明該控制器可以對市面上主流SDMMC卡進行數據傳輸,符合整個SOC的要求。

4 結語

驗證結束后,利用中芯國際的0.13um的工藝庫對上面的設計進行封裝制造,就實現了最新的SD1.0和MMC3.31協議,并將其嵌入到ASIC中,使得TD終端具有外部擴展存儲性,節約用戶開銷。不僅如此,該控制器可作為一個成熟的IP核,移植到各種基于多媒體處理的ASIC芯片中去,其應用十分廣泛。

作者創新點:該IP核的設計,為TD-SCDMA終端基帶芯片以及類似手持SOC提供外接擴展存儲卡的功能,且具有廣泛的可靠移植性用于其他芯片中。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
激情综合激情| 一本久久精品一区二区| 欧美日韩精品免费观看视频完整| 久久久久一区二区三区四区| 校园春色国产精品| 亚洲一区二区三区四区五区黄 | 亚洲综合首页| 中日韩美女免费视频网址在线观看 | 欧美日韩第一区日日骚| 嫩模写真一区二区三区三州| 免费在线一区二区| 欧美wwwwww| 欧美区一区二| 欧美日韩精品综合在线| 国产精品hd| 国产精品日韩欧美一区二区三区| 国产精品美女在线| 国产精品无码专区在线观看| 国产伦精品一区| 欧美日韩二区三区| 欧美日韩国语| 国产精品久久一区主播| 国产精品视频yy9099| 国产欧美日韩在线播放| 国内久久婷婷综合| 亚洲电影专区| 日韩视频在线观看一区二区| 这里只有精品在线播放| 亚洲欧美日韩在线| 欧美影院精品一区| 亚洲国内精品在线| 日韩网站在线观看| 亚洲一区一卡| 欧美一区二视频在线免费观看| 久久久久久网址| 欧美xxx成人| 欧美午夜三级| 国产日韩一区二区三区| 影音先锋成人资源站| 亚洲精品一区在线| 亚洲性色视频| 久久精品日产第一区二区| 亚洲精选中文字幕| 亚洲性图久久| 久久天天躁狠狠躁夜夜av| 欧美另类视频| 国产精品视频自拍| 在线观看日韩av| 一区二区三区四区国产精品| 香蕉成人久久| 艳妇臀荡乳欲伦亚洲一区| 久久本道综合色狠狠五月| 欧美成人精品一区二区| 国产精品免费aⅴ片在线观看| 韩国av一区二区三区四区| 亚洲精品在线二区| 欧美一区二区三区四区夜夜大片| 亚洲精品一级| 久久精品国产亚洲aⅴ| 欧美—级在线免费片| 国产日本亚洲高清| 亚洲精品一区二区网址| 欧美影院视频| 亚洲一区二区三区四区五区午夜| 久久人人爽人人爽爽久久| 欧美视频二区| 亚洲成色精品| 亚洲欧美色一区| 99av国产精品欲麻豆| 久久久精品午夜少妇| 欧美午夜视频| 亚洲国产成人精品久久| 午夜精品久久久久99热蜜桃导演| 亚洲乱码国产乱码精品精天堂| 久久国产精品一区二区三区| 欧美日韩精品久久| 在线观看中文字幕亚洲| 亚洲综合欧美| 亚洲天堂视频在线观看| 免费日韩成人| 国产亚洲欧美一区二区| 亚洲午夜精品福利| 日韩视频在线一区二区| 浪潮色综合久久天堂| 国产精一区二区三区| 99视频一区二区| 日韩视频专区| 免费成人av在线看| 国产一区二区三区四区在线观看| 中文精品视频一区二区在线观看| 亚洲精品视频在线| 快射av在线播放一区| 国产午夜久久| 亚洲在线一区二区| 亚洲尤物在线| 欧美日韩理论| 亚洲激情婷婷| 亚洲韩日在线| 久久亚洲视频| 国产一区再线| 亚洲欧美电影院| 亚洲在线免费| 国产精品红桃| 在线综合欧美| 一区二区三区免费网站| 欧美精品一区二区视频 | 美女视频一区免费观看| 国产亚洲午夜| 欧美亚洲免费电影| 欧美一站二站| 国产欧美日韩一区| 亚洲综合社区| 欧美亚洲三区| 国产欧美一区二区精品秋霞影院 | 一区二区高清在线| 一个色综合导航| 欧美日韩免费网站| 亚洲精品日产精品乱码不卡| 亚洲精品在线视频| 欧美激情精品久久久| 亚洲人成毛片在线播放| 99香蕉国产精品偷在线观看| 欧美精品在线一区| 亚洲精品网站在线播放gif| 一本色道婷婷久久欧美| 欧美日韩精品一区二区天天拍小说 | **性色生活片久久毛片| 亚洲精品1区| 欧美成人亚洲成人| 最新日韩在线| 亚洲一品av免费观看| 国产精品高潮呻吟久久| 亚洲一区在线观看视频 | 中国女人久久久| 国产精品久久国产三级国电话系列| 中日韩美女免费视频网站在线观看| 亚洲自拍偷拍色片视频| 国产美女精品视频| 欧美在线综合| 欧美暴力喷水在线| 亚洲毛片在线| 亚洲欧美国产视频| 国产一区二区三区日韩| 亚洲精美视频| 欧美视频免费| 欧美一区二区三区日韩| 免费观看一级特黄欧美大片| 亚洲精品一二区| 午夜伦理片一区| 国内精品美女av在线播放| 亚洲欧洲日韩在线| 欧美午夜在线观看| 午夜欧美精品| 欧美第一黄网免费网站| 一区二区三区鲁丝不卡| 欧美一区二区成人| 伊人久久大香线蕉综合热线| 日韩午夜精品| 国产精品少妇自拍| 亚洲二区视频| 欧美日韩国产精品一区| 亚洲宅男天堂在线观看无病毒| 久久久水蜜桃av免费网站| 亚洲欧洲另类国产综合| 午夜精品一区二区三区在线播放| 韩国在线视频一区| 一区二区三区精品视频在线观看| 国产日韩av一区二区| 亚洲精品日韩久久| 国产精品久久久久久超碰| 亚洲国产精品久久| 国产精品盗摄久久久| 亚洲国产成人久久综合| 欧美午夜片欧美片在线观看| 久久精品视频亚洲| 欧美色另类天堂2015| 久久精品水蜜桃av综合天堂| 欧美日韩国产一级| 久久精彩免费视频| 欧美视频官网| 亚洲国产精品电影| 欧美视频在线观看| 亚洲国产三级在线| 国产精品欧美精品| 亚洲三级免费| 国产亚洲精品资源在线26u| 制服丝袜亚洲播放| 亚洲大胆av| 久久精品人人做人人爽电影蜜月| 日韩午夜在线| 欧美成年人视频网站| 亚洲欧美日韩一区二区在线 | 亚洲第一区在线| 国产精品xxxxx| 亚洲茄子视频| 国产一区二区三区视频在线观看 | 久久久精品网| 亚洲一区二区三区中文字幕| 欧美精品电影在线| 欧美一区日本一区韩国一区|