《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于TMS320LF2407A和NRF903的工程機械遙控器高可靠性設(shè)計
基于TMS320LF2407A和NRF903的工程機械遙控器高可靠性設(shè)計
來源:電子技術(shù)應(yīng)用2010年第12期
鄭德忠,李曉娟
燕山大學(xué) 河北省測試計量技術(shù)及儀器重點實驗室,河北 秦皇島066004
摘要: 基于主控制芯片TMS320LF2407A和無線收發(fā)芯片NRF903設(shè)計了靈活的頻道轉(zhuǎn)換協(xié)議,采用高可靠性的控制命令編碼方式以及RS糾錯編碼方法,利用標(biāo)準(zhǔn)異步串口協(xié)議實現(xiàn)了收發(fā)雙方控制命令的傳遞。
中圖分類號: TN92
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2010)12-0025-04
High-reliability design for engineering machines remote-controller based on TMS320LF2407A and NRF903
ZHENG De Zhong,LI Xiao Juan
Hebei Key Laboratory of Measurement Technology and Instrumentation,Yanshan University,Qinhuangdao 066004,China
Abstract: Based on TMS320LF2407A as the main control chip and NRF903 as the transceiver chip, in this paper, flexible channel change protocol was designed,the command coding method of high-reliability and the method of RS coding for correction were introduced, standard asynchronous serial communication protocol was utilized to achieve the transmission of the command codes of the transceivers.
Key words : TMS320LF2407A;NRF903;channel change;communication protocol;coding

    在我國經(jīng)濟快速發(fā)展的過程中,工程機械起到了巨大的推動作用。但傳統(tǒng)的工程機械工作現(xiàn)場的環(huán)境條件一般都很惡劣,而工作人員又必須在龐大的駕駛室里操作,容易對工作人員心理和生理造成不良影響,從而影響機械的安全可靠高效運行。近年來,無線電通信技術(shù)及超大規(guī)模集成電路的飛速發(fā)展,為工作人員走出駕駛室通過無線電對工程機械進(jìn)行可靠的遠(yuǎn)程控制提供了基礎(chǔ)。由于工程機械的動作失誤會造成生命財產(chǎn)的巨大損失,因此可靠性是無線遙控技術(shù)能否應(yīng)用于工程機械的決定因素。
1 工程機械遙控器系統(tǒng)介紹
    遙控器由發(fā)射端和接收端兩部分組成。操作人員利用發(fā)射端將控制命令發(fā)射出去,控制命令通過無線信道到達(dá)接收端,接收端接收控制命令并控制工程機械作出相應(yīng)的動作[1]。系統(tǒng)構(gòu)成框圖如圖1所示。

    TMS320LF2407A芯片是整個系統(tǒng)的核心控制芯片。NRF903為系統(tǒng)的射頻收發(fā)芯片。由于篇幅限制,本文重點從TMS320LF2407A與NRF903的接口設(shè)計及通信協(xié)議設(shè)計兩個方面,對工程機械遙控器進(jìn)行高可靠性設(shè)計。
2 硬件接口設(shè)計
    TMS320LF2407A采用高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3 V,減小了控制器的功耗,滿足了手持發(fā)射端的省電要求[2]。TMS320LF2407A具有良好的處理性能(40 MIPS),可以實現(xiàn)對控制命令的快速編解碼處理,提高遙控器對控制命令的實時處理和響應(yīng)速度。TMS320LF2407A集成了豐富的外設(shè)接口,如串口通信接口(SCI),串口外設(shè)接口(SPI),利用這兩種外設(shè)接口可以方便地與NRF903連接。TMS320LF2407A與NRF903的接口如圖2所示。

    NRF903是一個單片RF收發(fā)芯片,工作在433/868/915 MHz國際通用的ISM頻段,具有GMSK/GFSK調(diào)制和解調(diào)能力,抗干擾能力強,適合工業(yè)控制應(yīng)用[3]。采用DDS+PLL頻率合成技術(shù),頻率穩(wěn)定性好,具有170個頻道,滿足本文所采用的頻道轉(zhuǎn)換的需要;可直接與TMS320LF2407A接口,而無需對數(shù)據(jù)進(jìn)行曼徹斯特編碼,通信波特率可達(dá)76.8 kb/s;工作電壓范圍是2.7 V~3.6 V,功耗低,構(gòu)成一個完整的射頻收發(fā)器所需的外圍器件少。
3 SPI接口設(shè)計
3.1 配置字設(shè)計

    TMS320LF2407A的同步串口SPI用于完成對NRF903的組態(tài)控制字的配置,設(shè)置SPI工作于主動方式(MASTER/SLAVE=1),SPICLK輸出同步時鐘信號到CFG_CLK。設(shè)置串行外設(shè)接口配置控制寄存器SPICCR=0x0D,當(dāng)CS為高電平時,來自SPISIMO/IOPC2的14位組態(tài)控制字在每一個CFG_CLK編程模式時鐘的上升沿,通過CFG_DATA端口被寫入組態(tài)寄存器中,完成對工作頻率、通道、輸出功率和輸出時鐘頻率等參數(shù)的設(shè)置。
    當(dāng)組態(tài)控制字輸入到數(shù)據(jù)移位寄存器時,CS無效,一個新的配置完成。CFG_DATA的比特率由SPI模塊的波特率設(shè)置寄存器SPIBRR確定。
    一旦配置完成,芯片的工作狀態(tài)由外部信號TXEN、PWR_DWN、STBY和DATA設(shè)置。除待機模式和低功耗模式外,配置可以在所有模式下完成,這為頻道的快速實時轉(zhuǎn)換提供了基礎(chǔ)[4]。
3.2 收發(fā)雙方的頻道轉(zhuǎn)換協(xié)議設(shè)計
    本文采用通信頻道在三個固定頻道間轉(zhuǎn)換,以避免使用某一固定頻率時產(chǎn)生同頻干擾問題。
    本設(shè)計選用438頻段,該頻段有10個頻道可供使用,選用其中3個頻道(頻道0,4,8)來實現(xiàn)頻率轉(zhuǎn)換。由CFG_DATA[9~2]設(shè)定。
    為了避免收發(fā)雙方的頻道發(fā)生混亂,本設(shè)計令收發(fā)雙方開機啟動、待機時或復(fù)位后都進(jìn)入頻道0。
    收發(fā)雙方都采用靈活的頻道轉(zhuǎn)換和頻道停留方式通信。每次發(fā)射方在某一頻道發(fā)射控制命令后會在此頻道等待應(yīng)答信號。若在規(guī)定的時間內(nèi)沒有接收到正確的應(yīng)答信號,則自動轉(zhuǎn)換到下一頻道重復(fù)上面的發(fā)射過程;若在規(guī)定時間內(nèi)收到正確的應(yīng)答信號,則自動停留在此頻道一段較長的時間,等待發(fā)射其他控制命令。每次正確應(yīng)答信號的接收都延遲發(fā)射方在此頻道的停留時間,如果超時沒有正確應(yīng)答信號的接收,則返回頻道0。接收方的頻道停留方式與發(fā)射方相似,即每次正確命令的接收都會延遲其在此頻道的接收時間。但其頻道轉(zhuǎn)換方式不同,它的頻道轉(zhuǎn)換間隔時間是發(fā)射方頻道轉(zhuǎn)換間隔時間的3倍,以保證收發(fā)雙方至多在9個間隔時間內(nèi)頻道同步一次。收發(fā)雙方頻道轉(zhuǎn)換如圖3所示。發(fā)射端頻道轉(zhuǎn)換流程如圖4所示。

    若雙方多次啟動SPI傳送配置字去改變通信頻道而沒有成功,則發(fā)生超次中斷,要求收發(fā)雙方系統(tǒng)復(fù)位重啟到初始頻道0狀態(tài),繼續(xù)通信。若系統(tǒng)復(fù)位后仍無法正常連接,則可能三個頻道都已受到干擾,可以人為地為收發(fā)雙方重新配置一個初始頻道,使收發(fā)雙方進(jìn)入另外一組頻道通信。
4 SCI模塊通信設(shè)計
4.1 控制命令編碼設(shè)計

    由于無線信道干擾因素的存在,接收到的控制指令很可能變得不可靠,如果此控制指令恰好變成另外一組控制指令,則必然會發(fā)生誤動作。為了避免這種情況發(fā)生,就必須增大不同控制命令碼之間的差異。它們之間的差異越大,從一個控制指令碼變成另一個控制指令碼的可能性就越小,即發(fā)生誤動作的可能性就越小。本文用8 bit表示一組控制命令,最多可以得到28=256組不同的控制命令,用軟件編程方法可以挑選出各不同控制命令碼之間差異為4 bit的碼組最多16組,可以表示16種不同的控制命令,滿足工程機械所需的控制命令數(shù)目要求。
    盡管這樣可以避免工程機械發(fā)生誤動作,但還是無法抵制信道噪聲給控制命令碼帶來的干擾,若是每次發(fā)生干擾都要求發(fā)射端重發(fā),則會使得系統(tǒng)的通信效率變低。如果發(fā)射方發(fā)射具有糾錯能力的控制命令編碼,而接收方根據(jù)收到的控制命令碼和編碼規(guī)則進(jìn)行糾錯運算,自動糾正傳輸過程中發(fā)生的錯誤,這樣就可以在一定程度上提高系統(tǒng)的通信效率。RS編碼有很強的糾錯能力。本設(shè)計令原始控制命令以不變的形式出現(xiàn)在碼組中,在其后面加入RS糾錯碼。
    因為收發(fā)雙方的地址碼固定,發(fā)送方的原始控制命令碼固定,采用RS糾錯編碼方式,所以可以把它們組合起來列表于發(fā)送方TMS320LF2407A的內(nèi)存中,各個按鍵值分別對應(yīng)表中不同碼組,當(dāng)有按鍵動作時,根據(jù)鍵值去查表并發(fā)送相應(yīng)的碼組。接收方列表中存放地址碼和原始控制命令碼,原始控制命令碼分別對應(yīng)不同的工程機械動作。
4.2 收發(fā)雙方通信協(xié)議設(shè)計
    SCI模塊支持CPU與其他使用標(biāo)準(zhǔn)格式的異步外設(shè)之間的數(shù)字通信。SCI接收器和發(fā)射器都是雙緩沖的,每一個都有其單獨的使能和中斷標(biāo)志位。NRF903的DATA口采用透明協(xié)議的方式進(jìn)行通信,將收到的數(shù)據(jù)原封不動地發(fā)射出去,能適應(yīng)任何標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)的用戶協(xié)議。
    本設(shè)計選擇SCI模塊空閑線喚醒模式??臻e線模式在地址前留有一個固定空間。初始化SCICCR=07h,選擇停止位為1 bit,禁止奇偶校驗,禁止自測試模式,選擇空閑線多處理器模式,SCI字符長度為8 bit。本設(shè)計用一個幀塊實現(xiàn)對一個控制命令的定義。幀塊的第一幀為地址幀,存放收發(fā)雙方的共同地址。由于在同一場所運作的工程機械并不會很多,所以用8 bit(保證28=256臺機械在同一場所工作)表示地址就已足夠。實現(xiàn)一個控制指令的幀塊格式如圖5所示。


    開始位(0)只占一位,用來通知接收設(shè)備一個待接收的字符開始到達(dá)。線路在不傳送字符時應(yīng)保持為1。接收端不斷檢測線路的狀態(tài),若連續(xù)為1后又檢測到一個0,就知道發(fā)來一個新字符,應(yīng)馬上準(zhǔn)備接收。因為設(shè)計中使用的是無線信道,如何使接收引腳SCIRXD在空閑狀態(tài)下檢測到連續(xù)1是一個關(guān)鍵問題。由于NRF903有一個輸出引腳C_SENSE,當(dāng)接收通道沒有接收到載波時,C_SENSE是穩(wěn)定的0狀態(tài);當(dāng)接收通道接收到載波時,C_SENSE變成1狀態(tài)。根據(jù)此引腳特性,在C_SENSE引腳加一個非門之后與NRF903的數(shù)據(jù)接收引腳經(jīng)或門之后連接到SCIRXD引腳(如圖2所示),就可以解決上述問題。
    由于SCI模塊的通信協(xié)議并不是針對無線信道的,所以在用于無線信道時,既要考慮如何更有效地利用SCI模塊的既定通信協(xié)議,又要考慮使SCI的既定通信協(xié)議能夠盡量容忍控制命令經(jīng)過無線信道后發(fā)生的畸變,使通信能夠正常進(jìn)行。
    用編程的方式配置SCI通信協(xié)議。配置串行通信接口控制寄存器1SCICTL1=0Fh,將TXWAKE位置1;寫1到TXWAKE (SCICTL1.3),然后將數(shù)據(jù)寫入SCITXBUF寄存器來產(chǎn)生一個11位數(shù)據(jù)位的空閑周期;將SLEEP位(SCICTL1.2)置為1,使得它們在檢測到地址字節(jié)時才被中斷。當(dāng)處理器讀取到的地址與應(yīng)用軟件設(shè)置的本處理器的地址相符時,用戶程序清除SLEEP位,以確保串行通信接口在收到每一個數(shù)據(jù)字節(jié)時產(chǎn)生一個中斷。設(shè)置串行通信接口控制寄存器2(SCICTL2)使能RXRDY/BRKDT中斷和TXRDY中斷。設(shè)置波特率選擇寄存器,決定收發(fā)雙方控制命令的傳送速率。
    雖然處理器在SLEEP位為1時仍能工作,但除非檢測到地址字,否則不能將RXRDY、RXINT或任何接收錯誤狀態(tài)位置1,也就無法實現(xiàn)數(shù)據(jù)的接收。經(jīng)無線傳輸后地址幀可能畸變,如果地址幀的畸變比特在RS碼的糾錯能力之內(nèi),則可以被接收器認(rèn)為是地址幀,即對地址幀進(jìn)行一次粗判之后清除SLEEP位為0,實現(xiàn)控制命令幀和RS糾錯幀的接收。接收流程如圖6所示。

    本文設(shè)計實現(xiàn)了工程機械遙控系統(tǒng)的高可靠性要求。但整體系統(tǒng)的實現(xiàn)還需要注意操作板鍵盤與TMS320LF2407A接口設(shè)計以及TMS320LF2407A與工程機械接口設(shè)計等問題。為了使工程機械遙控器的操作者更清楚地了解工程機械的運行情況,還可以在遙控器的發(fā)射方添加一個LCD以及在工程機械上安裝一些傳感器,使遙控器發(fā)射方實時檢測工程機械的運行情況等,進(jìn)一步提高其可靠性。
參考文獻(xiàn)
[1] 趙松杰,李蘭忖.基于單片機控制的起重機智能遙控器.機電工程,2008,25(4).
[2] 劉和平,鄧力,江渝,等.DSP原理及電機控制應(yīng)用——基于TMS320LF2407x系列.北京:北京航空航天大學(xué)出版社,2006.
[3] 韓向陽,周鳳星,胡磊,等.一種基于無線收發(fā)模塊nRF903的距離監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].電子測量技術(shù),2006,29(5).
[4] 劉昌輝,何華輝.基于單片機的5-32噸天車遙控裝置的設(shè)計[J].電子工程師,2004,30(9).

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