多協(xié)議通信轉(zhuǎn)換方法
【專利摘要】本發(fā)明公開一種多協(xié)議通信轉(zhuǎn)換方法,具體為:1)在基于Cortex-m3的轉(zhuǎn)換模塊上電后,通過(guò)讀取撥碼開關(guān)的選通值,確認(rèn)轉(zhuǎn)換需求,然后初始化接口程序;2)接口部分程序得到初始化之后,隨時(shí)準(zhǔn)備執(zhí)行協(xié)議通信,當(dāng)數(shù)據(jù)接收接口接收到數(shù)據(jù)后,此接口會(huì)發(fā)出中斷信號(hào),系統(tǒng)就產(chǎn)生中斷并且響應(yīng)中斷處理函數(shù),中斷處理函數(shù)接收接口的數(shù)據(jù)并進(jìn)行協(xié)議解析,解析后的有效數(shù)據(jù)存入到待發(fā)送接口的FIFO中;3)待發(fā)送接口的FIFO中的數(shù)據(jù)最終在程序的主循環(huán)中以待發(fā)送接口的通信協(xié)議形式發(fā)送出去。本發(fā)明開發(fā)利用了Cortex-m3多協(xié)議轉(zhuǎn)換的功能,通過(guò)撥碼選擇的方式,使兩種完全不同通信方式的設(shè)備進(jìn)行通信,對(duì)于實(shí)現(xiàn)系統(tǒng)集成中通信協(xié)議不相同的設(shè)備之間的互聯(lián)有很好的效果。
【專利說(shuō)明】多協(xié)議通信轉(zhuǎn)換方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種通信轉(zhuǎn)換器,具體是關(guān)于一種多協(xié)議的通信轉(zhuǎn)換方法。
【背景技術(shù)】
[0002]市面上的通信轉(zhuǎn)換器單一的協(xié)議轉(zhuǎn)換比較多,有USB轉(zhuǎn)RS232,有RS232轉(zhuǎn)RS485,也有RS232轉(zhuǎn)RS422。但是像TCP或IP與USB、RS422、RS485、RS232這樣的網(wǎng)口協(xié)議到串口協(xié)議的轉(zhuǎn)換很少。
[0003]另外,以前的技術(shù)多數(shù)是使用專用芯片實(shí)現(xiàn)固定的兩種協(xié)議之間的轉(zhuǎn)換,轉(zhuǎn)換模塊利用率低,很少有支持多種協(xié)議轉(zhuǎn)換的模塊,造價(jià)上來(lái)說(shuō)也相對(duì)比較貴。缺乏一種多協(xié)議轉(zhuǎn)換器及相應(yīng)的轉(zhuǎn)換方法。
【發(fā)明內(nèi)容】
[0004]因此,為解決多種協(xié)議通信之間的轉(zhuǎn)換問(wèn)題,本發(fā)明提供一種多協(xié)議通信轉(zhuǎn)換方法,它是基于Cortex-m3處理器和少數(shù)的幾個(gè)通信芯片,通過(guò)撥碼選擇的方式實(shí)現(xiàn)各種協(xié)議之間的轉(zhuǎn)換,硬件成本相對(duì)較低,有很好的市場(chǎng)價(jià)值。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種多協(xié)議通信轉(zhuǎn)換方法,其特征在于:以Cortex-m3作為轉(zhuǎn)換模塊,通過(guò)撥碼選擇的方式實(shí)現(xiàn)各種協(xié)議間的數(shù)據(jù)透?jìng)?,具體方法為:
[0006]I)在基于Cortex-m3的轉(zhuǎn)換模塊上電后,通過(guò)讀取與Cortex_m3相連的撥碼開關(guān)的選通值,確認(rèn)是哪兩種協(xié)議之間的轉(zhuǎn)換需求,然后初始化程序就初始化這兩個(gè)協(xié)議接口的部分程序;
[0007]2)接口部分程序得到初始化之后,隨時(shí)準(zhǔn)備執(zhí)行協(xié)議通信,當(dāng)數(shù)據(jù)接收接口接收到數(shù)據(jù)后,此接口會(huì)發(fā)出中斷信號(hào),系統(tǒng)就產(chǎn)生中斷并且響應(yīng)中斷處理函數(shù),中斷處理函數(shù)接收接口的數(shù)據(jù)并進(jìn)行協(xié)議解析,解析后的有效數(shù)據(jù)存入到待發(fā)送接口的FIFO中;
[0008]3)待發(fā)送接口的FIFO中的數(shù)據(jù)最終在程序的主循環(huán)中以待發(fā)送接口的通信協(xié)議形式發(fā)送出去。
[0009]所述數(shù)據(jù)接收接口是 USB 接口、RS232 接口、RS485 接口、RS422 接口、TCP 接口、IP
接口之一。
[0010]所述待發(fā)送接口是 USB 接口、RS232 接口、RS485 接口、RS422 接口、TCP 接口、IP 接
□之一。
[0011]所述USB協(xié)議和網(wǎng)口協(xié)議的數(shù)據(jù)都是以數(shù)據(jù)包形式發(fā)送或接收的。
[0012]本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn):本發(fā)明開發(fā)利用了 CorteX-m3多協(xié)議轉(zhuǎn)換的功能,通過(guò)撥碼選擇的方式,使兩種完全不同通信方式的設(shè)備進(jìn)行通信,并且這種轉(zhuǎn)換的類型很多,有USB與RS232,RS232與RS485,RS232與RS422之間的轉(zhuǎn)換,也有TCP或IP與USB、RS422、RS485、RS232之間的轉(zhuǎn)換。而且成本較低,對(duì)于實(shí)現(xiàn)系統(tǒng)集成中通信協(xié)議不相同的設(shè)備之間的互聯(lián)有很好的效果?!緦@綀D】
【附圖說(shuō)明】
[0013]圖1是以Cortex-m3為核心的通信板接口示意圖。
[0014]圖2本發(fā)明中多協(xié)議轉(zhuǎn)換的流程圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的描述。
[0016]本發(fā)明是基于Cortex-m3設(shè)計(jì)的一種通信協(xié)議轉(zhuǎn)換模塊,因?yàn)镃ortex_m3具有很多的外設(shè),如圖1所示,RS232、RS485和RS422都是Cortex-m3上自帶的UART 口,Cortex-m3上也具有USB接口和RMII接口,RMII接口通過(guò)讀寫PHY芯片實(shí)現(xiàn)以太網(wǎng)通信,通過(guò)Cortex-m3實(shí)現(xiàn)多協(xié)議轉(zhuǎn)換更容易些。
[0017]CorteX-m3可以通過(guò)撥碼選擇,實(shí)現(xiàn)各種協(xié)議間的數(shù)據(jù)透?jìng)?。如圖2所示,具體流程是:
[0018]1、在基于Cortex-m3的轉(zhuǎn)換模塊上電后,首先進(jìn)行初始化。初始化是指讀取外部的撥碼開關(guān)的選通值(撥碼開關(guān)是與Cortex-m3相連的一個(gè)選通開關(guān)),來(lái)確認(rèn)兩個(gè)設(shè)備之間需要的是什么協(xié)議的通信,初始化程序就將初始化這兩個(gè)協(xié)議接口的部分程序。例如,當(dāng)外部撥碼開關(guān)值為0001時(shí),表示的就是UDP與RS232協(xié)議之間的數(shù)據(jù)轉(zhuǎn)換,初始化程序?qū)⒊跏蓟?Ρ和RS232部分程序。
[0019]2、初始化程序之后,就可執(zhí)行協(xié)議通信。通信大方法是:如圖2所示,假設(shè)兩個(gè)進(jìn)行通信的協(xié)議接口是接口 I和接口 2 (—個(gè)是接收接口,一個(gè)是發(fā)送接口),假如當(dāng)接口 2收到數(shù)據(jù)后,接口 2會(huì)產(chǎn)生中斷信號(hào),系統(tǒng)的程序接到中斷信號(hào)后,就產(chǎn)生中斷并且響應(yīng)中斷處理函數(shù),中斷處理函數(shù)接收接口 2的數(shù)據(jù)并進(jìn)行協(xié)議解析(網(wǎng)口走的是TCP/IP協(xié)議,USB走的是USB協(xié)議,RS232、RS422、RS485這些都走的是串口協(xié)議),解析后的有效數(shù)據(jù)將存入接口 I的待發(fā)送的FIFO (first in first out先入現(xiàn)出)中。
[0020]3、接口 I的FIFO的數(shù)據(jù)最終在程序的主循環(huán)中以接口 I的通信協(xié)議形式發(fā)送出去。
[0021]如果是接口 I收到數(shù)據(jù),則接口 I會(huì)產(chǎn)生中斷信號(hào),系統(tǒng)的程序接到中斷信號(hào)后,就產(chǎn)生中斷并且響應(yīng)中斷處理函數(shù),中斷處理函數(shù)接收接口 I的數(shù)據(jù)并進(jìn)行協(xié)議解析,解析后的有效數(shù)據(jù)將存入接口 2的待發(fā)送的FIFO中,然后以接口 2的通信協(xié)議形式發(fā)送出去。
[0022]上述的接口 I與接口 2可以是USB與RS232接口,或RS232與RS485接口,或RS232與RS422接口,或TCP與USB接口,或TCP與RS422、RS485、RS232其一之間的接口,或IP與USB接口,或IP與RS422、RS485、RS232其一之間的接口,等等不同類型協(xié)議之間的轉(zhuǎn)換,也可以是同協(xié)議接口之間的轉(zhuǎn)化。
[0023]由于USB協(xié)議和網(wǎng)口協(xié)議都是比較復(fù)雜的,網(wǎng)口協(xié)議和USB協(xié)議都是以數(shù)據(jù)包形式發(fā)送和接收的,程序中對(duì)這些數(shù)據(jù)包進(jìn)行了解析,把解析后的有效數(shù)據(jù)存入了待轉(zhuǎn)換的接口的FIFO中,由待轉(zhuǎn)換接口將FIFO中的數(shù)據(jù)發(fā)送出去。
【權(quán)利要求】
1.一種多協(xié)議通信轉(zhuǎn)換方法,其特征在于:以Cortex-m3作為轉(zhuǎn)換模塊,通過(guò)撥碼選擇的方式實(shí)現(xiàn)各種協(xié)議間的數(shù)據(jù)透?jìng)?,具體方法為: 1)在基于Cortex-m3的轉(zhuǎn)換模塊上電后,通過(guò)讀取與Cortex_m3相連的撥碼開關(guān)的選通值,確認(rèn)是哪兩種協(xié)議之間的轉(zhuǎn)換需求,然后初始化程序就初始化這兩個(gè)協(xié)議接口的部分程序; 2)接口部分程序得到初始化之后,隨時(shí)準(zhǔn)備執(zhí)行協(xié)議通信,當(dāng)數(shù)據(jù)接收接口接收到數(shù)據(jù)后,此接口會(huì)發(fā)出中斷信號(hào),系統(tǒng)就產(chǎn)生中斷并且響應(yīng)中斷處理函數(shù),中斷處理函數(shù)接收接口的數(shù)據(jù)并進(jìn)行協(xié)議解析,解析后的有效數(shù)據(jù)存入到待發(fā)送接口的FIFO中; 3)待發(fā)送接口的FIFO中的數(shù)據(jù)最終在程序的主循環(huán)中以待發(fā)送接口的通信協(xié)議形式發(fā)送出去。
2.根據(jù)權(quán)利要求1所述的多協(xié)議通信轉(zhuǎn)換方法,其特征在于:所述數(shù)據(jù)接收接口是USB接口、RS232 接口、RS485 接口、RS422 接口、TCP 接口、IP 接口之一。
3.根據(jù)權(quán)利要求1或2所述的多協(xié)議通信轉(zhuǎn)換方法,其特征在于:所述待發(fā)送接口是USB 接口、RS232 接口、RS485 接口、RS422 接口、TCP 接口、IP 接口之一。
4.根據(jù)權(quán)利要求1或2所述的多協(xié)議通信轉(zhuǎn)換方法,其特征在于:所述USB協(xié)議和網(wǎng)口協(xié)議的數(shù)據(jù)都是以數(shù)據(jù)包形式發(fā)送或接收的。
5.根據(jù)權(quán)利要求3所述的多協(xié)議通信轉(zhuǎn)換方法,其特征在于:所述USB協(xié)議和網(wǎng)口協(xié)議的數(shù)據(jù)都是以數(shù)據(jù)包形式發(fā)送或接收的。
【文檔編號(hào)】H04L29/06GK103905403SQ201210581817
【公開日】2014年7月2日 申請(qǐng)日期:2012年12月27日 優(yōu)先權(quán)日:2012年12月27日
【發(fā)明者】李坤 申請(qǐng)人:北京航天福道高技術(shù)股份有限公司