亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種上位機(jī)和下位機(jī)之間的通信方法

文檔序號:7658344閱讀:327來源:國知局

專利名稱::一種上位機(jī)和下位機(jī)之間的通信方法
技術(shù)領(lǐng)域
:本發(fā)明涉及通信領(lǐng)域,尤其涉及一種上位機(jī)和下位機(jī)之間的通信方法。
背景技術(shù)
:在嵌入式系統(tǒng)開發(fā)中,上位機(jī)通過異步串行通訊來實(shí)現(xiàn)對下位機(jī)的控制是一種極為常見的方法。上位機(jī)是命令的發(fā)起者,下位機(jī)是命令的執(zhí)行者。但是通常情況下,上位機(jī)并沒有考慮某一控制命令對于下位機(jī)來說實(shí)現(xiàn)的難易程度,如果某些命令對于下位機(jī)來說運(yùn)算量過大是不合適的。下位機(jī)的處理器應(yīng)該盡可能多的去完成其應(yīng)用功能,對于命令解析、通信協(xié)議處理的實(shí)現(xiàn)應(yīng)該做到盡可能的簡單、統(tǒng)一。但是目前上位機(jī)和下位機(jī)之間采用字節(jié)流進(jìn)行通信的方法,效率比較低,沒有一套上位機(jī)高效地控制下位機(jī)的方法。
發(fā)明內(nèi)容本發(fā)明提供一種上位機(jī)和下位機(jī)之間的通信方法,以使得上位機(jī)高效地控制下位機(jī)。為了解決上述技術(shù)問題,本發(fā)明提供一種上位機(jī)和下位機(jī)之間的通信方法,上位機(jī)通過發(fā)送下行幀和接收上行幀與下位才幾進(jìn)行通信。本發(fā)明所述方法,其中,所述下行幀包括寫寄存器命令幀和讀寄存器對下位機(jī)控制。本發(fā)明所述方法,其中,所述下行幀或上行幀使用寄存器地址尋址方式,并使用固定長度的幀結(jié)構(gòu)。本發(fā)明所述方法,其中,所述上位機(jī)通過發(fā)送所述寫寄存器命令幀來實(shí)現(xiàn)對下位機(jī)控制包括如下步驟(2.1)所述上位機(jī)確定需要下位機(jī)完成的功能;(2.2)所述上位機(jī)將所述需要完成的功能分解為對相應(yīng)的寄存器進(jìn)行寫操作的序列;(2.3)所述上位機(jī)構(gòu)造并發(fā)送寫寄存器命令幀,直至發(fā)送完畢上位機(jī)將標(biāo)識幀開始的字符作為幀頭,將標(biāo)識寫操作命令的字符作為命令字,將所述需要寫操作的寄存器的地址和該寄存器需要設(shè)置的數(shù)值作為操作數(shù),依次將幀頭、命令字、操作數(shù)寫入寫寄存器命令幀,發(fā)送給下位機(jī);若需要對多個(gè)寄存器進(jìn)行寫操作,則構(gòu)造多個(gè)寫寄存器命令幀,依次發(fā)送給下位機(jī);(2.4)所述下位機(jī)接收上位機(jī)發(fā)送過來的寫寄存器命令幀并執(zhí)行。本發(fā)明所述方法,其中,所述上位機(jī)通過發(fā)送所述讀寄存器命令幀來實(shí)現(xiàn)對下位機(jī)控制包括如下步驟(a)所述上位機(jī)構(gòu)造并發(fā)送讀寄存器命令幀上位機(jī)將標(biāo)識幀開始的字符作為幀頭,將標(biāo)識讀操作命令的字符作為命令字,將所述需要讀操作的寄存器的地址作為操作數(shù),依次將幀頭、命令字、操作數(shù)寫入讀寄存器命令幀,發(fā)送給下位機(jī);寄存器的地址對應(yīng)的兩字節(jié)的寄存器的值;(c)所述上〗立才幾讀耳又下但:才幾返回的上4亍幀。進(jìn)一步地,步驟(2.3)中,所述操作數(shù)包括操作數(shù)1和操作數(shù)2,將所述需要寫操作的寄存器的地址作為操作數(shù)1,將該寄存器需要設(shè)置的數(shù)值作為操作數(shù)2。進(jìn)一步地,步驟(a)中,所述操作數(shù)包括操作數(shù)1和操作數(shù)2,將所述需要讀操作的寄存器的地址作為操作數(shù)1。采用本發(fā)明所述方法,與現(xiàn)有技術(shù)相比,對于上位機(jī)發(fā)起的在任何控制功能都在上位機(jī)上轉(zhuǎn)換成為讀命令或者寫命令,下位機(jī)只需要完成寫寄存器,讀寄存器并返回結(jié)果兩種簡單操作,簡化了下位機(jī)的命令處理復(fù)雜度,大大^:高了下位機(jī)的處理器的運(yùn)行效率,能夠使得上位機(jī)高效地控制下位機(jī),并實(shí)時(shí)地獲取下位機(jī)的運(yùn)行狀態(tài)信息。圖1是本方法實(shí)施例上位機(jī)通過發(fā)送寫命令來實(shí)現(xiàn)對下位機(jī)的控制流程圖;程圖3是本方法應(yīng)用實(shí)例解復(fù)用器控制解調(diào)器完成時(shí)隙選擇功能的流程圖。具體實(shí)施例方式以下結(jié)合附圖和具體實(shí)施方式對本發(fā)明所述技術(shù)方案進(jìn)行詳細(xì)描述。本發(fā)明中上位機(jī)通過發(fā)送下行幀和接收上行幀與下位機(jī)進(jìn)行通信。為了使得下位機(jī)對通信協(xié)議處理簡單,本發(fā)明設(shè)計(jì)原則遵循使用寄存器地址尋址方式、使用固定長度的幀結(jié)構(gòu)。本發(fā)明實(shí)施例定義了下行幀和上行幀的幀結(jié)構(gòu),由于下位機(jī)的寄存器是16比特的,因此下行幀和上行幀中和寄存器相關(guān)的操作數(shù)都為兩字節(jié)。下行幀是上位機(jī)向下位機(jī)發(fā)送的命令幀,其格式如下表1所示<table>tableseeoriginaldocumentpage6</column></row><table>表1下4于幀纟各式對表1i兌明如下Header:幀頭,2字節(jié),標(biāo)識一個(gè)幀的開始,字符0x8F9F(其中,Ox表示后面的值是16進(jìn)制);Command:命令字,2字節(jié),即操作命令,高字節(jié)在前;Operandi:操作數(shù)l,2字節(jié),即操作參數(shù),高字節(jié)在前;Operand2:操作數(shù)2,2字節(jié),即操作參數(shù),高字節(jié)在前。上行幀是下位機(jī)向上位機(jī)返回的命令執(zhí)行結(jié)果,其格式如下表2所示:本發(fā)明中的上行幀就是兩字節(jié)的寄存器的值,高字節(jié)在前。<table>tableseeoriginaldocumentpage7</column></row><table>表2上行幀格式本發(fā)明定義了兩種下行幀寫寄存器命令幀和讀寄存器命令幀,兩種不同的命令幀的命令字和操作數(shù)的含義如下表3所示。通過這兩種命令幀可以實(shí)現(xiàn)向某寄存器寫入數(shù)值或者讀出某地址的寄存器值的功能。<table>tableseeoriginaldocumentpage7</column></row><table>表3讀命令幀和寫命令幀格式本發(fā)明將上位機(jī)發(fā)起的所有控制命令抽象成為寫寄存器命令和讀寄存器命令。下位機(jī)的寄存器功能接口對于上位機(jī)來說是完全可見的。上位機(jī)通過發(fā)送寫命令來實(shí)現(xiàn)對下位機(jī)的控制流程如圖l所示,包括如下步驟步驟IOI,上位機(jī)確定需要下位機(jī)完成的功能;步驟102,上位機(jī)將所述需要完成的功能分解為對相應(yīng)的寄存器進(jìn)行寫操作的序列;步驟103,上位機(jī)將構(gòu)造并發(fā)送寫寄存器命令幀,直至發(fā)送完畢上位機(jī)將標(biāo)識幀開始的字符作為幀頭,將標(biāo)識寫操作命令的字符作為命令字,將所述需要寫操作的寄存器的地址和該寄存器需要設(shè)置的數(shù)值作為操作數(shù),依次將幀頭、命令字、操作數(shù)寫入寫寄存器命令幀,發(fā)送給下位機(jī);若需要對多個(gè)寄存器進(jìn)行寫操作,則構(gòu)造多個(gè)寫寄存器命令幀,依次發(fā)送給下位機(jī);其中,所述操作數(shù)包括操作數(shù)1和操作數(shù)2,將所述需要寫操作的寄存器的地址作為操作數(shù)1,將該寄存器需要設(shè)置的數(shù)值作為操作數(shù)2;步驟104,所述下位機(jī)接收上位機(jī)發(fā)送過來的寫寄存器命令幀并執(zhí)行。上位機(jī)通過發(fā)送讀命令來實(shí)現(xiàn)對下位機(jī)的控制流程如圖2所示,包括如下步驟步驟201,所述上位機(jī)構(gòu)造并發(fā)送讀寄存器命令幀上位機(jī)將標(biāo)識幀開始的字符作為幀頭,將標(biāo)識讀操作命令的字符作為命令字,將所述需要讀操作的寄存器的地址作為操作數(shù),依次將幀頭、命令字、操作數(shù)寫入讀寄存器命令幀,發(fā)送給下位機(jī);其中,所述操作數(shù)包括操作數(shù)l和操作數(shù)2,將所述需要讀操作的寄存器的地址作為操作數(shù)1,將操作數(shù)2設(shè)為0x0000;步驟202,下位機(jī)接收然后通過發(fā)送上行幀向上位機(jī)返回需要讀操作的寄存器的地址對應(yīng)的兩字節(jié)的寄存器的值;步驟203,上位機(jī)讀取下位機(jī)返回的上行幀。本發(fā)明應(yīng)用實(shí)例在中國移動(dòng)多媒體廣播演示系統(tǒng)中的解復(fù)用器和解調(diào)器之間的控制接口采用本發(fā)明所述方法實(shí)現(xiàn)解復(fù)用器對解調(diào)器的控制功能。解復(fù)用器是一塊以freescale公司的MPC8270為主處理器的單板,完成上位機(jī)的功能。解調(diào)器是以一塊DSP(DataSignalProcessor,數(shù)據(jù)信號處理器)為處理核心的單板,完成下位才幾的功能。解復(fù)用器和解調(diào)器之間的控制接口分為三層物理層采用標(biāo)準(zhǔn)的RS232協(xié)議,異步數(shù)據(jù)層采用標(biāo)準(zhǔn)的UART(UniversalAsynchronousReceiveTransmit,通用異步收發(fā)器),其中起始位1比特,數(shù)據(jù)位8比特,停止位1比特,無校驗(yàn)比特。雙方約定UART波特率設(shè)置為57600bps;數(shù)據(jù)鏈路層采用本發(fā)明中的方法。解復(fù)用器在獲取廣播信道的信道參數(shù)后,根據(jù)不同的信道參數(shù)通過控制串口告知解調(diào)器選擇哪些時(shí)隙的數(shù)據(jù),以及這些時(shí)隙的調(diào)制方式。解調(diào)器收到這些命令后設(shè)置其內(nèi)部的時(shí)隙選擇寄存器、模式控制寄存器、復(fù)位寄存器來完成相應(yīng)的功能。并且解復(fù)用器還可以通過串口獲取解調(diào)器的LDPC(LowDesityParityCodes,低密度校驗(yàn)碼)錯(cuò)誤計(jì)數(shù)、RS(Reed-Solomon,李德隱所羅門)糾錯(cuò)錯(cuò)誤計(jì)數(shù)等信息,了解解調(diào)器的工作狀態(tài)。其中解復(fù)用器控制解調(diào)器完成時(shí)隙選擇功能的流程如圖3所示,包括如下步驟步驟301,解復(fù)用器從配置數(shù)據(jù)中獲取調(diào)制模式和需要解調(diào)器選擇的時(shí)隙號;步驟302,解復(fù)用器通過串口向解調(diào)器發(fā)送寫調(diào)制模式寄存器的下行幀;步驟303,解復(fù)用器通過串口向解調(diào)器發(fā)送寫時(shí)隙屏蔽寄存器的下行幀;步驟304,解復(fù)用器通過串口向解調(diào)器發(fā)送復(fù)位解調(diào)器FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門陣列)的下行幀;步驟305,解復(fù)用器通過串口向解調(diào)器發(fā)送讀取調(diào)制模式寄存器的下行幀;步驟306,解調(diào)器收到這些命令后設(shè)置其內(nèi)部的時(shí)隙選擇寄存器、模式控制寄存器、復(fù)位寄存器來完成相應(yīng)的功能,然后返回其調(diào)制模式寄存器的4直的上4亍幀;步驟307,解復(fù)用器通過串口接收解調(diào)器返回的上行幀;步驟308,解復(fù)用器檢查調(diào)制模式正確性;步驟309,解復(fù)用器通過串口向解調(diào)器發(fā)送讀取時(shí)隙屏蔽寄存器的下行幀;步驟310,解復(fù)用器通過串口接收解調(diào)器返回的時(shí)隙屏蔽寄存器內(nèi)容的4直的上4亍幀;步驟311,解復(fù)用器檢查解調(diào)器時(shí)隙設(shè)置正確性。本發(fā)明所述方法,并不僅僅限于說明書和實(shí)施方式中所列運(yùn)用。對本發(fā)明技術(shù)所屬領(lǐng)域的普通技術(shù)人員來說,可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,而所有這些相應(yīng)的改變和變形都屬于本發(fā)明權(quán)利要求的保護(hù)范圍。權(quán)利要求1、一種上位機(jī)和下位機(jī)之間的通信方法,其特征在于,上位機(jī)通過發(fā)送下行幀和接收上行幀與下位機(jī)進(jìn)行通信。2、如權(quán)利要求1所述方法,其特征在于,所述下行幀包括寫寄存器命令幀和讀寄存器命令幀,所述上位機(jī)通過發(fā)送所述寫寄存器命令幀或讀寄存器命令幀來實(shí)現(xiàn)對下位機(jī)控制。3、如權(quán)利要求1所述方法,其特征在于,所述下行幀或上行幀使用寄存器地址尋址方式,并使用固定長度的幀結(jié)構(gòu)。4、如權(quán)利要求2所述方法,其特征在于,所述上位機(jī)通過發(fā)送所述寫寄存器命令幀來實(shí)現(xiàn)對下位機(jī)控制包括如下步驟(2.1)所述上位機(jī)確定需要下位機(jī)完成的功能;(2.2)所述上位機(jī)將所述需要完成的功能分解為對相應(yīng)的寄存器進(jìn)行寫操作的序列;(2.3)所述上位機(jī)構(gòu)造并發(fā)送寫寄存器命令幀,直至發(fā)送完畢上位機(jī)將標(biāo)識幀開始的字符作為幀頭,將標(biāo)識寫操作命令的字符作為命令字,將所述需要寫操作的寄存器的地址和該寄存器需要設(shè)置的數(shù)值作為操作數(shù),依次將幀頭、命令字、操作數(shù)寫入寫寄存器命令幀,發(fā)送給下位機(jī);若需要對多個(gè)寄存器進(jìn)行寫操作,則構(gòu)造多個(gè)寫寄存器命令幀,依次發(fā)送給下位機(jī);(2.4)所述下位機(jī)接收上位機(jī)發(fā)送過來的寫寄存器命令幀并執(zhí)行。5、如權(quán)利要求2所述方法,其特征在于,所述上位機(jī)通過發(fā)送所述讀寄存器命令幀來實(shí)現(xiàn)對下位機(jī)控制包括如下步驟(a)所述上位機(jī)構(gòu)造并發(fā)送讀寄存器命令幀上位機(jī)將標(biāo)識幀開始的字符作為幀頭,將標(biāo)識讀操作命令的字符作為命令字,將所述需要讀操作的寄存器的地址作為操作數(shù),依次將幀頭、命令字、操作數(shù)寫入讀寄存器命令幀,發(fā)送給下位機(jī);(b)所述下位機(jī)接收然后通過發(fā)送上行幀向上位機(jī)返回需要讀操作的寄存器的地址對應(yīng)的兩字節(jié)的寄存器的值;(C)所述上位機(jī)讀取下位才幾返回的上行幀。6、如權(quán)利要求4所述方法,其特征在于,步驟(2.3)中,所述操作數(shù)包括操作數(shù)1和操作數(shù)2,將所述需要寫操作的寄存器的地址作為操作數(shù)1,將該寄存器需要設(shè)置的數(shù)值作為操作數(shù)2。7、如權(quán)利要求5所述方法,其特征在于,步驟(a)中,所述操作數(shù)包括操作數(shù)1和操作數(shù)2,將所述需要讀操作的寄存器的地址作為操作數(shù)1。全文摘要本發(fā)明公開了一種上位機(jī)和下位機(jī)之間的通信方法,上位機(jī)通過發(fā)送下行幀和接收上行幀與下位機(jī)進(jìn)行通信。其中,所述下行幀包括寫寄存器命令幀和讀寄存器命令幀,所述上位機(jī)通過發(fā)送所述寫寄存器命令幀或讀寄存器命令幀來實(shí)現(xiàn)對下位機(jī)控制,所述下行幀或上行幀使用寄存器地址尋址方式,并使用固定長度的幀結(jié)構(gòu)。采用本發(fā)明所述方法,對于上位機(jī)發(fā)起的在任何控制功能都在上位機(jī)上轉(zhuǎn)換成為讀命令或者寫命令,下位機(jī)只需要完成寫寄存器,讀寄存器并返回結(jié)果兩種簡單操作,簡化了下位機(jī)的命令處理復(fù)雜度,大大提高了下位機(jī)的處理器的運(yùn)行效率,能夠使得上位機(jī)高效地控制下位機(jī),并實(shí)時(shí)地獲取下位機(jī)的運(yùn)行狀態(tài)信息。文檔編號H04L29/06GK101193118SQ200710129759公開日2008年6月4日申請日期2007年7月25日優(yōu)先權(quán)日2007年7月25日發(fā)明者吳安軍申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1