a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > HID燈電子鎮流器控制電路和數字可尋址照明接口(DALI)的通信接口規范的FPGA實現

HID燈電子鎮流器控制電路和數字可尋址照明接口(DALI)的通信接口規范的FPGA實現

作者: 時間:2017-06-12 來源:網絡 收藏

本文引用地址:http://www.j9360.com/article/201706/352658.htm

項目背景及可行性分析

  1. 項目名稱、項目的主要內容及目前的進展情況

答:項目名稱為:控制電路和(DALI)的通信接口規范的實現。

主要內容:

(1)、通過A/D采樣的Buck電路得到電壓和電流的數字值。運用數字電路構成PID算法,對采樣數據進行處理,產生PWM脈沖信號,實現對的恒流和恒功率控制,以達到精確調光和穩定工作。

(2)、將DALI通訊協議融合到中去,達到主計算機對組群的控制和通信,以實現根據實際環境和需要對HID燈的精確調光和狀態查詢。

目前進展情況:DALI部分主程序已經完成,編譯通過,并正在仿真調試。PID部分正準備開始。

  1. 項目關鍵技術及創新點的論述;

答:(1)、用代替MCU來實現對HID電子鎮流器的控制及調光。

(2)、將DALI通訊協議融入控制芯片,方便外界對電子鎮流器的監測和控制。

(3)、用脈寬調制(PWM)技術實現對HID燈的精確調光。

  1. 技術成熟性和可靠性論述:

答:現有HID電子鎮流器的控制一般是用MCU加專用控制芯片來實現,然而,現階段絕大多數比較成熟的電子鎮流器的控制芯片都是針對熒光燈的,針對HID燈的電子鎮流器的控制芯片幾乎呈現空白狀態。但我們對HID燈電子鎮流器比較熟悉,因此我們認為我們的設計具有可實現性。

經過系內專家及相關資料論證,我們的設計具有可靠性,具體可靠性我們會在整個設計完成后,配合已設計好的外圍電路加以確認。

項目實施方案

1.方案基本功能框圖及描述

用框圖的方式并加以簡單的描述簡述實施本項目的技術方案。

以下第一幅圖是我們的DALI的系統功能框圖,所謂DALI(Digital Addressable Lighting Interface),是一種數字式可尋址照明通訊協議。

由圖可知,我們的系統采用放電型上電式復位的結構。上電后正常情況是rst=1,從而對各信號進行賦初值。為了防止正常工作期間,再次發生rst=1的誤復位操作,我們進而采用了先對rst采樣并檢測的措施:如果rst=1,執行200ms的延時,而后再次檢測rst,如還為1,則非誤觸發;否則就有可能是干擾等產生的誤觸發,對此我們不做響應。

基于主機在每次發送address 和command之前,會在IRQ引腳對我們的系統進行下降沿觸發,因此我們在復位后就等待IRQ下降沿觸發信號。如果被觸發,我們就開始接收數據,進入接收環節。

在進行對接收環節的描述之前,我們先來簡要地說明一下Dali控制器命令的數據幀結構。Dali控制器命令的數據幀結構包括一個起始位,八個地址位 (第一字節),八個數據/指令位 (第二字節),和兩個停止位。第一字節為address字節,第二字節為command字節。可以看出Dali的控制命令異常簡單,那么是否能保證不出現錯誤,并實現精確調光呢?

答案是令人放心的。因為Dali數據傳送采用以8bit為載體,若前4位為0,后4位為1,則中間的上升沿來表示1;若前4位為1,后4位為0,則中間的下降沿來表示0的傳遞信號方式。因此,對數據0和1的傳送非常穩定,不容易受到干擾。此外,每幀數據還包含了:一個上升沿作為起始位,兩個字節作為address和command,兩位連續的高電平作為結束位(在實際中應為2*8bit的高電平)。總共加起來實際上是發送了152bit的數據。

進入接收環節,我們才算是開始了真正意義上的Dali程序環節。我們采用rec_bit代表我們已經接收的實際bit數目(也即接收到的addresss和command命令中的位數),采用rec_position作為每一個bit代表的8bit中所接收的數據位。在這個環節中我們逐位接收數據,當接收過程中發生錯誤,則停止接收,并返回判斷IRQ是否觸發狀態. 如果整個接收過程(起始位,中間位,終止位)全無錯誤,則向RAM中相應字節寫入”00000001”,標志可以進入數據處理階段(handle_data)。.

數據處理可根據address 和command的不同分為: 燈調光專用指令, 普通指令, 特殊指令三種 :

由于我們接收的是一個十六位數據,并且其中前八位表示地址(8bit地址結構為YAAAAAAS),后八位表示command 和調光值,當接收到的十六位數據的最高位,即Y=0時表示為短地址,Y=1時表示為組地址,S為選擇標志位,當S=0時表示后面的是調光等級值,S=1時表示后面的是指令

燈調光專用指令(lamp_setlevel),我們是做成元件例化(component)的形式,因此它并行于其他process。它包含了所要達到的調光值,最大調光值,最小調光值等輸入值以及越限錯誤,現在的調光值(也即前次所達到的調光值),極值調光值判斷和tch0,tch1等輸出值。當所要達到的調光值為FF時,表示的是demo模式;當為00時,表示的是OFF模式,即關燈;當FE時,表示極值調光值,此時極值調光值判斷置1。其他值時,根據所要達到的調光值的不同,tch0或tch1的值也置不同的值,這兩個輸出將是PWM的輸入信號。這里具體的就不說了,請詳見程序lamp_setlevel。

普通指令,(normal command) 則分為間接功率控制命令(indirect arc power control commands),整體配置命令(general configuration),功率參數設置(arc power parameters settings),系統參數設置(system parameters settings),詢問相關狀態信息(queries related to status information),詢問相關功率參數設置(queries related to arc power parameters settings),詢問相關系統參數設置(queries related to system parameters settings) 等。

以下我們簡單介紹程序中一些二進制代碼所對應的命令,列表如下:

Indirect arc power control commands

0000 0000

OFF

0000 0001

UP

0000 0010

DOWN

0000 0011

STEP_UP

0000 0100

STEP_DOWN

0000 0101

RECALL_MAX_LEVEL

0000 0110

RECALL_MIN_LEVEL

0000 0111

STEP_DOWN_AND_OFF

0000 1000

ON_AND_STEP_UP

0001 0000

GO_TO_SCENE

General configuration commands

0010 0000

RESET

0010 0001

STORE_ACTUAL_LEVEL_IN_THE_DTR

Arc power parameters settings

0010 1010

STORE_THE_DTR_AS_MAX_LEVEL

0010 1011

STORE_THE_DTR_AS_MIN_LEVEL

0010 1100

STORE_THE_DTR_AS_SYSTEM_FALLURE_LEVEL

0010 1101

STORE_THE_DTR_AS_POWER_ON_LEVEL

0010 1110

STORE_THE_DTR_AS_FADE_TIME

0010 1111

STORE_THE_DTR_AS_FADE_RATE

0100 0000

STORE_THE_DTR_AS_SCENE

System parameters settings

0101 0000

REMOVE_FROM_SCENE

1000 0000

STORE_DTR_AS_SHORT_ADDRESS

Queries related to status information

1001 0000

QUERY_STATUS

1001 0001

QUERY_BALLAST

1001 0010

QUERY_LAMP_FALLURE

1001 0011

QUERY_POWER_ON

1001 0100

QUERY_LIMIT_ERROR

1001 0101

QUERY_RESET_STATE

1001 0110

QUERY_MISSING_SHORT_ADDRESS

1001 0111

QUERY_VERSION_NUMBER

1001 1000

QUERY_CONTENT_DTR

1001 1001

QUERY_DEVICE_TYPE

1001 1010

QUERY_PHYSICAL_MINIMUM_LEVEL

1001 1011

QUERY_POWER_FALLURE

Queries related to arc power parameters settings

1010 0000

QUERY_ACTUAL_LEVEL

1010 0001

QUERY_MAX_LEVEL

1010 0010

QUERY_MIN_LEVEL

1010 0011

QUERY_POWER_ON_LEVEL

1010 0100

QUERY_SYSTEM_FALLURE_LEVEL

1010 0101

QUERY_FADE

Queries related to system parameters settings

1011 0000

QUERY_SCENE_LEVEL

1100 0010

QUERY_RANDOM_ADDRESS_H

1100 0011

QUERY_RANDOM_ADDRESS_M

1100 0100

QUERY_RANDOM_ADDRESS_L

特殊指令是廣播發送的,所有的鎮流器都能收到,其形式為address的八位內容為”101XXXX1”或”110XXXX1”.而且每條后邊跟隨著的八位command中存儲的是對應的value(格式為:A1 00; A3 XX;A5 XX;A7 00; A9 00; AB 00;B1 HH;B3 MM;B5 LL;B7 XX;B9 XX; BB 00;BD 00 .共有十三條) 具體說來: A1 00 是終止特殊進程的指令,執行后所有特殊模式的處理進程都會被終止(以address_time=00000000的方式實現); A3 XX 將會向DTR中存儲command的八位數值”XXXXXXXX “; A5 XX是初始化指令,這一指令在接下來的100毫秒內將被再次接收到; A7 00 是產生隨機序列指令,鎮流器將根據它產生一個新的隨機地址,共有24位,分為高,中,低三個字節存放在三個存儲器中.我們采用三個時鐘(clk_main, clk_dali, clk_20)驅動的三個循環計數器計數,當需要產生隨機地址時,把當時的計數值賦給三個存儲器即可; A9 00是比較指令,鎮流器會將已存儲在search_address_h, search_address_m, search_address_l中的組合尋址地址(由主機發來的)與它的隨機地址比較,如果隨機地址小于或等于組合尋址地址,則鎮流器不被撤銷,回答YES(answer=11111111); AB 00 是撤銷指令,也即隨機地址和組合尋址地址相等的鎮流器將被撤銷(因為短地址已經確定)而不再響應比較指令; B1 HH,B3 MM,B5 LL 分別是將command中的數值存入search_address_h, search_address_m, search_address_l; B7 XX實際為1011 0111 0AAAAAA1,執行時如果鎮流器被選中,則會將收到的6位地址保存為它的短地址(被選中的條件是:1.鎮流器的隨機地址和組合尋址地址相等 或者2.燈具和鎮流器之間沒有連接,則在接收到指令BD 00后,鎮流器就會被物理選擇探測到) [注意:當B7 XX為1011 0111 01111111 時,短地址將被刪除.]; B9 XX 是確認短地址,當接收到的短地址和鎮流器自身的短地址相同則回答YES; BB 00 如果鎮流器被選中,則會向主機回發短地址(0AAAAAA1); BD 00 執行此指令時,鎮流器被置為物理選擇模式(selection=00000001),這一模式下不能進行組合尋址地址和隨機地址的比較.

接著就是發送這一塊了。前面對flag(也即dataout1信號)的02的置位,使得發送得以進行。于是,在clk_dali時鐘上升沿的觸發下,發送環節開始串行輸出。在這里,Dali數據傳送仍采用以8bit為載體,若前4位為0,后4位為1,則中間的上升沿來表示1;若前4位為1,后4位為0,則中間的下降沿來表示0的傳遞信號方式(這些在程序中有詳細的發送步驟描述,恕不多敘)。值得注意的是:

  1. answer是8bit的輸出,它的串行輸出必須一步步的執行,因此用temp_value來記錄每一位的值,并按照Dali數據傳送規則傳出。

send_position與rec_position有些不同,send_position是一直加上去的,沒有清零。這樣,在send_position=24時,開始起始位上升沿的輸出,到27bit結束,在從28到31bit是下降沿的輸出。然后從32bit起,開始數據傳遞。當到達96bit時開始結束位的16bit高電平,然后再在112bit對flag(dataout1)和send_position清零。

上圖是我們聯合主控計算機,運用DALI通訊協議,進行HID燈恒功率工作調節的PID算法框圖。

BUCK電路是電子鎮流器的逆變電路,通過對它采樣可得燈的工作電壓與電流瞬時值,我們先經過濾波網絡,LEM隔離和二階濾波電路,而后進行采樣并A/D轉換,得到十位的數字值,然后用預存儲的pref 與所得的電壓值作除法,得到電流參考值,并與所采樣的電流值比較作差,得到誤差e(k),然后通過圖示的pi算法分別進行乘法(*K)和累加()后乘法(*K),然后將兩者所得結果再作加法,所得U(k)經圖示步驟轉化為PWM脈寬變化,進而控制功率管的開關時間,減小誤差,實現負反饋,最終達到恒功率控制。

2.需要的開發平臺

實現本方案所需要的基本功能、功能、接口;

所需要的目標FPGA開發平臺,簡述為什么需要此平臺;

是否需要其它配套的開發工具;

答:開發平臺:Spartan-3E,50萬門。原因:有足夠的門,并且自帶A/D,D/A,有較高的運行速度,能夠對數據進行及時的處理。

實現本方案所需要的基本功能、功能、接口:Flash,DRAM,SRAM,USB2.0,AD,DA,LED顯示,RS-232。

其它配套的開發工具:ISE8.2i 配套的modelsim

3.方案實施過程中需要開發的模塊

在本方案中需要研制、開發的功能主要模塊,以及開發的方式

答:DALI模塊,PID模塊。

先用VHDL在ISE8.2i對DALI和PID模塊進行編程描述,并在時序仿真及布局布線后,生成電路網表,最終燒寫進FPGA實驗板中,實現電路。

4.系統最終要達到的性能指標,論述本項目最終完成時所設想達到的目標。

答:按照DALI的通訊協議進行正確的數據接受,發送和處理。對HID進行有效而精確的功率調制,并使其能夠穩定工作。

需要的其它資源

1.設計輸入輸出功能子板

答:子板功能描述:具有十位以上的A/D,D/A轉換功能,多個LED,支持JTAG數據傳送,20M以上的晶振時鐘若干,USB2.0接口。

接口說明:USB2.0接口,具有十位以上的A/D,D/A轉換接口各兩個以上。

2.測試設備:萬用表、示波器、邏輯分析儀等;250W的HID燈及其電子整流器、mosfet等電路元件

3.仿真,開發工具:ISE8.2i 和配套的modelsim。



評論


相關推薦

技術專區

關閉