日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]引言 在系統(tǒng)越來越復雜,功能越來越強大的今天,嵌入式系統(tǒng)的設計中采用實時多任務操作系統(tǒng)已經(jīng)成為嵌入式應用設計的主流。μCOS-II是一個開源嵌入式實時操作系統(tǒng)(Real Time Operating System, RTOS),它已經(jīng)被成

引言
在系統(tǒng)越來越復雜,功能越來越強大的今天,嵌入式系統(tǒng)的設計中采用實時多任務操作系統(tǒng)已經(jīng)成為嵌入式應用設計的主流。μCOS-II是一個開源嵌入式實時操作系統(tǒng)(Real Time Operating System, RTOS),它已經(jīng)被成功移植到各種CPU上。但是基于μCOS-II的應用軟件需要在移植操作系統(tǒng)后自行完成。模塊化的應用程序設計可以使得嵌入式設計變得更加方便,產(chǎn)品的開發(fā)更加迅速。S3C44B0是三星公司生產(chǎn)的一種ARM7芯片,性能強大,在通用嵌入式設計中運用廣泛。CAN總線(Control Area Network)是一種有效支持分布式控制和實時控制的現(xiàn)場總線,由于其高性能和高可靠性,CAN總線的應用范圍廣布過程工業(yè)、機器人和機械工業(yè)等領域。論文將μCOS-II移植到S3C44B0上,設計開發(fā)了基于μCOS-II的CAN通訊模塊,與傳統(tǒng)的前后臺形式的系統(tǒng)相比較,CAN總線在μCOS- II下運行,實時性更容易得到保證,更容易進行功能擴展。

1 S3C44BO簡介

S3C44B0是三星公司設計的16/32位RISC處理器,為手持設備等提供一個低成本高性能的方案。S3C44B0提供2.5V ARM7TDMI內(nèi)核,最高時鐘頻率66MHz,總線尋址空間達到256M,采用中斷矢量表來減少中斷延遲,提供30個中斷源,支持C語言編程和多任務處理,具有豐富的片內(nèi)資源:LCD控制器、2路UART、2路DMA、外部存儲器控制器、5路帶PWM輸出的定時器、看門狗、RTC、8路10bit ADC、IIC接口、IIS接口、SIO等等。

2 SJA1000和82C250簡介

SJA1000是一種獨立CAN控制器,它是PHILIPS公司的PCA82C200 CAN控制器的替代產(chǎn)品。SJA1000具有BasicCAN和PeliCAN兩種工作方式,PeliCAN工作方式支持具有很多新特性的CAN2.0B 協(xié)議。SJA1000同時支持11位和29位識別碼,位速率最快可達1Mbits/s,時鐘頻率最高為24MHz,支持PeliCAN模式的擴展功能,如支持一些錯誤分析功能,支持系統(tǒng)診斷、系統(tǒng)維護、系統(tǒng)優(yōu)化等。

82C250是PHILIPS公司生產(chǎn)的CAN總線收發(fā)器,提供對總線的差動發(fā)送和差動接收功能,另外還具有電流限制電路,提供了對總線的進一步保護功能。

3μCOS-II在S3C44B0上的移植

μCOS-II (micro-controller OS II)是一種開放式的操作系統(tǒng)內(nèi)核,它是專為微控制器系統(tǒng)和軟件開發(fā)而設計的占先式的實時多任務操作系統(tǒng)微內(nèi)核。μCOS-II是一個源碼公開、可移植、可固化、可剪裁、具可剝奪性、可確定性的實時多任務操作系統(tǒng)。它的絕大部分代碼是用ANSI C語言編寫的,只有和處理器相關的不到200行代碼是用匯編語言編寫,因此可移植性很好,比較容易移植到各種體系的CPU上面。本文中將μCOS-II移植到S3C44B0上面運行,該移植工作主要是三個文件的修改工作:

改頭文件OS_CPU.H相關內(nèi)容,包括:數(shù)據(jù)類型定義、堆棧增長方向、中斷相關的一些宏定義等。

在OS_CPU_C.C中編寫任務堆棧初始化函數(shù)及系統(tǒng)HOOK函數(shù)。

在OS_CPU_A.ASM中編寫四個匯編語言函數(shù):OSSstartHighRdy()、OSCtxSw()、OSIntCtxSw()和OSTickISR()。

完成上述工作后,μCOS-II就可以運行在S3C44B0處理器上了。

4 CAN總線智能節(jié)點的軟硬件結(jié)構(gòu)

CAN總線是現(xiàn)場總線的一種,它結(jié)構(gòu)簡單,通信方式靈活,采用非破壞性仲裁技術,通信采用短幀格式,從而可以形成低成本,高性能,實時性好的通訊系統(tǒng)。

4.1 CAN總線智能節(jié)點的硬件結(jié)構(gòu)

用S3C44B0和SJA1000來實現(xiàn)CAN總線節(jié)點時,SJA1000采用地址數(shù)據(jù)復用的數(shù)據(jù)傳輸方式,而S3C44B0卻采用分開的地址總線與數(shù)據(jù)總線,因此,不能像51系列單片機和SJA-1000那樣直接相連,而必須另想辦法。將發(fā)送的地址和數(shù)據(jù)都從數(shù)據(jù)總線上發(fā)出,而用IO口和 nGCSx, nOE, nWE等信號來形成ALE信號和讀、寫、片選信號接到SJA1000,這樣就可以完成S3C44B0和SJA1000的連接,在硬件上形成CAN總線節(jié)點,同時為了保證信號不互相干擾,采用光耦6N137來進行隔離。另外,S3C44B0的3.3V信號和SJA1000的5V信號之間需要進行電平轉(zhuǎn)換。

 

4.2 CAN總線智能節(jié)點的軟件結(jié)構(gòu)

采用BasicCAN模式,RX和TX緩沖器各是10個字節(jié)長,其中兩個ID字節(jié)和最多8個數(shù)據(jù)字節(jié)。其中ID字節(jié)1是8個ID位,ID字節(jié)2是3 個ID位,1個遠程發(fā)送請求位和4個數(shù)據(jù)長度代碼位。11位的ID能夠建立2032種報文類型,足夠普通應用的需求。ID位的規(guī)定可根據(jù)實際需要自行定義。

發(fā)送報文時調(diào)用CAN發(fā)送函數(shù)U8 BCAN_DATA_WRITE(U8 *SendDataBuf),其中*SendDataBuf指向要發(fā)的內(nèi)容。在這個函數(shù)里,將報文內(nèi)容按CAN接受緩沖器規(guī)定的格式填入,然后調(diào)用命令函數(shù)U8 BCAN_CMD_PRG(U8 cmd),其中cmd參數(shù)決定命令類型,選用發(fā)送數(shù)據(jù)命令將報文發(fā)送出去。

接收報文時調(diào)用CAN接收函數(shù)U8 BCAN_DATA_RECEIVE(U8 *RcvDataBuf),其中*RcvDataBuf是報文的存儲地址。在這個函數(shù)里,讀取接收緩沖區(qū)里的數(shù)據(jù),并存到指定的位置。

這兩個函數(shù)只是發(fā)送與接收函數(shù),具體的發(fā)送和接收需要建立相應的任務或中斷,并調(diào)用這兩個函數(shù)來完成。其中發(fā)送采用主動方式,當發(fā)送任務接到啟動發(fā)送的指令后調(diào)用CAN發(fā)送函數(shù)進行數(shù)據(jù)發(fā)送,接收采用中斷方式,CAN中斷的優(yōu)先級高于時鐘中斷和其他任務。

節(jié)點通信流程圖如圖2所示:

5 基于μCOS-II的CAN總線通訊程序模塊的設計

傳統(tǒng)的前后臺方式設計的單片機程序是一個無限循環(huán),循環(huán)中調(diào)用相應函數(shù)來完成相應操作是其后臺行為,而中斷服務程序處

 

理異步事件是其前臺行為。μCOS-II是一個實時多任務操作系統(tǒng),是一個基于占先式內(nèi)核的多任務調(diào)度平臺。作為一個模塊的CAN總線程序,在嵌入 μCOS-II之中,相對于前后臺方式而言,CPU的運行時間被μCOS-II依據(jù)調(diào)度算法按照不同的優(yōu)先級分配給不同的任務模塊,各個任務程序在自己的運行時間內(nèi)訪問CPU,這樣CAN總線的實時性更容易得到保證,同時各任務相對獨立,相互影響小,也便于對程序的調(diào)試,更重要的是如果要實現(xiàn)更為復雜的通訊協(xié)議時不用改變原有的程序結(jié)構(gòu),只需增加擴展部分的程序就可以進行功能擴展。

本文中CAN總線如上所述采用主動方式發(fā)送和采用中斷方式接收數(shù)據(jù),CAN中斷優(yōu)先級高于其他任務的優(yōu)先級。本文中數(shù)據(jù)發(fā)送建立一個獨立任務,它擁有自己的堆棧空間,可以被其他的任務和中斷服務子程序掛起或刪除。這個任務分配128個OS_STK的堆??臻g,在μCOS-II中OS_STK被定義為一個字長。

系統(tǒng)建立了兩個任務(不包括統(tǒng)計和空閑任務):起始任務Main_Task和發(fā)送任務CANSENDDATA_Task,優(yōu)先級分別為10,12。在CAN控制器初始化和OS初始化后,建立起始任務Main_Task,OS開始運行,進入起始任務Main_Task,起始任務啟動時間節(jié)拍,并創(chuàng)建發(fā)送任務,然后進入掛起。發(fā)送任務進入運行態(tài),當發(fā)送數(shù)據(jù)完成后,發(fā)送任務掛起。

兩個任務在各自的延時結(jié)束后按照優(yōu)先級先后進入運行態(tài),若都在掛起狀態(tài)則系統(tǒng)的空閑任務進入運行。此過程中如果有接收中斷發(fā)生,則中斷服務將掛起正在運行的任務,并調(diào)用CAN數(shù)據(jù)接收函數(shù),完成數(shù)據(jù)的接收,當此過程結(jié)束后恢復現(xiàn)場,繼續(xù)進行高優(yōu)先級的任務。圖3是CAN通信模塊在μCOS-II中運行的系統(tǒng)結(jié)構(gòu)框圖:
 

本文利用上述思想所設計的CAN總線智能節(jié)點與ZLG USBCAN-1型CAN總線開發(fā)設備互相通信正常,從圖4可以看到數(shù)據(jù)接收和發(fā)送的順利進行。

 

結(jié)束語

在S3C44B0上運行的μCOS-II中實現(xiàn)CAN總線智能節(jié)點,能夠克服傳統(tǒng)前后臺編程方法的弊端,并且提供模塊化、可移植性好、高實時性、易擴展的通信模塊,能夠大大減少產(chǎn)品的開發(fā)時間。

本文作者創(chuàng)新點:

一: 建立了S3C44B0和SJA1000的連接,使這兩種常用芯片得以配合使用。

二: 建立起基于S3C44B0和μCOS-II的CAN總線智能節(jié)點模塊,為以后在μCOS-II操作系統(tǒng)中的CAN總線應用打下了基礎。

參考文獻
[1] 鄔寬明. CAN總線原理與應用系統(tǒng)設計[M]. 北京航空航天大學出版社. 1996.
[2] Jean J. Labrosse 著. 邵貝貝等譯. μCOS-II嵌入式實時操作系統(tǒng)[M]. 北京航空航天大學出版社. 2003.
[3]  黃元峰,李育清,姜生元.基于μC/OS的嵌入式系統(tǒng)應用開發(fā)研究[J].微計算機信息(嵌入式與SOC),2006年第22卷第2-2期:100-102。
 

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉