2410的SPI和MMC及SD controller有什么关系?

[复制链接]
2464|1
 楼主| playlinus 发表于 2008-10-15 17:21 | 显示全部楼层 |阅读模式
为什么使用SPI的procedure中涉及对MMC/SD的设置&nbsp;?<br /><br />SPI&nbsp;OPERATION<br />Using&nbsp;the&nbsp;SPI&nbsp;interface,&nbsp;the&nbsp;S3C2410A&nbsp;can&nbsp;send/receive&nbsp;8&nbsp;–bit&nbsp;data&nbsp;simultaneously&nbsp;with&nbsp;an&nbsp;external&nbsp;device.&nbsp;A&nbsp;serial<br />clock&nbsp;line&nbsp;is&nbsp;synchronized&nbsp;with&nbsp;the&nbsp;two&nbsp;data&nbsp;lines&nbsp;for&nbsp;shifting&nbsp;and&nbsp;sampling&nbsp;of&nbsp;the&nbsp;information.&nbsp;When&nbsp;the&nbsp;SPI&nbsp;is&nbsp;the<br />master,&nbsp;transmission&nbsp;frequency&nbsp;can&nbsp;be&nbsp;controlled&nbsp;by&nbsp;setting&nbsp;the&nbsp;appropriate&nbsp;bit&nbsp;to&nbsp;SPPREn&nbsp;register.&nbsp;You&nbsp;can&nbsp;modify<br />its&nbsp;frequency&nbsp;to&nbsp;adjust&nbsp;the&nbsp;baud&nbsp;rate&nbsp;data&nbsp;register&nbsp;value.&nbsp;When&nbsp;the&nbsp;SPI&nbsp;is&nbsp;a&nbsp;slave,&nbsp;other&nbsp;master&nbsp;supplies&nbsp;the&nbsp;clock.<br />When&nbsp;the&nbsp;programmer&nbsp;writes&nbsp;byte&nbsp;data&nbsp;to&nbsp;SPTDATn&nbsp;register,&nbsp;SPI&nbsp;transmit/receive&nbsp;operation&nbsp;will&nbsp;start<br />simultaneously.&nbsp;In&nbsp;some&nbsp;cases,&nbsp;nSS&nbsp;should&nbsp;be&nbsp;activated&nbsp;before&nbsp;writing&nbsp;byte&nbsp;data&nbsp;to&nbsp;SPTDATn.<br />Programming&nbsp;Procedure<br />When&nbsp;a&nbsp;byte&nbsp;data&nbsp;is&nbsp;written&nbsp;into&nbsp;the&nbsp;SPTDATn&nbsp;register,&nbsp;SPI&nbsp;starts&nbsp;to&nbsp;transmit&nbsp;if&nbsp;ENSCK&nbsp;and&nbsp;MSTR&nbsp;of&nbsp;SPCONn<br />register&nbsp;are&nbsp;set.&nbsp;You&nbsp;can&nbsp;use&nbsp;a&nbsp;typical&nbsp;programming&nbsp;procedure&nbsp;to&nbsp;operate&nbsp;an&nbsp;SPI&nbsp;card.<br />To&nbsp;program&nbsp;the&nbsp;SPI&nbsp;modules,&nbsp;follow&nbsp;these&nbsp;basic&nbsp;steps:<br />1.&nbsp;Set&nbsp;Baud&nbsp;Rate&nbsp;Prescaler&nbsp;Register&nbsp;(SPPREn).<br />2.&nbsp;Set&nbsp;SPCONn&nbsp;to&nbsp;configure&nbsp;properly&nbsp;the&nbsp;SPI&nbsp;module.<br />3.&nbsp;Write&nbsp;data&nbsp;0xFF&nbsp;to&nbsp;SPTDATn&nbsp;10&nbsp;times&nbsp;in&nbsp;order&nbsp;to&nbsp;initialize&nbsp;MMC&nbsp;or&nbsp;SD&nbsp;card.<br />4.&nbsp;Set&nbsp;a&nbsp;GPIO&nbsp;pin,&nbsp;which&nbsp;acts&nbsp;as&nbsp;nSS,&nbsp;to&nbsp;low&nbsp;to&nbsp;activate&nbsp;the&nbsp;MMC&nbsp;or&nbsp;SD&nbsp;card.<br />5.&nbsp;Tx&nbsp;data&nbsp;&reg;&nbsp;Check&nbsp;the&nbsp;status&nbsp;of&nbsp;Transfer&nbsp;Ready&nbsp;flag&nbsp;(REDY&nbsp;=&nbsp;1),&nbsp;and&nbsp;then&nbsp;write&nbsp;data&nbsp;to&nbsp;SPTDATn.<br />6.&nbsp;Rx&nbsp;data(1):&nbsp;SPCONn's&nbsp;TAGD&nbsp;bit&nbsp;disable&nbsp;=&nbsp;normal&nbsp;mode<br />&reg;&nbsp;write&nbsp;0xFF&nbsp;to&nbsp;SPTDATn,&nbsp;then&nbsp;confirm&nbsp;REDY&nbsp;to&nbsp;set,&nbsp;and&nbsp;then&nbsp;read&nbsp;data&nbsp;from&nbsp;Read&nbsp;Buffer.<br />7.&nbsp;Rx&nbsp;data(2):&nbsp;SPCONn's&nbsp;TAGD&nbsp;bit&nbsp;enable&nbsp;=&nbsp;Tx&nbsp;Auto&nbsp;Garbage&nbsp;Data&nbsp;mode<br />&reg;&nbsp;confirm&nbsp;REDY&nbsp;to&nbsp;set,&nbsp;and&nbsp;then&nbsp;read&nbsp;data&nbsp;from&nbsp;Read&nbsp;Buffer&nbsp;(then&nbsp;automatically&nbsp;start&nbsp;to&nbsp;transfer).<br />8.&nbsp;Set&nbsp;a&nbsp;GPIO&nbsp;pin,&nbsp;which&nbsp;acts&nbsp;as&nbsp;nSS,&nbsp;to&nbsp;high,&nbsp;to&nbsp;deactivate&nbsp;MMC&nbsp;or&nbsp;SD&nbsp;card.
阿南 发表于 2008-10-16 16:27 | 显示全部楼层

SD/MMC卡支持SPI方式传输

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

518

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部