- Äúµ±Ç°µÄλÖ㺹«Ë¾Ö÷Ò³ >»ùÓÚVerilog-HDLµÄÖá³ÐÕñ¶¯ÔëÉùµçѹ·åÖµ¼ì²â
»ùÓÚVerilog-HDLµÄÖá³ÐÕñ¶¯ÔëÉùµçѹ·åÖµ¼ì²â
×÷Õߣºbearingpower ·¢±íʱ¼ä£º2010-12-12
ÕªÒª£º ½éÉÜÄ£Äâ·åÖµµçѹµÄ¼ì²â·½Ê½£¬ÐðÊö»ùÓÚVerilog-HDLÓë¸ßËÙA/Dת»»Æ÷Ïà½áºÏËùʵÏÖµÄÊý×Öʽ¿ìËÙÖá³ÐÔëÉù¼ì²â·½·¨£¬¸ø³öÏà¹ØµÄVerilog-HDLÖ÷Ä£¿é²¿·Ö¡£ ¹Ø¼ü´Ê£º ·åÖµ¼ì²â ´«¸ÐÆ÷ Verilog-HDL A/Dת»»Æ÷ ÒýÑÔ ÔÚÖá³ÐÉú²úÐÐÒµÖУ¬Öá³ÐÕñ¶¯ÔëÉùµÄ·åÖµ¼ì²âÊÇÒ»ÏîÖØÒªµÄÖ¸±ê¡£ÒÔÍù£¬¸Ã¼ì²â¶¼ÊDzÉÓô«Í³µÄÄ£Äâµç··½·¨£¬ºÜÄÑ×öµ½1£º1µØ²¶×½ºÍ±£³Ö½ÏÕµÄËæ»ú²¨ÐεÄ×î´óÕý·åÖµ¡£±¾ÎÄÐðÊöÁË»ùÓÚVerilog-HDLÓë¸ßËÙA/Dת»»Æ÷Ïà½áºÏËùʵÏֵĿìËÙÖá³ÐÔëÉù¼ì²â·½·¨¡£http://21ic.com/info/images/dpj/212/16a 1 Õñ¶¯ÔëÉùµçѹ·åÖµ¼ì²â·½°¸µÄÈ·¶¨ 1.1 Öá³ÐÕñ¶¯ÔëÉùµÄ²úÉú¼°¼ì²â ͼ1ÊÇÖá³ÐÕñ¶¯ÔëÉùµçѹ·åÖµ¼ì²âϵͳµÄʾÒâͼ¡£ÓÉÓÚ¼Ó¹¤É豸¡¢¼¼Êõ¡¢»·¾³µÈÒòËØµÄÓ°Ï죬Éú²úµÄÖá³Ð¶¼³Ì¶È²»Í¬µØ´øÓÐÉ˰̡£Í¼1ÖУ¬¼ÙÉèij´ý²âÖá³ÐÓÐÒ»´¦É˰̡£ÓÉÓÚÉ˺۵ĴæÔÚ£¬Öá³ÐÔÚת¶¯¹ý³ÌÖУ¬É˰̽«Óë¹öÖé²úÉúĦ²Á£¬´Ó¶ø±íÏÖÔÚÖá³ÐÕû¸ö²úÉú΢СµÄÕñ¶¯¡£ÕâÒ»Õñ¶¯Í¨¹ý¼ÓËÙ¶È´«¸ÐÆ÷Êä³öµçѹÐźţ¬¾µçºÉ·Å´óÆ÷¡¢·åÖµ¼ì²âºó£¬¼´ºóµÃµ½Õñ¶¯ÔëÉùµÄ·åÖµµçѹ¡£Í¼2¸ø³öÁËÔÚÓÐÉ˰ÌÇé¿öϵĴ«¸ÐÆ÷Êä³öµçѹ²¨ÐΡ£ 1.2 Ä£ÄâʽµÄ·åÖµµçѹ±£³Öµç·http://21ic.com/info/images/dpj/212/16b ÒÔÍùµÄÖá³ÐÕñ¶¯ÔëÉù·åÖµµçѹ¼ì²â£¬¾ù²ÉÓÃÁËÄ£ÄâʽµÄ·åÖµµçѹ¼ì²â·¨¡£Í¼3ʾ³öÁËÓɲÉÑù±£³Öµç·LF398H¹¹³ÉµÄ¸ÃÀà¼ì²âµç·¡£µ±ÔëÉùµçѹµ½À´ºó£¬²ÉÑùÐźŸúËæÄ£ÄâÐźŵçѹµ½·åÖµ´¦£¬Ö®ºó²ÉÑùÂö³åÏûʧ£¬µç·´¦ÓÚ±£³Ö״̬¡£±£³ÖµçÈÝCÉϼ´´æ´¢ÁËÄ£ÄâÐźŵķåÖµµçѹVm¡£ÒªÏë½Ï¿ìµØ¸úËæÊäÈëµçѹVinµÄ±ä»¯£¬±£³ÖµçÈÝCµÄÈÝÁ¿¾ÍÓ¦Ïà¶Ô¼õС£»¶øCµÄÏà¶Ô¼õС£¬ÓֻᵼÖÂÔÚ±£³ÖµçѹÆÚ¼ä£¬Êä³öµçѹVoutµÄϽµËÙÂʼӿ졣ÕâÁ½ÕßÏ໥ì¶Ü£¬´Ó¶øÊ¹ÕâÖÖµç·ÄÑÒÔ´ïµ½½Ï¸ßµÄÐÔÄÜ¡£ 1.3 Êý×ÖʽµÄ·åÖµµçѹ¼ì²â Ä£ÄâʽµÄ·åÖµ¼ì²âµç·²»Ò××öµ½¸ßËÙ²ÉÑù¡£²ÉÇű£³Öµç·¾³¤ÆÚʹÓÃºó£¬¶à·½ÃæµÄÐÔÄܻᷢÉúÃ÷ÏԱ仯£¬ÇÒ²»Ò×ÅúÁ¿»¯Éú²ú£»¶øÓÉÊý×Öµç·×é³ÉµÄϵͳ¿ÉÒÔ×öµ½½á¹¹¼òµ¥¡¢µ÷ÊÔ·½±ã£¬³¤ÆÚʹÓò»»áµ¼ÖÂϵͳÐÔÄÜÖ¸±êµÄϽµ¡£Í¼4ÊÇÒ»ÖÖÊý×ÖʽµÄ·åÖµ¼ì²âϵͳµÄ×é³É·½°¸¡£ËüÓÉA/Dת»»²¿·ÖºÍÊý×ÖµçѹµÄ·åÖµ¼ì²â²¿·Ö×é³É£¬½Ó¿Úµç·ÄÚº¬Î¢´¦ÀíÆ÷£¬¸ºÔðÓë΢»ú½øÐÐÊý¾ÝͨÐźͽÓÊÕÀ´×Ô΢»úµÄ¿ØÖÆÐźţ¬²¢¿ØÖƼì²âϵͳµÄ¹¤×÷¡£¸ù¾ÝÓ¦ÓöÔÏóµÄ²»Í¬£¬A/Dת»»Æ÷µÄ²ÉÑùËÙÂʿɸߴïÉϰÙMsps[1]£¬²¢¿É×Ô´ø²ÉÑù±£³Öµç·¡£ÓëA/Dת»»Æ÷Ïà½ÓµÄÊý×Öµçѹ·åÖµ¼ì²âµç·¿É²ÉÓÃFPGA£¬Æä¹¤×÷ËÙ¶ÈÒ²ÖдïÉϰÙMsps¡£Òò´Ë£¬ÔÚÐźŵĴ¦ÀíËÙ¶È·½ÃæÁ½Õß¶¼ÊÇÓÅÓÚ´«Í³µÄÄ£Äâµç··½Ê½µÄ¡£http://21ic.com/info/images/dpj/212/16c 2 »ùÓÚVerilog-HDLµÄ·åÖµµçѹ¼ì²â·½°¸ 2.1 Âß¼¹¦ÄܵÄÉè¼Æ ͼ5¸ø³öÁËÊý×Öµçѹ·åÖµ¼ì²â¿òͼ¡£Í¼ÖгýÁË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ΪÊý×ÖʽµÄ·åÖµÊä³öµçѹ¡£http://21ic.com/info/images/dpj/212/16d ½öÓÐͼ5µÄÂß¼¹¦ÄÜ¿òͼ»¹²»ÄÜ·½±ãµØÓÃVerilog-HDLÀ´ÃèÊö¡£Îª´Ë½«Æä½øÒ»²½Ï¸»¯ÎªÍ¼6ËùʾµÄÐÎʽ¡£Í¼6ÖÐÐéÏß¿òÄڵŦÄÜÓÉXC9572£¨Xilinx¹«Ë¾µÄ²úÆ·£©ÊµÏÖ¡£Í¼6ÖУ¬VinΪģÄâµçѹµÄÊäÈ룬VDOUTΪÊý×Ö·åÖµµçѹµÄÊä³ö£¬VDOUT¡¢RB1¡¢RB21¾ùÓë½Ó¿Úµç·Ïà½Ó£¬RB1¡¢RB2ÊÜ΢»úµÄ¿ØÖÆ¡£ 2.2 ʱÐòͼ ͼ7Ϊͼ6ËùʾÂß¼µç·µÄʱÐòͼ¡£°´ÕÕÖá³Ð¼ì²âµÄ¹¤ÒÕ£¬µ±ÏµÍ³¸´Î»RB2¡¢Æô¶¯Âö³åRB1µ½À´ºó£¬¾0.7sµÄÑÓʱ£¬±ã²úÉú1¸ö¿í¶ÈΪ1sµÄÃÅÂö³åG_P¡£ÔÚ´ËÆÚ¼ä£¬A/Dת»»Æ÷Á¬Ðø×ª»»µÄÊý¾ÝËÍÈëÊý¾Ý»º³åÆ÷GET_DATA£¬Ö®ºó½øÐÐÊý×ÖÐźŵķåÖµ¼ì²âºÍ±£³Ö¡£A/Dת»»Æ÷Ôڴ˲ÉÓÃMAX120¡£¸Ãת»»Æ÷µÄ·Ö±æÂÊΪ12bit£¬×ª»»Ê±¼äΪ1.6 ¦Ìs ¡£http://21ic.com/info/images/dpj/212/16e 2.3 Âß¼·ÂÕæ ÔÚÓ²¼þµç·ʵÏÖ֮ǰ£¬ÓÃVerilog-HDL¶Ôͼ6ËùʾµÄÂß¼µç·½øÐÐÁË·ÂÕæ£¬Í¼8¼´Îª·ÂÕæ½á¹û¡£´Ó·ÂÕæ½á¹ûÖпÉÒÔ¿´³ö£¬ÏµÍ³¸´Î»ºó£¬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Ö÷Ä£¿é http://21ic.com/info/images/dpj/212/16f ÏÞÓÚÆª·ù£¬ÕâÀïÖ»½«±¾ÏµÍ³ËùÉæ¼°µ½µÄ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£©£» //·ÖƵhttp://21ic.com/info/images/dpj/212/16g 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ÐÍÖá³ÐÕñ¶¯²âÁ¿ÒÇÖУ¬²¢ÓÚ1Äê6ÔÂÔÚÉϺ£µÄ¹ú¼ÊÖá³Ð¼°×°±¸²©ÀÀ»áÉÏÒýÆðÁËͬÐеĹØ×¢¡£ ¼È룺- Êг¡Ò»²¿£º022-58519722
- Êг¡¶þ²¿£º022-58519723
- ͶËßÊÜÀí£º022-58519721
- ´«Õæ×Ü»ú£º022-23868160
- NSKÖá³ÐÀàÐÍ
- µ÷ÐĹö×ÓÖá³Ð
- µ÷ÐÄÇòÖá³Ð
- ¹öÕë×éºÏÖá³Ð
- ¹Ø½ÚÖá³Ð
- ½Ç½Ó´¥ÇòÖá³Ð
- Éî¹µÇòÖá³Ð
- ÍÆÁ¦¹ö×ÓÖá³Ð
- ÍÆÁ¦ÇòÖá³Ð
- ÍâÇòÃæÇòÖá³Ð
- Ô²Öù¹ö×ÓÖá³Ð
- Ô²×¶¹ö×ÓÖá³Ð
- ÈȵãÐÂÎÅ
- ·Ï²»Ðâ¸ÖµÄÔÙÉúºÍ¼Ó¹¤·½Ê½ ¡
- Öá³Ð¹ö×Ó¼Ó¹¤¹ý³Ì ¡
- ×îнðÊô¼Ó¹¤¼¼ÊõÒ»ÀÀ ¡
- ±¡±ÚÖá³Ð¼Ó¹¤²Î¿¼:ÈçºÎÌá¸ß±¡± ¡
- Ä¥¼Ó¹¤¹ý³ÌÖеÄÖ÷¶¯²âÁ¿ÒÇ ¡
- Ìá¸ßÖá³ÝÂÖ¹ö³Ý¼Ó¹¤¾«¶ÈµÄ·½·¨ ¡
- ¾«Ãܼӹ¤ºÍ³¬¾«Ãܼӹ¤ÊÇÏȽøÖÆ ¡
- Öá³Ð¼Ó¹¤¼¼Êõ:Öá³ÐÁã¼þ´ã»ðÓ͵ ¡
- Öá³ÐµÄ¹öÖéÊÇÔõô¼Ó¹¤µ½Á½¹µÄÚ ¡
- ·Ï͵ÄÔÙÉúºÍ¼Ó¹¤·½Ê½ ¡
- ¼Ó¹¤³ö¸ß¾«¶ÈÖá³Ð¿×µÄм¼Êõ ¡
- ·ÇÇòÃæÁã¼þ³¬¾«Ãܼӹ¤¼¼Êõ ¡
- Ô²Öù¿×µÄïÛÏ÷¼Ó¹¤ ¡
- Öá³Ð¹ö×ӵļӹ¤¹ý³Ì ¡