ʵÑéÒ» »ù±¾½Ó¿ÚʵÑ飨һ£©
[ʵÑéÉ豸]
1. JXARM9-2410½ÌѧʵÑéÏä
2. ADT1000·ÂÕæÆ÷ºÍADT IDE¼¯³É¿ª·¢»·¾³ 3. ´®¿Ú¡¢²¢¿ÚÁ¬½ÓÏß [ʵÑéÄ¿µÄ]
1.ÕÆÎÕARMµÄ´®Ðпڹ¤×÷ÔÀí£¬±à³ÌʵÏÖARMµÄUARTͨѶ£» 2.ÕÆÎÕǶÈëʽϵͳÖжϵĴ¦ÀíÁ÷³ÌºÍARMÖжϱà³Ì£»
3.ÔÚADT»·¾³ÏÂÈçºÎ½¨Á¢¹¤³Ì£¬¶Ô¹¤³Ì½øÐÐÕýÈ·µÄÉèÖá£Ìí¼ÓÏàÓ¦Îļþ£¨»ã±à¡¢½Å±¾¡¢.cÔ´ÎļþµÈ£© [ʵÑéÄÚÈÝÒ»]
ʵÏÖ²éѯ·½Ê½´®¿ÚµÄÊÕ·¢¹¦ÄÜ¡£½ÓÊÕÀ´×Ô´®¿Ú£¨Í¨¹ý³¬¼¶ÖÕ¶Ë£©µÄ×Ö·û²¢½«½ÓÊÕµ½µÄ×Ö·û·¢Ë͵½³¬¼¶ÖÕ¶Ë¡£ [Ô¤±¸ÖªÊ¶]
1. Á˽âADT¼¯³É¿ª·¢»·¾³µÄ»ù±¾¹¦ÄÜ 2. ѧϰ´®¿ÚͨѶµÄ»ù±¾ÖªÊ¶
3. ÊìϤS3C2410´®¿ÚÓйصļĴæÆ÷ [»ù´¡ÖªÊ¶]
´®ÐÐͨÐŽӿڵç·×é³É 1. ¿É±à³ÌµÄ´®ÐнӿÚоƬ 2. ²¨ÌØÂÊ·¢ÉúÆ÷
3. EIAÓëTTLµçƽת»»Æ÷ 4. µØÖ·ÒëÂëµç· ͨÐÅÐÒ飺 1. Òì²½ÐÒé 2. ͬ²½ÐÒé Òì²½´®ÐÐͨѶ
Òì²½´®Ðз½Ê½Êǽ«´«ÊäÊý¾ÝµÄÿ¸ö×Ö·ûһλ½Óһλ(ÀýÈçÏȵÍλ¡¢ºó¸ßλ)µØ´«ËÍ¡£ Êý¾ÝµÄ¸÷²»Í¬Î»¿ÉÒÔ·ÖʱʹÓÃͬһ´«ÊäͨµÀ£¬Òò´Ë´®ÐÐI/O ¿ÉÒÔ¼õÉÙÐźÅÁ¬Ïߣ¬×îÉÙÓÃÒ»¶ÔÏß¼´¿É½øÐС£
½ÓÊÕ·½¶ÔÓÚͬһ¸ùÏßÉÏÒ»Á¬´®µÄÊý×ÖÐźţ¬Ê×ÏÈÒª·Ö¸î³É룬ÔÙ°´Î»×é³É×Ö·û¡£ÎªÁ˻ָ´·¢Ë͵ÄÐÅÏ¢£¬Ë«·½±ØÐëе÷¹¤×÷¡£
ÔÚ΢ÐͼÆËã»úÖдóÁ¿Ê¹ÓÃÒì²½´®ÐÐI/O ·½Ê½£¬Ë«·½Ê¹Óø÷×ÔµÄʱÖÓÐźţ¬¶øÇÒÔÊÐíʱÖÓÆµÂÊÓÐÒ»¶¨Îó²î£¬Òò´ËʵÏÖ½ÏÈÝÒס£µ«ÊÇÓÉÓÚÿ¸ö×Ö·û¶¼Òª¶ÀÁ¢È·¶¨ÆðʼºÍ½áÊø(¼´Ã¿¸ö×Ö·û¶¼ÒªÖØÐÂͬ²½)£¬×Ö·ûºÍ×Ö·û¼ä»¹¿ÉÄÜÓг¤¶È²»¶¨µÄ¿ÕÏÐʱ¼ä£¬Òò´ËЧÂʽϵ͡£ Òì²½´®ÐÐͨÐÅÖеÄ×Ö·û´«Ë͸ñʽ
? ¿ªÊ¼Ç°£¬Ïß·´¦ÓÚ¿ÕÏÐ״̬£¬ËͳöÁ¬Ðø¡°1¡±¡£´«ËÍ¿ªÊ¼Ê±Ê×ÏÈ·¢Ò»¸ö¡°0¡±
×÷ΪÆðʼλ£¬È»ºó³öÏÖÔÚͨÐÅÏßÉϵÄÊÇ×Ö·ûµÄ¶þ½øÖƱàÂëÊý¾Ý¡£
ÿ¸ö×Ö·ûµÄÊý¾Ý볤¿ÉÒÔÔ¼¶¨Îª5λ¡¢6λ¡¢7λ»ò8룬һ°ã²ÉÓÃASCII±àÂë¡£ºóÃæÊÇÆæÅ¼Ð£Ñé룬¸ù¾ÝÔ¼¶¨£¬ÓÃÆæÅ¼Ð£Ñé뽫Ëù´«×Ö·ûÖÐΪ¡°1¡±µÄλÊý´Õ³ÉÆæÊý¸ö»òżÊý¸ö¡£Ò²¿ÉÒÔÔ¼¶¨²»ÒªÆæÅ¼Ð£Ñ飬ÕâÑù¾ÍÈ¡ÏûÆæÅ¼Ð£Ñéλ¡£
×îºóÊDZíʾֹͣλµÄ¡°1¡±Ðźţ¬Õâ¸öֹͣλ¿ÉÒÔÔ¼¶¨³ÖÐø1 λ¡¢1.5 λ»ò2 λµÄʱ¼ä¿í¶È¡£
ÖÁ´ËÒ»¸ö×Ö·û´«ËÍÍê±Ï£¬Ïß·ÓÖ½øÈë¿ÕÏУ¬³ÖÐøÎª¡°1¡±¡£¾¹ýÒ»¶ÎËæ»úµÄʱ¼äºó£¬ÏÂÒ»¸ö×Ö·û¿ªÊ¼´«ËͲÅÓÖ·¢³öÆðʼλ¡£
ÿһ¸öÊý¾ÝλµÄ¿í¶ÈµÈÓÚ´«ËͲ¨ÌØÂʵĵ¹Êý¡£Î¢»úÒì²½´®ÐÐͨÐÅÖУ¬³£ÓõIJ¨ÌØÂÊΪ110£¬150£¬300£¬600£¬1200£¬2400£¬4800£¬9600 µÈ¡£ DB-25 DB-9Òý½Å¶¨Òå
DB-25 DB-9Òý½Å˵Ã÷
RS-232C½Ó¿ÚͨÐŵÄÁ½ÖÖ»ù±¾Á¬½Ó·½Ê½
ÐÅºÅµçÆ½¹æ¶¨
1. EIAµçƽ£ºË«¼«ÐÔÐźÅÂß¼µçƽ, ËüÊÇÒ»Ì׸ºÂß¼¶¨Òå 2. -3Vµ½-25VÖ®¼äµÄµçƽ±íʾÂß¼¡°1¡± 3. +3Vµ½+25VÖ®¼äµÄµçƽ±íʾÂß¼¡°0¡±
4. TTLµçƽ£º¼ÆËã»úÄÚ²¿(S3C2410)ʹÓÃTTLµçƽ
5. µçƽת»»µç·£º³£ÓÃרÃŵÄRS-232½Ó¿ÚоƬ£¬ÈçSP3232¡¢SP3220µÈ£¬ÔÚTTLµçƽºÍ
EIAµçƽ֮¼äʵÏÖÏ໥ת»»¡£ S3C2410Òì²½´®ÐпڿØÖÆÆ÷
1. S3C2410×Ô´øÈý¸öÒì²½´®ÐпڿØÖÆÆ÷
2. ÿ¸ö¿ØÖÆÆ÷ÓÐ16×Ö½ÚµÄFIFO£¨ÏÈÈëÏȳö¼Ä´æÆ÷£© 3. ×î´ó²¨ÌØÂÊ115.2K
4. ÿ¸öUARTÓÐ7ÖÖ״̬£ºÒç³ö´íÎó£¬Ð£Ñé´íÎó£¬Ö¡´íÎó£¬ÔÝ̬ͣ£¬½ÓÊÕ»º³åÇø×¼±¸ºÃ£¬
·¢ËÍ»º³åÇø¿Õ£¬·¢ËÍÒÆÎ»»º³åÆ÷¿Õ£¬ÕâЩ״̬¿ÉÒÔÓÉÏàÓ¦µÄUTRSTATn»òUERSTATn¼Ä´æÆ÷±íʾ£¬²¢ÇÒÓë·¢ËͽÓÊÕ»º³åÇøÏà¶ÔÓ¦µÄÓдíÎ󻺳åÇø
5. ²¨ÌØÂʵĴóС¿ÉÒÔͨ¹ýÉèÖò¨ÌØÂʼĴæÆ÷£¨UBRDIVn£©¿ØÖÆ£¬¼ÆË㹫ʽÈçÏ£º ʹÓÃPCLKʱµÄ¼ÆË㹫ʽÈçÏ£º
UBRDIVn = (int)[PCLK/(²¨ÌØÂÊ¡Á16)]¨C1
ʹÓÃUCLKʱµÄ¼ÆË㹫ʽÈçÏ£º
UBRDIVn = (int)[UCLK/(²¨ÌØÂÊ¡Á16)]¨C1
ÀýÈ磺ʹÓÃPCLK£¬ÔÚ40 MHzµÄÇé¿öÏ£¬µ±²¨ÌØÂÊÈ¡115 200 bpsʱ£¬
UBRDIVn = (int)[/(¡Á16)]¨C1 = 20
[ʵÑé²½Öè]
1¡¢½¨Á¢Ò»¸ö´®¿ÚUART¹¤³Ì¡£
2¡¢±àд±àдÖ÷º¯Êý£¬²¢±£´æÎªmain.cÎļþ£¬½«¸ÃÎļþ¼ÓÈëµ½¹¤³ÌÖС£Ö÷º¯ÊýÖаüÀ¨ÒÔϹ¦ÄÜ£º
£¨1£©´®¿Ú³õʼ»¯ /* ÅäÖÃϵͳʱÖÓ */
ChangeClockDivider(1,1); // 1:2:4
ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz /* ³õʼ»¯¶Ë¿Ú */
3
Port_Init();
/* ³õʼ»¯´®¿Ú */ Uart_Init(0,);
Uart_Select(0); £¨2£©·¢ËÍÊý¾Ý
unsigned char ch = 'a'; ch = Uart_Getch(); £¨3£©½ÓÊÕÊý¾Ý
Uart_SendByte(ch)
4¡¢±àÒë¡¢ÏÂÔØÔËÐгÌÐò²é¿´³ÌÐòÊÇ·ñÕý³£¡£ÊµÏÖ´Ó¼üÅ̼üÈë×Ö·ûÔÚÆÁÄ»ÏÔʾ¹¦ÄÜ¡£
[ÊÔÑéÄÚÈݶþ]
±àдÖжϴ¦Àí³ÌÐò£¬´¦ÀíÍⲿÖжϡ£ [»ù´¡ÖªÊ¶]
CPUÓëÍâÉèÖ®¼ä´«ÊäÊý¾ÝµÄ¿ØÖÆ·½Ê½ 1¡¢²éѯ·½Ê½
²éѯ·½Ê½µÄÓŵãÊÇÓ²¼þ¿ªÏúС£¬Ê¹ÓÃÆðÀ´±È½Ï¼òµ¥£¬µ«ÔÚ´Ë·½Ê½Ï£¬CPUÒª²»¶ÏµØ²éѯÍâÉèµÄ״̬£¬µ±ÍâÉèδ׼±¸ºÃʱ£¬CPU¾ÍÖ»ÄÜÑ»·µÈ´ý£¬²»ÄÜÖ´ÐÐÆäËü³ÌÐò£¬ÕâÑù¾ÍÀË·ÑÁËCPUµÄ´óÁ¿Ê±¼ä£¬½µµÍÁËCPUµÄÀûÓÃÂÊ¡£ 2¡¢ÖжϷ½Ê½
µ±CPU½øÐÐÖ÷³ÌÐò²Ù×÷ʱ£¬ÍâÉèµÄÊý¾ÝÒÑ´æÈëÊäÈë¶Ë¿ÚµÄÊý¾Ý¼Ä´æÆ÷£»»ò¶Ë¿ÚµÄÊý¾ÝÊä³ö¼Ä´æÆ÷Òѿգ¬ÓÉÍâÉèͨ¹ý½Ó¿Úµç·ÏòCPU·¢³öÖжÏÇëÇóÐźţ¬CPUÔÚÂú×ãÒ»¶¨µÄÌõ¼þÏ£¬ÔÝÍ£Ö´Ðе±Ç°ÕýÔÚÖ´ÐеÄÖ÷³ÌÐò£¬×ªÈëÖ´ÐÐÏàÓ¦Äܹ»½øÐÐÊäÈë/Êä³ö²Ù×÷µÄ×Ó³ÌÐò£¬´ýÊäÈë/Êä³ö²Ù×÷Ö´ÐÐÍê±ÏÖ®ºóCPUÔÙ·µ»Ø²¢¼ÌÐøÖ´ÐÐÔÀ´±»ÖжϵÄÖ÷³ÌÐò¡£ÕâÑùCPU¾Í±ÜÃâÁ˰ѴóÁ¿Ê±¼äºÄ·ÑÔڵȴý¡¢²éѯ״̬ÐźŵIJÙ×÷ÉÏ£¬Ê¹Æä¹¤×÷ЧÂʵÃÒÔ´ó´óµØÌá¸ß 3¡¢DMA·½Ê½
µ±¸ßËÙÍâÉèÒªÓëϵͳÄÚ´æ»òÕßÒªÔÚϵͳÄÚ´æµÄ²»Í¬ÇøÓòÖ®¼ä£¬½øÐдóÁ¿Êý¾ÝµÄ¿ìËÙ´«ËÍʱ£¬²éѯ·½Ê½ºÍÖжϷ½Ê½¿ÉÄܲ»ÄÜÂú×ãÒªÇó£¬Ö±½Ó´æ´¢Æ÷´æÈ¡(DMA)¾ÍÊÇΪ½â¾öÕâ¸öÎÊÌâÌá³öµÄ²ÉÓÃDMA·½Ê½£¬ÔÚÒ»¶¨Ê±¼ä¶ÎÄÚ£¬ÓÉDMA¿ØÖÆÆ÷È¡´úCPU£¬»ñµÃ×ÜÏß¿ØÖÆÈ¨£¬À´ÊµÏÖÄÚ´æÓëÍâÉè»òÕßÄÚ´æµÄ²»Í¬ÇøÓòÖ®¼ä´óÁ¿Êý¾ÝµÄ¿ìËÙ´«ËÍ¡£ Öжϴ¦ÀíʾÒâͼ
ÏòCPU·¢³öÖжÏÇëÇóµÄÉ豸»òʼþ³ÆÎªÖжÏÔ´£¬¶Ïµã´¦²úÉúÖжÏÇëÇó£¬CPUÖ´ÐÐÖжÏÁ÷³Ì£¬ÏìÓ¦Öжϣ¬²¢Ö´ÐÐÓû§¶¨ÒåµÄÖжϷþÎñ×Ó³ÌÐò´¦ÀíÍê±Ï£¬Ö´ÐÐÖжϷµ»Ø¶¯×÷£¬Ö÷³ÌÐò¼ÌÐøÔËÐС£ ÖжÏÏìÓ¦
ÖжÏÔ´ÏòCPU·¢³öÖжÏÇëÇó£¬ÈôÓÅÏȼ¶±ð×î¸ß£¬CPUÔÚÂú×ãÒ»¶¨µÄÌõ¼þÏ£¬¿ÉÒÔÖжϵ±Ç°³ÌÐòµÄÔËÐУ¬±£»¤ºÃ±»ÖжϵÄÖ÷³ÌÐòµÄ¶Ïµã¼°ÏÖ³¡ÐÅÏ¢¡£È»ºó£¬¸ù¾ÝÖжÏÔ´ÌṩµÄÐÅÏ¢£¬ÕÒµ½ÖжϷþÎñ×Ó³ÌÐòµÄÈë¿ÚµØÖ·£¬×ªÈ¥Ö´ÐÐеijÌÐò¶Î£¬Õâ¾ÍÊÇÖжÏÏìÓ¦¡£
ÖжϷþÎñ×Ó³ÌÐò
S3C2410µÄÖжϿØÖÆÆ÷£º 1¡¢ÖжÏԴ״̬¼Ä´æÆ÷ ¸Ã¼Ä´æÆ÷µÄ32λÖÐÿһλ¶ÔÓ¦Ò»¸öÖжÏÔ´¡£Èç¹ûÏàÓ¦ÖжÏÔ´²úÉúÖжÏÇëÇóÔòÆä¶ÔӦλ±»ÖÃΪ1¡£¸Ã¼Ä´æÆ÷ÖеÄ뽫×Ô¶¯ÓÉÖжÏÇëÇóÖÃ룬¶ø²»¹ÜINTMASK¼Ä´æÆ÷ÖеÄÑÚÂëλÊÇ·ñÓÐЧ¡£ÁíÍ⣬¸Ã¼Ä´æÆ÷²»ÊÜÖжϿØÖÆÆ÷µÄÓÅÏȼ¶Âß¼Ó°Ïì¡£ ÔÚÖжϷþÎñ³ÌÐòÖУ¬¸Ã¼Ä´æÆ÷µÄÏàӦλ±ØÐë½øÐÐÇåÁã´¦Àí£¬ÇåÁãµÄ·½·¨Êǽ«¸ÃλдÈë1¡£
2¡¢¼Ä´æÆ÷ÖжÏģʽ
3¡¢ÖÐ¶ÏÆÁ±Î¼Ä´æÆ÷
4¡¢ÓÅÏȼ¶¼Ä´æÆ÷
5¡¢ÖжÏ״̬¼Ä´æÆ÷
6¡¢ÖÐ¶ÏÆ«ÒƼĴæÆ÷
5