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