



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于在總線上的應(yīng)用研究 摘 要:介紹了以DSP(TMS320F2407A)和收發(fā)器SN65HVD230D為主體所構(gòu)成的控制模塊在CAN總線上的應(yīng)用。詳細(xì)分析了實(shí)時(shí)操作系統(tǒng)uC/OS-II在DSP中的移植,從而提高系統(tǒng)的實(shí)時(shí)性和軟件的運(yùn)行效率。 關(guān)鍵詞:CAN總線;TMS320F2407A;接口技術(shù);uC/OS-II,嵌入式操作系統(tǒng) 1 引言 CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN是一種多種方式的串行通訊總線,基本設(shè)計(jì)規(guī)
2、范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出任何錯(cuò)誤。 由于CAN總線具有很高的實(shí)時(shí)性能,因此,CAN已經(jīng)在汽車、航空工業(yè)、工業(yè)控制、安全防護(hù)等領(lǐng)域中得到了廣泛應(yīng)用。 TMS320LF2407A是美國TI公司生產(chǎn)的一種定點(diǎn)DSP芯片,它采用增強(qiáng)的C2xx CPU內(nèi)核結(jié)構(gòu),代碼與24x系列的芯片兼容。與24X系列的DSP芯片相比,TMS320LF2407A采用3.3 V電源供電,功耗更低;CPU時(shí)鐘頻率可達(dá)40MHz,速度更快,EVM板可對LF2407代碼進(jìn)行全速檢查,其中有544個(gè)字長的片上數(shù)據(jù)存儲器、128K字長的板上存儲器、片上只讀閃爍存儲器,片上UART和一個(gè)MP7680/A轉(zhuǎn)換器
3、, 可分別尋址程序存儲器、數(shù)據(jù)存儲器以及I/O各 64位空間和兩個(gè)事件管理模塊 EVA和EVB,各有兩個(gè)16位的通用定時(shí)器。板上安裝的器件可使評估板解決各類問題,4個(gè)擴(kuò)展接口,可提供任何評估電路。TMS320LF2407A中含有一個(gè)支持CAN 2.0B協(xié)議的CAN控制器,支持標(biāo)準(zhǔn)和擴(kuò)展標(biāo)識襯;支持兩種信息幀格式,即數(shù)據(jù)幀和遠(yuǎn)程幀,可以自動(dòng)應(yīng)答遠(yuǎn)程幀的請求,當(dāng)出現(xiàn)錯(cuò)誤或仲裁失敗時(shí),具有自動(dòng)重發(fā)數(shù)據(jù)功能。本文主要介紹使用TMS320LF2407A進(jìn)行CAN通信時(shí)硬件和軟件方面的設(shè)計(jì)。 2 DSP功能介紹 本系統(tǒng)采用的TMS320LF2407A微處理器主要包括以下一些功能模塊: (1)一個(gè)32位的中
4、央算術(shù)邏輯單元(CALU)。 (2)一個(gè)32位的累加器(ACC)。 (3) CALU的輸入和輸出定標(biāo)移位器。 (4)一個(gè)乘積定標(biāo)移位器(PSCALE )。 (5)8個(gè)輔助寄存器(ARO-AR7 )。 (6)一個(gè)輔助寄存器算術(shù)單元(ARAU),該模塊提供了靈活而強(qiáng)大的間接尋址能力。 (7)還有兩個(gè)狀態(tài)寄存器ST0和ST1,它們包含有決定處理器工作方式、頁地址指針值以及指示處理器不同條件和算術(shù)邏輯運(yùn)算結(jié)果的位。 (8)TMS320LF2407A的16X16位乘法器是由寄存器TREG, PREG和一個(gè)硬件乘法器構(gòu)成。其中TREG是臨時(shí)寄存器,在作乘法運(yùn)算時(shí)用來存儲一個(gè)乘數(shù),而PREG則是結(jié)果寄存器,
5、存儲乘法運(yùn)算所產(chǎn)生的結(jié)果。 (9)TMS320LF2407A具有8級硬件堆棧。當(dāng)子程序調(diào)用或中斷發(fā)生時(shí),程序地址產(chǎn)生邏輯把堆棧用于存儲返回地址或其它的一些參數(shù)。當(dāng)子程序調(diào)用或中斷服務(wù)子程序完成時(shí),返回指令將從堆棧頂返回地址或參數(shù)送到CPU寄存器中去。 3 CAN的接口 DSP芯片TMS320LF2407A中集成了一個(gè)CAN控制器,CAN接口線提供額外的高速竄行借口,其中有1個(gè)4針mini-DIN母接口,它可以用來連接CAN接口,接口管腳輸出如圖1; 管腳的定義如表1: 4 收發(fā)器的選擇 CAN總線以其較高的通訊速率、良好的抗電磁干擾能力可實(shí)現(xiàn)高可靠性串行通信,因而在實(shí)際應(yīng)用中具有極高的應(yīng)用價(jià)值
6、。但是,隨著集成技術(shù)的不斷,為了節(jié)省功耗,縮小電路體積,一些新型CAN總線控制器的邏輯電路平均采用LVTTL,這就需要與之相適應(yīng)的總線收發(fā)器。中介紹最多的CAN總線收發(fā)器是Philip公司生產(chǎn)的820250,它與CAN總線控制器SGA1000配合使用時(shí)非常方便,但由于它使用5V電源供電,而DSP芯片TMS320LF2407A采用3.3V電源供電,將兩者配合使用時(shí),中問要加電平轉(zhuǎn)換電路,為電路的設(shè)計(jì)帶來了不便。TI公司生產(chǎn)的SN65HVD230X型電路很好地解決了這個(gè)問題。它是采用3.3 V電源,有很高的輸入阻抗,總線上最多可連120個(gè)節(jié)點(diǎn),ESD保護(hù)超過16KV, 溫度升高到一定值時(shí),總線自動(dòng)
7、關(guān)閉,節(jié)點(diǎn)上電或移去對總線上的其它節(jié)點(diǎn)沒有影明,技術(shù)標(biāo)準(zhǔn)兼容1S011898。我選取的即是SN65HVD230D,它的引腳排位及邏輯功能如圖2所示。 5 軟件系統(tǒng)的設(shè)計(jì) 本文采用的是由Jean J.Labrosse編寫的開放式實(shí)時(shí)操作系統(tǒng)uC/OS-II,主要是基于以下的考慮:(1)它的內(nèi)核是完全免費(fèi)的。用戶不需支付任何費(fèi)用,有利于降低系統(tǒng)開發(fā)成本。(2)它的源代碼是公開的,并且仍在不斷的升級,增加新功能。源代碼的開放可以使得用戶根據(jù)實(shí)際要求對源代碼進(jìn)行取舍,去掉不必要的變量和不使用的函數(shù),提高系統(tǒng)性能。另外,由于對系統(tǒng)內(nèi)核有源代碼級的了解,用戶可以添加自己的模塊,與原有系統(tǒng)內(nèi)核兼容,使得系統(tǒng)
8、具有可擴(kuò)展性。(3)系統(tǒng)內(nèi)核實(shí)用性強(qiáng)、可靠性高。從最老版本的uCOS,以及后來的uC/OS,到最新版本的uC/OS-II,該實(shí)時(shí)內(nèi)核已經(jīng)走過了近10年的歷程。10年來,世界上已有數(shù)千人在各個(gè)領(lǐng)域使用了該實(shí)時(shí)內(nèi)核,如醫(yī)療器械、設(shè)備、自動(dòng)提款機(jī)、工業(yè)機(jī)器人等等。這些應(yīng)用的實(shí)踐是該內(nèi)核實(shí)用性、無誤性的最好證據(jù)。(4)操作系統(tǒng)內(nèi)核對處理器以及ROM, RAM資源的要求不高,有利于在8位處理器上的移植。(5)它可以為嵌入式TCP/IP協(xié)議需要提供對多用戶的支持。 5.1 操作系統(tǒng)uC/OS-II在TMS320LF2407A的移植 雖然uC/OS-II大部分的代碼是用C語言寫的,但仍需要用匯編語言寫一些與
9、處理器相關(guān)的代碼,這是因?yàn)閡C/OS-II在讀寫處理器、寄存器時(shí)只能通過匯編語言來實(shí)現(xiàn)。 5.2 移植工作介紹 uC/OS-II的移植工作主要就是修改C語言頭文件OS_CPU.H.C語言源文件OS_CPU-C.C和匯編語言文件OS_CPU_A.ASM。 移植頭文件OS_CPU.H。 為了確保其可移植性uC/ OS- II不使用C語言中的short;int;long等與編譯器相關(guān)的數(shù)據(jù)類型,而是定義了一系列可移植又很直觀的數(shù)據(jù)類型如:INT8U,INT16S,INT328等這部分工作在C語言頭文件OS_CPU.H中實(shí)現(xiàn)。應(yīng)該指出的是,雖然在移植過程中將uC/ OS- II數(shù)據(jù)類型BOOLEAN,
10、INT8U,INT8S分別定義為unsigned char和signed char類型,但是由于TMS320LF2407A內(nèi)核與數(shù)據(jù)總線寬度都是16bit,所以這幾種類型的數(shù)據(jù)實(shí)際上都要占用一個(gè)16bit字的內(nèi)存。頭文件OS_CPL.H另一個(gè)主要內(nèi)容是定義用于臨界段代碼保護(hù)的兩個(gè)宏OS_INTER_CRITICAL()和OS EXITCRITICAL(). 移植匯編文件OS_CPU_A.ASM。 1 OS_CPU_A.ASM文件中包括有四個(gè)函數(shù)都涉及對寄存器的處理,其跟處理器有關(guān),由于不同的處理器有
11、不同的寄存器,所以操作系統(tǒng)在這個(gè)文件里給用戶留下四個(gè)函數(shù)接口,以便用戶根據(jù)所選處理器編寫相應(yīng)的程序以完成固定的功能.四個(gè)函數(shù)分別是OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。 OSStartHighRdy()函數(shù)的實(shí)現(xiàn)。 OSStartHighRdy()函數(shù)是一個(gè)高優(yōu)先級就緒任務(wù)啟動(dòng)函數(shù),主要是將任務(wù)棧中的保存值彈回到CPU寄存器中,然后執(zhí)行返回指令,中斷返回指令強(qiáng)制執(zhí)行該任務(wù)代碼,實(shí)現(xiàn)多任務(wù)啟動(dòng)。 OSCTxSw()和OSIntCtxSw()函數(shù)的實(shí)現(xiàn)。 OSCtxSw()和OSIntCtxSw()都是任務(wù)切換函數(shù),不同的是后者為中
12、斷級任務(wù)切換函數(shù),由于后者是在ISR中被調(diào)用的,所以需要調(diào)整堆棧指針SP去掉在調(diào)用OSIntExit(),OSIntCtxSw()過程中壓入堆棧的多余內(nèi)容。它們的主要功能是將要掛起的任務(wù)的寄存器值保存起來,將要執(zhí)行的任務(wù)的寄存器的內(nèi)容恢復(fù)。 OSCtxSw()該函數(shù)完成的是任務(wù)級的任務(wù)切換工作。其目的是為了保證處理器永遠(yuǎn)運(yùn)行就緒表中優(yōu)先級最高的任務(wù),這跟OSStartHighRdy()類似。然而,后者是由OSStart()調(diào)用的,只是執(zhí)行啟動(dòng)多任務(wù)的功能,而OSCTxSw()是在任務(wù)調(diào)度函數(shù)OSSched()通過宏定義OS TASKse SW()調(diào)用的,執(zhí)行的是多任務(wù)的調(diào)度功能:不僅要使得高優(yōu)
13、先級任務(wù)得以恢復(fù)運(yùn)行,還得將待切換出去的任務(wù)保存起來,兩者的差別也可以從程序的處理過程比較出來。 OSTickISR()函數(shù)的實(shí)現(xiàn)。 OSTickISR()是用定時(shí)器1產(chǎn)生一個(gè)周期為25毫秒的時(shí)鐘源提供給uC/OS-II,這是uC/OS-II時(shí)間延遲和超時(shí)功能的時(shí)間基準(zhǔn)。OSTickISR()是該定時(shí)器周期中斷的中斷服務(wù)程序。它主要有兩個(gè)功能:一個(gè)是調(diào)用OSTimeTick()函數(shù),自系統(tǒng)上電以來所經(jīng)歷的時(shí)鐘節(jié)拍數(shù),并將每個(gè)處延時(shí)等待狀態(tài)的任務(wù)的OSTCSDly項(xiàng)減1:另一個(gè)是調(diào)用。OSIntEXit()函數(shù)察看是否有更高優(yōu)先級的任務(wù)因時(shí)鐘節(jié)拍到來而延遲時(shí)間并進(jìn)入就緒態(tài),如果有則進(jìn)行中斷級的任
14、務(wù)切換。另外,在該函數(shù)的入口處要將OSIntNesting加1;在出口處將OSIntNesting減1。 5.3 語言源文件OS_CPU_C.C文件的修改 UC/OS-II的移植需要修改該文件中的10個(gè)C函數(shù)OS-TaskStkInit; OSTaskCreateHook; OSTaskDeHIook;OS-TaskSwHook;OSTaskIdleHook;OSTaskStatHook;OS-TimeTickHook; OSInitHookhenin;OSInitHookEnd;OSTCBInitHook。其中只有函數(shù)OSTaskStkInit()修改是必要的,其它函數(shù)是為了方便用戶擴(kuò)展而設(shè)
15、的,可以定義為空。OSTaskStklnit()用于系統(tǒng)創(chuàng)建用戶任務(wù)時(shí),建立并初始化任務(wù)堆棧。該函數(shù)和處理器的硬件體系密切相關(guān),它將所需的寄存器入棧,返回新堆棧的棧頂?shù)牡刂罚⑺鼈儽4嬖谠撊蝿?wù)的任務(wù)控制塊OS_TCB中,最終使初始化后的堆棧跟剛發(fā)生過一次中斷一樣。這樣,系統(tǒng)無需對調(diào)度程序作特殊的處理即可直接對新任務(wù)進(jìn)行調(diào)度。 6 結(jié)論 CAN總線因具有通信方式靈活、實(shí)時(shí)性好、可靠性高,通信距離遠(yuǎn)、傳輸速度快等優(yōu)點(diǎn)被廣泛地應(yīng)用于航空、航海、汽車以及各種自動(dòng)化控制系統(tǒng).而DSP芯片內(nèi)嵌了16通道的A/D轉(zhuǎn)換模塊,因此凡是適用于CAN總線通信的研究, TMS320LF2407A基本上也都應(yīng)用.而且它的功能,比使用單片機(jī)的效率要高得多。在軟件設(shè)計(jì)上,采用了嵌入式操作系統(tǒng)作為軟件開發(fā)平臺,從而為用戶提供良好的人機(jī)交互方式和較強(qiáng)的應(yīng)用程序接口,進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性和軟件的運(yùn)行效率,以嵌入式操作系統(tǒng)和DSP相結(jié)合的開發(fā)平臺可以滿足實(shí)時(shí)測控系統(tǒng)的需求。以上系統(tǒng)已經(jīng)在長春工業(yè)大學(xué)智能檢測實(shí)驗(yàn)室實(shí)際調(diào)試通過,并可跟據(jù)不同的需求作擴(kuò)展。 1陽
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子產(chǎn)品采購合同書范文
- 標(biāo)準(zhǔn)抵押車輛轉(zhuǎn)讓合同書樣本
- 標(biāo)準(zhǔn)個(gè)人租房合同簡化版
- 2025年外來務(wù)工人員勞動(dòng)合同范文標(biāo)準(zhǔn)
- 2025年辦公家具定制安裝合同協(xié)議書范本
- 發(fā)明專利申請權(quán)轉(zhuǎn)讓合同
- 2025年度授權(quán)經(jīng)銷轉(zhuǎn)讓合同樣本
- 2025年農(nóng)業(yè)綜合開發(fā)土地使用權(quán)出讓合同
- 2025年度策劃產(chǎn)品獨(dú)家代理合同
- 2025年北京市新建住宅購買合同
- 2021年山東省威海市中考語文真題(解析版)
- 主動(dòng)脈夾層的護(hù)理-ppt課件
- 高新技術(shù)企業(yè)認(rèn)定申請書樣例與說明
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter6 Tree
- 高壓氧科工作總結(jié)高壓氧科個(gè)人年終總結(jié).doc
- 《政治學(xué)概論》教學(xué)大綱
- 橋梁缺陷與預(yù)防
- 食品生物化學(xué)習(xí)題謝達(dá)平(動(dòng)態(tài))
- 保安員工入職登記表
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 機(jī)械設(shè)計(jì)基礎(chǔ)平面連桿機(jī)構(gòu)課件
評論
0/150
提交評論