專利名稱:可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,特別是一種可大幅減少數(shù)據(jù)傳輸所需輸入/輸出引腳的通信協(xié)議。
背景技術(shù):
可編程邏輯控制器是一種固態(tài)電子裝置,它利用來自輸入/輸出裝置的回授信號及儲存的程序來控制機(jī)械或程序的操作。可編程邏輯控制器主要由處理中心單元及輸入/輸出模塊接口兩大部分所組成。其中,處理中心單元一般均利用微處理器作為可編程邏輯控制器的中央處理單元。
微處理器間的數(shù)據(jù)傳輸模式可分為并行傳輸及串行傳輸,所謂的并行傳輸是指在同一時間內(nèi)以多個數(shù)據(jù)位為一個轉(zhuǎn)移單位的傳輸方式,即傳輸?shù)臄?shù)據(jù)中字節(jié)中的每一個位都有自己的通道,且每一個字節(jié)中的所有位都能同時用來傳輸,故傳輸速度較快,但由于并行傳輸所需的通道數(shù)(I/O引腳)較多,所以價格較貴。因此一般僅限于短距離傳輸之用。
串行傳輸則是將數(shù)據(jù)拆成一個位接一個位的方式傳送,接收時再重新組合,即傳輸?shù)臄?shù)據(jù)其字節(jié)中的每一個位必須沿著同一條通道依序傳輸,目前串行傳輸?shù)慕涌谥饕蠻ART、SPI及I2C。
通用異步收發(fā)器(Universal Asynchronous Receiver Transmitter,UART),是微處理器和外部進(jìn)行通信的重要接口部件,主要用于串并行數(shù)據(jù)轉(zhuǎn)換,雖然目前大部分的微處理器均有此模塊,但卻存有數(shù)據(jù)傳輸速率無法自動和任意選擇的缺點(diǎn)。
至于SPI及I2C等接口模塊由于應(yīng)用不廣泛,若微處理器未加裝此模塊,將無法得到快速的數(shù)據(jù)傳輸。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種可節(jié)省可編程邏輯控制器的微處理器用于數(shù)據(jù)傳輸?shù)妮斎?輸出引腳,且可彈性調(diào)整數(shù)據(jù)傳輸速率的通信協(xié)議。
為實(shí)現(xiàn)述目的,本發(fā)明的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,是將作為主機(jī)的微處理器通過一輸入/輸出引腳來傳輸及接收數(shù)據(jù)信號,再通過另一輸入/輸出引腳來傳輸時序信號。
作為從機(jī)的微處理器亦通過一輸入/輸出引腳來傳輸及接收數(shù)據(jù)信號,再通過另一輸入/輸出引腳來接收時序信號。
數(shù)據(jù)信號則包括有一命令碼、一起始地址、一數(shù)據(jù)長度及至少一個以上的數(shù)據(jù)本體所組成,每一個字符組均由八個數(shù)據(jù)位、一個校驗(yàn)位及一個響應(yīng)位所組成,其中命令碼的第一位至第四位用以決定數(shù)據(jù)的傳輸速率,第五位用以確認(rèn)傳輸速率,第六位至第八位用以定義數(shù)據(jù)的傳輸協(xié)議,第九位用以傳送一同位以檢查數(shù)據(jù)傳送時是否錯誤,而第十位則為響應(yīng)位,用以確認(rèn)數(shù)據(jù)傳輸完整。
以下結(jié)合附圖進(jìn)一步說明本發(fā)明的目的、構(gòu)造特征及其功能。
圖1是本發(fā)明的電路框圖;圖2是為本發(fā)明的數(shù)據(jù)信號格式示意圖;以及圖3是本發(fā)明的命令碼及時序信號示意圖。
具體實(shí)施例方式
圖1是本發(fā)明的電路框圖,如圖所示此可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法是將二微處理器11、12定義為主機(jī)(master)及從機(jī)(slave),且作為主機(jī)的微處理器11是通過一設(shè)于此微處理機(jī)11上的輸入/輸出(I/O)引腳13來向/從作為從機(jī)的微處理器12傳輸及接收數(shù)據(jù)信號21,再通過另一設(shè)于此微處理機(jī)11上的輸入/輸出(I/O)引腳14傳輸時序信號22至作為從機(jī)的微處理器12。
作為從機(jī)之微處理器12亦是通過一設(shè)于此微處理機(jī)12上的輸入/輸出(I/O)引腳15來向/從作為主機(jī)的微處理器11傳輸及接收數(shù)據(jù)信號21,再通過另一設(shè)于此微處理器12上的輸入/輸出(I/O)引腳16接收作為主機(jī)的微處理器11發(fā)出的時序信號22。
圖2是本發(fā)明的數(shù)據(jù)信號格式示意圖,如圖所示而上述數(shù)據(jù)信號21是由一命令碼31、一接續(xù)于此命令碼31的起始地址32、一接續(xù)于此起始地址32的數(shù)據(jù)長度33及一接續(xù)于此數(shù)據(jù)長度33的至少一個以上的數(shù)據(jù)本體34等字符組所組成,且各字符組均由8個數(shù)據(jù)位、1個校驗(yàn)位及1個響應(yīng)位等共10個位所組成。
命令碼31用以定義數(shù)據(jù)的初始值。
起始地址32用以定義數(shù)據(jù)的起始地址。
數(shù)據(jù)長度33用以定義數(shù)據(jù)的長度。
圖3是本發(fā)明的命令碼及時序信號示意圖,如圖所示命令碼31于數(shù)據(jù)尚未傳輸前是維持在1狀態(tài)(MARK),然后作為主機(jī)的微處理器11送出的第一位至第四位(b0至b3)固定為0101狀態(tài),作為從機(jī)的微處理器12通過時序信號22記錄各位的時間(t0至t2),接著當(dāng)作為主機(jī)的微處理器11送出第五位(b4)為0狀態(tài)(SPACE)時,作為從機(jī)的微處理器12將依主機(jī)11送出第一位至第五位所需的時間(t0至t3)計算出數(shù)據(jù)的傳輸速率,并于主機(jī)11送出第六位(b5)時,從機(jī)12通過時序信號再次確認(rèn)t4所需的時間是否與先前所計算出的數(shù)據(jù)傳輸速率相同。
若從機(jī)12判斷相同則繼續(xù)接收數(shù)據(jù),第六位至第八位(b5-b7)則用以定義主機(jī)11與從機(jī)12間之傳輸協(xié)議,若為000是十六位的讀出模式,011是八位的讀出模式,101是十六位的寫入模式,110則是八位的寫入模式。
第九位(b8)是校驗(yàn)位,用于傳送一個同位以檢查數(shù)據(jù)傳送時是否錯誤,若第九位為0狀態(tài),則為偶同位檢查模式,若第九位為1狀態(tài),則為奇同位檢查模式。
第十位(b9)是從機(jī)響應(yīng)位,若第十位為1狀態(tài),則表示從機(jī)12已正確收到主機(jī)11信號可開始傳送數(shù)據(jù),若第十位為0狀態(tài),則表示從機(jī)12未正確收到主機(jī)11信號。
綜上所述,本發(fā)明實(shí)具有下述優(yōu)點(diǎn)(一)、本發(fā)明的串行傳輸僅需利用到微處理器的兩根輸入/輸出(I/O)引腳即可進(jìn)行數(shù)據(jù)傳輸,一根輸入/輸出(I/O)引腳傳輸數(shù)據(jù)信號,另一根輸入/輸出(I/O)引腳傳輸時序信號,可大幅改善傳統(tǒng)并行傳輸需使用過多引腳的缺點(diǎn)。
(二)、本發(fā)明可通過命令碼的定義來決定兩微處理機(jī)間的數(shù)據(jù)傳輸速率,并可彈性調(diào)整起始地址為八位地址或十六位地址。
以上所述僅為本發(fā)明的較佳實(shí)施例,并非用來限定本發(fā)明的實(shí)施范圍;凡根據(jù)本發(fā)明所作的均等變化與修飾,皆應(yīng)涵蓋于本發(fā)明范圍之內(nèi)。
權(quán)利要求
1.一種可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,用于二個分別工作為主機(jī)及從機(jī)的微處理器,其特征在于該主機(jī)及該從機(jī)分設(shè)有二相對應(yīng)的輸入/輸出(I/O)引腳,則該主機(jī)及該從機(jī)分別通過其一的輸入/輸出(I/O)引腳來傳輸及接收一數(shù)據(jù)信號,并分別通過另一輸入/輸出(I/O)引腳來傳輸一時序信號至該從機(jī)接收。
2.如權(quán)利要求1所述的一種可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述的數(shù)據(jù)信號包括有下列字符組一命令碼,定義了數(shù)據(jù)的初始值;一起始地址,接續(xù)于該命令碼,定義數(shù)據(jù)的起始地址;一數(shù)據(jù)長度,接續(xù)于該起始地址,定義數(shù)據(jù)的長度;以及至少一個以上的數(shù)據(jù)本體,接續(xù)于該數(shù)據(jù)長度。
3.如權(quán)利要求2所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的字符組是由八個數(shù)據(jù)位、一個校驗(yàn)位及一個響應(yīng)位所組成。
4.如權(quán)利要求2所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼的第一位至第四位用以決定數(shù)據(jù)的傳輸速率。
5.如權(quán)利要求2所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼的第五位用以確認(rèn)傳輸速率。
6.如權(quán)利要求2所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼的第六位至第八位用以定義數(shù)據(jù)的傳輸協(xié)議。
7.如權(quán)利要求6所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼第六位至第八位若為000狀態(tài),則為十六位讀出模式。
8.如權(quán)利要求6所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼第六位至第八位若為011狀態(tài),則為八位讀出模式。
9.如權(quán)利要求6所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼第六位至第八位若為101狀態(tài),則為十六位寫入模式。
10.如權(quán)利要求6所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼第六位至第八位若為110狀態(tài),則為八位寫入模式。
11.如權(quán)利要求2所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼的第九位是校驗(yàn)位,即通過傳送一同位以檢查數(shù)據(jù)傳送時是否錯誤。
12. 如權(quán)利要求2所述的可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)信號的命令碼的第十位是響應(yīng)位,用以確認(rèn)數(shù)據(jù)傳輸完整。
全文摘要
一種可編程邏輯控制器微處理器間的數(shù)據(jù)傳輸方法,是利用微處理器的一輸入/輸出引腳傳輸數(shù)據(jù)信號,再利用另一輸入/輸出引腳傳輸時序信號,而數(shù)據(jù)信號的格式則由一命令碼、一起始地址、一數(shù)據(jù)長度及至少一個以上的數(shù)據(jù)本體等字符組所組成,其中每一個字符組由八個數(shù)據(jù)位、一個校驗(yàn)位及一個響應(yīng)位所組成。
文檔編號G06F9/315GK1567185SQ03147249
公開日2005年1月19日 申請日期2003年7月10日 優(yōu)先權(quán)日2003年7月10日
發(fā)明者杜俊諺 申請人:臺達(dá)電子工業(yè)股份有限公司