基于DSP 技術(shù)和CAN總線的多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)-設(shè)計(jì)應(yīng)用_第1頁(yè)
基于DSP 技術(shù)和CAN總線的多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)-設(shè)計(jì)應(yīng)用_第2頁(yè)
基于DSP 技術(shù)和CAN總線的多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)-設(shè)計(jì)應(yīng)用_第3頁(yè)
基于DSP 技術(shù)和CAN總線的多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)-設(shè)計(jì)應(yīng)用_第4頁(yè)
基于DSP 技術(shù)和CAN總線的多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)-設(shè)計(jì)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯基于DSP技術(shù)和CAN總線的多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)-設(shè)計(jì)應(yīng)用摘要:針對(duì)在測(cè)量環(huán)境較差的場(chǎng)合中,要求測(cè)量系統(tǒng)體積小,數(shù)據(jù)處理性能高且遠(yuǎn)程傳輸穩(wěn)定的問題,提出了利用DSP和CAN總線技術(shù)進(jìn)行遠(yuǎn)程數(shù)據(jù)采集傳輸?shù)姆桨?。系統(tǒng)通過CAN控制器進(jìn)行遠(yuǎn)程多節(jié)點(diǎn)間的數(shù)據(jù)傳輸,與上位機(jī)采用DSP的SCI串口進(jìn)行通信。介紹了系統(tǒng)的硬件接口設(shè)計(jì)和相應(yīng)的軟件設(shè)計(jì)。經(jīng)測(cè)試,系統(tǒng)實(shí)現(xiàn)了高效穩(wěn)定的數(shù)據(jù)傳輸處理,具有很高的實(shí)際應(yīng)用價(jià)值。關(guān)鍵詞:CAN總線;DSP技術(shù);SCI串口;遠(yuǎn)程數(shù)據(jù)傳輸1引言控制局域網(wǎng)CAN屬于現(xiàn)場(chǎng)總線范圍,是德國(guó)Bosch公司從20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通信速度可達(dá)1Mbit/s.CAN協(xié)議的特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而對(duì)通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個(gè)不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。2系統(tǒng)設(shè)計(jì)在很多野外或測(cè)量環(huán)境比較差的地方,需要采用體積小,數(shù)據(jù)處理性能高,并且遠(yuǎn)程傳輸穩(wěn)定的數(shù)據(jù)處理傳輸系統(tǒng)。針對(duì)這種要求,設(shè)計(jì)了多節(jié)點(diǎn)遠(yuǎn)程數(shù)據(jù)采集傳輸系統(tǒng)。在遠(yuǎn)端將要檢測(cè)的各個(gè)節(jié)點(diǎn)的數(shù)據(jù)采集送到DSP進(jìn)行處理,通過DSP的CAN控制接口,將各節(jié)點(diǎn)數(shù)據(jù)傳輸?shù)紺AN總線上,然后用DSP的串行通信口與上位機(jī)進(jìn)行數(shù)據(jù)交換和控制操作。系統(tǒng)采用了DSP作為微處理器,充分利用DSP器件的體積小,功耗低,數(shù)據(jù)處理功能強(qiáng)大的優(yōu)點(diǎn);同時(shí)采用CAN總線來(lái)傳輸數(shù)據(jù),不僅結(jié)構(gòu)簡(jiǎn)單(只有2根線與外部連接),傳輸穩(wěn)定性高而且傳輸距離遠(yuǎn),尤其是可對(duì)網(wǎng)絡(luò)內(nèi)各個(gè)節(jié)點(diǎn)通信數(shù)據(jù)塊進(jìn)行獨(dú)立編碼,加大了數(shù)據(jù)接收的靈活性,擴(kuò)展了網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)。系統(tǒng)在數(shù)據(jù)采集處理同時(shí),可以方便地與當(dāng)?shù)豍C利用DSP的SCI串行口進(jìn)行通信。基于以上優(yōu)點(diǎn)的方案設(shè)計(jì)解決了在很多工作環(huán)境惡劣,檢測(cè)點(diǎn)較多的場(chǎng)合下的數(shù)據(jù)處理傳輸問題。美國(guó)德州儀器(TI)公司的DSP24xx系列是TI公司推出的低價(jià)格高性能的16位定點(diǎn)DSP芯片,是專為數(shù)字電機(jī)控制和其他控制應(yīng)用而設(shè)計(jì)的芯片。選用了TMS320LF2407芯片作為數(shù)據(jù)處理芯片,與上位PC機(jī)進(jìn)行數(shù)據(jù)傳輸。TMS320LF2407自帶CAN控制器(符合CAN總線210協(xié)議),且可以通過設(shè)置內(nèi)部寄存器的自測(cè)試位來(lái)實(shí)現(xiàn)CAN控制器的自發(fā)自收功能,為調(diào)試CAN通訊的下位機(jī)提供了方便?;谛酒拇斯δ苣K,硬件設(shè)計(jì)只要通過CAN驅(qū)動(dòng)器(電平轉(zhuǎn)換)接到CAN總線上,就可以與其他CAN節(jié)點(diǎn)進(jìn)行通訊。DSP與上位機(jī)通信部分可以通過SCI異步串行通信口來(lái)實(shí)現(xiàn)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。圖1系統(tǒng)結(jié)構(gòu)圖3硬件設(shè)計(jì)采用的DSP芯片自帶了CAN控制器模塊和SCI串行通信口,但是在系統(tǒng)各節(jié)點(diǎn)的連接和與PC機(jī)通信上存在電平驅(qū)動(dòng)轉(zhuǎn)換的問題。CAN驅(qū)動(dòng)芯片采用TI公司的UC5350驅(qū)動(dòng)芯片。UC5350控制器區(qū)域網(wǎng)轉(zhuǎn)換器專為采用CAN通信的工業(yè)應(yīng)用而設(shè)計(jì),具有可達(dá)1Mbit/s的高速收發(fā)特性,并且至少可以連接110個(gè)節(jié)點(diǎn)。圖2為UC5350與TMSLF2407芯片的硬件連接圖。需要注意的是,在CAN傳輸網(wǎng)絡(luò)的兩個(gè)終端CAN節(jié)點(diǎn)上,節(jié)點(diǎn)的CANH和CANL兩根信號(hào)線之間一定要跨接1個(gè)120Ω的電阻R2,這是為了消除傳輸中的回流干擾問題。圖2CAN驅(qū)動(dòng)硬件圖DSP與上位機(jī)的通信部分,采用TMS320LF2407的SCI異步串口來(lái)完成。由于TMS320LF2407的串行口輸入輸出均為TTL電平,而IBM-PC機(jī)的串行口是按RS-232-C標(biāo)準(zhǔn)設(shè)計(jì)的,必須經(jīng)過電平轉(zhuǎn)換才能實(shí)現(xiàn)兩者之間的通信。設(shè)計(jì)中采用了符合RS-232標(biāo)準(zhǔn)的驅(qū)動(dòng)芯片MAX232進(jìn)行電平之間的轉(zhuǎn)換。圖3為DSP與PC串口之間的接口硬件圖。圖3RS232串口驅(qū)動(dòng)硬件圖4軟件設(shè)計(jì)4.1CAN模塊間通信程序的設(shè)計(jì)TMS320LF2407的CAN模塊是1個(gè)16位的外設(shè),支持CAN2.0B協(xié)議。CAN模塊有6個(gè)郵箱(MBOX0~MBOX5),其中2個(gè)接收郵箱(MBOX0,MBOX1),2個(gè)發(fā)送郵箱(MBOX4,MBOX5)和2個(gè)可配置為接收或發(fā)送郵箱(MBOX2,MBOX3);有用于0,1,2和3號(hào)郵箱的本地屏蔽寄存器和15個(gè)控制/狀態(tài)寄存器。對(duì)它的訪問分成控制/狀態(tài)寄存器的訪問和郵箱的RAM訪問。這些郵箱位于1個(gè)48×16位的RAM中,可被CPU或CAN讀寫。由于系統(tǒng)是1個(gè)多節(jié)點(diǎn)的遠(yuǎn)程數(shù)據(jù)收發(fā)系統(tǒng),因此對(duì)各節(jié)點(diǎn)CAN模塊正確的初始化就顯得十分重要。初始化必須設(shè)置各節(jié)點(diǎn)中CAN模塊的通信波特率和同步跳轉(zhuǎn)寬度一致,且配置好節(jié)點(diǎn)模塊中的接收碼和屏蔽碼。再按照發(fā)送數(shù)據(jù)幀格式來(lái)配置郵箱ID和信息控制寄存器。4.1.1初始化位定時(shí)器CAN通信中的波特率設(shè)定與系統(tǒng)控制狀態(tài)寄存器SCSR1、CAN模塊中定時(shí)器BCR1和BCR2有關(guān)(其中BCR1和BCR2決定了CAN控制器的通信波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)和重同步方式)。在對(duì)位定時(shí)器進(jìn)行初始化時(shí),注意要先設(shè)置CAN模塊主控制寄存器MCR中的改變配置請(qǐng)求位為1,即CCR=1,并判斷全局狀態(tài)寄存器GSR中的改變配置使能位CCE是否為1,如為1則可進(jìn)行下面的初始化工作。而在完成對(duì)位定時(shí)器的初始化后需將CCR位清零以進(jìn)入正常工作模式;在配置BCR1和BCR2時(shí)要按照如下公式對(duì)CAN控制器波特率進(jìn)行設(shè)定:波特率=ICLK/[(BRP+1)+BitTime]式中:ICLK為CAN控制器的時(shí)鐘頻率,即在SCSR1中充定的DSP的系統(tǒng)頻率;BRP為波特率預(yù)分頻位,決定著CAN控制器的時(shí)間片TQ,TQ=(BRP+1)/ICLK;BitTime=(TSEG1+1)+(TESG2+1)+1,TSEG1為時(shí)間段1,可編程為3~16個(gè)TQ時(shí)間片。TSEG2為時(shí)間段2,必須小于或等于時(shí)間段1。4.1.2初始化郵箱對(duì)郵箱初始化即是對(duì)郵箱中的有關(guān)寄存器進(jìn)行初始化,主要用來(lái)設(shè)置郵箱接收或發(fā)送報(bào)文的標(biāo)識(shí)符,發(fā)送的是遠(yuǎn)程幀還是數(shù)據(jù)幀,并對(duì)發(fā)送的數(shù)據(jù)區(qū)賦初值。步驟為:禁止郵箱工作,即向郵箱方向/使能控制寄存器MDER中的郵箱使能位MEn(n=0~5)寫0;設(shè)置MCR寄存器中數(shù)據(jù)域改變請(qǐng)求位為1;配置郵箱的內(nèi)容;返回正常模式;使能郵箱。4.1.3郵箱信息的接收和發(fā)送在做完以上初始化工作后,就可以轉(zhuǎn)入郵箱的收發(fā)程序。為了大量的數(shù)據(jù)能在系統(tǒng)網(wǎng)絡(luò)上連續(xù)傳輸,在內(nèi)存設(shè)置了2個(gè)數(shù)據(jù)緩沖區(qū)(讀和寫2個(gè)數(shù)據(jù)區(qū)),分別用來(lái)存放要發(fā)送和接收的數(shù)據(jù)。用郵箱發(fā)送時(shí),將準(zhǔn)備發(fā)送的數(shù)據(jù)從寫數(shù)據(jù)存儲(chǔ)區(qū)寫到發(fā)送郵箱的數(shù)據(jù)區(qū),然后使能發(fā)送郵箱并設(shè)置TCR寄存器中發(fā)送請(qǐng)求位為1,判斷發(fā)送應(yīng)答信號(hào)和發(fā)送中斷標(biāo)志位,在成功發(fā)送之后再將發(fā)送中斷標(biāo)志位和發(fā)送應(yīng)答位清除。圖4數(shù)據(jù)發(fā)送流程圖對(duì)于一個(gè)接收事件來(lái)說,由于每個(gè)CAN節(jié)點(diǎn)接收數(shù)據(jù)是根據(jù)檢測(cè)網(wǎng)絡(luò)上數(shù)據(jù)幀的ID與接收郵箱中初始化設(shè)定的報(bào)文的設(shè)定ID是否相符來(lái)決定該節(jié)點(diǎn)是否接收此數(shù)據(jù),因此在接收事件中,要設(shè)置接收郵箱報(bào)文的標(biāo)識(shí)符及標(biāo)識(shí)符相關(guān)的局部屏蔽寄存器(LAM)。然后判斷接收信息懸掛位RMPn或接收中斷標(biāo)志位MIFn是否置位,如果位說明郵箱成功接收信息,將接收的數(shù)據(jù)轉(zhuǎn)移到讀據(jù)緩沖區(qū),然后復(fù)位接收中斷標(biāo)志位和接收信息懸掛位。圖5數(shù)據(jù)接收流程圖4.2SCI串行通信程序設(shè)計(jì)串行通信的程序分為DSP的串行收發(fā)和PC機(jī)的串行收發(fā)兩個(gè)。對(duì)于PC機(jī)的串行收發(fā)采用了標(biāo)準(zhǔn)串口通訊程序。TMS320LF2407串行通信的軟件設(shè)計(jì)可以采用查詢和中斷兩種方式,設(shè)計(jì)中采用了中斷方式接收數(shù)據(jù),并設(shè)置軟件發(fā)送標(biāo)志位來(lái)查詢發(fā)送的方式。程序分為主程序和中斷服務(wù)程序2個(gè)部分。在主程序中對(duì)SCI異步串口進(jìn)行初始化(包括操作模式、波特率、字符長(zhǎng)度、奇偶校驗(yàn)位、停止位位數(shù)、中斷優(yōu)先級(jí)和使能控制等信息)。主程序設(shè)置了軟件發(fā)送標(biāo)志位,并不斷查詢此位,在其置位時(shí)發(fā)送數(shù)據(jù)。中斷服務(wù)程序中,當(dāng)需要上傳數(shù)據(jù)時(shí),在中斷程序或其他的子程序中置發(fā)送標(biāo)志位,由主程序通過查詢?cè)摌?biāo)志位來(lái)控制發(fā)送數(shù)據(jù);對(duì)于接收數(shù)據(jù),則在中斷服務(wù)程序中,將接收到的數(shù)據(jù)地址與相應(yīng)軟件設(shè)置的地址進(jìn)行比較,采用地址位喚醒模式實(shí)現(xiàn)與上位機(jī)通訊。在串行通信中,時(shí)鐘和波特率的同步是十分重要的,在編程中,考慮到所用芯片的特性和實(shí)際應(yīng)用需要,采用了系統(tǒng)時(shí)鐘為20MHz,通訊波特率4800bit/s與RS-232進(jìn)行通信。根據(jù)公式:SCI異步波特率=SYSCLK/[(BRR+1)×8]來(lái)確定波特率選擇寄存器BRR的值。值得注意的是在串行通信設(shè)置中,串行通信控制寄存器SCICTL1的SLEEP位(上電時(shí)為1)設(shè)置很重要,SLEEP位為SCI休眠位,為1時(shí)使能休眠方式,它的正確設(shè)置可以使得通信過程正確的響應(yīng)中斷,從而轉(zhuǎn)移到相應(yīng)的服務(wù)程序中。因此必須正確設(shè)置使得程序只有在檢測(cè)到地址字節(jié)時(shí)被中斷。而在中斷程序中比較地址:若相同,則軟件清除SLEEP位,確保在收到每個(gè)數(shù)據(jù)字節(jié)都可產(chǎn)生中斷;若不相同,則保持SLEEP為1以接收下一個(gè)地址。由于系統(tǒng)為多節(jié)點(diǎn)的通信,因此采用了地址位喚醒模式來(lái)正確控制各節(jié)點(diǎn)間的數(shù)據(jù)收發(fā)。在調(diào)試程序中為每個(gè)節(jié)點(diǎn)設(shè)置了2個(gè)標(biāo)識(shí)地址(如00H和FFH),當(dāng)收到00H時(shí),DSP發(fā)送數(shù)據(jù),當(dāng)收到FFH時(shí),DSP接收數(shù)據(jù)。圖6、圖7分別為串行主程序和中斷服務(wù)程序的流程圖。圖6串行通信主程序流程圖圖7中斷服務(wù)程序的流程圖5結(jié)束語(yǔ)系統(tǒng)解決了野外作業(yè)時(shí)要求高穩(wěn)定性的遠(yuǎn)程數(shù)據(jù)傳輸問題,可以在環(huán)境惡劣的情況下,多點(diǎn)采集數(shù)據(jù),并將采集到的數(shù)據(jù)及時(shí)處理傳輸?shù)竭h(yuǎn)端上位機(jī)進(jìn)行分析控制。在實(shí)際的測(cè)試中,用此系統(tǒng)很好地完成了數(shù)據(jù)的采集傳輸工作,由此得出此系統(tǒng)可以穩(wěn)定的進(jìn)行工作。參考文獻(xiàn):

[1].PCdatasheet/datasheet/PC+_2043275.html.[2].TMS320LF2407datasheet/datasheet/TMS320LF2407+_309787.html.[3].UC

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論