CAN總線在中央空調控制系統中的應用
它提供了上位微機和CAN總線的接口,采用高性能的嵌入式微處理器80C188、CAN總線控制器82C200和CAN總線收發器82C250負責數據交換和通信處理。82C200是PHILIPS公司的產品,可完成物理層和數據鏈路層的所有功能。電子控制單元(ECU)的應用層由微處理器提供,82C200為其提供一個多用途的接口。雙口RAM IDT7130作為PC機與CAN總線控制器的數據共享區,可提供兩路相互獨立的端口,每個端口均有各自的地址線、數據線和控制線,并且具有兩套相互獨立的中斷邏輯來實現兩個CPU之間的握手控制信號。通過軟硬件設置將雙口RAM映射成PC機的物理內存,使收發數據相當于直接向內存讀寫數據,從而提高了數據交換速率,并保證兩個CPU同時對同一內存單元進行讀寫操作時數據的正確性。
此外,智能CAN總線通信適配卡還具有中斷選擇、主存基地址選擇、LED指示系統狀態及CAN收發狀態等功能。系統工作時,上位機將控制命令經ISA總線發送至智能CAN總線通信適配卡,經驅動電路寫入雙口RAM,然后發出中斷信號。CAN通信控制器82C200收到中斷信號后,從雙口RAM中取出數據,并以CAN總線協議標準,經輸出驅動電路、光電隔離電路以及CAN總線收發器82C250發送至CAN總線,完成從上位機到單元控制器的數據交換。上位機接收數據的過程與發送命令的過程相似,但方向相反。
圖3為單元控制器電路的原理框圖。
圖中,微處理器采用ATMEL公司生產的AT89C51單片機,CAN總線控制器選用SJA1000,CAN總線收發器仍選用82C250,控制CAN總線的數據交換。工作時,CAN總線控制器SJA1000從CAN總線接收上位機發出的命令和數據,以中斷方式通知CPU89C51。CPU收到中斷信號后,將SJA1000接收到的數據存入RAM中,并根據數據對I/O接口電路發出相應的命令,控制風機機組、加濕器等執行部件進行相應的操作。若上位機需要各單元狀態信息,則CPU啟動數據采集程序,控制I/O接口電路對各個檢測點的數據進行巡回檢測,并由CAN總線控制器發送至CAN總線,由上位機接收。I/O接口電路可提供8路數字量輸入、8路數字量輸出、16路模擬量輸入及4路模擬量輸出接口,用于接單元內各個檢測點和控制點。
硬件看門狗電路X25045用于系統監控,防止程序跑飛,并提供512字節EEPROM來保護重要的系統控制參數,提高了單元控制器的抗干擾能力。
數字顯示器可以顯示風機的互回風溫度、送風溫度、回風濕度、變頻器頻率、風門開度、水閥開度、報警信號的類型及數量等系統狀態信息。小鍵盤用于修改設置參數、改變顯示類型,從而使單元控制器在脫離上位機的情況下仍然可以完成控制功能。
3 軟件設計
系統軟件由上位機管理軟件和單元控制器控制軟件組成。上位機管理軟件是在Windows98操作平臺上,利用Visual Basic6.0開發的,包括系統監控、通信管理、數據處理、控制命令、動態顯示等模塊,具有界面友好、顯示直觀、操作方便等優點。系統運行時,各檢測點和控制點的位置以圖形方式形象地顯示在上位機顯示器上,檢測和控制數據在各自位置旁動態顯示,操作者經簡單培訓即可對整個系統進行控制。單元控制器控制軟件采用8051匯編語言編程,固化于89C51的EEPROM中,主要完成數據采集、數據通信、I/O接口控制、數字顯示控制等功能。根據各個季節對室內溫、濕度的不同要求,軟件中預先設置了不同季節的控制參數,并可通過小鍵盤隨時進行修改。實際運行時,溫度控制精度達到±0.5℃,濕度控制精度達到±2%RH。
在中央空調控制系統上、下位機之間采用CAN總線進行通信,可大大提高系統工作的可靠性、實時性及擴展性,實現高精度的溫度、濕度控制,具有廣闊的推廣應用前景。










評論