按照通信子協(xié)議CiA 301 V 4.1,CANopen函數(shù)庫為CANopen提供所需的服務(wù)。這有利于簡單而快速地開發(fā)主從設(shè)備,能為一個設(shè)備中一個或多個CAN-控制器服務(wù)。
在不同發(fā)展階段,可使用地CANopen函數(shù)庫:
定義的驅(qū)動器接口能實現(xiàn)對硬件的訪問,該接口適用于很多CPU和CAN控制器,不論它們是否配有操作系統(tǒng)(參看CANopen驅(qū)動包)。
CANopen函數(shù)庫分別基于CiA e.V. “CANopen應(yīng)用層和通信行規(guī)”中的通信子協(xié)議CiA 301 V4.1和EN50325-4,并提供規(guī)范中的所有服務(wù)。此函數(shù)庫*用ANSI-C編寫并可被每個符合ANSI-C的編譯器編譯。
根據(jù)所需的作用范圍,在不同發(fā)展階段,均可使用對應(yīng)的CANopen函數(shù)庫。在受限的CANopen服務(wù)內(nèi)開發(fā)小型傳感器和執(zhí)行器時,小型從模式適用。這些限制條件是:服務(wù)實例的數(shù)量有限和不支持CANopen服務(wù)中的SYNC和TIME。
使用CANopen函數(shù)庫的從模式,可以提供開發(fā)全功能從設(shè)備時所需的所有服務(wù)。
Master/Slave模型提供與相當(dāng)于節(jié)點監(jiān)控功能一樣重要的網(wǎng)絡(luò)管理功能,這當(dāng)然也包括“從模型”中的服務(wù)。
硬件的所有具體部分通過一個定義的驅(qū)動器接口與CANopen協(xié)議棧分離。這就使得其很容易適應(yīng)不同的硬件平臺。購買CANopen協(xié)議棧時,附贈一個驅(qū)動器包。使用驅(qū)動包鏈接,查看可獲得的驅(qū)動器。也可購買額外的驅(qū)動器。
CANopen函數(shù)庫由一個獨立的硬件和一個硬件依賴部分組成,后者取決于與報文隊列相的部分。硬件依賴部分由CAN 控制器的控制軟件和定時功能組成。詳細細節(jié)請參看CANopen驅(qū)動包。
應(yīng)用端僅與CANopen函數(shù)庫硬件獨立部分有關(guān)中。這就使得在不影響應(yīng)用功能的情況下可更換驅(qū)動器。應(yīng)用時,調(diào)用函數(shù)可完成CANopen服務(wù)的初始化。在執(zhí)行應(yīng)用期間,CANopen函數(shù)庫自主執(zhí)行所有必需的通信任務(wù),并利用回調(diào)函數(shù)把CANopen報文通知給應(yīng)用端。
來自其它設(shè)備的通信請求,與必需的周期任務(wù)和超時監(jiān)控一樣,在CANopen函數(shù)庫中處理。 所有請求都要被證實正確性(訪問權(quán)限, 數(shù)據(jù)類型等.). 在完成通信和出錯時,通過面向服務(wù)的回調(diào)函數(shù)分別通知應(yīng)用端。在這些回調(diào)函數(shù)中,應(yīng)用端會執(zhí)行適當(dāng)?shù)牟僮鳌?/div>
對象目錄包含對用戶應(yīng)用過程中的變量引用。因此,在不改變對象字典中內(nèi)容的情況下,有可能從現(xiàn)存的軟件中轉(zhuǎn)移出變量。
CANopen函數(shù)庫的高度可伸縮性對有限資源的設(shè)備而言尤其重要。一方面,通過模塊性在單個服務(wù)組中實現(xiàn),如sdo.c, pdo.c, …sync.c,另一方面,通過使用各模塊中的編譯器指令實現(xiàn)。
從而,代碼大小與使用的CANopen服務(wù)成正比關(guān)系。
此外,可獲得支持多CAN線程(zui多255)的CANopen函數(shù)庫變體。因此,使得為設(shè)備中幾個獨立的CAN網(wǎng)絡(luò)服務(wù)成為可能,不論設(shè)備是否配有操作系統(tǒng)。使用操作系統(tǒng)時,需要提供資源保護機制的操作方法。每條線有專屬的對象目錄,可以分別以主從關(guān)系使用,獨立于其它線程。由于協(xié)議棧與硬件驅(qū)動器相分離,可通過不同的CAN控制器處理單個線程。
CANopen函數(shù)庫的發(fā)貨物品包含不同示例程序,這些程序描述了不同CANopen服務(wù)的使用方法。所有的例子都包含完整的CANopen設(shè)備執(zhí)行情況,也包括對象字典和應(yīng)用代碼。這些都可以被編譯運行。
在詳細的歸檔源代碼部分,有一份參考手冊和一份印制的用戶手冊,有200頁,作為可用的CANopen函數(shù)庫文件。
CANopen庫一直在采用用戶的要求持續(xù)改進。為跟上CANopen函數(shù)庫版本,port公司為客戶提供更新服務(wù)。
port公司的支持工程師將通過,或傳真答復(fù)所有與CANopen庫的初始操作有關(guān)的問題,或者答復(fù)關(guān)于CANopen協(xié)議棧更深層次的問題。此項服務(wù)是免費的,,和傳真咨詢均可持續(xù)近6個月。
在CANopen設(shè)備的開發(fā),測試和zui初操作階段,port公司為其提供了一個全面的工具鏈。CANopen設(shè)計工具(
CANopen Design Tool Light版本在發(fā)貨范圍內(nèi))簡化了對象目錄的生成。
發(fā)貨范圍
· CANopen函數(shù)庫(帶分離驅(qū)動器接口)
· CPU/CAN驅(qū)動器
· 大量可直接編譯的示例
· CANopen Design Tool Light
· 詳細的用戶手冊
· 參考手冊(含對所有功能函數(shù)及其參數(shù)和返回值的描述)
支持
· 通過可獲得6個月的免費支持
· 通過可獲得6個月的免費支持
· 6個月的免費更新服務(wù)
CANopen Design Tool Light
· 產(chǎn)生一個對象字典和一個C代碼的初始化函數(shù),并自動生成一個電子數(shù)據(jù)文檔和文檔。
許可條件 (摘錄)
在購買CANopen函數(shù)庫時,一次性的許可費用已包含在購買價格內(nèi)。更多的許可費不會因同一家公司 (無運行許可證)的軟件部署問題征收。
不允許將軟件和執(zhí)行情況分別移交給第三方。
J1939協(xié)議棧
雖然Warwick Control 公司與北卡羅萊納州的
Noregon公司是經(jīng)銷商關(guān)系,但
Warwick Control公司為Noregon公司在歐洲銷售J1939軟件庫。Noregon公司是在美國的X-Analyser軟件經(jīng)銷商。
SAE J1939協(xié)議棧概述
用于嵌入式系統(tǒng)的J1939協(xié)議棧是一個SAE J1939協(xié)議的完整實現(xiàn)。它已經(jīng)過*測試并應(yīng)用到現(xiàn)代很多重型汽車行業(yè)、工業(yè)和商業(yè)實時操作系統(tǒng)中。通過處理J1939網(wǎng)絡(luò)通信的低層細節(jié),協(xié)議棧允許*專注于實現(xiàn)應(yīng)用。
Infineon C166系列(e.g. c167, c164 等.)
ST Microelectronics ST10F269
Motorola/Freescale MC56F8323
Motorola/Freescale MC9S12DG128
Philips LPC21xx range of基于ARM7微控制器
Atmel 89c51cc01/02/03 8051型微控制器
Atmel AT90CAN32/64/128 AVR型微控制器
Infineon Tricore微控制器
ST Microelectronics STR7 ARM7 微控制器
Philips SJA1000 單機CAN控制器
Dallas DS80c400 8051型微控制器
Microchip MCP2510 單機 CAN 控制器
LIN 協(xié)議棧
Warwick Control公司的LIN協(xié)議棧源于NetGen LIN 工具。 具有如下特點:
特點
GUI(NetGen LIN)的簡易使用,使用戶可自己Nodes, Schedules, Messages, Signals, Lookup和Value Tables.
支持一般工業(yè)標準文件格式(LIN描述文件)
可用的不同的LIN變量 (LIN v1.3, LIN 2.0和AUTOSAR LIN)
分層設(shè)計,通過重新使用工具鏈的方式,降低不同硬件目標的成本
可編輯的源代碼模板,用于將代碼轉(zhuǎn)變?yōu)閮?nèi)部標準形式
自動生成文檔
支持當(dāng)前的Atmel AVR和Tricore 微控制器
支持根據(jù)軟件分層所選的微控制器
NetGen LIN工具見下圖,當(dāng)前界面反映網(wǎng)絡(luò)窗口。
NMEA協(xié)議棧
概述
NMEA Fast Packets Module是另外的一個特點,可以支持美國國家海洋電子協(xié)會快速打包報文。該模塊集成現(xiàn)存的Multi-CAN J1939 協(xié)議棧執(zhí)行情況,處理快速打包報文。NMEA Fast Packets模塊經(jīng)*測試,符合目前的NMEA J1939標準。通過處理Fast Packets通信的底層細節(jié), NMEA Fast Packets協(xié)議棧模塊允許*專注于實現(xiàn)應(yīng)用。
MEA Fast Packets模塊需要一個Multi-CAN J1939協(xié)議棧。對于一個已證實的解決方案而言,與MEA Fast Packets模塊集成的Noregon Multi-CAN J1939協(xié)議棧(另外出售) 已經(jīng)過*測試,
Noregon公司已開發(fā)出幾款受歡迎的微控制器系列的硬件抽象層(HALs) (另外出售),可以使用協(xié)議棧參考手冊來指導(dǎo)完成定制代碼的所需步驟—亦可利用Noregon的咨詢服務(wù),讓我們的*工程師為您完成。
更多關(guān)于J1939 協(xié)議棧源代碼的信息:
· J1939 Stacks
許可
購買NMEA Fast Packets J1939協(xié)議棧模塊時,包含一個免版稅許可。按法規(guī),我公司必須保有Noregon或HAL版權(quán),顧客不能再銷售此協(xié)議棧。
J1939協(xié)議棧層
· 硬件抽象層。在物理層即OSI層1和數(shù)據(jù)鏈路層之間起一個橋梁作用 。HAL*依賴于所選的物理CAN 硬件。包含開發(fā)新硬件抽象層并將其鏈接到數(shù)據(jù)鏈路層的說明。
· 數(shù)據(jù)鏈路層(OSI Layer 2)。CAN控制器實現(xiàn)一些數(shù)據(jù) 鏈路層;然而,一些任務(wù)需要微控制器程序,例如將數(shù)據(jù)元素集成CAN ID (以及對應(yīng)地將CAN ID分解為數(shù)據(jù)元素)。注意J1939僅支持擴展的CAN數(shù)據(jù)幀。
· 傳輸層(OSI Layer 4)。這是一個復(fù)用層,含算法,以及收發(fā)J1939傳輸協(xié)議報文。支持Broadcast Announce Messaging (TP-BAM)和Connection Management(TP-CM) 。
· , 網(wǎng)絡(luò)管理層。支持所有J1939網(wǎng)絡(luò)管理所需的功能,例如地址聲明和地址請求。所開發(fā)的設(shè)備類型多少會影響此層的運行情況。J1939/81 定義了不同的設(shè)備類型及其它們在網(wǎng)絡(luò)中運行的方式。
協(xié)議棧zui小空間
在不考慮HAL、運行時間支持和任一用戶應(yīng)用碼的情況下,使用Keil編譯器和1傳輸緩沖器可導(dǎo)出如下數(shù)據(jù):
· 9K 可執(zhí)行區(qū)
· 4K 數(shù)據(jù)區(qū)
· 1K 每個另增的CAN通道
和保證
購買之后的60天內(nèi),可通過 獲得工程。在60天的保證/支持期間,可以糾正您把本產(chǎn)品融入到目標硬件/處理器時協(xié)議棧中可能會出現(xiàn)的任何缺陷。