亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)及其方法

文檔序號:6635883閱讀:438來源:國知局
一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)及其方法
【專利摘要】本發(fā)明涉及一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)及其方法,所述系統(tǒng)包括異步并行總線接口模塊、數(shù)據(jù)緩存區(qū)、EtherCAT讀寫控制模塊、配置信息模塊和中斷脈沖合成模塊;所述數(shù)據(jù)緩存區(qū)包括A網(wǎng)數(shù)據(jù)緩存區(qū)和B網(wǎng)數(shù)據(jù)緩存區(qū);所述系統(tǒng)分別與主控芯片和ESC芯片連接;所述方法包括啟動(dòng)方法,讀EtherCAT數(shù)據(jù)方法和寫EtherCAT數(shù)據(jù)方法。本發(fā)明提高了通信的可靠性,提高主控系統(tǒng)整體的實(shí)時(shí)性。本發(fā)明避免了主控芯片因丟失一次中斷信號的下降沿后,再也無法響應(yīng)ESC芯片ET1100中斷信號的問題。
【專利說明】—種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)及其方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),具體講涉及一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)及其方法。

【背景技術(shù)】
[0002]EtherCAT是由一種基于標(biāo)準(zhǔn)以太網(wǎng)技術(shù)的實(shí)時(shí)工業(yè)以太網(wǎng)現(xiàn)場總線技術(shù),最初由德國倍福公司開發(fā),它具有傳輸容量大、傳輸速度快、實(shí)時(shí)性高、實(shí)現(xiàn)成本低、拓?fù)浣Y(jié)構(gòu)靈活等特點(diǎn),近年來,EtherCAT技術(shù)被廣泛應(yīng)用于工業(yè)自動(dòng)化控制領(lǐng)域。隨著技術(shù)的不斷進(jìn)步,目前采用單一 EtherCAT網(wǎng)絡(luò)的實(shí)時(shí)控制系統(tǒng),其可靠性已經(jīng)達(dá)到很高的水平,完全能夠滿足大多數(shù)規(guī)模和風(fēng)險(xiǎn)不大的工業(yè)控制要求,但對于部分高危險(xiǎn)、高價(jià)值、大規(guī)模的工業(yè)控制來說還遠(yuǎn)遠(yuǎn)不夠,尤其是在高壓直流輸電、精密半導(dǎo)體制造等領(lǐng)域,由于受到惡劣的現(xiàn)場環(huán)境、較長的傳輸距離等因素干擾,EtherCAT網(wǎng)絡(luò)可能會(huì)發(fā)生無法預(yù)測的錯(cuò)誤,從而引發(fā)嚴(yán)重的后果。為了增強(qiáng)EtherCAT網(wǎng)絡(luò)的容錯(cuò)能力,提高通信的可靠性,通常的做法是采用雙冗余網(wǎng)絡(luò)的設(shè)計(jì)方式。
[0003]EtherCAT網(wǎng)絡(luò)采用主從式的通信結(jié)構(gòu),由主站控制網(wǎng)絡(luò)周期,發(fā)送下行報(bào)文,數(shù)據(jù)幀遍歷所有從站,每個(gè)從站在數(shù)據(jù)幀經(jīng)過時(shí),通過專用的ESC芯片(EtherCAT從站控制芯片)來處理數(shù)據(jù)幀。主控芯片(如DSP、ARM等)只需要與ESC芯片的PDI接口(過程數(shù)據(jù)接口)連接,通過異步并行總線或SPI總線來讀/寫數(shù)據(jù),即可與其他從站實(shí)時(shí)通信,無需復(fù)雜的編解碼過程。
[0004]但是,將主控芯片與ESC芯片直連應(yīng)用時(shí),會(huì)存在一些問題,以ETllOO這款常用的ESC芯片為例加以說明:1、ETllOO每個(gè)網(wǎng)絡(luò)周期都會(huì)輸出低電平的中斷信號,主控芯片一般通過檢測該中斷信號的下降沿來啟動(dòng)讀/寫網(wǎng)絡(luò)數(shù)據(jù),最后,主控芯片還需要向ETllOO的一個(gè)特定地址讀/寫數(shù),才能將ETllOO的中斷信號置為高電平,清除該中斷信號。若主控芯片沒有及時(shí)向ET1100的特定地址讀/寫數(shù),則主控芯片有可能因?yàn)闊o法檢測到該中斷信號的下降沿而斷網(wǎng);2、ETllOO的PDI接口速度一般為幾百納秒才可讀/寫一個(gè)16位數(shù)據(jù),比主控芯片十幾納秒讀/寫一個(gè)16位數(shù)據(jù)慢很多,因此,主控芯片直接讀/寫ETllOO時(shí)需要不停的等待,當(dāng)傳輸?shù)臄?shù)據(jù)較多時(shí),主控芯片的總線會(huì)被長時(shí)間占用,從而影響控制系統(tǒng)的實(shí)時(shí)性;3、采用雙冗余EtherCAT網(wǎng)絡(luò)的設(shè)計(jì)方式時(shí),會(huì)進(jìn)一步增加主控芯片在通信方面的開銷,使得控制系統(tǒng)整體的實(shí)時(shí)性下降。


【發(fā)明內(nèi)容】

[0005]針對現(xiàn)有技術(shù)的不足,本發(fā)明提供一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)及其方法,添加在主控芯片與兩個(gè)ESC芯片之間,兩個(gè)ESC芯片分別連入EtherCAT網(wǎng)絡(luò)(A網(wǎng))和EtherCAT網(wǎng)絡(luò)(B網(wǎng)),兩個(gè)網(wǎng)絡(luò)互為備用,傳輸?shù)臄?shù)據(jù)完全相同。本發(fā)明具體包括以下幾個(gè)功能模塊:
[0006]1、異步并行總線接口模塊,用于將主控芯片對FPGA的讀/寫時(shí)序轉(zhuǎn)換成FPGA內(nèi)部讀/寫時(shí)序,該模塊接口速度快,主控芯片讀/寫本發(fā)明的內(nèi)部數(shù)據(jù)時(shí)無需等待。主控芯片讀數(shù)據(jù)時(shí),異步并行總線接口模塊依據(jù)地址不同,將雙口 RAM2模塊或雙口 RAM4模塊中緩存的數(shù)據(jù)傳輸給主控芯片;主控芯片寫數(shù)據(jù)時(shí),異步并行總線接口模塊依據(jù)地址不同,將數(shù)據(jù)存放到配置信息模塊中或者同時(shí)存放到雙口 RAMl模塊和雙口 RAM3模塊中;
[0007]2、A網(wǎng)數(shù)據(jù)緩存區(qū),包括雙口 RAM2模塊以及采用乒乓控制的雙口 RAMl模塊。雙口 RAM2模塊用于緩存ESC芯片ETllOO (A網(wǎng))從EtherCAT網(wǎng)絡(luò)(A網(wǎng))下載下來并需要發(fā)送到主控芯片的下載區(qū)數(shù)據(jù);采用乒乓控制的雙口 RAMl模塊用于緩存主控芯片發(fā)送到ESC芯片ETllOO (A網(wǎng))并需要上傳到EtherCAT網(wǎng)絡(luò)(A網(wǎng))的上傳區(qū)數(shù)據(jù),雙口 RAMl模塊包括雙口 RAM1_0和雙口 RAM1_1兩部分,交替存儲(chǔ)本次和上次的上傳區(qū)數(shù)據(jù);
[0008]3、EtherCAT讀寫控制(A網(wǎng))模塊,用于通過異步并行總線,根據(jù)配置信息模塊中存儲(chǔ)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度,對ESC芯片ETllOO (A網(wǎng))進(jìn)行讀/寫操作,將下載區(qū)數(shù)據(jù)讀出并按順序依次存放到雙口 RAM2模塊中,再將采用乒乓控制的雙口 RAMl模塊中的上傳區(qū)數(shù)據(jù)按順序依次寫入ESC芯片ETllOO (A網(wǎng))中。EtherCAT讀寫控制(A網(wǎng))模塊讀完下載區(qū)數(shù)據(jù)后,會(huì)輸出一個(gè)脈沖信號給中斷脈沖合成模塊,寫完上傳區(qū)數(shù)據(jù)后,會(huì)將ESC芯片ETllOO (A網(wǎng))的中斷信號清除;
[0009]4、配置信息模塊,用于寄存主控芯片寫入的配置信息,配置信息包括:ESC芯片ETllOO中下載區(qū)的數(shù)據(jù)段起始地址和數(shù)據(jù)段長度、上傳區(qū)的數(shù)據(jù)段起始地址和數(shù)據(jù)段長度以及啟動(dòng)命令字;
[0010]5、中斷脈沖合成模塊,用于將兩個(gè)EtherCAT讀寫控制模塊輸出的脈沖信號合成為一個(gè)中斷脈沖,并發(fā)送給主控芯片,使主控芯片進(jìn)入中斷服務(wù)程序,而后從雙口 RAM2模塊和雙口 RAM4模塊中讀取最新的EtherCAT網(wǎng)絡(luò)數(shù)據(jù);
[0011]6、B網(wǎng)數(shù)據(jù)緩存區(qū),包括雙口 RAM4模塊以及采用乒乓控制的雙口 RAM3模塊。雙口 RAM4模塊用于緩存ESC芯片ETllOO (B網(wǎng))從EtherCAT網(wǎng)絡(luò)(B網(wǎng))下載下來并需要發(fā)送到主控芯片的下載區(qū)數(shù)據(jù);采用乒乓控制的雙口 RAM3模塊用于緩存主控芯片發(fā)送到ESC芯片ETllOO (B網(wǎng))并需要上傳到EtherCAT網(wǎng)絡(luò)(B網(wǎng))的上傳區(qū)數(shù)據(jù),雙口 RAM3模塊包括雙口 RAM3_0和雙口 RAM3_1兩部分,交替存儲(chǔ)本次和上次的上傳區(qū)數(shù)據(jù);
[0012]7、EtherCAT讀寫控制(B網(wǎng))模塊,用于通過異步并行總線,根據(jù)配置信息模塊中存儲(chǔ)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度,對ESC芯片ETllOO (B網(wǎng))進(jìn)行讀/寫操作,將下載區(qū)數(shù)據(jù)讀出并按順序依次存放到雙口 RAM4模塊中,再將采用乒乓控制的雙口 RAM3模塊中的上傳區(qū)數(shù)據(jù)按順序依次寫入ESC芯片ETllOO (B網(wǎng))中。EtherCAT讀寫控制(B網(wǎng))模塊讀完下載區(qū)數(shù)據(jù)后,會(huì)輸出一個(gè)脈沖信號給中斷脈沖合成模塊,寫完上傳區(qū)數(shù)據(jù)后,會(huì)將ESC芯片ETllOO (B網(wǎng))的中斷信號清除。
[0013]本發(fā)明的目的是采用下述技術(shù)方案實(shí)現(xiàn)的:
[0014]一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其改進(jìn)之處在于,所述系統(tǒng)包括異步并行總線接口模塊、數(shù)據(jù)緩存區(qū)、EtherCAT讀寫控制模塊、配置信息模塊和中斷脈沖合成模塊;
[0015]所述數(shù)據(jù)緩存區(qū)包括A網(wǎng)數(shù)據(jù)緩存區(qū)和B網(wǎng)數(shù)據(jù)緩存區(qū);
[0016]所述系統(tǒng)分別與主控芯片和ESC芯片連接;
[0017]所述異步并行總線接口模塊、數(shù)據(jù)緩存區(qū)和EtherCAT讀寫控制模塊依次連接;
[0018]所述異步并行總線接口模塊、配置信息模塊和EtherCAT讀寫控制模塊依次連接;
[0019]所述異步并行總線接口模塊、中斷脈沖合成模塊和EtherCAT讀寫控制模塊依次連接。
[0020]優(yōu)選的,所述A網(wǎng)數(shù)據(jù)緩存區(qū)包括雙口 RAM2模塊和采用乒乓控制的雙口 RAMl模塊;所述雙口 RAMl模塊包括雙口 RAM1J)和雙口 RAM1_1兩部分。
[0021]優(yōu)選的,所述B網(wǎng)數(shù)據(jù)緩存區(qū)包括雙口 RAM4模塊和采用乒乓控制的雙口 RAM3模塊;所述雙口 RAM3模塊包括雙口 RAM3_0和雙口 RAM3_1兩部分。
[0022]優(yōu)選的,所述異步并行總線接口模塊對外與主控芯片的總線接口相連,對內(nèi)與雙口 RAM模塊、配置信息模塊以及中斷脈沖合成模塊相連。
[0023]優(yōu)選的,所述EtherCAT讀寫控制A網(wǎng)模塊對外與ESC芯片ET1100A網(wǎng)的總線接口相連,對內(nèi)與雙口 RAM2模塊、采用乒乓控制的雙口 RAMl模塊、配置信息模塊以及中斷脈沖合成模塊相連。
[0024]優(yōu)選的,所述EtherCAT讀寫控制B網(wǎng)模塊對外與ESC芯片ET1100B網(wǎng)的總線接口相連,對內(nèi)與雙口 RAM4模塊、采用乒乓控制的雙口 RAM3模塊、配置信息模塊以及中斷脈沖合成模塊相連。
[0025]本發(fā)明基于另一目的提供的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法,其改進(jìn)之處在于,所述方法包括啟動(dòng)方法,讀EtherCAT數(shù)據(jù)方法和寫EtherCAT數(shù)據(jù)方法。
[0026]優(yōu)選的,所述啟動(dòng)方法包括
[0027](8.1)FPGA上電后,EtherCAT讀寫控制模塊對ESC芯片ET1100進(jìn)行初始化配置,完成后,等待主控芯片下發(fā)的啟動(dòng)命令字;
[0028](8.2)主控芯片通過異步并行總線接口模塊,將下載區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度以及上傳區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度寫入配置信息模塊;
[0029](8.3)主控芯片將啟動(dòng)命令字寫入配置信息模塊;
[0030](8.4)EtherCAT讀寫控制模塊接收到配置信息模塊中的啟動(dòng)命令字后,啟動(dòng)運(yùn)行。
[0031]優(yōu)選的,所述讀EtherCAT數(shù)據(jù)方法包括
[0032](9.DEtherCAT讀寫控制模塊等待ESC芯片ET1100輸出的低電平中斷信號;
[0033](9.2)接收到低電平中斷信號后,EtherCAT讀寫控制模塊根據(jù)配置信息模塊中下載區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度,從ESC芯片ETllOO中讀取數(shù)據(jù);
[0034](9.3)EtherCAT讀寫控制A網(wǎng)模塊將讀出的下載區(qū)數(shù)據(jù)存入雙口 RAM2模塊,EtherCAT讀寫控制B網(wǎng)模塊將讀出的下載區(qū)數(shù)據(jù)存入雙口 RAM4模塊;
[0035](9.4)讀完數(shù)據(jù)后,EtherCAT讀寫控制模塊輸出一個(gè)脈沖信號給中斷脈沖合成模塊;
[0036](9.5)中斷脈沖合成模塊將脈沖信號合成后,輸出一個(gè)中斷脈沖給主控芯片;
[0037](9.6)主控芯片接收到中斷脈沖后,通過異步并行總線接口模塊,從雙口 RAM2模塊和雙口 RAM4模塊中讀取EtherCAT數(shù)據(jù),并選擇累加字連續(xù)、校驗(yàn)和正確的數(shù)據(jù)段作為有效數(shù)據(jù)使用。
[0038]優(yōu)選的,所述寫EtherCAT數(shù)據(jù)方法包括
[0039](10.DEtherCAT讀寫控制模塊讀完下載區(qū)數(shù)據(jù)后,立即啟動(dòng)寫EtherCAT數(shù)據(jù)的流程;EtherCAT讀寫控制A網(wǎng)模塊將采用乒乓控制的雙口 RAMl模塊中的上傳區(qū)數(shù)據(jù)寫入ESC芯片ET1100A網(wǎng),EtherCAT讀寫控制B網(wǎng)模塊將采用乒乓控制的雙口 RAM3模塊中的上傳區(qū)數(shù)據(jù)寫入ESC芯片ETl10B網(wǎng);
[0040](10.2)主控芯片接收并處理完上傳區(qū)數(shù)據(jù)后,通過異步并行總線接口模塊,將需要上傳到EtherCAT網(wǎng)絡(luò)的數(shù)據(jù)同時(shí)寫入雙口 RAMl模塊和雙口 RAM3模塊中;
[0041](10.3)EtherCAT讀寫控制模塊寫完數(shù)據(jù)后,將ESC芯片ET1100的EtherCAT中斷號清除。
[0042]優(yōu)選的,所述EtherCAT讀寫控制由狀態(tài)機(jī)控制讀/寫數(shù)據(jù)流程,狀態(tài)機(jī)包括初始化ESC芯片ET1100、等待啟動(dòng)命令、等待ET1100中斷信號、讀下載區(qū)的EtherCAT數(shù)據(jù)、發(fā)出完成讀數(shù)據(jù)的脈沖信號、寫上傳區(qū)的EtherCAT數(shù)據(jù)和清除ET1100中斷信號7種狀態(tài)。
[0043]與現(xiàn)有技術(shù)比,本發(fā)明的有益效果為:
[0044]1、本發(fā)明采用雙冗余EtherCAT網(wǎng)絡(luò)的設(shè)計(jì)方式,可以增強(qiáng)EtherCAT網(wǎng)絡(luò)的容錯(cuò)能力,提高通信的可靠性;
[0045]2、本發(fā)明利用FPGA運(yùn)行速度快、可配置引腳多、能并行處理等特點(diǎn),同時(shí)對兩片ESC芯片ETl 100讀/寫數(shù)據(jù),并將數(shù)據(jù)存入FPGA片內(nèi)的雙口 RAM中,通過高速異步并行總線接口與主控芯片傳輸數(shù)據(jù),因此可以大幅縮短主控芯片總線的等待時(shí)間,減少主控芯片在通信方面的開銷,提高主控系統(tǒng)整體的實(shí)時(shí)性;
[0046]3、本發(fā)明根據(jù)ESC芯片ETllOO輸出的低電平中斷信號啟動(dòng)讀/寫EtherCAT網(wǎng)絡(luò)數(shù)據(jù)的流程,操作完成后便會(huì)自動(dòng)清除ESC芯片ETllOO的中斷信號,并等待下一周期低電平中斷信號再次觸發(fā)。避免了主控芯片因丟失一次中斷信號的下降沿后,再也無法響應(yīng)ESC芯片ETllOO中斷信號的問題。

【專利附圖】

【附圖說明】
[0047]圖1為本發(fā)明提供的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng)結(jié)構(gòu)圖。
[0048]圖2為本發(fā)明提供的EtherCAT讀寫控制模塊的運(yùn)行流程示意圖。

【具體實(shí)施方式】
[0049]下面結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步的詳細(xì)說明。
[0050]如圖1所示,本發(fā)明提供了一種基于FPGA的EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),F(xiàn)PGA選用xilinx公司的Spartan系列,內(nèi)部帶有可編程的Block RAM。主控芯片選擇的是TI公司C2000系列的DSP,支持16位數(shù)據(jù)總線;ESC芯片選擇的是倍福公司的ET1100芯片。將FPGA分別與主控芯片、ESC芯片ETllOO (A網(wǎng))以及ESC芯片ET1100 (B網(wǎng))的總線接口相連,地址總線和數(shù)據(jù)總線均為16位。
[0051 ] 本發(fā)明FPGA內(nèi)部功能模塊具體如下:
[0052] 異步并行總線接口模塊;采用乒乓控制的雙口 RAMl模塊;雙口 RAM2模塊;EtherCAT讀寫控制(A網(wǎng))模塊;配置信息模塊;采用乒乓控制的雙口 RAM3模塊;雙口 RAM4模塊;EtherCAT讀寫控制(B網(wǎng))模塊。異步并行總線接口模塊對外與主控芯片的總線接口相連,對內(nèi)與所有雙口 RAM模塊、配置信息模塊以及中斷脈沖合成模塊相連。EtherCAT讀寫控制(A網(wǎng))模塊對外與ESC芯片ETllOO (A網(wǎng))的總線接口相連,對內(nèi)與雙口 RAM2模塊、采用乒乓控制的雙口 RAMl模塊、配置信息模塊以及中斷脈沖合成模塊相連。EtherCAT讀寫控制(B網(wǎng))模塊對外與ESC芯片ETllOO (B網(wǎng))的總線接口相連,對內(nèi)與雙口 RAM4模塊、采用乒乓控制的雙口 RAM3模塊、配置信息模塊以及中斷脈沖合成模塊相連。下面對每個(gè)模塊的工作原理進(jìn)行詳細(xì)說明:
[0053]1、異步并行總線接口模塊始終檢測主控芯片發(fā)出的讀/寫數(shù)據(jù)信號,若為讀信號,則根據(jù)主控芯片輸出的地址,將雙口 RAM2或雙口 RAM4中相應(yīng)地址的下載區(qū)數(shù)據(jù)傳給主控芯片;若為寫信號,且主控芯片輸出的地址為配置信息的地址,就將數(shù)據(jù)寫入配置信息模塊,如果是上傳區(qū)數(shù)據(jù)的地址,則將數(shù)據(jù)同時(shí)寫入雙口 RAMl和雙口 RAM3模塊中的相應(yīng)地址;異步并行總線接口模塊根據(jù)雙口 RAMl模塊的乒乓控制標(biāo)志位將上傳區(qū)數(shù)據(jù)寫入雙口RAM1_0或雙口 RAM1_1,乒乓控制標(biāo)志位為O時(shí),寫入雙口 RAM1_0,乒乓控制標(biāo)志位為I時(shí),寫入雙口 RAM1_1 ;異步并行總線接口模塊根據(jù)雙口 RAM3模塊的乒乓控制標(biāo)志位將上傳區(qū)數(shù)據(jù)寫入雙口 RAM3_0或雙口 RAM3_1,乒乓控制標(biāo)志位為O時(shí),寫入雙口 RAM3_0,乒乓控制標(biāo)志位為I時(shí),寫入雙口 RAM3_1 ;
[0054]2、采用乒乓控制的雙口 RAMl模塊由FPGA內(nèi)部的Block RAM構(gòu)成,由于每個(gè)ESC芯片ETllOO能夠上傳的數(shù)據(jù)總段數(shù)最多為7段,每段最多256個(gè)字,因此配置雙口 RAM1_0和雙口 RAM1_1兩部分的容量均為4KB即可。異步并行總線接口模塊可對雙口 RAMl模塊進(jìn)行讀/寫操作,但EtherCAT讀寫控制(A網(wǎng))模塊只能對雙口 RAMl模塊進(jìn)行讀操作。雙口 RAMl模塊內(nèi)部有一個(gè)兵兵控制標(biāo)志位,其功能為:當(dāng)兵兵控制標(biāo)志位為O時(shí),異步并行總線接口模塊可以對雙口 RAM1_0讀/寫數(shù)據(jù),EtherCAT讀寫控制(A網(wǎng))模塊只能對雙口RAM1_1讀數(shù)據(jù);當(dāng)乒乓控制標(biāo)志位為I時(shí),異步并行總線接口模塊可以對雙口 RAM1_1讀/寫數(shù)據(jù),EtherCAT讀寫控制(A網(wǎng))模塊只能對雙口 RAM1_0讀數(shù)據(jù);乒乓控制標(biāo)志位每次都在異步并行總線接口模塊寫完最后一個(gè)數(shù)據(jù),同時(shí)EtherCAT讀寫控制(A網(wǎng))模塊讀完最后一個(gè)數(shù)據(jù)之后進(jìn)行翻轉(zhuǎn);
[0055]3、雙口 RAM2模塊由FPGA內(nèi)部的Block RAM構(gòu)成,由于每個(gè)ESC芯片ET1100可下載的數(shù)據(jù)總段數(shù)最多為7段,每段最多256個(gè)字,因此配置雙口 RAM2模塊的容量為4KB即可。異步并行總線接口模塊只能對雙口 RAM2模塊進(jìn)行讀操作,EtherCAT讀寫控制(A網(wǎng))模塊只能對雙口 RAM2模塊進(jìn)行寫操作;
[0056]4、EtherCAT讀寫控制(A網(wǎng))模塊及EtherCAT讀寫控制(B網(wǎng))模塊均是由狀態(tài)機(jī)(如圖2所示)控制讀/寫數(shù)據(jù)流程,狀態(tài)機(jī)共有6種狀態(tài),包括:①初始化ESC芯片ETllOO 等待啟動(dòng)命令;③等待ETllOO中斷信號;④讀下載區(qū)的EtherCAT數(shù)據(jù);⑤發(fā)出完成讀數(shù)據(jù)的脈沖信號;⑥寫上傳區(qū)的EtherCAT數(shù)據(jù);⑦清除ET1100中斷信號。由狀態(tài)①跳轉(zhuǎn)到狀態(tài)②的條件是,已經(jīng)完成ESC芯片ETllOO初始化流程;由狀態(tài)②跳轉(zhuǎn)到狀態(tài)③的條件是主控芯片已經(jīng)向配置信息模塊寫入了啟動(dòng)命令字;由狀態(tài)③跳轉(zhuǎn)回狀態(tài)②的條件是主控芯片撤銷了配置信息模塊中的啟動(dòng)命令字;由狀態(tài)③跳轉(zhuǎn)到狀態(tài)④的條件是檢測到ESC芯片ETllOO輸出的低電平中斷信號;由狀態(tài)④跳轉(zhuǎn)到狀態(tài)⑤的條件是已經(jīng)根據(jù)配置信息模塊里存儲(chǔ)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度,從ESC芯片ETllOO中讀出所有EtherCAT下載區(qū)數(shù)據(jù);由狀態(tài)⑤跳轉(zhuǎn)到狀態(tài)⑥的條件是已經(jīng)向中斷脈沖合成模塊發(fā)出已完成讀數(shù)據(jù)的脈沖信號;由狀態(tài)⑥跳轉(zhuǎn)到狀態(tài)⑦的條件是已經(jīng)將所有EtherCAT上傳區(qū)數(shù)據(jù)寫入ESC芯片ETllOO ;由狀態(tài)⑦跳轉(zhuǎn)到狀態(tài)③的條件是已經(jīng)讀了一次ESC芯片ETllOO的0x1000地址,并且ESC芯片ETllOO輸出的中斷信號恢復(fù)為高電平;
[0057]5、配置信息模塊由FPGA內(nèi)部的分布式RAM構(gòu)成,由于每個(gè)ESC芯片ET1100允許讀/寫的數(shù)據(jù)段總段數(shù)最多為7段,每段最多256個(gè)字,因此配置信息模塊共需要緩存29個(gè)字的配置信息,包括=EtherCAT下載區(qū)的7個(gè)數(shù)據(jù)段首地址和7個(gè)數(shù)據(jù)段長度,EtherCAT上傳區(qū)的7個(gè)數(shù)據(jù)段首地址和7個(gè)數(shù)據(jù)段長度,I個(gè)主控下發(fā)的啟動(dòng)命令字;
[0058]6、中斷脈沖合成模塊的輸入為兩個(gè)EtherCAT讀寫控制模塊的讀數(shù)據(jù)完成脈沖信號。當(dāng)檢測到兩個(gè)模塊均發(fā)出脈沖信號時(shí),中斷脈沖合成模塊會(huì)立即輸出一個(gè)中斷脈沖給主控芯片,通知主控芯片從雙口 RAM2模塊和雙口 RAM4模塊中讀取最新的EtherCAT網(wǎng)絡(luò)數(shù)據(jù);當(dāng)只檢測到一個(gè)模塊發(fā)出脈沖信號時(shí),中斷脈沖合成模塊會(huì)啟動(dòng)一個(gè)計(jì)時(shí)器,延時(shí)一定時(shí)間后再輸出一個(gè)中斷脈沖給主控芯片。這里的延時(shí)時(shí)間可設(shè)為兩個(gè)冗余EtherCAT網(wǎng)絡(luò)的中斷信號之間,實(shí)測得出的最大間隔時(shí)間;
[0059]7、采用乒乓控制的雙口 RAM3模塊由FPGA內(nèi)部的Block RAM構(gòu)成,由于每個(gè)ESC芯片ETllOO能夠上傳的數(shù)據(jù)總段數(shù)最多為7段,每段最多256個(gè)字,因此配置雙口 RAM3_0和雙口 RAM3_1兩部分的容量均為4KB即可。異步并行總線接口模塊可對雙口 RAM3模塊進(jìn)行讀/寫操作,但EtherCAT讀寫控制(B網(wǎng))模塊只能對雙口 RAM3模塊進(jìn)行讀操作。雙口 RAM3模塊內(nèi)部有一個(gè)乒乓控制標(biāo)志位,其功能為:當(dāng)乒乓控制標(biāo)志位為O時(shí),異步并行總線接口模塊可以對雙口 RAM3_0讀/寫數(shù)據(jù),EtherCAT讀寫控制(B網(wǎng))模塊只能對雙口RAM3_1讀數(shù)據(jù);當(dāng)乒乓控制標(biāo)志位為I時(shí),異步并行總線接口模塊可以對雙口 RAM3_1讀/寫數(shù)據(jù),EtherCAT讀寫控制(B網(wǎng))模塊只能對雙口 RAM3_0讀數(shù)據(jù);乒乓控制標(biāo)志位每次都在異步并行總線接口模塊寫完最后一個(gè)數(shù)據(jù),同時(shí)EtherCAT讀寫控制(B網(wǎng))模塊讀完最后一個(gè)數(shù)據(jù)之后進(jìn)行翻轉(zhuǎn);
[0060]8、雙口 RAM4模塊由FPGA內(nèi)部的Block RAM構(gòu)成,由于每個(gè)ESC芯片ET1100可下載的數(shù)據(jù)總段數(shù)最多為7段,每段最多256個(gè)字,因此配置雙口 RAM4模塊的容量為4KB即可。異步并行總線接口模塊只能對雙口 RAM4模塊進(jìn)行讀操作,EtherCAT讀寫控制(B網(wǎng))模塊只能對雙口 RAM4模塊進(jìn)行寫操作。
[0061]本發(fā)明一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法包括啟動(dòng)方法,讀EtherCAT數(shù)據(jù)的方法和寫EtherCAT數(shù)據(jù)的方法。
[0062]啟動(dòng)方法包括:
[0063]1、FPGA上電后,兩個(gè)EtherCAT讀寫控制模塊分別對兩片ESC芯片ET1100進(jìn)行初始化配置,完成后,等待主控芯片下發(fā)的啟動(dòng)命令字;
[0064]2、主控芯片通過異步并行總線接口模塊,將下載區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度以及上傳區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度寫入配置信息模塊;
[0065]3、主控芯片將啟動(dòng)命令字寫入配置信息模塊;
[0066]4、兩個(gè)EtherCAT讀寫控制模塊接收到配置信息模塊中的啟動(dòng)命令字后,均啟動(dòng)運(yùn)行。
[0067]讀EtherCAT數(shù)據(jù)的方法包括:
[0068]1、兩個(gè)EtherCAT讀寫控制模塊分別等待兩片ESC芯片ET1100輸出的低電平中斷信號;
[0069]2、接收到低電平中斷信號后,兩個(gè)EtherCAT讀寫控制模塊根據(jù)配置信息模塊中下載區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度,分別從兩片ESC芯片ETllOO中讀取數(shù)據(jù);
[0070]3、EtherCAT讀寫控制(A網(wǎng))模塊將讀出的下載區(qū)數(shù)據(jù)存入雙口 RAM2模塊,EtherCAT讀寫控制(B網(wǎng))模塊將讀出的下載區(qū)數(shù)據(jù)存入雙口 RAM4模塊;
[0071]4、讀完所有數(shù)據(jù)后,兩個(gè)EtherCAT讀寫控制模塊均會(huì)輸出一個(gè)脈沖信號給中斷脈沖合成模塊;
[0072]5、中斷脈沖合成模塊將兩個(gè)脈沖信號合成后,輸出一個(gè)中斷脈沖給主控芯片;
[0073]6、主控芯片接收到中斷脈沖后,通過異步并行總線接口模塊,從雙口 RAM2模塊和雙口 RAM4模塊中讀取EtherCAT數(shù)據(jù),并選擇累加字連續(xù)、校驗(yàn)和正確的數(shù)據(jù)段作為有效數(shù)據(jù)加以使用;
[0074]寫EtherCAT數(shù)據(jù)的方法包括:
[0075]1、兩個(gè)EtherCAT讀寫控制模塊讀完所有下載區(qū)數(shù)據(jù)后,立即啟動(dòng)寫EtherCAT數(shù)據(jù)的流程。EtherCAT讀寫控制(A網(wǎng))模塊將采用乒乓控制的雙口 RAMl模塊中的上傳區(qū)數(shù)據(jù)寫入ESC芯片ETllOO (A網(wǎng)),EtherCAT讀寫控制(B網(wǎng))模塊將采用乒乓控制的雙口RAM3模塊中的上傳區(qū)數(shù)據(jù)寫入ESC芯片ETllOO (B網(wǎng));
[0076]2、主控芯片接收并處理完上傳區(qū)數(shù)據(jù)后,可通過異步并行總線接口模塊,將需要上傳到EtherCAT網(wǎng)絡(luò)的數(shù)據(jù)同時(shí)寫入雙口 RAMl模塊和雙口 RAM3模塊中;
[0077]3、兩個(gè)EtherCAT讀寫控制模塊寫完所有數(shù)據(jù)后,分別將兩片ESC芯片ET1100的EtherCAT中斷信號清除。
[0078]最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,所屬領(lǐng)域的普通技術(shù)人員參照上述實(shí)施例依然可以對本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請待批的本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其特征在于,所述系統(tǒng)包括異步并行總線接口模塊、數(shù)據(jù)緩存區(qū)、EtherCAT讀寫控制模塊、配置信息模塊和中斷脈沖合成模塊; 所述數(shù)據(jù)緩存區(qū)包括A網(wǎng)數(shù)據(jù)緩存區(qū)和B網(wǎng)數(shù)據(jù)緩存區(qū); 所述系統(tǒng)分別與主控芯片和ESC芯片連接; 所述異步并行總線接口模塊、數(shù)據(jù)緩存區(qū)和EtherCAT讀寫控制模塊依次連接; 所述異步并行總線接口模塊、配置信息模塊和EtherCAT讀寫控制模塊依次連接; 所述異步并行總線接口模塊、中斷脈沖合成模塊和EtherCAT讀寫控制模塊依次連接。
2.如權(quán)利要求1所述的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其特征在于,所述A網(wǎng)數(shù)據(jù)緩存區(qū)包括雙口 RAM2模塊和采用乒乓控制的雙口 RAMl模塊;所述雙口 RAMl模塊包括雙口RAM1_0和雙口 RAM1_1兩部分。
3.如權(quán)利要求1所述的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其特征在于,所述B網(wǎng)數(shù)據(jù)緩存區(qū)包括雙口 RAM4模塊和采用乒乓控制的雙口 RAM3模塊;所述雙口 RAM3模塊包括雙口RAM3_0和雙口 RAM3_1兩部分。
4.如權(quán)利要求1所述的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其特征在于,所述異步并行總線接口模塊對外與主控芯片的總線接口相連,對內(nèi)與雙口 RAM模塊、配置信息模塊以及中斷脈沖合成模塊相連。
5.如權(quán)利要求1所述的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其特征在于,所述EtherCAT讀寫控制A網(wǎng)模塊對外與ESC芯片ET1100A網(wǎng)的總線接口相連,對內(nèi)與雙口 RAM2模塊、采用乒乓控制的雙口 RAMl模塊、配置信息模塊以及中斷脈沖合成模塊相連。
6.如權(quán)利要求1所述的一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫系統(tǒng),其特征在于,所述EtherCAT讀寫控制B網(wǎng)模塊對外與ESC芯片ET1100B網(wǎng)的總線接口相連,對內(nèi)與雙口 RAM4模塊、采用乒乓控制的雙口 RAM3模塊、配置信息模塊以及中斷脈沖合成模塊相連。
7.—種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法,其特征在于,所述方法包括啟動(dòng)方法,讀EtherCAT數(shù)據(jù)方法和寫EtherCAT數(shù)據(jù)方法。
8.如權(quán)利要求7所述一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法,其特征在于,所述啟動(dòng)方法包括 (8.DFPGA上電后,EtherCAT讀寫控制模塊對ESC芯片ETllOO進(jìn)行初始化配置,完成后,等待主控芯片下發(fā)的啟動(dòng)命令字; (8.2)主控芯片通過異步并行總線接口模塊,將下載區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度以及上傳區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度寫入配置信息模塊; (8.3)主控芯片將啟動(dòng)命令字寫入配置信息模塊; (8.4)EtherCAT讀寫控制模塊接收到配置信息模塊中的啟動(dòng)命令字后,啟動(dòng)運(yùn)行。
9.如權(quán)利要求7所述一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法,其特征在于,所述讀EtherCAT數(shù)據(jù)方法包括 (9.DEtherCAT讀寫控制模塊等待ESC芯片ET1100輸出的低電平中斷信號; (9.2)接收到低電平中斷信號后,EtherCAT讀寫控制模塊根據(jù)配置信息模塊中下載區(qū)的數(shù)據(jù)段首地址和數(shù)據(jù)段長度,從ESC芯片ETllOO中讀取數(shù)據(jù); (9.3) EtherCAT讀寫控制A網(wǎng)模塊將讀出的下載區(qū)數(shù)據(jù)存入雙口 RAM2模塊,EtherCAT讀寫控制B網(wǎng)模塊將讀出的下載區(qū)數(shù)據(jù)存入雙口 RAM4模塊; (9.4)讀完數(shù)據(jù)后,EtherCAT讀寫控制模塊輸出一個(gè)脈沖信號給中斷脈沖合成模塊; (9.5)中斷脈沖合成模塊將脈沖信號合成后,輸出一個(gè)中斷脈沖給主控芯片; (9.6)主控芯片接收到中斷脈沖后,通過異步并行總線接口模塊,從雙口RAM2模塊和雙口 RAM4模塊中讀取EtherCAT數(shù)據(jù),并選擇累加字連續(xù)、校驗(yàn)和正確的數(shù)據(jù)段作為有效數(shù)據(jù)使用。
10.如權(quán)利要求7所述一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法,其特征在于,所述寫EtherCAT數(shù)據(jù)方法包括 (10.DEtherCAT讀寫控制模塊讀完下載區(qū)數(shù)據(jù)后,立即啟動(dòng)寫EtherCAT數(shù)據(jù)的流程;EtherCAT讀寫控制A網(wǎng)模塊將采用乒乓控制的雙口 RAMl模塊中的上傳區(qū)數(shù)據(jù)寫入ESC芯片ET1100A網(wǎng),EtherCAT讀寫控制B網(wǎng)模塊將采用乒乓控制的雙口 RAM3模塊中的上傳區(qū)數(shù)據(jù)寫入ESC芯片ET1100B網(wǎng); (10.2)主控芯片接收并處理完上傳區(qū)數(shù)據(jù)后,通過異步并行總線接口模塊,將需要上傳到EtherCAT網(wǎng)絡(luò)的數(shù)據(jù)同時(shí)寫入雙口 RAMl模塊和雙口 RAM3模塊中; (10.3) EtherCAT讀寫控制模塊寫完數(shù)據(jù)后,將ESC芯片ET1100的EtherCAT中斷信號清除。
11.如權(quán)利要求8?10所述一種EtherCAT雙網(wǎng)數(shù)據(jù)讀寫方法,其特征在于,所述EtherCAT讀寫控制由狀態(tài)機(jī)控制讀/寫數(shù)據(jù)流程,狀態(tài)機(jī)包括初始化ESC芯片ETl 100、等待啟動(dòng)命令、等待ETllOO中斷信號、讀下載區(qū)的EtherCAT數(shù)據(jù)、發(fā)出完成讀數(shù)據(jù)的脈沖信號、寫上傳區(qū)的EtherCAT數(shù)據(jù)和清除ET1100中斷信號7種狀態(tài)。
【文檔編號】G06F15/17GK104391818SQ201410692523
【公開日】2015年3月4日 申請日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】王翔, 蔡林海 申請人:國家電網(wǎng)公司, 國網(wǎng)智能電網(wǎng)研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1