新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 某光電跟蹤產(chǎn)品雙DSP系統(tǒng)RS422通信設(shè)計(jì)

        某光電跟蹤產(chǎn)品雙DSP系統(tǒng)RS422通信設(shè)計(jì)

        作者: 時(shí)間:2011-08-09 來源:網(wǎng)絡(luò) 收藏

        1.1 上的RS 422程序
        上的RS 422程序是一種有限狀態(tài)機(jī),它利用上層協(xié)議將位流進(jìn)行傳輸,具體如下:
        1.1.1 位流的形成
        發(fā)送過程:RS 422是四線制的差分電平標(biāo)準(zhǔn),在本中,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),本中,設(shè)定為1位起始位,8位數(shù)據(jù)位,2位停止位。由于TMS320C6201B上沒有帶UART通信口,只能用軟件通過通用I/O引腳模仿UART。位流的節(jié)奏由TMS320C6201B的定時(shí)器0定時(shí)周期控制。圖2所示為UART通用異步通信協(xié)議。

        本文引用地址:http://www.104case.com/article/155937.htm

        b.jpg


        接收過程: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ū)接收到的字的意義以及其他參數(shù)做出處理,當(dāng)然,收滿8位,TIMER0定時(shí)將打開INT5中斷,復(fù)原其他狀態(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)該簡(jiǎn)單,不太復(fù)雜,擴(kuò)展容易。
        為了達(dá)到以上目的,本系統(tǒng)在DSP上設(shè)計(jì)了如圖3所示的RS 422通信狀態(tài)機(jī)。

        c.jpg


        其基本過程是:當(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ā)出握手測(cè)試碼狀態(tài),為新一輪的通信準(zhǔn)備好條件。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 鄯善县| 南乐县| 正定县| 遂昌县| 商河县| 铜鼓县| 安新县| 重庆市| 陕西省| 嘉定区| 商丘市| 锡林浩特市| 且末县| 漾濞| 襄汾县| 栾川县| 芜湖县| 晋江市| 杭州市| 行唐县| 洛川县| 塔城市| 朝阳市| 石台县| 青河县| 宣汉县| 连云港市| 磴口县| 沅江市| 青冈县| 大姚县| 桦南县| 金塔县| 连江县| 潮安县| 英吉沙县| 瑞安市| 临清市| 宁远县| 类乌齐县| 司法|