新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的電梯群控系統的通訊接口設計與實現

        基于CAN總線的電梯群控系統的通訊接口設計與實現

        作者: 時間:2013-03-07 來源:網絡 收藏


        CAN Bus是很重要的一個環節,設備的正確運行與其密切相關。圖2給出了一個實際電梯控制系統的CAN Bus通訊單元電路圖。電路結構為:

        MCU(*P87C52X2)+CAN控制器(SJA1000)+CAN收發器(TJA1040T)


        圖2 CAN Bus通訊單元電路圖

        在上述電路結構中,P87C52X2芯片是PHILIPS公司生產的標準80C51內核單片機,包含8KB OTPROM、256B RAM、32個I/O口、3個16位定時/計數器、雙DPTR、1個UART口,可以工作在6CLK模式下,運行速度可以是標準80C51的2倍。SJA1000芯片是一款獨立CAN控制器,由PHILIPS公司設計并生產,具有優秀的EMI、EMC性能,適合用于工業環境中的控制器局域網絡。而且,SJA1000是PCA82C200獨立CAN控制器的升級產品,在引腳、電氣上與PCA82C200控制器完全兼容,并具有更強功能的PeliCAN工作模式,主要由實現協議部分和與微處理器接口部分電路組成,可完成協議的物理層和數據鏈路層的功能,支持CAN2.0A協議及CAN2.0B協議。

        目前,SJA1000被廣泛用作CAN控制器。TJA1040芯片是PHILIPS公司在2002年推出的新一代高速CAN收發器,是PCA82C250/251、TJA1050的升級型號,具有非常優秀的EMC性能,在不上電狀態下有理想的無源性能,提供低功耗管理,支持遠程喚醒,并集成有完善的總線保護功能。TJA1040可以支持40Kbps~1Mbps高速率范圍,在不需要CAN中繼器的場合,通訊距離可達1.2KM遠,通訊節點數目可達110個節點。TJA1040是CAN協議控制器和物理總線的接口,提供了對總線的差動發送能力和對CAN控制器的差動接收能力。

        四、通訊軟件設計

        CAN設計的三層結構模型為:物理層、數據鏈路層和應用層。網絡物理層和數據鏈路層的功能由CAN接口器件完成,包括硬件電路和通訊協議兩部分。CAN通訊協議規定了四種不同用處的網絡通訊幀,即數據幀、遠程幀、錯誤指示幀和超頻幀。CAN通訊協議的實現,包括各種通訊幀的組織和發送,均是由集成在SJA1000通訊控制器中的電路實現的,因此系統的開發主要在應用層軟件的設計上。應用層軟件的核心部分是CPU與SJA1000通訊控制器之間的數據接收和發送程序,即CPU把待發的數據發給SJA1000通訊控制器,再由SJA1000通訊控制器發到總線上;當SJA1000通訊控制器從總線接收到數據后,CPU再把數據以走。首先,應對SJA1000中的有關控制寄存器寫入控制字,進行初始化。接著,CPU即可通過SJA1000接收/發送緩存區向物理總線接收和發送數據。本系統采用中斷方式實現CAN的通訊過程,其程序流程圖如圖3所示。


        圖3 程序流程圖

        五、結論

        基于的電梯群控技術通過在實踐中的應用檢驗表明,它可以使整個控制系統的控制信號線數從數百根減少到幾根,極大地方便了電梯的安裝和維修,提高了電梯的運行效率和服務質量,具有廣闊的應用前景。

        參考文獻
        [1] 余 華, 孫德寶. 智能大廈中的. 電工技術雜志,2002,(1):37~39。
        [2] 鄔寬明. CAN總線原理和應用系統設計. 北京: 北京航空航天大學出版社,1996.
        [3] 賈宇輝,游林儒等. 電梯樓層及CAN總線通訊設計.電氣傳動自動化,2004,26(2): 43~44.
        [4] 蘇健,張慧慧. 基于CAN總線的監控系統設計. 制造業自動化, 2003,(2): 45~46. (end)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴安县| 新竹市| 化德县| 聂拉木县| 西安市| 广德县| 邢台市| 兴化市| 开阳县| 涡阳县| 锦州市| 武清区| 本溪| 镇安县| 扎囊县| 湛江市| 安远县| 苏尼特右旗| 徐闻县| 墨玉县| 永福县| 宁晋县| 天柱县| 常宁市| 文水县| 龙州县| 马公市| 谢通门县| 美姑县| 丰镇市| 孙吴县| 鄯善县| 科技| 南靖县| 琼海市| 蓬安县| 日喀则市| 沙雅县| 平南县| 雷州市| 江陵县|