新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AnyWhere――面向設備的編程模式

        AnyWhere――面向設備的編程模式

        作者: 時間:2009-10-13 來源:網絡 收藏
        3
        3.1 范 例
        是由API的和面向端口的編程模式繼承發展而來的,具有兩者的優點,避免了各自的缺點,同時極大地增強了組網能力。

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

        這里依然以開發控制遠程蜂鳴器的嵌入式系統為例,其開發流程如圖5所示。圖5的左邊是面向的編程模式,右邊是開發步驟。
        通過查看遠程設備圖,得知蜂鳴器的端口地址為0x1111,寫1為鳴叫,寫0為停止鳴叫。
        這種編程模式非常簡單。事實上延時功能已經定義成本地端口,真實的程序將更簡單。面向設備編程模式與傳統編程模式的對比如表3所列。

        3.2 設計目標
        針對目前嵌入式系統設計的困境,本文提出“面向設備的編程”這一概念。研發人員不需要考慮硬件細節和網絡細節,使用同一種方式操作本地硬件和遠程硬件。
        與傳統編程模式不同,面向設備的編程模式把所有通過網絡連接的嵌入式系統和計算機作為一個整體來考慮。研發人員只需要知道設備地址和設備內端口地址的分配即可,不需要知道設備如何連接到系統,可以通過有限的幾個函數操作設備。
        3.3 特 點
        最大的特點是著眼于系統,是系統級解決方案。一個系統中的所有嵌入式設備都使用兼容設備,整體效果最佳。除了這個特點外,還有以下特點:
        ①使用ANSI C編程。將來可能增加編程語言支持。
        ②編程接口統一。無論操作設備的什么功能,都使用有限的幾個函數操作。
        ③編程不區分遠程設備和本地硬件。系統保留1個系統地址(符號為AW_LOCAL_ADDR,值為0x00000000)用于識別本地設備,用這個地址操作的就是本地設備。大多數情況下,設備也可以使用設備的真實地址來訪問本地硬件。這樣,設備可以使用同樣的接口訪問本地硬件和遠程設備。
        ④多協議多網絡支持。AnyWhere默認協議計劃支持RS232、RS485、RS422、以太網、CAN、USB等網絡。AnyWhere還計劃支持ModeBus、iCAN、CANOpen、DeviceNet、J1939、DMX512、MVB等協議。用戶還可以通過多協議接口增加特定的協議。
        ⑤協議及鏈路自動動態匹配。研發人員只需要知道設備的地址就可以編程,而不需關心主控設備與被控設備之間的網絡與協議匹配問題。系統會自動選擇兩者均支持(并且當前網絡結構支持)的協議。如果網絡結構發生變化,系統會再次主動選擇協議。這些過程都是透明的,研發人員無需關心。
        ⑥提供被控設備編程接口。用戶可以通過這個接口設計特殊的被控設備。

        4 基本設計思想
        (1)總體設計思想
        AnyWhere把所有用網絡連接起來的嵌入式系統作為一個整體來考慮。依據其在系統中的作用,把嵌入式系統分為主控設備和被控設備兩類。
        主控設備通過遠程調用來控制被控設備。每當主控設備調用AnyWhere的主機接口核心函數時,對應的被控設備執行相應的函數。被控設備的函數執行完畢后,把返回值和執行結果反饋給主控設備,主控設備獲得執行結果,函數返回。
        (2)基本框圖
        AnyWhere的基本框圖如圖6所示。

        (3)一般處理流程
        為主控設備訪問遠程設備中awRead()函數的一般處理流程是:主控設備首先查找ARP表,如果ARP表中存有被控設備信息,調用被控設備函數開始執行;如果ARP表中不存在此遠程設備的情況,則需要請求添加此設備;在遠程設備添加成功后,調用被控設備函數開始執行;程序處理完成后應答返回。

        5 主要的用戶編程接口
        5. 1 主控設備編程接口(核心編程接口)
        這是一般用戶使用的接口,也是最常用的API。這部分有4個函數,分別是awRead()、awWrite()、awReadEx()和awWriteEx()。其中函數awRead()和awWrite()是對指定設備的指定端口用默認的模式讀寫,讀寫的數據都會轉化為32位無符號數。而awReadEx()和awWriteEx()用于對端口一次讀寫多個數據,需要指定讀寫模式,這個模式還必須與端口的模式一致。
        5.2 被控設備編程接口
        在設計一個控制系統時,被控設備一般會選擇標準設備,不需要用戶編程。如果使用非標準的被控設備,就需要進行產品研發。從圖6可以看出,被控設備的應用程序僅僅是初始化而已。如果用戶選擇廣州致遠電子有限公司的半成品模塊,大多數情況下也無需開發,只需通過向導(PC機程序)配置需要的功能就可以生成需要的代碼。如果這些半成品模塊不能完全滿足系統需求,就要進行研發。

        蜂鳴器相關文章:蜂鳴器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正阳县| 巍山| 武功县| 克东县| 泽普县| 淮南市| 巴中市| 玉树县| 巴彦淖尔市| 临沂市| 竹山县| 谷城县| 上杭县| 井冈山市| 漳平市| 霍山县| 阿鲁科尔沁旗| 龙胜| 惠水县| 武平县| 读书| 邯郸市| 华亭县| 保康县| 临猗县| 贡觉县| 太和县| 鄯善县| 金湖县| 剑河县| 河北省| 宜城市| 拉孜县| 大安市| 湘阴县| 五莲县| 河池市| 册亨县| 博乐市| 塔城市| 车险|