20ÊÀ¼Í60Äê´úÄ©£¬°éËæÊý×Ö¼¯³Éµç·Óë΢µç×Ó¼¼ÊõµÄ·¢Õ¹³öÏÖÁËÖ±½ÓÊý×ÖƵÂʺϳÉÆ÷(DDS)£¬ËüÓ봫ͳµÄƵÂʺϳɼ¼ÊõÏà±È½Ï£¬¾ßÓм«¸ßµÄƵÂÊ·Ö±æÂÊÓëÎȶ¨¶È¡¢×ª»»Ê±¼ä¶Ì¡¢Êä³öÐźŵÄƵÂÊ¡¢Ïàλ¡¢·ù¶È¿É¿ØµÈÖî¶àÓŵ㣬Ò×ÓÚʵÏÖµ÷Ƶ¡¢µ÷Ïà¡¢µ÷·ùµÈ¶àÖÖÐźţ¬Òò¶øµÃµ½¹ã·ºÓ¦Óᣱ¾ÎÄ´ÓDDSµÄµç·½á¹¹Óë¾ßÌå²ÎÊýµÄÉè¼Æ³ö·¢£¬ÏêϸÂÛÊöÁËDDSµÄVHDLÓïÑÔʵÏÖ¹ý³Ì£¬¸ø³öÁËƵÂÊ¿ØÖÆ×Ö³¤Îª24λµÄÍêÕûµÄVHDL£¬´úÂë¡£
1 DDSµÄ¹¤×÷ÔÀí
Ä¿Ç°£¬±È½Ï¹ã·ºÊ¹ÓõÄÒ»ÖÖDDSÉè¼Æ·½°¸ÊDzéÕÒ·¨£¬Èçͼ1Ëùʾ£¬Æä»ù±¾¹¤×÷ÔÀíÊÇͨ¹ýƵÂÊ¿ØÖÆ×ÖµÄÀÛ¼ÓÓëÏàλ¿ØÖÆ×ÖÏà¼ÓÐγɷÃÎʲ¨ÐαíµÄµØÖ·£¬È»ºóͨ¹ýµØÖ·Ó³É䣬Êä³ö²¨Ðεķù¶ÈÐÅÏ¢¸øDACµç·£¬ÔÙͨ¹ýDACÖеÄLPF£¬µÃµ½ÏàÓ¦µÄ²¨ÐÎÐźš£
ÒÔÕýÏÒÐźźϳÉΪÀý£¬ÉèÊä³öÐźŵÄƵÂÊΪfo£¬ÔÚ²»¿¼ÂdzõÏàλµÄÌõ¼þÏ£¬Æä˲ʱÏàλ£ºθ=2πfot£¬Ò»¸öTclkÄÚ£¬ÏàλµÄ±ä»¯×ÜÁ¿Îª£º
ʵ¼Êµ±ÖУ¬È·¶¨ÏàλÁ¿»¯×Ö³¤NµÄ´óС£¬²¢²»ÊÇÈÎÒâµÄ£¬Ëü¼ÈÈ¡¾öÓÚÉÏÃæÁ½¸öÒòËØ£¬Ò²ÓëÁ¿»¯ÐÅÔë±ÈÓйء£ÎÄÏ×[7]¸ø³öÁ˽ÏΪÏêϸµÄÌÖÂÛ¡£ÈçÕýÏÒ²¨ºÏ³Éʱ£¬ÏàλÁ¿»¯µÄÐÅÔë±ÈÓë·ù¶ÈÁ¿»¯µÄÐÅÔëÒýÆðµÄ×ÜÐÅÔë±È¹À¼ÆΪ£º
ÆäÖÐDΪÕýÏÒÐźÅÕñ·ùÁ¿»¯×Ö³¤¡£
ÏàλÁ¿»¯×Ö³¤NÔ½´ó£¬ËùÐèµÄ²é±í·¨¿Õ¼äÔ½´ó£¬Òò´ËÉè¼ÆDDSʱ£¬ÒªºÏÀíÑ¡ÔñN£¬DµÄ´óС¡£µ±N£¬DÈ¡¶¨ºó£¬Ó¦¸ù¾Ý²¨ÐÎÌص㣬½øÒ»²½²ÉÓÃROMѹËõ¼¼Êõ¼õСËùÐèµ¥ÔªµÄÊýÁ¿¡£ÈçºÏ³ÉÕýÏÒÐźÅʱ£¬¿É¸ù¾ÝÐźŵĶԳÆÐÔ£¬½ö´æ´¢0¡«π£¯2µÄ·ù¶ÈÖµ£¬ÕâÑù¿ÉÒÔ½«ROM´óСѹËõΪÔÀ´µÄ1£¯4¡£
2 VHDLÓïÑÔʵÏÖ
³ÌÐòÉè¼Æ°üº¬Èý¸ö²¿·Ö£ºÊý¾ÝÊäÈë¡¢ÏàλÀÛ¼ÓºÍROM²éÕÒ£¬·Ö±ðÓÉÈý¸ö½ø³ÌʵÏÖ¡£data_in½ø³Ì£ºÔÚWR=0²¢CLK=1ʱ£¬Ð´ÆµÂÊ¿ØÖÆ×Ö£»phase_add½ø³Ì£ºÔÚCLKÉÏÉýÑØ£¬×öÏàλÀÛ¼Ó£¬²¢È¡ÀÛ¼Ó½á¹ûµÄ¸ß12λµÄµÍ10λÓÃÓÚROM±íµÄµØÖ·£¬Æä×î¸ßλÓë´Î¸ßλ·Ö±ðËÍs_1ºÍs_2ÓÃÀ´ÕýÏÒÏàλÇø¼ä¿ØÖÆ£»lookfor_rom½ø³Ì£ºÔÚCLKÉÏÉýÑØ£¬°´ÕÕphase_add½ø³ÌÌṩµÄµØÖ·Ñ°Ö·£¬²¢¶ÔÑ°Ö·½á¹¹°´s_1ºÍs_2Ëù»®·ÖµÄËĸöÏóÏÞ½øÐÐÊý¾Ý´¦Àí£¬²¢½«´¦ÀíµÄ½á¹ûÊä³ö¡£Ïàλ¿ØÖƵľßÌå²Ù×÷Èç±í1Ëùʾ¡£
ÏÂÃæ³ÌÐòΪÕýÏÒDDSµÄVHDLʵÏÖ¡£ÏàλÁ¿»¯×Ö³¤Îª24 b£¬Õñ·ùÁ¿»¯×Ö³¤²ÉÓÃ10 b¡£ÍêÕûµÄ³ÌÐò´úÂëÈçÏ£º
³ÌÐòÖеÄcomponent dds_romÔª¼þ¿Éͨ¹ýMax+Plus IIµÄFile²Ëµ¥ÖеÄMegaWizard Plug-in Manager´´½¨Ò»¸öLPM_ROM£¬ÃûΪdds_rom.vhl£¬¸ÃÔª¼þ´´½¨Ç°£¬Ðè°´ÕÕͼ2ËùʾµÄmifÎļþ¸ñʽ´´½¨Ò»ÕýÏÒ²¨ÐÎÊý¾ÝÎļþ(ÈçÃûΪ£ºsin_data.mif)£¬¸ÃÊý¾ÝÎļþ´æÓÐÕýÏÒ1£¯4ÖÜÆÚ²¨ÐÎÊý¾Ý¡£
ÓÉÓÚ²¨ÐÎÊý¾ÝÎļþÖÐÊý¾Ý½Ï¶à£¬¿Éͨ¹ýCÓïÑÔ±à³ÌÉú³ÉÊý¾Ý£¬Éú³ÉÕýÏÒ²¨ÐβÉÑùÊý¾ÝÎļþµÄC³ÌÐò´úÂëÈçÏ£º
½«Õâ¸öCÓïÑÔ³ÌÐò´æΪsingen.c£¬±àÒëÁ´½ÓºóÉú³Ésingen.exe£¬¼´¿ÉÔÚDOSÃüÁîÐÐÏÂÖ´ÐУº
¾Í¿ÉÒÔÉú³É.mifÎļþÖеIJ¨ÐÎÊý¾Ý¡£
3 ½á Óï
ÎÄÖÐÓйشúÂë¾ùÊÇͨ¹ýMax+Plus ¢ò10.2±àÒëͨ¹ýµÄ£¬¶ÁÕß¿ÉÉÔ¼ÓÐ޸ľͿÉÒÔÓÃÓÚ×Ô¼ºµÄʵ¼ÊϵͳÉè¼Æ¡£ÏàλÀÛ¼ÓÆ÷¿É²ÉÓÃÁ÷Ë®ÏßÐͳ¬Ç°½øλ¼Ó·¨Æ÷ʵÏÖ£¬Í¬Ê±¿ÉÔö¼Óͬ²½ÏàλȡģÆ÷ÒÔ¸ÄÉÆDDSµÄÐÔÄÜ£¬»ò²ÉÓÃCORDICËã·¨´úÌ沨ÐÎROMµÄʹÓá£
×÷ÕߣºÕÔÁÖ¾ü
(1£®Î÷°²µç×ӿƼ¼´óѧ ÉÂÎ÷ Î÷°² 710071£»2£®ÉÂÎ÷Àí¹¤Ñ§Ôº ÉÂÎ÷ ººÖÐ 723003)
À´Ô´£º¡¶ÏÖ´úµç×Ó¼¼Êõ¡·