新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的高速數字隔離型串行ADC及應用

        基于FPGA的高速數字隔離型串行ADC及應用

        作者: 時間:2010-03-03 來源:網絡 收藏

          1.引言

          目前,逆變器在很多領域有著越來越廣泛地應用。對逆變器的研究具有十分重要的意義和廣闊的工程應用前景。常見逆變技術的控制方法大致分為開環控制的載波調制方法和閉環控制的跟蹤控制方法。跟蹤控制方法屬于閉環控制,閉環反饋中的檢測環節需要與高壓主電路相互隔離,避免高壓側電磁噪聲對控制電路的竄擾。高性能的跟蹤型逆變器對反饋量的實時性要求很高,因此要求反饋環節具有高速隔離傳輸模擬信號的能力。

          目前,最常用的隔離技術可以分為線性隔離和數字隔離。線性隔離器存在溫度漂移、線性度差,魯棒性弱的問題,很難滿足寬頻帶高精度的隔離傳輸要求。在現代跟蹤控制用逆變器領域中大多采用數字化控制,如果在高壓側將模擬量變成數字量,再通過高速隔離芯片傳輸數字量,則既避免了模擬量隔離傳輸所存在的問題,又滿足數字化控制的要求。因此,本文研究設計了一種基于高速隔離芯片的高速隔離型。該數字隔離型頻帶寬,延時小,穩定性高并且電路結構簡單。利用作為控制器,很好地實現了模數轉換和隔離傳輸。

          2.隔離模塊基本工作原理

          2.1 工程背景介紹

          如圖(1)所示為基于RC檢測的跟蹤控制原理框圖。通過高速隔離芯片控制高速,將電容電壓實時地轉換成數字量,通過隔離芯片把數字量讀回到FPAG。通過這個高速隔離型ADC,即圖(1)中虛線框中的部分,實時采樣跟蹤電壓波形,根據特定的跟蹤控制算法產生相應的SPWM控制信號驅動半橋主電路。假設逆變單元的開關頻率為10KHz,最小占空比為10%,按照香農定理ADC采樣頻率至少為200KHz,在工程應用中一般留有7~10倍余量,所以高速ADC的采樣頻率應該在1MHz左右。MAX1072為10位單極型ADC,可以實現1.8MHz采樣頻率。可見MAX1072在采樣頻率和輸出精度方面均滿足跟蹤控制的要求。同時,采用串行ADC控制引腳少,占用控制器I/O端口少,所需隔離芯片少,電路結構簡單可靠性高。隔離芯片采用ISO721D,其傳輸帶寬可達150MHz。

          2.2 ADC實現原理

          本論文主要研究高速隔離型ADC的實現方案,即圖(1)中虛線框內的部分。此部分原理示意圖如圖(2)所示。圖中由產生兩路輸出信號分別為Clk1和Sta1。Clk1經過隔離芯片輸出信號Clk作為串行ADCMax1072的時鐘信號其頻率為24MHz。Sta1經過隔離芯片輸出信號Sta作為ADC的啟動控制信號其頻率為1.5MHz。ADC的轉換結果為Data信號,經隔離芯片輸出Data1信號送回FPGA。

        原理示意圖

          各信號相位關系如圖(3)所示。其中,信號A,B,C,Dclk依次為Clk,Sta,Data和FPGA內部移位寄存器的時鐘信號,實現將每一位串行數據進行存儲。信號B的下降沿啟動ADC進行轉換,t0~t1時間段內為ADC轉換時間,第四個Clk上升沿輸出數字量的最高位,經4nS后穩定。依次在每個時鐘信號Clk的上升沿產生數字量的下一位,在每個Dclk的上升沿將串行數據鎖存在移位寄存器中。在LSB之后還有兩位無效位分別為S1和S0。啟動信號延時3個Clk,再進行下一次啟動。

          圖(4)為利用FPGA實現的控制隔離型ADC的軟核原理描述圖。FPGA產生一路頻率為24MHz的Clk,信號經過隔離芯片即為圖(3)中的信號A,此信號直接輸出作為Max1072的時鐘信號。Clk1同時也作為啟動信號的時鐘信號。利用一個16進制計數器對Clk1進行計數產生信號Sta1經過隔離芯片即為圖(3)中的信號B。Sta1高電平維持3個Clk1低電平維持13個Clk1。所以Sta1的工作頻率為1.5MHz,占空比為12.5%。由Sta1信號的下降沿啟動另外一個13進制計數器計數,產生信號經隔離芯片即為如圖(3)中所示的信號Dclk。此信號作為移位寄存器的時鐘信號,將10位串行數據依次移入寄存器。最后一個時鐘信號啟動鎖存器將串行數據轉換成為并行數據鎖存在輸出端供FPAG內部進行跟蹤控制算法使用。

        各信號相位關系

        隔離器相關文章:隔離器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 丰镇市| 江都市| 嘉禾县| 和硕县| 得荣县| 溧阳市| 孟州市| 华亭县| 海城市| 合肥市| 福泉市| 津南区| 安泽县| 石台县| 章丘市| 太康县| 万山特区| 大英县| 临桂县| 焦作市| 宜都市| 舞阳县| 南开区| 敦煌市| 茂名市| 芜湖市| 拉萨市| 高尔夫| 渝北区| 肃宁县| 沅陵县| 青龙| 三明市| 蒲江县| 浪卡子县| 连云港市| 惠州市| 鹤壁市| 湘乡市| 新野县| 揭西县|