999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TMS320 LF2407A在CAN總線上的應用研究

2008-01-01 00:00:00鄭旭浩
現代商貿工業 2008年4期

摘 要:介紹了以DSP(TMS320F2407A)和收發器SN65HVD230D為主體所構成的控制模塊在CAN總線上的應用。詳細分析了實時操作系統uC/OS-II在DSP中的移植,從而提高系統的實時性和軟件的運行效率。

關鍵詞:CAN總線;TMS320F2407A;接口技術;uC/OS-II,嵌入式操作系統 

中圖分類號:TP202文獻標識碼:A文章編號:1672-3198(2008)04-0224-03

1 引言

CAN,全稱為“Controller Area Network”,即控制器局域網,是國際上應用最廣泛的現場總線之一。CAN是一種多種方式的串行通訊總線,基本設計規范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出任何錯誤。 由于CAN總線具有很高的實時性能,因此,CAN已經在汽車工業、航空工業、工業控制、安全防護等領域中得到了廣泛應用。

TMS320LF2407A是美國TI公司生產的一種定點DSP芯片,它采用增強的C2xx CPU內核結構,代碼與24x系列的芯片兼容。與24X系列的DSP芯片相比,TMS320LF2407A采用3.3 V電源供電,功耗更低;CPU時鐘頻率可達40MHz,速度更快,EVM板可對LF2407代碼進行全速檢查,其中有544個字長的片上數據存儲器、128K字長的板上存儲器、片上只讀閃爍存儲器,片上UART和一個MP7680/A轉換器, 可分別尋址程序存儲器、數據存儲器以及I/O各 64位空間和兩個事件管理模塊 EVA和EVB,各有兩個16位的通用定時器。板上安裝的器件可使評估板解決各類問題,4個擴展接口,可提供任何評估電路。TMS320LF2407A中含有一個支持CAN 2.0B協議的CAN控制器,支持標準和擴展標識襯;支持兩種信息幀格式,即數據幀和遠程幀,可以自動應答遠程幀的請求,當出現錯誤或仲裁失敗時,具有自動重發數據功能。本文主要介紹使用TMS320LF2407A進行CAN通信時硬件和軟件方面的設計。

2 DSP功能介紹

本系統采用的TMS320LF2407A微處理器主要包括以下一些功能模塊:

(1)一個32位的中央算術邏輯單元(CALU)。

(2)一個32位的累加器(ACC)。

(3) CALU的輸入和輸出定標移位器。

(4)一個乘積定標移位器(PSCALE )。

(5)8個輔助寄存器(ARO-AR7 )。

(6)一個輔助寄存器算術單元(ARAU),該模塊提供了靈活而強大的間接尋址能力。

(7)還有兩個狀態寄存器ST0和ST1,它們包含有決定處理器工作方式、頁地址指針值以及指示處理器不同條件和算術邏輯運算結果的位。

(8)TMS320LF2407A的16X16位乘法器是由寄存器TREG, PREG和一個硬件乘法器構成。其中TREG是臨時寄存器,在作乘法運算時用來存儲一個乘數,而PREG則是結果寄存器,存儲乘法運算所產生的結果。

(9)TMS320LF2407A具有8級硬件堆棧。當子程序調用或中斷發生時,程序地址產生邏輯把堆棧用于存儲返回地址或其它的一些參數。當子程序調用或中斷服務子程序完成時,返回指令將從堆棧頂返回地址或參數送到CPU寄存器中去。

3 CAN的接口

DSP芯片TMS320LF2407A中集成了一個CAN控制器,CAN接口線提供額外的高速竄行借口,其中有1個4針mini-DIN母接口,它可以用來連接CAN接口,接口管腳輸出如圖1; 管腳的定義如表1:

4 收發器的選擇

CAN總線以其較高的通訊速率、良好的抗電磁干擾能力可實現高可靠性串行通信,因而在實際應用中具有極高的應用價值。但是,隨著集成技術的不斷發展,為了節省功耗,縮小電路體積,一些新型CAN總線控制器的邏輯電路平均采用LVTTL,這就需要與之相適應的總線收發器。文獻中介紹最多的CAN總線收發器是Philip公司生產的820250,它與CAN總線控制器SGA1000配合使用時非常方便,但由于它使用5V電源供電,而DSP芯片TMS320LF2407A采用3.3V電源供電,將兩者配合使用時,中問要加電平轉換電路,為電路的設計帶來了不便。TI公司生產的SN65HVD230X型電路很好地解決了這個問題。它是采用3.3 V電源,有很高的輸入阻抗,總線上最多可連120個節點,ESD保護超過16KV, 溫度升高到一定值時,總線自動關閉,節點上電或移去對總線上的其它節點沒有影明,技術標準兼容1S011898。我選取的即是SN65HVD230D,它的引腳排位及邏輯功能如圖2所示。

5 軟件系統的設計

本文采用的是由Jean J.Labrosse編寫的開放式實時操作系統uC/OS-II,主要是基于以下的考慮:(1)它的內核是完全免費的。用戶不需支付任何費用,有利于降低系統開發成本。(2)它的源代碼是公開的,并且仍在不斷的升級,增加新功能。源代碼的開放可以使得用戶根據實際要求對源代碼進行取舍,去掉不必要的變量和不使用的函數,提高系統性能。另外,由于對系統內核有源代碼級的了解,用戶可以添加自己的模塊,與原有系統內核兼容,使得系統具有可擴展性。(3)系統內核實用性強、可靠性高。從最老版本的uCOS,以及后來的uC/OS,到最新版本的uC/OS-II,該實時內核已經走過了近10年的歷程。10年來,世界上已有數千人在各個領域使用了該實時內核,如醫療器械、網絡設備、自動提款機、工業機器人等等。這些應用的實踐是該內核實用性、無誤性的最好證據。(4)操作系統內核對處理器以及ROM, RAM資源的要求不高,有利于在8位處理器上的移植。(5)它可以為嵌入式TCP/IP協議需要提供對多用戶的支持。

5.1 操作系統uC/OS-II在TMS320LF2407A的移植

雖然uC/OS-II大部分的代碼是用C語言寫的,但仍需要用匯編語言寫一些與處理器相關的代碼,這是因為uC/OS-II在讀寫處理器、寄存器時只能通過匯編語言來實現。 

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等與編譯器相關的數據類型,而是定義了一系列可移植又很直觀的數據類型如:INT8U,INT16S,INT328等這部分工作在C語言頭文件OS_CPU.H中實現。應該指出的是,雖然在移植過程中將uC/ OS- II數據類型BOOLEAN,INT8U,INT8S分別定義為unsigned char和signed char類型,但是由于TMS320LF2407A內核與數據總線寬度都是16bit,所以這幾種類型的數據實際上都要占用一個16bit字的內存。頭文件OS_CPL.H另一個主要內容是定義用于臨界段代碼保護的兩個宏OS_INTER_CRITICAL()和OS EXITCRITICAL().

②移植匯編文件OS_CPU_A.ASM。

OS_CPU_A.ASM文件中包括有四個函數都涉及對寄存器的處理,其跟處理器有關,由于不同的處理器有不同的寄存器,所以操作系統在這個文件里給用戶留下四個函數接口,以便用戶根據所選處理器編寫相應的程序以完成固定的功能.四個函數分別是OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。

③OSStartHighRdy()函數的實現。

OSStartHighRdy()函數是一個高優先級就緒任務啟動函數,主要是將任務棧中的保存值彈回到CPU寄存器中,然后執行返回指令,中斷返回指令強制執行該任務代碼,實現多任務啟動。 

④OSCTxSw()和OSIntCtxSw()函數的實現。

OSCtxSw()和OSIntCtxSw()都是任務切換函數,不同的是后者為中斷級任務切換函數,由于后者是在ISR中被調用的,所以需要調整堆棧指針SP去掉在調用OSIntExit(),OSIntCtxSw()過程中壓入堆棧的多余內容。它們的主要功能是將要掛起的任務的寄存器值保存起來,將要執行的任務的寄存器的內容恢復。

OSCtxSw()該函數完成的是任務級的任務切換工作。其目的是為了保證處理器永遠運行就緒表中優先級最高的任務,這跟OSStartHighRdy()類似。然而,后者是由OSStart()調用的,只是執行啟動多任務的功能,而OSCTxSw()是在任務調度函數OSSched()通過宏定義OS TASKse SW()調用的,執行的是多任務的調度功能:不僅要使得高優先級任務得以恢復運行,還得將待切換出去的任務保存起來,兩者的差別也可以從程序的處理過程比較出來。

⑤OSTickISR()函數的實現。

OSTickISR()是用定時器1產生一個周期為25毫秒的時鐘源提供給uC/OS-II,這是uC/OS-II時間延遲和超時功能的時間基準。OSTickISR()是該定時器周期中斷的中斷服務程序。它主要有兩個功能:一個是調用OSTimeTick()函數,計算自系統上電以來所經歷的時鐘節拍數,并將每個處延時等待狀態的任務的OSTCSDly項減1:另一個是調用。OSIntEXit()函數察看是否有更高優先級的任務因時鐘節拍到來而延遲時間并進入就緒態,如果有則進行中斷級的任務切換。另外,在該函數的入口處要將OSIntNesting加1;在出口處將OSIntNesting減1。

5.3 語言源文件OS_CPU_C.C文件的修改

UC/OS-II的移植需要修改該文件中的10個C函數OS-TaskStkInit; OSTaskCreateHook; OSTaskDeHIook;OS-TaskSwHook;OSTaskIdleHook;OSTaskStatHook;OS-TimeTickHook; OSInitHookhenin;OSInitHookEnd;OSTCBInitHook。其中只有函數OSTaskStkInit()修改是必要的,其它函數是為了方便用戶擴展而設的,可以定義為空。OSTaskStklnit()用于系統創建用戶任務時,建立并初始化任務堆棧。該函數和處理器的硬件體系密切相關,它將所需的寄存器入棧,返回新堆棧的棧頂的地址,并將它們保存在該任務的任務控制塊OS_TCB中,最終使初始化后的堆棧跟剛發生過一次中斷一樣。這樣,系統無需對調度程序作特殊的處理即可直接對新任務進行調度。

6 結論

CAN總線因具有通信方式靈活、實時性好、可靠性高,通信距離遠、傳輸速度快等優點被廣泛地應用于航空、航海、汽車以及各種工業自動化控制系統.而DSP芯片內嵌了16通道的A/D轉換模塊,因此凡是適用于CAN總線通信的研究, TMS320LF2407A基本上也都應用.而且它的功能,比使用單片機的效率要高得多。在軟件設計上,采用了嵌入式操作系統作為軟件開發平臺,從而為用戶提供良好的人機交互方式和較強的應用程序接口,進一步提高系統的實時性和軟件的運行效率,以嵌入式操作系統和DSP相結合的開發平臺可以滿足實時測控系統的需求。以上系統已經在長春工業大學智能檢測實驗室實際調試通過,并可跟據不同的需求作擴展。

參考文獻

[1]陽憲惠.現場總線技術及其應用[J].清華大學出版社,1999.

[2]劉和平.TMS320LF240X DSP結構、原理及應用[M].北京:北京航空航人大學出版社,2002.

[3]遲瑞娟,曹正清.基于CAN總線的整車管理系統硬件設計[N].中國農業大學學報,2002, 7 (4):91-94.[4]鄰寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996.

[5]Jean J.Labross-e著,邵貝貝等譯.嵌入式實時操作系統uC/OS-II(第2版)[M].北京:北京航空航人人學出版社,2003.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 亚亚洲乱码一二三四区| 欧美一级黄片一区2区| 在线观看91精品国产剧情免费| 成人日韩视频| swag国产精品| 亚洲自偷自拍另类小说| 天天综合色网| 激情无码字幕综合| 在线观看国产网址你懂的| 午夜福利亚洲精品| 91精品专区| 国产欧美日韩在线一区| 91免费国产高清观看| 国产国拍精品视频免费看| 成人字幕网视频在线观看| 亚洲精品视频免费| 日本一区二区三区精品视频| 国产成人高清亚洲一区久久| 免费无码又爽又刺激高| 女人天堂av免费| 国产精品区视频中文字幕| 亚洲精品无码久久久久苍井空| 午夜三级在线| 亚洲水蜜桃久久综合网站| 福利在线一区| 国产精品私拍99pans大尺度| 免费国产福利| 欧美激情视频在线观看一区| 中文字幕首页系列人妻| 日本国产精品一区久久久| 久久久久人妻一区精品| 国产精品无码AⅤ在线观看播放| 欧美视频在线第一页| 日本91在线| 国产麻豆福利av在线播放| 国产欧美在线观看一区| 国产在线视频自拍| 久久精品国产电影| 毛片在线看网站| 成年人久久黄色网站| 亚洲色无码专线精品观看| 亚洲成人一区在线| 日日摸夜夜爽无码| 久久精品中文字幕免费| 91探花国产综合在线精品| 国产亚洲精品97AA片在线播放| 国产精品v欧美| 亚洲av中文无码乱人伦在线r| 久久一本日韩精品中文字幕屁孩| 欧美无遮挡国产欧美另类| 久草国产在线观看| 亚洲中文字幕在线一区播放| 91视频区| 国产精品人莉莉成在线播放| 亚洲天堂免费| 在线观看国产精品日本不卡网| 国产日韩欧美黄色片免费观看| 毛片在线播放a| 九色91在线视频| 日韩精品一区二区三区swag| 国产精品成| 久久久久九九精品影院| 精品三级网站| a毛片免费观看| 国产激爽大片在线播放| 亚洲人成网18禁| 久久精品一品道久久精品| 亚洲最大福利网站| 国产亚洲成AⅤ人片在线观看| 思思99热精品在线| 欧美一级片在线| 在线人成精品免费视频| 亚洲精品无码AV电影在线播放| 成AV人片一区二区三区久久| 久久精品国产电影| 尤物午夜福利视频| 无码内射中文字幕岛国片| 欧美中文字幕一区二区三区| 精品福利视频网| 国产后式a一视频| 亚洲青涩在线| 午夜不卡视频|