<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種DSP通信接口的設(shè)計和實現(xiàn)

          一種DSP通信接口的設(shè)計和實現(xiàn)

          作者: 時間:2011-09-20 來源:網(wǎng)絡(luò) 收藏
          1.概述

            隨著科學(xué)技術(shù)的快速發(fā)展,過程控制領(lǐng)域在過去的兩個世紀(jì)里發(fā)生了巨大的變革。微處理器的普遍應(yīng)用和計算機(jī)可靠性的提高,使分布式控制系統(tǒng)得到了廣泛的應(yīng)用,由多臺計算機(jī)和一些智能儀表以及智能部件實現(xiàn)的分布式控制是其最主要的特征,而數(shù)字傳輸信號也在逐步取代模擬傳輸信號。隨著微處理器的快速發(fā)展和廣泛的應(yīng)用,數(shù)字通信網(wǎng)絡(luò)延伸到工業(yè)過程現(xiàn)場成為可能,產(chǎn)生了以微處理器為核心,使用集成電路代替常規(guī)電子線路,實施信息采集、顯示、處理、傳輸以及優(yōu)化控制等功能的智能設(shè)備。設(shè)備之間彼此通信、控制,在精度、可操作性以及可靠性、可維護(hù)性等都有更高的要求。由此,導(dǎo)致了現(xiàn)場總線的產(chǎn)生。

            現(xiàn)場總線是指以工廠內(nèi)的測量和控制機(jī)器間的數(shù)字通訊為主的網(wǎng)絡(luò),也稱現(xiàn)場網(wǎng)絡(luò)。也就是將傳感器、各種操作終端和控制器間的通訊及控制器之間的通訊進(jìn)行特化的網(wǎng)絡(luò)。原來這些機(jī)器間的主體配線是ON/OFF、接點(diǎn)信號和模擬信號,通過通訊的數(shù)字化,使時間分割、多重化、多點(diǎn)化成為可能,從而實現(xiàn)高性能化、高可靠化、保養(yǎng)簡便化、節(jié)省配線(配線的共享)。

            TI公司的TMS320LF2407型微控制器以其處理能力強(qiáng),外設(shè)功能模塊集成度高及存儲器容量大等特點(diǎn)廣泛應(yīng)用于數(shù)字化控制與通信領(lǐng)域。CAN總線控制器與TMS320LF2407微控制器連接,可以實現(xiàn)CAN總線的通信。TMS320LF2407微控制器內(nèi)嵌的異步串行口(SCI)支持CPU與其它使用標(biāo)準(zhǔn)格式的異步外設(shè)之間的數(shù)字通訊,通過RS-485接口可以方便地進(jìn)行之間或與PC機(jī)之間的異步串行通信。

            RS-485是一種多發(fā)送器的接口標(biāo)準(zhǔn),它擴(kuò)展了RS-422A的性能,允許雙絞線上一個發(fā)送器驅(qū)動32個負(fù)載設(shè)備,負(fù)載設(shè)備可以是被動發(fā)送器、接收器或收發(fā)器,RS-485最大傳輸距離為1200m,最大傳送速率可達(dá)10Mb/s。因此,RS-485在遠(yuǎn)程通信和多機(jī)總線系統(tǒng)中具有很大的吸引力,在實際設(shè)計中得到了廣泛應(yīng)用。

            本設(shè)計以PC機(jī)為主機(jī),以TMS320LF2407為從機(jī),實現(xiàn)了主從機(jī)之間的基于RS-485的串行通信,以及TMS320LF2407與CAN總線的通信。其中PC機(jī)與TMS320LF2407的RS-485通信,采用MAXIM公司生產(chǎn)的MAX48X/49X系列收發(fā)器芯片,完成RS-485標(biāo)準(zhǔn)接口通信。由于PC機(jī)上提供的是標(biāo)準(zhǔn)的RS-232C串行接口,因此,需要RS-232C/RS-485轉(zhuǎn)換器進(jìn)行接口轉(zhuǎn)換。如圖1所示。應(yīng)用TMS320LF2407內(nèi)嵌的CAN模塊和總線接口芯片PCA82C250,實現(xiàn)了TMS320LF2407與CAN總線的串行通信。

          PC機(jī)與TMS320LF2407的RS-485通信接口

            CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)"減少線束的數(shù)量"、"通過多個LAN,進(jìn)行大量數(shù)據(jù)的高速通信"的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進(jìn)行了標(biāo)準(zhǔn)化,現(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。

            2.TMS320LF2407的RS-485通信設(shè)計

            TMS320F2407有較強(qiáng)的串行通信能力,設(shè)計到的控制類寄存器較多,這使系統(tǒng)設(shè)計比較靈活。設(shè)計時,首先對控制類寄存器進(jìn)行初始化,包括數(shù)據(jù)格式、中斷使能、中斷優(yōu)先級、波特率等參數(shù)的設(shè)置。初始化完成以后,就可以發(fā)送和接收數(shù)據(jù)了。如果要發(fā)送數(shù)據(jù),只要把數(shù)據(jù)寫入SCITXBUF即可,由串行通信SCI模塊自動完成發(fā)送數(shù)據(jù)。如果要接收數(shù)據(jù),只要把SCIRXBUF的內(nèi)容讀出即可(從引腳SCIRXD/IO移位來的信息由串行通信SCI模塊本身自動去掉起始位、停止位、校驗位,并將數(shù)據(jù)放到SCIRXBUF中)。代碼如下:

            初始化TMS320LF2407的SCI模塊

          程序

          程序

            3.上位機(jī)PC串行通信軟件設(shè)計

            串行通信是指 使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計算機(jī)與計算機(jī)、計算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。串行通信是指計算機(jī)主機(jī)與外設(shè)之間以及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間數(shù)據(jù)的串行傳送。使用串口通信時,發(fā)送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0.

            上位機(jī)PC采用高級語言VB的通信控件,實現(xiàn)串行通信。在VB5.0及以上版本中,提供了一個名為MSComm的通信控件,它為應(yīng)用程序提供基本的串行通信功能,可以通過串行接口發(fā)送和接收數(shù)據(jù)。

            PC串行口發(fā)送器輸出端和接收器輸入端的數(shù)據(jù)格式為幀信息格式,與TMS320LF2407的SCI格式相同。通信時,雙方預(yù)先約定通信數(shù)據(jù)傳輸格式、傳輸速率及各自工作方式等。本文設(shè)計中雙方約定:波特率為9600bps。1幀信息格式為1個起始位、8個數(shù)據(jù)位和1個停止位。傳送方式:PC機(jī)采用查詢方式接收數(shù)據(jù),TMS320F240采用中斷方式接收數(shù)據(jù)。

            4.TMS320LF2407的CAN通信設(shè)計

            TMS320LF2407 內(nèi)嵌的CAN模塊,是一個16 位的外圍器件,其通信特性有:(1)完全支持CAN2.0B協(xié)議;(2)具有6個郵箱,其中mailbox2與mailbox3可按工程需求配置為接收或發(fā)送郵箱,數(shù)據(jù)長度為0—8字節(jié);(3)當(dāng)發(fā)送出錯或仲裁過程中數(shù)據(jù)丟失時,該控制器具有自動重發(fā)功能;(4)能夠通過軟件編程實現(xiàn)自檢測功能。

            4.1硬件設(shè)計

            應(yīng)用TMS320LF2407微控制器組成一個CAN總線網(wǎng)絡(luò),進(jìn)行實時接收和發(fā)送數(shù)據(jù)。CAN控制器接口用于提供CAN協(xié)議控制器與物理總線之間的接口,總線接口芯片使用PHILIPS公司生產(chǎn)的PCA82C250,它可以方便的將CAN控制器連接到CAN總線網(wǎng)絡(luò)上。硬件系統(tǒng)分為兩層,第一層是CAN總線與TMS320LF2407的接口電路,實現(xiàn)CAN總線和TMS320LF2407的物理接口,第二層是TMS320LF2407與CAN總線的信息處理層。如圖2所示。

          TMS320LF2407與CAN總線的信息處理層

            PCA82C250提供差分發(fā)送和對CAN控制器的差分接收,由于PCA82C250是5V電源供電,TMS320LF2407是用3.3V電源供電,因此采用電阻分壓來實現(xiàn)電平轉(zhuǎn)換。其中R2,R3分別取1KΩ和2KΩ,R1取10KΩ。對于二極管D1選用具有快速恢復(fù)能力的肖特基二極管IN5819。

            4.2軟件設(shè)計

            4.2.1初始化CAN模塊

            CAN模塊的初始化包括初始化位時間和初始化郵箱。

            初始化位時間可按如下步驟進(jìn)行(如圖3所示):

            (1)在MCR寄存器中設(shè)置改變配置請求位:CANMCR=1000H;

           ?。?)配置BCR寄存器:CANBCR2=0000H; CANBCR1=0157H;

            (3)請求正常模式:CANMCR=0000H;

            初始化郵箱可以按照如下步驟配置郵箱(如圖4所示):

            (1)禁止郵箱寫0到CANMDER:CANMDER=0000H;

           ?。?)在CANMCR中設(shè)置改變數(shù)據(jù)域請求:CANMCR=0100H;

           ?。?)改變郵箱內(nèi)容:數(shù)據(jù)可以只在發(fā)送郵箱中設(shè)置;

            (4)返回正常模式:CANMCR=0000H;

           ?。?)使能郵箱:CANMDER=0004H;

            4.2.2 發(fā)送消息

            為了實現(xiàn)CAN模塊的消息發(fā)送,需要按照以下步驟配置發(fā)送過程:

            (1)對發(fā)送郵箱進(jìn)行初始化

            禁止郵箱對CANMDER寫0:CANMDER=0000H;

            在CANMCR中設(shè)置改變數(shù)據(jù)域請求:CANMCR=0100H;

            對發(fā)送郵箱設(shè)置消息ID: CANMSGIDnH="0E00H";CANMSGIDnL=000FH;

            設(shè)置消息控制域,即對CANMSGCTRLn進(jìn)行寫操作: CANMSGCTRLn="0008H";

            創(chuàng)建消息并寫到CANMBXnA、CANMBXnB、CANMBXnC和CANMBXnD中:

            CANMBXnA=0ABCDH;CANMBXnB=0123H;CANMBXnC=0EF32H;CANMBXnD=6789H;

            重新設(shè)置CANMCR的第8位,請求正常操作:CANMCR=0000H;

            允許郵箱對CANMDER寄存器進(jìn)行寫操作:CANMDER=0004H;

           ?。?)設(shè)置TCR寄存器的TRS位,請求發(fā)送消息:TCR=0010H;

            (3)等待發(fā)送確認(rèn)(TCR寄存器的TA=1);

           ?。?)重新設(shè)置TA和發(fā)送標(biāo)志:TCR=1000H;

            4.2.3 接收消息

          應(yīng)用CAN模塊接收外界消息時,需要對CAN控制器進(jìn)行如下設(shè)置:

           ?。?)設(shè)置局部接收屏蔽寄存器。 LAM1H=8000H;

           ?。?)設(shè)置郵箱標(biāo)識符和控制。

            禁止郵箱對MDER寫0:CANMDER=0000H;

            寫MCR寄存器申請改變數(shù)據(jù)域請求:CANMCR=0100H;

            對發(fā)送郵箱設(shè)置消息ID: CANMSGIDnH="0E00H";CANMSGIDnL=000EH;

            設(shè)置消息控制域:CANMSGCTRLn=0008H;

            重置MCR第8位,請求正常操作:CANMCR=0000H;

            允許郵箱寫MDER寄存器:CANMDER=0044H;

           ?。?)等待接收確認(rèn)和CANIFR的郵箱中斷標(biāo)志。

            (4)重置RMP和接收標(biāo)志,必須對RMP寫1: CANRCR="0040H";

          初始化位時間編程流程圖

          圖3 初始化位時間編程流程圖

          郵箱初始化流程圖

            5.結(jié)論

            本文作者的創(chuàng)新點(diǎn)是:在工業(yè)控制領(lǐng)域中,往往是由一臺主機(jī)控制多臺從機(jī),上位機(jī)和下位機(jī)的遠(yuǎn)距離通信通過串行通信實現(xiàn)。本設(shè)計綜合實現(xiàn)了PC主機(jī)與DSP從機(jī)的RS-485遠(yuǎn)距離和DSP從機(jī)與CAN現(xiàn)場總線的數(shù)據(jù)傳輸接口設(shè)計,同時具備主從機(jī)的遠(yuǎn)距離通信和CAN現(xiàn)場總線設(shè)備的實時通信功能,具有廣泛的應(yīng)用前景。在設(shè)計中充分發(fā)揮了DSP的CAN模塊和SCI模塊的作用,使得接口設(shè)計簡單,工作更加可靠。



          關(guān)鍵詞: DSP 通信接口

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();