一種基于fpga實現(xiàn)的rs232-i2c轉換適配器的方法
【專利摘要】本發(fā)明公開了一種基于FPGA實現(xiàn)的RS232-I2C轉換適配器的方法,該方法是利用FPGA的可編程性在FPGA內部搭建I2C模塊、RS232模塊,通過調整I2C模塊速率參數和RS232模塊速率參數來調整I2C的通信速率和RS232通信速度;利用FPGA的引腳數量多和FPGA模塊的可重構性實現(xiàn)一個FPGA搭建多路RS232-I2C轉換適配器。本發(fā)明的一種基于FPGA實現(xiàn)的RS232-I2C轉換適配器的方法和現(xiàn)有技術相比,具有設計合理、使用方便等特點,利用一個FPGA搭建多路RS232-I2C轉換適配器、提高了適配器的性能、降低成本、增強了適配器的穩(wěn)定性。
【專利說明】一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法
【技術領域】
[0001]本發(fā)明涉及適配器【技術領域】,具體地說是一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法。
【背景技術】
[0002]FPGA是Field — Programmable Gate Array的英文縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
[0003]RS232是個人計算機上的通訊接口之一,是異步傳輸標準接口。RS是英文“推薦標準”的縮寫,232為標識號。
[0004]目前,在JKFZJ項目中,需要把從串口接收的數據寫入到EEPROM中。這就要求需要提供一個測試工具來測試從串口接收的數據是否正確寫入到EEPROM中。市場上一個RS232-12C的模塊就需要198元,一個4路的RS232-12C適配器價錢是1000多元,價格昂貴,使用成本高。
【發(fā)明內容】
[0005]本發(fā)明的技術任務是提供一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法。
[0006]本發(fā)明的技術任務是按以下方式實現(xiàn)的,該方法是利用FPGA的可編程性在FPGA內部搭建I2C模塊、RS232模塊,通過調整I2C模塊速率參數和RS232模塊速率參數來調整I2C的通信速率和RS232通信速度;利用FPGA的引腳數量多和FPGA模塊的可重構性實現(xiàn)一個FPGA搭建多路RS232-12C轉換適配器。
[0007]該方法的RS232-12C轉換適配器的模塊分為I2C模塊、RS232_RX模塊、RS232_TX模塊、Speed_rx_select模塊、Speed_tx_select模塊、存儲接收串口數據的FIFO模塊、存儲發(fā)送串口數據的FIFO模塊;
通過RS232_RX模塊接收數據,將接收的數據放入到FIFO模塊,接收完數據后RS232_RX模塊發(fā)送一個I2C_Write命令通知I2C模塊將FIFO中存儲的接收到的串口數據寫入到EEPROM中;待將RS232_RX接收的數據通過I2C寫入到EEPROM后,I2C模塊自產生一個I2C_Read命令通知I2C讀取EEPROM的數據;將讀取的數據放入到FIFO中,數據完全讀取完畢后,I2C模塊發(fā)送一個RS232_TX模塊需要的觸發(fā)命令TX_READY,告訴RS232_TX模塊將I2C模塊寫入FIFO的數據通過串口發(fā)送出去;通過串口發(fā)送出的數據來驗證RS232-12C適配器的功能。
[0008]所述的串口的波特率通過控制speed_select模塊的參數來調整,I2C的速率通過調整FPGA代碼的參數來調整。
[0009]本發(fā)明的一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法和現(xiàn)有技術相比,具有設計合理、使用方便等特點,利用一個FPGA搭建多路RS232-12C轉換適配器、提高了適配器的性能、降低成本、增強了適配器的穩(wěn)定性。
【專利附圖】
【附圖說明】
[0010]附圖1為FPGA內一路RS232-12C適配器整體框圖。
【具體實施方式】
[0011]實施例1:
該基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法是利用FPGA的可編程性在FPGA內部搭建I2C模塊、RS232模塊,通過調整I2C模塊速率參數和RS232模塊速率參數來調整I2C的通信速率和RS232通信速度;利用FPGA的引腳數量多和FPGA模塊的可重構性實現(xiàn)一個FPGA搭建多路RS232-12C轉換適配器。
[0012]該方法的RS232-12C轉換適配器的模塊分為I2C模塊、RS232_RX模塊、RS232_TX模塊、Speed_rx_select模塊、Speed_tx_select模塊、存儲接收串口數據的FIFO模塊、存儲發(fā)送串口數據的FIFO模塊;通過RS232_RX模塊接收數據,將接收的數據放入到FIFO模塊,接收完數據后RS232_RX模塊發(fā)送一個I2C_Write命令通知I2C模塊將FIFO中存儲的接收到的串口數據寫入到EEPROM中;待將RS232_RX接收的數據通過I2C寫入到EEPROM后,I2C模塊自產生一個I2C_Read命令通知I2C讀取EEPROM的數據;將讀取的數據放入到FIFO中,數據完全讀取完畢后,I2C模塊發(fā)送一個RS232_TX模塊需要的觸發(fā)命令TX_READY,告訴RS232_TX模塊將I2C模塊寫入FIFO的數據通過串口發(fā)送出去;通過串口發(fā)送出的數據來驗證RS232-12C適配器的功能;串口的波特率通過控制speed_select模塊的參數來調整,I2C的速率通過調整FPGA代碼的參數來調整。
[0013]實施例2:
該基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法是利用FPGA的可編程性在FPGA內部搭建I2C模塊、RS232模塊,通過調整I2C模塊速率參數和RS232模塊速率參數來調整I2C的通信速率和RS232通信速度;利用FPGA的引腳數量多和FPGA模塊的可重構性實現(xiàn)一個FPGA搭建多路RS232-12C轉換適配器。
[0014]該方法的RS232-12C轉換適配器的模塊分為I2C模塊、RS232_RX模塊、RS232_TX模塊、Speed_rx_select模塊、Speed_tx_select模塊、存儲接收串口數據的FIFO模塊、存儲發(fā)送串口數據的FIFO模塊;通過RS232_RX模塊接收數據,將接收的數據放入到FIFO模塊,接收完數據后RS232_RX模塊發(fā)送一個I2C_Write命令通知I2C模塊將FIFO中存儲的接收到的串口數據寫入到EEPROM中;待將RS232_RX接收的數據通過I2C寫入到EEPROM后,I2C模塊自產生一個I2C_Read命令通知I2C讀取EEPROM的數據;將讀取的數據放入到FIFO中,數據完全讀取完畢后,I2C模塊發(fā)送一個RS232_TX模塊需要的觸發(fā)命令TX_READY,告訴RS232_TX模塊將I2C模塊寫入FIFO的數據通過串口發(fā)送出去;通過串口發(fā)送出的數據來驗證RS232-12C適配器的功能;串口的波特率通過控制speed_select模塊的參數來調整,I2C的速率通過調整FPGA代碼的參數來調整。
[0015]將上述RS232-12C轉換適配器一端通過串口連接到PC機上,另一端連接到JKFZJ板的EEPROM接口上。JKFZJ板上電后,在PC機上打開串口調試助手,選擇波特率、奇偶校驗位等參數,發(fā)送一幀以0xed、0x90開頭,0x09、0xd7結尾的數據。待數據發(fā)送后會發(fā)現(xiàn)在串口調試助手中串口接收到這組數據。
[0016]通過上面【具體實施方式】,所述【技術領域】的技術人員可容易的實現(xiàn)本發(fā)明。但是應當理解,本發(fā)明并不限于上述的幾種【具體實施方式】。在公開的實施方式的基礎上,所述【技術領域】的技術人員可任意組合不同的技術特征,從而實現(xiàn)不同的技術方案。
【權利要求】
1.一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法,其特征在于,該方法是利用FPGA的可編程性在FPGA內部搭建I2C模塊、RS232模塊,通過調整I2C模塊速率參數和RS232模塊速率參數來調整I2C的通信速率和RS232通信速度;利用FPGA的引腳數量多和FPGA模塊的可重構性實現(xiàn)一個FPGA搭建多路RS232-12C轉換適配器。
2.根據權利要求1所述的一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法,其特征在于,該方法的RS232-12C轉換適配器的模塊分為I2C模塊、RS232_RX模塊、RS232_TX模塊、Speed_rx_select模塊、Speed_tx_select模塊、存儲接收串口數據的FIFO模塊、存儲發(fā)送串口數據的FIFO模塊; 通過RS232_RX模塊接收數據,將接收的數據放入到FIFO模塊,接收完數據后RS232_RX模塊發(fā)送一個I2C_Write命令通知I2C模塊將FIFO中存儲的接收到的串口數據寫入到EEPROM中;待將RS232_RX接收的數據通過I2C寫入到EEPROM后,I2C模塊自產生一個I2C_Read命令通知I2C讀取EEPROM的數據;將讀取的數據放入到FIFO中,數據完全讀取完畢后,I2C模塊發(fā)送一個RS232_TX模塊需要的觸發(fā)命令TX_READY,告訴RS232_TX模塊將I2C模塊寫入FIFO的數據通過串口發(fā)送出去;通過串口發(fā)送出的數據來驗證RS232-12C適配器的功能。
3.根據權利要求2所述的一種基于FPGA實現(xiàn)的RS232-12C轉換適配器的方法,其特征在于,所述的串口的波特率通過控制speecLselect模塊的參數來調整,I2C的速率通過調整FPGA代碼的參數來調整。
【文檔編號】G06F13/20GK104503936SQ201410807992
【公開日】2015年4月8日 申請日期:2014年12月22日 優(yōu)先權日:2014年12月22日
【發(fā)明者】張孝飛, 趙素梅, 劉強, 金長新 申請人:浪潮集團有限公司