當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:以某光電跟蹤產(chǎn)品雙DSP系統(tǒng)為例,詳細(xì)介紹了RS 422通信設(shè)計(jì)。該系統(tǒng)設(shè)計(jì)選用Maxim公司提供的Max490ESA作為接口芯片。給出了其硬件接口原理圖,并分別從DSP和PC機(jī)兩方面詳細(xì)介紹了RS 422通信程序的設(shè)計(jì),具體給

摘要:以某光電跟蹤產(chǎn)品雙DSP系統(tǒng)為例,詳細(xì)介紹了RS 422通信設(shè)計(jì)。該系統(tǒng)設(shè)計(jì)選用Maxim公司提供的Max490ESA作為接口芯片。給出了其硬件接口原理圖,并分別從DSP和PC機(jī)兩方面詳細(xì)介紹了RS 422通信程序的設(shè)計(jì),具體給出了設(shè)計(jì)思路和數(shù)據(jù)結(jié)構(gòu)。通過內(nèi)外場試驗(yàn),驗(yàn)證了該系統(tǒng)RS 422通信設(shè)計(jì)的可靠性及便捷性。
關(guān)鍵詞:雙DSP;RS 422通信;位流;數(shù)據(jù)結(jié)構(gòu)

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

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


    該通信設(shè)計(jì)的接口程序包括兩個(gè)部分:DSP上的通信程序設(shè)計(jì)和PC機(jī)上的通信程序設(shè)計(jì)。
    DSP的通信程序設(shè)計(jì)主要是調(diào)用INT5和TIMER0中斷實(shí)現(xiàn)的。RX信號(hào)線掛在TMS320C6201的INT5腳,當(dāng)6201檢測到下跳時(shí),引發(fā)一個(gè)中斷,在中斷程序中,立即將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è)計(jì)
    DSP上的RS 422通信程序是一種有限狀態(tài)機(jī),它利用上層協(xié)議將位流進(jìn)行傳輸,具體設(shè)計(jì)如下:
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引腳上的電平信號(hào)來接收數(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的定時(shí)器0定時(shí)周期控制。圖2所示為UART通用異步通信協(xié)議。


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


    其基本過程是:當(dāng)DSP啟動(dòng)后,進(jìn)入主程序,首先將通信狀態(tài)機(jī)置于準(zhǔn)備接收PC機(jī)握手碼狀態(tài),一旦收到PC機(jī)發(fā)出的8位數(shù)據(jù),判斷是否是8位握手碼,如果是則將通信狀態(tài)機(jī)置于發(fā)送握手碼狀態(tài),如果握手碼接收錯(cuò)誤,則發(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é)果,顯示、存貯、打印。
    相對(duì)于DSP上的軟件來講,PC機(jī)上的軟件要相對(duì)復(fù)雜些。目前本系統(tǒng)用三個(gè)PC機(jī)上的軟件分別實(shí)現(xiàn)它。
    PC機(jī)上的軟件用C++Builder5.0軟件編寫,RS 422通信模塊用Comm控件實(shí)現(xiàn),使用比較方便,下面分別介紹說明PC機(jī)上這三個(gè)功能軟件的結(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),并啟動(dòng)它。在TMS320C6201B內(nèi),幾個(gè)簡單的循環(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開始的程序段裝入為:
   
    (3)TMS320C6201啟動(dòng)ADSP2187程序運(yùn)行的操作
   
   
    圖4所示為ADSP2187程序文件分解的數(shù)據(jù)格式及其意義。


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中。


1.2.3 接收DSP發(fā)出的相關(guān)運(yùn)行結(jié)果
    這部分程序的作用是向DSP發(fā)出獲取AD前端數(shù)據(jù)與相關(guān)計(jì)算結(jié)果的命令,然后將相關(guān)計(jì)算結(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è)計(jì)中采用了RS 422接口,大大方便了遠(yuǎn)程調(diào)試和整機(jī)調(diào)試,避免了內(nèi)外場測試及調(diào)試必須拆除外殼體的問題,大大節(jié)約了調(diào)試及測試時(shí)間。另外,該項(xiàng)技術(shù)不僅在某光電跟蹤產(chǎn)品雙DSP系統(tǒng)中得到可靠驗(yàn)證,目前還被推廣應(yīng)用到其他嵌入式系統(tǒng)中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉