ÔÚÀ×´ïÐźŴ¦Àí¡¢Êý×ÖͼÏñ´¦ÀíµÈÁìÓòÖУ¬ÐźŴ¦ÀíµÄʵʱÐÔÖÁ¹ØÖØÒª¡£ÓÉÓÚFPGAоƬÔÚ´óÊý¾ÝÁ¿µÄµ×²ãËã·¨´¦ÀíÉϵÄÓÅÊƼ°DSPоƬÔÚ¸´ÔÓËã·¨´¦ÀíÉϵÄÓÅÊÆ£¬DSP+FPGAµÄʵʱÐźŴ¦ÀíϵͳµÄÓ¦ÓÃÔ½À´Ô½¹ã·º¡£ADI¹«Ë¾µÄTigerSHARCϵÁÐDSPоƬ¸¡µã´¦ÀíÐÔÄÜÓÅÔ½£¬¹Ê»ùÓÚÕâÀà¡£DSPµÄDSP+FPGA´¦ÀíϵͳÕý¹ã·ºÓ¦ÓÃÓÚ¸´ÔÓµÄÐźŴ¦ÀíÁìÓò¡£Í¬Ê±ÔÚÕâÀàʵʱ´¦ÀíϵͳÖУ¬FPGAÓëDSPоƬ֮¼äÊý¾ÝµÄʵʱͨÐÅÖÁ¹ØÖØÒª¡£
TigerSHARCϵÁÐDSPоƬÓëÍⲿ½øÐÐÊý¾ÝͨÐÅÖ÷ÒªÓÐÁ½ÖÖ·½Ê½£º×ÜÏß·½Ê½ºÍÁ´Â·¿Ú·½Ê½¡£Á´Â·¿Ú·½Ê½¸üÊʺÏÓÚFPGAÓëDSPÖ®¼äµÄʵʱͨÐÅ¡£Ëæ×ÅʵʱÐźŴ¦ÀíÔËËãÁ¿µÄÈÕÒæÔö¼Ó£¬¶àDSP²¢Ðд¦ÀíµÄ·½Ê½±»ÆÕ±é²ÉÓã¬ËüÃǹ²Ïí×ÜÏßÒÔ»¥ÏàÓ³Éä´æ´¢¿Õ¼ä£¬Èç¹ûÔÙÓëFPGAͨ¹ý×ÜÏßÁ¬½Ó£¬ÊƱص¼ÖÂFPGAÓëDSPµÄ×ÜÏß¾ºÕù¡£Í¬Ê±²ÉÓÃ×ÜÏß·½Ê½ÓëFPGAͨÐÅ£¬DSPµÄµØÖ·¡¢Êý¾ÝÏßÒý½ÅºÜ¶à£¬Õ¼ÓÃFPGAµÄI/OÒý½Å×ÊÔ´Ì«¶à¡£¶ø²ÉÓÃÁ´Â·¿ÚͨÐŲ»µ«ÄÜÓÐЧ»º½âDSP×ÜÏßÉϵÄѹÁ¦£¬¶øÇÒ´«ÊäËٶȿ죬ÓëFPGAÖ®¼äµÄÁ¬ÏßÏà¶ÔÒ²Éٵö࣬¹ÊÁ´Â·¿Ú·½Ê½¸üÊʺÏÓÚFPGAÓëDSPÖ®¼ä½øÐÐʵʱÊý¾ÝͨÐÅ¡£
²Î¿¼ÎÄÏ×[3]¸ø³öTS201ÓëTS101µÄÐÔÄܱȽϣ¬µ«Ã»ÓÐÕë¶ÔÁ½ÕßµÄÁ´Â·¿Ú½øÐÐÏêϸ½éÉÜ£¬±¾ÎĶÔÁ½ÕßµÄÁ´Â·¿Ú½øÐÐÁËϸÖµķÖÎöºÍ±È½Ï¡£ÎÄÏ×[4]ËùÉè¼ÆµÄ²É¼¯ÏµÍ³ÖУ¬DSPÓëFGAµÄͨÐŽöÏÞÓÚFPGA·¢¡¢TS101Êյĵ¥¹¤Í¨ÐÅ£»ÎÄÏ×[5]¸ø³öÁËFPGAÄÚ²¿Ã»¼ÆTS101Á´Â·¿ÚµÄ¿òͼ£¬µ«Ö»¸ø³öÁ˼òµ¥µÄ½éÉÜ£¬ÎÞ·¨¸øÉè¼ÆÕßÒԲο¼¡£±¾ÎIJÉÓÃAltera¹«Ë¾CycloneϵÁÐоƬEP1C12ʵÏÖÁËÓëTS101/TS201Á½ÖÖоƬµÄÁ´Â·¿ÚµÄË«¹¤Í¨ÐÅ£¬²¢¸ø³öÁ˾ßÌåµÄÉè¼ÆʵÏÖ·½·¨¡£ÆäÖÐTS101µÄÉè¼ÆÒѾ³É¹¦Ó¦ÓÃÓÚijÐźŴ¦Àí»úÖС£
1 TS101ºÍTS201µÄÁ´Â·¿Ú·ÖÎöÓë±È½Ï
TS101ºÍTS210¶¼ÊǸßÐÔÄܵĸ¡µã´¦ÀíоƬ£¬Ä¿Ç°Á½Õ߶¼¹ã·ºÓ¦ÓÃÓÚ¸´ÔÓµÄÐźŴ¦ÀíÁìÓò¡£TS201ÊǼÌTS101Ö®ºóÍƳöµÄÐÂÐÍоƬ£¬ºËʱÖÓ×î¸ß¿É´ï600MHz£¬Æä¸÷ÀàÐÔÄÜÒ²Ïà¶ÔÓÅÓÚTS101£¬¶øÇÒTS201µÄÁ´Â·¿Ú²ÉÓÃÁ˵Íѹ²î·ÖÐźÅLVDS¼¼Êõ£¬¹¦ºÄ¸üµÍ¡¢¿¹ÔëÉùÐÔÄܸüºÃ¡£±í1ÁгöÁËÁ½ÖÖоƬÁ´Â·¿ÚÐÔÄܵÄÏêϸ±È½Ï£¬ÆäÖÐTS101ºËʱÖÓ¹¤×÷ÔÚ250MHz£¬TS201ºËʱÖÓ¹¤×÷ÔÚ500MHz¡£
ÏÞÓÚƪ·ù£¬TS101¡¢TS201µÄÁ´Â·¿Ú½á¹¹Çë²ÎÔIJο¼ÎÄÏ×[1][2]¡£ÓÉÓÚTS101ÊÕ·¢¶Ë¹²ÓÃÒ»¸öͨµÀ£¬ËùÒÔÖ»ÄÜʵÏÖ°ëË«¹¤Í¨ÐÅ¡£¶øTS201½«ÊÕ·¢¶Ë×ö³ÉÁ½¸ö¶ÀÁ¢Í¨µÀ£¬¿ÉʵÏÖÈ«Ë«¹¤Í¨ÐÅ£¬ÀíÂÛÉÏÊý¾ÝµÄ´«ÊäËÙÂÊ¿ÉÒÔÌá¸ßÒ»±¶¡£ËäÈ»TS201µÄÁ´Â·¿ÚÊÕ·¢Í¨µÀ¶ÀÁ¢£¬µ«Êµ¼ÊÉ϶þÕßµÄÊÕ·¢»úÖÆ´óÌåÏàͬ£¬¶¼ÊÇ¿¿ÊÕ·¢»º´æºÍÒÆλ¼Ä´æÆ÷ÊÕ·¢Êý¾Ý¡£È»¶øFPGAÄÚ²¿µÄÁ´Â·¿ÚÉè¼Æ²»±Ø¾ÐÄàÓÚ´Ë£¬Ö»Òª·ûºÏÁ´Â·¿ÚͨÐÅÐÒé²¢´ï³ÉͨÐż´¿É¡£
2 FPGAÓëDSPµÄÁ´Â·¿ÚͨÐÅ
2.1 Á´Â·¿ÚͨÐÅÐÒé·ÖÎö
TS101µÄÁ´Â·¿Ú¹²ÓÐ11¸ùÒý½Å£¬Í¨¹ý8¸ùÊý¾ÝÏß(LxDAT[7..0]£¬ÕâÀïx¿ÉÒÔÊÇ0¡¢1¡¢2»ò3£¬´ú±íTS101»òTS201µÄ0ºÅ¡«3ºÅÁ´Â·¿ÚÖеÄÒ»¸ö£¬ÒÔÏÂͬ)½øÐÐÊý¾Ý´«Ê䣬²¢²ÉÓÃ3¸ù¿ØÖÆÏß(LxCLKOUT¡¢LxCLKIN¡¢LxDIR)À´¿ØÖÆÊý¾Ý´«ÊäʱÖÓ¡¢Í¨ÐŵÄÎÕÓÚºÍÊý¾Ý´«Êä·½Ïò¡£ÆäÖÐLxDIRΪ֪ͨÁ´Â·¿Úµ±Ç°¹¤×÷״̬ÊǽÓÊÕ»ò·¢Ë͵ÄÊä³öÒý½Å£¬¿ÉÐü¿Õ²»Óá£TS201µÄÁ´Â·¿Ú¹²24¸ùÒý½Å£¬½ÓÊպͷ¢Ë͸÷12¸ùÒý½Å£¬Í¨¹ýLVDSÐÎʽµÄÊý¾ÝÏß(LxDAT_P/N[3..0])ºÍʱÖÓÏß(LxCLK_P/N)½øÐÐÊý¾Ý´«Ê䣬²¢²ÉÓÃLxACKºÍLxBCMP#(‘#’´ú±íÐźŵÍÓÐЧ)À´Í¨Öª½ÓÊÕ×¼±¸ºÃºÍÊý¾Ý¿é´«Êä½áÊø¡£
²ÉÓÃFPGAÓëDSPͨ¹ýÁ´Â·¿ÚͨÐŵĹؼüÊÇÁîË«·½Í¨ÐŵÄÎÕÊÖÐźŴï³ÉÐÒ飬´ÙʹÊý¾Ý´«ÊäµÄ½øÐС£Êµ¼ÊÉÏ£¬Èç¹û¿¼ÂÇTS201µÄLVDSÐźÅÐÎʽÒѾ±»×ª»»Íê±Ï£¬ÔòTS101ºÍTS201Á´Â·¿Ú´«ÊäµÄÊý¾ÝÐÎʽÊÇÒ»ÑùµÄ£¬¶¼ÊÇʱÖÓË«ÑØ´¥·¢µÄDDRÊý¾Ý£¬²¢ÇÒÿ´Î´«ÊäµÄÊý¾Ý¸öÊý¶¼ÊÇ4¸ö³¤×Ö(¼´128bit)µÄÕûÊý±¶¡£¼øÓÚÒÔÉÏÁ½ÖÖоƬÁ´Â·¿ÚÊý¾ÝµÄ¹²Í¬µã£¬ËùÒÔ²ÉÓÃFPGAÓëÁ½ÀàоƬͨÐÅʱ£¬½ÓÊպͷ¢Ë͵ÄÊý¾Ý»º´æ²¿·ÖµÄÉè¼ÆÓ¦¸ÃÊǺÜÏà½üµÄ£¬Ö»ÊÇͨÐÅÎÕÊÖÐźŲ¿·ÖµÄÉè¼ÆÓ¦µ±·Ö±ð¼ÓÒÔ¿¼ÂÇ¡£ÏÂÃæ·Ö±ð¸øÓè½éÉÜ¡£
2.2 »ùÓÚFPGAµÄTS101Á´Â·¿ÚÉè¼Æ
ͼ1¸ø³öÁËFPCAÓëTS101½øÐаëË«¹¤Á´Â·¿ÚͨÐŵÄÉè¼Æ(¶ÔLxCLKOUT¡¢LxCLKIN¾ùÒÔFPCAµÄ½Ç¶ÈÀ´ÐðÊö)£¬¸Ã½Ó¿ÚÓɽÓÊÕ¡¢¿ØÖƺͷ¢ËÍÈý²¿·Ö×é³É¡£±¾Éè¼ÆFPGAʱÖÓΪ40MHz£¬TS101ºËʱÖÓÉÏ×÷ÔÚ250MHz£¬Á´Â·¿ÚʱÖÓÉ趨ΪDSPºËʱÖÓµÄ8·ÖƵ£¬FPGAÓëDSPµÄʵ¼ÊÊý¾Ý´«ÊäÂÊΪ62.5MBps¡£
(1) ½ÓÊÕ²¿·Ö£ºÓɱàÂëºÍ»º´æÁ½²¿·Ö×é³É¡£ÓÉÓÚÁ´Â·¿ÚµÄÊý´íÊÇDDRÐÎʽµÄ£¬²»·½±ãÊý¾ÝµÄ»º´æ£¬±¾ÎIJÉÓÃQuartusII MegafunctionsÖеÄaltddioÄ£¿é½«ÉÏÉýÑØÊý¾ÝºÍϽµÑØÊý¾Ý·Ö¿ª¡£×¢ÒâÕâ¸öÄ£¿éµÄϽµÑØÊý¾ÝÊä³ö»áÖͺóÉÏÉýÑØÊý¾Ý1¸öʱÖÓÖÜÆÚ£¬Êä³öʱӦ¸ÃÓÃÁ´Â·¿ÚʱÖÓÐźÅ(LxCLKIN)ͨ¹ýD´¥·¢Æ÷À´½«Êý¾Ý¶ÔÆë¡£¸ÃÄ£¿éµÄinclockÒ»¶¨ÒªÓÃÁ´Â·¿ÚʱÖÓÐźÅÒÔ±£Ö¤Êý¾ÝµÄÕýÈ·¶ÁÈ¡£¬Èçͼ2Ëùʾ¡£ÓÖÓÉÓÚDSPÄÚ²¿Êý¾ÝÊÇ32λµÄ³¤×Ö£¬ËùÒÔдÈë½ÓÊÕ»º´æÇ°Ó¦¸ÃÓÃÒ»×éD´¥·¢Æ÷½«Êý¾Ý½øÐÐ32bit¶ÔÆ룬ÕâÀï×¢ÒâDSPÁ´Â·¿ÚÏÈ´«Êä32λÊý¾ÝÖеĵÍ8λ¡£
(2) ¿ØÖƲ¿·Ö£ºÓÉÁîÅÆת»»Ä£¿éºÍ¿ØÖÆÄ£¿é×é³É£¬ÊÇÕû¸öÉè¼ÆµÄºËÐIJ¿·Ö£¬Íê³É¶Ô¸÷²¿·ÖµÄ¿ØÖƺÍÓëFPGAÄÚ²¿½øÐÐͨÐÅ(ͨ¹ýCTLÒ»×éÐźÅ)¡£TS101µÄÁ´Â·¿ÚͨÐÅÎÕÊÖÊÇ¿¿Á½¸ùʱÖÓÐźÅÑéÖ¤ÁîÅÆÖ¸ÁîÍê³É£¬¼´µ±·¢ËͶËÇý¶¯Ô±¾Îª¸ßµÄLxCLKOUTÐźÅΪµÍµçƽ£¬ÒÔ´Ë×÷ΪÁîÅÆÇëÇóÏò½ÓÊն˷¢³ö¡£Èç¹û½ÓÊÕ¶Ë×¼±¸ºÃ½ÓÊÕ£¬Ôò½ÓÊÕ¶ËÇý¶¯LxCLKINΪ¸ß£»Èç¹ûÁîÅÆ·¢³ö6¸öʱÖÓÖÜÆÚºó£¬LxCLKINÐźÅÈÔȻΪ¸ß£¬Ôò¼ç¶¯Êý¾Ý´«Êä(ÒÔÉÏʱÖÓÐźŶ¼ÒÔ·¢ËͶËÊӽǷÖÎö)¡£±¾Éè¼ÆÖУ¬ÁîÅÆת»»Ä£¿é¸ºÔðÑéÖ¤ÁîÅƺͷ¢ËÍÁîÅÆ¡£ÕâÀïҪעÒ⣬ÓÉÓÚÓÃÀ´ÑéÖ¤ÁîÅƵ͵çƽ¸öÊýµÄʱÖÓÐźÅ(PLL_32ns)ÊÇÓÉFPGAʱÖÓÐźÅ(CLK)ͨ¹ýËøÏà»·±¶ÆµµÃµ½£¬ÓëDSPÁ´Â·¿ÚʱÖÓÒì²½£¬¹ÊÑéÖ¤ÁîÅÆʱ£¬µ±¼ÆÊýÆ÷¼Æµ½5¸öµÍµçƽʱ¼´¿ÉÈÏΪÒÑ´ï³ÉͨÐÅÎÕÊÖ£¬·ñÔò¿ÉÄܻᶪʧÊý¾Ý¡£´ï³ÉÎÕÊÖºó֪ͨ¿ØÖÆÄ£¿éÏò½ÓÊÕ»ò·¢ËÍ»º´æÊä³ö¿ØÖÆÐźţ¬ÆäÖнÓÊÕ¿ØÖÆÐźŰüÀ¨Ð´»º´æʱÖÓºÍд ʹÄÜ¡£·¢ËÍ¿ØÖÆÐźŰüÀ¨¶Á»º´æʱÖÓ¡¢¶ÁʹÄܺÍDSPÖжÏÐźÅ(DSP_IRQ)£¬ÆäÖÐд»º´æʱÖÓͨ¹ý¶ÔÁ´Â·¿ÚʱÖÓ·ÖƵµÃµ½£¬¶Á»º´æʱÖÓÓÉËøÏà»·±¶ÆµFPGA¹¤×÷ʱÖӵõ½¡£
(3) ·¢ËͲ¿·Ö£ºÓë½ÓÊÕ²¿·ÖÀàËÆ£¬Ò²ÄϱàÂëºÍ»º´æÁ½²¿·Ö×é³É£¬ÏàÓ¦µÄÉè¼Æ»ù±¾Ïàͬ£¬ÕâÀï²»×÷¹ý¶à½éÉÜ¡£ÓÉÓÚDSPÁ´Â·¿Úÿ´Î´«ÊäÊý¾Ý¸öÊýµÄ×îСµ¥Î»ÊÇ4¸ö32λ×Ö£¬¼´8¸öÁ´Â·Ê±ÖÓÖÜÆÚ£¬ËùÒÔ·¢ËÍʱÖÓÀȸÃÿ8¸öʱÖÓÖÜÆÚÒ»×飬ÒÔ´Õ¹»128bit£¬±ÜÃâ´«Êä´íÎó£¬ÆäÖжàÓàÎÞЧµÄÊý¾ÝDSP¿ÉÒÔ×ÔÐÐÉáÈ¥¡£·¢ËͲ¿·Ö²ÉÓÃDSPÍⲿÖжϷ½Ê½¶ø²»ÊÇÁ´Â·¿ÚÖжϷ½Ê½Í¨ÖªDSP½ÓÊÕÊý¾Ý¡£
TS101µÄÁ´Â·¿ÚͨÐÅÐÒéÒªÇóÁ´Â·¿Ú½ÓÊÕ¶ËÔÚ´«ÊäÆô¶¯Ò»¸öÖÜÆں󣬽«ÆäLxCLKOUTÀµÍ£¬Èô¿ÉÒÔ¼ÌÐø½ÓÊÕ£¬ÔÚÏÂÒ»¸öÖÜÆÚÔÙ½«ÆäÀ¸ß£¬ÒÔ´Ë×÷ΪÁ¬½Ó²âÊÔ¡£Êµ¼ÊÔËÐÐÖз¢ÏÖ£¬µ±FPGA½ÓÊÕÊý¾Ýʱ£¬¿É½«LxCLKOUTÐźÅÒ»Ö±Çý¶¯Îª¸ß£¬²»±Ø×öÌØÊâµÄÁ¬½Ó²âÊÔÒ²ÄÜÕýÈ·½ÓÊÕÊý¾Ý¡£ÁíÍ⣬·¢ËÍÁ´Â·¿ÚÊý¾Ýʱ£¬ÓÉÓÚ·¢ËÍ»º´æÖÐÒѾ¶ÔÓ¦×кÃÁËÒª·¢Ë͵Ä8bitÊý¾Ý£¬¹Ê¿ÉÒÔʹÓöÔFPGAʱÖÓÐźÅ(CLK)±¶ÆµµÃµ½µÄPLL_16nsÐźÅÀ´¶Á·¢ËÍ»º´æ£¬¶Á³öµÄÊý¾Ý¼´Á´Â·¿Ú·¢ËÍÊý¾Ý£¬ÔÙ¶ÔPLL_16nsÐźŵÄϽµÑØ·ÖƵµÃµ½Á´Â·¿ÚµÄ·¢ËÍʱÖÓÐźš£
ÏÞÓÚƪ·ù£¬±¾ÎÄÖ»¸ø³öFPCA½ÓÊÕTS101Êý¾ÝµÄʱÐòͼ£¬Èçͼ3Ëùʾ¡£LxCLKIN¡¢LxDAT[7..0]ÊÇDSPµÄÁ´Â·¿ÚÊä³öʱÖÓºÍÊý¾Ý£¬LxCLKOUTÊÇFPGAµÄ»ØÀ¡×¼±¸ºÃÐźš£·ÂÕæÖÐÁ´Â·¿ÚÊý¾Ý²ÉÓÃ1F¡«3E(Ê®Áù½øÖÆ)µÄ32¸ö8bitÊý¾Ý£¬¼´´Ó2221201Fµ½3E3D3C3BµÄ8¸ö32bitÊý¾Ý£»PLL_32nsÐźÅÊÇFPGAÄÚ²¿ËøÏà»·²úÉúµÄÓëDSPÁ´Â·¿ÚʱÖÓÒì²½µÄ32nsʱÖÓÐźţ¬ÓÃÀ´Ð£ÑéÁîÅÆÖ¸ÁW_FIFO_ENÐźÅ×ãд»º´æʹÄÜÐźţ¬µ±ÁîÅÆÑéÖ¤ºóʹÄܽÓÊÕ»º´æ£»DSP_DATÐźÅÊÇDSPͨ¹ýÁ´Â·ÃÅ´«ÊäµÄ32bitÊý¾Ý£¬Í¨¹ý¶ÔÁ´Â·¿ÚÊý¾ÝµÄ±àÂëµÃµ½£»W_BUF_CLKÐźÅÓÉÁ´Â·¿ÚʱÖÓ·ÖƵ´¦ÀíµÃµ½£¬½«ÉÏÉýÑضÔÓ¦µÄ32bit DSPÊý¾ÝдÈë½ÓÊÕ»º´æ£¬Íê³É½ÓÊÕ¹ý³Ì¡£
2.3 »ùÓÚFPGAµÄTS201Á´Â·¿ÚÉè¼Æ
ͼ4¸ø³öÁËFPGAÓëTS201½øÐÐÁ´Â·¿ÚͨÐŵÄÉè¼Æ¿òͼ¡£ÓÉÓÚTS201µÄÎÕÊÖÐźŽ϶࣬ËùÒÔÏà¶ÔTS101µÄÁ´Â·¿ÚÉè¼ÆÈÝÒ×Щ¡£±¾Éè¼ÆFPGAʱÖÓ50MHz£¬TS101ºËʱÖÓ500MHz£¬Á´Â·¿ÚʱÖÓΪDSPºËʱÖÓµÄ4·ÖƵ£¬²ÉÓÃ4bit·½Ê½£¬µ¥Ïòʵ¼ÊÊý¾Ý´«ÊäËÙÂÊΪ125MBps¡£
TS201µÄÁ´Â·¿ÚÊý¾ÝºÍʱÖÓ²ÉLVDSÐźţ¬¾ßÓÐËÙÂʸߡ¢¹¦ºÄµÍ¡¢ÔëÉùСµÄÓŵ㡣CycloneϵÁÐоƬ²»½öÖ§³ÖLVDSÐźţ¬»¹¼¯³ÉÁËLVDSת»»Ä£¿é£¬Õâ¸øÉè¼ÆÌṩÁ˺ܴ󷽱㡣Ӧ¸Ã×¢ÒâµÄÊÇ£¬ÔÚÓ²¼þÉè¼ÆʱLVDSÐźÅÁ½¼«µÄPCB×ßÏßҪƥÅ䣬²¢ÇÒ×¢ÒâÆ¥Åäµç×èÍøÂçµÄ½ÓÈë¡£¾ßÌåÇë²Î¿¼ÎÄÏ×[6]-9 Implementing LVDS in Cyclone De-vices¡£
TS201µÄÁ´Â·¿ÚÓÐ1bitºÍ4bitÁ½ÖÖ´«Ê䷽ʽ£¬±¾ÎÄÒÔ4bitΪÀý½øÐÐÉè¼Æ¡£Í¼4¸ø³öµÄÐźŶ¼ÊǾLVDSת»»ºóµÄÐźš£ÓÉÓÚTS201µÄÊÕ·¢×ö³ÉÁËÁ½¸öµ¥¶ÀµÄͨµÀ£¬FPGAµÄÉè¼ÆÒ²Ó¦¸ÃÏàÓ¦µØÉè¼ÆΪÁ½¸öͨµÀ£¬ÕæÕý×öµ½È«Ë«¹¤Í¨ÐÅ£¬ÊÕ·¢»¥²»Ó°Ïì¡£½ÓÊÕÓë·¢ËͲ¿·ÖÓëTS101µÄÉè¼Æ»ù±¾Ïàͬ£¬·¢ËͲ¿·ÖÒ²²ÉÓÃÍⲿÖжϷ½Ê½Í¨ÖªDSP½ÓÊÕÁ´Â·¿ÚÊý¾Ý¡£TS201µÄͨÐÅÎÕÊÖÐźÅÓÐACKºÍBCMP#Ðźš£ÆäÖÐACKÐźÅÓÃÀ´Í¨Öª½ÓÊÕ×¼±¸ºÃ£¬ÔÚʵʱÐźŴ¦ÀíÖУ¬Ò»°ã²»ÔÊÐíÊý¾Ý´«ÊäµÄµÈ´ý£¬¹Ê½«Õâ¸öÐźÅÖÃΪ׼±¸ºÃ¡£BCMP#ÐźÅÓÃÓÚ֪ͨÊý¾Ý¿é´«ÊäµÄ½áÊø£¬µ±ÄÜÈ·¶¨DMA´«ÊäÊý¾Ý¸öÊýʱ£¬¿ÉÒÔ½«´ËÒý½ÅÐü¿Õ¡£
TS201Á´Â·¿ÚµÄÊÕ·¢»úÖƷdz£ÏàËÆ£¬±¾ÎĽö¸ø³ö·¢ËÍÊý¾ÝʱÐòͼ£¬Èçͼ5Ëùʾ¡£L1_IRQÊÇFPGA·¢¸øDSPµÄÍⲿÖжϣ¬ÓÃÀ´Í¨ÖªDSPÊÕÊý¾Ý£»L1_ACKIÊÇDSPµÄ½ÓÊÕ×¼±¸ºÃÐźţ»R_BUF_ENÊǶÁ·¢ËÍ»º´æʹÄÜÐźţ»Á´Â·¿ÚʱÖÓL1_CLKOUTÊÇÒÔ¶Á»º´æʱÖÓR_CLKϽµÑصĶþ´Î·ÖƵ£¬¶ÔÓ¦´Ó»º´æÖжÁ³öµÄ4bitÁ´Â·¿ÚÊý¾ÝL1_DA-To¡£×¢ÒâÕâÀï¶Á»º´æ¼°Ê±ÖÓ·ÖƵʱ»áÓÐÄÉÃ뼶µÄÑÓ³Ù¡£
3 DSPµÄÏàÓ¦ÉèÖÃ
TS101ºÍTS201µÄÁ´Â·¿Ú¶¼ÅäÖÃÁË¿ØÖƼĴæÆ÷(LCTLX)ºÍ״̬Ææ´æÆ÷(LSTATx)Á½×é¼Ä´æÆ÷¡£LCTLxÓÃÀ´¿ØÖÆÁ´Â·¿ÚµÄ´«Ê䣬LSTATxÓÃÀ´Í¨ÖªÁ´Â·¿ÚµÄ¹¤×÷״̬¡£TS101Á´Â·¿ÚʱÖÓƵÂÊ¿ÉÒÔÊǺËʱÖÓµÄ8¡¢4¡¢3»ò2·ÖƵ£¬Í¨¹ýÉèÖÃLCTLxÖеÄSPDλÃ×Íê³É£¬±¾ÎÄÉè¼Æ½«SPDλÖÃ000£¬¼´ÎªºËʱÖÓ8·ÖƵ¡£ÓÉÓÚTS201µÄ½ÓÊÕ·¢ËÍͨµÀ¶ÀÁ¢£¬ËùÒÔÆä¿ØÖƼĴæÆ÷·ÖΪ½ÓÊÕ¿ØÖƼĴæÆ÷(LRCTLx)ºÍ·¢ËÍ¿ØÖƼĴæÆ÷(LTCTLx)¡£TS101Á´Â·¿Ú·¢ËÍʱÖÓƵÂÊ¿ÉÒÔÓëºËʱÖÓÏàͬ»òΪÆä4¡¢2¡¢1.5·ÖƵ£¬Í¨¹ýÉèÖÃLTCTLxÖÐSPDλÀ´Íê³É¡£±¾ÎÄÉè¼Æ½«SPDλÖÃ100£¬¼´ÎªºËʱÖÓ4·ÖƵ£¬²¢½«LRCTLx/LTCTLxÖÐ(½ÓTDSIZEλÖÃ1£¬ÉèÖóÉ4bit´«Ê䷽ʽ¡£Èç¹ûBCMP#ÐźÅÐü¿Õ£¬×¢ÒâÒ»¶¨Òª½«LRCTLx½íRBCMPEλÖÃ0¡£
ÓÐÁ½ÖÖ·½·¨Æô¶¯DSPµÄÁ´Â·¿ÚDMA´«Ê䣺ÀûÓÃÁ´Â·ÖжϺÍÀûÓÃDSPµÄËĸöÍⲿÖжÏ(IRQ0¡«IRQ3)¡£Á½ÖÖÖжϷ½Ê½¶¼ÐèÒªÔÚÖжϷþÎñ³ÌÐòÖжÔDMAµÄTCB¼Ä´æÆ÷½øÐÐÅäÖÃÀ´Æô¶¯Á´Â·¿ÚµÄ½ÓÊÕDMAͨµÀ¡£¼øÓÚÍⲿÖжϵÄÓÅÏȼ¶¸ßÓÚÁ´Â·¿ÚÖжϣ¬¿ÉÒÔ±ÜÃâÊý¾Ý¶ªÊ§£¬±¾ÎÄÉè¼ÆµÄͨÐÅ·½Ê½¾ùÒÔÍⲿÖжϷ½Ê½Í¨ÖªDSP½ÓÊÕÊý¾Ý¡£ÔÚDMAµÄTCB¼Ä´æÆ÷ÅäÖùý³ÌÖУ¬ÎªÁ˱£Ö¤³ÌÐò²»±»ÆäËûÖжϴò¶Ï£¬¿ÉÒÔÔÚÖжϷþÎñ³ÌÐò¿ªÊ¼Ê±¾Í°ÑËùÓÐÆäËûÖжÏÆÁ±Îµô£¬´æÖжϷþÎñ³ÌÐò·µ»Ø֮ǰÔÙ°ÑÆÁ±ÎµôµÄÖжÏλ»¹Ô¡£
±¾ÎĶÔTigerSHARCϵÁеÄÁ½ÖÖµäÐÍDSPоƬµÄÁ´Â·¿Ú½øÐÐÁË·ÖÎöºÍ±È½Ï£¬²¢¸ø³öÁËFPGAÓëÕâÁ½ÖÖDSPоƬ½øÐÐÁ´Â·¿Úͨ±¶µÄ¾ßÌå·½·¨¡£ÔÚFPGAÄÚ²¿ÊµÏÖÁËDSPÁ´Â·¿ÚµÄÉè¼Æ£¬Í¬Ê±¸ø³öÁËDSP½øÐÐÁ´Â·¿ÚͨÐŵľßÌåÉèÖ÷½·¨¡£ÓÉÓÚʵʱ´¦ÀíÖÐÊý¾ÝµÄÖØ·¢»áÑÏÖØÓ°Ïì´¦ÀíµÄʵʱÐÔ£¬¹Ê±¾ÎĵÄÁ´Â·¿Ú
ͨÐÅÉè¼ÆûÓжÔËù´«ÊäµÄÊý¾Ý½øÐÐУÑé¡£±¾Îĸø³öµÄ»ùÓÚFPGA·¿ÚÉè¼Æ¾ßÓкÜÇ¿µÄͨÓÃÐÔ£¬¿ÉÒÔÓ¦ÓÃÓÚ»ùÓÚTS101/TS201µÄ¶àÖÖÓ¦ÓÃϵͳÖУ¬Ìá¸ßϵͳÄÚ²¿µÄͨÐÅÄÜÁ¦£»Ò²¿ÉÓÃÓÚ°å¼äDSPµÄÊý¾Ý´«Ê䣬Ìá¸ßϵͳÍⲿµÄͨÐÅÄÜÁ¦¡£
×÷Õߣº½ðÅô µËÐÀ ËÎÍò½Ü Îâ˳¾ý À´Ô´£º¡¶µç×Ó¼¼ÊõÓ¦Óá·