¹«Ë¾LOGO
NSK Global Site
ÁªÏµÎÒÃÇ
ÁªÏµÎÒÃÇ
Õ¾µãµØÍ¼
Äúµ±Ç°µÄλÖ㺹«Ë¾Ö÷Ò³ >»ùÓÚVerilog-HDLµÄÖá³ÐÕñ¶¯ÔëÉùµçѹ·åÖµ¼ì²â

»ùÓÚVerilog-HDLµÄÖá³ÐÕñ¶¯ÔëÉùµçѹ·åÖµ¼ì²â

×÷Õߣºbearingpower        ·¢±íʱ¼ä£º2010-12-12

ÔÚÖá³ÐÉú²úÐÐÒµÖУ¬Öá³ÐÕñ¶¯ÔëÉùµÄ·åÖµ¼ì²âÊÇÒ»ÏîÖØÒªµÄÖ¸±ê¡£ÒÔÍù£¬¸Ã¼ì²â¶¼ÊDzÉÓô«Í³µÄÄ£Äâµç··½·¨£¬ºÜÄÑ×öµ½1£º1µØ²¶×½ºÍ±£³Ö½ÏÕ­µÄËæ»ú²¨ÐεÄ×î´óÕý·åÖµ¡£±¾ÎÄÐðÊöÁË»ùÓÚVerilog-HDLÓë¸ßËÙA/Dת»»Æ÷Ïà½áºÏËùʵÏֵĿìËÙÖá³ÐÔëÉù¼ì²â·½·¨¡£¡¡¡¡1 Õñ¶¯ÔëÉùµçѹ·åÖµ¼ì²â·½°¸µÄÈ·¶¨¡¡¡¡1.1 Öá³ÐÕñ¶¯ÔëÉùµÄ²úÉú¼°¼ì²â¡¡¡¡ÓÉÓÚ¼Ó¹¤É豸¡¢¼¼Êõ¡¢»·¾³µÈÒòËØµÄÓ°Ï죬Éú²úµÄÖá³Ð¶¼³Ì¶È²»Í¬µØ´øÓÐÉ˰̡£Í¼1ÖУ¬¼ÙÉèij´ý²âÖá³ÐÓÐÒ»´¦É˰̡£ÓÉÓÚÉ˺۵ĴæÔÚ£¬Öá³ÐÔÚת¶¯¹ý³ÌÖУ¬É˰̽«Óë¹öÖé²úÉúĦ²Á£¬´Ó¶ø±íÏÖÔÚÖá³ÐÕû¸ö²úÉú΢СµÄÕñ¶¯¡£ÕâÒ»Õñ¶¯Í¨¹ý¼ÓËÙ¶È´«¸ÐÆ÷Êä³öµçѹÐźţ¬¾­µçºÉ·Å´óÆ÷¡¢·åÖµ¼ì²âºó£¬¼´ºóµÃµ½Õñ¶¯ÔëÉùµÄ·åÖµµçѹ¡£Í¼2¸ø³öÁËÔÚÓÐÉ˰ÌÇé¿öϵĴ«¸ÐÆ÷Êä³öµçѹ²¨ÐΡ£¡¡¡¡1.2 Ä£ÄâʽµÄ·åÖµµçѹ±£³Öµç·¡¡¡¡ÒÔÍùµÄÖá³ÐÕñ¶¯ÔëÉù·åÖµµçѹ¼ì²â£¬¾ù²ÉÓÃÁËÄ£ÄâʽµÄ·åÖµµçѹ¼ì²â·¨¡£Í¼3ʾ³öÁËÓɲÉÑù±£³Öµç·LF398H¹¹³ÉµÄ¸ÃÀà¼ì²âµç·¡£µ±ÔëÉùµçѹµ½À´ºó£¬²ÉÑùÐźŸúËæÄ£ÄâÐźŵçѹµ½·åÖµ´¦£¬Ö®ºó²ÉÑùÂö³åÏûʧ£¬µç·´¦ÓÚ±£³Ö״̬¡£±£³ÖµçÈÝCÉϼ´´æ´¢ÁËÄ£ÄâÐźŵķåÖµµçѹVm¡£ÒªÏë½Ï¿ìµØ¸úËæÊäÈëµçѹVinµÄ±ä»¯£¬±£³ÖµçÈÝCµÄÈÝÁ¿¾ÍÓ¦Ïà¶Ô¼õС£»¶øCµÄÏà¶Ô¼õС£¬ÓֻᵼÖÂÔÚ±£³ÖµçѹÆÚ¼ä£¬Êä³öµçѹVoutµÄϽµËÙÂʼӿ졣ÕâÁ½ÕßÏ໥ì¶Ü£¬´Ó¶øÊ¹ÕâÖÖµç·ÄÑÒÔ´ïµ½½Ï¸ßµÄÐÔÄÜ¡£¡¡¡¡1.3 Êý×ÖʽµÄ·åÖµµçѹ¼ì²â¡¡¡¡Ä£ÄâʽµÄ·åÖµ¼ì²âµç·²»Ò××öµ½¸ßËÙ²ÉÑù¡£²ÉÇű£³Öµç·¾­³¤ÆÚʹÓÃºó£¬¶à·½ÃæµÄÐÔÄܻᷢÉúÃ÷ÏԱ仯£¬ÇÒ²»Ò×ÅúÁ¿»¯Éú²ú£»¶øÓÉÊý×Öµç·×é³ÉµÄϵͳ¿ÉÒÔ×öµ½½á¹¹¼òµ¥¡¢µ÷ÊÔ·½±ã£¬³¤ÆÚʹÓò»»áµ¼ÖÂϵͳÐÔÄÜÖ¸±êµÄϽµ¡£Í¼4ÊÇÒ»ÖÖÊý×ÖʽµÄ·åÖµ¼ì²âϵͳµÄ×é³É·½°¸¡£ËüÓÉA/Dת»»²¿·ÖºÍÊý×ÖµçѹµÄ·åÖµ¼ì²â²¿·Ö×é³É£¬½Ó¿Úµç·ÄÚº¬Î¢´¦ÀíÆ÷£¬¸ºÔðÓë΢»ú½øÐÐÊý¾ÝͨÐźͽÓÊÕÀ´×Ô΢»úµÄ¿ØÖÆÐźţ¬²¢¿ØÖƼì²âϵͳµÄ¹¤×÷¡£¸ù¾ÝÓ¦ÓöÔÏóµÄ²»Í¬£¬A/Dת»»Æ÷µÄ²ÉÑùËÙÂʿɸߴïÉϰÙMsps[1]£¬²¢¿É×Ô´ø²ÉÑù±£³Öµç·¡£ÓëA/Dת»»Æ÷Ïà½ÓµÄÊý×Öµçѹ·åÖµ¼ì²âµç·¿É²ÉÓÃFPGA£¬Æä¹¤×÷ËÙ¶ÈÒ²ÖдïÉϰÙMsps¡£Òò´Ë£¬ÔÚÐźŵĴ¦ÀíËÙ¶È·½ÃæÁ½Õß¶¼ÊÇÓÅÓÚ´«Í³µÄÄ£Äâµç··½Ê½µÄ¡£¡¡¡¡2 »ùÓÚVerilog-HDLµÄ·åÖµµçѹ¼ì²â·½°¸¡¡¡¡2.1 Âß¼­¹¦ÄܵÄÉè¼Æ¡¡¡¡³ýÁËA/Dת»»Æ÷Í⣬ÐéÏß²¿·ÖËùʾ¾ùΪFPGA×é³ÉµÄ¹¦ÄÜÄ£¿é¡£Æä¹¦ÄÜÓÉVerilog-HDL£¨HDL£ºÓ²¼þÃèÊöÓïÑÔ£©À´ÊµÏÖ[2]¡£¹¤×÷Ô­ÀíÈçÏ£ºÓÉA/Dת»»Æ÷È¡µÃµÄÊý×ÖµçѹËÍÈëÊý¾Ý»º³åÄ£¿éGET_DATA£¬GET_DATAÖеÄÊý¾ÝÓëÀ´×ÔÊý¾Ý´æ´¢Ä£¿éDATA_MEMÖеÄÊý¾Ý¶¼ËÍÈëÊý¾Ý±È½ÏÄ£¿éDATA_COMP½øÐбȽϡ£Èç¹ûX¶ËµÄÊý¾Ý´óÓÚY¶ËµÄÊý¾Ý£¬±È½Ï±ê־ģ¿é²úÉú±êÖ¾Ðźţ¬Í¬Ê±¸ÃÐźŽ«X¶ËµÄÊý¾Ý´òÈëÊý¾Ý´æ´¢Ä£¿éDATA_MEMÖУ¨ÏµÍ³¸´Î»ºó£¬DATA_MEMÖеÄÊý¾ÝΪ×îСֵ0£©£¬½ø¶øÊµÏÖÁ˱£³Ö2¸öÊý¾ÝÖнϴóµÄÒ»¸ö¹¦ÄÜ¡£µ±Õñ¶¯ÔëÉùµçѹ¾­A/Dת»»Æ÷ת»»³ÉÊý×Öµçѹºó£¬Êý¾Ý´æ´¢Ä£¿é±ãÒÀA/Dת»»µÄ´ÎÊý×öÏàÓ¦´ÎµÄ±È½Ï£¬×îÖÕ½«ÔëÉùµçѹµÄ·å²¢±£³ÖÏÂÀ´¡£VDOUTΪÊý×ÖʽµÄ·åÖµÊä³öµçѹ¡£¡¡¡¡½öÓÐͼ5µÄÂß¼­¹¦ÄÜ¿òͼ»¹²»ÄÜ·½±ãµØÓÃVerilog-HDLÀ´ÃèÊö¡£Îª´Ë½«Æä½øÒ»²½Ï¸»¯µÄÐÎʽ¡£ÐéÏß¿òÄڵŦÄÜÓÉXC9572£¨Xilinx¹«Ë¾µÄ²úÆ·£©ÊµÏÖ¡£VinΪģÄâµçѹµÄÊäÈ룬VDOUTΪÊý×Ö·åÖµµçѹµÄÊä³ö£¬VDOUT¡¢RB1¡¢RB21¾ùÓë½Ó¿Úµç·Ïà½Ó£¬RB1¡¢RB2ÊÜ΢»úµÄ¿ØÖÆ¡£¡¡¡¡2.2 ʱÐòͼ¡¡¡¡°´ÕÕÖá³Ð¼ì²âµÄ¹¤ÒÕ£¬µ±ÏµÍ³¸´Î»RB2¡¢Æô¶¯Âö³åRB1µ½À´ºó£¬¾­0.7sµÄÑÓʱ£¬±ã²úÉú1¸ö¿í¶ÈΪ1sµÄÃÅÂö³åG_P¡£ÔÚ´ËÆÚ¼ä£¬A/Dת»»Æ÷Á¬Ðø×ª»»µÄÊý¾ÝËÍÈëÊý¾Ý»º³åÆ÷GET_DATA£¬Ö®ºó½øÐÐÊý×ÖÐźŵķåÖµ¼ì²âºÍ±£³Ö¡£A/Dת»»Æ÷Ôڴ˲ÉÓÃMAX120¡£¸Ãת»»Æ÷µÄ·Ö±æÂÊΪ12bit£¬×ª»»Ê±¼äΪ1.6¦Ìs¡£2.3 Âß¼­·ÂÕæ¡£¡¡¡¡ÔÚÓ²¼þµç·ʵÏÖ֮ǰ£¬ÓÃVerilog-HDL¶ÔÂß¼­µç·½øÐÐÁË·ÂÕæ¡£´Ó·ÂÕæ½á¹ûÖпÉÒÔ¿´³ö£¬ÏµÍ³¸´Î»ºó£¬D_OUT£¨VDOUT£©Êä³öΪ0£¬ÔÚ1sÃÅÂö³åG_PÓÐЧÆÚ¼ä£¬GET_DATA½ÓÊÕʱÖÓGET_DATA_CLK¡£´Ë¼äÀ´×ÔA/Dת»»Æ÷µÄÊý×Öµçѹ£¨·Ö±ðΪFROM_ADC=10¡¢15¡¢18¡¢17¡¢4¡¢6¡¢2£©Ïà¼ÌÊäÈëÖÁGET_DATA¡£ÓÉÓÚÕâÆÚ¼äµÄ×î´óֵΪFROM_ADC=18£¬¹ÊÓÐD_OUT=18¡£ÔÚÃÅÂö³åG_PÎÞЧÆÚ¼ä£¬¼´Ê¹ÓÐÊý¾ÝFROM_ADC=11ÊäÈ룬ÈÔÓÐD_OUT=0¡£¡¡¡¡2.4 Verilog-HDLÖ÷Ä£¿é¡¡¡¡ÏÞÓÚÆª·ù£¬ÕâÀïÖ»½«±¾ÏµÍ³ËùÉæ¼°µ½µÄVerilog-HDLµÄÖ÷Ä£¿é²¿·ÖÁгö£º¡¡¡¡Module PK_SEL(BUSY,RB1,RB2,FROM_ADC,D_OUT,P_OUT);¡¡¡¡input BUSY,RB1,RB2;¡¡¡¡output P_OUT;¡¡¡¡input [11:0]FROM_ADC;¡¡¡¡output [11:0]D_OUT;¡¡¡¡wire [11:0]TO_COM;¡¡¡¡wire GET_DATA_CLK;¡¡¡¡//²úÉúÃëÂö³å¡¡¡¡CNT100 F_4kHz £¨RB1,BUSY,F_4k£©£» //·ÖƵ¡¡¡¡CNT100 F_37Hz £¨RB1£¬F_4k£¬F_37£©£» //·ÖƵ¡¡¡¡DELAY_P1 START_DLY £¨RB2£¬RB1£¬F_7£¬DLY_05S£©£» //ÑÓʱ0.7s¡¡¡¡DELAY_P2 GENE_SPB £¨RB2£¬DLY_05S£¬F_7£¬SPB£©£» //ÑÓʱ1s¡¡¡¡GETE_GENE GENE_GP £¨G_P£¬DLY_05S&RB2£¬SPB£©£» //1sµÄÃÅÂö³å¡¡¡¡Assign P_OUT=G_P;¡¡¡¡//ADCÊý¾Ý×î´óÖµµÄ±È½ÏºÍ¼ì²â¡¡¡¡assign GET_DATA_CLK=¡«BUSY & G_P;¡¡¡¡DFF12 GET_DATA£¨GET_DATA_CLK£¬FROM_ADC£¬TO_COM, ¡«SPB & RB2); //»ñÈ¡ADCÊý¾Ý¡¡¡¡COMP_D DATA_COMP£¨TO_COM£¬D_OUT£¬D_S£©£» //Êý¾Ý±È½Ï¡¡¡¡DFF12 DATA_MEM£¨BUSY & D_S£¬TO_COM£¬D_OUT£¬RB1 & RB2£©£» //Êý¾Ý´æ´¢¡¡¡¡endmodule¡¡¡¡½áÊøÓï¡¡¡¡ÓëÄ£ÄâʽµÄ·åÖµµçѹ¼ì²â·½Ê½Ïà±È£¬Êý×ÖʽµÄ¼ì²â·½Ê½ÓÐ׎ṹ¼òµ¥¡¢ÏµÍ³¿ª·¢ÖÜÆÚ¶ÌµÈÓŵ㣬¶ø²ÉÓÃVerilog-HDL¿ÉÒÔ·½±ãµØÊµÏÖÓûÓеŦÄÜ¡£±ÊÕßÉè¼Æ¿ª·¢µÄ¸ÃϵͳÓÃÔÚÁË´óÁ¬¿Æ»ãÖá³ÐÒÇÆ÷ÓÐÏÞ¹«Ë¾Éú²úµÄS0910-3ÐÍÖá³ÐÕñ¶¯²âÁ¿ÒÇÖУ¬²¢ÓÚ2001Äê6ÔÂÔÚÉϺ£µÄ¹ú¼ÊÖá³Ð¼°×°±¸²©ÀÀ»áÉÏÒýÆðÁËͬÐеĹØ×¢¡£
  • Êг¡Ò»²¿£º022-58519722
  • Êг¡¶þ²¿£º022-58519723
  • ͶËßÊÜÀí£º022-58519721
  • ´«Õæ×Ü»ú£º022-23868160