基于W5100的遠(yuǎn)程控制器設(shè)計(jì)
1.2 控制器的軟件設(shè)計(jì)
本系統(tǒng)基于ADS 1.2平臺(tái)開發(fā),采用C語言和匯編語言混合編程完成固件程序的編寫,并完成了在現(xiàn)場(chǎng)環(huán)境下的調(diào)試,最終實(shí)現(xiàn)了基于W5100的遠(yuǎn)程控制器軟件設(shè)計(jì)。系統(tǒng)軟件采用模塊化的設(shè)計(jì)思想,把程序化繁為簡(jiǎn),便于程序的設(shè)計(jì)、調(diào)試及維護(hù)。整個(gè)軟件系統(tǒng)主要包括初始化模塊、TCP/IP模塊和RS 232/RS 485接口處理模塊等。
1.2.1 初始化模塊
初始化模塊主要對(duì)控制器LPC2131和W5100進(jìn)行初始化。LPC2131初始化主要包括啟動(dòng)初始化、時(shí)鐘、I/O、串口以及SPI接口的初始化設(shè)置等,使LPC2131工作在SPI主設(shè)備狀態(tài),W5100工作在從設(shè)備狀態(tài)。W5100初始化包括W5100工作模式、中斷向量、IP地址、網(wǎng)關(guān)地址、子網(wǎng)掩碼、物理地址、超時(shí)值等相關(guān)設(shè)置,并通過對(duì)套接字寄存器初始化來設(shè)置W5100的4個(gè)獨(dú)立的網(wǎng)絡(luò)通道。在該控制器設(shè)計(jì)中,采用的是客戶端/服務(wù)器模式,通過初始化設(shè)置,使W5100工作在服務(wù)器模式下,等待遠(yuǎn)端控制終端的連接。
所以,通過設(shè)置W5100內(nèi)部的控制寄存器,完全可以像在局域網(wǎng)中配置IP地址一樣簡(jiǎn)單地配置設(shè)計(jì)的系統(tǒng),通過靈活創(chuàng)建和選擇TCP或者UDP套接字來完成網(wǎng)上的數(shù)據(jù)交換。
1.2.2 TCP/IP網(wǎng)絡(luò)模塊
TCP服務(wù)器模式程序流程圖如圖3所示。首先通過初始化模塊初始化W5100,并創(chuàng)建一個(gè)socket,把socket和本機(jī)的IP地址和TCP端口綁定,然后偵聽端口;下一步進(jìn)入循環(huán)等待狀態(tài),如有客戶端連接請(qǐng)求,則接受客戶端連接要求;同時(shí)接受客戶機(jī)發(fā)來的數(shù)據(jù),產(chǎn)生系統(tǒng)中斷,進(jìn)入到接收中斷處理進(jìn)程;如果在發(fā)送緩沖區(qū)有數(shù)據(jù)要發(fā)送,則在客戶端連接成功后,進(jìn)入發(fā)送數(shù)據(jù)處理進(jìn)程;最后如果接收和發(fā)送數(shù)據(jù)均已經(jīng)完成,就進(jìn)入關(guān)閉端口進(jìn)程,關(guān)閉socket,通信終止;在整個(gè)的TCP網(wǎng)絡(luò)通信過程中,如果產(chǎn)生超時(shí)中斷,則直接關(guān)閉通信端口。 TCP/IP模塊的主要功能是對(duì)網(wǎng)絡(luò)數(shù)據(jù)的接收和發(fā)送。通過初始化模塊的設(shè)置,將W5100設(shè)置為服務(wù)器模式,通過socket編程,實(shí)現(xiàn)了遠(yuǎn)程控制器的客戶端/服務(wù)器工作模式。本文引用地址:http://m.butianyuan.cn/article/162209.htm
1.2.3 RS 232/RS 485接口處理模塊
RS 232/RS 485接口處理模塊由數(shù)據(jù)編碼/解析子模塊和RS 232/RS 485接口子模塊組成。數(shù)據(jù)編碼/解析子模塊的主要任務(wù)是完成對(duì)網(wǎng)絡(luò)接收來的數(shù)據(jù)進(jìn)行解析并按設(shè)備通信格式進(jìn)行編碼,同時(shí)將從RS 232/RS 485接口設(shè)備獲得的數(shù)據(jù)解析并編碼成為標(biāo)準(zhǔn)的TCP/IP信息包,傳送給遠(yuǎn)程的控制終端。RS 232/RS 485接口模塊實(shí)現(xiàn)了與本地RS 232標(biāo)準(zhǔn)接口設(shè)備數(shù)據(jù)的交換功能以及完成了TCP/IP協(xié)議與現(xiàn)場(chǎng)RS 485接口總線之間的協(xié)議轉(zhuǎn)換。
依托W5100完善的TCP/IP協(xié)議處理功能,使LPC2131在沒有操作系統(tǒng)的支持下可介入Internet網(wǎng)絡(luò),實(shí)現(xiàn)了對(duì)RS 232接口和RS 485接口總線數(shù)據(jù)轉(zhuǎn)換的功能。
2 結(jié)語
基于LPC2131微控制器和W5100網(wǎng)絡(luò)芯片設(shè)計(jì)的帶有標(biāo)準(zhǔn)RS 232/RS 485接口和標(biāo)準(zhǔn)以太網(wǎng)接口的遠(yuǎn)程設(shè)備控制器,它通過標(biāo)準(zhǔn)RS 232/RS 485接口與被控設(shè)備進(jìn)行連接,并通過以太網(wǎng)接口接入到控制網(wǎng)絡(luò)中去,從而實(shí)現(xiàn)了分布式控制系統(tǒng)的網(wǎng)絡(luò)遠(yuǎn)程控制。采用該控制器構(gòu)建的分布式控制系統(tǒng)具有靈活、廉價(jià)、穩(wěn)定、可靠、且容易進(jìn)行系統(tǒng)擴(kuò)展的特點(diǎn)。
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論