在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機和CAN控制器的嵌入式系統

            基于單片機和CAN控制器的嵌入式系統

            作者: 時間:2009-06-18 來源:網絡 收藏

            3. 軟件設計
            在32位機中,由于軟件較復雜,操作的軟件開發(fā)占有重要地位。操作的作用是負責整個系統的任務調度、存儲分配、時鐘管理和中斷管理,并提供文件管理等基本服務,S1C33 32位芯片使用EPSON公司的ROS33操作系統,其核心為廣泛應用于各種系統的iTron 3.0 OS Kernel,ROS33 Kernel具有:支持µITRON 3.0標準、內核優(yōu)化并緊湊(最小可為1.7k)、響應快(CPU主頻為33MHz時,最快調度響應時間為7.8 µs)、支持ANSI 標準的C語言等特點。本設計的主應用程序框架如下:
            #include “ros33.h”
            void main()
            {
            sys_ini(); //用于初始化ROS33所用的參數和資源
            vcre_tsk(task ID, task startup address, priority, initial address of stack); //定義被執(zhí)行的任務

            sta_tsk(task ID, task startup code); //激活執(zhí)行

            sys_sta();
            }
            該系統通信協議采用“ID+命令+數據+校驗”的形式,其中,ID為網絡設備標識符,采用ID.18~ID.20。標識符ID.21~ID.28作為固定命令,不參與驗收濾波。數據表示通信的具體內容,校驗采用校驗和的形式,為1個字節(jié)。由于總線本身有15位CRC校驗,并且本系統節(jié)點數較少,競爭不會十分激烈,所以通信可靠性較高。
            軟件設計思路如下:系統上電后,S1C33209先對自身和SJA1000初始化,以確定工作主頻、波特率及輸出特性等,然后接收來自上位機的控制命令,同時將獲取的采用數據通過SJA1000傳送到總線上或備份到Flash存儲器中。其中對SJA1000初始化是設計的重點,必須對寫入每個寄存器的內容進行仔細和全面考慮,否則系統將無法正常工作。設上位機SJA1000適配卡的ACR為xx20,AMR為FF00,下位機測控中心SJA1000的ACR為xx40,AMR為FF00。下面是初始化程序:
            Void _Init(viod)
            { CANMODE=ox09; //進入復位模式,單項驗收濾波,對SJA1000初始化
            CANCDR=0x88; //選擇PeilCAN模式
            CANIER=0x1A; //開放接收中斷、超載中斷和錯誤中斷
            CANAMR0=0xFF; //接收屏蔽寄存器內容在RAM中的值
            CANACR1=0x40;
            CANBTR0=0x03; //總線定時寄存器
            CANBTR1=0xFF;
            CANOCR=0xAA; //輸出控制寄存器
            CANMODE=0x08; //返回工作狀態(tài)
            由于測控系統對通信實時性要求較高,一旦接收到來自上位機的控制命令必須及時響應,為此CAN總線上接收信息采用中斷方式,即SJA1000無錯地接收到信息后使INT變?yōu)榈碗娖?,下降沿觸發(fā)S1C33209外部中斷0,使其進入中斷服務程序,其流程如圖2所示。

            圖2 接收流程圖

            linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


            評論


            相關推薦

            技術專區(qū)

            關閉