舞臺(tái)燈光控制器
舞臺(tái)燈光控制器,舞臺(tái)燈光,控制器
舞臺(tái)燈光控制器 摘要 嵌入式系統(tǒng)是當(dāng)今最熱門的概念之一,它誕生于微型計(jì)算機(jī),是嵌入到對(duì) 象系統(tǒng)中,實(shí)現(xiàn)嵌入對(duì)象智能化的計(jì)算機(jī)應(yīng)用系統(tǒng)。本舞臺(tái)燈光控制器就是嵌 入式系統(tǒng)在生活中的一個(gè)小小應(yīng)用,它采用的嵌入式微控制器為 LPC2300 系列 ARM,并使用了實(shí)時(shí)操作系統(tǒng) μC/OS-II。整個(gè)系統(tǒng)分為兩部分,主控制器和燈 光節(jié)點(diǎn)??刂破骱凸?jié)點(diǎn)之間的通信使用了主流的舞臺(tái)燈光控制協(xié)議 DMX512。 控制器設(shè)有良好的人機(jī)界面,可完成對(duì)各節(jié)點(diǎn)燈光色彩的編輯,多種現(xiàn)場(chǎng)效果 的存儲(chǔ)與還原,并設(shè)有多個(gè)命令,可依據(jù)現(xiàn)場(chǎng)氣氛的不同制作繽紛的特技效果。 節(jié)點(diǎn)使用 NXP 推出的 LED 驅(qū)動(dòng)芯片 PCA9635 來驅(qū)動(dòng) 4 個(gè) RGB LED 模擬舞臺(tái) 燈光。 關(guān)鍵詞:舞臺(tái)燈光控制;DMX512 協(xié)議;嵌入式系統(tǒng);μC/OS-II 目 錄 1 緒論 ......................................................................................................................................1 1.1 舞臺(tái)燈光控制技術(shù)的發(fā)展以及 DMX512 的產(chǎn)生 .....................................................1 1.2 嵌入式系統(tǒng)概述 ...........................................................................................................2 2 硬件電路設(shè)計(jì) ......................................................................................................................4 2.1 電源部分電路 ...............................................................................................................4 2.2 TINYARM T23 工控板介紹 .........................................................................................5 2.3 ISP 跳線及核心板復(fù)位電路 ........................................................................................7 2.4 RS232 通信電路 ...........................................................................................................8 2.5 JTAG 接口電路 ............................................................................................................8 2.6 LCD 驅(qū)動(dòng)電路設(shè)計(jì) ......................................................................................................9 2.7 LED 驅(qū)動(dòng)電路設(shè)計(jì) ......................................................................................................9 2.8 RS485 通信電路 .........................................................................................................11 2.9 從機(jī)地址選擇電路 .....................................................................................................14 2.10 狀態(tài)指示燈及按鍵電路 .............................................................................................15 3 控制器軟件設(shè)計(jì) ................................................................................................................16 3.1 整體軟件分析與設(shè)計(jì) .................................................................................................16 3.2 鍵盤掃描程序分析設(shè)計(jì) .............................................................................................18 3.3 人機(jī)界面任務(wù) .............................................................................................................19 3.4 DMX512 數(shù)據(jù)發(fā)送任務(wù)設(shè)計(jì) ....................................................................................25 3.5 數(shù)據(jù)更新任務(wù) .............................................................................................................28 4 節(jié)點(diǎn)軟件設(shè)計(jì) ....................................................................................................................29 4.1 DMX512 數(shù)據(jù)包解析程序 ........................................................................................29 4.2 PCA9635 控制 ............................................................................................................30 5 設(shè)計(jì)總結(jié) ............................................................................................................................35 參考文獻(xiàn) ...................................................................................................................................36 致謝 ...........................................................................................................................................37 附錄 A 電路原理圖 .................................................................................................................38 A.1 原理圖 A.....................................................................................................................38 A.2 原理圖 B.....................................................................................................................39 1 緒論 本設(shè)計(jì)主要研究的是現(xiàn)代嵌入式技術(shù)在舞臺(tái)燈光控制系統(tǒng)中的應(yīng)用。當(dāng)今 舞臺(tái)燈光控制系統(tǒng)大都是基于 DMX512 通信協(xié)議的數(shù)字控制系統(tǒng),那么究竟什 么是 DMX512 通信協(xié)議?什么是嵌入式系統(tǒng)? 1.1 舞臺(tái)燈光控制技術(shù)的發(fā)展以及 DMX512 的產(chǎn)生 隨著電視事業(yè)的不斷發(fā)展壯大和舞臺(tái)演出市場(chǎng)的日益活躍,以及人們欣賞 水平的不斷提高,舞臺(tái)設(shè)計(jì)越來越受到專業(yè)人士的重視。而舞臺(tái)燈光作為舞臺(tái) 設(shè)計(jì)的一部分在很大程度上影響著整個(gè)現(xiàn)場(chǎng)的效果,這使得現(xiàn)代舞臺(tái)燈光系統(tǒng) 設(shè)計(jì)變得越來越復(fù)雜,舞臺(tái)燈光控制技術(shù)也應(yīng)運(yùn)而生。 回顧舞臺(tái)燈光控制技術(shù)的發(fā)展歷程,大體可以分為三個(gè)階段:原始控制技 術(shù)階段;模擬控制技術(shù)階段;數(shù)字化控制技術(shù)階段。 最初的原始控制技術(shù)時(shí)期,舞臺(tái)燈光的控制相當(dāng)麻煩。演出過程中,在舞 臺(tái)四周布滿大大小小的各式各樣的用手動(dòng)控制開關(guān),每一盞燈需要一個(gè)開關(guān), 并且還要鋪設(shè)大量的燈線,其工作量是可想而知的。受控的燈具也只有亮滅兩 種狀態(tài),根本不可能調(diào)光,提供的純粹是單純的照明。這樣的光燈控制系統(tǒng)是 很難顧及到舞臺(tái)的藝術(shù)效果的。 隨著自動(dòng)化技術(shù),電子技術(shù)和半導(dǎo)體技術(shù)的應(yīng)用,把可控硅技術(shù)應(yīng)用到漏 光器中,產(chǎn)生了硅箱,這標(biāo)志著模擬調(diào)光時(shí)期的到來。這種技術(shù)是通過模擬調(diào) 光臺(tái)(實(shí)際上是一個(gè)個(gè)電位器)輸出的 0~10V 的模擬信號(hào),控制可控硅的導(dǎo)通 角來完成燈具調(diào)光功能的,它能夠做到每一個(gè)燈具有不同亮度輸出,但這種技 術(shù)需要一個(gè)推桿對(duì)應(yīng)一個(gè)調(diào)光回路,同時(shí)也需要連接一條信號(hào)線??梢韵胂笠?下,如果一臺(tái)演出需要控制 100 個(gè)調(diào)光回路,就要有一臺(tái)具有 100 個(gè)電位器推 子的調(diào)光臺(tái),同時(shí)還需要連接 100 條信號(hào)控制線,這樣的調(diào)光系統(tǒng)的組建和控 制都是相當(dāng)麻煩的事。這種模擬調(diào)光方式只能適應(yīng)于一些小型的演出活動(dòng)。 隨著時(shí)間的推移,電視事業(yè)不斷壯大,舞臺(tái)演出市場(chǎng)日益活躍,這對(duì)舞臺(tái) 燈光控制系統(tǒng)提出也更高的要求。到了 20 世紀(jì) 80 年代數(shù)字化技術(shù)的應(yīng)用和普 及產(chǎn)生了新一代的燈光控制技術(shù),即 DMX512 數(shù)字信號(hào)控制技術(shù)。DMX512 數(shù) 字信號(hào)協(xié)議于 1986 年,首先由美國(guó)劇院研究機(jī)構(gòu)(USITT)提出,后來經(jīng)過進(jìn) 一步的改進(jìn),于 1990 年正式公布。它利用電腦系統(tǒng)來完成整個(gè)燈光的控制,通 過一條信號(hào)線就可同時(shí)輸出多路串行數(shù)字信號(hào),可以任意設(shè)置推桿與燈具之間 的對(duì)應(yīng)關(guān)系。這種技術(shù)大大簡(jiǎn)化了燈光的控制方式,為大規(guī)模舞臺(tái)燈光控制提 供了可能。從此,這種數(shù)字控制技術(shù)得到了廣泛應(yīng)用。 2 硬件電路設(shè)計(jì) 為簡(jiǎn)化設(shè)計(jì)、節(jié)約成本,對(duì)控制器電路和節(jié)點(diǎn)電路進(jìn)行了綜合,使得控制 器和節(jié)點(diǎn)采用的是同樣的電路,以下對(duì)電路中的各模塊進(jìn)行分析介紹。 2.1 電源部分電路 本設(shè)計(jì)共需要三組電源輸入:5V 的系統(tǒng)電源、3.3V 的模擬電源、3.3V 的 數(shù)字電源。 系統(tǒng)板輸入電壓為 9∨直流,所需系統(tǒng)電壓為 5∨,且?guī)в幸壕н@樣的大功率器 件,若選用普通的線性穩(wěn)壓器件,則電源效率最高僅為 55.6%,其發(fā)熱量可想 而知。故 5∨系統(tǒng)電壓不能采用線性穩(wěn)壓器件。LM2575 是一種高效率的開關(guān)穩(wěn) 壓器件,資料顯示當(dāng)其輸入電壓為 12∨,輸出電流為 1A 時(shí),其效率可高達(dá) 77%, 但開關(guān)電源也有開關(guān)電源的缺點(diǎn),其輸出紋波較線性穩(wěn)壓器件大。彌補(bǔ)這一缺 點(diǎn)最好的方法是再在后面加一級(jí)線性穩(wěn)壓。 核心板 TinyARM T23 的供電由低壓差模擬穩(wěn)壓器件 SPX1117M3-3.3 供給, 雖然效率不高但 TinyARM T23 的功率小,實(shí)際運(yùn)行過程中 SPX1117 基本保持 室溫。 2.2 ISP 跳線及核心板復(fù)位電路 為使調(diào)試過程更加順利,在底板上添加了 ISP 跳線選擇與核心板復(fù)位電路, 如 圖 2.1 所示。 圖 2.1 ISP 選擇電路與核心板復(fù)位電路 當(dāng) LPC2300 芯片加密鎖死時(shí),通過 ISP 對(duì)芯片內(nèi)部 Flash 進(jìn)行整片擦除, 可解除芯片的鎖死狀態(tài)。 圖中的 U2 為 ESD 保護(hù)芯片,可屏蔽人體靜電對(duì)核心芯片帶來的危害。 由于 LPC2300 系列芯片自來掉電復(fù)位功能,故可省略常用復(fù)位電路中與 R4 并聯(lián)的放電二極管。 2.3 RS232 通信電路 本設(shè)計(jì)中的 RS232 電路主要有兩個(gè)用途,一是用于 ISP 下載,二是用于與 上位計(jì)算機(jī)通信,將調(diào)光信息反饋給上位機(jī)。 RS232 通信電路如 圖 2.2 所示。 圖 2.2 RS232 通信電路 2.4 JTAG 接口電路 JTAG 為一種硬件仿真調(diào)試,需要配合 ADS1.2 集成開發(fā)環(huán)境、EasyJTAG- H 仿真器、H-JTAG、H-FLASHER 一起使用。其接口電路如 圖 2.3 所示。 圖 2.3 JTAG 接口電路 2.5 LCD 驅(qū)動(dòng)電路設(shè)計(jì) 本設(shè)計(jì)選用液晶的型號(hào)為 TG12864E-02B,它采用的內(nèi)部驅(qū)器為 ST7920。ST7920 的特點(diǎn)在于它包括 64×16 位元字元顯示 RAM(DDRAM 最多 可顯示 16 字元×4 行)及 64×256 位元繪圖顯示 RAM(GDRAM) ,可實(shí)現(xiàn)圖 形、文字的混合顯示。 液晶驅(qū)動(dòng)電路如 Error! Reference source not found.所示。圖中三極管 8050 用于控制液晶的背光。 2.6 LED 驅(qū)動(dòng)電路設(shè)計(jì) 2.6.1 LED 驅(qū)動(dòng)器 PCA9635 PCA9635 是 NXP 公司生產(chǎn)的一款 I2C 總線 LED 驅(qū)動(dòng)器,共有 16 路輸出, 輸出電流可達(dá)到 5mA,吸入電流可達(dá)到 25mA,可直接驅(qū)動(dòng) LED。適應(yīng)于作為 RGB LED 或 RGBA LED 的調(diào)色驅(qū)動(dòng)。其特性如下: (1) 16 路 LED 輸出,每一路輸出均可配置為:開,關(guān),獨(dú)立亮度控制, 獨(dú)立亮度+整體閃爍 /明暗控制; (2) 輸出可編程為推挽或開漏結(jié)構(gòu); (3) 1MHz 快速 I2C 總線,且 SDA 輸出電流可高達(dá) 30mA; (4) 256 級(jí)獨(dú)立亮度控制(97 K Hz PWM) ; (5) 256 級(jí)集體亮度控制(190 Hz PWM) ; (6) 256 級(jí)集體閃爍控制,閃爍頻率可在 24Hz 到 10.73S 之間調(diào)節(jié); (7) 7 個(gè)地址引腳使得在同一個(gè) I2C 總線上可連接 126 個(gè) PCA9635; (8) 內(nèi)部自帶 25 M Hz 晶振,無需外部元件; (9) 可通過 I2C 總線對(duì) PCA9635 軟復(fù)位; (10) 上電復(fù)位; (11) SDA/SCL 輸入噪聲過濾; (12) 工作電壓范圍:2.3∨到 5.5∨; (13) 工作溫度:-40 oC 到+85 oC; 2.6.2 PCA9635 驅(qū)動(dòng)電路 PCA9635 驅(qū)動(dòng)電路如 圖 2.4 所示。 圖 2.4 PCA9635 驅(qū)動(dòng)電路 由于 I2C 總路線是開漏輸出的,所以在使用 I2C 接口的時(shí)候,需要在外部 連接上拉電阻,如上圖中 R60、R61。由于本設(shè)計(jì)中各節(jié)點(diǎn)只連接一個(gè) PCA9635,故可將 PCA9635 地址固定。為適應(yīng)大電流燈具的要求,在 PCA9635 的外部仍添加了驅(qū)動(dòng)電路,如 圖 2.5 所示。 圖 2.5 LED 驅(qū)動(dòng)電路 圖中電阻阻值的確定由具體的 LED 參數(shù)決定。如 圖 2.6LED 壓降測(cè)試電路 可粗略測(cè)得紅燈的壓降為 1.82∨,綠燈的壓降為 2.5∨,藍(lán)燈的壓降為 2.9∨。 圖 2.6LED 壓降測(cè)試電路 下面以藍(lán)色 LED 為例計(jì)算圖 2.7 中發(fā)射極電阻 R88 與基極電阻 R56 的值。 為使藍(lán)色 LED 點(diǎn)亮,三極管 8550 的射極電壓 Ue 應(yīng)在 2.9∨以上,假設(shè) Ue 為 2.9∨,則流過 R88 的電流: (2-1)8923R.Ie?? 若取 Ie 為 4 mA ,則 R88 需小于 100Ω。從 8550 的資料中可以查得其工作 在放大區(qū)時(shí)放大倍數(shù) β 約為 100,則可得出三極管基極電流 (2-2)mAIeb04.?? 則 R56 的取值 (2-3)???105.04.7925643R 經(jīng)實(shí)踐驗(yàn)證,R88 取 100Ω,R56 取 47KΩ 時(shí),藍(lán)燈可得到較好的效果。 同樣的過程,可得到紅、綠燈的基極與發(fā)射極電阻的取值。 2.7 RS485 通信電路 DMX512 協(xié)議中規(guī)定其通信接口采 EIA-485 標(biāo)準(zhǔn)。 2.7.1 RS-232、RS-422 、 RS485 協(xié)議簡(jiǎn)介 RS-232、RS-422 與 RS-485 都是串行數(shù)據(jù)接口標(biāo)準(zhǔn),最初都是由電子工業(yè) 協(xié)會(huì)(EIA)制訂并發(fā)布的,RS-232 在 1962 年發(fā)布,命名為 EIA-232-E,作為 工業(yè)標(biāo)準(zhǔn),以保證不同廠家產(chǎn)品之間的兼容。RS-422 由 RS-232 發(fā)展而來,它 是為彌補(bǔ) RS-232 之不足而提出的。為改進(jìn) RS-232 通信距離短、速率低的缺點(diǎn), RS-422 定義了一種平衡通信接口,將傳輸速率提高到 10Mb/s,傳輸距離延長(zhǎng) 到 4000 英尺(速率低于 100kb/s 時(shí)) ,并允許在一條平衡總線上連接最多 10 個(gè) 接收器。RS-422 是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡傳輸規(guī)范,被命名為 TIA/EIA-422-A 標(biāo)準(zhǔn)。為擴(kuò)展應(yīng)用范圍, EIA 又于 1983 年在 RS-422 基礎(chǔ)上制 定了 RS-485 標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一 條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范 圍,后命名為 TIA/EIA-485-A 標(biāo)準(zhǔn)。由于 EIA 提出的建議標(biāo)準(zhǔn)都是以“RS”作 為前綴,所以在通訊工業(yè)領(lǐng)域,仍然習(xí)慣將上述標(biāo)準(zhǔn)以 RS 作前綴稱謂。 RS-232、RS-422 與 RS-485 標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,而不涉及 接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議。EIA-485 通信標(biāo)準(zhǔn)的性能如所示: 2.7.2 RS-485 電路分析 RS-485 接口電路如 圖 2.8 所示。 圖 2.8 RS485 接口電路 圖 2.8 中 U9 為 ESD 保護(hù)二極管,能有效保護(hù) SP485R 芯片。R101 為通信 阻抗匹配電阻,減少由于阻抗不匹配而引起的反射、噪聲,能有效提高 RS-485 通信的可靠性。 圖 2.8 中 SIN 為 SP485R 通信接口方向控制線,當(dāng) SIN 為高電平時(shí), SP485R 配置為輸出,為低電平時(shí),SP485R 配置為輸入。為解決上電時(shí) RS-485 總線沖突問題,需添加上電抑制電路,如 圖 2.9 所示。上電時(shí) SIN 輸出低電平, SP485R 配置為輸入。由 EWB 仿真可得到抑制時(shí)間 t 約為 2S。 圖 2.9 SP485 上電抑制電路 圖 2.8 中 RRXD、TTXD 為 SP485R 的數(shù)據(jù)讀寫信號(hào)線,為隔離外部噪聲, 保護(hù)控制芯片,在 SP485R 與核心板之間加入了隔離電路,如 Error! Reference source not found.所示。 圖中使用到的 ADUM1201 為 ADI 公司推出的一款磁隔離芯片,它采用的 icoupler 技術(shù)是基于芯片尺寸的變壓器。 ADUM1201 所隔離的兩端有各自的電 源和參考地,電源電壓為 2.7-5.5V。相對(duì)于普通的光隔離, ADUM1201 具有 如下特點(diǎn): (1) 速度更高:最高速率可以達(dá)到 25mbps; (2) 功耗更低:功耗低于同數(shù)據(jù)傳輸率時(shí)傳統(tǒng)光電隔離器的 1/10,最小 工作電流為 0.8mA; (3) 性能更高:時(shí)序精度,瞬態(tài)共模抑制力,通道間匹配程度均優(yōu)于傳 統(tǒng)光電隔離器; (4) 體積更小:集成度更高,印制電路板(pcb)面積為傳統(tǒng)光電隔離器 的 40%; (5) 價(jià)格更低:每通道成本為傳統(tǒng)光電隔離器的 40%; (6) 應(yīng)用更靈活:與傳統(tǒng)光電耦合器不同的是,多通道 icoupler 數(shù)字隔離 器能在同一芯片內(nèi)提供正向和反向通信通道。 RS-485 通信電源電路如 圖 2.10 所示。采用的是致遠(yuǎn)電子推出一款高精度 DC-DC 電源模塊。 圖 2.10 RS-485 電源電路 2.8 從機(jī)地址選擇電路 因從機(jī)無需接液晶,所以將從機(jī)地址選擇線與液晶部分信號(hào)線復(fù)用。各地 址線均已連接上拉電阻。從機(jī)地址設(shè)置范圍 0 x00~0 x1FF,電路如 圖 2.11 所示, S1 為拔碼開關(guān)。 圖 2.11 從機(jī)地址選擇電路 注:用作主機(jī)時(shí)需斷開 J23。 2.9 狀態(tài)指示燈及按鍵電路 本設(shè)計(jì)共設(shè)置了 4 個(gè)狀態(tài)指示燈和 6 個(gè)按鍵。電路如所示。 圖 2.12 狀態(tài)指示燈及按鍵電路 3 控制器軟件設(shè)計(jì) 3.1 整體軟件分析與設(shè)計(jì) 整個(gè)系統(tǒng)分為主控制器和節(jié)點(diǎn)兩部分。由設(shè)計(jì)要求分析可知,主控制器需 要完成人機(jī)交流與 DMX512 數(shù)據(jù)的發(fā)送,節(jié)點(diǎn)需要完成 DMX512 數(shù)據(jù)的接收 與舞臺(tái)燈光的控制。控制器和節(jié)點(diǎn)所要完成的每一個(gè)任務(wù)都對(duì)實(shí)時(shí)性提出了很 高的要求。DMX512 的協(xié)議規(guī)定,完整的 DMX512 數(shù)據(jù)包包含一個(gè)中斷標(biāo)識(shí)位, 一個(gè)中斷后標(biāo)識(shí)位,一個(gè)起始數(shù)據(jù)和 512 個(gè)調(diào)光數(shù)據(jù),其數(shù)據(jù)發(fā)送的波特率為 250Kbps,計(jì)算可得整個(gè)數(shù)據(jù)包的發(fā)送時(shí)間長(zhǎng)達(dá) 0.025 鈔。對(duì)于主控制器來說, 若在系統(tǒng)設(shè)計(jì)時(shí)使用前后臺(tái)系統(tǒng),那么控制器的人機(jī)交流將難以得到及時(shí)的響 應(yīng),為此主控制操作系統(tǒng)宜采用實(shí)時(shí)操作系統(tǒng)。對(duì)于節(jié)點(diǎn)來說,DMX512 數(shù)據(jù) 的接收任務(wù)可放在 UART 中斷中處理,不會(huì)影響到控制的實(shí)時(shí)性,這樣節(jié)點(diǎn)即 可采用前后臺(tái)系統(tǒng)也可采用實(shí)時(shí)操作系統(tǒng)。 μC/OS-II 一個(gè)源碼公開、可移植、可固化、可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng), 且在高校教學(xué)使用是不需要申請(qǐng)?jiān)S可證的。因此,主控制器的實(shí)時(shí)操作系統(tǒng)選用 μC/OS- II。 3.1.1 控制器軟件設(shè)計(jì)系統(tǒng)框圖 分析設(shè)計(jì)要求,控制器共需要完成兩件事情:人機(jī)交流;數(shù)據(jù)發(fā)送。人機(jī) 交流又可以劃分為三個(gè)任務(wù):鍵盤掃描;人機(jī)界面;數(shù)據(jù)更新。綜上所述,控 制器共設(shè)計(jì)四個(gè)任務(wù),其系統(tǒng)框圖如 圖 3.1 所示。 圖 3.1 控制器系統(tǒng)框圖 3.2 鍵盤掃描程序分析設(shè)計(jì) 常用的鍵值采集方案有兩種:中斷服務(wù);軟件查詢。 3.2.1 中斷服務(wù) LPC2300 系列 ARM 的 P0 和 P2 端口的每一個(gè)引腳都可以配置為上升沿中 斷或者下降沿中斷。P0 和 P2 端口的中斷通道與外部中斷 3(EINT3 )相同。 在硬件設(shè)計(jì)中,按鍵 0~6 分別與 P0.9~P0.17 相連,因此,只需將 P0.9~P0.17 引腳配置為下降沿中斷,在中斷的服務(wù)程序中即可完成按鍵的采集 任務(wù)。但由于在硬件設(shè)計(jì)時(shí),按鍵沒有添加去抖電容,按鍵去抖的任務(wù)就需要 由軟件來完成,中斷服務(wù)程序中應(yīng)添加一個(gè)大約 10 毫秒的沿時(shí)程序。但 μC/OS-II 規(guī)定在中斷服務(wù)程序中,不能使用系統(tǒng)延時(shí)函數(shù) OSTimeDly( ),這樣 就帶來了大量系統(tǒng)資源的浪費(fèi)。一旦有按鍵按下,系統(tǒng)中的其它任務(wù)都會(huì)停下 來,包括數(shù)據(jù)發(fā)送任務(wù)。這樣的情況對(duì)于保證 DMX512 數(shù)據(jù)的完整性是非常不 利的。所以按鍵的采集不能采用中斷的方式。 3.2.2 軟件查詢 按鍵的軟件查詢程序流程圖如 圖 3.2 示。 圖 3.2 鍵盤掃描流程圖 在 μC/OS-II 操作系統(tǒng)中只能使用間隔查詢方式,否則比查詢?nèi)蝿?wù)優(yōu)先級(jí)低 的任務(wù)將得不到運(yùn)行的機(jī)會(huì)。從程序中可以看到,每次查詢都會(huì)間隔一個(gè) OSTimeDly(3),即每隔 15mS 查詢一次,雖然查詢鍵值浪費(fèi)了一定的系統(tǒng)資源, 但對(duì)于運(yùn)行在 48MHz 系統(tǒng)時(shí)鐘下具有三級(jí)流水線的 32 位處理器來說,這樣的 查詢過程是微不足道的。從 AXD 中可以看到到整個(gè)查詢過程只用了 5 條匯編 指令。 在得到鍵值后,調(diào)用 OSMboxPost( )函數(shù),將鍵值以消息郵箱的形式發(fā)送給 人機(jī)界面任務(wù),待人機(jī)界面任務(wù)做進(jìn)一步的處理。然后再次調(diào)用系統(tǒng)延時(shí)函數(shù) OSTimeDly(40)延時(shí) 0.2 秒,作為兩次按鍵的最小間隔時(shí)間。 3.2.3 調(diào)光功能的實(shí)現(xiàn) 受液晶尺寸限制,調(diào)光功能菜單被分為兩級(jí),第一級(jí)完成節(jié)點(diǎn) node 和燈號(hào) nightnum 的選擇,第二級(jí)完成對(duì)應(yīng)燈號(hào) Red、Green、Blue 三路數(shù)據(jù)的修改。 在這里設(shè)置了三個(gè)重要變量:changedsig、changedadr、changeddata。 (7) changedsig:數(shù)據(jù)改變標(biāo)致; (8) changedadr:改變數(shù)據(jù)的地址,即全局變量 DMX_512 數(shù)據(jù)的下標(biāo); (9) changeddata:改變后的新數(shù)據(jù)。 為了簡(jiǎn)化設(shè)計(jì),將對(duì)這三個(gè)數(shù)據(jù)的修改程序直接融入到了液晶界面中。對(duì) 調(diào)光數(shù)據(jù)的修改總是會(huì)伴隨著界面的變化的,所以這樣的融入相對(duì)來說比較省 事。 當(dāng)有調(diào)光數(shù)據(jù)的修改時(shí),changedsig 標(biāo)致置 1,并將對(duì)應(yīng)的修改值付給 changeddata, changedadr 的值由三個(gè)因素決定:節(jié)點(diǎn)號(hào) node;燈號(hào) nightnum; 頁(yè)內(nèi)標(biāo)致 page5sig。具體計(jì)算方法如 程序清單 3.1 所示。 程序清單 3.1 Xrate ++; /*修改紅色數(shù)據(jù) */ changedsig = 1; /*置數(shù)據(jù)改變標(biāo)致 */ changeddata = (Xrate-1)<>1]; /* 計(jì)算修改地址 */ 其中 Xrate 為調(diào)光數(shù)據(jù),取值范圍 1~16。X 可代表 R、G、B。函數(shù) GetNodeAdr 根據(jù)節(jié)點(diǎn)號(hào) node 從 TinyARM T23 自帶的 EEPROM 中讀地址設(shè)置 信息,返回值為對(duì)應(yīng)的從機(jī)地址。數(shù)組 ADRMAP 是根據(jù)從機(jī)的硬件連接方式 而預(yù)設(shè)的地址偏移量。 液晶界面更新完成后,依據(jù) changed 系列變量的值,即可完成對(duì) DMX_512 數(shù)據(jù)的修改。對(duì)調(diào)光數(shù)據(jù)的修改是實(shí)時(shí)顯示的,調(diào)光效果及時(shí)的反饋給用戶, 方便用戶做進(jìn)一步的修正。 3.2.4 效果選擇功能的實(shí)現(xiàn) 本設(shè)計(jì)中涉及到兩類燈光效果。一類效果控制器并不對(duì)調(diào)光數(shù)據(jù)做修改, 只發(fā)出命令字,而由節(jié)點(diǎn)接收到命令字后做出相應(yīng)的變換。效果編號(hào) 1~5 都是 這種類型。而另一種效果是由控制器直接對(duì)光路數(shù)據(jù)進(jìn)行修改,節(jié)點(diǎn)不接收命 令,不做變換,只刷新光路數(shù)據(jù)。效果編號(hào) 6 就屬于這種類型。 在做出具體的效果變換之前,需要先完成效果編號(hào) vision、效果速度 visionspeed 的設(shè)置。效果的變化不是實(shí)時(shí)的,當(dāng)按下確認(rèn)鍵后,效果才會(huì)更新。 效果編號(hào) vision 的取值范圍為 0~6。0 代表無效果, 1 和 2 為兩種樣式不同的閃 爍效果,3 為漸明效果,4 為漸暗效果,5 為魔術(shù)色效果,6 為隨機(jī)數(shù)效果。 程序清單 3.2 為在效果做出變換時(shí),對(duì) changedsig、 changeddata、 chagedadr 做出的相應(yīng)設(shè)置。 程序清單 3.2 changedadr = 0 x8000; /*將 changedadr 最高位置 1 作為效 果標(biāo)致*/ if(vision == 6){ OSSemPost(SemRand); /*隨機(jī)數(shù)效果開關(guān)*/ } changedsig = 4; /*四個(gè)節(jié)點(diǎn)均需修改命令字*/ changeddata = vision|(((visionspeed<<1)-1)<<3); 效果 6,隨機(jī)數(shù)效果是完全由控制器來完成的,控制器產(chǎn)生隨機(jī)數(shù),并修 改相應(yīng)的 DMX_512 數(shù)據(jù)。程序中用信號(hào)量 SemRand 作為開關(guān)量。第一次選擇 效果 6 為開,第二次選擇效果 6 為關(guān)。 3.2.5 現(xiàn)場(chǎng)功能的實(shí)現(xiàn)及其方案分析 現(xiàn)場(chǎng)功能的實(shí)現(xiàn)依賴于現(xiàn)場(chǎng)數(shù)據(jù)的存儲(chǔ),本設(shè)計(jì)所使用的 TinyARM T23 核 心芯片為 LPC2366,核心板上配有 FM24C02(EEPROM) ,數(shù)據(jù)的存儲(chǔ)有兩種 方案: (10) 使用 LPC2300 系列的 IAP(在應(yīng)用編程)功能,將現(xiàn)場(chǎng)數(shù)據(jù)存至 LPC2366 的 Flash 中; (11) 使用 FM24C02。 首先分析第一種方案,LPC2366 共有 256KB 的 Flash 存儲(chǔ)空間,被劃分為 14 個(gè)扇區(qū),其分區(qū)情況如 表 3.1 所示。 表 3.1LPC2366 扇區(qū)分布情況 扇區(qū)號(hào) 扇區(qū)規(guī)格 (KB) 地址范圍 0 4 0 x0000 0000 – 0 x0000 0FFF 1 4 0 x0000 1000 – 0 x0000 1FFF 2 4 0 x0000 2000 – 0 x0000 2FFF 3 4 0 x0000 3000 – 0 x0000 3FFF 4 4 0 x0000 4000 – 0 x0000 4FFF 5 4 0 x0000 5000 – 0 x0000 5FFF 6 4 0 x0000 6000 – 0 x0000 6FFF 7 4 0 x0000 7000 – 0 x0000 7FFF 8 32 0 x0000 8000 – 0 x0000 FFFF 9 32 0 x0001 0000 – 0 x0001 7FFF 10 32 0 x0001 8000 – 0 x0001 FFFF 11 32 0 x0002 0000 – 0 x0002 7FFF 12 32 0 x0002 8000 – 0 x0002 FFFF 13 32 0 x0003 0000 – 0 x0003 7FFF 14 32 0 x0003 8000 – 0 x0003 FFFF 因?yàn)樵诶?IAP 向片內(nèi) Flash 存儲(chǔ)器寫入數(shù)據(jù)時(shí),需要先對(duì)數(shù)據(jù)進(jìn)行擦寫, 因此數(shù)據(jù)區(qū)和代碼區(qū)不能重合,否則有可能造成系統(tǒng)崩潰。倘若用戶程序代碼 加上操作系統(tǒng)代碼在 64KB 以內(nèi)(本系統(tǒng)代碼不會(huì)超過 64K) ,那么可以使用的 Flash 空間高達(dá) 192KB,如果現(xiàn)場(chǎng)數(shù)據(jù)完全存儲(chǔ)(512 字節(jié)) ,那么可存儲(chǔ)的現(xiàn) 場(chǎng)數(shù)多達(dá) 384 個(gè)。但是,F(xiàn)lash 的使用次數(shù)是有限的,對(duì)于在舞臺(tái)應(yīng)用來說,現(xiàn) 場(chǎng)數(shù)據(jù)的存儲(chǔ)比較頻繁,所以使用片內(nèi) Flash 并不明智。且如果某一現(xiàn)場(chǎng)數(shù)據(jù) 需要修改,則同一扇區(qū)中所有現(xiàn)場(chǎng)數(shù)據(jù)將會(huì)被擦除(Flash 的擦除是基于扇區(qū)的) 。 分析第二種方案,使用 FM24C02 存儲(chǔ)現(xiàn)場(chǎng),F(xiàn)M24C02 為 256B 的串行 EEPROM,雖然 EEPROM 的使用壽命夠長(zhǎng),但 256B 的空間很少,如果完全存 儲(chǔ),連一個(gè)場(chǎng)景也存儲(chǔ)不了。要使用它,就必需對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行一些取舍,只 存儲(chǔ) DMX512 中使用到的通道數(shù)據(jù)。如果設(shè)計(jì)的是 4 個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)需要 13 字節(jié)的數(shù)據(jù),那么一個(gè)現(xiàn)場(chǎng)需要 52 個(gè)字節(jié)。256 個(gè)字節(jié)的 FM24C02 能存儲(chǔ) 4 個(gè)現(xiàn)場(chǎng)。雖然可存儲(chǔ)的現(xiàn)場(chǎng)很少,但用于演示還是夠了。所以最終我采用了方 案二。 3.2.6 地址設(shè)置 地址設(shè)置的目的是為了讓控制器知道自己應(yīng)該修改的是 DMX512 中的哪個(gè) 位置的數(shù)據(jù),建立一個(gè)節(jié)點(diǎn)號(hào)與節(jié)點(diǎn)地址之間的映射關(guān)系,并且還要能實(shí)現(xiàn)設(shè) 置信息的存儲(chǔ)。地址的取值范圍為 0~511,一個(gè)地址需要占用兩個(gè)字節(jié),如果 設(shè)計(jì)的是四個(gè)節(jié)點(diǎn),那么所有地址設(shè)置信息的存儲(chǔ)將占用 8 個(gè)字節(jié)。FM24C02 在進(jìn)行現(xiàn)場(chǎng)存儲(chǔ)之后,還剩余一些沒有使用的字節(jié),剛好可以用來作為地址設(shè) 置的存儲(chǔ)空間。 3.2.7 DMX512 協(xié)議信號(hào)格式 DMX512 信號(hào)時(shí)序圖如 Error! Reference source not found.所示。 DMX512 信號(hào)的數(shù)據(jù)格式分為以下幾個(gè)部分: (12) IDLE( 空閑的) or NO DMX situation :當(dāng)沒有 DMX 數(shù)據(jù)包輸出時(shí), 將是一個(gè)高電平信號(hào)。 (13) BREAK:DMX 數(shù)據(jù)包的開始是一個(gè)至少 88 微秒的低電平輸出的預(yù) 報(bào)頭。根據(jù)經(jīng)驗(yàn),人們發(fā)現(xiàn)一個(gè)大于 88 微秒的 BREAK 將更有利于發(fā)送和 接收,一般在設(shè)計(jì)時(shí)將它設(shè)計(jì)為 120 微秒。 (14) MARK AFTER BREAK (MAB)書館:MAB 是 BREAK 后是一個(gè) 8 微 秒的高電平或 2 個(gè)脈沖。舊版本的 DMX 標(biāo)準(zhǔn)為 4 微秒或 1 個(gè)脈沖,在連 接老的控制臺(tái)時(shí)會(huì)產(chǎn)生數(shù)據(jù)的混亂。MAB 也可設(shè)置為 12 微秒。 (15) START CODE (SC) 起始碼:SC 是數(shù)據(jù)流開始的通道數(shù)據(jù),它具有 與通道數(shù)據(jù)相同的格式,一般為 11 個(gè)脈沖或 44 微秒。 (16) MARK TIME BETWEEN FRAMES (MTBF) :在每個(gè)通道起始位前 可以有 MTBF,為高電平,時(shí)間小于 1 秒。 (17) MARK TIME BETWEEN PACKETS (MTBP ) :在有效數(shù)據(jù)發(fā)送完畢 后發(fā)送高電平,時(shí)間小于 1 秒。 DMX512 數(shù)字信號(hào)由起始碼和 512 個(gè)數(shù)據(jù)幀組成。按串行方式發(fā)送和接收 數(shù)據(jù),數(shù)據(jù)幀內(nèi)包含一個(gè)開始位(低電平),8 位數(shù)據(jù)和兩個(gè)停止位(高電平),沒 有奇偶校驗(yàn),也就是說一個(gè)數(shù)據(jù)幀有 11 個(gè)位元。每一位的寬度是 4us,發(fā)送一 個(gè)幀需要 44us 的時(shí)間。由于每一位的時(shí)間是 4us,所以 DMX512 信號(hào)的波特 率為 250kb/s 。關(guān)于 DMX512 各部分的時(shí)間規(guī)定如 表 3.2 所示。 表 3.2 DMX512(1990)時(shí)間規(guī)定表 名稱 最小值 標(biāo)準(zhǔn)值 最大值 單位 中斷(Break) 88 88 1000000 μS 中斷后標(biāo)識(shí)(MAB ) 8 μS 光路信息結(jié)構(gòu)寬度(Frame Widch) 44 μS 開始位(Start Bit) 4 μS 停止位(Stop Bit) 8 μS 光路信息碼間隔標(biāo)識(shí)(MTBF) 0 沒有規(guī)定 1000000 μS 數(shù)據(jù)包間隔標(biāo)識(shí)(MTBP) 0 沒有規(guī)定 1000000 μS 3.2.8 DMX512 格式的實(shí)現(xiàn)與方案比較 DMX512 協(xié)議的實(shí)現(xiàn)比較簡(jiǎn)單,關(guān)鍵在于如何產(chǎn)生數(shù)據(jù)包前面 88 μS 的 Break(低電平)和 8μS 的 MAB(高電平) 。關(guān)于數(shù)據(jù)幀,只需將 UART 的波 特率設(shè)置為 250Kbps,發(fā)送數(shù)據(jù)的格式配置為 8 位數(shù)據(jù)位,2 位停止位,無奇 偶效檢位即可。 Break 與 MAB 的實(shí)現(xiàn)有兩種方案。方案一:讓對(duì)應(yīng)的 I/O 口在輸出模式與 TXD 模式之間不停的轉(zhuǎn)換,配合定時(shí)器產(chǎn)生所需高低電平。方案二:對(duì)于 LPC2300 系列 ARM 還有另一種不需要模式轉(zhuǎn)換的方案,LPC2300 系列 ARM 的 UART 口在空閑時(shí) TXD 引腳默認(rèn)為高電平,當(dāng)配置線控制寄存器 UnLCR[6] 為 1 時(shí)將使能發(fā)送間隔,TXD 引腳會(huì)被強(qiáng)制為低電平。 故采用方案二。有了發(fā)送間隔功能后,DMX512 格式的實(shí)現(xiàn)只需要一個(gè)合 適的定時(shí)器就可以完成了。88μS 和 8μS 的定時(shí)均可由 Timer1 產(chǎn)生。 DMX512 發(fā)送任務(wù)的流程圖如 圖 3.3 所示。 圖 3.3 DMX512 數(shù)據(jù)發(fā)送程序流程圖 在 UART2 的初始化時(shí)使能發(fā)送 FIFO,發(fā)送數(shù)據(jù)時(shí)連續(xù)發(fā)送 8 字節(jié)數(shù)據(jù), 然后等待發(fā)送中斷標(biāo)致,這樣有利于提高系統(tǒng)資源利用率。 使用邏輯分析儀 LA1016 采集到的 UART2 TXD 輸出波形如 Error! Reference source not found.所示,從圖中可以看出,時(shí)序完全符合 DMX512 協(xié) 議的要求。 3.3 數(shù)據(jù)更新任務(wù) 從前面章節(jié)的介紹可以看出,單字節(jié)的數(shù)據(jù)更新已經(jīng)由人機(jī)界面任務(wù)完成 了,這里數(shù)據(jù)更新任務(wù)所要完成的是使用隨機(jī)數(shù)效果“6”時(shí)所需要的大量數(shù)據(jù) 的更新。當(dāng)數(shù)據(jù)更新任務(wù)在接收到效果“6”開啟信號(hào)后,調(diào)用 rand 函數(shù)得到 隨機(jī)數(shù),然后對(duì) DMX_512 中的對(duì)應(yīng)數(shù)據(jù)進(jìn)行更新。 4 節(jié)點(diǎn)軟件設(shè)計(jì) 節(jié)點(diǎn)所要完成的任務(wù)是解析控制器傳來的 DMX512 數(shù)據(jù)包,提取出屬于自 己的部分,依據(jù)數(shù)據(jù)內(nèi)容對(duì) PCA9635 進(jìn)行相應(yīng)的控制。節(jié)點(diǎn)軟件采用前后臺(tái)系 統(tǒng)。 4.1 DMX512 數(shù)據(jù)包解析程序 4.1.1 如何解析 DMX512 從圖 4.1 DMX512 協(xié)議的時(shí)序圖可以看出,解析 DMX512 的關(guān)鍵在于如何 識(shí)別 DMX512 的起始標(biāo)致 Break 。 Break 是一個(gè)至少 88μS 的低電平,也許我們可以采用下降沿中斷與定時(shí)器的 配合來識(shí)別 Break,但這樣過于麻煩,對(duì)于 LPC2300 系列 ARM 來說,有一個(gè) 更簡(jiǎn)便的方法可以實(shí)現(xiàn)這一點(diǎn)。線狀態(tài)寄存器 UnLSR 的第 3 位為幀錯(cuò)誤標(biāo)致位。 在接收到 RXD 上的下降沿后,UART 會(huì)按照設(shè)定的波特率采集 RXD 引腳上的 電平,當(dāng)發(fā)現(xiàn)停止位(下降沿以后的第 36μS 至 44μS 之間)為低平時(shí),幀錯(cuò) 誤標(biāo)致將置位,若已經(jīng)設(shè)置接收線狀態(tài)中斷,此時(shí)將產(chǎn)生線狀態(tài)中斷,具體的 中斷原因可以從線狀態(tài)寄存器 UnLSR 中讀取。 在識(shí)別出起始標(biāo)致 Break 之后,DMX512 數(shù)據(jù)可按照普通的串口數(shù)據(jù)進(jìn)行 接收了,中斷后標(biāo)致 MAB 不會(huì)對(duì)串口數(shù)據(jù)的接收產(chǎn)生任何影響。從 DMX512 中解析出來的有用數(shù)據(jù)直接存放在全局變量 UARTData[13]中。UART2 的中斷 服務(wù)程序流程圖如 圖 4.2 所示。 圖 4.2 UART2 中斷服務(wù)流程圖 4.2 PCA9635 控制 4.2.1 PCA9635 寄存器簡(jiǎn)介 PCA9635 內(nèi)部共含有 29 個(gè)寄存器,其中控制寄存器(Control register)不 參與編址。各個(gè)寄存器的說明如下: (18) 控制寄存器(Control register ) 通過 I2C 總線寫入到 PCA9635 的第二個(gè)字節(jié)(第一個(gè)字節(jié)為 I2C 從機(jī)地址) 將被存入此寄存器,它決定 I2C 總線上隨后的數(shù)據(jù)存放在哪些寄存器中。 Control register[7~5]為地址遞增控制位。 Control register[4~0]的值為 PCA9635 內(nèi) 部寄存器的地址。 (19) 模式寄存器(MODE1,MODE2) 模式寄存器 MODE1 片內(nèi)地址 0 x00,其各位的詳細(xì)說明見 表 4.1。 表 4.1 MODE1 寄存器位描述 位 符號(hào) 功能 7 AI2 只讀,同 Control register[7] 6 AI1 只讀,同 Control register[6] 5 AI0 只讀,同 Control register[5] 4 SLEEP 0 :普通模式 1*:節(jié)能模式,內(nèi)部振蕩器關(guān)閉 3 SUB2 0*:子地址 2 無效 1 :子地址 2 有效 2 SUB1 0*:子地址 1 無效 1 :子地址 1 有效 1 SUB0 0*:子地址 0 無效 1 :子地址 0 有效 0 ALLCALL 0*: ALLCALL 地址無效 1 : ALLCALL 地址有效 模式寄存器 MODE2 片內(nèi)地址 0 x01,其各位的詳細(xì)說明見 表 4.2。 表 4.2 MODE2 寄存器位描述 位 符號(hào) 功能 7 - 保留 6 - 保留 5 DMBLNK 0*:亮度整體控制 1 :閃爍整體控制 4 INVRT 0*:輸出邏輯不反向 1 :輸出邏輯反向 3 OCH 0*:當(dāng) I2C 總線出現(xiàn)停止位時(shí)輸出更新 1 :當(dāng) I2C 總線出現(xiàn)應(yīng)答位時(shí)輸出更新 2 OUTDRV 0 :輸出配置為開漏結(jié)構(gòu) 1*:輸出配置為推挽結(jié)構(gòu) 1 to 0 OUTNE[1 :0] 00 :當(dāng) =1 時(shí)輸出 LEDn = 0OE 01*:當(dāng) =1 時(shí)輸出 LEDn = 1(OUTDRV=1)或高阻態(tài) (OUTDRV=0 ) 10 :當(dāng) =1 時(shí)輸出 LEDn 為高阻態(tài) 11 :保留 4.2.2 各種效果的設(shè)計(jì) 節(jié)點(diǎn)接收控制器傳來的 13 個(gè)字節(jié),第一個(gè)字節(jié)中含有 0~5 六種效果命令, 以及效果的速度,后面的 12 個(gè)字節(jié),節(jié)點(diǎn)不做處理,直接送入 PCA9635 的 PWMn 寄存器控制前 12 路 PWM 輸出的占空比。如 圖 4.3 所示。 圖 4.3 主從數(shù)據(jù)協(xié)議 節(jié)點(diǎn)設(shè)計(jì)的五種效果分別為:閃爍效果(兩種) 、漸明效果、漸暗效果、魔 術(shù)色效果。 閃爍效果是通過修改 PCA9635 的寄存器 LEDOUTn 來實(shí)現(xiàn)的,要點(diǎn)亮哪一 位 LED,就將 LEDOUTn 中對(duì)應(yīng)的兩位置 1,否則置 0。按照想要的樣式,建 立一個(gè)二維數(shù)組,在定時(shí)器發(fā)生匹配中斷后,按照不同的偏移量將數(shù)組中的樣 式送入 LEDOUTn 即可,閃爍頻率由中斷頻率決定。 漸明漸暗效果是通過修改 PCA9635 的整體亮度控制寄存器 GRPPWM 來實(shí) 現(xiàn)的。漸明時(shí),向 GRPPWM 中寫入依次增大的值。漸暗時(shí)向 GRPPWM 中寫 入依次減小的值。值的修改也是發(fā)生在定時(shí)器匹配中斷之后,閃爍頻率由中斷 頻率決定。 為了實(shí)現(xiàn)魔術(shù)色效果,首先需建立一個(gè)包含 256 個(gè)元素的數(shù)組,數(shù)組內(nèi)元 素值由 0 遞增到 254,步進(jìn)為 2,然后由 254 遞減到 0,步減為 2。按照不同的 偏移基址+ 偏移量來讀取數(shù)組中的數(shù)據(jù)送入到 PCA9635 中控制紅、綠、藍(lán)三色 亮度,完成魔術(shù)色的合成。偏移量在定時(shí)器匹配中斷時(shí)遞增,色彩變化速度由 中斷頻率決定。 PCA9635 控制任務(wù)的流程圖如 圖 4.4 所示。 圖 4.4 PCA9635 控制任務(wù)流程圖 流程圖中數(shù)組 PCA9635_DATA 為將要通過 I2C 總線寫入到 PCA9635 的值, PCA9635_DATA[0]寫入到 PCA9635 控制寄存器 Control register ,恒為 0 x82。 根據(jù)前面的介紹可知,PCA9635_DATA 后面的值將依次寫入 PWMn、GRPPWM、GRPFREQ、LEDOUTn 中。 參考文獻(xiàn) [1] 周立功.μC/OS-II 微小內(nèi)核分析與程序設(shè)計(jì)——基于 LPC2300[M].廣州 致遠(yuǎn)電子有限公司,2007:27-168. [2] 周立功.深入淺出 ARM7——LPC2300[M].廣州致遠(yuǎn)電子有限公司, 2007:41-254 . [3] 周立功.ARM 嵌入式系統(tǒng)應(yīng)用技術(shù)筆記——基于 LPC2300[M].廣州致遠(yuǎn) 電子有限公司,2007:13-197. [4] 錢明光.DMX512 信號(hào)格式及其應(yīng)用 [J].廣播電視技術(shù),2006,(05):52- 54. [5] 王京池.舞臺(tái)燈光控制技術(shù)與 DMX512[J].廣播與電視技術(shù),2004,(03): 80-84. [6] 管保安.微機(jī)燈光控制系統(tǒng)的設(shè)計(jì)[J] .電子產(chǎn)品世界,2002,(22):56-57. [7] 陳國(guó)義,胡清亮,梁國(guó)芹,廖偉民.燈光控制網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議的探討[J].光 源與照明,2005,(01):33-35. [8] 陳國(guó)義,胡清亮,梁國(guó)芹,廖偉民.燈光控制網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議的探討(續(xù)) [J].光源與照明,2005 ,(02):30-32. [9] 夏繼強(qiáng),沈德金,邢春香.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程(二)[M].北京航空 航天大學(xué)出版社,2006:13-211. [10] 張燦.單片機(jī)在舞臺(tái)燈光控制系統(tǒng)中應(yīng)用[J].電子測(cè)量技術(shù),2003,(06): 50-52. [11] 方福波,劉有源,陳定方.DMX512 控制協(xié)議及其實(shí)現(xiàn)[J] .照明工程學(xué)報(bào), 2002,(03) : 58-61. [12] 陳國(guó)義.網(wǎng)絡(luò)時(shí)代燈光控制的現(xiàn)狀和展望——“DMX512”、 “ACN”和’Art- Net”三種協(xié)議淺析[J].照明工程學(xué)報(bào),2004,(04):30-34 [13] 馮立杰,傅民倉(cāng),李文波.DMX512 與 CAN 總線混合通信網(wǎng)的實(shí)現(xiàn)方法 [J].現(xiàn)代電子技術(shù), 2006,(08):98-99. [14] NXP.Semiconductors User manual UM10237_1 Rev.01 10 December 2007[EB/OL]. PC2364_65_66_67_68_4],2008-03-05. [15] Dan Mills.DMX512FAQ[EB/OL] . 附錄 A 電路原理圖
收藏
編號(hào):2681595
類型:共享資源
大小:3.67MB
格式:RAR
上傳時(shí)間:2019-11-28
15
積分
- 關(guān) 鍵 詞:
-
舞臺(tái)燈光
控制器
- 資源描述:
-
舞臺(tái)燈光控制器,舞臺(tái)燈光,控制器
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。