اطلاعیه

Collapse
No announcement yet.

کمک ساخت اسیلسکوپ!!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک ساخت اسیلسکوپ!!

    سلام به همگی
    یه مدته که سویچینگ میسازم نیاز به اسکپ رو خیلی حس میکنم و به نظرم اسکپ هم مثل مولتی متر برا هر الکترونیک کاری نیازه!
    تو نت سرچ زدم ولی اکثر اسکپایی که ساخته شده بودن سرعت و دقت خیلی پایینی داشتن مثلا با مگا که حتی نمیتونه صفحه نمایشه با سرعت ریفرش کنه !
    ولی خوب اسکپ های خوبی هم پیدا کردم ولی اطلاعاتی از ساختشون نبود!

    ممنون میشم یه اسکپ خوب معرفی کنید برای ساخت, یا حتی اگه اسکوپی باشه که به کامپیوترم وصل شه قبوله حتی اگه فروشی باشه

    این فیلم رو ببیند یه چی تو همچین مایه هایی عالیه!!

    www.asedownload.com

    اضافه شده در تاریخ :
    اینارو گیر اوردم نظرتون چیه؟

    http://www.circuitvalley.com/2011/07/two-channel-pcbased-oscilloscope-usb.html

    http://www.triplespark.net/elec/analysis/USB-LiveOsci/

    http://www.dragonflyalley.com/constructionDFA875oscilloscope.htm
    عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
    مخترع برتر شمال غرب سال 96
    مدیر سابق منابع تغذیه انجمن ECA


    #2
    پاسخ : کمک ساخت اسیلسکوپ!!

    اگه فکر میکنید لازمتونه ، بیخیال ساختش بشین
    برین یک دیجیتالش رو بخرین گودویل چین و مگاتک تایوان و ....
    اگر هم برای بازی میخواین ، کارت اسکوپ بخرین( ایرانی هم دره tnm )
    برین بخرین و فکر ساخت نباشین

    دیدگاه


      #3
      پاسخ : کمک ساخت اسیلسکوپ!!

      نوشته اصلی توسط ariane
      اگه فکر میکنید لازمتونه ، بیخیال ساختش بشین
      برین یک دیجیتالش رو بخرین گودویل چین و مگاتک تایوان و ....
      اگر هم برای بازی میخواین ، کارت اسکوپ بخرین( ایرانی هم دره tnm )
      برین بخرین و فکر ساخت نباشین
      بله تو مدارات سویچینگ کلا لنگ میزنم و نیازمه
      والا اسکوپ خیلی گرونه اگه میتونستم بخرم که عمرا نمیومد طرف ساختنش!
      این اسکوپایی که بعضیا ساختن و فیلمش هم هست به نظر خیلی خوب میان و عملکرد خوبی دارن به نظر شما خوب نیستن؟
      عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
      مخترع برتر شمال غرب سال 96
      مدیر سابق منابع تغذیه انجمن ECA

      دیدگاه


        #4
        پاسخ : کمک ساخت اسیلسکوپ!!

        نمونه ساخته شده توسط دوستان محدودیتهایی هم دارن شما که تو کار ساخت مدار هستید بهتره یکی بخرید
        در جهان هرگز مشو مدیون احساس کسی - تا نباشد رایگان مهرت گروگان کسی
        گوهر خود را نزن بر سنگ هر ناقابلی - صبر کن پیدا شود گوهر شناس قابلی

        دیدگاه


          #5
          پاسخ : کمک ساخت اسیلسکوپ!!

          من این مدار ساختم
          فعلا کارتو راه میندازه
          http://tomeko.net/miniscope_v2b/index.php?lang=en

          دیدگاه


            #6
            پاسخ : کمک ساخت اسیلسکوپ!!

            ارمین جان درسته خیلی به اسکوپ نیاز هست. اما این اسکوپ هایی که به صورت DIY هست بدرد کار تو حوضه سوییچینگ نمیخوره بیشتر جنبه سرگرمی و ساخت مدار داره. یا فرکانس پایینی دارن یا رنج ولتاژ ورودی کمه یا دقت پایینی دارن یا...
            یکی از بهترین کار ها خرید یه اسکوپ دسته دوم کم کارکرده میتونه باشه

            دیدگاه


              #7
              پاسخ : کمک ساخت اسیلسکوپ!!

              والا دوست 2 داغونش 200 تومنه کارت اسکوپ 120 تومن ارزونشه و من حتی نمیتونم 120 بدم به کارت اسکوپ!
              در کل اگه میشد ادم خودش یه اسکوپ بسازه خیلی خوب میشد
              عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
              مخترع برتر شمال غرب سال 96
              مدیر سابق منابع تغذیه انجمن ECA

              دیدگاه


                #8
                پاسخ : کمک ساخت اسیلسکوپ!!

                اگه یه نمونه ای که واقعا میتونست تا حدودی جوابگو باشه و قابل ساخت بود چرا که نه! اما اینا یا خیلی محدودا و بیشتر به درد کارای دیجیتال فرکانس پایین میخورن نه سوییچینگ که با ولتاژ بالا و فرکانس حدودا تا 100 کیلو کار داریم

                دیدگاه


                  #9
                  پاسخ : کمک ساخت اسیلسکوپ!!

                  فکر کنم این خوب باشه با یک cpld و یک avr اومده اوسکوپ درست کرده

                  http://www.embedds.com/diy-40msps-av...graphical-lcd/



                  [code=c]
                  Features of AVR DSO (eOscope):

                  Maximum sample frequency: 40MSPS
                  Maximum input frequency: 5MHz
                  Maximum displayed frequency without aliasing: 10MHz
                  Input circuit bandwidth: 20MHz
                  Display resolution: 240×128 total, trace resolution 200×125
                  Sensitivity: 40mV/div
                  Coupling: DC
                  Input impedance: 10K
                  Power supply: single DC source 8V..10V, 1A
                  No incremental mode
                  Time base: 1s/div, 500ms/div, 200ms/div, 100ms/div, 50ms/div/, 20ms/div, 10ms/div, 5ms/div, 2ms/div, 1ms/div, 500us/div, 200us/div, 100us/div, 50us/div, 20us/div, 10us/div, 5us/div, 2us/div, 1us/div, 500ns/div
                  Trigger: digitally adjustable
                  Trace offset: digitally adjustable
                  [/code]

                  دیدگاه


                    #10
                    پاسخ : کمک ساخت اسیلسکوپ!!

                    نوشته اصلی توسط mahdi.7
                    اگه یه نمونه ای که واقعا میتونست تا حدودی جوابگو باشه و قابل ساخت بود چرا که نه! اما اینا یا خیلی محدودا و بیشتر به درد کارای دیجیتال فرکانس پایین میخورن نه سوییچینگ که با ولتاژ بالا و فرکانس حدودا تا 100 کیلو کار داریم
                    والا حتما باید مداری موجود باشه که فول باشه! ولی پیدا کردنش خودش یه پروسه هست!!

                    اضافه شده در تاریخ :
                    نوشته اصلی توسط S S
                    فکر کنم این خوب باشه با یک cpld و یک avr اومده اوسکوپ درست کرده

                    http://www.embedds.com/diy-40msps-av...graphical-lcd/



                    [code=c]
                    Features of AVR DSO (eOscope):

                    Maximum sample frequency: 40MSPS
                    Maximum input frequency: 5MHz
                    Maximum displayed frequency without aliasing: 10MHz
                    Input circuit bandwidth: 20MHz
                    Display resolution: 240×128 total, trace resolution 200×125
                    Sensitivity: 40mV/div
                    Coupling: DC
                    Input impedance: 10K
                    Power supply: single DC source 8V..10V, 1A
                    No incremental mode
                    Time base: 1s/div, 500ms/div, 200ms/div, 100ms/div, 50ms/div/, 20ms/div, 10ms/div, 5ms/div, 2ms/div, 1ms/div, 500us/div, 200us/div, 100us/div, 50us/div, 20us/div, 10us/div, 5us/div, 2us/div, 1us/div, 500ns/div
                    Trigger: digitally adjustable
                    Trace offset: digitally adjustable
                    [/code]
                    ss جان avr سرعت کافی برای اسکوپو نداره و فک نمیکنم با avr بشه اسکوپ خوبی ساخت! چون سرعتش خیلی پایینه
                    عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
                    مخترع برتر شمال غرب سال 96
                    مدیر سابق منابع تغذیه انجمن ECA

                    دیدگاه


                      #11
                      پاسخ : کمک ساخت اسیلسکوپ!!

                      avr برای درایو lcd هست
                      این مدار تا 5 مگ توسط یک adc سرعت بالا که توسط یک cpld درایو میشه میتونه نمایش بده
                      همه فایل هاشم من دارم خواستید بگید تا یه جا پ کنم

                      دیدگاه


                        #12
                        پاسخ : کمک ساخت اسیلسکوپ!!

                        این اسکوپ جالبیه در حد DIY درواقع بهتر از هر اسکوپیه که دیدم! اما ساختنش کار راحتی نیستا! قطعات خاصیم داره
                        خرجشم حدود 100 تومن و بیشتر میشه احتمال زیاد
                        و یک چیز بســــــیار بد این که سورس برنامه نیست :NO:
                        مستندات کمی هم داره. همچین پروژه ای نیاز به راهنمای راه اندازی و... داره
                        اما در کل بسیار جالبه. یه چیز دیگه این که با برد هایی که سیستم عامل روش نصب میشه و LCD اسکوپ های جالبی ساختن بعضا که خب خیلی گرون میشه و با پولش میشه یه اسکوپ انالوگ دسته 2 تمیز گرفت

                        دیدگاه


                          #13
                          پاسخ : کمک ساخت اسیلسکوپ!!

                          نوشته اصلی توسط S S
                          avr برای درایو lcd هست
                          این مدار تا 5 مگ توسط یک adc سرعت بالا که توسط یک cpld درایو میشه میتونه نمایش بده
                          همه فایل هاشم من دارم خواستید بگید تا یه جا پ کنم
                          شما خودتون اینو ساختین؟چقدر هزینه برداشت؟ عملکردش چطوره کار راه میندازه؟ من ولتاژی که اغلب میخوام با اسکوپ ببینم 200 ولت و 50 الی 150 ایکو هرتزه
                          اگه فایلاشو لطف کنی ممنون میشم
                          البته یه فایل از خود اون لینکی که دادین دان کردم ولی خوب چینش قطهات و لیست قطعات و... رو ندارم
                          یکی هم حد اکثر ولتاژ قابل اندازه گیریش چقدره این؟ تو سایتش چیزی ننوشته بود در این باره

                          اگه فیلمی از کارکردش دارین خیلی خوشحال میشم ببینم

                          اضافه شده در تاریخ :
                          نوشته اصلی توسط mahdi.7
                          این اسکوپ جالبیه در حد DIY درواقع بهتر از هر اسکوپیه که دیدم! اما ساختنش کار راحتی نیستا! قطعات خاصیم داره
                          خرجشم حدود 100 تومن و بیشتر میشه احتمال زیاد
                          و یک چیز بســــــیار بد این که سورس برنامه نیست :NO:
                          مستندات کمی هم داره. همچین پروژه ای نیاز به راهنمای راه اندازی و... داره
                          اما در کل بسیار جالبه. یه چیز دیگه این که با برد هایی که سیستم عامل روش نصب میشه و LCD اسکوپ های جالبی ساختن بعضا که خب خیلی گرون میشه و با پولش میشه یه اسکوپ انالوگ دسته 2 تمیز گرفت
                          جدی به نظرت خوبه؟ ولتاژای بالا رو هم میسنجه؟ مهدی تو تاییدش کنی دیگه حله
                          چرا 100 تومن میشه؟! به خاطر lcd؟!
                          والاه 100 تومنه تیکه تیکه دادن به نظر من راحت تره ولی خوب با 120 تومن میشه یه کارت اسکوپ که تو فروشگاه هست خرید!
                          مهدی اون بردا 250 تومنه فک کنم و به قول خودت با 250 میشه یه اسکوپ دست 2 تمیز گرفت !
                          اینقدر دلم میسوزه!! تو امر یکا بچه دبیرستانی با جمع کردن پول تو جیبیش میره اسکوپ دیجیتال میگیره اونقت اینجا یه اسکپ انالوک برابری میکنه با نصف حقوق یه کارمند!!!



                          یه چیزیم نوشه Sensitivity: 40mV/div این یعنی سرفا حساسیتشه یا اینکه برا ولتاژ همیشه 40 میلی ولت به ازای هر خونه داریم؟ نمیشه تغییرش داد مثلا تو اسکوپای دیگه با سکلتور میشه تقسمات ولتاژو کم و زیاد کرد!
                          عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
                          مخترع برتر شمال غرب سال 96
                          مدیر سابق منابع تغذیه انجمن ECA

                          دیدگاه


                            #14
                            پاسخ : کمک ساخت اسیلسکوپ!!

                            من برنامه هاشو دارم حتی pcb پروتل اونو
                            این برنامه vhdl
                            [code=vhdl]
                            -- Name: Scope Controller
                            -- Version: 1.4 Partially Tested
                            -- Date: 06Sep2005 Adi
                            -- Function: XC9572 controller for eOscope
                            --
                            -- Descrition:
                            -- Keyboard interface, ADC control logic


                            library IEEE;
                            use IEEE.STD_LOGIC_1164.ALL;
                            use IEEE.STD_LOGIC_ARITH.ALL;
                            use IEEE.STD_LOGIC_UNSIGNED.ALL;


                            entity controller is

                            Port ( CLK : in std_logic; -- Global Clock In
                            UC_CLK : out std_logic; -- Output Clock for the uC
                            ADC_CLK : out std_logic; -- Output Clock for the ADC
                            FIFO_CLK : out std_logic; -- Output Clock for the FIFO
                            TST_LED : out std_logic; -- Pin LED For testing purposes

                            DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input

                            SER_CLK : in std_logic; -- Serial interface clock
                            SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
                            SER_EN : in std_logic; -- Serial interface - Enable write in register
                            SER_RDWR : in std_logic; -- Serial interface - read or write
                            SER_GATE : in std_logic -- Serial interface - register select
                            );

                            -- attribute bufg: string; -- Global pin assign (FOR XC9572 - PC44)
                            -- attribute bufg of CLK : signal is "CLK";

                            attribute pin_assign : string; -- Pin Assign (FOR XC9572 - PC44)
                            attribute pin_assign of CLK : signal is "6";
                            attribute pin_assign of UC_CLK : signal is "19";
                            attribute pin_assign of FIFO_CLK : signal is "29";
                            attribute pin_assign of ADC_CLK : signal is "28";
                            attribute pin_assign of TST_LED : signal is "1";

                            attribute pin_assign of DIN_SV5 : signal is "40, 39, 38, 37, 36, 35, 34, 33";
                            -- Pin connector SV5: 8, 7, 6, 5, 3, 2, 1
                            -- TrgDwn,

                            attribute pin_assign of SER_CLK : signal is "18"; -- uC: PC0
                            attribute pin_assign of SER_RDWR: signal is "20"; -- uC: PC1
                            attribute pin_assign of SER_EN : signal is "25"; -- uC: PC2
                            attribute pin_assign of SER_DATA : signal is "22"; -- uC: PD7
                            attribute pin_assign of SER_GATE : signal is "24"; -- uC: PD6 !!! Atentie !

                            end controller;


                            architecture Behavioral of controller is
                            signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
                            signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
                            signal OUT_CNT_1 : std_logic := '0';
                            signal OUT_CNT_2 : std_logic := '0';
                            signal OUT_TMP : std_logic := '0';
                            signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
                            signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
                            signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
                            signal SER_DATA_TMP: std_logic := '0';

                            begin

                            UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
                            ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
                            TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
                            FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);

                            SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
                            OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;

                            process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
                            -- Should be modified according to decision logic
                            begin

                            if rising_edge(CLK) then -- Clock
                            CNT_1 <= CNT_1 + '1';

                            if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
                            OUT_TMP <= CNT_1(0);
                            elsif REG_DIV = 2 then
                            OUT_TMP <= CNT_1(1);
                            elsif REG_DIV = 3 then
                            OUT_TMP <= CNT_1(2);
                            elsif REG_DIV = 4 then
                            OUT_TMP <= CNT_1(3);
                            elsif REG_DIV = 5 then
                            OUT_TMP <= CNT_1(4);
                            elsif REG_DIV = 6 then
                            OUT_TMP <= CNT_1(5);
                            end if;

                            end if;


                            if rising_edge(OUT_CNT_1) then
                            if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
                            CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
                            OUT_CNT_2 <= '1';
                            else
                            CNT_2 <= CNT_2 + '1'; -- Increment the second counter
                            OUT_CNT_2 <= '0';
                            end if;
                            end if;


                            if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
                            REG_KEY <= DIN_SV5;
                            elsif falling_edge(SER_CLK) then
                            if SER_RDWR='0' then -- Read data from keyboard
                            SER_DATA_TMP <= REG_KEY(7);
                            REG_KEY (7) <= REG_KEY (6);
                            REG_KEY (6) <= REG_KEY (5);
                            REG_KEY (5) <= REG_KEY (4);
                            REG_KEY (4) <= REG_KEY (3);
                            REG_KEY (3) <= REG_KEY (2);
                            REG_KEY (2) <= REG_KEY (1);
                            REG_KEY (1) <= REG_KEY (0);
                            REG_KEY (0) <= '0';
                            else -- Write data to TimeBase settings registers
                            REG_DIV (3) <= REG_DIV (2);
                            REG_DIV (2) <= REG_DIV (1);
                            REG_DIV (1) <= REG_DIV (0);
                            REG_DIV (0) <= REG_CMP (15);
                            REG_CMP (15) <= REG_CMP (14);
                            REG_CMP (14) <= REG_CMP (13);
                            REG_CMP (13) <= REG_CMP (12);
                            REG_CMP (12) <= REG_CMP (11);
                            REG_CMP (11) <= REG_CMP (10);
                            REG_CMP (10) <= REG_CMP (9);
                            REG_CMP (9) <= REG_CMP (8);
                            REG_CMP (8) <= REG_CMP (7);
                            REG_CMP (7) <= REG_CMP (6);
                            REG_CMP (6) <= REG_CMP (5);
                            REG_CMP (5) <= REG_CMP (4);
                            REG_CMP (4) <= REG_CMP (3);
                            REG_CMP (3) <= REG_CMP (2);
                            REG_CMP (2) <= REG_CMP (1);
                            REG_CMP (1) <= REG_CMP (0);
                            REG_CMP (0) <= SER_DATA;
                            end if;
                            end if;

                            end process;

                            end Behavioral;

                            [/code]

                            دیدگاه


                              #15
                              پاسخ : کمک ساخت اسیلسکوپ!!

                              نوشته اصلی توسط S S
                              من برنامه هاشو دارم حتی pcb پروتل اونو
                              این برنامه vhdl
                              [code=vhdl]
                              -- Name: Scope Controller
                              -- Version: 1.4 Partially Tested
                              -- Date: 06Sep2005 Adi
                              -- Function: XC9572 controller for eOscope
                              --
                              -- Descrition:
                              -- Keyboard interface, ADC control logic


                              library IEEE;
                              use IEEE.STD_LOGIC_1164.ALL;
                              use IEEE.STD_LOGIC_ARITH.ALL;
                              use IEEE.STD_LOGIC_UNSIGNED.ALL;


                              entity controller is

                              Port ( CLK : in std_logic; -- Global Clock In
                              UC_CLK : out std_logic; -- Output Clock for the uC
                              ADC_CLK : out std_logic; -- Output Clock for the ADC
                              FIFO_CLK : out std_logic; -- Output Clock for the FIFO
                              TST_LED : out std_logic; -- Pin LED For testing purposes

                              DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input

                              SER_CLK : in std_logic; -- Serial interface clock
                              SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
                              SER_EN : in std_logic; -- Serial interface - Enable write in register
                              SER_RDWR : in std_logic; -- Serial interface - read or write
                              SER_GATE : in std_logic -- Serial interface - register select
                              );

                              -- attribute bufg: string; -- Global pin assign (FOR XC9572 - PC44)
                              -- attribute bufg of CLK : signal is "CLK";

                              attribute pin_assign : string; -- Pin Assign (FOR XC9572 - PC44)
                              attribute pin_assign of CLK : signal is "6";
                              attribute pin_assign of UC_CLK : signal is "19";
                              attribute pin_assign of FIFO_CLK : signal is "29";
                              attribute pin_assign of ADC_CLK : signal is "28";
                              attribute pin_assign of TST_LED : signal is "1";

                              attribute pin_assign of DIN_SV5 : signal is "40, 39, 38, 37, 36, 35, 34, 33";
                              -- Pin connector SV5: 8, 7, 6, 5, 3, 2, 1
                              -- TrgDwn,

                              attribute pin_assign of SER_CLK : signal is "18"; -- uC: PC0
                              attribute pin_assign of SER_RDWR: signal is "20"; -- uC: PC1
                              attribute pin_assign of SER_EN : signal is "25"; -- uC: PC2
                              attribute pin_assign of SER_DATA : signal is "22"; -- uC: PD7
                              attribute pin_assign of SER_GATE : signal is "24"; -- uC: PD6 !!! Atentie !

                              end controller;


                              architecture Behavioral of controller is
                              signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
                              signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
                              signal OUT_CNT_1 : std_logic := '0';
                              signal OUT_CNT_2 : std_logic := '0';
                              signal OUT_TMP : std_logic := '0';
                              signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
                              signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
                              signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
                              signal SER_DATA_TMP: std_logic := '0';

                              begin

                              UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
                              ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
                              TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
                              FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);

                              SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
                              OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;

                              process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
                              -- Should be modified according to decision logic
                              begin

                              if rising_edge(CLK) then -- Clock
                              CNT_1 <= CNT_1 + '1';

                              if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
                              OUT_TMP <= CNT_1(0);
                              elsif REG_DIV = 2 then
                              OUT_TMP <= CNT_1(1);
                              elsif REG_DIV = 3 then
                              OUT_TMP <= CNT_1(2);
                              elsif REG_DIV = 4 then
                              OUT_TMP <= CNT_1(3);
                              elsif REG_DIV = 5 then
                              OUT_TMP <= CNT_1(4);
                              elsif REG_DIV = 6 then
                              OUT_TMP <= CNT_1(5);
                              end if;

                              end if;


                              if rising_edge(OUT_CNT_1) then
                              if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
                              CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
                              OUT_CNT_2 <= '1';
                              else
                              CNT_2 <= CNT_2 + '1'; -- Increment the second counter
                              OUT_CNT_2 <= '0';
                              end if;
                              end if;


                              if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
                              REG_KEY <= DIN_SV5;
                              elsif falling_edge(SER_CLK) then
                              if SER_RDWR='0' then -- Read data from keyboard
                              SER_DATA_TMP <= REG_KEY(7);
                              REG_KEY (7) <= REG_KEY (6);
                              REG_KEY (6) <= REG_KEY (5);
                              REG_KEY (5) <= REG_KEY (4);
                              REG_KEY (4) <= REG_KEY (3);
                              REG_KEY (3) <= REG_KEY (2);
                              REG_KEY (2) <= REG_KEY (1);
                              REG_KEY (1) <= REG_KEY (0);
                              REG_KEY (0) <= '0';
                              else -- Write data to TimeBase settings registers
                              REG_DIV (3) <= REG_DIV (2);
                              REG_DIV (2) <= REG_DIV (1);
                              REG_DIV (1) <= REG_DIV (0);
                              REG_DIV (0) <= REG_CMP (15);
                              REG_CMP (15) <= REG_CMP (14);
                              REG_CMP (14) <= REG_CMP (13);
                              REG_CMP (13) <= REG_CMP (12);
                              REG_CMP (12) <= REG_CMP (11);
                              REG_CMP (11) <= REG_CMP (10);
                              REG_CMP (10) <= REG_CMP (9);
                              REG_CMP (9) <= REG_CMP (8);
                              REG_CMP (8) <= REG_CMP (7);
                              REG_CMP (7) <= REG_CMP (6);
                              REG_CMP (6) <= REG_CMP (5);
                              REG_CMP (5) <= REG_CMP (4);
                              REG_CMP (4) <= REG_CMP (3);
                              REG_CMP (3) <= REG_CMP (2);
                              REG_CMP (2) <= REG_CMP (1);
                              REG_CMP (1) <= REG_CMP (0);
                              REG_CMP (0) <= SER_DATA;
                              end if;
                              end if;

                              end process;

                              end Behavioral;

                              [/code]
                              ایول بابا دمت کرم!!

                              چندتا سوال منم جواب بدی ممنون میشم

                              عملکردش چطوره کار راه میندازه؟ من ولتاژی که اغلب میخوام با اسکوپ ببینم 200 ولت و 50 الی 150 ایکو هرتزه
                              حد اکثر ولتاژی که میشه بهش داد چقدره؟
                              اگه فیلمی از کارکردش دارین خیلی خوشحال میشم ببینم
                              عزیزان دقت کنید پسورد تمامی فایلها و پروژه های من، در تاپیکشون موجوده(صفحات آخر) لطفا برای رمز فایلا پیام ندید!! چون خیلی دیر ب دیر میام انجمن و پیام چک نمیکنم
                              مخترع برتر شمال غرب سال 96
                              مدیر سابق منابع تغذیه انجمن ECA

                              دیدگاه

                              لطفا صبر کنید...
                              X