新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于WinCE與LPC935單片機CAN通信設計

        基于WinCE與LPC935單片機CAN通信設計

        作者: 時間:2013-09-10 來源:網絡 收藏

        隨著信息技術的不斷發展,WinCE在工業控制領域中的應用越來越廣泛。主要作為上位機的操作系統。LPC935作為一款工業級的芯片,廣泛應用于各種工控設備。在許多復雜的應用場合,一個LPC935是不可能滿足需要的,需要多片LPC935單片機協同工作。此時,怎樣實現多片LPC935單片機的就成為了設計的關鍵。以基于WinCE設備為核心,代替傳統的PC機,搭建CAN系統。結合、單片機、網絡技術的優點,將各個獨立系統復雜的通信協議、數據格式進行統一的轉化,實現系統之間的相互通信。將嵌入式WinCE與單片機結合起來將具有重要的實用價值和廣闊的應用前景。

        本文引用地址:http://www.104case.com/article/174717.htm

        1.硬件平臺

        1)嵌入式WinCE采用周立功的TIPC-700作為硬件平臺,主要的硬件資源有S3C2440A處理器,1路帶隔離的CAN-bus接口;1路10/100M以太網接口;2個RS-232C串口等。根據核心硬件的要求,定制了所需的WinCE系統內核。在Visual Studio2005集成開發環境中編寫應用程序。

        2)LPC935單片機是一款單片封裝的微控制器,使用低成本的封裝形式。它采用了高性能的處理器的處理結構,指令執行時間只需要2到4個時鐘周期。6倍于標準80C51器件。它具有集成度高、外圍設備豐富,2個4路輸入的8位A/D轉換器/DAC輸出、2個模擬比較器、2個16位定時/.計數器和一個23位系統定時器、增強型UART和SPI通信端口。LPC935集成了許多系統級的功能,大大減少了元件的數目與電路板面積并降低系統的成本。所以在很多領域得到了廣泛的應用。

        3)通過USB建立TIPC-700與PC機的ActiveSync連接,嵌入式WinCE與LPC935通過帶隔離的CAN-bus接口進行通信。

        4)每塊分板控制4個比色池,每個比色池上有3個檢測通道,每塊分板可以進行12通道檢測,但是每個比色池一次只用使用一個通道進行檢測,因此每塊分板每次可以同時進行4通道檢測,4塊分板可以同時進行16通道檢測,從而達到了多通道檢測的目的,后面的通信協議正是基于此而設計的。

        2.嵌入式WinCE平臺定制

        WinCE是一個32位、多線程、多任務的操作系統,采用了獨立于通常的程序設計語言并且和Windows兼容的API的方式。WinCE有良好的通信能力、相當出色的圖形用戶界面。WinCE操作系統分為硬件層、OEM適配層、操作系統層、應用支持庫、應用開發層、應用集成層。各層之間只能單向依賴或單向調用。從而使功能模塊之間的調用關系更加清晰。為了使系統具有更好的可擴展性和更清晰的結構,WinCE系統往往需要定制。

        WinCE提供了一個工具PB(PlatformBuilder),是WinCE的主要集成開發環境,通過這個工具可以方便地根據不同的硬件,定制、裁剪出符合不同設計要求的WinCE操作系統。完整的WinCE操作系統包括以下內容:Bootloader、CPU初始化代碼、驅動程序(鍵盤、鼠標、聲卡、顯卡、IDE、COM、USB)、用戶界面接口、完成特定功能的應用程序。

        3.底板CAN設計

        底板采用的是主控芯片是LPC935,是一類自身并不能帶有在片CAN的微控制器。但是它帶有SPI接口,設計中就是用SPI接口加獨立的CAN控制器(MCP2515)來實現CAN的功能。MCP2515作為CAN控制器,是一種獨立的控制器,主要用于一般工業環境中的局域網絡控制,完全支持CAN總線V2.0A/B技術規范。CAN收發器采用了TJA1050T,可以同時操作多個CAN網絡,提供高達1Mb/s的傳輸速率。同時采用光電隔離提高系統的穩定性。用以實現底板與嵌入式WinCE設備的通信。

        4.CAN通信協議設計

        為了讓嵌入式WinCE和多塊LPC935單片機進行通信,關鍵是要有一個好的通信協議。包括對數據的形式、通信方式、傳送速度、傳送步驟、檢錯方式以及控制字符定義等問題做出統一規定[5].由硬件平臺的設計可以知道,每塊分板控制著4個比色池,每個比色池可以設定3個檢測通道,因此每塊分板可以控制12個檢測通道,并把它編號為1-12.但是每塊分板每次只能從每個比色池的3個通道中選著1個通道進行檢測,每次只能同時進行4通道的檢測。整個系統可以同時進行16通道的檢測。CAN通信報文傳輸的幀格式有含有11位標識符的標準幀和含有29位標識符的擴展幀。本設計采用了標準幀的格式進行CAN通信協議的設計。

        1)主板下傳命令給分板時通信協議的設定

        標識符的設置:把11位標識符的高四位固定為1010,隨后的2位為分板的編號(0-3),第7位設為0表示讀取AD,設為1表示設置比色池LED發光強度,低四位設成檢測通道(1-12),至此,11位標識符被設定好。

        數據域的設置:當第7位設為0時,數據部分為一個字節(小于16),表示檢測項目,與標識符的低四位相同。分板在接收到時調整相應到相應的檢測狀態。當第7位設為1時,設置/校準發光管。標識符的低四位為檢測通道,數據部分為3個字節。

        2)分板上傳數據/命令給主板時通信協議的設定

        標識符的設置:11位中的高4為固定為1010,隨后的2位為分板的編號(0-3),第7為為0,低四位設成檢測通道(1-12)。

        數據域的設置:共8個字節

        分板上傳命令時標識符與上傳數據相同,數據部分為一個字節,當為“0x0b”表示按下了檢測按鍵,當為“0x0A”表示對上次命令已經處理完成。

        波特率設定:設為50K.

        濾波設置:主板只對標識符高4位濾波,值為1010.

        分板只對標識符高6位濾波,值為1010XX,XX為分板編號0-3.

        例如要對一號分板的第一比色池的1號通道的檢測項目進行檢測:如已經校準,將標識符設置為10100000001,其后跟上相應設置的數據域,即可以對一號分板的第一比色池的1號通道的檢測項目進行檢測。如未校準,將標識符設置為10100010001,加上相應設置的數據域進行校準,校準候按照前面的步驟進行檢測。同樣1號通道上傳數據/命令可以根據上面寫好的通信協議進行操作。

        5.結論

        CAN通信最早應用于汽車領域,隨著科技的發展,目前CAN通信在計算機控制系統中已經得到了廣泛的應用,本文通過嵌入式WinCE與多塊LPC935單片機底板CAN通信研究開發,綜合了嵌入式、單片機及網絡通信技術實現了多路CAN通信,達到了最初的設計目的。本文設計的通信協議經實踐證明穩定可靠,保證了底板與WinCE控制板之間信息傳輸的實時性與準確性。提高了數據的準確率,減少了丟包率。本文所采用的技術在近距離控制,遠程控制與工業控制領域具有重要的實用價值和廣泛的應用前景。

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


        關鍵詞: 單片機 通信 嵌入式

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 松江区| 墨竹工卡县| 五常市| 连州市| 延边| 邛崃市| 涞水县| 建始县| 汉阴县| 沙湾县| 游戏| 木兰县| 武宁县| 嘉鱼县| 瓮安县| 蓝田县| 那曲县| 防城港市| 阳春市| 东源县| 三门县| 扎兰屯市| 新闻| 陕西省| 京山县| 河间市| 壤塘县| 福建省| 福贡县| 襄樊市| 峨边| 华安县| 海晏县| 奉贤区| 即墨市| 金堂县| 赤水市| 达孜县| 碌曲县| 伊宁县| 五峰|