• Ò×µÏÍØÅàѵ,רעÓÚ΢²¨¡¢ÉäƵ¡¢ÌìÏßÉè¼Æ¹¤³ÌʦµÄÅàÑø
Ê×Ò³ > µç×ÓÉè¼Æ > µçÔ´¼¼Êõ > µçÔ´¼¼Êõ > »ùÓÚFPGAµÄÊý×ÖÂ˲¨Æ÷µÄÉè¼ÆÓëʵÏÖ

»ùÓÚFPGAµÄÊý×ÖÂ˲¨Æ÷µÄÉè¼ÆÓëʵÏÖ

¼È룺edatop.com    µã»÷£º

ÔÚÐÅÏ¢ÐźŴ¦Àí¹ý³ÌÖÐ,Èç¶ÔÐźŵĹýÂË¡¢¼ì²â¡¢Ô¤²âµÈ,¶¼ÒªÊ¹Óõ½Â˲¨Æ÷,Êý×ÖÂ˲¨Æ÷ÊÇÊý×ÖÐźŴ¦ÀíÖÐʹÓÃ×î¹ã·ºµÄÒ»ÖÖ·½·¨,³£ÓõÄÊý×ÖÂ˲¨Æ÷ÓÐÎÞÏÞ³¤µ¥Î»Âö³åÏìÓ¦£¨IIR£©Â˲¨Æ÷ºÍÓÐÏÞ³¤µ¥Î»Âö³åÏìÓ¦£¨FIR£©Â˲¨Æ÷Á½ÖÖ[1]¡£¶ÔÓÚÓ¦ÓÃÉè¼ÆÕß,ÓÉÓÚ¿ª·¢ËٶȺÍЧÂʵÄÒªÇóºÜ¸ß,¶ÌÆÚÄÚ²»¿ÉÄÜÈ«ÃæÁ˽âÊý×ÖÂ˲¨Æ÷Ïà¹ØµÄÓÅ»¯¼¼Êõ,ÐèÒª»¨·ÑºÜ´óµÄ¾«Á¦²ÅÄÜʹÉè¼Æ³öµÄÂ˲¨Æ÷ÔÚËٶȡ¢×ÊÔ´ÀûÓá¢ÐÔÄÜÉÏÇ÷ÓÚ½ÏÓÅ¡£¶ø²ÉÓõ÷ÊԺõÄIPºËÐèÒªÏòAltera¹«Ë¾¹ºÂò¡£±¾ÎIJÉÓÃÁËÒ»ÖÖ»ùÓÚDSP BuilderµÄFPGAÉè¼Æ·½·¨,ÒÔÒ»¸öµÍͨµÄ16½×FIRÂ˲¨Æ÷µÄʵÏÖΪÀý,ͨ¹ýÉú³ÉµÄÂ˲¨Æ÷¶¥²ãÄ£¿éÎļþÓëA/DÄ£¿éÎļþÉè¼Æ,ÔÚÁªÐǿƼ¼µÄNC-EDA-2000CʵÑéÏäÉÏÑéÖ¤ÁËÀûÓø÷½·¨Éè¼ÆµÄÊý×ÖÂ˲¨Æ÷µç·¹¤×÷ÕýÈ·¿É¿¿,ÄÜÂú×ãÉè¼ÆÒªÇó¡£

1 FIRÂ˲¨Æ÷µÄ²ÎÊýÉè¼Æ

1.1 Éè¼ÆÒªÇó

Êý×ÖÂ˲¨Æ÷ʵ¼ÊÉÏÊÇÒ»¸ö²ÉÓÃÓÐÏÞ¾«¶ÈË㷨ʵÏÖµÄÏßÐÔ·Çʱ±äÀëɢϵͳ,ËüµÄÉè¼Æ²½ÖèΪÏȸù¾ÝÐèҪȷ¶¨ÆäÐÔÄÜÖ¸±ê,Éè¼ÆÒ»¸öϵͳº¯ÊýH£¨z£©±Æ½üËùÐèÒªµÄ¼¼ÊõÖ¸±ê,×îºó²ÉÓÃÓÐÏÞ¾«¶ÈË㷨ʵÏÖ¡£±¾ÏµÍ³µÄÉè¼ÆÖ¸±êΪ£ºÉè¼ÆÒ»¸ö16½×µÄµÍͨFIRÂ˲¨Æ÷,¶ÔÄ£ÄâÐźŵIJÉÑùƵÂÊFsΪ48KHz,ÒªÇóÐźŵĽØֹƵÂÊFc=10.8kHz,ÊäÈëÐòÁÐΪ¿íΪ9루×î¿íλΪ·ûºÅ룩¡£

1.2 FIRÂ˲¨Æ÷µÄ²ÎÊýÑ¡È¡ Éè¼ÆƵÂÊÑ¡ÔñÐÔÊý×ÖÂ˲¨Æ÷ʱ,ͨ³£Ï£ÍûÄÜÓнüËƺ㶨µÄƵÏì·ù¶È,²¢¾¡Á¿¼õСͨ´øÄÚµÄÏàλʧÕæ,бÂÊΪÕûÊýµÄÏßÐÔÏàλ¶ÔÓ¦ÓÚʱÓòÖмòµ¥µÄÑÓʱ,ËûÔÚƵÓòÖпɽ«ÏàλʧÕæ½µµÍµ½×îСµÄ³Ì¶È[2],ÓÃMatlabÌṩµÄÂ˲¨Æ÷Éè¼ÆµÄרÃŹ¤¾ßÏä--FDAtool·ÂÕæÉè¼ÆÂ˲¨Æ÷,Âú×ãÒªÇóµÄFIRÂ˲¨Æ÷·ùƵÌØÐÔ,Èçͼ1Ëùʾ¡£

2 Êý×ÖÂ˲¨Æ÷µÄDSP BuilderÉè¼Æ

2.1 DSP Builder½éÉÜ

DSP BuilerÊÇAlteraÍƳöµÄÒ»¸öÊý×ÖÐźŴ¦Àí£¨DSP£©¿ª·¢¹¤¾ß,ËûÔÚQuartus II FPGAÉè¼Æ»·¾³Öм¯³ÉÁËMathworksµÄMatlabºÍSimulink DSP¿ª·¢Èí¼þ[3]¡£¶ÔDSP Builder¶øÑÔ,°üÀ¨DSPϵͳµÄ½¨Ä£,ϵͳ¼¶·ÂÕæ¡¢Éè¼ÆÄ£ÐÍÏòVHDLÓ²¼þÃèÊöÓïÑÔ´úÂëµÄת»»¡¢RTL£¨Register Transfer Level,Âß¼­×ۺϣ©¼¶¹¦ÄÜ·ÂÕæ²âÊÔ¡¢±àÒëÊÊÅäºÍ²¼¾Ö²¼Ïß¡¢Ê±Ðòʵʱ·ÂÕæÖ±ÖÁ¶ÔDSPÄ¿±êÆ÷¼þµÄ±à³ÌÅäÖÃ,Õû¸ö¿ª·¢Á÷³Ì¼¸ºõ¿ÉÒÔÔÚ¶¥²ãµÄ¿ª·¢¹¤¾ßMatlab/Simulinkͬһ»·¾³ÖÐÍê³É¡£

2.2 FIR Â˲¨Æ÷Ë㷨ģÐͽ¨Á¢

¸ù¾ÝFIRÂ˲¨Æ÷Ô­Àí,¿ÉÒÔÀûÓÃFPGAÀ´ÊµÏÖFIRÂ˲¨µç·,DSP BuilderÉè¼ÆÁ÷³ÌµÄµÚÒ»²½ÊÇÔÚMatlab/SimulinkÖнøÐÐÉè¼ÆÊäÈë,¼´MatlabµÄSimulink»·¾³Öн¨Á¢Ò»¸öMDLÄ£ÐÍÎļþ,ÓÃͼÐη½Ê½µ÷ÓÃAltera DSP BuilderºÍÆäËûµÄSimulink¿âÖеÄͼÐÎÄ£¿é,¹¹³Éϵͳ¼¶»òËã·¨¼¶Éè¼Æ¿òͼ£¨»ò³ÆSimulink½¨Ä££©¡£ [p]

2.3 »ùÓÚDSP BuilderµÄϵͳ¼¶·ÂÕæ

ÊäÈëÐźŲÉÓÃƵÂÊ·Ö±ðΪf1=8KHzºÍf2=16KHzµÄÁ½¸öÕýÏÒÐźŽøÐеþ¼Ó,ÆäÖеķÂÕ沨ÐÎÈçͼ2Ëùʾ,´ÓFIRÂ˲¨µç·µÄ·ÂÕæ½á¹û¿´³ö,ÊäÈëÐźÅͨ¹ýÂ˲¨Æ÷ºóÊä³ö»ù±¾Éϱä³Éµ¥ÆµÂʵÄÕýÏÒÐźÅ,ÖÁ´ËÍê³ÉÁËÄ£ÐÍ·ÂÕæ¡£

3 »ùÓÚ FPGAµÄÊý×ÖÂ˲¨Æ÷µÄʵÏÖ

3.1 ÔËÓÃModelsim½øÐй¦ÄÜ·ÂÕæ

ÔÚDSP BuilderÖнøÐеķÂÕæÊÇÊôÓÚϵͳÑéÖ¤ÐÔÖʵÄ,ÊǶÔMDLÎļþ½øÐеķÂÕæ,²¢Ã»ÓжÔÉú³ÉµÄVHDL´úÂë½øÐйý·ÂÕæ¡£ÊÂʵÉÏ,Éú³ÉVHDLÃèÊöÊÇRTL¼¶µÄ,ÊÇÕë¶Ô¾ßÌåµÄÓ²¼þ½á¹¹µÄ,ÕâÁ½ÕßÖ®¼äÓпÉÄÜ´æÔÚÈí¼þÀí½âÉϵIJîÒì,ת»»ºóµÄVHDL´úÂëʵÏÖ¿ÉÄÜÓëMDLÄ£ÐÍÃèÊöµÄÇé¿ö²»ÍêÈ«Ïà·û,Õâ¾ÍÐèÒªÕë¶ÔÉú³ÉµÄRTL¼¶VHDL´úÂë½øÐй¦ÄÜ·ÂÕæ¡£

ÎÒÃÇÀûÓÃModelsimÀ´¶ÔÉú³ÉµÄVHDL´úÂë½øÐй¦ÄÜ·ÂÕæ¡£ÉèÖÃÊäÈëÊä³öÐźžùΪģÄâÐÎʽ,³öÏÖÈçͼ3ËùʾµÄ·ÂÕ沨ÐÎ,¿ÉÒÔ¿´µ½ÕâÓëSimulinkÀïµÄ·ÂÕæ½á¹û»ù±¾Ò»Ö¡£¼´¿ÉÔÚQuartus II»·¾³ÏµÄÓ²¼þÉè¼Æ[4]¡£

3.2 ÔÚFPGAÆ÷¼þÖÐʵÏÖFIRÂ˲¨Æ÷

ÓÃFPGAʵÏÖµÄÊý×ÖÂ˲¨Æ÷´¦ÀíµÄÊÇÊý×ÖÐźÅ,ÔÚʵ¼ÊÓ¦ÓÃÖÐ,Ê×ÏȾÍÒªÓÃA/Dת»¯Æ÷¶ÔÄ£ÄâÐźŽøÐвÉÑùÓëÁ¿»¯¡£´«Í³µÄ·½·¨¶àÊýÊÇÓÃCPU»òµ¥Æ¬»úÍê³ÉµÄ,ȱµãÊÇ¿ØÖÆÖÜÆÚ³¤,ËÙ¶ÈÂý¡£¶øÀûÓÃͬ²½Ê±Ðò״̬»úÀ´¿ØÖÆA/D²ÉÑùÊÇÒ»Öּȼòµ¥¿É¿¿,ÓÖÄÜÏÔÖøÌá¸ß²ÉÑùÖÜÆÚµÄÐÐÖ®ÓÐЧµÄ·½·¨¡£

ÔÚQuartus II»·¾³Í¨¹ýVHDLÓïÑÔ°´ÒªÇóÉè¼Æ¸Ã״̬»ú²¢×ª»»Îª.bsfÎļþ;´ò¿ªDSP Builder½¨Á¢µÄQuartus IIÏîÄ¿Îļþfir.qpf¼°fir.vhd²¢×ª»»ÎªÏàÓ¦µÄ.bsfÎļþ,ÓÉ´Ë¿ÉÒԵõ½¶ÔÓ¦Éè¼ÆµÄÄ£¿é,Èçͼ4Ëùʾ,µ÷ÓÃÕâÁ½¸öÄ£¿é½¨Á¢ÐµĶ¥²ãÔ­ÀíͼÎļþ,ÔÚÈí¼þ»·¾³Àïͨ¹ýʱÐò·ÂÕæ,Ö¸¶¨Æ÷¼þ¹Ü½Å¡¢½øÐбàÒë¡¢×îºóÏÂÔص½ÊµÑéÏäµÄEP1K10TC100-3Æ÷¼þÖС£

ÿ÷b¿û]þÚÿµºËûZnW›¯þ?¦–¡­çʾ²¨Æ÷ÉÏ¿´µ½Â˲¨ÒÔºóµÄ½á¹û,ÐèÒªÉè¼Æ²»Í¬µÄÂ˲¨µç·ʱ,½öÐÞ¸ÄÂ˲¨Æ÷Ä£ÐÍÎļþ¾Í¿ÉÒÔʵÏÖ¡£¿É¼ûÔÚÀûÓÃFPGA½øÐÐÊý×ÖÂ˲¨Æ÷µÄ¿ª·¢Ê±,²ÉÓÃDSP Builder×÷ΪÉè¼Æ¹¤¾ßÄÜ¿ì½Ý¡¢¿É¿¿µØÉè¼ÆʵÓÃÂ˲¨ÏµÍ³¡£
 

ÉäƵ¹¤³ÌʦÑø³ÉÅàѵ½Ì³ÌÌ××°£¬ÖúÄú¿ìËÙ³ÉΪһÃûÓÅÐãÉäƵ¹¤³Ìʦ...

ÌìÏßÉè¼Æ¹¤³ÌʦÅàѵ¿Î³ÌÌ××°£¬×ÊÉîר¼ÒÊڿΣ¬ÈÃÌìÏßÉè¼Æ²»ÔÙÄÑ...

ÉÏһƪ£º¶àýÌå²¥·ÅÆ÷¹¦Äܼ°·½°¸½âÎö
ÏÂһƪ£º·ÖÏí»ùÓÚ89C51µÄÉãÏñ¾µÍ·¿ØÖƵç·Éè¼Æ

ÉäƵºÍÌìÏß¹¤³ÌʦÅàѵ¿Î³ÌÏêÇé>>

  ÍøÕ¾µØͼ