娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月09日(星期日)

正在發生

2018年02月09日 | 基于μCOS-II的CAN通訊模塊設計

發布者:數字思維 來源: eefocus關鍵字:μCOS-II  CAN  通訊模塊 手機看文章 掃描二維碼
隨時隨地手機看文章

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

    1 S3C44BO簡介

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

    2 SJA1000和82C250簡介

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

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

    3μCOS-II在S3C44B0上的移植

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

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

    在OS_CPU_C.C中編寫任務堆棧初始化函數及系統HOOK函數。

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

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

    4 CAN總線智能節點的軟硬件結構

    CAN總線是現場總線的一種,它結構簡單,通信方式靈活,采用非破壞性仲裁技術,通信采用短幀格式,從而可以形成低成本,高性能,實時性好的通訊系統。

    4.1 CAN總線智能節點的硬件結構

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

   18.jpg

    4.2 CAN總線智能節點的軟件結構

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

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

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

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

    節點通信流程圖如圖2所示:

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

    傳統的前后臺方式設計的單片機程序是一個無限循環,循環中調用相應函數來完成相應操作是其后臺行為,而中斷服務程序處    19.jpg



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

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

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


    兩個任務在各自的延時結束后按照優先級先后進入運行態,若都在掛起狀態則系統的空閑任務進入運行。此過程中如果有接收中斷發生,則中斷服務將掛起正在運行的任務,并調用CAN數據接收函數,完成數據的接收,當此過程結束后恢復現場,繼續進行高優先級的任務。圖3是CAN通信模塊在μCOS-II中運行的系統結構框圖:
 

   20.jpg

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

    結束語

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

    本文作者創新點:

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

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

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


關鍵字:μCOS-II  CAN  通訊模塊 引用地址:基于μCOS-II的CAN通訊模塊設計

上一篇:基于ARM的Linux系統移植的方法
下一篇:基于ARM9和μC/OS-II操作系統的SD卡文件系統的設計與

推薦閱讀

【2018 年 1 月 30 日美國德州普拉諾訊】因應具備高效率及超低 EMI 的小型 LED 照明設備需求持續成長,Diodes 公司為此擴展廣受歡迎的 BCR420U 及 BCR421U 線性 LED 驅動器系列,納入采用超低矮型 DFN2020 封裝的 BCR420UFD 及 BCR421UFD 裝置,非常適合 12V 及 24V LED 邊緣照明應用。LED 照明的主要效益為壽命更長及效率更...
我們平時經常能看到概念車的渲染圖,非常帥氣,有科技感,但是真正能量產的卻幾乎沒有。其實概念車的設計理念真的非常出色,如果真的視線對于汽車真的算是一次改革了。就在近段時間,日本也是把一個概念車的設計理念變成了顯示,推出了首款無后視鏡的車型。無后視鏡車型來了,真不是畫蛇添足,你怎么看由于現在的后視鏡為了更大的視野被做的太大了,造成A...
先前根據以為前輩的程序理解了一段時間,之后自己寫了一份控制led燈的簡單按鍵程序單片機源程序如下:#include<stc15w202s.h>#include<stdio.h>#define key_state_0 0#define key_state_1 1#define key_state_2 2#define key_state_3 3#define key_no 0#define key_click 1#define key_double 2#define key_long 3sbit KEY = P3^3;sbit...
近期,全球首個5G智能網聯汽車正式上市,即上汽下屬的R汽車——MARVEL R。那圍繞這款產品,到底有哪些亮點?圍繞該款車型及品牌,又有哪些故事?帶著這些問題,我們來一探究竟。MARVEL R產品故事上汽MARVEL R早在去年5月10日就完成了國內發布,并在去年11月的廣州車展上完成國內車展的首秀,同時還公布了產品預售價,而MARVEL R也在2021年2月7日正式上...

史海拾趣

問答坊 | AI 解惑

DSP與PC間高速串口通信的實現

利用UART解決DSP與PC機間通信時速率匹配問題,并給出了具體實現電路。     關鍵詞:DSP UART 串行通信 FIFO DSP是一種專門用來實現信號處理算法的微處理器芯片,主要優點有:硬件乘法器,哈佛總線結構,多種尋址方式,零耗循環 ...…

查看全部問答∨

自己動手制作機器人,看起來很好玩

來源:窗戶紙  http://www.getproject.com.cn/post/98.html 機器人,聽起來挺神秘的,在大多數科幻電影和文學作品中,機器人通常無所不知,無所不能,跟人類相比起來,簡直就是完美無瑕了。因此,作品中的機器人,要么是人類的好朋友, ...…

查看全部問答∨

問一個AVR的延時函數_delay_ms()的問題

_delay_ms()這個延時到底有多準啊? 如果用計數器TNCT0計數,TNCT0的初始值為55,跳到255后溢出中斷, 選擇8分頻的時鐘源,F_CPU= 16M,10ms的時間TNCT0的溢出次數應該是100次 即TNCT0跳了100*(255-55)= 20000次。 問:     _ ...…

查看全部問答∨

單片機考試 答案 請幫忙,急急急!!! 在線等答案!!!!

高手幫做一下,謝謝了,否則考試要掛了:(題在附件中…

查看全部問答∨

學習FPGA過程中的困惑

現在剛開始接觸FPGA不久,看了很長時間論壇了,也學習了Verilog,試著學習應用quartusii和modelsim,現在依舊感覺沒有多大進步,好像根本還沒有入門,簡單的仿真還能進行,遇到復雜點的,比如幾個模塊聯合編譯仿真就總是仿真失敗,也沒有找到原因! ...…

查看全部問答∨

【 信號處理】基于DSP+FPGA+ASIC的實時紅外圖像處理系統

 隨著紅外焦平面陣列技術的快速發展,紅外成像系統實現了高幀頻、高分辨率、高可靠性及微型化,在目標跟蹤、智能交通監控中得到了越來越多的應用,并向更加廣泛的軍事及民用領域擴展。實時紅外圖像處理系統一般會包括非均勻校正、圖像增強、圖像分 ...…

查看全部問答∨

關于DIY S5pv210 活動七寸電容屏幕的選型——務必請參加DIY活動的tongz

論壇朋友幫忙推薦一個50 RMB左右的,五點觸摸就可以了 學習的要求不高,不要求防水!…

查看全部問答∨

提問+ 讀《MCU工程師煉成記》問題

有幸得到一本《MCU工程師煉成記》 第一章 1.1 把iPhone變成一臺心電圖儀   文章十分精彩,利用右聲道作為MSP430系統電源輸出,左聲道和麥克風作為信號輸出和輸入,麥克風作為輸入好理解。 感覺耳機左右聲道的輸出信號應該是一致的,那 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 沛县| 布尔津县| 德惠市| 水城县| 灵台县| 德江县| 平原县| 贵州省| 克什克腾旗| 滁州市| 离岛区| 南城县| 青海省| 鄢陵县| 合山市| 大姚县| 巴林左旗| 兴义市| 拉萨市| 肇东市| 绵阳市| 平泉县| 舞阳县| 夏津县| 彭泽县| 青阳县| 东兴市| 新邵县| 山东省| 西昌市| 靖远县| 休宁县| 扎鲁特旗| 淳化县| 和平区| 松原市| 祁门县| 饶阳县| 海林市| 五常市| 青铜峡市|