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

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

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

a.jpg


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

b.jpg


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

c.jpg


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

g.jpg


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

h.jpg


1.2.3 接收DSP發出的相關運行結果
    這部分程序的作用是向DSP發出獲取AD前端數據與相關計算結果的命令,然后將相關計算結果與原始數據上傳到PC機上,PC機將數據存貯在緩沖區內,將之顯示、打印、存貯成規范化的文件。

2 結論
    內外場試驗表明,某光電跟蹤產品雙DSP系統由于在設計中采用了RS 422接口,大大方便了遠程調試和整機調試,避免了內外場測試及調試必須拆除外殼體的問題,大大節約了調試及測試時間。另外,該項技術不僅在某光電跟蹤產品雙DSP系統中得到可靠驗證,目前還被推廣應用到其他嵌入式系統中。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 2018中文字幕在线观看| 久草免费福利资源站| 老马的春天顾晓婷5| 在私人影院里嗯啊h| 久久五月天婷婷| 欧美性bbbwbbbw| 动漫美女人物被黄漫小说| 黄色免费一级片| 国产精品视频免费播放| 一本久久a久久精品vr综合| 日韩电影免费在线| 亚洲成人午夜电影| 男高中生大粗吊gvlive| 国产人澡人澡澡澡人碰视频 | 特级做a爰片毛片免费看一区| 国产一卡二卡≡卡四卡免费乱码| 19日本人xxxxwww| 女人是男人的未来1分29| 久久99国产精品视频| 暖暖免费中国高清在线| 亚洲日本久久一区二区va| 男人让女人桶爽30分钟| 四虎成人国产精品视频| 黄录像欧美片在线观看| 国产精品国产精品国产专区不卡 | 天天影视色香欲性综合网网站| 色视频在线观看视频| 波多野结衣同性女恋大片| 日韩a无v码在线播放| 奶大灬舒服灬太大了一进一出| 看视频免费网站| 立即播放免费毛片一级| 狠狠入ady亚洲精品| 波多野结衣cesd—819| 日本免费一区二区三区最新| 在线中文高清资源免费观看| 啊灬啊灬别停啊灬用力啊免费| 亚洲一卡二卡三卡四卡无卡麻豆| 中文亚洲日韩欧美| 5555国产在线观看精品| 韩国三级hd中文字幕|