《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于CPLD的多路選擇器在舞臺吊桿控制系統(tǒng)中的應(yīng)用
基于CPLD的多路選擇器在舞臺吊桿控制系統(tǒng)中的應(yīng)用
來源:微型機與應(yīng)用2010年第17期
吳 琦,丁慶生
(四川工商職業(yè)技術(shù)學(xué)院,四川 都江堰 611830)
摘要: 給出了基于Altera公司的MAXⅡ系列芯片EPM570T144C5設(shè)計的多路選擇器,介紹了多路選擇器的應(yīng)用、硬件結(jié)構(gòu)、串行通信協(xié)議及軟件設(shè)計,并給出了調(diào)試的結(jié)果。
關(guān)鍵詞: CPLD 多路選擇器 EPM570T144C5 MAXⅡ
Abstract:
Key words :

摘  要: 給出了基于Altera公司的MAXⅡ系列芯片EPM570T144C5設(shè)計的多路選擇器,介紹了多路選擇器的應(yīng)用、硬件結(jié)構(gòu)、串行通信協(xié)議及軟件設(shè)計,并給出了調(diào)試的結(jié)果。
關(guān)鍵詞: 多路選擇器;CPLD;EPM570T144C5

    在舞臺吊桿控制系統(tǒng)中,多路選擇器主要實現(xiàn)多個吊桿選擇少數(shù)電機進行拖動的功能,是舞臺吊桿控制系統(tǒng)中必不可少的部分。而多路選擇器實現(xiàn)的方法有很多,目前大多數(shù)都是采用單片機作為核心芯片來進行控制,但單片機容易受到強電設(shè)備開關(guān)時產(chǎn)生的電氣干擾而“跑飛”。本文選擇64選10方式的多路選擇器,該選擇器的功能為接收來自主控制器的數(shù)據(jù)選擇信號,并根據(jù)信號中對應(yīng)的吊桿、通道信息來實現(xiàn)具體的控制選擇工作。為此,本文設(shè)計了一種基于CPLD的多路選擇器。
1 EPM570T144C5芯片簡介
    EPM570T144C5是Altera公司MAXⅡ系列中的一款低功耗、低成本的CPLD。該芯片1.8 V的內(nèi)核電壓降低了功耗、提高了可靠性,并且支持高達300 MHz的內(nèi)部時鐘頻率;板上的振蕩器和用戶閃存,不需要分立振蕩器或者非易失存儲器;有實時在系統(tǒng)可編程能力,器件工作時可下載第二個設(shè)計,方便在線調(diào)試;而且該芯片有144個可編程的I/O引腳,每個I/O引腳均耐5 V電壓,完全可以滿足本系統(tǒng)I/O引腳個數(shù)的要求,在使用中還有可擴展空間。
2 硬件設(shè)計
    本系統(tǒng)的硬件電路主要由EPM570T144C5芯片、RS485通信模塊、64路輸入接口、64路輸入光電隔離電路、10路輸出光電隔離電路、10路輸出接口組成,如圖1所示。

    輸入、輸出的光電隔離電路,均采用工業(yè)級的光電耦合隔離器TLP521進行電氣隔離。TLP521為電流驅(qū)動型工作元件,需外接電源電路來產(chǎn)生所需的壓降,而且需要根據(jù)具體的輸入/輸出電壓、電流來計算對應(yīng)的電源電路中電阻的阻值,以避免二極管的壓降過大而損壞以及驅(qū)動能力不足的問題。
    RS485通信模塊采用半雙工工作方式的串行通信芯片MAX485,由于該芯片內(nèi)部為平衡驅(qū)動器和差分接收器的組合,其抗共模干擾能力增強,且總線收發(fā)器能檢測低至200 mV的電壓,可實現(xiàn)千米以上的遠距離傳輸。特別是RS485通信方式只定義了電壓、阻抗,未對軟件協(xié)議進行定義,因此使本系統(tǒng)的通信協(xié)議設(shè)計非常靈活。
3 串行通信協(xié)議的設(shè)計
    本系統(tǒng)的串行通信協(xié)議分為兩部分:多路選擇器接收來自主控制器部分和多路選擇器發(fā)送到主控制器部分。其中,接收部分起主要作用,而發(fā)送部分只是用來反饋錯誤信息。由于多路選擇器是根據(jù)主控制器所發(fā)送的串行指令來進行具體工作的,所以串行通信協(xié)議接收部分的設(shè)計很重要,既要包括相應(yīng)的吊桿、通道信息,又要考慮到抗電氣干擾的問題,還要考慮所采用芯片的邏輯、存儲單元的個數(shù)。
3.1 接收通信協(xié)議
    本文通信協(xié)議的接收部分采用按固定的通道順序,一次接收10組吊桿的數(shù)據(jù),而每組吊桿數(shù)據(jù)均依次按順序?qū)?yīng)的原則進行設(shè)計,同時每組數(shù)據(jù)均采用奇校驗,且全部數(shù)據(jù)采用和校驗的方法來進行軟件抗電氣干擾。其中,第1個字節(jié)為起始標志“01010101”,最高位的“0”表示該字節(jié)為標志;第2字節(jié)~第11字節(jié)為10路具體的吊桿數(shù)據(jù);第12、13字節(jié)為和校驗碼,分別為10路吊桿數(shù)據(jù)的和除64取商、取余;第14字節(jié)為停止標志“00101010”,除最高位外,其余均與起始標志位對應(yīng)取反。
    每個字節(jié)的D7位用于區(qū)分標志與數(shù)據(jù),用“0”表示標志,而用“1”表示數(shù)據(jù);除標志外,每個字節(jié)的D6位均為奇校驗碼;10路數(shù)據(jù)seldata[1]~seldata[10]中的D5~D0位為64路中的1路吊桿數(shù)據(jù)。通信協(xié)議按照從低位到高位、從低字節(jié)到高字節(jié)按順序進行接收,如表1所示。

3.2 發(fā)送通信協(xié)議
    發(fā)送的通信協(xié)議只有當多路選擇器在接收過程中受到電氣干擾、一些數(shù)據(jù)位發(fā)生邏輯改變而使奇校驗或和校驗不匹配時,才工作;否則一直保持接收狀態(tài),準備接收下一次的數(shù)據(jù)流。
    通信協(xié)議的發(fā)送部分是由一組10位的二進制數(shù)(停止位“1”+“10100101”+起始位“0”)組成的數(shù)據(jù)流,以表示之前的通信出錯要求重發(fā)。當主控制器接收到該信號后,則重發(fā)一次數(shù)據(jù)流。通信協(xié)議按低位到高位的順序進行發(fā)送,如表2所示。

4 軟件系統(tǒng)的設(shè)計
    本系統(tǒng)使用Verilog HDL硬件描述語言,采用自頂而下的設(shè)計方法在Quartus Ⅱ的軟件平臺上進行設(shè)計。系統(tǒng)由采樣時鐘輸出模塊、信號采樣模塊、起始標志檢測模塊、數(shù)據(jù)處理模塊、停止標志檢測模塊、64選10模塊、錯誤檢測模塊、輸出控制模塊和發(fā)送模塊組成。軟件系統(tǒng)框圖如圖2所示。

    采樣時鐘輸出模塊:對11.059 2 MHz的時鐘頻率進行分頻產(chǎn)生16倍波特率的采樣脈沖。
    信號采樣模塊對按波特率輸入的控制命令進行3次采樣,如果采樣結(jié)果一致,則按波特率向后級輸出控制命令的電平信號,否則將發(fā)出錯誤指令。
    起始標志檢測模塊:實現(xiàn)對第一組數(shù)據(jù)標志的判斷,如果不是起始標志,則直接輸出后續(xù)數(shù)據(jù),否則進行起始標志的序列檢測;如果檢測正確,則設(shè)置第一組數(shù)據(jù)標志,否則發(fā)出錯誤指令。
    64選10模塊:由10組64選1電路并行組成,接收來自數(shù)據(jù)處理結(jié)果的并行數(shù)據(jù)。
    停止標志檢測模塊:完成對停止標志的檢測,并輸出清零第一組數(shù)據(jù)標志的信號,同時輸出啟動脈沖,如果檢測錯誤,則發(fā)出錯誤指令。
    錯誤檢測模塊:收到來自停止標志檢測的啟動脈沖后,將根據(jù)前面各級有無錯誤輸出來實現(xiàn)控制。而輸出控制模塊為一個暫存器,由錯誤檢測的控制脈沖來控制10路輸出信號是否可以輸出至管腳。
    發(fā)送模塊:在錯誤檢測發(fā)現(xiàn)問題后,將設(shè)置RS485為發(fā)送狀態(tài),同時發(fā)送一組錯誤標志信號到主控制器后,重新處于接收狀態(tài),準備再次接收。
    數(shù)據(jù)處理及校驗?zāi)K:主要實現(xiàn)對前10個字節(jié)的吊桿信號進行字節(jié)個數(shù)的計算、每個字節(jié)的奇校驗的判斷、吊桿數(shù)據(jù)的依次存儲、前10個字節(jié)吊桿數(shù)據(jù)之和除以64的商、余計算,以及對第11、12字節(jié)的和校驗。當有字節(jié)奇校驗或和校驗錯誤時,則報錯D_ERROR;當完成12個字節(jié)的存儲及校驗后,不再對后面接收的信號做處理,而是直接輸出。
    由于篇幅有限,此處只給出數(shù)據(jù)處理及校驗部分的流程圖,如圖3所示。


5 仿真及調(diào)試安裝
    本文采用Quartus Ⅱ自帶的波形仿真軟件進行仿真,仿真結(jié)果如圖4所示。

    本文對多路選擇器的實物調(diào)試專門設(shè)計了一個測試板。該測試板采用單片機C8051F020為核心芯片,通過8個8位的撥碼開關(guān)來模擬64路輸入信號,10個LED電路來顯示輸出結(jié)果,通過RS232接口與PC機交互,通過RS485接口連接多路選擇器。
    調(diào)試的過程中,PC機使用“串口調(diào)試助手”發(fā)送具體的吊桿、通道指令,再經(jīng)C8051F020進行對應(yīng)的處理,并按照多路選擇器的通信協(xié)議發(fā)送至多路選擇器,同時反饋給PC機具體處理的信息。而通過調(diào)節(jié)64個撥碼開關(guān)來觀察10個LED顯示的情況進行分析。
    在采用不同的通信材料及波特率、有一定的電氣干擾下,經(jīng)過多次長期的調(diào)試得到如下結(jié)果:64選10的多路選擇器在選用雙絞屏蔽線作為RS485通信線、同時使用獨立電源并工作在低波特率(1 200 b/s)時,半雙工通信模塊邏輯正常,輸入、輸出的邏輯正常,EPM570T144C5芯片工作正常。
    本文設(shè)計的多路選擇器在實際使用時,與強電設(shè)備安裝在一個電氣控制柜中。為了進一步提高抗電氣干擾的性能,需將多路選擇器安裝于網(wǎng)狀的金屬盒內(nèi),以屏蔽開關(guān)時產(chǎn)生的電弧所引起的空間輻射干擾,同時又能良好地散熱。而且多路選擇器與主控制器的通信連線采用屏蔽線連接,并在走線時盡量遠離電氣線路。此外,多路選擇器采用獨立的交流穩(wěn)壓電源,以防止電氣設(shè)備在開關(guān)瞬間對電網(wǎng)產(chǎn)生的尖峰干擾。
    本文采用CPLD進行多路選擇器的設(shè)計,不僅能實現(xiàn)64選10的正常工作,而且設(shè)計的方法非常靈活。通過測試表明,基于CPLD設(shè)計的多路選擇器抗干擾能力要強于用單片機的設(shè)計,不但降低了系統(tǒng)的功耗,生產(chǎn)及維修成本也比單片機少,而且實時性強、可靠性高。
參考文獻
[1] 小林芳直.數(shù)字邏輯電路的ASIC設(shè)計[M].蔣民,譯.北京:科學(xué)出版社,2004.
[2] 帕爾尼卡.Verilog HDL 數(shù)字設(shè)計與綜合[M].夏宇聞,等譯.北京:電子工業(yè)出版社,2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。