




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7-1,多媒體卡控制器,7-2,大綱,概論MMC控制器功能說明卡片溝通協定說明MMC控制器操作MMC控制器暫存器,7-3,概論,多媒體卡(MMC)控制器用來連接存取應用處理器的軟體與MMC堆疊主要以TheMultiMediaCardSystemSpecificationVersion2.1的標準為基礎MMC控制器支援從標準MMC或序列週邊介面(SPI)匯流排至MMC堆疊的解譯協定軟體必須指示與MMC控制器溝通的協定為MMC模式或SPI模式,7-4,概論(cont.),MMC控制器特徵:資料傳送率最高可達20Mbps1個回應FIFO(ResponseFIFO)2個接收FIFO(DualReceiveFIFO)2個傳送FIFO(DualTransmitFIFO)不論MMC或SPI模式皆可支援2個MMCMMC控制器處理卡片初始化、CRC的產生與確認、命令、回復,以及資料交易,7-5,概論(cont.),MMC控制器包含命令與控制暫存器、回應FIFO,與資料FIFO軟體存取這些暫存器與FIFO,並且產生命令、中斷回應,與控制後續動作,MMC系統互動圖,7-6,概論(cont.),MMC匯流排連結卡片堆疊與控制器軟體與控制器可開啟或關閉MMC時脈卡片堆疊與控制器經由命令與資料線進行連續溝通,協定所使用的訊息包含下列的符號:命令(Command)回應(Response)資料(Data),7-7,命令符號,命令集包含卡片初始化、卡片暫存器讀取與寫入、資料傳送等MMC控制器會在MMCMD訊號線上連續傳送命令符號,命令符號格式,7-8,回應符號,為命令符號的回覆每個命令都具有特定的回應類型或是無回應類型其格式取決於回應類型與卡片模式,7-9,資料符號,控制器與卡片之間,資料以8位元區塊做連續的傳送,速率可達20Mbps其格式依卡片的模式為MMC或SPI而有所不同,MMC資料符號格式,SPI資料符號格式,7-10,命令符號,在MMC模式中,所有的操作都包含命令符號,而大部分的命令具有一個相關聯的回應符號在雙向的MMCMD訊號中會傳送與接收命令符號與回應符號在雙向的MMDAT訊號中會傳送與接收資料符號,7-11,無資料符號之MMC模式操作圖,有資料符號之MMC模式操作圖,7-12,SPI模式,在SPI模式中,命令都具有命令符號與回應符號MMCMD與MMDAT訊號在SPI模式中為單向在MMCMD訊號中會寫入傳送命令符號與資料符號在MMDAT訊號中會接收回應符號與讀取的資料符號,無資料符號的SPI模式操作圖,7-13,SPI模式寫入操作圖,SPI模式讀取操作圖,7-14,MMC控制器功能說明,概論MMC控制器訊號描述MMC控制器重置MMC卡片初始化程序MMC與SPI模式錯誤偵測中斷與時脈控制資料FIFO,7-15,概論,軟體必須讀取與寫入MMC控制器暫存器與FIFO來初始啟動與卡片的溝通MMC控制器為軟體與MMC匯流排之間的介面,負責軟體與MMC匯流排之間的時序與協定MMC控制器包含:控制與狀態暫存器一個16位元的回應FIFO(ResponseFIFO)兩個8位元的接收FIFO(ReceiveFIFO)兩個8位元的傳送FIFO(TransmitFIFO),7-16,MMC控制器訊號描述,7-17,MMC控制器重置,只可藉由應用處理器的硬重置(hardreset)或軟重置(softreset)來重置重置之後,所有的暫存器與FIFO控制會設定為初始值,7-18,MMC卡片初始化程序,藉由將MMC_CMDATINIT位元設定為1來初始化MMC卡此功能可用來取得已插入匯流排的新卡片初始化程式期間不會觸發晶片選擇,7-19,MMC與SPI模式,重置之後,MMC卡會處於MMC模式卡片可維持在MMC模式中,或是藉由設定MMC_SPI暫存器位元來改變為SPI模式,7-20,MMC模式,在MMC模式中,MMCMD與MMDAT訊號為雙向的藉由MMCMD訊號可傳送與接收命令與回應符號藉由MMDAT訊號可讀取與寫入資料支援下列資料傳送模式:單一區塊(SingleBlock)讀取寫入多重區塊(MultipleBlock)讀取寫入串流(Stream)讀取寫入,7-21,SPI模式,在SPI模式中,MMCMD與MMDAT線為單向的,而且只允許單一區塊資料傳送MMCMD訊號為控制器的輸出,用來傳送命令符號與寫入資料至MMC卡MMDAT訊號為控制器的輸入,用來接收來自MMC卡的回應符號與讀取資料,7-22,錯誤偵測,MMC控制器會偵測MMC匯流排上的下列錯誤,並回報給狀態暫存器(MMC_STAT):回應CRC錯誤:在命令回應上發生計算CRC錯誤回應逾時:在特定的時脈數目之前還沒有開始回應寫入資料CRC錯誤:卡片傳回資料上的CRC狀態錯誤讀取資料CRC錯誤:資料上發生計算CRC錯誤讀取逾時:在特定的時脈數目之前不會開始讀取資料操作SPI資料錯誤:SPI模式內偵測出讀取資料錯誤符號,7-23,中斷與時脈控制,MMC控制器產生中斷來發出命令序列的狀態訊號,而軟體負責遮蔽中斷、驗證中斷,並執行適當的動作MMC控制器與軟體可開啟或關閉MMC匯流排時脈(MMCLK)MMC控制器具有一個內部頻率產生器,可啟動、停止,與劃分MMC匯流排時脈軟體可能藉由設定MMC_STRPCL暫存器適當的位元來啟動與停止時脈有助於控制資料流來預防underrun與oveflow,也可節省電源,7-24,資料FIFO,概論回應資料FIFO(MMC_RES)接收資料FIFO(MMC_RXFIFO)傳送資料FIFO(MMC_TXFIFO)DMA與程式I/O,7-25,概論,包含回應資料FIFO、接收資料FIFO,與傳送資料FIFO,其控制器FIFO分別為MMC_RES、MMC_RXFIFO與MMC_TXFIFO。,7-26,回應資料FIFO(MMC_RES),包含控制器傳送命令之後從MMC卡所接收的回應此FIFO不包含回應CRC,CRC確認之狀態位於狀態暫存器MMC_STAT內,7-27,接收資料FIFO(MMC_RXFIFO),具有兩個接收資料FIFO,對軟體為唯讀在系統重置之後與所有命令程序開始時,會清除兩個FIFO與其控制成為啟動狀態FIFO在軟體與MMC匯流排之間替換(swap),在任何時候,當軟體讀取其中一個FIFO時,MMC匯流排會寫入至另一個FIFO當兩個FIFO都成為full而且資料傳送未完成時,控制器會關閉MMCLK,以預防發生overflow當時脈已關閉,來自卡片的資料傳送會停止,直到再次啟動時脈在軟體清空所連接的FIFO之後,控制器會啟動時脈來繼續執行資料傳送軟體所連接的FIFO之狀態會註冊至MMC_STATRECV_FIFO_FULL位元之中,7-28,傳送資料FIFO(MMC_TXFIFO),具有兩個傳送資料FIFO,只可以由軟體寫入在系統重置後以及所有指令程序的開始,會將兩個FIFO和其控制清除為最初狀態FIFO在軟體與MMC匯流排之間swap,在任何時候,當軟體寫入其中一個FIFO,MMC匯流排就會讀取另一個FIFO當兩個FIFO都成為empty而且資料傳送未完成時,控制器會關閉MMCLK,以預防發生underrun當時脈已關閉,至卡片的資料傳送會停止,直到再次啟動時脈當傳送FIFO不再為空的時,MMC控制器會自動重新啟動時脈軟體所連結的FIFO之狀態會註冊到MMC_STATXMIT_FIFO_EMPTY位元內,7-29,DMA與程式I/O,軟體可能會經由DMA或程式I/O來和MMC控制器做溝通為了以DMA存取FIFO,軟體必須程式化DMA來讀取或寫入MMCFIFOCMDATDMA_EN位元之設定:1:啟動與DMA的溝通0:啟動與程式I/O的溝通,7-30,卡片溝通協定說明,基本、無資料、命令與回應程序資料傳送忙碌程序,7-31,基本、無資料、命令與回應程序(cont.),MMC控制器執行基本的MMC或SPI匯流排交易軟體之事件協定:1.停止時脈2.寫入0 x6至MMC_I_MASK暫存器並等待與驗證MMC_I_REGCLK_IS_OFF中斷3.寫入至暫存器(MMC_CMD,MMC_ARGH,MMC_ARGL,MMC_CMDAT,4.啟動時脈5.寫入0 x7b至MMC_I_MASK暫存器並等待與驗證MMC_I_REGEND_CMD_RES中斷6.讀取MMC_RESFIFO與MMC_STAT暫存器命令的結果可能會使某些卡片變為忙碌狀態軟體可能藉由寫入MMC_I_MASK暫存器並等待MMC_I_REGPRG_DONE中斷來等待卡片變為不忙碌,也可啟動與另一個卡片的溝通,7-32,基本、無資料、命令與回應程序,應用處理器之MMC控制器,Step1停止時,Step4啟動時脈,*MMC_CMDAT不論有資料是否有改變都要寫入,Step2寫入0 x6至MMC_1_MASKStep3MMC_CMD,MMC_ARGH,MMC_ARGL,MMC_CMDAT*,MMC_CLKRT,MMC_SPI,MMC_RESTO寫入資料Step5寫入0 x7b至MMC_1_MASKStep6讀取MMC_RESFIFO和MMC_STAT,7-33,資料傳送(cont.),資料傳送為傳送至卡片的附加資料之命令與回應程序在啟動時脈之前,軟體必須寫入下列暫存器:MMC_RDTOMMC_BLKLENMMC_NOB啟動時脈之後,軟體必須讀取MMC_RES,並讀取或寫入MMC_RXFIFO或MMC_TXFIFO在寫入資料傳送時,卡片可能變為忙碌狀態軟體可能會藉由寫入MMC_I_MASK暫存器與等待MMC_I_REGPRG_DONE中斷來等待卡片變為不忙碌,也可啟動與另一個卡片的溝通資料交易之模式:單一區塊、多重區塊、串流模式,7-34,資料傳送(cont.),Step1資料寫入:MMC_RDTO,MMC_BLKLEN,MMC_NOB,Step21.讀取MMC_RES2.讀取MMC_RXFIFO或寫入MMC_TXFIFO,Step3確認MMC_STAT,Step41MMC_TXFIFO未填滿設定MMC_PRTBUFBUF_PART_FULL2.設定MMC_BLKLEN來指定傳送資料大小或大小寫入MMC_TXFIFO,Step5MMC匯流排忙碌時會觸發MMC_I_REGDATA_TRAN_DONE,Step6寫入MMC_I_MASK與等待MMC_I_REGPRG_DONE中斷來待卡片變為不忙碌,7-35,資料傳送,7-36,忙碌程序,在單一區塊與多重區塊寫入操作每個資料區塊之後,MMC控制器會自動預期一個來自卡片的忙碌訊號當MMC匯流排上有忙碌訊號,軟體只可傳送以下其中之一命令:傳送狀態命令(CMD13)切斷連結命令(CMD7)在卡片為忙碌狀態時,若軟體切斷與卡片的連結,則會關閉忙碌訊號,而軟體可連結另一個不同的卡片,7-37,MMC控制器操作,軟體指示卡片與控制器之間所有溝通的方向啟動與停止時脈:軟體藉由停止時脈、寫入暫存器,與啟動時脈來存取暫存器集初始化:在卡片初始化程序之前必須加入80的時脈週期軟體藉由設定MMC_CMDATINIT位元來產生80個時脈週期,7-38,MMC控制器操作(cont.),啟動SPI模式之程序:1.MMC_SPISPI_EN設定為12.MMC_SPISPI_CS_EN設定為13.設定MMC_SPISPI_CS_ADDRESS來指定軟體欲定址的卡片,1=CS0,0=CS1,7-39,MMC控制器操作(cont.),無資料命令與回應程序:對於基本無資料傳輸、命令,與回應交易,軟體必須:1.關閉時脈2.寫入命令索引至MMC_CMDCMD_INDEX位元3.寫入命令參數至MM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理职业倾向面试题及答案
- 铁矿开发方案范本
- 焊工比赛考试题及答案
- 初中音乐试卷及答案
- 小学数学毕业试卷及答案
- 罐冬季和雨季施工方案
- 2025年外贸业务员招聘考试指南及面试技巧
- 外墙批灰施工方案范本
- 2025年临床营养学考试模拟题及解析
- 2025年人力资源管理专业面试模拟题及答案全攻略
- 电子工业出版社小学-信息技术-第五册-5年级-上册-全册课件
- 2022年贵州省人民医院医护人员招聘笔试试题及答案解析
- 医疗器械临床试验GCP三套考试题
- (施工方案)二期混凝土施工方案
- 钢结构简支梁强度、刚度及稳定性计算习题集
- 课堂因“融错·容错·溶措”而精彩
- 《简爱》课本剧剧本
- 阳光晾衣房钢结构专项施工方案
- 肿瘤科实习生入科培训课件
- 国际商务谈判英文版课件PPT
- 注塑机安全操作规程
评论
0/150
提交评论