《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 某光電跟蹤產(chǎn)品雙DSP系統(tǒng)RS422通信設(shè)計
某光電跟蹤產(chǎn)品雙DSP系統(tǒng)RS422通信設(shè)計
閆 琳,,魯 星
摘要: 以某光電跟蹤產(chǎn)品雙DSP系統(tǒng)為例,,詳細(xì)介紹了RS 422通信設(shè)計。該系統(tǒng)設(shè)計選用Maxim公司提供的Max490ESA作為接口芯片。給出了其硬件接口原理圖,,并分別從DSP和PC機(jī)兩方面詳細(xì)介紹了RS 422通信程序的設(shè)計,,具體給出了設(shè)計思路和數(shù)據(jù)結(jié)構(gòu),。通過內(nèi)外場試驗(yàn),,驗(yàn)證了該系統(tǒng)RS 422通信設(shè)計的可靠性及便捷性。
Abstract:
Key words :

0 引言
    信息社會的發(fā)展,,在很大程度上取決于信息與信號處理技術(shù)的先進(jìn)性,。數(shù)字信號處理技術(shù)的出現(xiàn)改變了信息與信號處理技術(shù)的整個面貌;而數(shù)字處理器作為數(shù)字信號處理的核心技術(shù),,其應(yīng)用已經(jīng)涉及到設(shè)計信號處理的各個領(lǐng)域,,成為電子系統(tǒng)的心臟。某光電跟蹤產(chǎn)品設(shè)計了基于TMS320C6201B和ADSP2187L的雙DSP的信息處理平臺,,它提高了對信息的識別處理速度,,具有實(shí)時性好、控制精度高,、抗干擾能力強(qiáng)等特點(diǎn),。一般情況下,可利用JTAG口對DSP進(jìn)行調(diào)試,,然而,,在整機(jī)情況下,這種方式就不太適用了,。因而,,在本系統(tǒng)中設(shè)計了RS 422接口,大大方便了遠(yuǎn)程調(diào)試和整機(jī)調(diào)試,。

1 RS 422通信設(shè)計
    本系統(tǒng)選用Maxim公司提供的Max490ESA作為接口芯片,,它具備高速、低功耗等特點(diǎn),。圖1所示為RS422接口原理圖,。

a.jpg


    該通信設(shè)計的接口程序包括兩個部分:DSP上的通信程序設(shè)計和PC機(jī)上的通信程序設(shè)計。
    DSP的通信程序設(shè)計主要是調(diào)用INT5和TIMER0中斷實(shí)現(xiàn)的,。RX信號線掛在TMS320C6201的INT5腳,,當(dāng)6201檢測到下跳時,,引發(fā)一個中斷,在中斷程序中,,立即將ADSP2187前端的數(shù)據(jù)采集到DSP的片內(nèi),,然后開放TIMER0中斷處理程序,。中斷程序負(fù)責(zé)將數(shù)據(jù)發(fā)給PC機(jī),。
    PC機(jī)的RS 422通信程序采用C++Builder編寫,為多線程程序,。利用了專用的RS 422通信控件Vcomm32來實(shí)現(xiàn)通信,。
1.1 DSP上的RS 422通信程序設(shè)計
    DSP上的RS 422通信程序是一種有限狀態(tài)機(jī),它利用上層協(xié)議將位流進(jìn)行傳輸,,具體設(shè)計如下:
1.1.1 位流的形成
    發(fā)送過程:RS 422是四線制的差分電平通信標(biāo)準(zhǔn),,在本系統(tǒng)中,TMS320C6201B的McBSP1用作通用I/O口,,將MeBSP1的7根本來用作同步通信用的數(shù)據(jù)與控制線,,現(xiàn)設(shè)置為通用I/O線。
    通過將TMS320C6201B的McBSP1接口的DX引腳置高與置低實(shí)現(xiàn)發(fā)送一位位的數(shù)據(jù)流,,通過讀取RX引腳上的電平信號來接收數(shù)據(jù)位流,。位流的速度與PC機(jī)上接收與發(fā)送流的速度一致。位流的格式遵循標(biāo)準(zhǔn)異步通信協(xié)議(UART),,本系統(tǒng)中,,設(shè)定為1位起始位,8位數(shù)據(jù)位,,2位停止位,。由于TMS320C6201B上沒有帶UART通信口,只能用軟件通過通用I/O引腳模仿UART,。位流的節(jié)奏由TMS320C6201B的定時器0定時周期控制,。圖2所示為UART通用異步通信協(xié)議。

b.jpg


    接收過程:RS 422傳輸線Rx+,、Rx-經(jīng)過MAX490ESA422接口芯片后,,變成5 V CMOS電平信號Rx。Rx接至TMS320C6201B的兩個地方,,一是TMS320C6201B的McBSP1的Rx腳,,另外還同時接至TMS320C6201B的INT5腳。接收的過程如下:一旦PC機(jī)發(fā)出一個8位數(shù)據(jù),,PC機(jī)首先要發(fā)送電平為低的起始位,,這時將引起Rx腳由高到低的跳變,TMS320C6201B的INT5腳將感受到這一電平的跳變,,這將引發(fā)TMS320C6201B的一次電平中斷,,用來提示TMS320C6201B,,請準(zhǔn)備接收PC機(jī)上的數(shù)據(jù)。在INT5的中斷處理程序中,,首先關(guān)掉INT5腳電平中斷,,以防后來還沒有接收完8位的數(shù)據(jù)位流上的電平變化再次引發(fā)不希望出現(xiàn)的中斷,然后退出中斷,。TIMER0開始計數(shù)到給定的周期時,,引起了TIMER0的定時中斷,TIMER0判斷是否收滿8位,,如果沒有,,則讀取McBSP1腳上的Rx信號,將其移入到接收緩沖區(qū),;如果接收滿了8位,,則根據(jù)接收緩沖區(qū)接收到的字的意義以及DSP其他參數(shù)做出處理,當(dāng)然,,收滿8位,,TIMER0定時將打開INT5中斷,復(fù)原系統(tǒng)其他狀態(tài),,為下一次接收完整數(shù)據(jù)做準(zhǔn)備,。這樣就完整地接收到了PC機(jī)上的一串完整的8位數(shù)據(jù)。
1.1.2 上層通信協(xié)議
    位流形成后必須能識別出位流中包含的意義,,或者建立一種DSP與PC之間的通信協(xié)議或通信狀態(tài)機(jī),,確保DSP能夠識別出PC機(jī)發(fā)出的命令字,同時PC機(jī)也能正確接收包含著特別含義的位流,。
    該通信協(xié)議要實(shí)現(xiàn)以下功能:
    (1)確保DSP與PC機(jī)能正確地握手,。當(dāng)握手不成功時,要有相應(yīng)的錯誤處理機(jī)制,;當(dāng)握手不成功的次數(shù)太多時,,必須停止握手,提示操作人員做相應(yīng)的處理,。
    (2)在握手成功后,,DSP能夠根據(jù)PC發(fā)出的命令,做出相應(yīng)的響應(yīng),。
    (3)協(xié)議應(yīng)該簡單,,不太復(fù)雜,擴(kuò)展容易,。
    為了達(dá)到以上設(shè)計目的,,本系統(tǒng)在DSP上設(shè)計了如圖3所示的RS 422通信狀態(tài)機(jī)。

c.jpg


    其基本過程是:當(dāng)DSP啟動后,,進(jìn)入主程序,,首先將通信狀態(tài)機(jī)置于準(zhǔn)備接收PC機(jī)握手碼狀態(tài),,一旦收到PC機(jī)發(fā)出的8位數(shù)據(jù),判斷是否是8位握手碼,,如果是則將通信狀態(tài)機(jī)置于發(fā)送握手碼狀態(tài),,如果握手碼接收錯誤,則發(fā)0x55,,否則發(fā)0xAA,。如果是正確的握手碼,則將通信狀態(tài)機(jī)置于準(zhǔn)備接收PC機(jī)命令態(tài),。下一步,,通信狀態(tài)機(jī)等待接收PC機(jī)發(fā)出的命令,,一旦收到8位數(shù)據(jù),,則認(rèn)為是PC機(jī)發(fā)出的命令,并根據(jù)PC發(fā)出的命令,,將通信狀態(tài)機(jī)調(diào)整到PC機(jī)要求的工作狀態(tài),,然后執(zhí)行PC機(jī)要求的操作,如傳送AD原始數(shù)據(jù)與相關(guān)結(jié)果,,等待接受PC機(jī)發(fā)出2187的程序數(shù)據(jù)等,。當(dāng)執(zhí)行完P(guān)C機(jī)的命令,調(diào)整通信狀態(tài)機(jī)回到初始等待PC發(fā)出握手測試碼狀態(tài),,為新一輪的通信準(zhǔn)備好條件,。
1.2 PC機(jī)上的RS 422通信與數(shù)據(jù)處理
    PC機(jī)上的RS 422通信程序也需要遵循上面的所列出的通信協(xié)議。下面將詳細(xì)討論P(yáng)C機(jī)上的RS 422通信與數(shù)據(jù)處理程序,。PC機(jī)上的RS 422通信與數(shù)據(jù)處理程序主要完成以下功能:
    (1)將ADSP2187的程序文件分解,,裝入緩沖區(qū)內(nèi),等待RS 422接口發(fā)出,。
    (2)將TMS320C6201B的程序文件分解,,裝入緩沖區(qū)內(nèi),等待RS 422接口發(fā)出,。
    (3)接收DSP發(fā)出的相關(guān)運(yùn)行結(jié)果,,顯示、存貯,、打印,。
    相對于DSP上的軟件來講,PC機(jī)上的軟件要相對復(fù)雜些,。目前本系統(tǒng)用三個PC機(jī)上的軟件分別實(shí)現(xiàn)它,。
    PC機(jī)上的軟件用C++Builder5.0軟件編寫,RS 422通信模塊用Comm控件實(shí)現(xiàn),,使用比較方便,,下面分別介紹說明PC機(jī)上這三個功能軟件的結(jié)構(gòu)與實(shí)現(xiàn),。
1.2.1 ADSP2187裝入程序
    由于CCS本身存在無法裝入大文件的bug,因此,,在開發(fā)階段,,實(shí)現(xiàn)裝入任意長度的文件是必須的。利用PC機(jī)上的C++Builder程序開發(fā)工具,,首先必須能夠?qū)DSP2187的原始程序文件分解,,形成CCS本身可用的數(shù)據(jù)格式。將分析出的數(shù)據(jù)放入緩沖區(qū)Buffer內(nèi),,然后通過RS 422接口發(fā)送到TMS320C6201的片內(nèi)指定的單元內(nèi),。當(dāng)發(fā)送完畢后,TMS320C6201內(nèi)部Boot2187函數(shù)將負(fù)責(zé)將ADSP2187數(shù)據(jù)裝到ADSP2187片內(nèi),,并啟動它,。在TMS320C6201B內(nèi),幾個簡單的循環(huán)語句,,即可以將得到的數(shù)據(jù)發(fā)送到ADSP2187片內(nèi),。下面是程序裝載說明:
    (1)TMS320C6201裝載程序流程
    IDMA_IAL=0x80000000;
    IDMA_IAL=程序段首地址:PM區(qū)地址不變,,DM區(qū)首地址+0X4000,;
    讀數(shù)據(jù)使用IRD,寫數(shù)據(jù)使用IDMA_IWR,;
    程序區(qū)為24位字長,,讀寫均為先高16位再低8位數(shù)據(jù);
    (2)關(guān)于程序段地址為0X0000開始的程序段
    TMS320C6201不能從0地址開始裝程序,,而需要從0X0001地址開始裝程序,;
    0地址處的指令不裝;
    例如:上面的0x0000開始的程序段裝入為:
    d.jpg
    (3)TMS320C6201啟動ADSP2187程序運(yùn)行的操作
    e.jpg
    f.jpg
    圖4所示為ADSP2187程序文件分解的數(shù)據(jù)格式及其意義,。

g.jpg


1.2.2 TMS320C6201裝入程序
    TMS320C6201B的裝入與ADSP2187程序的裝入基本一致,,不同的是TMS320C6201B的程序獲取方法不同,TMS320C6201B的程序源文件是在Simulator下將TMS320C6201B的程序區(qū)導(dǎo)出而形成的源程序文件,。由于無法將大文件裝入到TMS320C6201B片內(nèi),,希望通過RS 422接口,將數(shù)據(jù)發(fā)至TMS320C6201B的SBSRAM內(nèi)或其他緩沖單元,。作為燒寫FLASH的準(zhǔn)備,。
    PC機(jī)的分析程序最后將TMS320C6201B的數(shù)據(jù)整理成如圖5所示的格式,再將這些代碼裝入到SBSRAM中,,最后燒錄到FLASHRAM中,。

h.jpg


1.2.3 接收DSP發(fā)出的相關(guān)運(yùn)行結(jié)果
    這部分程序的作用是向DSP發(fā)出獲取AD前端數(shù)據(jù)與相關(guān)計算結(jié)果的命令,然后將相關(guān)計算結(jié)果與原始數(shù)據(jù)上傳到PC機(jī)上,PC機(jī)將數(shù)據(jù)存貯在緩沖區(qū)內(nèi),,將之顯示,、打印、存貯成規(guī)范化的文件,。

2 結(jié)論
    內(nèi)外場試驗(yàn)表明,,某光電跟蹤產(chǎn)品雙DSP系統(tǒng)由于在設(shè)計中采用了RS 422接口,大大方便了遠(yuǎn)程調(diào)試和整機(jī)調(diào)試,,避免了內(nèi)外場測試及調(diào)試必須拆除外殼體的問題,,大大節(jié)約了調(diào)試及測試時間。另外,,該項(xiàng)技術(shù)不僅在某光電跟蹤產(chǎn)品雙DSP系統(tǒng)中得到可靠驗(yàn)證,,目前還被推廣應(yīng)用到其他嵌入式系統(tǒng)中。

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