ʵÑé×ܽá
¸ÃʵÑéʹͬѧÃÇÊìϤÁ˼̵çÆ÷µÄ¹¤×÷·½Ê½ÓëʹÓ÷½·¨£¬ÎªÒÔºóµÄ×ÛºÏʵÑé´òÏÂÁË»ù´¡¡£
ʵÑéËÄ:CC2530 ´®¿ÚÊÕ·¢Êý¾ÝʵÑé
Ò»¡¢ÊµÑéÄ¿µÄ
ÊìϤ²¢ÕÆÎÕ CC2530 оƬ´®¿Ú·¢ËͺͽÓÊÕÊý¾ÝµÄ²Ù×÷£¬Îª½ñºóµÄ×ÛºÏʵÑé´òÏ»ù´¡¡£
¶þ¡¢ÊµÑéÄÚÈÝ
ʹ´®¿Ú½«½ÓÊÕµÄÊý¾ÝÔÙ·¢ËÍ¡£
Èý¡¢ÊµÑé»·¾³
Ó²¼þ£º¶¦Ðù WSN ʵÑéÏ䣨»ã¾ÛÍø¹Ø¡¢ÉÕ¼Ïß¡¢Æ½Ðд®¿ÚÏߣ© £¬PC »ú£»
Èí¼þ£ºIAR Èí¼þ£¬´®¿ÚÖúÊÖ¡£
ËÄ¡¢ÊµÑé²½Öè
1£©´ò¿ª¶¦Ðù WSN ʵÑéÏ䣬¼ì²éʵÑéÏäÉ豸£¬È·±£ÊµÑéÏäÉ豸ÍêÕû¡¢Á¬½ÓÎÞ Îóºó£¬Á¬½ÓµçÔ´Ïߣ¬´ò¿ªµçÔ´¿ª¹Ø£»
2£©ÓÃÉÕ¼ÏßÁ¬½Ó»ã¾ÛÍø¹ØÉϵÄÉÕ¼½Ó¿ÚÓëµçÄÔ USB ½Ó¿Ú£»
3£©Ë«»÷´ò¿ªÄ¿Â¼(/cc2530-simple-demo/ USART_send_receive)ÏµĹ¤³Ìͼ±êUSART_SR.eww ´ò¿ª¹¤³Ì£»
4£©µã»÷ IAR ÖеÄͼ±ê°´Å¥±àÒë³ÌÐò£»
5£©Íê³É±àÒëºóÈôûÓдíÎóÐÅÏ¢£¬½«ÊµÑéÏä½Úµã±à³Ì¿ª¹ØÉÏ»ã¾ÛÍø¹Ø¿ª¹Ø²¦ÉÏÈ¥£¬µã»÷µ÷ÊÔ²¢ÏÂÔØ°´Å¥ ½«³ÌÐòÏÂÔØµ½»ã¾ÛÍø¹ØÉÏ£»
6£©Óô®¿ÚÏßÁ¬½Ó»ã¾ÛÍø¹ØÉϵÄÊý¾ÝÊä³ö¿ÚºÍ PC »ú USB ½Ó¿Ú£¬ ´ò¿ª´®¿ÚÖúÊÖ£¬ÕýÈ·Ñ¡Ôñ´®¿ÚºÅ£¨ÊÓ¾ßÌåµçÄÔ¶ø¶¨£© ¡¢²¨ÌØÂÊ£¨9600£© £¬ÆäËûÅäÖÃÈçÏÂͼ¶¼²»¸ü¸Ä¡£
7£©ÔÚ´®¿ÚÖúÊÖÉÏ×Ö·û´®ÊäÈë¿òÄÚ£¬ÊäÈëÐèÒª´«ÊäµÄÄÚÈÝ£¬µã»÷·¢ËͰ´Å¥£¬¿É
ÒÔ¿´µ½×Ö·û´®¾´®¿Ú´«Ë͸ø»ã¾ÛÍø¹Ø£¬È»ºóÓÖÓÉ´®¿Ú´òÓ¡Êä³ö£¬Êä³öÄÚÈÝÈçÏÂͼ£º
8£©ÐÞ¸ÄʵÑé´úÂ룬ʵÏÖÊäÈë×Ö·û 1£¬ºìµÆÁÁ£¬ÊäÈë×Ö·û 2£¬ºìµÆÃð¡£
ʵÑé×ܽá
¸ÃʵÑéÍê³É´®¿ÚµÄ»ù±¾Í¨Ñ¶¡£ÔÚ´®¿ÚͨѶÖÐÒ»°ãÓÐÁ½ÖÖ·½Ê½À´½ÓÊÜÊý¾Ý£¬Ò»ÖÖÊDzéѯ·¨¡¢Ò»ÖÖÊÇÖжϷ¨¡£²éѯ·¨¾ÍÊÇÒª´®¿ÚÒ»Ö´¦Óڵȴý״̬£¬¿´´®¿ÚÉÏÊDz»ÊÇÓÐÊý¾Ý£¬Ò»µ©Êý¾Ý½ÓÊÕÍê±Ï£¬¾Í¿ªÊ¼¶Ô½ÓÊÕµÄÊý¾Ý½øÐÐÏàÓ¦µÄ²Ù×÷¡£Õâ¸ö·½·¨ÐèÒªÈóÌÐòÒ»Öµȴý´®¿Ú£¬ËùÒÔÕâÖÖ·½·¨Ð§ÂÊ»¹ÊDZȽϵ͵ġ£ÖжϷ¨Ê¦ÔËÓô®¿ÚµÄÖжϷþÎñ×Ó³ÌÐòÀ´Íê³ÉµÄ£¬Èç¹û´®¿ÚÉÏÓÐÊý¾ÝµÄ»°£¬ÄÇô»áµ÷ÓÃÖжÏÏòÁ¿£¬ÖжÏÏòÁ¿°Ñ³ÌÐòÖ¸ÕëÖ¸µ½ÏàÓ¦µÄÖжϷþÎñ·þÎñ³ÌÐòÉÏ¡£ÔÚÖжϷþÎñ³ÌÐòÍê³ÉÖ®ºó£¬³ÌÐòÖ»ÄÜ»¹»áÌø×ªµ½ÖжÏ֮ǰµÄµØÖ·¡£Õâ¸ö·½·¨µÄЧÂʱȽϸߣ¬µ«ÊÇ´ÓÎȶ¨ÐÔÉÏÃæ½²£¬ÕâÖÖ·½·¨²»Èç²éѯ·¨¡£±¾ÊµÑéÓõÄÊÇÖжϷ¨¡£
ʵÑéÎå CC2530 DMA ʵÑé
Ò»¡¢ÊµÑéÄ¿µÄ
͸¹ý±¾ÊµÑéµÄѧϰ£¬Ê¹Ê¹ÓÃÕßÊìϤ CC2530 оƬµÄ DMA ´«Ê书ÄÜÏà¹ØÔÝ´æ Æ÷µÄÅäÖü° ÆäʹÓ÷½·¨¡£
¶þ¡¢ÊµÑéÄÚÈÝ
ÓÃCC2530 оƬÄÚ DMA ¿ØÖÆÆ÷½«Ò»×Ö·û´®´ÓÔ´Î»Ö·×ªÒÆµ½Ä¿±êλַ¡£
Èý¡¢ÊµÑé»·¾³
Ó²¼þ£º¶¦Ðù WSN ʵÑéÏ䣨»ã¾ÛÍø¹Ø¡¢ÉÕ¼Ïß¡¢Æ½Ðд®¿ÚÏߣ© £¬PC »ú£» Èí¼þ£ºIAR Èí¼þ£¬´®¿ÚÖúÊÖ¡£
ËÄ¡¢ÊµÑé²½Öè 1. DMA ¼ò½é
Ö±½Ó´æÈ¡·ÃÎÊ£¨DMA£©¿ØÖÆÆ÷¿ÉÒÔÓÃÀ´¼õÇá 8051CPU Äں˴«ËÍÊý¾Ý²Ù×÷µÄ¸ºµ££¬´Ó¶øÊµÏÖÔÚ¸ßЧÀûÓõçÔ´µÄÌõ¼þϵĸßÐÔÄÜ¡£Ö»ÐèÒª CPU ¼«ÉٵĸÉÔ¤£¬DMA¿ØÖÆÆ÷¾Í¿ÉÒÔ½«Êý¾Ý´ÓÖîÈç ADC »ò RF ÊÕ·¢Æ÷µÄÍâÉèµ¥Ôª´«Ë͵½´æ´¢Æ÷¡£DMA¿ØÖÆÆ÷е÷ËùÓÐµÄ DMA ´«ËÍ£¬È·±£ DMA ÇëÇóºÍ CPU ´æ´¢Æ÷·ÃÎÊÖ®¼ä°´ÕÕÓÅÏȵȼ¶Ðµ÷¡¢ºÏÀíµØ½øÐС£DMA ¿ØÖÆÆ÷º¬ÓÐÈô¸É¿É±à³ÌµÄ DMA ͨµÀ£¬ÓÃÀ´ÊµÏÖ´æ´¢Æ÷-´æ´¢Æ÷µÄÊý¾Ý´«ËÍ¡£ DMA ¿ØÖÆÆ÷¿ØÖÆÕû¸ö XDATA ´æ´¢¿Õ¼äµÄÊý¾Ý´«ËÍ¡£ ÓÉÓÚ´ó¶àÊý SFR ¼Ä´æÆ÷Ó³Éäµ½ DMA ´æ´¢Æ÷¿Õ¼ä£¬ÕâЩÁé»îµÄ DMA ͨµÀµÄ²Ù×÷Äܹ»ÒÔ´´Ðµķ½Ê½¼õÇá CPU µÄ¸ºµ££¬ÀýÈ磬´Ó´æ´¢Æ÷´«ËÍÊý¾Ýµ½USART£¬»ò¶¨ÆÚÔÚADC ºÍ´æ´¢Æ÷Ö®¼ä´«ËÍÊý¾ÝÑù±¾£¬µÈµÈ¡£Ê¹Óà DMA »¹¿ÉÒÔ±£³Ö CPU Ôڵ͹¦ºÄģʽÏÂÓëÍâÉèµ¥ÔªÖ®¼ä´«ËÍÊý¾Ý£¬²»ÐèÒª»½ÐÑ£¬Õâ¾Í½µµÍÁËÕû¸öϵͳµÄ¹¦ºÄ¡£
DMA ¿ØÖÆÆ÷µÄÖ÷Òª¹¦ÄÜÈçÏ£º
(1) 5 ¸ö¶ÀÁ¢µÄ DMA ͨµÀ£»
(2) 3 ¸ö¿ÉÒÔÅäÖÃµÄ DMA ͨµÀÓÅÏȼ¶£» (3) 32 ¸ö¿ÉÒÔÅäÖõĴ«ËÍ´¥·¢Ê¼þ£» (4) Ô´µØÖ·ºÍÄ¿±êµØÖ·µÄ¶ÀÁ¢¿ØÖÆ£»
(5) µ¥¶À´«ËÍ¡¢Êý¾Ý¿é´«ËͺÍÖØ¸´´«ËÍģʽ£» (6) Ö§³Ö´«ÊäÊý¾ÝµÄ³¤ÓòÓò£¬ÉèÖÿɱ䴫Ê䳤¶È£» (7) ¼È¿ÉÒÔ¹¤×÷ÔÚ×Öģʽ£¬ÓÖ¿ÉÒÔ¹¤×÷ÔÚ×Ö½Úģʽ¡£ 2.DMA ²ÎÊýÅäÖÃ
DMA ¿ØÖÆÆ÷µÄÅäÖÃÐèÒªÓÉʹÓÃÕßÈí¼þÀ´Íê³É¡£ÔÚÒ»¸ö DMA ͨµÀ¿É±»Ê¹ÓÃÖ® ǰ±ØÐëÒª ÅäÖÃһЩ²ÎÊý¡£DMA ¿ØÖÆÆ÷µÄ 5 ¸öͨµÀµÄÐÐΪ¶¼ÓëÏÂÁÐÅäÖòÎÊýÓÐ ¹Ø£º
3. Ô´µØÖ·
DMA ͨµÀ´Ó¸Ãλַ¿ªÊ¼¶ÁÈ¡×ÊÁÏ¡£¸ÃλַÊÇ XDATA ´æ´¢Æ÷¿Õ¼äÖеÄλַ£¬¿ÉÒÔ¾ßÌå Ó³Éäµ½ÏÂÃæ¼¸ÖÖ´æ´¢Æ÷»òÔÝ´æÆ÷£º
SRAM ´æ´¢Æ÷£¨Ó³Éäλַ£º0x0000 ~ SRAM_SIZE-1£© £¬ÈÝÁ¿Îª 8KB ¿ÉÑ¡µÄ FLASH ´æ´¢Æ÷ BANK£¨Ó³Éäλַ£¬ £ºXBANK£¨0x8000 ~ 0xFFFF£© £© £¬ÈÝÁ¿Îª 32KB XREG£¨Ó³Éäλַ£º0x6000 ~ 0x63FF£© £¬ÈÝÁ¿Îª 1KB ¿É±»Ó³Éäµ½ XDATA´æ´¢Æ÷¿Õ¼äµÄ SFR£¨Ó³Éäλַ£º0x7080 ~ 0x70FF£© £¬ÈÝÁ¿Îª 128Byte 4. Ä¿±êλַ
DMA ͨµÀ´Ó¸Ãλַ¿ªÊ¼Ð´Èë×ÊÁÏ¡£¸ÃλַÊÇ XDATA ´æ´¢Æ÷¿Õ¼äÖеÄλַ£¬ ¿ÉÒÔ¾ßÌå Ó³Éäµ½ÏÂÃæ¼¸ÖÖ´æ´¢Æ÷»òÔÝ´æÆ÷£º
SRAM ´æ´¢Æ÷£¨Ó³Éäλַ£º0x0000 ~ SRAM_SIZE-1£© £¬ÈÝÁ¿Îª 8KB ¿ÉÑ¡µÄ FLASH´æ´¢Æ÷BANK £¨Ó³Éäλַ£º XBANK £¨0x8000~ 0xFFFF£© £© £¬ ÈÝÁ¿Îª32KB XREG£¨Ó³Éäλַ£º0x6000 ~ 0x63FF£© £¬ÈÝÁ¿Îª 1KB£¬¿É±»Ó³Éäµ½ XDATA ´æ´¢Æ÷¿Õ¼äµÄ SFR£¨Ó³Éäλַ£º0x7080 ~ 0x70FF£© £¬ÈÝÁ¿Îª 128Byte¡£ 5. ×Ö½Ú´«Êä»ò×Ö´«Êä
ÓÃÓÚÅäÖà DMA ͨµÀËùÍê³ÉµÄ´«ÊäÊÇ 8 λԪ£¨×Ö½Ú£©»¹ÊÇ 16 λԪ£¨×Ö£© ¡£ 6. M8
¸Ã²ÎÊýÓÃÓÚÅäÖòÉÓà 7 λԪ³¤»¹ÊÇ 8 λԪ³¤µÄ×Ö½ÚÀ´´«Êä×ÊÁÏ¡£´Ë²ÎÊýÖ»ÊÊ
ÓÃÓÚ×Ö½Ú´«Êä¡£
7. ԴλַºÍÄ¿±êλַÔöÁ¿
µ± DMA ͨµÀ½øÈ빤×÷״̬»òÖØÐ½øÈ빤×÷״̬ʱ£¬ ԴλַºÍÄ¿±êλַ±»×ªË͵½ÄÚ²¿Î» Ö·Ö¸Õë¡£¸ÃÄÚ²¿Î»Ö·Ö¸±ê¿ÉÒÔÓÐÏÂÁÐ 4 ÖÖÔöÁ¿£º
ÔöÁ¿Îª 0£ºÃ¿´Î´«ÊäÖ®ºó¸ÃÄÚ²¿Î»Ö·Ö¸±ê½«±£³Ö²»±ä¡£ ÔöÁ¿Îª 1£ºÃ¿´Î´«ÊäÖ® ºó¸ÃÄÚ²¿Î»Ö·Ö¸Õ뽫¼Ó 1¡£ ÔöÁ¿Îª 2£ºÃ¿´Î´«ÊäÖ®ºó¸ÃÄÚ²¿Î»Ö·Ö¸Õ뽫¼Ó 2¡£ ¼õÁ¿Îª 1£ºÃ¿´Î´«ÊäÖ®ºó¸ÃÄÚ²¿Î»Ö·Ö¸Õ뽫¼õ 1¡£ÔÚλԪ×éģʽ£¬1 ¸ö¼ÆÊýµÈÓÚ 1 ¸öλԪ×飻ÔÚ×ÖģʽÏ£¬1 ¸ö¼ÆÊýµÈÓÚ 2 ¸öλԪ×é¡£ 8. ´«Ê䳤¶È
DMA ´«ÊäµÄ×Ö½ÚÊý»ò×ÖÊý¡£µ±µ½´ï¸Ãֵʱ£¬DMA ¿ØÖÆÆ÷ÖØÐÂʹ DMA ͨµÀ ½øÈ빤×÷״̬»ò½â³ý DMA ͨµÀµÄ¹¤×÷״̬£¬²¢ÇÒ¿ÉÒÔ²úÉúÖжÏÇëÇó¡£
¿ÉÒÔ¿´³ö£¬Ê¹ÓøòÎÊýºó£¬Ã¿´Î DMA ´«ÊäµÄ×Ö½ÚÊý»ò×ÖÊý¾ÍÓɸÃÖµ¾ö¶¨£¬Õâ ÊÇÒ»¸ö¹Ì¶¨³¤¶È¡£Èç¹ûÐèҪÿ´Î DMA ´«ÊäµÄ×Ö½ÚÊý»ò×ÖÊýÊǿɱäµÄ£¬ÐèÒªÓõ½ ÏÂÃæ½éÉܵÄÅäÖòÎÊý¡£