CAN總線(xiàn)在啤酒發(fā)酵過(guò)程控制系統中的應用
現場(chǎng)智能節點(diǎn)CAN
接口電路設計
現場(chǎng)智能節點(diǎn)的設計中,CAN總線(xiàn)網(wǎng)絡(luò )接口部分使用了Philips公司的CAN控制器芯片SJA1000和CAN總線(xiàn)收發(fā)器PCA82C250芯片。為了增強現場(chǎng)智能節點(diǎn)的抗干擾能力,總線(xiàn)收發(fā)器與控制器之間用高速光耦6N137隔離,接口電路如圖2所示。
為了保證SJA1000與AT89C52之間時(shí)鐘同步,本設計采用CLKOUT時(shí)鐘信號作為AT89C52的時(shí)鐘輸入;SJA1000的接AT89C52的端,通過(guò)中斷方式與CPU通信;PCA82C250的RS腳上接有一斜率電阻,電阻大小(16~140K)可根據總線(xiàn)通信速率適當調整,本設計中取值47K;PC82C250的兩輸出引腳與CAN總線(xiàn)之間各接一個(gè)5的電阻,起一定的限流作用,從而保護PCA82C250免受過(guò)流的沖擊;為了濾除總線(xiàn)上的高頻干擾并具有一定的防電磁輻射的能力,CAN-H和CAN-L與地之間并聯(lián)了兩個(gè)30pF的電容。
現場(chǎng)智能節點(diǎn)CAN
通信軟件設計
現場(chǎng)智能節點(diǎn)的CAN通信軟件設計由三大部分組成:SJA1000初始化、數據接收和發(fā)送。節點(diǎn)的主程序完成對SJA1000的初始化,開(kāi)放SJA1000的中斷,控制整個(gè)發(fā)酵過(guò)程,并主動(dòng)向監控計算機傳送發(fā)酵罐的狀態(tài)信息。
對SJA1000的初始化主要是設置CAN的通信參數,如設置模式寄存儲器等。本設計中數據發(fā)送是主動(dòng)的,因而對發(fā)送的處理比較簡(jiǎn)單,主程序采用查詢(xún)SJA1000的狀態(tài)標識符的方法,只須把被發(fā)送的信息幀送到CAN的發(fā)送緩沖區,并啟動(dòng)發(fā)送命令即可。為了保證系統的實(shí)時(shí)性,數據接收是通過(guò)SJA1000的中斷控制來(lái)實(shí)現的,在ISR中從接收緩沖區讀取要接收的信息,同時(shí)還要對出錯和數據溢出中斷作相應判斷處理。發(fā)送接收流程圖如圖3所示。本文引用地址:http://dyxdggzs.com/article/163568.htm
智能通信適配器
USB-CAN設計
系統中為了實(shí)現上位監控PC機與下位現場(chǎng)智能節點(diǎn)間通信,必須要有一通信適配器來(lái)實(shí)現CAN總線(xiàn)與PC總線(xiàn)之間的通信協(xié)議轉換功能。傳統的網(wǎng)絡(luò )適配器設計中與PC機的通信接口多為ISA總線(xiàn)、RS-232等,雖然它們實(shí)現較簡(jiǎn)單,可由于帶寬的限制,不能滿(mǎn)足高速傳輸的需要;而對于流行的PCI總線(xiàn)雖功能強大,可協(xié)議復雜,開(kāi)發(fā)周期較長(cháng),不支持熱插拔且價(jià)格昂貴。USB總線(xiàn)具有安裝方便、高帶寬、可靠性高等特點(diǎn),因此本系統采用了自主開(kāi)發(fā)的智能通信適配器USB-CAN來(lái)實(shí)現本系統CAN網(wǎng)絡(luò )與PC機間的通信。
智能適配器
USB-CAN硬件電路設計
適配器硬件電路由三部分組成:CAN總線(xiàn)接口部分、USB總線(xiàn)接口部分、CPU及電源管理部分。CAN總線(xiàn)接口部分的設計與智能節點(diǎn)CAN接口幾乎相同。CPU采用Philips公司的增強型MCS-51兼容單片機P89C51RD2,內置看門(mén)狗,時(shí)鐘輸出可編程,在6時(shí)鐘模式下工作速度為標準C51單片機的兩倍。USB總線(xiàn)接口部分采用Philips公司的PDIUSBD12芯片,其符合USB1.1版本規范,可與任何外部微控制器/微處理器實(shí)現高速并行接口。硬件電路如圖4所示。
為了保證P89C51RD2、PDIUSBD12和SJA1000三者間時(shí)鐘同步,外接12MHz晶振的CPU運行于6時(shí)鐘模式下,P1.0引腳通過(guò)編程輸出6MHz方波作為PDIUSBD12的輸入時(shí)鐘,再通過(guò)PDIUSBD12的設置模式寄存器編程使CLKOUT引腳產(chǎn)生24MHz的輸出時(shí)鐘來(lái)提供給SJA1000。PDIUSBD12的INT-N接CPU的端,通過(guò)中斷方式與CPU通信; SUSPEND引腳接CPU的P1.4端,用以向CPU指示器件是否掛起;D+引腳信號通過(guò)軟連接接1.5K的內部上拉電阻,向主機表示為高速設備;為確定USB電纜是否與主機連接,采用EOT-N引腳檢測USB接口的VBUS電壓來(lái)實(shí)現;由于采用多路地址/數據總線(xiàn)配置,故A0接高平;此外,D+和D-兩引腳各接18電阻,起到一定的限流作用,以保護PDIUSBD12免受過(guò)流的沖擊。
智能適配器
USB-CAN軟件設計
智能通信適配器USB-CAN的軟件即USB固件主要完成兩方面任務(wù):響應來(lái)自主機的配置請求,完成對USB外設的列舉操作;負責接收主機的命令并發(fā)送給CAN總線(xiàn)上的節點(diǎn),以及接收各節點(diǎn)的數據并經(jīng)USB總線(xiàn)傳送給PC。
USB固件包括主程序、外部中斷0子程序和外部中斷1子程序。在主程序中主要完成SJA1000和PDIUSBD12的初始化操作并開(kāi)放中斷;外部中斷0子程序處理CAN總線(xiàn)上事件,與智能節點(diǎn)對CAN總線(xiàn)的處理情況類(lèi)似;外部中斷1子程序處理USB總線(xiàn)上的事件。
從整個(gè)監控系統角度來(lái)看,軟件設計還包括USB設備的驅動(dòng)程序和應用程序等,限于篇幅,在此不作闡述。
結語(yǔ)
具有獨特的設計思想、卓越的性能和極高的可靠性的CAN總線(xiàn)被公認為是最有前途的現場(chǎng)總線(xiàn)之一?;贑AN總線(xiàn)的啤酒發(fā)酵監控系統具有可維護性好、易于擴充、可靠性高和成本低等特點(diǎn),非常適合當今啤酒企業(yè)生產(chǎn)發(fā)展現況。
評論