<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C44B0和μCOS-II的CAN節(jié)點(diǎn)的設(shè)計(jì)

          基于S3C44B0和μCOS-II的CAN節(jié)點(diǎn)的設(shè)計(jì)

          作者: 時(shí)間:2012-04-16 來(lái)源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/171606.htm

          1 S3C44BO簡(jiǎn)介

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

          2 SJA1000和82C250簡(jiǎn)介

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

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

          3μCOS-II在S3C44B0上的移植

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

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

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

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

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

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

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

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

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

          18.jpg

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

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

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

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

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


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();