現場總線作為生產現的場數據通信與控制的網絡技術,在測量控制領域隨著信息技術的發展已得到廣泛的應用。現在的工業現場總線控制網絡技術已經被認為是一種比較的成熟的技術,同時也被認為是目前有前途的一種現場總線之一。然而,CAN現場總線作為一種面向工業底層控制的通信網絡,其局限性也是顯而易見的。首先,它不能與Internet互連,不能實現遠程信息共享。其次,它不易與上位控制機直接接口。因此,我們在本文中引入以太網技術。
以太網是在上個世紀70年代為連接多個實驗室而開發出的一種局域網技術,隨著互聯網技術和計算機的迅猛發展,以太網已成為當今世界上應用范圍zui廣、zui為常見的一種網絡技術。他在工業控制中的優勢是顯而易見的:首先,基于TCP/IP協議的以太網是一種標準開放式的網絡,由其組成的系統兼容性和互操作性好,資源共享能力強,可以很容易的實現將控制現場的數據與信息系統上的資源共享;其次,數據的傳輸距離長、傳輸速率高,而且很容易與Internet連接。
本設計利用基于ARM7內核的LPC2294處理器,在深入分析了以太網、TCP/IP協議和CAN總線的基礎上,實現了兩路CAN總線和以太網的通信互聯。
2.系統硬件結構設計
本設計使用的處理器是PHIIPS公司推出的LPC2294,他是一款基于支持實時仿真和跟蹤的ARM7TDMI內核,功能強大且功耗低。
其顯著的優點是非常適合于通訊網關、協議轉換器以及其它各種類型的應用。設計中圍繞LPC2294內核,進行了zui小系統和相應的擴展器件電路設計,設計里包括了復位電路、晶振電路、電源電路等關鍵電路。
2.1系統電源電路設計
由于核心控制器LPC2294需要2組電源:
1.8V的內核供電電源和3.3V的IO口供電電源,而以太網控制器RTL8019AS需要的供電電源為5V.因此,我們設計了3個電壓轉換電路:采用降壓穩壓器LM1575將輸入電壓轉換為穩定的5V輸出,再通過低壓差(LDO)穩壓器SPX1117M-3.3把LM1575穩壓輸出的5V作為輸入電源,轉換為3.3V輸出電源,同時利用SPX1117M-1.8得到了1.8V電源。
2.2以太網電路設計
以太網通信模塊采用了以太網控制器RTL8019AS(5V供電)和隔離接口HR90117A的組合方式。設計中使用兩路CAN進行數據采集,由于LPC2294具有4路CAN控制器,其功能與SJA1000相似,因此只需外接兩個高速CAN隔離收發器便可達到通信的目的[2]。
2.3CAN電路設計
CAN總線模塊是本設計的核心部分,負責實現數據采集的功能。設計中使用的CTM1050T是一款帶隔離的高速CAN收發器芯片,該芯片內部集成了所有必需的CAN隔離及CAN收、發器件,這些都被集成在不到3平方厘米的芯片上,芯片的主要功能是將CAN控制器的邏輯電平轉換為CAN總線的差分電平并且具有DC2500V的隔離功能及ESD(Electro-StaticDischarge,靜電釋放)保護作用。
本記錄儀使用CTM1050T向上兼容的3.3V和5VCAN控制器,實現了兩路CAN數據采集,所以LPC2294和CTM1050T之間數據發送接收引腳可以直接連接,同時我們還需加入一個電阻阻值為20Ω的終端電阻來提高數據通信的抗干擾性及可靠性。
3.系統軟件設計
3.1程序設計開發環境及設計流程
設計以VC++6.0為開發環境,C語言為開發語言,首先完成了系統的移植,接著完成了RTL8019AS軟件設計與CAN控制器軟件設計,實現了CAN與以太網網關協議轉換。
3.2μc/os-Ⅱ的移植
為了使一個內核能夠運行在微處理器或微控制器上,我們首先需要做的便是進行移植。完成移植的過程中我們修改了3個和CPU相關的文件,分別是os_cpu.h、os_cpu_a.asm和os_cpu_c.c,移植的過程中發現:
根據處理器的不同,一個移植實例需要編寫或改寫的代碼數量不盡相同,可能介于50~500行之間。
3.3RTL8019AS軟件設計
RTL8019AS的工作模式有查詢和中斷兩種模式,本設計中考慮到實時性、多任務,以zui大限度的利用CPU與μc/os-Ⅱ系統的實時性、提高系統的響應速度為目的,采用了中斷的方式來實現RTL8019AS的收發功能。
當所謂的中斷過程既在中斷服務子程序(ISR)的入口處,程序的走向由讀取到的ISR的值來確定。如果收到一個新的幀,則首先清除接收中斷標志,接著讀取幀數據,等待接收緩沖區空;如果沒有收到新的幀,則判斷幀是否發送完畢,若一幀已發送完則清除發送中斷標志并讀取狀態寄存器,并進一步判斷發送隊列是否還有未發送的數據幀,如果有則繼續發送。如果全部數據發送完,則從中斷子程序返回。主程序流程圖如圖1所示。
3.4CAN控制器軟件設計
設計中使用的處理器LPC2294內部集成了4個獨立的CAN模塊,并且為所有的CAN控制器提供了全局的可以接受標識符查詢的功能。設計中只使用到CAN控制器1和CAN控制器2兩個控制器,CAN模塊的存儲器在處理器中的地址映射如下:
AFRAM(2KB):E0038000~E00387FF;
AFRAM寄存器:E003C000~E003C017;
*CAN寄存器:E0040000~E004000B;
CAN控制器1寄存器:E0044000~E004405F;
CAN控制器2寄存器:E0048000~E004805F;
CAN的驅動程序主要包括四個部分:CAN的初始化、CAN的數據接收、CAN的數據發送和異常處理。
另外,由于CAN通信中沒有物理地址,只是采用軟件ID辨識的方式來對總線上的信息進行過濾的,并且ID還決定當有多個節點需要同時傳送數據時的優先級,故對ID設置要格外注意。
3.5CAN與以太網網關協議轉換
由于以太網和CAN是兩個不同的通信系統,當連接在CAN總線上的設備向以太網發送數據時,數據必須通過CAN接口電路發送到主系統上,通過協議轉換程序,提取要傳送的數據,然后對數據添加TCP和IP協議所需要的幀信息。
在本設計中用到的μc/os-Ⅱ操作系統下,應用層功能是以5個主要的任務來實現的,按優先級從高到低依次為:CAN總線接收數據包;CAN總線發送數據包;TCP/UDP協議數據包接收;TCP/UDP協議數據包發送;主系統協議轉換。
4.系統測試
接通電源,程序正常啟動后,數據記錄儀開始工作。連通后的ip地址為192.168.
1.102,物理地址為00-26-18-20-d9-f0,通過ping命令測試,證明數據包收發成功,設備聯通正常。
程序運行后,依次完成獲取數據容量、讀取時間、設定時間、清空記錄儀、獲取壞塊、初始化記錄儀,接著數據記錄儀開始工作,程序運行結果如圖2所示。
5.結束語
測試證明:系統完成了CAN和以太網互聯的功能,具有較高的可靠性和易用性。記錄儀具備了在以太網高速數據傳輸下記錄、儲存、分析總線數據的能力,使設備在調試階段、實際運行工作階段以及日常維護階段具備了完善的電子數據診斷和故障定位能力。
以太網是在上個世紀70年代為連接多個實驗室而開發出的一種局域網技術,隨著互聯網技術和計算機的迅猛發展,以太網已成為當今世界上應用范圍zui廣、zui為常見的一種網絡技術。他在工業控制中的優勢是顯而易見的:首先,基于TCP/IP協議的以太網是一種標準開放式的網絡,由其組成的系統兼容性和互操作性好,資源共享能力強,可以很容易的實現將控制現場的數據與信息系統上的資源共享;其次,數據的傳輸距離長、傳輸速率高,而且很容易與Internet連接。
本設計利用基于ARM7內核的LPC2294處理器,在深入分析了以太網、TCP/IP協議和CAN總線的基礎上,實現了兩路CAN總線和以太網的通信互聯。
2.系統硬件結構設計
本設計使用的處理器是PHIIPS公司推出的LPC2294,他是一款基于支持實時仿真和跟蹤的ARM7TDMI內核,功能強大且功耗低。
其顯著的優點是非常適合于通訊網關、協議轉換器以及其它各種類型的應用。設計中圍繞LPC2294內核,進行了zui小系統和相應的擴展器件電路設計,設計里包括了復位電路、晶振電路、電源電路等關鍵電路。
2.1系統電源電路設計
由于核心控制器LPC2294需要2組電源:
1.8V的內核供電電源和3.3V的IO口供電電源,而以太網控制器RTL8019AS需要的供電電源為5V.因此,我們設計了3個電壓轉換電路:采用降壓穩壓器LM1575將輸入電壓轉換為穩定的5V輸出,再通過低壓差(LDO)穩壓器SPX1117M-3.3把LM1575穩壓輸出的5V作為輸入電源,轉換為3.3V輸出電源,同時利用SPX1117M-1.8得到了1.8V電源。
2.2以太網電路設計
以太網通信模塊采用了以太網控制器RTL8019AS(5V供電)和隔離接口HR90117A的組合方式。設計中使用兩路CAN進行數據采集,由于LPC2294具有4路CAN控制器,其功能與SJA1000相似,因此只需外接兩個高速CAN隔離收發器便可達到通信的目的[2]。
2.3CAN電路設計
CAN總線模塊是本設計的核心部分,負責實現數據采集的功能。設計中使用的CTM1050T是一款帶隔離的高速CAN收發器芯片,該芯片內部集成了所有必需的CAN隔離及CAN收、發器件,這些都被集成在不到3平方厘米的芯片上,芯片的主要功能是將CAN控制器的邏輯電平轉換為CAN總線的差分電平并且具有DC2500V的隔離功能及ESD(Electro-StaticDischarge,靜電釋放)保護作用。
本記錄儀使用CTM1050T向上兼容的3.3V和5VCAN控制器,實現了兩路CAN數據采集,所以LPC2294和CTM1050T之間數據發送接收引腳可以直接連接,同時我們還需加入一個電阻阻值為20Ω的終端電阻來提高數據通信的抗干擾性及可靠性。
3.系統軟件設計
3.1程序設計開發環境及設計流程
設計以VC++6.0為開發環境,C語言為開發語言,首先完成了系統的移植,接著完成了RTL8019AS軟件設計與CAN控制器軟件設計,實現了CAN與以太網網關協議轉換。
3.2μc/os-Ⅱ的移植
為了使一個內核能夠運行在微處理器或微控制器上,我們首先需要做的便是進行移植。完成移植的過程中我們修改了3個和CPU相關的文件,分別是os_cpu.h、os_cpu_a.asm和os_cpu_c.c,移植的過程中發現:
根據處理器的不同,一個移植實例需要編寫或改寫的代碼數量不盡相同,可能介于50~500行之間。
3.3RTL8019AS軟件設計
RTL8019AS的工作模式有查詢和中斷兩種模式,本設計中考慮到實時性、多任務,以zui大限度的利用CPU與μc/os-Ⅱ系統的實時性、提高系統的響應速度為目的,采用了中斷的方式來實現RTL8019AS的收發功能。
當所謂的中斷過程既在中斷服務子程序(ISR)的入口處,程序的走向由讀取到的ISR的值來確定。如果收到一個新的幀,則首先清除接收中斷標志,接著讀取幀數據,等待接收緩沖區空;如果沒有收到新的幀,則判斷幀是否發送完畢,若一幀已發送完則清除發送中斷標志并讀取狀態寄存器,并進一步判斷發送隊列是否還有未發送的數據幀,如果有則繼續發送。如果全部數據發送完,則從中斷子程序返回。主程序流程圖如圖1所示。

3.4CAN控制器軟件設計
設計中使用的處理器LPC2294內部集成了4個獨立的CAN模塊,并且為所有的CAN控制器提供了全局的可以接受標識符查詢的功能。設計中只使用到CAN控制器1和CAN控制器2兩個控制器,CAN模塊的存儲器在處理器中的地址映射如下:
AFRAM(2KB):E0038000~E00387FF;
AFRAM寄存器:E003C000~E003C017;
*CAN寄存器:E0040000~E004000B;
CAN控制器1寄存器:E0044000~E004405F;
CAN控制器2寄存器:E0048000~E004805F;
CAN的驅動程序主要包括四個部分:CAN的初始化、CAN的數據接收、CAN的數據發送和異常處理。
另外,由于CAN通信中沒有物理地址,只是采用軟件ID辨識的方式來對總線上的信息進行過濾的,并且ID還決定當有多個節點需要同時傳送數據時的優先級,故對ID設置要格外注意。
3.5CAN與以太網網關協議轉換
由于以太網和CAN是兩個不同的通信系統,當連接在CAN總線上的設備向以太網發送數據時,數據必須通過CAN接口電路發送到主系統上,通過協議轉換程序,提取要傳送的數據,然后對數據添加TCP和IP協議所需要的幀信息。
在本設計中用到的μc/os-Ⅱ操作系統下,應用層功能是以5個主要的任務來實現的,按優先級從高到低依次為:CAN總線接收數據包;CAN總線發送數據包;TCP/UDP協議數據包接收;TCP/UDP協議數據包發送;主系統協議轉換。
4.系統測試
接通電源,程序正常啟動后,數據記錄儀開始工作。連通后的ip地址為192.168.
1.102,物理地址為00-26-18-20-d9-f0,通過ping命令測試,證明數據包收發成功,設備聯通正常。
程序運行后,依次完成獲取數據容量、讀取時間、設定時間、清空記錄儀、獲取壞塊、初始化記錄儀,接著數據記錄儀開始工作,程序運行結果如圖2所示。

5.結束語
測試證明:系統完成了CAN和以太網互聯的功能,具有較高的可靠性和易用性。記錄儀具備了在以太網高速數據傳輸下記錄、儲存、分析總線數據的能力,使設備在調試階段、實際運行工作階段以及日常維護階段具備了完善的電子數據診斷和故障定位能力。
上一篇:賽普拉斯推出業內Z快閃存
全年征稿/資訊合作
聯系郵箱:[email protected]
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://m.lfljgfsj.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025第十一屆中國國際機電產品交易會 暨先進制造業博覽會
展會城市:合肥市展會時間:2025-09-20