SPI£¨Serial Peripheral Interface£¬´®ÐÐÍâÉè½Ó¿Ú£©ÊÇMotorola¹«Ë¾Ìá³öµÄÒ»ÖÖͬ²½´®ÐÐÊý¾Ý´«Êä±ê×¼£¬ÊÇÒ»ÖÖ¸ßËٵģ¬È«Ë«¹¤£¬Í¬²½µÄͨÐÅ×ÜÏߣ¬ÔںܶàÆ÷¼þÖб»¹ã·ºÓ¦Óá£
SPIÏà¹ØËõд
SS: Slave Select£¬Ñ¡ÖдÓÉ豸£¬Æ¬Ñ¡¡£
CKPOL (Clock Polarity) = CPOL = POL = Polarity = £¨Ê±ÖÓ£©¼«ÐÔ
CKPHA (Clock Phase) = CPHA = PHA = Phase = £¨Ê±ÖÓ£©Ïàλ
SCK = SCLK = SCL = SPIµÄʱÖÓ£¨Serial Clock£©
Edge = ±ßÑØ£¬¼´Ê±ÖÓµçÆ½±ä»¯µÄʱ¿Ì£¬¼´ÉÏÉýÑØ(rising edge)»òÕßϽµÑØ(falling edge)¡£
¶ÔÓÚÒ»¸öʱÖÓÖÜÆÚÄÚ£¬ÓÐÁ½¸öedge£¬·Ö±ð³ÆÎª£º
Leading edge = ǰһ¸ö±ßÑØ = µÚÒ»¸ö±ßÑØ£¬¶ÔÓÚ¿ªÊ¼µçѹÊÇ1£¬ÄÇô¾ÍÊÇ1±ä³É0µÄʱºò£¬¶ÔÓÚ¿ªÊ¼µçѹÊÇ0£¬ÄÇô¾ÍÊÇ0±ä³É1µÄʱºò£»
Trailing edge = ºóÒ»¸ö±ßÑØ = µÚ¶þ¸ö±ßÑØ£¬¶ÔÓÚ¿ªÊ¼µçѹÊÇ1£¬ÄÇô¾ÍÊÇ0±ä³É1µÄʱºò£¨¼´ÔÚµÚÒ»´Î1±ä³É0Ö®ºó£¬²Å¿ÉÄÜÓкóÃæµÄ0±ä³É1£©£¬¶ÔÓÚ¿ªÊ¼µçѹÊÇ0£¬ÄÇô¾ÍÊÇ1±ä³É0µÄʱºò£»
½Ó¿Ú
SPI½Ó¿Ú¾³£±»³ÆÎª4Ïß´®ÐÐ×ÜÏߣ¬ÒÔÖ÷/´Ó·½Ê½¹¤×÷£¬Êý¾Ý´«Êä¹ý³ÌÓÉÖ÷»ú³õʼ»¯¡£
Èçͼ1Ëùʾ£¬ÆäʹÓõÄ4ÌõÐźÅÏß·Ö±ðΪ£º
1) SCLK£º´®ÐÐʱÖÓ£¬ÓÃÀ´Í¬²½Êý¾Ý´«Ê䣬ÓÉÖ÷»úÊä³ö£»
2) MOSI£ºÖ÷»úÊä³ö´Ó»úÊäÈ루Master Output Slaver Input£©Êý¾ÝÏߣ»
3) MISO£ºÖ÷»úÊäÈë´Ó»úÊä³öÊý¾ÝÏߣ»
4) SS£ºÆ¬Ñ¡Ïߣ¬µÍµçƽÓÐЧ£¬ÓÉÖ÷»úÊä³ö
ÔÚSPI×ÜÏßÉÏ£¬Ä³Ò»Ê±¿Ì¿ÉÒÔ³öÏÖ¶à¸ö´Ó»ú£¬µ«Ö»ÄÜ´æÔÚÒ»¸öÖ÷»ú£¬Ö÷»úͨ¹ýƬѡÏßÀ´È·¶¨ÒªÍ¨ÐŵĴӻú¡£Õâ¾ÍÒªÇó´Ó»úµÄMISO¿Ú¾ßÓÐÈýÌ¬ÌØÐÔ£¬Ê¹µÃ¸Ã¿ÚÏßÔÚÆ÷¼þδ±»Ñ¡Í¨Ê±±íÏÖΪ¸ß×迹¡£
SPIÓÉÓÚ½Ó¿ÚÏà¶Ô¼òµ¥£¨Ö»ÐèÒª4¸ùÏߣ©£¬ÓÃ;ËãÊDZȽϹ㷺£¬Ö÷ÒªÓ¦ÓÃÔÚ EEPROM£¬FLASH£¬ÊµÊ±Ê±ÖÓ£¬ADת»»Æ÷£¬»¹ÓÐÊý×ÖÐźŴ¦ÀíÆ÷ºÍÊý×ÖÐźŽâÂëÆ÷Ö®¼ä¡£
¼´Ò»¸öSPIµÄMasterͨ¹ýSPIÓëÒ»¸ö´ÓÉ豸£¬¼´ÉÏÊöµÄÄÇЩFlash£¬ADCµÈµÄSlaver SPI½øÐÐͨѶ¡£¶øÖ÷´ÓÉ豸֮¼äͨ¹ýSPI½øÐÐͨѶ£¬Ê×ÏÈÒª±£Ö¤Á½ÕßÖ®¼äʱÖÓSCLKÒªÒ»Ö£¬»¥ÏàÒªÉÌÁ¿ºÃÁË£¬ÒªÆ¥Å䣬·ñÔò£¬¾Íû·¨Õý³£Í¨Ñ¶ÁË£¬¼´±£Ö¤Ê±ÐòÉϵÄÒ»Ö²ſÉÕý³£Ñ¶¡£¶øÕâÀïµÄSPIÖеÄʱÖÓºÍÏàλ£¬Ö¸µÄ¾ÍÊÇSCLkʱÖÓµÄÌØÐÔ£¬¼´±£Ö¤Ö÷´ÓÉ豸Á½ÕßµÄʱÖÓµÄÌØÐÔÒ»ÖÂÁË£¬ÒÔ±£Ö¤Á½Õß¿ÉÒÔÕý³£ÊµÏÖSPIͨѶ¡£
Êý¾Ý´«Êä
ÔÚÒ»¸öSPIʱÖÓÖÜÆÚÄÚ£¬»áÍê³ÉÈçϲÙ×÷£º
1) Ö÷»úͨ¹ýMOSIÏß·¢ËÍ1λÊý¾Ý£¬´Ó»úͨ¹ý¸ÃÏß¶ÁÈ¡Õâ1λÊý¾Ý£»
2) ´Ó»úͨ¹ýMISOÏß·¢ËÍ1λÊý¾Ý£¬Ö÷»úͨ¹ý¸ÃÏß¶ÁÈ¡Õâ1λÊý¾Ý¡£
ÕâÊÇͨ¹ýÒÆÎ»À´¼Ä´æÆ÷ʵÏֵġ£Èçͼ2Ëùʾ£¬Ö÷»úºÍ´Ó»ú¸÷ÓÐÒ»¸öÒÆÎ»¼Ä´æÆ÷£¬ÇÒ¶þÕßÁ¬½Ó³É»·¡£Ëæ×ÅʱÖÓÂö³å£¬Êý¾Ý°´ÕÕ´Ó¸ßλµ½µÍλµÄ·½Ê½ÒÀ´ÎÒÆ³öÖ÷»ú¼Ä´æÆ÷ºÍ´Ó»ú¼Ä´æÆ÷£¬²¢ÇÒÒÀ´ÎÒÆÈë´Ó»ú¼Ä´æÆ÷ºÍÖ÷»ú¼Ä´æÆ÷¡£µ±¼Ä´æÆ÷ÖеÄÄÚÈÝÈ«²¿ÒƳöʱ£¬Ï൱ÓÚÍê³ÉÁËÁ½¸ö¼Ä´æÆ÷ÄÚÈݵĽ»»»¡£
ʱÖÓ¼«ÐÔºÍʱÖÓÏàλ
ÔÚSPI²Ù×÷ÖУ¬×îÖØÒªµÄÁ½ÏîÉèÖþÍÊÇʱÖÓ¼«ÐÔ£¨CPOL»òUCCKPL£©ºÍʱÖÓÏà루CPHA»òUCCKPH£©¡£Ê±ÖÓ¼«ÐÔÉèÖÃʱÖÓ¿ÕÏÐʱµÄµçƽ£¬Ê±ÖÓÏàλÉèÖöÁÈ¡Êý¾ÝºÍ·¢ËÍÊý¾ÝµÄʱÖÓÑØ¡£
Ö÷»úºÍ´Ó»úµÄ·¢ËÍÊý¾ÝÊÇͬʱÍê³ÉµÄ£¬Á½ÕߵĽÓÊÕÊý¾ÝÒ²ÊÇͬʱÍê³ÉµÄ¡£ËùÒÔΪÁ˱£Ö¤Ö÷´Ó»úÕýȷͨÐÅ£¬Ó¦Ê¹µÃËüÃǵÄSPI¾ßÓÐÏàͬµÄʱÖÓ¼«ÐÔºÍʱÖÓÏàλ¡£
CPOL¼«ÐÔ
ÏÈ˵ʲôÊÇSCLKʱÖӵĿÕÏÐʱ¿Ì£¬Æä¾ÍÊǵ±SCLKÔÚ·¢ËÍ8¸öbit±ÈÌØÊý¾Ý֮ǰºÍÖ®ºóµÄ״̬£¬Óë´Ë¶ÔÓ¦µÄ£¬SCLKÔÚ·¢ËÍÊý¾ÝµÄʱºò£¬¾ÍÊÇÕý³£µÄ¹¤×÷µÄʱºò£¬ÓÐЧactiveµÄʱ¿ÌÁË¡£
ÏÈ˵ӢÎÄ£¬Æä¾«¼ò½âÊÍΪ£ºClock Polarity = IDLE state of SCK¡£
ÔÙÓÃÖÐÎÄÏê½â£º
SPIµÄCPOL£¬±íʾµ±SCLK¿ÕÏÐidleµÄʱºò£¬ÆäµçƽµÄÖµÊÇµÍµçÆ½0»¹ÊÇ¸ßµçÆ½1£º
CPOL=0£¬Ê±ÖÓ¿ÕÏÐidleʱºòµÄµçƽÊÇµÍµçÆ½£¬ËùÒÔµ±SCLKÓÐЧµÄʱºò£¬¾ÍÊÇ¸ßµçÆ½£¬¾ÍÊÇËùνµÄactive-high£»
CPOL=1£¬Ê±ÖÓ¿ÕÏÐidleʱºòµÄµçƽÊÇ¸ßµçÆ½£¬ËùÒÔµ±SCLKÓÐЧµÄʱºò£¬¾ÍÊÇµÍµçÆ½£¬¾ÍÊÇËùνµÄactive-low£»
CPHAÏàλ
Ê×ÏÈ˵Ã÷Ò»µã£¬capture strobe = latch = read = sample£¬¶¼ÊDZíʾÊý¾Ý²ÉÑù£¬Êý¾ÝÓÐЧµÄʱ¿Ì¡£
Ïà룬¶ÔÓ¦×ÅÊý¾Ý²ÉÑùÊÇÔÚµÚ¼¸¸ö±ßÑØ£¨edge£©£¬ÊǵÚÒ»¸ö±ßÑØ»¹Êǵڶþ¸ö±ßÑØ£¬0¶ÔÓ¦×ŵÚÒ»¸ö±ßÑØ£¬1¶ÔÓ¦×ŵڶþ¸ö±ßÑØ¡£
CPOL=0£º
¶ÔÓÚCPHA=0£¬idleʱºòµÄÊÇµÍµçÆ½£¬µÚÒ»¸ö±ßÑØ¾ÍÊǴӵͱ䵽¸ß£¬ËùÒÔÊÇÉÏÉýÑØ£»
¶ÔÓÚCPHA=1£¬idleʱºòµÄÊÇµÍµçÆ½£¬µÚ¶þ¸ö±ßÑØ¾ÍÊǴӸ߱䵽µÍ£¬ËùÒÔÊÇϽµÑØ£»
CPOL=1£º
¶ÔÓÚCPHA=0£¬idleʱºòµÄÊÇ¸ßµçÆ½£¬µÚÒ»¸ö±ßÑØ¾ÍÊǴӸ߱䵽µÍ£¬ËùÒÔÊÇϽµÑØ£»
¶ÔÓÚCPHA=1£¬idleʱºòµÄÊÇ¸ßµçÆ½£¬µÚ¶þ¸ö±ßÑØ¾ÍÊǴӵͱ䵽¸ß£¬ËùÒÔÊÇÉÏÉýÑØ£»
ÓÃͼÎÄÐÎʽ±íʾ£¬¸ü¼ÓÈÝÒ׿´¶®£º
CKPºÍCKE
CKPºÍCKEÊÇMicrochipµÄPICϵÁÐоƬÖеÄ˵·¨¡£
£¨1£©CKPÊÇClock Polarity Select£¬¾ÍÊǼ«ÐÔ=CPOL£º
CKP£¬ËäÈ»Ãû×ÖºÍCPOL²»Ò»Ñù£¬µ«ÊǶ¼ÊÇָʱÖÓ¼«ÐÔµÄÑ¡Ôñ£¬¶¨ÒåÒ²Ò»Ñù£º
CKP: Clock Polarity Select bit
1 = Idle state for clock (CK) is a high level
0 = Idle state for clock (CK) is a low level
ËùÒÔ²»¶à½âÊÍ¡£
£¨2£©CKEÊÇClock Edge Select£¬¾ÍÊÇÏàλ=CPHA£º
CKE: SPI Clock Edge Select bit
1 = Transmit occurs on transition from active to Idle clock state
0 = Transmit occurs on transition from Idle to active clock state
Òâ˼ÊÇ£º
1 =£¨Êý¾Ý£©´«Êä·¢ÉúÔÚʱÖÓ´ÓÓÐЧ״̬תµ½¿ÕÏÐ״̬µÄÄÇһʱ¿Ì
0 =£¨Êý¾Ý£©´«Êä·¢ÉúÔÚʱÖÓ´Ó¿ÕÏÐ״̬תµ½ÓÐЧ״̬µÄÄÇһʱ¿Ì
ÆäÖУ¬Êý¾Ý´«ÊäµÄʱ¿Ì£¬¼´ÉÏͼÖбê³öµÄ¡°Êý¾Ýtransmit´«ÊäµÄʱ¿Ì¡±¡£
CKEµÄ¶¨ÒåÒ²¸úCPHAÏàͬ¡£
ËùÒÔ£¬CKPºÍCKEËù¶ÔÓ¦µÄȡֵµÄº¬ÒåΪ£º
When CKP = 0:
CKE=0 => Data transmitted on rising edge of SCK£¨idleʱºòÊÇµÍµçÆ½£¬´Ó¿ÕÏе½ÓÐЧ£¬¾ÍÊÇ´ÓµÍµçÆ½µ½¸ßµçƽ£¬ËùÒÔÊÇÉÏÉýÑØ£©
CKE=1 => Data transmitted on falling edge of SCK£¨idleʱºòÊÇµÍµçÆ½£¬´ÓÓÐЧµ½¿ÕÏУ¬¾ÍÊÇ´Ó¸ßµçÆ½µ½µÍµçƽ£¬ËùÒÔÊÇϽµÑØ£©
When CKP = 1:
CKE=0 => Data transmitted on falling edge of SCK£¨idleʱºòÊÇ¸ßµçÆ½£¬´Ó¿ÕÏе½ÓÐЧ£¬¾ÍÊÇ´Ó¸ßµçÆ½µ½µÍµçƽ£¬ËùÒÔÊÇϽµÑØ£©
CKE=1 => Data transmitted on rising edge of SCK£¨idleʱºòÊÇ¸ßµçÆ½£¬´ÓÓÐЧµ½¿ÕÏУ¬¾ÍÊÇ´ÓµÍµçÆ½µ½¸ßµçƽ£¬ËùÒÔÊÇÉÏÉýÑØ£©
¾ÙÀýÀ´Ëµ£¬·Ö±ðѡȡMSP430¿ØÖÆÆ÷ºÍOLEDÇý¶¯SH1101AΪÖ÷´Ó»ú£¬Í¼3ºÍͼ4ΪËüÃǵÄSPIʱÐò¡£ÓÉͼ4¿ÉÖª£¬SH1101AµÄSPIʱÖÓ¿ÕÏÐʱΪ¸ßµçƽ£¬²¢ÇÒÔÚºóʱÖÓÑØ½ÓÊÕÊý¾Ý£¨ºóʱÖÓÑØÔÚÊý¾ÝµÄÖм䲿룩£¬ÔòMSP430¿ØÖÆÆ÷SPIµÄÉèÖÃÓ¦Óë´Ë±£³ÖÒ»Ö¡£´Óͼ3ÖпÉÒÔ¿´³ö£¬ÒªÊ¹µÃʱÖÓÔÚ¿ÕÏÐʱΪ¸ßµçƽ£¬Ó¦½«UCCKPLÖÃ1£»ÒªÊ¹µÃÔÚºóʱÖÓÑØ½ÓÊÕÊý¾Ý£¬Ó¦½«UCCKPHÇåÁã¡£
ÏÂÃæÔÙÁгöÆäËûһЩµØ·½ÕÒµ½µÄ£¬³£¼ûµÄSPIµÄËÄÖÖģʽµÄʱÐòͼ£¬¹©²Î¿¼£º
ÈçºÎ¿´¶®ºÍ¼ÇÒäCPOLºÍCPHA
ËùÒÔ£¬¹ØÓÚÔÚÆäËûµØ·½½éÉܵģ¬¿´Ëƶàô¸´ÔÓÄѶ®ÄѼÇÒäµÄCPOLºÍCPHA£¬Æäʵ¾¹ýÉÏÃæ½âÊÍ£¬¾Í¿ÏÈÝÒ׿´¶®ÁË£º
È¥¿´Ê±Ðòͼ£¬Èç¹ûʱÖÓSCLKµÄÆðʼµçƽÊÇ0£¬ÄÇôCPOL=0£¬Èç¹ûÊÇ1£¬ÄÇôCPOL=1¡£
È»ºó¿´Êý¾Ý²ÉÑùʱ¿Ì£¬¼´Ê±ÐòͼÊý¾ÝÏßÉϵÄÊý¾Ý¾ØÐÎÇøÓòµÄÖмäËù¶ÔÓ¦µÄλÖ㬶ÔÓ¦µ½ÉÏÃæSCLKʱÖÓµÄλÖ㬶ÔÓ¦×ÅÊǵÚÒ»¸ö±ßÑØ»òÊǵڶþ¸ö±ßÑØ£¬¼´CPHAÊÇ0»ò1¡££¨¶ÔÓ¦µÄÊÇÉÏÉýÑØ»¹ÊÇϽµÑØ£¬Òª¸ù¾Ý¶ÔÓ¦µÄCPOLµÄÖµ£¬²ÅÄÜÈ·¶¨£©¡£
¼´£º
£¨1£©ÈçºÎÅжÏCPOL£ºSCLKµÄ¿ÕÏÐʱºòµçѹÊÇ0»¹ÊÇ1£¬¾ö¶¨ÁËCPOLÊÇ0»¹ÊÇ1£»
£¨2£©ÈçºÎÅжÏCPHA£º¶øÊý¾Ý²ÉÑùʱ¿Ì¶ÔÓ¦×ŵÄSCLKµÄµçƽ£¬ÊǵÚÒ»¸ö±ßÑØ»¹Êǵڶþ¸ö±ßÑØ£¬¶ÔÓ¦×ÅCPHAΪ0»¹ÊÇ1¡£
Èí¼þÖÐÈçºÎÉèÖÃSPIµÄ¼«ÐÔºÍÏàλ
SPI·ÖÖ÷É豸ºÍ´ÓÉ豸£¬Á½Õßͨ¹ýSPIÐÒéͨѶ¡£
ÉèÖÃSPIµÄģʽ£¬ÊÇ´ÓÉ豸µÄģʽ£¬¾ö¶¨ÁËÖ÷É豸µÄģʽ¡£
ËùÒÔÒªÏÈÈ¥¸ã¶®´ÓÉ豸µÄSPIÊǺÎÖÖģʽ£¬È»ºóÔÙ½«Ö÷É豸µÄSPIµÄģʽ£¬ÉèÖúʹÓÉ豸ÏàͬµÄģʽ£¬¼´¿ÉÕý³£Í¨Ñ¶¡£
¶ÔÓÚ´ÓÉ豸µÄSPIÊÇʲôģʽ£¬ÓÐÁ½ÖÖ£º
£¨1£©¹Ì¶¨µÄ£¬É豸Ӳ¼þ¾ö¶¨µÄ¡£
SPI´ÓÉ豸£¬¾ßÌåÊÇʲôģʽ£¬Ïà¹ØµÄdatasheetÖлáÓÐÃèÊö£¬ÐèÒª×Ô¼ºÈ¥datasheetÖÐÕÒµ½Ïà¹ØµÄÃèÊö£¬¼´£º
¹ØÓÚSPI´ÓÉ豸£¬ÔÚ¿ÕÏеÄʱºò£¬ÊÇ¸ßµçÆ½»¹ÊÇµÍµçÆ½£¬¼´¾ö¶¨ÁËCPOLÊÇ0»¹ÊÇ1£»
È»ºóÔÙÕÒµ½¹ØÓÚÉ豸ÊÇÔÚÉÏÉýÑØ»¹ÊÇϽµÑØÈ¥²ÉÑùÊý¾Ý£¬ÕâÑù¾ÍÊÇ£¬ÔÚ¶¨ÁËCPOLµÄÖµµÄǰÌáÏ£¬¶ÔÓ¦×Å¿ÉÒÔÍÆËã³öCPHAÊÇ0»¹ÊÇ1ÁË¡£
¾ÙÀý1£º
CC2500 - Low-Cost Low-Power 2.4 GHz RF TransceiverµÄdatasheetÖÐSPIµÄʱÐòͼÊÇ£º
´ÓͼÖпÉÒÔ¿´µ½£¬×ʼµÄSCLKºÍ½áÊøÊ±ºòµÄSCLK£¬¼´¿ÕÏÐʱ¿ÌµÄSCLK£¬ÊÇµÍµçÆ½£¬ÍƵ¼³öCPOL=0£¬È»ºó¿ÉÒÔ¿´µ½Êý¾Ý²ÉÑùµÄʱºò£¬¼´Êý¾Ý×îÖмäµÄÄÇÒ»µã£¬¶ÔÓ¦µÄÊÇSCLKµÄµÚÒ»¸ö±ßÑØ£¬ËùÒÔCPHA=0£¨´Ëʱ¶ÔÓ¦µÄÊÇÉÏÉýÑØ£©¡£
¾ÙÀý2£º
SSD1289 - 240 RGB x 320 TFT LCD Controller DriverµÄdatasheetÖÐÌáµ½£º
¡°SDI is shifted into 8-bit shift register on everyrising edge of SCK in the order of data bit 7, data bit 6 ¡¡ data bit 0.¡±
Òâ˼ÊÇ£¬Êý¾ÝÊÇÔÚÉÏÉýÑØ²ÉÑù£¬ËùÒÔ¿ÉÒԶ϶¨ÊÇCPOL=0£¬CPHA=0£¬»òÕßCPOL=1£¬CPHA=1µÄģʽ£¬µ«ÊÇÖÁÓÚÊÇÄÄÖÖģʽ¡£
°´ÀíÀ´Ëµ£¬½ÓÏÂÀ´Ó¦¸ÃÔÙȥȷ¶¨SCLK¿ÕÏÐʱºòÊÇ¸ßµçÆ½»¹ÊÇµÍµçÆ½£¬ÓÃÒÔÈ·¶¨CPOLÊÇ0»¹ÊÇ1£¬µ«ÊÇdatasheetÖÐûÓÐÌáµ½Õâµã¡£
ËùÒÔ£¬´Ë´¦£¬Ä¿Ç°²»Ì«È·¶¨£¬ÊÇÁ½ÖÖģʽ¶¼Ö§³Ö£¬»¹ÊÇÐèÒª¶îÍâÕÒÖ¤¾ÝÈ´È·¶¨CPOLÊÇ0»¹ÊÇ1.
£¨2£©¿ÉÅäÖõģ¬ÓÉÈí¼þ×Ô¼ºÉ趨
´ÓÉ豸ҲÊÇÒ»¸öSPI¿ØÖÆÆ÷£¬4ÖÖģʽ¶¼Ö§³Ö£¬´ËʱֻҪ×Ô¼ºÉèÖÃΪijÖÖģʽ¼´¿É¡£
È»ºóÖªµÀÁË´ÓÉ豸µÄģʽºó£¬ÔÙÈ¥½«SPIÖ÷É豸µÄģʽ£¬ÉèÖÃΪºÍ´ÓÉ豸ģʽһÑù£¬¼´¿É¡£
¶ÔÓÚÈçºÎÅäÖÃSPIµÄCPOLºÍCPHAµÄ»°£¬²»¶àϸ˵£¬¶àÊý¶¼ÊÇÖ±½Óȥд¶ÔÓ¦µÄSPI¿ØÖÆÆ÷ÖжÔÓ¦¼Ä´æÆ÷ÖеÄCPOLºÍCPHAÄÇÁ½Î»£¬Ð´0»òд1¼´¿É¡£
¾ÙÀý£º
´Ë´¦Óöµ½µÄC8051F347ÖеÄSPI¾ÍÊÇÒ»¸öSPIµÄcontroller¿ØÖÆÆ÷£¬¼´Ö§³ÖÈí¼þÅäÖÃCPOLºÍCPHAµÄÖµ£¬ËÄÖÖģʽ¶¼Ö§³Ö£¬´Ë´¦C8051F347×÷ΪSPI´ÓÉ豸£¬ÉèÖÃÁËCPOL=1£¬CPHA=0µÄģʽ£¬Òò´Ë£¬´Ë´¦¶ÔÓ¦Ö÷оƬBlackfin F537ÖеÄSPI¿ØÖÆÆ÷£¬×÷ΪMasterÖ÷É豸£¬ÆäSPIµÄģʽҲҪÉèÖÃΪCPOL=1£¬CPHA=0¡£
ÓÅȱµã
SPI½Ó¿Ú¾ßÓÐÈçÏÂÓŵ㣺
1) Ö§³Öȫ˫¹¤²Ù×÷£»
2) ²Ù×÷¼òµ¥£»
3) Êý¾Ý´«ÊäËÙÂʽϸߡ£
ͬʱ£¬ËüÒ²¾ßÓÐÈçÏÂȱµã£º
1) ÐèÒªÕ¼ÓÃÖ÷»ú½Ï¶àµÄ¿ÚÏߣ¨Ã¿¸ö´Ó»ú¶¼ÐèÒªÒ»¸ùƬѡÏߣ©£»
2) Ö»Ö§³Öµ¥¸öÖ÷»ú¡£