傳統的設備監控系統多采用RS232、RS485等串行通訊方式,實時性、擴展性和可靠性較差。CAN總線是現場總線中的一種,它能有效地支持分布式控制和實時控制,是一種開放式、數字化、多點通信的串行通訊網絡。本文設計了一種基于CAN總線的分布式高低溫試驗箱監控系統。該系統結構簡單,成本低,且實時性、擴展性和可靠性好,具有較強的實用價值。
1 系統的總體結構
該系統包括一個主控制器(工業控制計算機,含PC-CAN接口卡)和多個節點控制器(CAN接口控制板),并采用總線式網絡拓撲結構,無源抽頭連接,因而系統的可靠性較高。其信息傳輸采用CAN通信協議,通訊介質采用雙絞線。
系統的組成結構如圖1所示。
圖中工控機(含PC-CAN接口卡)安裝在控制室,高低溫試驗箱放在工作間,兩地之間用雙絞線進行連接,距離約50m,雙絞線的兩端需短接120Ω的終端匹配電阻。
工控機選用中國臺灣研華的IPC610,具有良好的軟硬件兼容性,在該工控機的ISA插槽中插入型號為PCL-841的CAN-PC接口卡,通過該卡即可把工控機連接到CAN總線上。工控機的控制軟件可設置高低溫試驗箱的工作模式:高溫試驗、低溫試驗、溫度沖擊試驗、自定義。每種模式均可設置預定溫度和保持時間,溫度沖擊試驗還能設置循環次數,自定義模式由上述三種基本模式按一定流程組成,每個節點均可獨立設置其工作參數。
圖1 高低溫試驗箱監控系統的組成
CAN接口控制板是系統的核心,它負責與CAN總線進行通訊,另外還完成溫度信號的采集、加熱與制冷裝置的控制等功能,內有CAN總線收發器及控制器、單片機、溫度傳感器接口等部件。加電后,CAN接口控制板通過溫度傳感器,定時采集高低溫試驗箱的溫度數據并上傳給工控機,供其顯示與儲存。工控機根據用戶設置的工作模式發出特定指令至CAN總線,CAN接口控制板收到該指令后,根據預定的算法控制加熱與制冷裝置的啟動、停止,完成相應的操作。
下面將重點介紹CAN接口控制板的軟硬件設計。
2 CAN接口控制板的硬件設計
CAN接口控制板由MCP2551總線收發器、MCP2510總線控制器和PIC12C672單片機等部件組成。其電路原理如圖2所示
MCP2551總線收發器與系統物理總線相連,具有差分發射和接收能力,可將許多節點與同一網絡相連接。它作為MCP2510總線控制器MCP2510和系統物理總線之間的接口。
MCP2510總線控制器擔負著報文的發送、接收、過濾等工作,是CAN總線接口控制板的核心器件。它支持CAN總線V2.0A/B技術規范,能夠發送和接收標準和擴展報文,同時具備驗收過濾以及報文管理功能。該器件包含三個發送緩沖器和兩個接收緩沖器,減少了MCU的管理負擔。MCP2510通過SPI接口與MCU進行數據通訊,其數據傳輸速率可高達5Mb/s。
為了簡化電路設計,降低成本,我們選用PIC12C672單片機作為MCP2510的控制MCU。PIC12C672單片機是美國Microchip公司生產的RISC單片機,只有35條指令,指令周期可短至1us,除跳轉指令外其余均為單周期指令,運行效率高。其內部集成了2K(14bit寬度)的編程空間和128字節的RAM,另外還集成有4通道的8位A/D轉換器、4MHz的RC振蕩器、上電復位電路、看門狗電路等。它僅有8個引腳,體積小,外圍電路簡單,具有較高的性價比。
MCP2510通過SPI接口與MCU通訊,但PIC12C672本身沒有SPI接口,因此用四條普通I/O線GP5、GP4、GP1、GP2分別接至MCP2510的CS、SO、SI、SCK引腳,用軟件算法實現SPI接口協議。SPI接口讀命令時序如下圖3所示。在讀操作開始時,CS引腳將被置為低電平,隨后讀指令和8位地址碼(A7至A0)將被依次送入MCP2510,并在SCK的上升沿縮存每個數據位。在接收到讀指令和地址碼之后,MCP2510地址寄存器中的數據將在SCK的下降沿輸出到SO引腳。拉高CS引腳電平結束讀操作。
MCP2510外接8MHz晶體作振蕩源,將CAN總線速度配置為125kbps。MCP2510有三個引腳(TX0RTS、TX1RTS、TX2RTS)可以配置成通用的輸入腳,兩個引腳(RX0BF、RX1BF)能被配置成數字輸出腳,由PIC12C672單片機通過MCP2510的SPI接口對這些引腳進行控制。在此應用中,TX0RTS、TX1RTS、TX2RTS配置成輸入腳,分別連接上三位撥碼開關,用于設置CAN接口板的ID地址。RX0BF、RX1BF配置成數字輸出腳,分別通過驅動電路、繼電器控制高低溫箱的加熱裝置、制冷裝置。
3 CAN接口控制板的軟件設計
CAN接口控制板的主要功能有:定時采集溫度數據并通過CAN總線發送至工控機;收到工控機的升溫、降溫指令后,根據預定的算法控制加熱與制冷裝置的啟動、停止。因此,除硬件設計外,我們還需編寫PIC12C672單片機的程序,以實現上述CAN接口控制板的功能。采用匯編語言編程,使用福州貝能的PICRICE仿真器進行開發、調試,并用PICSTART PLUS編程器燒寫程序。
單片機的主程序流程圖如圖4所示:
圖4 單片機的主程序流程圖
PIC12C672的初始化主要完成I/O腳的配置,定時器中斷的設置,以及A/D轉換模塊的設置。MCP2510的初始化的主要是將總線時鐘頻率設為125kbps,配置中斷信號,將TX0RTS、TX1RTS、TX2RTS配置成通用的輸入腳,將RX0BF、RX1BF配置成數字輸出腳。
MCP2510的發送操作通過三個發送緩沖器來實現,這三個發送緩沖器各占據14個字節的SRAM。*字節是控制寄存器TXBNCTRL,該寄存器里的內容設定了信息發送的條件,且給出了信息的發送狀態,第二至第六字節用來存放標準的和擴展的標識符以及仲裁信息,zui后八個字節用來存放待發送的數據信息。
MCP2510的接收操作通過三個接收緩沖器來實現,在三個接收緩沖器中,MAB(報文集成緩沖器)總能夠接收來自總線的下一條報文,其余兩個接收緩沖器RXB0和RXB1則從協議引擎接收完整的報文。MAB對接收到的報文進行組合,并將滿足驗收濾波器條件的報文傳送到至RXBN緩沖器,并且該接收緩沖器對應的CANINTF.RXNIF位將置1,器件會在INT引腳產生一個中斷, 顯示接收到有效報文。
1 系統的總體結構
該系統包括一個主控制器(工業控制計算機,含PC-CAN接口卡)和多個節點控制器(CAN接口控制板),并采用總線式網絡拓撲結構,無源抽頭連接,因而系統的可靠性較高。其信息傳輸采用CAN通信協議,通訊介質采用雙絞線。
系統的組成結構如圖1所示。
圖中工控機(含PC-CAN接口卡)安裝在控制室,高低溫試驗箱放在工作間,兩地之間用雙絞線進行連接,距離約50m,雙絞線的兩端需短接120Ω的終端匹配電阻。
工控機選用中國臺灣研華的IPC610,具有良好的軟硬件兼容性,在該工控機的ISA插槽中插入型號為PCL-841的CAN-PC接口卡,通過該卡即可把工控機連接到CAN總線上。工控機的控制軟件可設置高低溫試驗箱的工作模式:高溫試驗、低溫試驗、溫度沖擊試驗、自定義。每種模式均可設置預定溫度和保持時間,溫度沖擊試驗還能設置循環次數,自定義模式由上述三種基本模式按一定流程組成,每個節點均可獨立設置其工作參數。
圖1 高低溫試驗箱監控系統的組成
CAN接口控制板是系統的核心,它負責與CAN總線進行通訊,另外還完成溫度信號的采集、加熱與制冷裝置的控制等功能,內有CAN總線收發器及控制器、單片機、溫度傳感器接口等部件。加電后,CAN接口控制板通過溫度傳感器,定時采集高低溫試驗箱的溫度數據并上傳給工控機,供其顯示與儲存。工控機根據用戶設置的工作模式發出特定指令至CAN總線,CAN接口控制板收到該指令后,根據預定的算法控制加熱與制冷裝置的啟動、停止,完成相應的操作。
下面將重點介紹CAN接口控制板的軟硬件設計。
2 CAN接口控制板的硬件設計
CAN接口控制板由MCP2551總線收發器、MCP2510總線控制器和PIC12C672單片機等部件組成。其電路原理如圖2所示
MCP2551總線收發器與系統物理總線相連,具有差分發射和接收能力,可將許多節點與同一網絡相連接。它作為MCP2510總線控制器MCP2510和系統物理總線之間的接口。
MCP2510總線控制器擔負著報文的發送、接收、過濾等工作,是CAN總線接口控制板的核心器件。它支持CAN總線V2.0A/B技術規范,能夠發送和接收標準和擴展報文,同時具備驗收過濾以及報文管理功能。該器件包含三個發送緩沖器和兩個接收緩沖器,減少了MCU的管理負擔。MCP2510通過SPI接口與MCU進行數據通訊,其數據傳輸速率可高達5Mb/s。
為了簡化電路設計,降低成本,我們選用PIC12C672單片機作為MCP2510的控制MCU。PIC12C672單片機是美國Microchip公司生產的RISC單片機,只有35條指令,指令周期可短至1us,除跳轉指令外其余均為單周期指令,運行效率高。其內部集成了2K(14bit寬度)的編程空間和128字節的RAM,另外還集成有4通道的8位A/D轉換器、4MHz的RC振蕩器、上電復位電路、看門狗電路等。它僅有8個引腳,體積小,外圍電路簡單,具有較高的性價比。
MCP2510通過SPI接口與MCU通訊,但PIC12C672本身沒有SPI接口,因此用四條普通I/O線GP5、GP4、GP1、GP2分別接至MCP2510的CS、SO、SI、SCK引腳,用軟件算法實現SPI接口協議。SPI接口讀命令時序如下圖3所示。在讀操作開始時,CS引腳將被置為低電平,隨后讀指令和8位地址碼(A7至A0)將被依次送入MCP2510,并在SCK的上升沿縮存每個數據位。在接收到讀指令和地址碼之后,MCP2510地址寄存器中的數據將在SCK的下降沿輸出到SO引腳。拉高CS引腳電平結束讀操作。
MCP2510外接8MHz晶體作振蕩源,將CAN總線速度配置為125kbps。MCP2510有三個引腳(TX0RTS、TX1RTS、TX2RTS)可以配置成通用的輸入腳,兩個引腳(RX0BF、RX1BF)能被配置成數字輸出腳,由PIC12C672單片機通過MCP2510的SPI接口對這些引腳進行控制。在此應用中,TX0RTS、TX1RTS、TX2RTS配置成輸入腳,分別連接上三位撥碼開關,用于設置CAN接口板的ID地址。RX0BF、RX1BF配置成數字輸出腳,分別通過驅動電路、繼電器控制高低溫箱的加熱裝置、制冷裝置。
3 CAN接口控制板的軟件設計
CAN接口控制板的主要功能有:定時采集溫度數據并通過CAN總線發送至工控機;收到工控機的升溫、降溫指令后,根據預定的算法控制加熱與制冷裝置的啟動、停止。因此,除硬件設計外,我們還需編寫PIC12C672單片機的程序,以實現上述CAN接口控制板的功能。采用匯編語言編程,使用福州貝能的PICRICE仿真器進行開發、調試,并用PICSTART PLUS編程器燒寫程序。
單片機的主程序流程圖如圖4所示:
圖4 單片機的主程序流程圖
PIC12C672的初始化主要完成I/O腳的配置,定時器中斷的設置,以及A/D轉換模塊的設置。MCP2510的初始化的主要是將總線時鐘頻率設為125kbps,配置中斷信號,將TX0RTS、TX1RTS、TX2RTS配置成通用的輸入腳,將RX0BF、RX1BF配置成數字輸出腳。
MCP2510的發送操作通過三個發送緩沖器來實現,這三個發送緩沖器各占據14個字節的SRAM。*字節是控制寄存器TXBNCTRL,該寄存器里的內容設定了信息發送的條件,且給出了信息的發送狀態,第二至第六字節用來存放標準的和擴展的標識符以及仲裁信息,zui后八個字節用來存放待發送的數據信息。
MCP2510的接收操作通過三個接收緩沖器來實現,在三個接收緩沖器中,MAB(報文集成緩沖器)總能夠接收來自總線的下一條報文,其余兩個接收緩沖器RXB0和RXB1則從協議引擎接收完整的報文。MAB對接收到的報文進行組合,并將滿足驗收濾波器條件的報文傳送到至RXBN緩沖器,并且該接收緩沖器對應的CANINTF.RXNIF位將置1,器件會在INT引腳產生一個中斷, 顯示接收到有效報文。
上一篇:編碼體系在信息化工程中的應用
下一篇:串口通信基本接線方法
全年征稿/資訊合作
聯系郵箱:1271141964@qq.com
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
SAMPE中國第二十屆國際先進復合材料展覽會
展會城市:北京市展會時間:2025-06-18